{
  "version": "2.0",
  "service": "<p>With Fleet Hub for AWS IoT Device Management you can build stand-alone web applications for monitoring the health of your device fleets.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>",
  "operations": {
    "CreateApplication": "<p>Creates a Fleet Hub for AWS IoT Device Management web application.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>",
    "DeleteApplication": "<p>Deletes a Fleet Hub for AWS IoT Device Management web application.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>",
    "DescribeApplication": "<p>Gets information about a Fleet Hub for AWS IoT Device Management web application.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>",
    "ListApplications": "<p>Gets a list of Fleet Hub for AWS IoT Device Management web applications for the current account.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>",
    "ListTagsForResource": "<p>Lists the tags for the specified resource.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>",
    "TagResource": "<p>Adds to or modifies the tags of the specified resource. Tags are metadata which can be used to manage a resource.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>",
    "UntagResource": "<p>Removes the specified tags (metadata) from the resource.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>",
    "UpdateApplication": "<p>Updates information about a Fleet Hub for a AWS IoT Device Management web application.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>"
  },
  "shapes": {
    "ApplicationState": {
      "base": null,
      "refs": {
        "ApplicationSummary$applicationState": "<p>The current state of the web application.</p>",
        "DescribeApplicationResponse$applicationState": "<p>The current state of the web application.</p>"
      }
    },
    "ApplicationSummaries": {
      "base": null,
      "refs": {
        "ListApplicationsResponse$applicationSummaries": "<p>An array of objects that provide summaries of information about the web applications in the list.</p>"
      }
    },
    "ApplicationSummary": {
      "base": "<p>A summary of information about a AWS IoT Device Management web application.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>",
      "refs": {
        "ApplicationSummaries$member": null
      }
    },
    "Arn": {
      "base": null,
      "refs": {
        "CreateApplicationRequest$roleArn": "<p>The ARN of the role that the web application assumes when it interacts with AWS IoT Core.</p> <note> <p>The name of the role must be in the form <code>AWSIotFleetHub_<i>random_string</i> </code>.</p> </note>",
        "CreateApplicationResponse$applicationArn": "<p>The ARN of the web application.</p>",
        "DescribeApplicationResponse$applicationArn": "<p>The ARN of the web application.</p>",
        "DescribeApplicationResponse$roleArn": "<p>The ARN of the role that the web application assumes when it interacts with AWS IoT Core.</p>"
      }
    },
    "ClientRequestToken": {
      "base": null,
      "refs": {
        "CreateApplicationRequest$clientToken": "<p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</p>",
        "DeleteApplicationRequest$clientToken": "<p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</p>",
        "UpdateApplicationRequest$clientToken": "<p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</p>"
      }
    },
    "ConflictException": {
      "base": "<p>The request conflicts with the current state of the resource.</p>",
      "refs": {
      }
    },
    "CreateApplicationRequest": {
      "base": null,
      "refs": {
      }
    },
    "CreateApplicationResponse": {
      "base": null,
      "refs": {
      }
    },
    "DeleteApplicationRequest": {
      "base": null,
      "refs": {
      }
    },
    "DeleteApplicationResponse": {
      "base": null,
      "refs": {
      }
    },
    "DescribeApplicationRequest": {
      "base": null,
      "refs": {
      }
    },
    "DescribeApplicationResponse": {
      "base": null,
      "refs": {
      }
    },
    "Description": {
      "base": null,
      "refs": {
        "ApplicationSummary$applicationDescription": "<p>An optional description of the web application.</p>",
        "CreateApplicationRequest$applicationDescription": "<p>An optional description of the web application.</p>",
        "DescribeApplicationResponse$applicationDescription": "<p>An optional description of the web application.</p>",
        "UpdateApplicationRequest$applicationDescription": "<p>An optional description of the web application.</p>"
      }
    },
    "ErrorMessage": {
      "base": null,
      "refs": {
        "DescribeApplicationResponse$errorMessage": "<p>A message indicating why the <code>DescribeApplication</code> API failed.</p>"
      }
    },
    "Id": {
      "base": null,
      "refs": {
        "ApplicationSummary$applicationId": "<p>The unique Id of the web application.</p>",
        "CreateApplicationResponse$applicationId": "<p>The unique Id of the web application.</p>",
        "DeleteApplicationRequest$applicationId": "<p>The unique Id of the web application.</p>",
        "DescribeApplicationRequest$applicationId": "<p>The unique Id of the web application.</p>",
        "DescribeApplicationResponse$applicationId": "<p>The unique Id of the web application.</p>",
        "UpdateApplicationRequest$applicationId": "<p>The unique Id of the web application.</p>"
      }
    },
    "InternalFailureException": {
      "base": "<p>An unexpected error has occurred.</p>",
      "refs": {
      }
    },
    "InvalidRequestException": {
      "base": "<p>The request is not valid.</p>",
      "refs": {
      }
    },
    "LimitExceededException": {
      "base": "<p>A limit has been exceeded.</p>",
      "refs": {
      }
    },
    "ListApplicationsRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListApplicationsResponse": {
      "base": null,
      "refs": {
      }
    },
    "ListTagsForResourceRequest": {
      "base": null,
      "refs": {
      }
    },
    "ListTagsForResourceResponse": {
      "base": null,
      "refs": {
      }
    },
    "Name": {
      "base": null,
      "refs": {
        "ApplicationSummary$applicationName": "<p>The name of the web application.</p>",
        "CreateApplicationRequest$applicationName": "<p>The name of the web application.</p>",
        "DescribeApplicationResponse$applicationName": "<p>The name of the web application.</p>",
        "UpdateApplicationRequest$applicationName": "<p>The name of the web application.</p>"
      }
    },
    "NextToken": {
      "base": null,
      "refs": {
        "ListApplicationsRequest$nextToken": "<p>A token used to get the next set of results.</p>",
        "ListApplicationsResponse$nextToken": "<p>A token used to get the next set of results.</p>"
      }
    },
    "ResourceArn": {
      "base": null,
      "refs": {
        "ListTagsForResourceRequest$resourceArn": "<p>The ARN of the resource.</p>",
        "TagResourceRequest$resourceArn": "<p>The ARN of the resource.</p>",
        "UntagResourceRequest$resourceArn": "<p>The ARN of the resource.</p>"
      }
    },
    "ResourceNotFoundException": {
      "base": "<p>The specified resource does not exist.</p>",
      "refs": {
      }
    },
    "SsoClientId": {
      "base": null,
      "refs": {
        "DescribeApplicationResponse$ssoClientId": "<p>The Id of the single sign-on client that you use to authenticate and authorize users on the web application.</p>"
      }
    },
    "TagKey": {
      "base": null,
      "refs": {
        "TagKeyList$member": null,
        "TagMap$key": null
      }
    },
    "TagKeyList": {
      "base": null,
      "refs": {
        "UntagResourceRequest$tagKeys": "<p>A list of the keys of the tags to be removed from the resource.</p>"
      }
    },
    "TagMap": {
      "base": null,
      "refs": {
        "CreateApplicationRequest$tags": "<p>A set of key/value pairs that you can use to manage the web application resource.</p>",
        "DescribeApplicationResponse$tags": "<p>A set of key/value pairs that you can use to manage the web application resource.</p>",
        "ListTagsForResourceResponse$tags": "<p>The list of tags assigned to the resource.</p>",
        "TagResourceRequest$tags": "<p>The new or modified tags for the resource.</p>"
      }
    },
    "TagResourceRequest": {
      "base": null,
      "refs": {
      }
    },
    "TagResourceResponse": {
      "base": null,
      "refs": {
      }
    },
    "TagValue": {
      "base": null,
      "refs": {
        "TagMap$value": null
      }
    },
    "ThrottlingException": {
      "base": "<p>The rate exceeds the limit.</p>",
      "refs": {
      }
    },
    "Timestamp": {
      "base": null,
      "refs": {
        "ApplicationSummary$applicationCreationDate": "<p>The date (in Unix epoch time) when the web application was created.</p>",
        "ApplicationSummary$applicationLastUpdateDate": "<p>The date (in Unix epoch time) when the web application was last updated.</p>",
        "DescribeApplicationResponse$applicationCreationDate": "<p>The date (in Unix epoch time) when the application was created.</p>",
        "DescribeApplicationResponse$applicationLastUpdateDate": "<p>The date (in Unix epoch time) when the application was last updated.</p>"
      }
    },
    "UntagResourceRequest": {
      "base": null,
      "refs": {
      }
    },
    "UntagResourceResponse": {
      "base": null,
      "refs": {
      }
    },
    "UpdateApplicationRequest": {
      "base": null,
      "refs": {
      }
    },
    "UpdateApplicationResponse": {
      "base": null,
      "refs": {
      }
    },
    "Url": {
      "base": null,
      "refs": {
        "ApplicationSummary$applicationUrl": "<p>The URL of the web application.</p>",
        "DescribeApplicationResponse$applicationUrl": "<p>The URL of the web application.</p>"
      }
    },
    "errorMessage": {
      "base": null,
      "refs": {
        "ConflictException$message": null,
        "InternalFailureException$message": null,
        "InvalidRequestException$message": null,
        "LimitExceededException$message": null,
        "ResourceNotFoundException$message": null,
        "ThrottlingException$message": null
      }
    }
  }
}
