{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2025-03-03",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"api.iotmanagedintegrations",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"Managed integrations for AWS IoT Device Management",
    "serviceId":"IoT Managed Integrations",
    "signatureVersion":"v4",
    "signingName":"iotmanagedintegrations",
    "uid":"iot-managed-integrations-2025-03-03"
  },
  "operations":{
    "CreateAccountAssociation":{
      "name":"CreateAccountAssociation",
      "http":{
        "method":"POST",
        "requestUri":"/account-associations",
        "responseCode":201
      },
      "input":{"shape":"CreateAccountAssociationRequest"},
      "output":{"shape":"CreateAccountAssociationResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Creates a new account association via the destination id.</p>"
    },
    "CreateCloudConnector":{
      "name":"CreateCloudConnector",
      "http":{
        "method":"POST",
        "requestUri":"/cloud-connectors",
        "responseCode":201
      },
      "input":{"shape":"CreateCloudConnectorRequest"},
      "output":{"shape":"CreateCloudConnectorResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Creates a C2C (cloud-to-cloud) connector.</p>"
    },
    "CreateConnectorDestination":{
      "name":"CreateConnectorDestination",
      "http":{
        "method":"POST",
        "requestUri":"/connector-destinations",
        "responseCode":201
      },
      "input":{"shape":"CreateConnectorDestinationRequest"},
      "output":{"shape":"CreateConnectorDestinationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a connector destination for connecting a cloud-to-cloud (C2C) connector to the customer's Amazon Web Services account.</p>"
    },
    "CreateCredentialLocker":{
      "name":"CreateCredentialLocker",
      "http":{
        "method":"POST",
        "requestUri":"/credential-lockers",
        "responseCode":201
      },
      "input":{"shape":"CreateCredentialLockerRequest"},
      "output":{"shape":"CreateCredentialLockerResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a product credential locker. This operation will trigger the creation of all the manufacturing resources including the Wi-Fi setup key pair and device certificate.</p>"
    },
    "CreateDestination":{
      "name":"CreateDestination",
      "http":{
        "method":"POST",
        "requestUri":"/destinations",
        "responseCode":201
      },
      "input":{"shape":"CreateDestinationRequest"},
      "output":{"shape":"CreateDestinationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p> Create a destination. IoT managed integrations uses the destination to determine where to deliver notifications for a device. </p>"
    },
    "CreateEventLogConfiguration":{
      "name":"CreateEventLogConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/event-log-configurations",
        "responseCode":201
      },
      "input":{"shape":"CreateEventLogConfigurationRequest"},
      "output":{"shape":"CreateEventLogConfigurationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Set the event log configuration for the account, resource type, or specific resource.</p>"
    },
    "CreateManagedThing":{
      "name":"CreateManagedThing",
      "http":{
        "method":"POST",
        "requestUri":"/managed-things",
        "responseCode":201
      },
      "input":{"shape":"CreateManagedThingRequest"},
      "output":{"shape":"CreateManagedThingResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Creates a managed thing. A managed thing contains the device identifier, protocol supported, and capabilities of the device in a protocol-specific format.</p>"
    },
    "CreateNotificationConfiguration":{
      "name":"CreateNotificationConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/notification-configurations",
        "responseCode":201
      },
      "input":{"shape":"CreateNotificationConfigurationRequest"},
      "output":{"shape":"CreateNotificationConfigurationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Creates a notification configuration. A configuration is a connection between an event type and a destination that you have already created. </p>"
    },
    "CreateOtaTask":{
      "name":"CreateOtaTask",
      "http":{
        "method":"POST",
        "requestUri":"/ota-tasks",
        "responseCode":201
      },
      "input":{"shape":"CreateOtaTaskRequest"},
      "output":{"shape":"CreateOtaTaskResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Create an over-the-air (OTA) task to update a device.</p>"
    },
    "CreateOtaTaskConfiguration":{
      "name":"CreateOtaTaskConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/ota-task-configurations",
        "responseCode":201
      },
      "input":{"shape":"CreateOtaTaskConfigurationRequest"},
      "output":{"shape":"CreateOtaTaskConfigurationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Create a configuraiton for the over-the-air (OTA) task.</p>"
    },
    "CreateProvisioningProfile":{
      "name":"CreateProvisioningProfile",
      "http":{
        "method":"POST",
        "requestUri":"/provisioning-profiles",
        "responseCode":201
      },
      "input":{"shape":"CreateProvisioningProfileRequest"},
      "output":{"shape":"CreateProvisioningProfileResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Create a provisioning profile for a device to execute the provisioning flows using a provisioning template. The provisioning template is a document that defines the set of resources and policies applied to a device during the provisioning process.</p>"
    },
    "DeleteAccountAssociation":{
      "name":"DeleteAccountAssociation",
      "http":{
        "method":"DELETE",
        "requestUri":"/account-associations/{AccountAssociationId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteAccountAssociationRequest"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Remove a third party account and related devices from an end user.</p>",
      "idempotent":true
    },
    "DeleteCloudConnector":{
      "name":"DeleteCloudConnector",
      "http":{
        "method":"DELETE",
        "requestUri":"/cloud-connectors/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"DeleteCloudConnectorRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete a cloud connector.</p>",
      "idempotent":true
    },
    "DeleteConnectorDestination":{
      "name":"DeleteConnectorDestination",
      "http":{
        "method":"DELETE",
        "requestUri":"/connector-destinations/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"DeleteConnectorDestinationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete a connector destination for connecting a cloud-to-cloud (C2C) connector to the customer's Amazon Web Services account.</p>",
      "idempotent":true
    },
    "DeleteCredentialLocker":{
      "name":"DeleteCredentialLocker",
      "http":{
        "method":"DELETE",
        "requestUri":"/credential-lockers/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"DeleteCredentialLockerRequest"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete a credential locker. </p> <note> <p>This operation can't be undone and any existing device won't be able to use IoT managed integrations.</p> </note>",
      "idempotent":true
    },
    "DeleteDestination":{
      "name":"DeleteDestination",
      "http":{
        "method":"DELETE",
        "requestUri":"/destinations/{Name}",
        "responseCode":200
      },
      "input":{"shape":"DeleteDestinationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Deletes a customer-managed destination specified by id. </p>",
      "idempotent":true
    },
    "DeleteEventLogConfiguration":{
      "name":"DeleteEventLogConfiguration",
      "http":{
        "method":"DELETE",
        "requestUri":"/event-log-configurations/{Id}",
        "responseCode":200
      },
      "input":{"shape":"DeleteEventLogConfigurationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete an event log configuration.</p>",
      "idempotent":true
    },
    "DeleteManagedThing":{
      "name":"DeleteManagedThing",
      "http":{
        "method":"DELETE",
        "requestUri":"/managed-things/{Identifier}",
        "responseCode":204
      },
      "input":{"shape":"DeleteManagedThingRequest"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete a managed thing. If a controller is deleted, all of the devices connected to it will have their status changed to <code>PENDING</code>. It is not possible to remove a cloud device.</p>",
      "idempotent":true
    },
    "DeleteNotificationConfiguration":{
      "name":"DeleteNotificationConfiguration",
      "http":{
        "method":"DELETE",
        "requestUri":"/notification-configurations/{EventType}",
        "responseCode":200
      },
      "input":{"shape":"DeleteNotificationConfigurationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Deletes a notification configuration. </p>",
      "idempotent":true
    },
    "DeleteOtaTask":{
      "name":"DeleteOtaTask",
      "http":{
        "method":"DELETE",
        "requestUri":"/ota-tasks/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"DeleteOtaTaskRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"LimitExceededException"}
      ],
      "documentation":"<p>Delete the over-the-air (OTA) task.</p>",
      "idempotent":true
    },
    "DeleteOtaTaskConfiguration":{
      "name":"DeleteOtaTaskConfiguration",
      "http":{
        "method":"DELETE",
        "requestUri":"/ota-task-configurations/{Identifier}",
        "responseCode":204
      },
      "input":{"shape":"DeleteOtaTaskConfigurationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete the over-the-air (OTA) task configuration.</p>",
      "idempotent":true
    },
    "DeleteProvisioningProfile":{
      "name":"DeleteProvisioningProfile",
      "http":{
        "method":"DELETE",
        "requestUri":"/provisioning-profiles/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"DeleteProvisioningProfileRequest"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Delete a provisioning profile.</p>",
      "idempotent":true
    },
    "DeregisterAccountAssociation":{
      "name":"DeregisterAccountAssociation",
      "http":{
        "method":"PUT",
        "requestUri":"/managed-thing-associations/deregister",
        "responseCode":200
      },
      "input":{"shape":"DeregisterAccountAssociationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Deregisters an account association, removing the connection between a managed thing and a third-party account.</p>",
      "idempotent":true
    },
    "GetAccountAssociation":{
      "name":"GetAccountAssociation",
      "http":{
        "method":"GET",
        "requestUri":"/account-associations/{AccountAssociationId}",
        "responseCode":200
      },
      "input":{"shape":"GetAccountAssociationRequest"},
      "output":{"shape":"GetAccountAssociationResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get an account association for an Amazon Web Services account linked to a customer-managed destination.</p>"
    },
    "GetCloudConnector":{
      "name":"GetCloudConnector",
      "http":{
        "method":"GET",
        "requestUri":"/cloud-connectors/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetCloudConnectorRequest"},
      "output":{"shape":"GetCloudConnectorResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Gets all the information about a connector for a connector developer.</p>"
    },
    "GetConnectorDestination":{
      "name":"GetConnectorDestination",
      "http":{
        "method":"GET",
        "requestUri":"/connector-destinations/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetConnectorDestinationRequest"},
      "output":{"shape":"GetConnectorDestinationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get a connector destination of a cloud-to-cloud (C2C) connector connecting to a customer's Amazon Web Services account.</p>"
    },
    "GetCredentialLocker":{
      "name":"GetCredentialLocker",
      "http":{
        "method":"GET",
        "requestUri":"/credential-lockers/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetCredentialLockerRequest"},
      "output":{"shape":"GetCredentialLockerResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get information on an existing credential locker</p>"
    },
    "GetCustomEndpoint":{
      "name":"GetCustomEndpoint",
      "http":{
        "method":"GET",
        "requestUri":"/custom-endpoint",
        "responseCode":200
      },
      "input":{"shape":"GetCustomEndpointRequest"},
      "output":{"shape":"GetCustomEndpointResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Returns the IoT managed integrations custom endpoint.</p>"
    },
    "GetDefaultEncryptionConfiguration":{
      "name":"GetDefaultEncryptionConfiguration",
      "http":{
        "method":"GET",
        "requestUri":"/configuration/account/encryption",
        "responseCode":200
      },
      "input":{"shape":"GetDefaultEncryptionConfigurationRequest"},
      "output":{"shape":"GetDefaultEncryptionConfigurationResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalFailureException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p> Retrieves information about the default encryption configuration for the Amazon Web Services account in the default or specified region. For more information, see <a href=\"https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html\">Key management</a> in the <i>AWS IoT SiteWise User Guide</i>.</p>"
    },
    "GetDestination":{
      "name":"GetDestination",
      "http":{
        "method":"GET",
        "requestUri":"/destinations/{Name}",
        "responseCode":200
      },
      "input":{"shape":"GetDestinationRequest"},
      "output":{"shape":"GetDestinationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Gets a destination by ID. </p>"
    },
    "GetDeviceDiscovery":{
      "name":"GetDeviceDiscovery",
      "http":{
        "method":"GET",
        "requestUri":"/device-discoveries/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetDeviceDiscoveryRequest"},
      "output":{"shape":"GetDeviceDiscoveryResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p> Get the current state of a device discovery.</p>"
    },
    "GetEventLogConfiguration":{
      "name":"GetEventLogConfiguration",
      "http":{
        "method":"GET",
        "requestUri":"/event-log-configurations/{Id}",
        "responseCode":200
      },
      "input":{"shape":"GetEventLogConfigurationRequest"},
      "output":{"shape":"GetEventLogConfigurationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get an event log configuration.</p>"
    },
    "GetHubConfiguration":{
      "name":"GetHubConfiguration",
      "http":{
        "method":"GET",
        "requestUri":"/hub-configuration",
        "responseCode":200
      },
      "input":{"shape":"GetHubConfigurationRequest"},
      "output":{"shape":"GetHubConfigurationResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get a hub configuration.</p>"
    },
    "GetManagedThing":{
      "name":"GetManagedThing",
      "http":{
        "method":"GET",
        "requestUri":"/managed-things/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetManagedThingRequest"},
      "output":{"shape":"GetManagedThingResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p> Get the attributes and capabilities associated with a managed thing.</p>"
    },
    "GetManagedThingCapabilities":{
      "name":"GetManagedThingCapabilities",
      "http":{
        "method":"GET",
        "requestUri":"/managed-things-capabilities/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetManagedThingCapabilitiesRequest"},
      "output":{"shape":"GetManagedThingCapabilitiesResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get the capabilities for a managed thing using the device ID.</p>"
    },
    "GetManagedThingConnectivityData":{
      "name":"GetManagedThingConnectivityData",
      "http":{
        "method":"POST",
        "requestUri":"/managed-things-connectivity-data/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetManagedThingConnectivityDataRequest"},
      "output":{"shape":"GetManagedThingConnectivityDataResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get the connectivity status of a managed thing.</p>"
    },
    "GetManagedThingMetaData":{
      "name":"GetManagedThingMetaData",
      "http":{
        "method":"GET",
        "requestUri":"/managed-things-metadata/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetManagedThingMetaDataRequest"},
      "output":{"shape":"GetManagedThingMetaDataResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get the metadata information for a managed thing.</p> <note> <p>The <code>managedThing</code> <code>metadata</code> parameter is used for associating attributes with a <code>managedThing</code> that can be used for grouping over-the-air (OTA) tasks. Name value pairs in <code>metadata</code> can be used in the <code>OtaTargetQueryString</code> parameter for the <code>CreateOtaTask</code> API operation.</p> </note>"
    },
    "GetManagedThingState":{
      "name":"GetManagedThingState",
      "http":{
        "method":"GET",
        "requestUri":"/managed-thing-states/{ManagedThingId}",
        "responseCode":200
      },
      "input":{"shape":"GetManagedThingStateRequest"},
      "output":{"shape":"GetManagedThingStateResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalFailureException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p> Returns the managed thing state for the given device Id.</p>"
    },
    "GetNotificationConfiguration":{
      "name":"GetNotificationConfiguration",
      "http":{
        "method":"GET",
        "requestUri":"/notification-configurations/{EventType}",
        "responseCode":200
      },
      "input":{"shape":"GetNotificationConfigurationRequest"},
      "output":{"shape":"GetNotificationConfigurationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p> Get a notification configuration.</p>"
    },
    "GetOtaTask":{
      "name":"GetOtaTask",
      "http":{
        "method":"GET",
        "requestUri":"/ota-tasks/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetOtaTaskRequest"},
      "output":{"shape":"GetOtaTaskResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get the over-the-air (OTA) task.</p>"
    },
    "GetOtaTaskConfiguration":{
      "name":"GetOtaTaskConfiguration",
      "http":{
        "method":"GET",
        "requestUri":"/ota-task-configurations/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetOtaTaskConfigurationRequest"},
      "output":{"shape":"GetOtaTaskConfigurationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get a configuraiton for the over-the-air (OTA) task.</p>"
    },
    "GetProvisioningProfile":{
      "name":"GetProvisioningProfile",
      "http":{
        "method":"GET",
        "requestUri":"/provisioning-profiles/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetProvisioningProfileRequest"},
      "output":{"shape":"GetProvisioningProfileResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get a provisioning profile by template name.</p>"
    },
    "GetRuntimeLogConfiguration":{
      "name":"GetRuntimeLogConfiguration",
      "http":{
        "method":"GET",
        "requestUri":"/runtime-log-configurations/{ManagedThingId}",
        "responseCode":200
      },
      "input":{"shape":"GetRuntimeLogConfigurationRequest"},
      "output":{"shape":"GetRuntimeLogConfigurationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get the runtime log configuration for a specific managed thing or for all managed things as a group.</p>"
    },
    "GetSchemaVersion":{
      "name":"GetSchemaVersion",
      "http":{
        "method":"GET",
        "requestUri":"/schema-versions/{Type}/{SchemaVersionedId}",
        "responseCode":200
      },
      "input":{"shape":"GetSchemaVersionRequest"},
      "output":{"shape":"GetSchemaVersionResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Gets a schema version with the provided information.</p>"
    },
    "ListAccountAssociations":{
      "name":"ListAccountAssociations",
      "http":{
        "method":"GET",
        "requestUri":"/account-associations",
        "responseCode":200
      },
      "input":{"shape":"ListAccountAssociationsRequest"},
      "output":{"shape":"ListAccountAssociationsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists all account associations, with optional filtering by connector destination ID.</p>"
    },
    "ListCloudConnectors":{
      "name":"ListCloudConnectors",
      "http":{
        "method":"GET",
        "requestUri":"/cloud-connectors",
        "responseCode":200
      },
      "input":{"shape":"ListCloudConnectorsRequest"},
      "output":{"shape":"ListCloudConnectorsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Returns a list of connectors based on permissions. </p>"
    },
    "ListConnectorDestinations":{
      "name":"ListConnectorDestinations",
      "http":{
        "method":"GET",
        "requestUri":"/connector-destinations",
        "responseCode":200
      },
      "input":{"shape":"ListConnectorDestinationsRequest"},
      "output":{"shape":"ListConnectorDestinationsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists all connector destinations, with optional filtering by cloud connector ID.</p>"
    },
    "ListCredentialLockers":{
      "name":"ListCredentialLockers",
      "http":{
        "method":"GET",
        "requestUri":"/credential-lockers",
        "responseCode":200
      },
      "input":{"shape":"ListCredentialLockersRequest"},
      "output":{"shape":"ListCredentialLockersResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List information on an existing credential locker.</p>"
    },
    "ListDestinations":{
      "name":"ListDestinations",
      "http":{
        "method":"GET",
        "requestUri":"/destinations",
        "responseCode":200
      },
      "input":{"shape":"ListDestinationsRequest"},
      "output":{"shape":"ListDestinationsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p> List all destination names under one Amazon Web Services account.</p>"
    },
    "ListDeviceDiscoveries":{
      "name":"ListDeviceDiscoveries",
      "http":{
        "method":"GET",
        "requestUri":"/device-discoveries",
        "responseCode":200
      },
      "input":{"shape":"ListDeviceDiscoveriesRequest"},
      "output":{"shape":"ListDeviceDiscoveriesResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists all device discovery tasks, with optional filtering by type and status.</p>"
    },
    "ListDiscoveredDevices":{
      "name":"ListDiscoveredDevices",
      "http":{
        "method":"GET",
        "requestUri":"/device-discoveries/{Identifier}/devices",
        "responseCode":200
      },
      "input":{"shape":"ListDiscoveredDevicesRequest"},
      "output":{"shape":"ListDiscoveredDevicesResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists all devices discovered during a specific device discovery task.</p>"
    },
    "ListEventLogConfigurations":{
      "name":"ListEventLogConfigurations",
      "http":{
        "method":"GET",
        "requestUri":"/event-log-configurations",
        "responseCode":200
      },
      "input":{"shape":"ListEventLogConfigurationsRequest"},
      "output":{"shape":"ListEventLogConfigurationsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List all event log configurations for an account.</p>"
    },
    "ListManagedThingAccountAssociations":{
      "name":"ListManagedThingAccountAssociations",
      "http":{
        "method":"GET",
        "requestUri":"/managed-thing-associations",
        "responseCode":200
      },
      "input":{"shape":"ListManagedThingAccountAssociationsRequest"},
      "output":{"shape":"ListManagedThingAccountAssociationsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists all account associations for a specific managed thing.</p>"
    },
    "ListManagedThingSchemas":{
      "name":"ListManagedThingSchemas",
      "http":{
        "method":"GET",
        "requestUri":"/managed-thing-schemas/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"ListManagedThingSchemasRequest"},
      "output":{"shape":"ListManagedThingSchemasResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List schemas associated with a managed thing.</p>"
    },
    "ListManagedThings":{
      "name":"ListManagedThings",
      "http":{
        "method":"GET",
        "requestUri":"/managed-things",
        "responseCode":200
      },
      "input":{"shape":"ListManagedThingsRequest"},
      "output":{"shape":"ListManagedThingsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Listing all managed things with provision for filters.</p>"
    },
    "ListNotificationConfigurations":{
      "name":"ListNotificationConfigurations",
      "http":{
        "method":"GET",
        "requestUri":"/notification-configurations",
        "responseCode":200
      },
      "input":{"shape":"ListNotificationConfigurationsRequest"},
      "output":{"shape":"ListNotificationConfigurationsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p> List all notification configurations.</p>"
    },
    "ListOtaTaskConfigurations":{
      "name":"ListOtaTaskConfigurations",
      "http":{
        "method":"GET",
        "requestUri":"/ota-task-configurations",
        "responseCode":200
      },
      "input":{"shape":"ListOtaTaskConfigurationsRequest"},
      "output":{"shape":"ListOtaTaskConfigurationsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List all of the over-the-air (OTA) task configurations.</p>"
    },
    "ListOtaTaskExecutions":{
      "name":"ListOtaTaskExecutions",
      "http":{
        "method":"GET",
        "requestUri":"/ota-tasks/{Identifier}/devices",
        "responseCode":200
      },
      "input":{"shape":"ListOtaTaskExecutionsRequest"},
      "output":{"shape":"ListOtaTaskExecutionsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>List all of the over-the-air (OTA) task executions.</p>"
    },
    "ListOtaTasks":{
      "name":"ListOtaTasks",
      "http":{
        "method":"GET",
        "requestUri":"/ota-tasks",
        "responseCode":200
      },
      "input":{"shape":"ListOtaTasksRequest"},
      "output":{"shape":"ListOtaTasksResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>List all of the over-the-air (OTA) tasks.</p>"
    },
    "ListProvisioningProfiles":{
      "name":"ListProvisioningProfiles",
      "http":{
        "method":"GET",
        "requestUri":"/provisioning-profiles",
        "responseCode":200
      },
      "input":{"shape":"ListProvisioningProfilesRequest"},
      "output":{"shape":"ListProvisioningProfilesResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List the provisioning profiles within the Amazon Web Services account.</p>"
    },
    "ListSchemaVersions":{
      "name":"ListSchemaVersions",
      "http":{
        "method":"GET",
        "requestUri":"/schema-versions/{Type}",
        "responseCode":200
      },
      "input":{"shape":"ListSchemaVersionsRequest"},
      "output":{"shape":"ListSchemaVersionsResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Lists schema versions with the provided information.</p>"
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{ResourceArn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>List tags for the specified resource.</p>"
    },
    "PutDefaultEncryptionConfiguration":{
      "name":"PutDefaultEncryptionConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/configuration/account/encryption",
        "responseCode":201
      },
      "input":{"shape":"PutDefaultEncryptionConfigurationRequest"},
      "output":{"shape":"PutDefaultEncryptionConfigurationResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalFailureException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Sets the default encryption configuration for the Amazon Web Services account. For more information, see <a href=\"https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html\">Key management</a> in the AWS IoT SiteWise User Guide.</p>"
    },
    "PutHubConfiguration":{
      "name":"PutHubConfiguration",
      "http":{
        "method":"PUT",
        "requestUri":"/hub-configuration",
        "responseCode":201
      },
      "input":{"shape":"PutHubConfigurationRequest"},
      "output":{"shape":"PutHubConfigurationResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update a hub configuration.</p>",
      "idempotent":true
    },
    "PutRuntimeLogConfiguration":{
      "name":"PutRuntimeLogConfiguration",
      "http":{
        "method":"PUT",
        "requestUri":"/runtime-log-configurations/{ManagedThingId}",
        "responseCode":200
      },
      "input":{"shape":"PutRuntimeLogConfigurationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Set the runtime log configuration for a specific managed thing or for all managed things as a group.</p>",
      "idempotent":true
    },
    "RegisterAccountAssociation":{
      "name":"RegisterAccountAssociation",
      "http":{
        "method":"PUT",
        "requestUri":"/managed-thing-associations/register",
        "responseCode":201
      },
      "input":{"shape":"RegisterAccountAssociationRequest"},
      "output":{"shape":"RegisterAccountAssociationResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Registers an account association with a managed thing, establishing a connection between a device and a third-party account.</p>",
      "idempotent":true
    },
    "RegisterCustomEndpoint":{
      "name":"RegisterCustomEndpoint",
      "http":{
        "method":"POST",
        "requestUri":"/custom-endpoint",
        "responseCode":201
      },
      "input":{"shape":"RegisterCustomEndpointRequest"},
      "output":{"shape":"RegisterCustomEndpointResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Customers can request IoT managed integrations to manage the server trust for them or bring their own external server trusts for the custom domain. Returns an IoT managed integrations endpoint.</p>"
    },
    "ResetRuntimeLogConfiguration":{
      "name":"ResetRuntimeLogConfiguration",
      "http":{
        "method":"DELETE",
        "requestUri":"/runtime-log-configurations/{ManagedThingId}",
        "responseCode":200
      },
      "input":{"shape":"ResetRuntimeLogConfigurationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Reset a runtime log configuration for a specific managed thing or for all managed things as a group.</p>",
      "idempotent":true
    },
    "SendConnectorEvent":{
      "name":"SendConnectorEvent",
      "http":{
        "method":"POST",
        "requestUri":"/connector-event/{ConnectorId}",
        "responseCode":202
      },
      "input":{"shape":"SendConnectorEventRequest"},
      "output":{"shape":"SendConnectorEventResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Relays third-party device events for a connector such as a new device or a device state change event.</p>",
      "idempotent":true
    },
    "SendManagedThingCommand":{
      "name":"SendManagedThingCommand",
      "http":{
        "method":"POST",
        "requestUri":"/managed-things-command/{ManagedThingId}",
        "responseCode":202
      },
      "input":{"shape":"SendManagedThingCommandRequest"},
      "output":{"shape":"SendManagedThingCommandResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Send the command to the device represented by the managed thing. </p>"
    },
    "StartAccountAssociationRefresh":{
      "name":"StartAccountAssociationRefresh",
      "http":{
        "method":"POST",
        "requestUri":"/account-associations/{AccountAssociationId}/refresh",
        "responseCode":200
      },
      "input":{"shape":"StartAccountAssociationRefreshRequest"},
      "output":{"shape":"StartAccountAssociationRefreshResponse"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Initiates a refresh of an existing account association to update its authorization and connection status.</p>"
    },
    "StartDeviceDiscovery":{
      "name":"StartDeviceDiscovery",
      "http":{
        "method":"POST",
        "requestUri":"/device-discoveries",
        "responseCode":201
      },
      "input":{"shape":"StartDeviceDiscoveryRequest"},
      "output":{"shape":"StartDeviceDiscoveryResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p> This API is used to start device discovery for hub-connected and third-party-connected devices. The authentication material (install code) is passed as a message to the controller telling it to start the discovery.</p>"
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{ResourceArn}",
        "responseCode":200
      },
      "input":{"shape":"TagResourceRequest"},
      "output":{"shape":"TagResourceResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Add tags for the specified resource.</p>",
      "idempotent":true
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{ResourceArn}",
        "responseCode":200
      },
      "input":{"shape":"UntagResourceRequest"},
      "output":{"shape":"UntagResourceResponse"},
      "errors":[
        {"shape":"UnauthorizedException"},
        {"shape":"ConflictException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Remove tags for the specified resource.</p>",
      "idempotent":true
    },
    "UpdateAccountAssociation":{
      "name":"UpdateAccountAssociation",
      "http":{
        "method":"PUT",
        "requestUri":"/account-associations/{AccountAssociationId}",
        "responseCode":204
      },
      "input":{"shape":"UpdateAccountAssociationRequest"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Updates the properties of an existing account association.</p>",
      "idempotent":true
    },
    "UpdateCloudConnector":{
      "name":"UpdateCloudConnector",
      "http":{
        "method":"PUT",
        "requestUri":"/cloud-connectors/{Identifier}",
        "responseCode":200
      },
      "input":{"shape":"UpdateCloudConnectorRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update an existing cloud connector.</p>",
      "idempotent":true
    },
    "UpdateConnectorDestination":{
      "name":"UpdateConnectorDestination",
      "http":{
        "method":"PUT",
        "requestUri":"/connector-destinations/{Identifier}",
        "responseCode":204
      },
      "input":{"shape":"UpdateConnectorDestinationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Updates the properties of an existing connector destination.</p>",
      "idempotent":true
    },
    "UpdateDestination":{
      "name":"UpdateDestination",
      "http":{
        "method":"PUT",
        "requestUri":"/destinations/{Name}",
        "responseCode":201
      },
      "input":{"shape":"UpdateDestinationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p> Update a destination specified by id. </p>",
      "idempotent":true
    },
    "UpdateEventLogConfiguration":{
      "name":"UpdateEventLogConfiguration",
      "http":{
        "method":"PATCH",
        "requestUri":"/event-log-configurations/{Id}",
        "responseCode":200
      },
      "input":{"shape":"UpdateEventLogConfigurationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update an event log configuration by log configuration ID.</p>",
      "idempotent":true
    },
    "UpdateManagedThing":{
      "name":"UpdateManagedThing",
      "http":{
        "method":"PUT",
        "requestUri":"/managed-things/{Identifier}",
        "responseCode":204
      },
      "input":{"shape":"UpdateManagedThingRequest"},
      "errors":[
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"UnauthorizedException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceUnavailableException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update the attributes and capabilities associated with a managed thing.</p>",
      "idempotent":true
    },
    "UpdateNotificationConfiguration":{
      "name":"UpdateNotificationConfiguration",
      "http":{
        "method":"PUT",
        "requestUri":"/notification-configurations/{EventType}",
        "responseCode":201
      },
      "input":{"shape":"UpdateNotificationConfigurationRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p> Update a notification configuration.</p>",
      "idempotent":true
    },
    "UpdateOtaTask":{
      "name":"UpdateOtaTask",
      "http":{
        "method":"PUT",
        "requestUri":"/ota-tasks/{Identifier}",
        "responseCode":204
      },
      "input":{"shape":"UpdateOtaTaskRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Update an over-the-air (OTA) task.</p>",
      "idempotent":true
    }
  },
  "shapes":{
    "AbortConfigCriteria":{
      "type":"structure",
      "members":{
        "Action":{
          "shape":"AbortCriteriaAction",
          "documentation":"<p>The action taken by the abort configuration.</p>"
        },
        "FailureType":{
          "shape":"AbortCriteriaFailureType",
          "documentation":"<p>Over-the-air (OTA) task abort criteria failure type.</p>"
        },
        "MinNumberOfExecutedThings":{
          "shape":"MinNumberOfExecutedThings",
          "documentation":"<p>The minimum number of things that must receive task execution notifications before the task can be aborted.</p>"
        },
        "ThresholdPercentage":{
          "shape":"ThresholdPercentage",
          "documentation":"<p>The minimum percentage of over-the-air (OTA) task execution failures that must occur to initiate the last abort.</p>"
        }
      },
      "documentation":"<p>Structure representing one abort config criteria.</p>"
    },
    "AbortConfigCriteriaList":{
      "type":"list",
      "member":{"shape":"AbortConfigCriteria"}
    },
    "AbortCriteriaAction":{
      "type":"string",
      "enum":["CANCEL"]
    },
    "AbortCriteriaFailureType":{
      "type":"string",
      "enum":[
        "FAILED",
        "REJECTED",
        "TIMED_OUT",
        "ALL"
      ]
    },
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>User is not authorized.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AccountAssociationArn":{
      "type":"string",
      "max":1011,
      "min":67,
      "pattern":"arn:aws:iotmanagedintegrations:[0-9a-zA-Z-]+:[0-9]+:account-association/[0-9a-zA-Z]+"
    },
    "AccountAssociationDescription":{
      "type":"string",
      "max":4096,
      "min":1,
      "pattern":"[A-Za-z0-9-_ ]+"
    },
    "AccountAssociationErrorMessage":{
      "type":"string",
      "max":4096,
      "min":1,
      "pattern":"[A-Za-z0-9-_ ]+"
    },
    "AccountAssociationId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[0-9a-zA-Z]+"
    },
    "AccountAssociationItem":{
      "type":"structure",
      "required":[
        "AccountAssociationId",
        "AssociationState"
      ],
      "members":{
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The unique identifier of the account association.</p>"
        },
        "AssociationState":{
          "shape":"AssociationState",
          "documentation":"<p>The current state of the account association, indicating its status in the association lifecycle.</p>"
        },
        "ErrorMessage":{
          "shape":"AccountAssociationErrorMessage",
          "documentation":"<p>The error message explaining any issues with the account association, if applicable.</p>"
        },
        "ConnectorDestinationId":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The identifier of the connector destination associated with this account association.</p>"
        },
        "Name":{
          "shape":"AccountAssociationName",
          "documentation":"<p>The name of the account association.</p>"
        },
        "Description":{
          "shape":"AccountAssociationDescription",
          "documentation":"<p>A description of the account association.</p>"
        },
        "Arn":{
          "shape":"AccountAssociationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the account association.</p>"
        }
      },
      "documentation":"<p>Structure containing information about an account association, including its identifier, state, and related metadata.</p>"
    },
    "AccountAssociationListDefinition":{
      "type":"list",
      "member":{"shape":"AccountAssociationItem"}
    },
    "AccountAssociationName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[A-Za-z0-9-_ ]+"
    },
    "ActionName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[/a-zA-Z0-9\\._ ]+"
    },
    "ActionReference":{
      "type":"string",
      "pattern":"[a-zA-Z.]+"
    },
    "ActionTraceId":{
      "type":"string",
      "max":20,
      "min":16,
      "pattern":"[a-zA-Z0-9]+=(?:_[0-9]+)?"
    },
    "AdvertisedProductId":{
      "type":"string",
      "max":5,
      "min":5,
      "pattern":"([A-Za-z0-9!#$%&()*\\+\\-;<=>?@^_`{|}~])+"
    },
    "AssociationState":{
      "type":"string",
      "enum":[
        "ASSOCIATION_IN_PROGRESS",
        "ASSOCIATION_FAILED",
        "ASSOCIATION_SUCCEEDED",
        "ASSOCIATION_DELETING",
        "REFRESH_TOKEN_EXPIRED"
      ]
    },
    "AttributeName":{
      "type":"string",
      "max":128,
      "min":0,
      "pattern":".*[a-zA-Z0-9_.,@/:#-]+.*"
    },
    "AttributeValue":{
      "type":"string",
      "max":800,
      "min":0,
      "pattern":".*[a-zA-Z0-9_.,@/:#-]*.*"
    },
    "AuthConfig":{
      "type":"structure",
      "members":{
        "oAuth":{
          "shape":"OAuthConfig",
          "documentation":"<p>The OAuth configuration settings used for authentication with the third-party service.</p>"
        }
      },
      "documentation":"<p>The authentication configuration details for a connector destination, including OAuth settings and other authentication parameters.</p>"
    },
    "AuthConfigUpdate":{
      "type":"structure",
      "members":{
        "oAuthUpdate":{
          "shape":"OAuthUpdate",
          "documentation":"<p>The updated OAuth configuration settings for the authentication configuration.</p>"
        }
      },
      "documentation":"<p>The updated authentication configuration details for a connector destination.</p>"
    },
    "AuthMaterialString":{
      "type":"string",
      "max":512,
      "min":1,
      "pattern":"[0-9A-Za-z!#$%&()*\\+\\-;<=>?@^_`{|}~\\/: {},\\\\\"]+",
      "sensitive":true
    },
    "AuthMaterialType":{
      "type":"string",
      "enum":[
        "CUSTOM_PROTOCOL_QR_BAR_CODE",
        "WIFI_SETUP_QR_BAR_CODE",
        "ZWAVE_QR_BAR_CODE",
        "ZIGBEE_QR_BAR_CODE",
        "DISCOVERED_DEVICE"
      ]
    },
    "AuthType":{
      "type":"string",
      "enum":["OAUTH"]
    },
    "AuthUrl":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}([-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)"
    },
    "BaseRatePerMinute":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "Brand":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[A-Za-z0-9-_ ]+",
      "sensitive":true
    },
    "CaCertificate":{
      "type":"string",
      "pattern":"-----BEGIN CERTIFICATE-----.*(.|\\n)*-----END CERTIFICATE-----\\n?",
      "sensitive":true
    },
    "Capabilities":{
      "type":"string",
      "max":65535,
      "min":1,
      "pattern":"[a-zA-Z0-9\\s'\\x{0022},.:\\\\\\/{$}\\[\\]=_\\-\\+]+"
    },
    "CapabilityAction":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"CapabilityActionName",
          "documentation":"<p>Describe a capability action with a name.</p>"
        },
        "ref":{
          "shape":"ActionReference",
          "documentation":"<p>Describe a capability action with an reference.</p>"
        },
        "actionTraceId":{
          "shape":"ActionTraceId",
          "documentation":"<p>Describe a capability action with an <code>actionTraceId</code> for a response command.</p>"
        },
        "parameters":{
          "shape":"CapabilityProperties",
          "documentation":"<p>Describe a capability action with a capability property.</p>"
        }
      },
      "documentation":"<p>Action for an Amazon Web Services capability, containing the action parameters for control.</p>"
    },
    "CapabilityActionName":{
      "type":"string",
      "pattern":"[/a-zA-Z]+"
    },
    "CapabilityActions":{
      "type":"list",
      "member":{"shape":"CapabilityAction"},
      "max":5,
      "min":1
    },
    "CapabilityId":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9./]+(@\\d+\\.\\d+)?"
    },
    "CapabilityName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[/a-zA-Z0-9\\._ ]+"
    },
    "CapabilityProperties":{
      "type":"structure",
      "members":{
      },
      "document":true,
      "sensitive":true
    },
    "CapabilityReport":{
      "type":"structure",
      "required":[
        "version",
        "endpoints"
      ],
      "members":{
        "version":{
          "shape":"CapabilityReportVersion",
          "documentation":"<p>The version of the capability report.</p>"
        },
        "nodeId":{
          "shape":"NodeId",
          "documentation":"<p>The numeric identifier of the node.</p>"
        },
        "endpoints":{
          "shape":"CapabilityReportEndpoints",
          "documentation":"<p>The endpoints used in the capability report.</p>"
        }
      },
      "documentation":"<p>Report of all capabilities supported by the device.</p>"
    },
    "CapabilityReportActions":{
      "type":"list",
      "member":{"shape":"ActionName"},
      "max":100,
      "min":0
    },
    "CapabilityReportCapabilities":{
      "type":"list",
      "member":{"shape":"CapabilityReportCapability"},
      "max":40,
      "min":0
    },
    "CapabilityReportCapability":{
      "type":"structure",
      "required":[
        "id",
        "name",
        "version",
        "properties",
        "actions",
        "events"
      ],
      "members":{
        "id":{
          "shape":"SchemaVersionedId",
          "documentation":"<p>The id of the schema version.</p>"
        },
        "name":{
          "shape":"CapabilityName",
          "documentation":"<p>The name of the capability.</p>"
        },
        "version":{
          "shape":"CapabilityVersion",
          "documentation":"<p>The version of the capability.</p>"
        },
        "properties":{
          "shape":"CapabilityReportProperties",
          "documentation":"<p>The capability properties used in the capability report.</p>"
        },
        "actions":{
          "shape":"CapabilityReportActions",
          "documentation":"<p>The capability actions used in the capability report.</p>"
        },
        "events":{
          "shape":"CapabilityReportEvents",
          "documentation":"<p>The capability events used in the capability report.</p>"
        }
      },
      "documentation":"<p>The capability used in capability report.</p>"
    },
    "CapabilityReportEndpoint":{
      "type":"structure",
      "required":[
        "id",
        "deviceTypes",
        "capabilities"
      ],
      "members":{
        "id":{
          "shape":"EndpointId",
          "documentation":"<p>The id of the endpoint used in the capability report.</p>"
        },
        "deviceTypes":{
          "shape":"DeviceTypes",
          "documentation":"<p>The type of device.</p>"
        },
        "capabilities":{
          "shape":"CapabilityReportCapabilities",
          "documentation":"<p>The capabilities used in the capability report.</p>"
        }
      },
      "documentation":"<p>The endpoint used in the capability report.</p>"
    },
    "CapabilityReportEndpoints":{
      "type":"list",
      "member":{"shape":"CapabilityReportEndpoint"},
      "max":40,
      "min":0
    },
    "CapabilityReportEvents":{
      "type":"list",
      "member":{"shape":"EventName"},
      "max":100,
      "min":0
    },
    "CapabilityReportProperties":{
      "type":"list",
      "member":{"shape":"PropertyName"},
      "max":100,
      "min":0
    },
    "CapabilityReportVersion":{
      "type":"string",
      "max":10,
      "min":1,
      "pattern":"1\\.0\\.0"
    },
    "CapabilitySchemaItem":{
      "type":"structure",
      "required":[
        "Format",
        "CapabilityId",
        "ExtrinsicId",
        "ExtrinsicVersion",
        "Schema"
      ],
      "members":{
        "Format":{
          "shape":"SchemaVersionFormat",
          "documentation":"<p>The format of the capability schema, which defines how the schema is structured and interpreted.</p>"
        },
        "CapabilityId":{
          "shape":"SchemaVersionedId",
          "documentation":"<p>The unique identifier of the capability defined in the schema.</p>"
        },
        "ExtrinsicId":{
          "shape":"ExtrinsicSchemaId",
          "documentation":"<p>The external identifier for the capability, used when referencing the capability outside of the AWS ecosystem.</p>"
        },
        "ExtrinsicVersion":{
          "shape":"MatterCapabilityReportClusterRevisionId",
          "documentation":"<p>The version of the external capability definition, used to track compatibility with external systems.</p>"
        },
        "Schema":{
          "shape":"ValidationSchema",
          "documentation":"<p>The actual schema definition that describes the capability's properties, actions, and events.</p>"
        }
      },
      "documentation":"<p>Structure representing a capability schema item that defines the functionality and features supported by a managed thing.</p>"
    },
    "CapabilitySchemas":{
      "type":"list",
      "member":{"shape":"CapabilitySchemaItem"},
      "max":40,
      "min":0
    },
    "CapabilityVersion":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"(0|[1-9][0-9]*)"
    },
    "ClaimCertificate":{
      "type":"string",
      "sensitive":true
    },
    "ClaimCertificatePrivateKey":{
      "type":"string",
      "sensitive":true
    },
    "Classification":{
      "type":"string",
      "max":64,
      "min":1,
      "sensitive":true
    },
    "ClientToken":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9=_-]+"
    },
    "CloudConnectorDescription":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[0-9A-Za-z_\\- ]+"
    },
    "CloudConnectorId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[A-Za-z0-9-_]+"
    },
    "CloudConnectorType":{
      "type":"string",
      "enum":[
        "LISTED",
        "UNLISTED"
      ]
    },
    "ClusterId":{
      "type":"string",
      "max":24,
      "min":1,
      "pattern":"0[xX][0-9a-fA-F]+$|^[0-9]+"
    },
    "CommandCapabilities":{
      "type":"list",
      "member":{"shape":"CommandCapability"},
      "max":5,
      "min":1
    },
    "CommandCapability":{
      "type":"structure",
      "required":[
        "id",
        "name",
        "version",
        "actions"
      ],
      "members":{
        "id":{
          "shape":"SchemaVersionedId",
          "documentation":"<p>Describe the capability with an id.</p>"
        },
        "name":{
          "shape":"CapabilityName",
          "documentation":"<p>Describe the capability with an name.</p>"
        },
        "version":{
          "shape":"CapabilityVersion",
          "documentation":"<p>Describe the capability with a version.</p>"
        },
        "actions":{
          "shape":"CapabilityActions",
          "documentation":"<p>Describe the command capability with the actions it supports.</p>"
        }
      },
      "documentation":"<p>The command capabilities added for the managed thing</p>"
    },
    "CommandEndpoint":{
      "type":"structure",
      "required":[
        "endpointId",
        "capabilities"
      ],
      "members":{
        "endpointId":{
          "shape":"EndpointId",
          "documentation":"<p>The id of the endpoint for a managed thing.</p>"
        },
        "capabilities":{
          "shape":"CommandCapabilities",
          "documentation":"<p>Describe the endpoint with an id, a name, and the relevant capabilities for sending commands.</p>"
        }
      },
      "documentation":"<p>The endpoint for a managed thing when sending a command.</p>"
    },
    "CommandEndpoints":{
      "type":"list",
      "member":{"shape":"CommandEndpoint"},
      "max":5,
      "min":1
    },
    "ConfigurationError":{
      "type":"structure",
      "members":{
        "code":{
          "shape":"ConfigurationErrorCode",
          "documentation":"<p>The error code returned when the default encryption configuration update fails.</p>"
        },
        "message":{
          "shape":"ConfigurationErrorMessage",
          "documentation":"<p>The error message returned when the default encryption configuration update fails.</p>"
        }
      },
      "documentation":"<p>Provides the default encryption configuration error update details.</p>"
    },
    "ConfigurationErrorCode":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[a-zA-Z0-9_-]+"
    },
    "ConfigurationErrorMessage":{
      "type":"string",
      "max":65535,
      "min":1,
      "pattern":"[a-zA-Z0-9\\-._,]+"
    },
    "ConfigurationState":{
      "type":"string",
      "enum":[
        "ENABLED",
        "UPDATE_IN_PROGRESS",
        "UPDATE_FAILED"
      ]
    },
    "ConfigurationStatus":{
      "type":"structure",
      "required":["state"],
      "members":{
        "error":{
          "shape":"ConfigurationError",
          "documentation":"<p>The error details describing a failed default encryption configuration update.</p>"
        },
        "state":{
          "shape":"ConfigurationState",
          "documentation":"<p>The status state describing the default encryption configuration update.</p>"
        }
      },
      "documentation":"<p>Provides the status of the default encryption configuration for an Amazon Web Services account.</p>"
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>There is a conflict with the request.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ConnectivityStatus":{
      "type":"boolean",
      "box":true
    },
    "ConnectivityTimestamp":{"type":"timestamp"},
    "ConnectorAssociationId":{
      "type":"string",
      "deprecated":true,
      "deprecatedMessage":"ConnectorAssociationId is deprecated",
      "deprecatedSince":"2025-06-25",
      "max":64,
      "min":1,
      "pattern":"[0-9a-zA-Z]+"
    },
    "ConnectorDestinationDescription":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[0-9A-Za-z_\\- ]+"
    },
    "ConnectorDestinationId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[A-Za-z0-9-_]+"
    },
    "ConnectorDestinationListDefinition":{
      "type":"list",
      "member":{"shape":"ConnectorDestinationSummary"}
    },
    "ConnectorDestinationName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[A-Za-z0-9-_ ]+"
    },
    "ConnectorDestinationSummary":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"ConnectorDestinationName",
          "documentation":"<p>The display name of the connector destination.</p>"
        },
        "Description":{
          "shape":"ConnectorDestinationDescription",
          "documentation":"<p>A description of the connector destination.</p>"
        },
        "CloudConnectorId":{
          "shape":"CloudConnectorId",
          "documentation":"<p>The identifier of the cloud connector associated with this connector destination.</p>"
        },
        "Id":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The unique identifier of the connector destination.</p>"
        }
      },
      "documentation":"<p>Structure containing summary information about a connector destination, which defines how a cloud-to-cloud connector connects to a customer's AWS account.</p>"
    },
    "ConnectorDeviceId":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[a-zA-Z0-9_.,@-]+",
      "sensitive":true
    },
    "ConnectorDeviceName":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[\\p{L}\\p{N} ._-]+",
      "sensitive":true
    },
    "ConnectorEventMessage":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[\\sa-zA-Z0-9_.,@-]+",
      "sensitive":true
    },
    "ConnectorEventOperation":{
      "type":"string",
      "enum":[
        "DEVICE_COMMAND_RESPONSE",
        "DEVICE_DISCOVERY",
        "DEVICE_EVENT",
        "DEVICE_COMMAND_REQUEST"
      ]
    },
    "ConnectorEventOperationVersion":{
      "type":"string",
      "max":6,
      "min":1,
      "pattern":"[0-9.]+",
      "sensitive":true
    },
    "ConnectorEventStatusCode":{
      "type":"integer",
      "box":true,
      "max":550,
      "min":100,
      "sensitive":true
    },
    "ConnectorId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[A-Za-z0-9-_]+"
    },
    "ConnectorItem":{
      "type":"structure",
      "required":[
        "Name",
        "EndpointConfig"
      ],
      "members":{
        "Name":{
          "shape":"DisplayName",
          "documentation":"<p>The display name of the C2C connector.</p>"
        },
        "EndpointConfig":{
          "shape":"EndpointConfig",
          "documentation":"<p>The configuration details for the cloud connector endpoint, including connection parameters and authentication requirements.</p>"
        },
        "Description":{
          "shape":"CloudConnectorDescription",
          "documentation":"<p>A description of the C2C connector.</p>"
        },
        "EndpointType":{
          "shape":"EndpointType",
          "documentation":"<p>The type of endpoint used for the C2C connector.</p>"
        },
        "Id":{
          "shape":"CloudConnectorId",
          "documentation":"<p>The identifier of the C2C connector.</p>"
        },
        "Type":{
          "shape":"CloudConnectorType",
          "documentation":"<p>The type of cloud connector created.</p>"
        }
      },
      "documentation":"<p>Structure describing a connector.</p>"
    },
    "ConnectorList":{
      "type":"list",
      "member":{"shape":"ConnectorItem"}
    },
    "ConnectorPolicyId":{
      "type":"string",
      "deprecated":true,
      "deprecatedMessage":"ConnectorPolicyId is deprecated",
      "deprecatedSince":"2025-06-25",
      "max":64,
      "min":1,
      "pattern":"[A-Za-z0-9-_]+"
    },
    "CreateAccountAssociationRequest":{
      "type":"structure",
      "required":["ConnectorDestinationId"],
      "members":{
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>",
          "idempotencyToken":true
        },
        "ConnectorDestinationId":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The identifier of the connector destination.</p>"
        },
        "Name":{
          "shape":"AccountAssociationName",
          "documentation":"<p>The name of the destination for the new account association.</p>"
        },
        "Description":{
          "shape":"AccountAssociationDescription",
          "documentation":"<p>A description of the account association request.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the account association.</p>"
        }
      }
    },
    "CreateAccountAssociationResponse":{
      "type":"structure",
      "required":[
        "OAuthAuthorizationUrl",
        "AccountAssociationId",
        "AssociationState"
      ],
      "members":{
        "OAuthAuthorizationUrl":{
          "shape":"OAuthAuthorizationUrl",
          "documentation":"<p>Third-party IoT platform OAuth authorization server URL backed with all the required parameters to perform end-user authentication.</p>"
        },
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The identifier for the account association request.</p>"
        },
        "AssociationState":{
          "shape":"AssociationState",
          "documentation":"<p>The current state of the account association request.</p>"
        },
        "Arn":{
          "shape":"AccountAssociationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the account association.</p>"
        }
      }
    },
    "CreateCloudConnectorRequest":{
      "type":"structure",
      "required":[
        "Name",
        "EndpointConfig"
      ],
      "members":{
        "Name":{
          "shape":"DisplayName",
          "documentation":"<p>The display name of the C2C connector.</p>"
        },
        "EndpointConfig":{
          "shape":"EndpointConfig",
          "documentation":"<p>The configuration details for the cloud connector endpoint, including connection parameters and authentication requirements.</p>"
        },
        "Description":{
          "shape":"CloudConnectorDescription",
          "documentation":"<p>A description of the C2C connector.</p>"
        },
        "EndpointType":{
          "shape":"EndpointType",
          "documentation":"<p>The type of endpoint used for the cloud connector, which defines how the connector communicates with external services.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateCloudConnectorResponse":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"CloudConnectorId",
          "documentation":"<p>The unique identifier assigned to the newly created cloud connector.</p>"
        }
      }
    },
    "CreateConnectorDestinationRequest":{
      "type":"structure",
      "required":[
        "CloudConnectorId",
        "AuthType",
        "AuthConfig",
        "SecretsManager"
      ],
      "members":{
        "Name":{
          "shape":"ConnectorDestinationName",
          "documentation":"<p>The display name of the connector destination.</p>"
        },
        "Description":{
          "shape":"ConnectorDestinationDescription",
          "documentation":"<p>A description of the connector destination.</p>"
        },
        "CloudConnectorId":{
          "shape":"CloudConnectorId",
          "documentation":"<p>The identifier of the C2C connector.</p>"
        },
        "AuthType":{
          "shape":"AuthType",
          "documentation":"<p>The authentication type used for the connector destination, which determines how credentials and access are managed.</p>"
        },
        "AuthConfig":{
          "shape":"AuthConfig",
          "documentation":"<p>The authentication configuration details for the connector destination, including OAuth settings and other authentication parameters.</p>"
        },
        "SecretsManager":{
          "shape":"SecretsManager",
          "documentation":"<p>The AWS Secrets Manager configuration used to securely store and manage sensitive information for the connector destination.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateConnectorDestinationResponse":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The identifier of the C2C connector destination creation request.</p>"
        }
      }
    },
    "CreateCredentialLockerRequest":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"CredentialLockerName",
          "documentation":"<p>The name of the credential locker.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>",
          "idempotencyToken":true
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the credential locker.</p>"
        }
      }
    },
    "CreateCredentialLockerResponse":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"CredentialLockerId",
          "documentation":"<p>The identifier of the credential locker creation request.</p>"
        },
        "Arn":{
          "shape":"CredentialLockerArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the credential locker.</p>"
        },
        "CreatedAt":{
          "shape":"CredentialLockerCreatedAt",
          "documentation":"<p>The timestamp value of when the credential locker request occurred.</p>"
        }
      }
    },
    "CreateDestinationRequest":{
      "type":"structure",
      "required":[
        "DeliveryDestinationArn",
        "DeliveryDestinationType",
        "Name",
        "RoleArn"
      ],
      "members":{
        "DeliveryDestinationArn":{
          "shape":"DeliveryDestinationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the customer-managed destination.</p>"
        },
        "DeliveryDestinationType":{
          "shape":"DeliveryDestinationType",
          "documentation":"<p>The destination type for the customer-managed destination.</p>"
        },
        "Name":{
          "shape":"DestinationName",
          "documentation":"<p>The name of the customer-managed destination.</p>"
        },
        "RoleArn":{
          "shape":"DeliveryDestinationRoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the delivery destination role.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>",
          "idempotencyToken":true
        },
        "Description":{
          "shape":"DestinationDescription",
          "documentation":"<p>The description of the customer-managed destination.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the destination.</p>",
          "deprecated":true,
          "deprecatedMessage":"Tags have been deprecated from this api",
          "deprecatedSince":"06-25-2025"
        }
      }
    },
    "CreateDestinationResponse":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"DestinationName",
          "documentation":"<p>The name of the customer-managed destination.</p>"
        }
      }
    },
    "CreateEventLogConfigurationRequest":{
      "type":"structure",
      "required":[
        "ResourceType",
        "EventLogLevel"
      ],
      "members":{
        "ResourceType":{
          "shape":"SmartHomeResourceType",
          "documentation":"<p>The type of resource for the event log configuration.</p>"
        },
        "ResourceId":{
          "shape":"SmartHomeResourceId",
          "documentation":"<p>The identifier of the resource for the event log configuration.</p>"
        },
        "EventLogLevel":{
          "shape":"LogLevel",
          "documentation":"<p>The logging level for the event log configuration.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateEventLogConfigurationResponse":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"LogConfigurationId",
          "documentation":"<p>The identifier of the event log configuration request.</p>"
        }
      }
    },
    "CreateManagedThingRequest":{
      "type":"structure",
      "required":[
        "Role",
        "AuthenticationMaterial",
        "AuthenticationMaterialType"
      ],
      "members":{
        "Role":{
          "shape":"Role",
          "documentation":"<p>The type of device used. This will be the hub controller, cloud device, or AWS IoT device.</p>"
        },
        "Owner":{
          "shape":"Owner",
          "documentation":"<p>Owner of the device, usually an indication of whom the device belongs to. This value should not contain personal identifiable information.</p>"
        },
        "CredentialLockerId":{
          "shape":"CredentialLockerId",
          "documentation":"<p>The identifier of the credential for the managed thing.</p>"
        },
        "AuthenticationMaterial":{
          "shape":"AuthMaterialString",
          "documentation":"<p>The authentication material defining the device connectivity setup requests. The authentication materials used are the device bar code.</p>"
        },
        "AuthenticationMaterialType":{
          "shape":"AuthMaterialType",
          "documentation":"<p>The type of authentication material used for device connectivity setup requests.</p>"
        },
        "SerialNumber":{
          "shape":"SerialNumber",
          "documentation":"<p>The serial number of the device.</p>"
        },
        "Brand":{
          "shape":"Brand",
          "documentation":"<p>The brand of the device.</p>"
        },
        "Model":{
          "shape":"Model",
          "documentation":"<p>The model of the device.</p>"
        },
        "Name":{
          "shape":"Name",
          "documentation":"<p>The name of the managed thing representing the physical device.</p>"
        },
        "CapabilityReport":{
          "shape":"CapabilityReport",
          "documentation":"<p>A report of the capabilities for the managed thing.</p>"
        },
        "CapabilitySchemas":{
          "shape":"CapabilitySchemas",
          "documentation":"<p>The capability schemas that define the functionality and features supported by the managed thing, including device capabilities and their associated properties.</p>"
        },
        "Capabilities":{
          "shape":"Capabilities",
          "documentation":"<p>The capabilities of the device such as light bulb.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>",
          "idempotencyToken":true
        },
        "Classification":{
          "shape":"Classification",
          "documentation":"<p>The classification of the managed thing such as light bulb or thermostat.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the managed thing.</p>"
        },
        "MetaData":{
          "shape":"MetaData",
          "documentation":"<p>The metadata for the managed thing.</p> <note> <p>The <code>managedThing</code> <code>metadata</code> parameter is used for associating attributes with a <code>managedThing</code> that can be used for grouping over-the-air (OTA) tasks. Name value pairs in <code>metadata</code> can be used in the <code>OtaTargetQueryString</code> parameter for the <code>CreateOtaTask</code> API operation.</p> </note>"
        }
      }
    },
    "CreateManagedThingResponse":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the managed thing.</p>"
        },
        "Arn":{
          "shape":"ManagedThingArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the managed thing.</p>"
        },
        "CreatedAt":{
          "shape":"CreatedAt",
          "documentation":"<p>The timestamp value of when the device creation request occurred.</p>"
        }
      }
    },
    "CreateNotificationConfigurationRequest":{
      "type":"structure",
      "required":[
        "EventType",
        "DestinationName"
      ],
      "members":{
        "EventType":{
          "shape":"EventType",
          "documentation":"<p>The type of event triggering a device notification to the customer-managed destination.</p>"
        },
        "DestinationName":{
          "shape":"DestinationName",
          "documentation":"<p>The name of the destination for the notification configuration.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>",
          "idempotencyToken":true
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the notification configuration.</p>",
          "deprecated":true,
          "deprecatedMessage":"Tags has been deprecated from this api",
          "deprecatedSince":"06-25-2025"
        }
      }
    },
    "CreateNotificationConfigurationResponse":{
      "type":"structure",
      "members":{
        "EventType":{
          "shape":"EventType",
          "documentation":"<p>The type of event triggering a device notification to the customer-managed destination.</p>"
        }
      }
    },
    "CreateOtaTaskConfigurationRequest":{
      "type":"structure",
      "members":{
        "Description":{
          "shape":"OtaDescription",
          "documentation":"<p>A description of the over-the-air (OTA) task configuration.</p>"
        },
        "Name":{
          "shape":"OtaTaskConfigurationName",
          "documentation":"<p>The name of the over-the-air (OTA) task.</p>"
        },
        "PushConfig":{
          "shape":"PushConfig",
          "documentation":"<p>Describes the type of configuration used for the over-the-air (OTA) task.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>",
          "idempotencyToken":true
        }
      }
    },
    "CreateOtaTaskConfigurationResponse":{
      "type":"structure",
      "members":{
        "TaskConfigurationId":{
          "shape":"OtaTaskConfigurationId",
          "documentation":"<p>The identifier of the over-the-air (OTA) task configuration.</p>"
        }
      }
    },
    "CreateOtaTaskRequest":{
      "type":"structure",
      "required":[
        "S3Url",
        "OtaType"
      ],
      "members":{
        "Description":{
          "shape":"OtaDescription",
          "documentation":"<p>The description of the over-the-air (OTA) task.</p>"
        },
        "S3Url":{
          "shape":"S3Url",
          "documentation":"<p>The URL to the Amazon S3 bucket where the over-the-air (OTA) task is stored.</p>"
        },
        "Protocol":{
          "shape":"OtaProtocol",
          "documentation":"<p>The connection protocol the over-the-air (OTA) task uses to update the device.</p>"
        },
        "Target":{
          "shape":"Target",
          "documentation":"<p>The device targeted for the over-the-air (OTA) task.</p>"
        },
        "TaskConfigurationId":{
          "shape":"OtaTaskConfigurationId",
          "documentation":"<p>The identifier for the over-the-air (OTA) task configuration.</p>"
        },
        "OtaMechanism":{
          "shape":"OtaMechanism",
          "documentation":"<p>The deployment mechanism for the over-the-air (OTA) task.</p>"
        },
        "OtaType":{
          "shape":"OtaType",
          "documentation":"<p>The frequency type for the over-the-air (OTA) task.</p>"
        },
        "OtaTargetQueryString":{
          "shape":"OtaTargetQueryString",
          "documentation":"<p>The query string to add things to the thing group.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>",
          "idempotencyToken":true
        },
        "OtaSchedulingConfig":{"shape":"OtaTaskSchedulingConfig"},
        "OtaTaskExecutionRetryConfig":{"shape":"OtaTaskExecutionRetryConfig"},
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the over-the-air (OTA) task.</p>"
        }
      }
    },
    "CreateOtaTaskResponse":{
      "type":"structure",
      "members":{
        "TaskId":{
          "shape":"OtaTaskId",
          "documentation":"<p>The identifier of the over-the-air (OTA) task.</p>"
        },
        "TaskArn":{
          "shape":"OtaTaskArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the over-the-air (OTA) task.</p>"
        },
        "Description":{
          "shape":"OtaDescription",
          "documentation":"<p>A description of the over-the-air (OTA) task.</p>"
        }
      }
    },
    "CreateProvisioningProfileRequest":{
      "type":"structure",
      "required":["ProvisioningType"],
      "members":{
        "ProvisioningType":{
          "shape":"ProvisioningType",
          "documentation":"<p>The type of provisioning workflow the device uses for onboarding to IoT managed integrations.</p>"
        },
        "CaCertificate":{
          "shape":"CaCertificate",
          "documentation":"<p>The id of the certificate authority (CA) certificate.</p>"
        },
        "Name":{
          "shape":"ProvisioningProfileName",
          "documentation":"<p>The name of the provisioning template.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>",
          "idempotencyToken":true
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the provisioning profile.</p>"
        }
      }
    },
    "CreateProvisioningProfileResponse":{
      "type":"structure",
      "members":{
        "Arn":{
          "shape":"ProvisioningProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the provisioning template used in the provisioning profile.</p>"
        },
        "Name":{
          "shape":"ProvisioningProfileName",
          "documentation":"<p>The name of the provisioning template.</p>"
        },
        "ProvisioningType":{
          "shape":"ProvisioningType",
          "documentation":"<p>The type of provisioning workflow the device uses for onboarding to IoT managed integrations.</p>"
        },
        "Id":{
          "shape":"ProvisioningProfileId",
          "documentation":"<p>The identifier of the provisioning profile.</p>"
        },
        "ClaimCertificate":{
          "shape":"ClaimCertificate",
          "documentation":"<p>The id of the claim certificate.</p>"
        },
        "ClaimCertificatePrivateKey":{
          "shape":"ClaimCertificatePrivateKey",
          "documentation":"<p>The private key of the claim certificate. This is stored securely on the device for validating the connection endpoint with IoT managed integrations using the public key.</p>"
        }
      }
    },
    "CreatedAt":{"type":"timestamp"},
    "CredentialLockerArn":{
      "type":"string",
      "max":1011,
      "min":32,
      "pattern":"arn:aws:iotmanagedintegrations:[0-9a-zA-Z-]+:[0-9]+:credential-locker/[0-9a-zA-Z]+"
    },
    "CredentialLockerCreatedAt":{"type":"timestamp"},
    "CredentialLockerId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9]*"
    },
    "CredentialLockerListDefinition":{
      "type":"list",
      "member":{"shape":"CredentialLockerSummary"}
    },
    "CredentialLockerName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[A-Za-z0-9-_ ]+",
      "sensitive":true
    },
    "CredentialLockerSummary":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"CredentialLockerId",
          "documentation":"<p>The id of the credential locker.</p>"
        },
        "Arn":{
          "shape":"CredentialLockerArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the credential locker.</p>"
        },
        "Name":{
          "shape":"CredentialLockerName",
          "documentation":"<p>The name of the credential locker.</p>"
        },
        "CreatedAt":{
          "shape":"CredentialLockerCreatedAt",
          "documentation":"<p>The timestampe value of when the credential locker was created at.</p>"
        }
      },
      "documentation":"<p>Structure describing one Credential Locker.</p>"
    },
    "CustomProtocolDetail":{
      "type":"map",
      "key":{"shape":"CustomProtocolDetailKey"},
      "value":{"shape":"CustomProtocolDetailValue"},
      "max":50,
      "min":0
    },
    "CustomProtocolDetailKey":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[a-zA-Z0-9 _.-]+"
    },
    "CustomProtocolDetailValue":{
      "type":"string",
      "max":512,
      "min":1,
      "pattern":"[a-zA-Z0-9 _.{}:\"-]+"
    },
    "DeleteAccountAssociationRequest":{
      "type":"structure",
      "required":["AccountAssociationId"],
      "members":{
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The unique identifier of the account association to be deleted.</p>",
          "location":"uri",
          "locationName":"AccountAssociationId"
        }
      }
    },
    "DeleteCloudConnectorRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"CloudConnectorId",
          "documentation":"<p>The identifier of the cloud connector.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "DeleteConnectorDestinationRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The identifier of the connector destination.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "DeleteCredentialLockerRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"CredentialLockerId",
          "documentation":"<p>The identifier of the credential locker.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "DeleteDestinationRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DestinationName",
          "documentation":"<p>The id of the customer-managed destination.</p>",
          "location":"uri",
          "locationName":"Name"
        }
      }
    },
    "DeleteEventLogConfigurationRequest":{
      "type":"structure",
      "required":["Id"],
      "members":{
        "Id":{
          "shape":"LogConfigurationId",
          "documentation":"<p>The identifier of the event log configuration.</p>",
          "location":"uri",
          "locationName":"Id"
        }
      }
    },
    "DeleteLocalStoreAfterUpload":{
      "type":"boolean",
      "box":true
    },
    "DeleteManagedThingRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the managed thing.</p>",
          "location":"uri",
          "locationName":"Identifier"
        },
        "Force":{
          "shape":"Boolean",
          "documentation":"<p>When set to <code>TRUE</code>, a forceful deteletion of the managed thing will occur. When set to <code>FALSE</code>, a non-forceful deletion of the managed thing will occur.</p>",
          "location":"querystring",
          "locationName":"Force"
        }
      }
    },
    "DeleteNotificationConfigurationRequest":{
      "type":"structure",
      "required":["EventType"],
      "members":{
        "EventType":{
          "shape":"EventType",
          "documentation":"<p>The type of event triggering a device notification to the customer-managed destination.</p>",
          "location":"uri",
          "locationName":"EventType"
        }
      }
    },
    "DeleteOtaTaskConfigurationRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"OtaTaskConfigurationId",
          "documentation":"<p>The identifier of the over-the-air (OTA) task configuration.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "DeleteOtaTaskRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"OtaTaskId",
          "documentation":"<p>The identifier of the over-the-air (OTA) task.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "DeleteProvisioningProfileRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ProvisioningProfileId",
          "documentation":"<p>The name of the provisioning template.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "DeliveryDestinationArn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:aws:[0-9a-zA-Z]+:[0-9a-zA-Z-]+:[0-9]+:[0-9a-zA-Z]+/[0-9a-zA-Z._-]+"
    },
    "DeliveryDestinationRoleArn":{"type":"string"},
    "DeliveryDestinationType":{
      "type":"string",
      "enum":["KINESIS"]
    },
    "DeregisterAccountAssociationRequest":{
      "type":"structure",
      "required":[
        "ManagedThingId",
        "AccountAssociationId"
      ],
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The identifier of the managed thing to be deregistered from the account association.</p>"
        },
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The unique identifier of the account association to be deregistered.</p>"
        }
      },
      "documentation":"<p>Request for deregister a managed thing from account association</p>"
    },
    "DestinationCreatedAt":{"type":"timestamp"},
    "DestinationDescription":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[0-9A-Za-z_\\- ]+"
    },
    "DestinationListDefinition":{
      "type":"list",
      "member":{"shape":"DestinationSummary"}
    },
    "DestinationName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[\\p{L}\\p{N} ._-]+"
    },
    "DestinationSummary":{
      "type":"structure",
      "members":{
        "Description":{
          "shape":"DestinationDescription",
          "documentation":"<p>The description of the customer-managed destination.</p>"
        },
        "DeliveryDestinationArn":{
          "shape":"DeliveryDestinationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the customer-managed destination.</p>"
        },
        "DeliveryDestinationType":{
          "shape":"DeliveryDestinationType",
          "documentation":"<p>The destination type for the customer-managed destination.</p>"
        },
        "Name":{
          "shape":"DestinationName",
          "documentation":"<p>The name of the customer-managed destination.</p>"
        },
        "RoleArn":{
          "shape":"DeliveryDestinationRoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the delivery destination.</p>"
        }
      },
      "documentation":"<p>Structure describing a destination for IoT managed integrations to deliver notifications for a device.</p>"
    },
    "DestinationUpdatedAt":{"type":"timestamp"},
    "Device":{
      "type":"structure",
      "required":[
        "ConnectorDeviceId",
        "CapabilityReport"
      ],
      "members":{
        "ConnectorDeviceId":{
          "shape":"ConnectorDeviceId",
          "documentation":"<p>The device id as defined by the connector.</p> <note> <p>This parameter is used for cloud-to-cloud devices only.</p> </note>"
        },
        "ConnectorDeviceName":{
          "shape":"ConnectorDeviceName",
          "documentation":"<p>The name of the device as defined by the connector.</p>"
        },
        "CapabilityReport":{
          "shape":"MatterCapabilityReport",
          "documentation":"<p>The capability report for the device.</p>"
        },
        "CapabilitySchemas":{
          "shape":"CapabilitySchemas",
          "documentation":"<p>Report of all capabilities supported by the device.</p>"
        },
        "DeviceMetadata":{
          "shape":"DeviceMetadata",
          "documentation":"<p>The metadata attributes for a device.</p>"
        }
      },
      "documentation":"<p>Describe the device using the relevant metadata and supported clusters for device discovery.</p>"
    },
    "DeviceDiscoveryArn":{
      "type":"string",
      "pattern":"arn:aws:iotmanagedintegrations:[0-9a-zA-Z-]+:[0-9]+:device-discovery/[0-9a-zA-Z]+"
    },
    "DeviceDiscoveryId":{
      "type":"string",
      "max":200,
      "min":1,
      "pattern":"[A-Za-z0-9]+"
    },
    "DeviceDiscoveryListDefinition":{
      "type":"list",
      "member":{"shape":"DeviceDiscoverySummary"}
    },
    "DeviceDiscoveryStatus":{
      "type":"string",
      "enum":[
        "RUNNING",
        "SUCCEEDED",
        "FAILED",
        "TIMED_OUT"
      ]
    },
    "DeviceDiscoverySummary":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"DeviceDiscoveryId",
          "documentation":"<p>The unique identifier of the device discovery job.</p>"
        },
        "DiscoveryType":{
          "shape":"DiscoveryType",
          "documentation":"<p>The type of discovery process used to find devices.</p>"
        },
        "Status":{
          "shape":"DeviceDiscoveryStatus",
          "documentation":"<p>The current status of the device discovery job.</p>"
        }
      },
      "documentation":"<p>Structure containing summary information about a device discovery job, including its identifier, type, and status.</p>"
    },
    "DeviceMetadata":{
      "type":"structure",
      "members":{
      },
      "document":true
    },
    "DeviceSpecificKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9=_.,@\\+\\-]+",
      "sensitive":true
    },
    "DeviceType":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"[a-zA-Z0-9=_. ,@\\+\\-/]+"
    },
    "DeviceTypeList":{
      "type":"list",
      "member":{"shape":"DeviceType"}
    },
    "DeviceTypes":{
      "type":"list",
      "member":{"shape":"DeviceType"},
      "max":50,
      "min":0
    },
    "Devices":{
      "type":"list",
      "member":{"shape":"Device"}
    },
    "DisconnectReasonValue":{
      "type":"string",
      "enum":[
        "AUTH_ERROR",
        "CLIENT_INITIATED_DISCONNECT",
        "CLIENT_ERROR",
        "CONNECTION_LOST",
        "DUPLICATE_CLIENTID",
        "FORBIDDEN_ACCESS",
        "MQTT_KEEP_ALIVE_TIMEOUT",
        "SERVER_ERROR",
        "SERVER_INITIATED_DISCONNECT",
        "THROTTLED",
        "WEBSOCKET_TTL_EXPIRATION",
        "CUSTOMAUTH_TTL_EXPIRATION",
        "UNKNOWN",
        "NONE"
      ]
    },
    "DiscoveredAt":{"type":"timestamp"},
    "DiscoveredDeviceListDefinition":{
      "type":"list",
      "member":{"shape":"DiscoveredDeviceSummary"}
    },
    "DiscoveredDeviceSummary":{
      "type":"structure",
      "members":{
        "ConnectorDeviceId":{
          "shape":"ConnectorDeviceId",
          "documentation":"<p>The third-party device identifier as defined by the connector. This identifier must not contain personal identifiable information (PII).</p>"
        },
        "ConnectorDeviceName":{
          "shape":"ConnectorDeviceName",
          "documentation":"<p>The name of the device as defined by the connector or third-party system.</p>"
        },
        "DeviceTypes":{
          "shape":"DeviceTypeList",
          "documentation":"<p>The list of device types or categories that the discovered device belongs to.</p>"
        },
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The identifier of the managed thing created for this discovered device, if one exists.</p>"
        },
        "Modification":{
          "shape":"DiscoveryModification",
          "documentation":"<p>The status of the discovered device, indicating whether it has been added, removed, or modified since the last discovery.</p>"
        },
        "DiscoveredAt":{
          "shape":"DiscoveredAt",
          "documentation":"<p>The timestamp indicating when the device was discovered.</p>"
        },
        "Brand":{
          "shape":"Brand",
          "documentation":"<p>The brand of the discovered device.</p>"
        },
        "Model":{
          "shape":"Model",
          "documentation":"<p>The model of the discovered device.</p>"
        },
        "AuthenticationMaterial":{
          "shape":"AuthMaterialString",
          "documentation":"<p>The authentication material required for connecting to the discovered device, such as credentials or tokens.</p>"
        }
      },
      "documentation":"<p>Structure containing summary information about a device discovered during a device discovery job.</p>"
    },
    "DiscoveryAuthMaterialString":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[0-9A-Za-z_\\-\\+=\\/:; ]+",
      "sensitive":true
    },
    "DiscoveryAuthMaterialType":{
      "type":"string",
      "enum":["ZWAVE_INSTALL_CODE"]
    },
    "DiscoveryFinishedAt":{"type":"timestamp"},
    "DiscoveryModification":{
      "type":"string",
      "enum":[
        "DISCOVERED",
        "UPDATED",
        "NO_CHANGE"
      ]
    },
    "DiscoveryStartedAt":{"type":"timestamp"},
    "DiscoveryType":{
      "type":"string",
      "enum":[
        "ZWAVE",
        "ZIGBEE",
        "CLOUD",
        "CUSTOM"
      ]
    },
    "DisplayName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[A-Za-z0-9-_ ]+"
    },
    "DurationInMinutes":{
      "type":"integer",
      "box":true,
      "max":1430,
      "min":1
    },
    "EncryptionType":{
      "type":"string",
      "enum":[
        "MANAGED_INTEGRATIONS_DEFAULT_ENCRYPTION",
        "CUSTOMER_KEY_ENCRYPTION"
      ]
    },
    "EndTime":{"type":"string"},
    "EndpointAddress":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[A-Za-z0-9._@-]+"
    },
    "EndpointConfig":{
      "type":"structure",
      "members":{
        "lambda":{
          "shape":"LambdaConfig",
          "documentation":"<p>The Lambda function configuration for the endpoint, used when the endpoint communicates through an AWS Lambda function.</p>"
        }
      },
      "documentation":"<p>The configuration details for an endpoint, which defines how to connect to and communicate with external services.</p>"
    },
    "EndpointId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[0-9a-zA-Z]+"
    },
    "EndpointSemanticTag":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[0-9a-zA-Z._-]+"
    },
    "EndpointType":{
      "type":"string",
      "enum":["LAMBDA"]
    },
    "ErrorMessage":{"type":"string"},
    "ErrorResourceId":{"type":"string"},
    "ErrorResourceType":{"type":"string"},
    "EventLogConfigurationListDefinition":{
      "type":"list",
      "member":{"shape":"EventLogConfigurationSummary"}
    },
    "EventLogConfigurationSummary":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"LogConfigurationId",
          "documentation":"<p>The identifier of the event log configuration.</p>"
        },
        "ResourceType":{
          "shape":"SmartHomeResourceType",
          "documentation":"<p>The type of resource for the event log configuration.</p>"
        },
        "ResourceId":{
          "shape":"SmartHomeResourceId",
          "documentation":"<p>The identifier of the resource for the event log configuration.</p>"
        },
        "EventLogLevel":{
          "shape":"LogLevel",
          "documentation":"<p>The logging level for the event log configuration.</p>"
        }
      },
      "documentation":"<p>List of event log configurations.</p>"
    },
    "EventName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[/a-zA-Z0-9\\._ ]+"
    },
    "EventType":{
      "type":"string",
      "enum":[
        "DEVICE_COMMAND",
        "DEVICE_COMMAND_REQUEST",
        "DEVICE_DISCOVERY_STATUS",
        "DEVICE_EVENT",
        "DEVICE_LIFE_CYCLE",
        "DEVICE_STATE",
        "DEVICE_OTA",
        "CONNECTOR_ASSOCIATION",
        "ACCOUNT_ASSOCIATION",
        "CONNECTOR_ERROR_REPORT"
      ]
    },
    "ExecutionNumber":{
      "type":"long",
      "box":true
    },
    "ExponentialRolloutRate":{
      "type":"structure",
      "members":{
        "BaseRatePerMinute":{
          "shape":"BaseRatePerMinute",
          "documentation":"<p>The base rate per minute for the rollout of an over-the-air (OTA) task.</p>"
        },
        "IncrementFactor":{
          "shape":"IncrementFactor",
          "documentation":"<p>The incremental factor for increasing the rollout rate of an over-the-air (OTA) task.</p>"
        },
        "RateIncreaseCriteria":{
          "shape":"RolloutRateIncreaseCriteria",
          "documentation":"<p>The criteria for increasing the rollout rate of an over-the-air (OTA) task.</p>"
        }
      },
      "documentation":"<p>Structure representing exponential rate of rollout for an over-the-air (OTA) task.</p>"
    },
    "ExtrinsicSchemaId":{
      "type":"string",
      "max":10,
      "min":1,
      "pattern":"0[xX][0-9a-fA-F]+$|^[0-9]+"
    },
    "GetAccountAssociationRequest":{
      "type":"structure",
      "required":["AccountAssociationId"],
      "members":{
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The unique identifier of the account association to retrieve.</p>",
          "location":"uri",
          "locationName":"AccountAssociationId"
        }
      }
    },
    "GetAccountAssociationResponse":{
      "type":"structure",
      "required":[
        "AccountAssociationId",
        "AssociationState",
        "OAuthAuthorizationUrl"
      ],
      "members":{
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The unique identifier of the retrieved account association.</p>"
        },
        "AssociationState":{
          "shape":"AssociationState",
          "documentation":"<p>The current status state for the account association.</p>"
        },
        "ErrorMessage":{
          "shape":"AccountAssociationErrorMessage",
          "documentation":"<p>The error message explaining the current account association error.</p>"
        },
        "ConnectorDestinationId":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The identifier of the connector destination associated with this account association.</p>"
        },
        "Name":{
          "shape":"AccountAssociationName",
          "documentation":"<p>The name of the account association.</p>"
        },
        "Description":{
          "shape":"AccountAssociationDescription",
          "documentation":"<p>The description of the account association.</p>"
        },
        "Arn":{
          "shape":"AccountAssociationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the account association.</p>"
        },
        "OAuthAuthorizationUrl":{
          "shape":"OAuthAuthorizationUrl",
          "documentation":"<p>Third party IoT platform OAuth authorization server URL backed with all the required parameters to perform end-user authentication.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the account association.</p>"
        }
      }
    },
    "GetCloudConnectorRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"CloudConnectorId",
          "documentation":"<p>The identifier of the C2C connector.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "GetCloudConnectorResponse":{
      "type":"structure",
      "required":[
        "Name",
        "EndpointConfig"
      ],
      "members":{
        "Name":{
          "shape":"DisplayName",
          "documentation":"<p>The display name of the C2C connector.</p>"
        },
        "EndpointConfig":{
          "shape":"EndpointConfig",
          "documentation":"<p>The configuration details for the cloud connector endpoint, including connection parameters and authentication requirements.</p>"
        },
        "Description":{
          "shape":"CloudConnectorDescription",
          "documentation":"<p>A description of the C2C connector.</p>"
        },
        "EndpointType":{
          "shape":"EndpointType",
          "documentation":"<p>The type of endpoint used for the cloud connector, which defines how the connector communicates with external services.</p>"
        },
        "Id":{
          "shape":"CloudConnectorId",
          "documentation":"<p>The unique identifier of the cloud connector.</p>"
        },
        "Type":{
          "shape":"CloudConnectorType",
          "documentation":"<p>The type of cloud connector created.</p>"
        }
      }
    },
    "GetConnectorDestinationRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The identifier of the C2C connector destination.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "GetConnectorDestinationResponse":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"ConnectorDestinationName",
          "documentation":"<p>The display name of the connector destination.</p>"
        },
        "Description":{
          "shape":"ConnectorDestinationDescription",
          "documentation":"<p>A description of the connector destination.</p>"
        },
        "CloudConnectorId":{
          "shape":"CloudConnectorId",
          "documentation":"<p>The identifier of the C2C connector.</p>"
        },
        "Id":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The unique identifier of the connector destination.</p>"
        },
        "AuthType":{
          "shape":"AuthType",
          "documentation":"<p>The authentication type used for the connector destination, which determines how credentials and access are managed.</p>"
        },
        "AuthConfig":{
          "shape":"AuthConfig",
          "documentation":"<p>The authentication configuration details for the connector destination, including OAuth settings and other authentication parameters.</p>"
        },
        "SecretsManager":{
          "shape":"SecretsManager",
          "documentation":"<p>The AWS Secrets Manager configuration used to securely store and manage sensitive information for the connector destination.</p>"
        },
        "OAuthCompleteRedirectUrl":{
          "shape":"OAuthCompleteRedirectUrl",
          "documentation":"<p>The URL where users are redirected after completing the OAuth authorization process for the connector destination.</p>"
        }
      }
    },
    "GetCredentialLockerRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"CredentialLockerId",
          "documentation":"<p>The identifier of the credential locker.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "GetCredentialLockerResponse":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"CredentialLockerId",
          "documentation":"<p>The identifier of the credential locker.</p>"
        },
        "Arn":{
          "shape":"CredentialLockerArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the credential locker.</p>"
        },
        "Name":{
          "shape":"CredentialLockerName",
          "documentation":"<p>The name of the credential locker.</p>"
        },
        "CreatedAt":{
          "shape":"CredentialLockerCreatedAt",
          "documentation":"<p>The timestamp value of when the credential locker requset occurred.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the credential locker.</p>"
        }
      }
    },
    "GetCustomEndpointRequest":{
      "type":"structure",
      "members":{
      }
    },
    "GetCustomEndpointResponse":{
      "type":"structure",
      "required":["EndpointAddress"],
      "members":{
        "EndpointAddress":{
          "shape":"EndpointAddress",
          "documentation":"<p>The IoT managed integrations dedicated, custom endpoint for the device to route traffic through.</p>"
        }
      }
    },
    "GetDefaultEncryptionConfigurationRequest":{
      "type":"structure",
      "members":{
      }
    },
    "GetDefaultEncryptionConfigurationResponse":{
      "type":"structure",
      "required":[
        "configurationStatus",
        "encryptionType"
      ],
      "members":{
        "configurationStatus":{
          "shape":"ConfigurationStatus",
          "documentation":"<p>Provides the status of the default encryption configuration for an Amazon Web Services account.</p>"
        },
        "encryptionType":{
          "shape":"EncryptionType",
          "documentation":"<p>The type of encryption used for the encryption configuration.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The Key Amazon Resource Name (ARN) of the AWS KMS key used for KMS encryption if you use <code>KMS_BASED_ENCRYPTION</code>.</p>"
        }
      }
    },
    "GetDestinationRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DestinationName",
          "documentation":"<p>The name of the customer-managed destination.</p>",
          "location":"uri",
          "locationName":"Name"
        }
      }
    },
    "GetDestinationResponse":{
      "type":"structure",
      "members":{
        "Description":{
          "shape":"DestinationDescription",
          "documentation":"<p>The description of the customer-managed destination.</p>"
        },
        "DeliveryDestinationArn":{
          "shape":"DeliveryDestinationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the customer-managed destination.</p>"
        },
        "DeliveryDestinationType":{
          "shape":"DeliveryDestinationType",
          "documentation":"<p>The destination type for the customer-managed destination.</p>"
        },
        "Name":{
          "shape":"DestinationName",
          "documentation":"<p>The name of the customer-managed destination.</p>"
        },
        "RoleArn":{
          "shape":"DeliveryDestinationRoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the delivery destination role.</p>"
        },
        "CreatedAt":{
          "shape":"DestinationCreatedAt",
          "documentation":"<p>The timestamp value of when the destination creation requset occurred.</p>"
        },
        "UpdatedAt":{
          "shape":"DestinationUpdatedAt",
          "documentation":"<p>The timestamp value of when the destination update requset occurred.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the customer-managed destination.</p>",
          "deprecated":true,
          "deprecatedMessage":"Tags has been deprecated from this api",
          "deprecatedSince":"06-25-2025"
        }
      }
    },
    "GetDeviceDiscoveryRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"DeviceDiscoveryId",
          "documentation":"<p>The id of the device discovery job request.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "GetDeviceDiscoveryResponse":{
      "type":"structure",
      "required":[
        "Id",
        "Arn",
        "DiscoveryType",
        "Status",
        "StartedAt"
      ],
      "members":{
        "Id":{
          "shape":"DeviceDiscoveryId",
          "documentation":"<p>The id of the device discovery job request.</p>"
        },
        "Arn":{
          "shape":"DeviceDiscoveryArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the device discovery job request.</p>"
        },
        "DiscoveryType":{
          "shape":"DiscoveryType",
          "documentation":"<p>The discovery type supporting the type of device to be discovered in the device discovery job request.</p>"
        },
        "Status":{
          "shape":"DeviceDiscoveryStatus",
          "documentation":"<p>The status of the device discovery job request.</p>"
        },
        "StartedAt":{
          "shape":"DiscoveryStartedAt",
          "documentation":"<p>The timestamp value for the start time of the device discovery.</p>"
        },
        "ControllerId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the end-user's IoT hub.</p>"
        },
        "ConnectorAssociationId":{
          "shape":"ConnectorAssociationId",
          "documentation":"<p>The ID tracking the current discovery process for one connector association.</p>",
          "deprecated":true,
          "deprecatedMessage":"ConnectorAssociationId has been deprecated",
          "deprecatedSince":"2025-06-25"
        },
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The identifier of the account association used for the device discovery.</p>"
        },
        "FinishedAt":{
          "shape":"DiscoveryFinishedAt",
          "documentation":"<p>The timestamp value for the completion time of the device discovery.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the device discovery request.</p>",
          "deprecated":true,
          "deprecatedMessage":"Tags have been deprecated from this api",
          "deprecatedSince":"06-25-2025"
        }
      }
    },
    "GetEventLogConfigurationRequest":{
      "type":"structure",
      "required":["Id"],
      "members":{
        "Id":{
          "shape":"LogConfigurationId",
          "documentation":"<p>The identifier of the event log configuration.</p>",
          "location":"uri",
          "locationName":"Id"
        }
      }
    },
    "GetEventLogConfigurationResponse":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"LogConfigurationId",
          "documentation":"<p>The identifier of the event log configuration.</p>"
        },
        "ResourceType":{
          "shape":"SmartHomeResourceType",
          "documentation":"<p>The type of resource for the event log configuration.</p>"
        },
        "ResourceId":{
          "shape":"SmartHomeResourceId",
          "documentation":"<p>The identifier of the resource for the event log configuration.</p>"
        },
        "EventLogLevel":{
          "shape":"LogLevel",
          "documentation":"<p>The logging level for the event log configuration.</p>"
        }
      }
    },
    "GetHubConfigurationRequest":{
      "type":"structure",
      "members":{
      }
    },
    "GetHubConfigurationResponse":{
      "type":"structure",
      "members":{
        "HubTokenTimerExpirySettingInSeconds":{
          "shape":"HubTokenTimerExpirySettingInSeconds",
          "documentation":"<p>A user-defined integer value that represents the hub token timer expiry setting in seconds.</p>"
        },
        "UpdatedAt":{
          "shape":"HubConfigurationUpdatedAt",
          "documentation":"<p>The timestamp value of when the hub configuration was updated.</p>"
        }
      }
    },
    "GetManagedThingCapabilitiesRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the device.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "GetManagedThingCapabilitiesResponse":{
      "type":"structure",
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the device.</p>"
        },
        "Capabilities":{
          "shape":"Capabilities",
          "documentation":"<p>The capabilities of the device such as light bulb.</p>"
        },
        "CapabilityReport":{
          "shape":"CapabilityReport",
          "documentation":"<p>A report of the capabilities for the managed thing.</p>"
        }
      }
    },
    "GetManagedThingConnectivityDataRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ManagedThingId",
          "documentation":"<p>The identifier of a managed thing.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "GetManagedThingConnectivityDataResponse":{
      "type":"structure",
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of a managed thing.</p>"
        },
        "Connected":{
          "shape":"ConnectivityStatus",
          "documentation":"<p>The connectivity status for a managed thing.</p>"
        },
        "Timestamp":{
          "shape":"ConnectivityTimestamp",
          "documentation":"<p>The timestamp value of when the connectivity status for a managed thing was last taken.</p>"
        },
        "DisconnectReason":{
          "shape":"DisconnectReasonValue",
          "documentation":"<p>The reason for the connectivity disconnect with the managed thing.</p>"
        }
      }
    },
    "GetManagedThingMetaDataRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ManagedThingId",
          "documentation":"<p>The managed thing id.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "GetManagedThingMetaDataResponse":{
      "type":"structure",
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The managed thing id.</p>"
        },
        "MetaData":{
          "shape":"MetaData",
          "documentation":"<p>The metadata for the managed thing.</p>"
        }
      }
    },
    "GetManagedThingRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the managed thing.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "GetManagedThingResponse":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the managed thing.</p>"
        },
        "Arn":{
          "shape":"ManagedThingArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the managed thing.</p>"
        },
        "Owner":{
          "shape":"Owner",
          "documentation":"<p>Owner of the device, usually an indication of whom the device belongs to. This value should not contain personal identifiable information.</p>"
        },
        "CredentialLockerId":{
          "shape":"CredentialLockerId",
          "documentation":"<p>The identifier of the credential locker for the managed thing.</p>"
        },
        "AdvertisedProductId":{
          "shape":"AdvertisedProductId",
          "documentation":"<p>The id of the advertised product.</p>"
        },
        "Role":{
          "shape":"Role",
          "documentation":"<p>The type of device used. This will be the Amazon Web Services hub controller, cloud device, or IoT device.</p>"
        },
        "ProvisioningStatus":{
          "shape":"ProvisioningStatus",
          "documentation":"<p>The provisioning status of the device in the provisioning workflow for onboarding to IoT managed integrations.</p>"
        },
        "Name":{
          "shape":"Name",
          "documentation":"<p>The name of the managed thing representing the physical device.</p>"
        },
        "Model":{
          "shape":"Model",
          "documentation":"<p>The model of the device.</p>"
        },
        "Brand":{
          "shape":"Brand",
          "documentation":"<p>The brand of the device.</p>"
        },
        "SerialNumber":{
          "shape":"SerialNumber",
          "documentation":"<p>The serial number of the device.</p>"
        },
        "UniversalProductCode":{
          "shape":"UniversalProductCode",
          "documentation":"<p>The universal product code (UPC) of the device model. The UPC is typically used in the United States of America and Canada.</p>"
        },
        "InternationalArticleNumber":{
          "shape":"InternationalArticleNumber",
          "documentation":"<p>The unique 13 digit number that identifies the managed thing.</p>"
        },
        "ConnectorPolicyId":{
          "shape":"ConnectorPolicyId",
          "documentation":"<p>The id of the connector policy.</p> <note> <p>This parameter is used for cloud-to-cloud devices only.</p> </note>",
          "deprecated":true,
          "deprecatedMessage":"ConnectorPolicyId is deprecated",
          "deprecatedSince":"2025-06-25"
        },
        "ConnectorDestinationId":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The identifier of the connector destination associated with this managed thing.</p>"
        },
        "ConnectorDeviceId":{
          "shape":"ConnectorDeviceId",
          "documentation":"<p>The third-party device id as defined by the connector. This device id must not contain personal identifiable information (PII).</p> <note> <p>This parameter is used for cloud-to-cloud devices only.</p> </note>"
        },
        "DeviceSpecificKey":{
          "shape":"DeviceSpecificKey",
          "documentation":"<p>A Zwave device-specific key used during device activation.</p> <note> <p>This parameter is used for Zwave devices only.</p> </note>"
        },
        "MacAddress":{
          "shape":"MacAddress",
          "documentation":"<p>The media access control (MAC) address for the device represented by the managed thing.</p> <note> <p>This parameter is used for Zigbee devices only.</p> </note>"
        },
        "ParentControllerId":{
          "shape":"ParentControllerId",
          "documentation":"<p>Id of the controller device used for the discovery job.</p>"
        },
        "Classification":{
          "shape":"Classification",
          "documentation":"<p>The classification of the managed thing such as light bulb or thermostat.</p>"
        },
        "CreatedAt":{
          "shape":"CreatedAt",
          "documentation":"<p>The timestamp value of when the device creation request occurred.</p>"
        },
        "UpdatedAt":{
          "shape":"UpdatedAt",
          "documentation":"<p>The timestamp value of when the managed thing was last updated at.</p>"
        },
        "ActivatedAt":{
          "shape":"SetupAt",
          "documentation":"<p>The timestampe value of when the device was activated.</p>"
        },
        "HubNetworkMode":{
          "shape":"HubNetworkMode",
          "documentation":"<p>The network mode for the hub-connected device.</p>"
        },
        "MetaData":{
          "shape":"MetaData",
          "documentation":"<p>The metadata for the managed thing.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the managed thing.</p>"
        }
      }
    },
    "GetManagedThingStateRequest":{
      "type":"structure",
      "required":["ManagedThingId"],
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the device.</p>",
          "location":"uri",
          "locationName":"ManagedThingId"
        }
      }
    },
    "GetManagedThingStateResponse":{
      "type":"structure",
      "required":["Endpoints"],
      "members":{
        "Endpoints":{
          "shape":"StateEndpoints",
          "documentation":"<p>The device endpoint.</p>"
        }
      }
    },
    "GetNotificationConfigurationRequest":{
      "type":"structure",
      "required":["EventType"],
      "members":{
        "EventType":{
          "shape":"EventType",
          "documentation":"<p>The type of event triggering a device notification to the customer-managed destination.</p>",
          "location":"uri",
          "locationName":"EventType"
        }
      }
    },
    "GetNotificationConfigurationResponse":{
      "type":"structure",
      "members":{
        "EventType":{
          "shape":"EventType",
          "documentation":"<p>The type of event triggering a device notification to the customer-managed destination.</p>"
        },
        "DestinationName":{
          "shape":"DestinationName",
          "documentation":"<p>The name of the destination for the notification configuration.</p>"
        },
        "CreatedAt":{
          "shape":"NotificationConfigurationCreatedAt",
          "documentation":"<p>The timestamp value of when the notification configuration was created.</p>"
        },
        "UpdatedAt":{
          "shape":"NotificationConfigurationUpdatedAt",
          "documentation":"<p>The timestamp value of when the notification configuration was last updated.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the notification configuration.</p>",
          "deprecated":true,
          "deprecatedMessage":"Tags has been deprecated for this api",
          "deprecatedSince":"06-25-2025"
        }
      }
    },
    "GetOtaTaskConfigurationRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"OtaTaskConfigurationId",
          "documentation":"<p>The over-the-air (OTA) task configuration id.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "GetOtaTaskConfigurationResponse":{
      "type":"structure",
      "members":{
        "TaskConfigurationId":{
          "shape":"OtaTaskConfigurationId",
          "documentation":"<p>The over-the-air (OTA) task configuration id.</p>"
        },
        "Name":{
          "shape":"OtaTaskConfigurationName",
          "documentation":"<p>The name of the over-the-air (OTA) task configuration.</p>"
        },
        "PushConfig":{
          "shape":"PushConfig",
          "documentation":"<p>Describes the type of configuration used for the over-the-air (OTA) task.</p>"
        },
        "Description":{
          "shape":"OtaDescription",
          "documentation":"<p>A description of the over-the-air (OTA) task configuration.</p>"
        },
        "CreatedAt":{
          "shape":"CreatedAt",
          "documentation":"<p>The timestamp value of when the over-the-air (OTA) task configuration was created at.</p>"
        }
      }
    },
    "GetOtaTaskRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"OtaTaskId",
          "documentation":"<p>The over-the-air (OTA) task id.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "GetOtaTaskResponse":{
      "type":"structure",
      "members":{
        "TaskId":{
          "shape":"OtaTaskId",
          "documentation":"<p>The id of the over-the-air (OTA) task.</p>"
        },
        "TaskArn":{
          "shape":"OtaTaskArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the over-the-air (OTA) task</p>"
        },
        "Description":{
          "shape":"OtaDescription",
          "documentation":"<p>The description of the over-the-air (OTA) task.</p>"
        },
        "S3Url":{
          "shape":"S3Url",
          "documentation":"<p>The URL to the Amazon S3 bucket where the over-the-air (OTA) task is stored.</p>"
        },
        "Protocol":{
          "shape":"OtaProtocol",
          "documentation":"<p>The connection protocol the over-the-air (OTA) task uses to update the device.</p>"
        },
        "OtaType":{
          "shape":"OtaType",
          "documentation":"<p>The frequency type for the over-the-air (OTA) task.</p>"
        },
        "OtaTargetQueryString":{
          "shape":"OtaTargetQueryString",
          "documentation":"<p>The query string to add things to the thing group.</p>"
        },
        "OtaMechanism":{
          "shape":"OtaMechanism",
          "documentation":"<p>The deployment mechanism for the over-the-air (OTA) task.</p>"
        },
        "Target":{
          "shape":"Target",
          "documentation":"<p>The device targeted for the over-the-air (OTA) task.</p>"
        },
        "CreatedAt":{
          "shape":"CreatedAt",
          "documentation":"<p>The timestamp value of when the over-the-air (OTA) task was created.</p>"
        },
        "LastUpdatedAt":{
          "shape":"LastUpdatedAt",
          "documentation":"<p>The timestamp value of when the over-the-air (OTA) task was last updated at.</p>"
        },
        "TaskConfigurationId":{
          "shape":"OtaTaskConfigurationId",
          "documentation":"<p>The identifier for the over-the-air (OTA) task configuration.</p>"
        },
        "TaskProcessingDetails":{
          "shape":"TaskProcessingDetails",
          "documentation":"<p>The processing details of all over-the-air (OTA) tasks.</p>"
        },
        "OtaSchedulingConfig":{"shape":"OtaTaskSchedulingConfig"},
        "OtaTaskExecutionRetryConfig":{"shape":"OtaTaskExecutionRetryConfig"},
        "Status":{
          "shape":"OtaStatus",
          "documentation":"<p>The status of the over-the-air (OTA) task.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the over-the-air (OTA) task.</p>"
        }
      }
    },
    "GetProvisioningProfileRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ProvisioningProfileId",
          "documentation":"<p>The provisioning template the device uses for the provisioning process.</p>",
          "location":"uri",
          "locationName":"Identifier"
        }
      }
    },
    "GetProvisioningProfileResponse":{
      "type":"structure",
      "members":{
        "Arn":{
          "shape":"ProvisioningProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the provisioning template used in the provisioning profile.</p>"
        },
        "Name":{
          "shape":"ProvisioningProfileName",
          "documentation":"<p>The name of the provisioning template.</p>"
        },
        "ProvisioningType":{
          "shape":"ProvisioningType",
          "documentation":"<p>The type of provisioning workflow the device uses for onboarding to IoT managed integrations.</p>"
        },
        "Id":{
          "shape":"ProvisioningProfileId",
          "documentation":"<p>The provisioning profile id..</p>"
        },
        "ClaimCertificate":{
          "shape":"ClaimCertificate",
          "documentation":"<p>The id of the claim certificate.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the provisioning profile.</p>"
        }
      }
    },
    "GetRuntimeLogConfigurationRequest":{
      "type":"structure",
      "required":["ManagedThingId"],
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id for a managed thing.</p>",
          "location":"uri",
          "locationName":"ManagedThingId"
        }
      }
    },
    "GetRuntimeLogConfigurationResponse":{
      "type":"structure",
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id for a managed thing.</p>"
        },
        "RuntimeLogConfigurations":{
          "shape":"RuntimeLogConfigurations",
          "documentation":"<p>The runtime log configuration for a managed thing.</p>"
        }
      }
    },
    "GetSchemaVersionRequest":{
      "type":"structure",
      "required":[
        "Type",
        "SchemaVersionedId"
      ],
      "members":{
        "Type":{
          "shape":"SchemaVersionType",
          "documentation":"<p>The type of schema version.</p>",
          "location":"uri",
          "locationName":"Type"
        },
        "SchemaVersionedId":{
          "shape":"SchemaVersionedId",
          "documentation":"<p>Schema id with a version specified. If the version is missing, it defaults to latest version.</p>",
          "location":"uri",
          "locationName":"SchemaVersionedId"
        },
        "Format":{
          "shape":"SchemaVersionFormat",
          "documentation":"<p>The format of the schema version.</p>",
          "location":"querystring",
          "locationName":"Format"
        }
      }
    },
    "GetSchemaVersionResponse":{
      "type":"structure",
      "members":{
        "SchemaId":{
          "shape":"SchemaId",
          "documentation":"<p>The id of the schema version.</p>"
        },
        "Type":{
          "shape":"SchemaVersionType",
          "documentation":"<p>The type of schema version.</p>"
        },
        "Description":{
          "shape":"SchemaVersionDescription",
          "documentation":"<p>The description of the schema version.</p>"
        },
        "Namespace":{
          "shape":"SchemaVersionNamespaceName",
          "documentation":"<p>The name of the schema version.</p>"
        },
        "SemanticVersion":{
          "shape":"SchemaVersionVersion",
          "documentation":"<p>The schema version. If this is left blank, it defaults to the latest version.</p>"
        },
        "Visibility":{
          "shape":"SchemaVersionVisibility",
          "documentation":"<p>The visibility of the schema version.</p>"
        },
        "Schema":{
          "shape":"SchemaVersionSchema",
          "documentation":"<p>The schema of the schema version.</p>"
        }
      }
    },
    "HubConfigurationUpdatedAt":{"type":"timestamp"},
    "HubNetworkMode":{
      "type":"string",
      "enum":[
        "STANDARD",
        "NETWORK_WIDE_EXCLUSION"
      ]
    },
    "HubTokenTimerExpirySettingInSeconds":{
      "type":"long",
      "box":true,
      "min":1
    },
    "InProgressTimeoutInMinutes":{
      "type":"long",
      "box":true,
      "max":10080,
      "min":1
    },
    "IncrementFactor":{
      "type":"double",
      "box":true,
      "max":5,
      "min":1.1
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "InternalFailureException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>An unexpected error has occurred.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "InternalServerException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>Internal error from the service that indicates an unexpected error or that the service is unavailable.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "InternationalArticleNumber":{
      "type":"string",
      "max":13,
      "min":8,
      "pattern":"[0-9]+",
      "sensitive":true
    },
    "InvalidRequestException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The request is not valid.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "IoTManagedIntegrationsResourceARN":{
      "type":"string",
      "max":200,
      "min":1,
      "pattern":"arn:aws:iotmanagedintegrations:[0-9a-zA-Z-]+:[0-9]+:(managed-thing|provisioning-profile|ota-task|credential-locker|account-association)/[0-9a-zA-Z]+"
    },
    "KmsKeyArn":{
      "type":"string",
      "max":200,
      "min":1,
      "pattern":"arn:aws:kms:[0-9a-zA-Z-]+:[0-9]+:key/[0-9a-zA-Z-]+"
    },
    "LambdaArn":{
      "type":"string",
      "pattern":"(arn:aws:lambda:[0-9a-zA-Z-]+:[0-9]+:function:)?([a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?)"
    },
    "LambdaConfig":{
      "type":"structure",
      "required":["arn"],
      "members":{
        "arn":{
          "shape":"LambdaArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Lambda function used as an endpoint.</p>"
        }
      },
      "documentation":"<p>Configuration details for an AWS Lambda function used as an endpoint for a cloud connector.</p>"
    },
    "LastUpdatedAt":{"type":"timestamp"},
    "LimitExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The request exceeds a service limit or quota. Adjust your request parameters and try again.</p>",
      "error":{
        "httpStatusCode":410,
        "senderFault":true
      },
      "exception":true
    },
    "ListAccountAssociationsRequest":{
      "type":"structure",
      "members":{
        "ConnectorDestinationId":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The identifier of the connector destination to filter account associations by.</p>",
          "location":"querystring",
          "locationName":"ConnectorDestinationId"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of account associations to return in a single response.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token used for pagination of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        }
      }
    },
    "ListAccountAssociationsResponse":{
      "type":"structure",
      "members":{
        "Items":{
          "shape":"AccountAssociationListDefinition",
          "documentation":"<p>The list of account associations that match the specified criteria.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token used for pagination of results when there are more account associations than can be returned in a single response.</p>"
        }
      }
    },
    "ListCloudConnectorsRequest":{
      "type":"structure",
      "members":{
        "Type":{
          "shape":"CloudConnectorType",
          "documentation":"<p>The type of cloud connectors to filter by when listing available connectors.</p>",
          "location":"querystring",
          "locationName":"Type"
        },
        "LambdaArn":{
          "shape":"LambdaArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Lambda function to filter cloud connectors by.</p>",
          "location":"querystring",
          "locationName":"LambdaArn"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        }
      }
    },
    "ListCloudConnectorsResponse":{
      "type":"structure",
      "members":{
        "Items":{
          "shape":"ConnectorList",
          "documentation":"<p>The list of connectors.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListConnectorDestinationsRequest":{
      "type":"structure",
      "members":{
        "CloudConnectorId":{
          "shape":"CloudConnectorId",
          "documentation":"<p>The identifier of the cloud connector to filter connector destinations by.</p>",
          "location":"querystring",
          "locationName":"CloudConnectorId"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token used for pagination of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of connector destinations to return in a single response.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListConnectorDestinationsResponse":{
      "type":"structure",
      "members":{
        "ConnectorDestinationList":{
          "shape":"ConnectorDestinationListDefinition",
          "documentation":"<p>The list of connector destinations that match the specified criteria.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token used for pagination of results when there are more connector destinations than can be returned in a single response.</p>"
        }
      }
    },
    "ListCredentialLockersRequest":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListCredentialLockersResponse":{
      "type":"structure",
      "members":{
        "Items":{
          "shape":"CredentialLockerListDefinition",
          "documentation":"<p>The list of credential lockers.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListDestinationsRequest":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListDestinationsResponse":{
      "type":"structure",
      "members":{
        "DestinationList":{
          "shape":"DestinationListDefinition",
          "documentation":"<p>The list of destinations.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListDeviceDiscoveriesRequest":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token used for pagination of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of device discovery jobs to return in a single response.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "TypeFilter":{
          "shape":"DiscoveryType",
          "documentation":"<p>The discovery type to filter device discovery jobs by.</p>",
          "location":"querystring",
          "locationName":"TypeFilter"
        },
        "StatusFilter":{
          "shape":"DeviceDiscoveryStatus",
          "documentation":"<p>The status to filter device discovery jobs by.</p>",
          "location":"querystring",
          "locationName":"StatusFilter"
        }
      }
    },
    "ListDeviceDiscoveriesResponse":{
      "type":"structure",
      "members":{
        "Items":{
          "shape":"DeviceDiscoveryListDefinition",
          "documentation":"<p>The list of device discovery jobs that match the specified criteria.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token used for pagination of results when there are more device discovery jobs than can be returned in a single response.</p>"
        }
      }
    },
    "ListDiscoveredDevicesRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"DeviceDiscoveryId",
          "documentation":"<p>The identifier of the device discovery job to list discovered devices for.</p>",
          "location":"uri",
          "locationName":"Identifier"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token used for pagination of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of discovered devices to return in a single response.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListDiscoveredDevicesResponse":{
      "type":"structure",
      "members":{
        "Items":{
          "shape":"DiscoveredDeviceListDefinition",
          "documentation":"<p>The list of discovered devices that match the specified criteria.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token used for pagination of results when there are more discovered devices than can be returned in a single response.</p>"
        }
      }
    },
    "ListEventLogConfigurationsRequest":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListEventLogConfigurationsResponse":{
      "type":"structure",
      "members":{
        "EventLogConfigurationList":{
          "shape":"EventLogConfigurationListDefinition",
          "documentation":"<p>A list of each event log configuration and pertinent information.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListManagedThingAccountAssociationsRequest":{
      "type":"structure",
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The identifier of the managed thing to list account associations for.</p>",
          "location":"querystring",
          "locationName":"ManagedThingId"
        },
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The identifier of the account association to filter results by. When specified, only associations with this account association ID will be returned.</p>",
          "location":"querystring",
          "locationName":"AccountAssociationId"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of account associations to return in a single response.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token used for pagination of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        }
      }
    },
    "ListManagedThingAccountAssociationsResponse":{
      "type":"structure",
      "members":{
        "Items":{
          "shape":"ManagedThingAssociationList",
          "documentation":"<p>The list of managed thing associations that match the specified criteria, including the managed thing ID and account association ID for each association.</p>"
        },
        "NextToken":{
          "shape":"String",
          "documentation":"<p>A token used for pagination of results when there are more account associations than can be returned in a single response.</p>"
        }
      }
    },
    "ListManagedThingSchemasRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ManagedThingId",
          "documentation":"<p>The managed thing id.</p>",
          "location":"uri",
          "locationName":"Identifier"
        },
        "EndpointIdFilter":{
          "shape":"EndpointId",
          "documentation":"<p>Filter on an endpoint id.</p>",
          "location":"querystring",
          "locationName":"EndpointIdFilter"
        },
        "CapabilityIdFilter":{
          "shape":"CapabilityId",
          "documentation":"<p>Filter on a capability id.</p>",
          "location":"querystring",
          "locationName":"CapabilityIdFilter"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListManagedThingSchemasResponse":{
      "type":"structure",
      "members":{
        "Items":{
          "shape":"ManagedThingSchemaListDefinition",
          "documentation":"<p>The list of managed thing schemas.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListManagedThingsRequest":{
      "type":"structure",
      "members":{
        "OwnerFilter":{
          "shape":"Owner",
          "documentation":"<p>Filter on device owners when listing managed things.</p>",
          "location":"querystring",
          "locationName":"OwnerFilter"
        },
        "CredentialLockerFilter":{
          "shape":"CredentialLockerId",
          "documentation":"<p>Filter on a credential locker for a managed thing.</p>",
          "location":"querystring",
          "locationName":"CredentialLockerFilter"
        },
        "RoleFilter":{
          "shape":"Role",
          "documentation":"<p>Filter on the type of device used. This will be the Amazon Web Services hub controller, cloud device, or IoT device.</p>",
          "location":"querystring",
          "locationName":"RoleFilter"
        },
        "ParentControllerIdentifierFilter":{
          "shape":"ParentControllerId",
          "documentation":"<p>Filter on a parent controller id for a managed thing.</p>",
          "location":"querystring",
          "locationName":"ParentControllerIdentifierFilter"
        },
        "ConnectorPolicyIdFilter":{
          "shape":"ConnectorPolicyId",
          "documentation":"<p>Filter on a connector policy id for a managed thing.</p>",
          "deprecated":true,
          "deprecatedMessage":"ConnectorPolicyIdFilter is deprecated",
          "deprecatedSince":"06-25-2025",
          "location":"querystring",
          "locationName":"ConnectorPolicyIdFilter"
        },
        "ConnectorDestinationIdFilter":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>Filter managed things by the connector destination ID they are associated with.</p>",
          "location":"querystring",
          "locationName":"ConnectorDestinationIdFilter"
        },
        "ConnectorDeviceIdFilter":{
          "shape":"ConnectorDeviceId",
          "documentation":"<p>Filter managed things by the connector device ID they are associated with. When specified, only managed things with this connector device ID will be returned.</p>",
          "location":"querystring",
          "locationName":"ConnectorDeviceIdFilter"
        },
        "SerialNumberFilter":{
          "shape":"SerialNumber",
          "documentation":"<p>Filter on the serial number of the device.</p>",
          "location":"querystring",
          "locationName":"SerialNumberFilter"
        },
        "ProvisioningStatusFilter":{
          "shape":"ProvisioningStatus",
          "documentation":"<p>Filter on the status of the device.</p>",
          "location":"querystring",
          "locationName":"ProvisioningStatusFilter"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListManagedThingsResponse":{
      "type":"structure",
      "members":{
        "Items":{
          "shape":"ManagedThingListDefinition",
          "documentation":"<p>The list of managed things.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListNotificationConfigurationsRequest":{
      "type":"structure",
      "members":{
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        }
      }
    },
    "ListNotificationConfigurationsResponse":{
      "type":"structure",
      "members":{
        "NotificationConfigurationList":{
          "shape":"NotificationConfigurationListDefinition",
          "documentation":"<p>The list of notification configurations.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListOtaTaskConfigurationsRequest":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListOtaTaskConfigurationsResponse":{
      "type":"structure",
      "members":{
        "Items":{
          "shape":"OtaTaskConfigurationListDefinition",
          "documentation":"<p>The list of the over-the-air (OTA) task configurations.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListOtaTaskExecutionsRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"OtaTaskId",
          "documentation":"<p>The over-the-air (OTA) task id.</p>",
          "location":"uri",
          "locationName":"Identifier"
        },
        "NextToken":{
          "shape":"OtaNextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListOtaTaskExecutionsResponse":{
      "type":"structure",
      "members":{
        "ExecutionSummaries":{
          "shape":"OtaTaskExecutionSummariesListDefinition",
          "documentation":"<p>A list of all of the over-the-air (OTA) task executions.</p>"
        },
        "NextToken":{
          "shape":"OtaNextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListOtaTasksRequest":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"OtaNextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListOtaTasksResponse":{
      "type":"structure",
      "members":{
        "Tasks":{
          "shape":"OtaTaskListDefinition",
          "documentation":"<p>A list of all of the over-the-air (OTA) tasks.</p>"
        },
        "NextToken":{
          "shape":"OtaNextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListProvisioningProfilesRequest":{
      "type":"structure",
      "members":{
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        }
      }
    },
    "ListProvisioningProfilesResponse":{
      "type":"structure",
      "members":{
        "Items":{
          "shape":"ProvisioningProfileListDefinition",
          "documentation":"<p>The list of provisioning profiles.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListSchemaVersionsRequest":{
      "type":"structure",
      "required":["Type"],
      "members":{
        "Type":{
          "shape":"SchemaVersionType",
          "documentation":"<p>Filter on the type of schema version.</p>",
          "location":"uri",
          "locationName":"Type"
        },
        "MaxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>",
          "location":"querystring",
          "locationName":"MaxResults"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>",
          "location":"querystring",
          "locationName":"NextToken"
        },
        "SchemaId":{
          "shape":"SchemaId",
          "documentation":"<p>Filter on the id of the schema version.</p>",
          "location":"querystring",
          "locationName":"SchemaIdFilter"
        },
        "Namespace":{
          "shape":"SchemaVersionNamespaceName",
          "documentation":"<p>Filter on the name of the schema version.</p>",
          "location":"querystring",
          "locationName":"NamespaceFilter"
        },
        "Visibility":{
          "shape":"SchemaVersionVisibility",
          "documentation":"<p>The visibility of the schema version.</p>",
          "location":"querystring",
          "locationName":"VisibilityFilter"
        },
        "SemanticVersion":{
          "shape":"SchemaVersionVersion",
          "documentation":"<p>The schema version. If this is left blank, it defaults to the latest version.</p>",
          "location":"querystring",
          "locationName":"SemanticVersionFilter"
        }
      }
    },
    "ListSchemaVersionsResponse":{
      "type":"structure",
      "members":{
        "Items":{
          "shape":"SchemaVersionList",
          "documentation":"<p>The list of schema versions.</p>"
        },
        "NextToken":{
          "shape":"NextToken",
          "documentation":"<p>A token that can be used to retrieve the next set of results.</p>"
        }
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["ResourceArn"],
      "members":{
        "ResourceArn":{
          "shape":"IoTManagedIntegrationsResourceARN",
          "documentation":"<p>The ARN of the resource for which to list tags.</p>",
          "location":"uri",
          "locationName":"ResourceArn"
        }
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the resource.</p>"
        }
      }
    },
    "LocalStoreFileRotationMaxBytes":{
      "type":"integer",
      "box":true
    },
    "LocalStoreFileRotationMaxFiles":{
      "type":"integer",
      "box":true
    },
    "LocalStoreLocation":{"type":"string"},
    "LogConfigurationId":{
      "type":"string",
      "max":200,
      "min":1,
      "pattern":"[A-Za-z0-9]+"
    },
    "LogLevel":{
      "type":"string",
      "enum":[
        "DEBUG",
        "ERROR",
        "INFO",
        "WARN"
      ]
    },
    "MacAddress":{
      "type":"string",
      "max":128,
      "min":1,
      "sensitive":true
    },
    "ManagedThingArn":{
      "type":"string",
      "max":1011,
      "min":32,
      "pattern":"arn:aws:iotmanagedintegrations:[0-9a-zA-Z-]+:[0-9]+:managed-thing/([0-9a-zA-Z:_-])+"
    },
    "ManagedThingAssociation":{
      "type":"structure",
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The identifier of the managed thing in the association.</p>"
        },
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The identifier of the account association in the association.</p>"
        }
      },
      "documentation":"<p>Structure representing an association between a managed thing and an account association, which connects a device to a third-party account.</p>"
    },
    "ManagedThingAssociationList":{
      "type":"list",
      "member":{"shape":"ManagedThingAssociation"}
    },
    "ManagedThingId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9:_-]*"
    },
    "ManagedThingListDefinition":{
      "type":"list",
      "member":{"shape":"ManagedThingSummary"}
    },
    "ManagedThingSchemaListDefinition":{
      "type":"list",
      "member":{"shape":"ManagedThingSchemaListItem"}
    },
    "ManagedThingSchemaListItem":{
      "type":"structure",
      "members":{
        "EndpointId":{
          "shape":"EndpointId",
          "documentation":"<p>The id of the endpoint for a managed thing.</p>"
        },
        "CapabilityId":{
          "shape":"CapabilityId",
          "documentation":"<p>The id of the capability for a managed thing.</p>"
        },
        "Schema":{
          "shape":"ValidationSchema",
          "documentation":"<p>The validation schema for one schema item associated with a managed thing.</p>"
        }
      },
      "documentation":"<p>Structure representing one schema item associated with a managed thing.</p>"
    },
    "ManagedThingSummary":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the device.</p>"
        },
        "Arn":{
          "shape":"ManagedThingArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the managed thing.</p>"
        },
        "AdvertisedProductId":{
          "shape":"AdvertisedProductId",
          "documentation":"<p>The id of the advertised product.</p>"
        },
        "Brand":{
          "shape":"Brand",
          "documentation":"<p>The brand of the device.</p>"
        },
        "Classification":{
          "shape":"Classification",
          "documentation":"<p>The classification of the managed thing such as light bulb or thermostat.</p>"
        },
        "ConnectorDeviceId":{
          "shape":"ConnectorDeviceId",
          "documentation":"<p>The third-party device id as defined by the connector. This device id must not contain personal identifiable information (PII).</p> <note> <p>This parameter is used for cloud-to-cloud devices only.</p> </note>"
        },
        "ConnectorPolicyId":{
          "shape":"ConnectorPolicyId",
          "documentation":"<p>The id of the connector policy.</p> <note> <p>This parameter is used for cloud-to-cloud devices only.</p> </note>",
          "deprecated":true,
          "deprecatedMessage":"ConnectorPolicyId has been deprecated",
          "deprecatedSince":"06-25-2025"
        },
        "ConnectorDestinationId":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The identifier of the connector destination associated with this managed thing, if applicable.</p>"
        },
        "Model":{
          "shape":"Model",
          "documentation":"<p>The model of the device.</p>"
        },
        "Name":{
          "shape":"Name",
          "documentation":"<p>The name of the managed thing representing the physical device.</p>"
        },
        "Owner":{
          "shape":"Owner",
          "documentation":"<p>Owner of the device, usually an indication of whom the device belongs to. This value should not contain personal identifiable information.</p>"
        },
        "CredentialLockerId":{
          "shape":"CredentialLockerId",
          "documentation":"<p>The identifier of the credential locker for the managed thing.</p>"
        },
        "ParentControllerId":{
          "shape":"ParentControllerId",
          "documentation":"<p>Id of the controller device used for the discovery job.</p>"
        },
        "ProvisioningStatus":{
          "shape":"ProvisioningStatus",
          "documentation":"<p>The provisioning status of the device in the provisioning workflow for onboarding to IoT managed integrations.</p>"
        },
        "Role":{
          "shape":"Role",
          "documentation":"<p>The type of device used. This will be the Amazon Web Services hub controller, cloud device, or IoT device.</p>"
        },
        "SerialNumber":{
          "shape":"SerialNumber",
          "documentation":"<p>The serial number of the device.</p>"
        },
        "CreatedAt":{
          "shape":"CreatedAt",
          "documentation":"<p>The timestamp value of when the device creation request occurred.</p>"
        },
        "UpdatedAt":{
          "shape":"CreatedAt",
          "documentation":"<p>The timestamp value of when the managed thing was last updated at.</p>"
        },
        "ActivatedAt":{
          "shape":"SetupAt",
          "documentation":"<p>The timestampe value of when the managed thing was activated at.</p>"
        }
      },
      "documentation":"<p>Structure representing one managed thing.</p>"
    },
    "MatterAttributeId":{
      "type":"string",
      "max":24,
      "min":1,
      "pattern":"0[xX][0-9a-fA-F]+$|^[0-9]+"
    },
    "MatterAttributes":{
      "type":"structure",
      "members":{
      },
      "document":true,
      "sensitive":true
    },
    "MatterCapabilityReport":{
      "type":"structure",
      "required":[
        "version",
        "endpoints"
      ],
      "members":{
        "version":{
          "shape":"CapabilityReportVersion",
          "documentation":"<p>The version of the capability report.</p>"
        },
        "nodeId":{
          "shape":"NodeId",
          "documentation":"<p>The numeric identifier of the node.</p>"
        },
        "endpoints":{
          "shape":"MatterCapabilityReportEndpoints",
          "documentation":"<p>The endpoints used in the capability report.</p>"
        }
      },
      "documentation":"<p>Matter based capability report.</p>"
    },
    "MatterCapabilityReportAttribute":{
      "type":"structure",
      "members":{
        "id":{
          "shape":"MatterAttributeId",
          "documentation":"<p>The id of the Matter attribute.</p>"
        },
        "name":{
          "shape":"ActionName",
          "documentation":"<p>Name for the Amazon Web Services Matter capability report attribute.</p>"
        },
        "value":{
          "shape":"MatterCapabilityReportAttributeValue",
          "documentation":"<p>Value for the Amazon Web Services Matter capability report attribute.</p>"
        }
      },
      "documentation":"<p>Matter attribute used in capability report.</p>"
    },
    "MatterCapabilityReportAttributeValue":{
      "type":"structure",
      "members":{
      },
      "document":true
    },
    "MatterCapabilityReportAttributes":{
      "type":"list",
      "member":{"shape":"MatterCapabilityReportAttribute"},
      "max":100,
      "min":0
    },
    "MatterCapabilityReportCluster":{
      "type":"structure",
      "required":[
        "id",
        "revision"
      ],
      "members":{
        "id":{
          "shape":"ClusterId",
          "documentation":"<p>The id of the Amazon Web Services Matter capability report cluster.</p>"
        },
        "revision":{
          "shape":"MatterCapabilityReportClusterRevisionId",
          "documentation":"<p>The id of the revision for the Amazon Web Services Matter capability report.</p>"
        },
        "publicId":{
          "shape":"SchemaVersionedId",
          "documentation":"<p>The id of the schema version.</p>"
        },
        "name":{
          "shape":"CapabilityName",
          "documentation":"<p>The capability name used in the Amazon Web Services Matter capability report.</p>"
        },
        "specVersion":{
          "shape":"SpecVersion",
          "documentation":"<p>The spec version used in the Amazon Web Services Matter capability report.</p>"
        },
        "attributes":{
          "shape":"MatterCapabilityReportAttributes",
          "documentation":"<p>The attributes of the Amazon Web Services Matter capability report.</p>"
        },
        "commands":{
          "shape":"MatterCapabilityReportCommands",
          "documentation":"<p>The commands used with the Amazon Web Services Matter capability report.</p>"
        },
        "events":{
          "shape":"MatterCapabilityReportEvents",
          "documentation":"<p>The events used with the Amazon Web Services Matter capability report.</p>"
        },
        "featureMap":{
          "shape":"MatterCapabilityReportFeatureMap",
          "documentation":"<p>32 bit-map used to indicate which features a cluster supports.</p>"
        },
        "generatedCommands":{
          "shape":"MatterCapabilityReportGeneratedCommands",
          "documentation":"<p>Matter clusters used in capability report.</p>"
        },
        "fabricIndex":{
          "shape":"MatterCapabilityReportFabricIndex",
          "documentation":"<p>The fabric index for the Amazon Web Services Matter capability report.</p>"
        }
      },
      "documentation":"<p>Capability used in Matter capability report.</p>"
    },
    "MatterCapabilityReportClusterRevisionId":{
      "type":"integer",
      "box":true,
      "max":10,
      "min":1
    },
    "MatterCapabilityReportClusters":{
      "type":"list",
      "member":{"shape":"MatterCapabilityReportCluster"},
      "max":50,
      "min":0
    },
    "MatterCapabilityReportCommands":{
      "type":"list",
      "member":{"shape":"MatterCommandId"},
      "max":100,
      "min":0
    },
    "MatterCapabilityReportEndpoint":{
      "type":"structure",
      "required":[
        "id",
        "deviceTypes",
        "clusters"
      ],
      "members":{
        "id":{
          "shape":"EndpointId",
          "documentation":"<p>The id of the Amazon Web Services Matter capability report endpoint.</p>"
        },
        "deviceTypes":{
          "shape":"DeviceTypes",
          "documentation":"<p>The type of device.</p>"
        },
        "clusters":{
          "shape":"MatterCapabilityReportClusters",
          "documentation":"<p>Matter clusters used in capability report.</p>"
        },
        "parts":{
          "shape":"MatterCapabilityReportEndpointParts",
          "documentation":"<p>Heirachy of child endpoints contained in the given endpoint.</p>"
        },
        "semanticTags":{
          "shape":"MatterCapabilityReportEndpointSemanticTags",
          "documentation":"<p>Semantic information related to endpoint.</p>"
        },
        "clientClusters":{
          "shape":"MatterCapabilityReportEndpointClientClusters",
          "documentation":"<p>Semantic information related to endpoint.</p>"
        }
      },
      "documentation":"<p>Matter endpoint used in capability report.</p>"
    },
    "MatterCapabilityReportEndpointClientClusters":{
      "type":"list",
      "member":{"shape":"ClusterId"},
      "max":32,
      "min":0
    },
    "MatterCapabilityReportEndpointParts":{
      "type":"list",
      "member":{"shape":"EndpointId"},
      "max":32,
      "min":0
    },
    "MatterCapabilityReportEndpointSemanticTags":{
      "type":"list",
      "member":{"shape":"EndpointSemanticTag"},
      "max":32,
      "min":0
    },
    "MatterCapabilityReportEndpoints":{
      "type":"list",
      "member":{"shape":"MatterCapabilityReportEndpoint"},
      "max":50,
      "min":0
    },
    "MatterCapabilityReportEvents":{
      "type":"list",
      "member":{"shape":"MatterEventId"},
      "max":100,
      "min":0
    },
    "MatterCapabilityReportFabricIndex":{
      "type":"integer",
      "box":true,
      "max":4096,
      "min":0
    },
    "MatterCapabilityReportFeatureMap":{
      "type":"long",
      "box":true,
      "max":4294967295,
      "min":0
    },
    "MatterCapabilityReportGeneratedCommands":{
      "type":"list",
      "member":{"shape":"MatterCommandId"},
      "max":50,
      "min":0
    },
    "MatterCluster":{
      "type":"structure",
      "members":{
        "id":{
          "shape":"ClusterId",
          "documentation":"<p>The cluster id.</p>"
        },
        "attributes":{
          "shape":"MatterAttributes",
          "documentation":"<p>The Matter attributes.</p>"
        },
        "commands":{
          "shape":"MatterCommands",
          "documentation":"<p>Describe the Matter commands with the Matter command identifier mapped to the command fields.</p>"
        },
        "events":{
          "shape":"MatterEvents",
          "documentation":"<p>Describe the Matter events with the Matter event identifier mapped to the event fields.</p>"
        }
      },
      "documentation":"<p>Describe a Matter cluster with an id, and the relevant attributes, commands, and events.</p>"
    },
    "MatterClusters":{
      "type":"list",
      "member":{"shape":"MatterCluster"},
      "max":5,
      "min":1
    },
    "MatterCommandId":{
      "type":"string",
      "max":24,
      "min":1,
      "pattern":"0[xX][0-9a-fA-F]+$|^[0-9]+"
    },
    "MatterCommands":{
      "type":"map",
      "key":{"shape":"MatterCommandId"},
      "value":{"shape":"MatterFields"},
      "max":5,
      "min":1
    },
    "MatterEndpoint":{
      "type":"structure",
      "members":{
        "id":{
          "shape":"EndpointId",
          "documentation":"<p>The Matter endpoint id.</p>"
        },
        "clusters":{
          "shape":"MatterClusters",
          "documentation":"<p>A list of Matter clusters for a managed thing.</p>"
        }
      },
      "documentation":"<p>Structure describing a managed thing.</p>"
    },
    "MatterEventId":{
      "type":"string",
      "max":24,
      "min":1,
      "pattern":"0[xX][0-9a-fA-F]+$|^[0-9]+"
    },
    "MatterEvents":{
      "type":"map",
      "key":{"shape":"MatterEventId"},
      "value":{"shape":"MatterFields"},
      "max":5,
      "min":1
    },
    "MatterFields":{
      "type":"structure",
      "members":{
      },
      "document":true,
      "sensitive":true
    },
    "MaxResults":{
      "type":"integer",
      "box":true,
      "max":1000,
      "min":1
    },
    "MaximumPerMinute":{
      "type":"integer",
      "box":true,
      "min":1
    },
    "MetaData":{
      "type":"map",
      "key":{"shape":"AttributeName"},
      "value":{"shape":"AttributeValue"},
      "max":50,
      "min":1
    },
    "MinNumberOfExecutedThings":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "MinNumberOfRetries":{
      "type":"integer",
      "box":true,
      "max":10,
      "min":0
    },
    "Model":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[A-Za-z0-9-_ ]+",
      "sensitive":true
    },
    "Name":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[\\p{L}\\p{N} ._-]+"
    },
    "NextToken":{
      "type":"string",
      "max":65535,
      "min":1,
      "pattern":"[a-zA-Z0-9=_-]+"
    },
    "NodeId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9=_.,@\\+\\-/]+"
    },
    "NotificationConfigurationCreatedAt":{"type":"timestamp"},
    "NotificationConfigurationListDefinition":{
      "type":"list",
      "member":{"shape":"NotificationConfigurationSummary"}
    },
    "NotificationConfigurationSummary":{
      "type":"structure",
      "members":{
        "EventType":{
          "shape":"EventType",
          "documentation":"<p>The type of event triggering a device notification to the customer-managed destination.</p>"
        },
        "DestinationName":{
          "shape":"DestinationName",
          "documentation":"<p>The name of the destination for the notification configuration.</p>"
        }
      },
      "documentation":"<p>Structure describing a notification configuration.</p>"
    },
    "NotificationConfigurationUpdatedAt":{"type":"timestamp"},
    "NumberOfNotifiedThings":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "NumberOfSucceededThings":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "OAuthAuthorizationUrl":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"(https)://.*",
      "sensitive":true
    },
    "OAuthCompleteRedirectUrl":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"(http|https)://.*"
    },
    "OAuthConfig":{
      "type":"structure",
      "required":[
        "authUrl",
        "tokenUrl",
        "tokenEndpointAuthenticationScheme"
      ],
      "members":{
        "authUrl":{
          "shape":"AuthUrl",
          "documentation":"<p>The authorization URL for the OAuth service, where users are directed to authenticate and authorize access.</p>"
        },
        "tokenUrl":{
          "shape":"TokenUrl",
          "documentation":"<p>The token URL for the OAuth service, where authorization codes are exchanged for access tokens.</p>"
        },
        "scope":{
          "shape":"String",
          "documentation":"<p>The OAuth scopes requested during authorization, which define the permissions granted to the application.</p>"
        },
        "tokenEndpointAuthenticationScheme":{
          "shape":"TokenEndpointAuthenticationScheme",
          "documentation":"<p>The authentication scheme used when requesting tokens from the token endpoint.</p>"
        },
        "oAuthCompleteRedirectUrl":{
          "shape":"String",
          "documentation":"<p>The URL where users are redirected after completing the OAuth authorization process.</p>"
        },
        "proactiveRefreshTokenRenewal":{
          "shape":"ProactiveRefreshTokenRenewal",
          "documentation":"<p>Configuration for proactively refreshing OAuth tokens before they expire.</p>"
        }
      },
      "documentation":"<p>Configuration details for OAuth authentication with a third-party service.</p>"
    },
    "OAuthUpdate":{
      "type":"structure",
      "members":{
        "oAuthCompleteRedirectUrl":{
          "shape":"String",
          "documentation":"<p>The updated URL where users are redirected after completing the OAuth authorization process.</p>"
        },
        "proactiveRefreshTokenRenewal":{
          "shape":"ProactiveRefreshTokenRenewal",
          "documentation":"<p>Updated configuration for proactively refreshing OAuth tokens before they expire.</p>"
        }
      },
      "documentation":"<p>Structure containing updated OAuth configuration settings.</p>"
    },
    "OtaDescription":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[0-9A-Za-z_\\- ]+"
    },
    "OtaMechanism":{
      "type":"string",
      "enum":["PUSH"]
    },
    "OtaNextToken":{
      "type":"string",
      "max":65535,
      "min":1,
      "pattern":"[a-zA-Z0-9=_+/-]+"
    },
    "OtaProtocol":{
      "type":"string",
      "enum":["HTTP"]
    },
    "OtaStatus":{
      "type":"string",
      "enum":[
        "IN_PROGRESS",
        "CANCELED",
        "COMPLETED",
        "DELETION_IN_PROGRESS",
        "SCHEDULED"
      ]
    },
    "OtaTargetQueryString":{"type":"string"},
    "OtaTaskAbortConfig":{
      "type":"structure",
      "members":{
        "AbortConfigCriteriaList":{
          "shape":"AbortConfigCriteriaList",
          "documentation":"<p>The list of criteria for the abort config.</p>"
        }
      },
      "documentation":"<p>Over-the-air (OTA) task abort config.</p>"
    },
    "OtaTaskArn":{
      "type":"string",
      "max":1011,
      "min":32,
      "pattern":"arn:aws:iotmanagedintegrations:[0-9a-zA-Z-]+:[0-9]+:ota-task/[0-9a-zA-Z]+"
    },
    "OtaTaskConfigurationId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9]*"
    },
    "OtaTaskConfigurationListDefinition":{
      "type":"list",
      "member":{"shape":"OtaTaskConfigurationSummary"}
    },
    "OtaTaskConfigurationName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[A-Za-z0-9-_ ]+",
      "sensitive":true
    },
    "OtaTaskConfigurationSummary":{
      "type":"structure",
      "members":{
        "TaskConfigurationId":{
          "shape":"OtaTaskConfigurationId",
          "documentation":"<p>The id of the over-the-air (OTA) task configuration</p>"
        },
        "Name":{
          "shape":"OtaTaskConfigurationName",
          "documentation":"<p>The name of the over-the-air (OTA) task configuration.</p>"
        },
        "CreatedAt":{
          "shape":"CreatedAt",
          "documentation":"<p>The timestamp value of when the over-the-air (OTA) task configuration was created at.</p>"
        }
      },
      "documentation":"<p>Structure representing one over-the-air (OTA) task configuration.</p>"
    },
    "OtaTaskExecutionRetryConfig":{
      "type":"structure",
      "members":{
        "RetryConfigCriteria":{
          "shape":"RetryConfigCriteriaList",
          "documentation":"<p>The list of retry config criteria.</p>"
        }
      },
      "documentation":"<p>Over-the-air (OTA) task retry config.</p>"
    },
    "OtaTaskExecutionRolloutConfig":{
      "type":"structure",
      "members":{
        "ExponentialRolloutRate":{
          "shape":"ExponentialRolloutRate",
          "documentation":"<p>Structure representing exponential rate of rollout for an over-the-air (OTA) task.</p>"
        },
        "MaximumPerMinute":{
          "shape":"MaximumPerMinute",
          "documentation":"<p>The maximum number of things that will be notified of a pending task, per minute.</p>"
        }
      },
      "documentation":"<p>Over-the-air (OTA) task rollout config.</p>"
    },
    "OtaTaskExecutionStatus":{
      "type":"string",
      "enum":[
        "QUEUED",
        "IN_PROGRESS",
        "SUCCEEDED",
        "FAILED",
        "TIMED_OUT",
        "REJECTED",
        "REMOVED",
        "CANCELED"
      ]
    },
    "OtaTaskExecutionSummaries":{
      "type":"structure",
      "members":{
        "TaskExecutionSummary":{
          "shape":"OtaTaskExecutionSummary",
          "documentation":"<p>Structure representing one over-the-air (OTA) task execution summary</p>"
        },
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of a managed thing.</p>"
        }
      },
      "documentation":"<p>Structure representing one execution summary.</p>"
    },
    "OtaTaskExecutionSummariesListDefinition":{
      "type":"list",
      "member":{"shape":"OtaTaskExecutionSummaries"}
    },
    "OtaTaskExecutionSummary":{
      "type":"structure",
      "members":{
        "ExecutionNumber":{
          "shape":"ExecutionNumber",
          "documentation":"<p>The execution number of the over-the-air (OTA) task execution summary.</p>"
        },
        "LastUpdatedAt":{
          "shape":"LastUpdatedAt",
          "documentation":"<p>The timestamp value of when the over-the-air (OTA) task execution summary was last updated.</p>"
        },
        "QueuedAt":{
          "shape":"QueuedAt",
          "documentation":"<p>The timestamp value of when the over-the-air (OTA) task execution summary is targeted to start.</p>"
        },
        "RetryAttempt":{
          "shape":"RetryAttempt",
          "documentation":"<p>The number of retry attempts for starting the over-the-air (OTA) task execution summary after a failed attempt.</p>"
        },
        "StartedAt":{
          "shape":"StartedAt",
          "documentation":"<p>The timestamp value of when the over-the-air (OTA) task execution summary started.</p>"
        },
        "Status":{
          "shape":"OtaTaskExecutionStatus",
          "documentation":"<p>The status of the over-the-air (OTA) task execution summary.</p>"
        }
      },
      "documentation":"<p>Structure representing one over-the-air (OTA) task execution summary.</p>"
    },
    "OtaTaskId":{
      "type":"string",
      "max":200,
      "min":1,
      "pattern":"[A-Za-z0-9]+"
    },
    "OtaTaskListDefinition":{
      "type":"list",
      "member":{"shape":"OtaTaskSummary"}
    },
    "OtaTaskSchedulingConfig":{
      "type":"structure",
      "members":{
        "EndBehavior":{
          "shape":"SchedulingConfigEndBehavior",
          "documentation":"<p>Specifies the end behavior for all task executions after a task reaches the selected <code>endTime</code>. If <code>endTime</code> is not selected when creating the task, then <code>endBehavior</code> does not apply.</p>"
        },
        "EndTime":{
          "shape":"EndTime",
          "documentation":"<p>The time an over-the-air (OTA) task will stop.</p>"
        },
        "MaintenanceWindows":{
          "shape":"ScheduleMaintenanceWindowList",
          "documentation":"<p>Maintenance window list for over-the-air (OTA) task scheduling config.</p>"
        },
        "StartTime":{
          "shape":"ScheduleStartTime",
          "documentation":"<p>The time an over-the-air (OTA) task will start.</p>"
        }
      },
      "documentation":"<p>Over-the-air (OTA) task scheduling config.</p>"
    },
    "OtaTaskSummary":{
      "type":"structure",
      "members":{
        "TaskId":{
          "shape":"OtaTaskId",
          "documentation":"<p>The id of the over-the-air (OTA) task.</p>"
        },
        "TaskArn":{
          "shape":"OtaTaskArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the over-the-air (OTA) task.</p>"
        },
        "CreatedAt":{
          "shape":"CreatedAt",
          "documentation":"<p>The timestamp value of when the over-the-air (OTA) task was created at.</p>"
        },
        "LastUpdatedAt":{
          "shape":"LastUpdatedAt",
          "documentation":"<p>The timestamp value of when the over-the-air (OTA) task was last updated at.</p>"
        },
        "TaskConfigurationId":{
          "shape":"OtaTaskConfigurationId",
          "documentation":"<p>The identifier for the over-the-air (OTA) task configuration.</p>"
        },
        "Status":{
          "shape":"OtaStatus",
          "documentation":"<p>The status of the over-the-air (OTA) task summary.</p>"
        }
      },
      "documentation":"<p>Structure representing one over-the-air (OTA) task.</p>"
    },
    "OtaTaskTimeoutConfig":{
      "type":"structure",
      "members":{
        "InProgressTimeoutInMinutes":{
          "shape":"InProgressTimeoutInMinutes",
          "documentation":"<p>Specifies the amount of time the device has to finish execution of this task. The timeout interval can be anywhere between 1 minute and 7 days.</p>"
        }
      },
      "documentation":"<p>Over-the-air (OTA) task timeout config.</p>"
    },
    "OtaType":{
      "type":"string",
      "enum":[
        "ONE_TIME",
        "CONTINUOUS"
      ]
    },
    "Owner":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9_.,@-]+",
      "sensitive":true
    },
    "ParentControllerId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[A-Za-z0-9]+"
    },
    "ProactiveRefreshTokenRenewal":{
      "type":"structure",
      "members":{
        "enabled":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether proactive refresh token renewal is enabled.</p>"
        },
        "DaysBeforeRenewal":{
          "shape":"ProactiveRefreshTokenRenewalDaysBeforeRenewalInteger",
          "documentation":"<p>The days before token expiration when the system should attempt to renew the token, specified in days.</p>"
        }
      },
      "documentation":"<p>Configuration settings for proactively refreshing OAuth tokens before they expire.</p>"
    },
    "ProactiveRefreshTokenRenewalDaysBeforeRenewalInteger":{
      "type":"integer",
      "box":true,
      "min":30
    },
    "PropertyName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[/a-zA-Z0-9\\._ ]+"
    },
    "ProvisioningProfileArn":{
      "type":"string",
      "max":64,
      "min":32,
      "pattern":"arn:aws:iotmanagedintegrations:[0-9a-zA-Z-]+:[0-9]+:provisioning-profile/[0-9a-zA-Z]+"
    },
    "ProvisioningProfileId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[A-Za-z0-9-_]+"
    },
    "ProvisioningProfileListDefinition":{
      "type":"list",
      "member":{"shape":"ProvisioningProfileSummary"}
    },
    "ProvisioningProfileName":{
      "type":"string",
      "max":36,
      "min":1,
      "pattern":"[0-9A-Za-z_-]+"
    },
    "ProvisioningProfileSummary":{
      "type":"structure",
      "members":{
        "Name":{
          "shape":"ProvisioningProfileName",
          "documentation":"<p>The name of the provisioning template.</p>"
        },
        "Id":{
          "shape":"ProvisioningProfileId",
          "documentation":"<p>The identifier of the provisioning profile.</p>"
        },
        "Arn":{
          "shape":"ProvisioningProfileArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the provisioning template used in the provisioning profile.</p>"
        },
        "ProvisioningType":{
          "shape":"ProvisioningType",
          "documentation":"<p>The type of provisioning workflow the device uses for onboarding to IoT managed integrations.</p>"
        }
      },
      "documentation":"<p>Structure describing a provisioning profile. </p>"
    },
    "ProvisioningStatus":{
      "type":"string",
      "enum":[
        "UNASSOCIATED",
        "PRE_ASSOCIATED",
        "DISCOVERED",
        "ACTIVATED",
        "DELETION_FAILED",
        "DELETE_IN_PROGRESS",
        "ISOLATED",
        "DELETED"
      ]
    },
    "ProvisioningType":{
      "type":"string",
      "enum":[
        "FLEET_PROVISIONING",
        "JITR"
      ]
    },
    "PushConfig":{
      "type":"structure",
      "members":{
        "AbortConfig":{
          "shape":"OtaTaskAbortConfig",
          "documentation":"<p>Structure representing one abort config.</p>"
        },
        "RolloutConfig":{
          "shape":"OtaTaskExecutionRolloutConfig",
          "documentation":"<p>Structure representing one rollout config.</p>"
        },
        "TimeoutConfig":{
          "shape":"OtaTaskTimeoutConfig",
          "documentation":"<p>Structure representing one timeout config.</p>"
        }
      },
      "documentation":"<p>Structure representing a push config.</p>"
    },
    "PutDefaultEncryptionConfigurationRequest":{
      "type":"structure",
      "required":["encryptionType"],
      "members":{
        "encryptionType":{
          "shape":"EncryptionType",
          "documentation":"<p>The type of encryption used for the encryption configuration.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The Key Amazon Resource Name (ARN) of the AWS KMS key used for KMS encryption if you use <code>KMS_BASED_ENCRYPTION</code>.</p>"
        }
      }
    },
    "PutDefaultEncryptionConfigurationResponse":{
      "type":"structure",
      "required":[
        "configurationStatus",
        "encryptionType"
      ],
      "members":{
        "configurationStatus":{
          "shape":"ConfigurationStatus",
          "documentation":"<p>Provides the status of the default encryption configuration for an Amazon Web Services account.</p>"
        },
        "encryptionType":{
          "shape":"EncryptionType",
          "documentation":"<p>The type of encryption used for the encryption configuration.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The Key Amazon Resource Name (ARN) of the AWS KMS key used for KMS encryption if you use <code>KMS_BASED_ENCRYPTION</code>.</p>"
        }
      }
    },
    "PutHubConfigurationRequest":{
      "type":"structure",
      "required":["HubTokenTimerExpirySettingInSeconds"],
      "members":{
        "HubTokenTimerExpirySettingInSeconds":{
          "shape":"HubTokenTimerExpirySettingInSeconds",
          "documentation":"<p>A user-defined integer value that represents the hub token timer expiry setting in seconds.</p>"
        }
      }
    },
    "PutHubConfigurationResponse":{
      "type":"structure",
      "members":{
        "HubTokenTimerExpirySettingInSeconds":{
          "shape":"HubTokenTimerExpirySettingInSeconds",
          "documentation":"<p>A user-defined integer value that represents the hub token timer expiry setting in seconds.</p>"
        }
      }
    },
    "PutRuntimeLogConfigurationRequest":{
      "type":"structure",
      "required":[
        "ManagedThingId",
        "RuntimeLogConfigurations"
      ],
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id for a managed thing.</p>",
          "location":"uri",
          "locationName":"ManagedThingId"
        },
        "RuntimeLogConfigurations":{
          "shape":"RuntimeLogConfigurations",
          "documentation":"<p>The runtime log configuration for a managed thing.</p>"
        }
      }
    },
    "QueuedAt":{"type":"timestamp"},
    "RegisterAccountAssociationRequest":{
      "type":"structure",
      "required":[
        "ManagedThingId",
        "AccountAssociationId",
        "DeviceDiscoveryId"
      ],
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The identifier of the managed thing to register with the account association.</p>"
        },
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The identifier of the account association to register with the managed thing.</p>"
        },
        "DeviceDiscoveryId":{
          "shape":"DeviceDiscoveryId",
          "documentation":"<p>The identifier of the device discovery job associated with this registration.</p>"
        }
      }
    },
    "RegisterAccountAssociationResponse":{
      "type":"structure",
      "members":{
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The identifier of the account association that was registered.</p>"
        },
        "DeviceDiscoveryId":{
          "shape":"DeviceDiscoveryId",
          "documentation":"<p>The identifier of the device discovery job associated with this registration.</p>"
        },
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The identifier of the managed thing that was registered with the account association.</p>"
        }
      }
    },
    "RegisterCustomEndpointRequest":{
      "type":"structure",
      "members":{
      }
    },
    "RegisterCustomEndpointResponse":{
      "type":"structure",
      "required":["EndpointAddress"],
      "members":{
        "EndpointAddress":{
          "shape":"EndpointAddress",
          "documentation":"<p>The IoT managed integrations dedicated, custom endpoint for the device to route traffic through.</p>"
        }
      }
    },
    "ResetRuntimeLogConfigurationRequest":{
      "type":"structure",
      "required":["ManagedThingId"],
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of a managed thing.</p>",
          "location":"uri",
          "locationName":"ManagedThingId"
        }
      }
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"},
        "ResourceId":{
          "shape":"ErrorResourceId",
          "documentation":"<p>Id of the affected resource</p>"
        },
        "ResourceType":{
          "shape":"ErrorResourceType",
          "documentation":"<p>Type of the affected resource</p>"
        }
      },
      "documentation":"<p>The specified resource does not exist.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "RetryAttempt":{
      "type":"integer",
      "box":true
    },
    "RetryConfigCriteria":{
      "type":"structure",
      "members":{
        "FailureType":{
          "shape":"RetryCriteriaFailureType",
          "documentation":"<p>Over-the-air (OTA) retry criteria failure type.</p>"
        },
        "MinNumberOfRetries":{
          "shape":"MinNumberOfRetries",
          "documentation":"<p>The number of retries allowed for a failure type for the over-the-air (OTA) task.</p>"
        }
      },
      "documentation":"<p>Structure representing one retry config criteria.</p>"
    },
    "RetryConfigCriteriaList":{
      "type":"list",
      "member":{"shape":"RetryConfigCriteria"}
    },
    "RetryCriteriaFailureType":{
      "type":"string",
      "enum":[
        "FAILED",
        "TIMED_OUT",
        "ALL"
      ]
    },
    "Role":{
      "type":"string",
      "enum":[
        "CONTROLLER",
        "DEVICE"
      ]
    },
    "RolloutRateIncreaseCriteria":{
      "type":"structure",
      "members":{
        "numberOfNotifiedThings":{
          "shape":"NumberOfNotifiedThings",
          "documentation":"<p>The threshold for number of notified things that will initiate the increase in rate of rollout.</p>"
        },
        "numberOfSucceededThings":{
          "shape":"NumberOfSucceededThings",
          "documentation":"<p>The threshold for number of succeeded things that will initiate the increase in rate of rollout.</p>"
        }
      },
      "documentation":"<p>Structure representing rollout config criteria.</p>"
    },
    "RuntimeLogConfigurations":{
      "type":"structure",
      "members":{
        "LogLevel":{
          "shape":"LogLevel",
          "documentation":"<p>The different log levels available for configuration.</p>"
        },
        "LogFlushLevel":{
          "shape":"LogLevel",
          "documentation":"<p>The different log levels available for configuration.</p>"
        },
        "LocalStoreLocation":{
          "shape":"LocalStoreLocation",
          "documentation":"<p>Configuration of where to store runtime logs in the device.</p>"
        },
        "LocalStoreFileRotationMaxFiles":{
          "shape":"LocalStoreFileRotationMaxFiles",
          "documentation":"<p>Configuration to set the maximum number of runtime log files that can be stored on the device before the oldest files are deleted or overwritten.</p>"
        },
        "LocalStoreFileRotationMaxBytes":{
          "shape":"LocalStoreFileRotationMaxBytes",
          "documentation":"<p>Configuration to set the maximum bytes of runtime logs that can be stored on the device before the oldest logs are deleted or overwritten.</p>"
        },
        "UploadLog":{
          "shape":"UploadLog",
          "documentation":"<p>Configuration to enable or disable uploading of runtime logs to the cloud.</p>"
        },
        "UploadPeriodMinutes":{
          "shape":"UploadPeriodMinutes",
          "documentation":"<p>Configuration to set the time interval in minutes between each batch of runtime logs that the device uploads to the cloud.</p>"
        },
        "DeleteLocalStoreAfterUpload":{
          "shape":"DeleteLocalStoreAfterUpload",
          "documentation":"<p>Configuration to enable or disable deleting of runtime logs in the device once uploaded to the cloud.</p>"
        }
      },
      "documentation":"<p>The different configurations for runtime logs.</p>"
    },
    "S3Url":{
      "type":"string",
      "max":1000,
      "min":1
    },
    "ScheduleMaintenanceWindow":{
      "type":"structure",
      "members":{
        "DurationInMinutes":{
          "shape":"DurationInMinutes",
          "documentation":"<p>Displays the duration of the next maintenance window.</p>"
        },
        "StartTime":{
          "shape":"StartTime",
          "documentation":"<p>Displays the start time of the next maintenance window.</p>"
        }
      },
      "documentation":"<p>Structure representing scheduling maintenance window.</p>"
    },
    "ScheduleMaintenanceWindowList":{
      "type":"list",
      "member":{"shape":"ScheduleMaintenanceWindow"}
    },
    "ScheduleStartTime":{"type":"string"},
    "SchedulingConfigEndBehavior":{
      "type":"string",
      "enum":[
        "STOP_ROLLOUT",
        "CANCEL",
        "FORCE_CANCEL"
      ]
    },
    "SchemaId":{
      "type":"string",
      "max":128,
      "min":3,
      "pattern":"[a-zA-Z0-9.]+"
    },
    "SchemaVersionDescription":{
      "type":"string",
      "max":2048,
      "min":10,
      "pattern":"[a-zA-Z0-9.,/ -]+"
    },
    "SchemaVersionFormat":{
      "type":"string",
      "enum":[
        "AWS",
        "ZCL",
        "CONNECTOR"
      ]
    },
    "SchemaVersionList":{
      "type":"list",
      "member":{"shape":"SchemaVersionListItem"}
    },
    "SchemaVersionListItem":{
      "type":"structure",
      "members":{
        "SchemaId":{
          "shape":"SchemaId",
          "documentation":"<p>The identifier of the schema version.</p>"
        },
        "Type":{
          "shape":"SchemaVersionType",
          "documentation":"<p>The type of schema version.</p>"
        },
        "Description":{
          "shape":"SchemaVersionDescription",
          "documentation":"<p>A description of the schema version.</p>"
        },
        "Namespace":{
          "shape":"SchemaVersionNamespaceName",
          "documentation":"<p>The name of the schema version.</p>"
        },
        "SemanticVersion":{
          "shape":"SchemaVersionVersion",
          "documentation":"<p>The schema version. If this is left blank, it defaults to the latest version.</p>"
        },
        "Visibility":{
          "shape":"SchemaVersionVisibility",
          "documentation":"<p>The visibility of the schema version.</p>"
        }
      },
      "documentation":"<p>List item describing a schema version.</p>"
    },
    "SchemaVersionNamespaceName":{
      "type":"string",
      "max":12,
      "min":3,
      "pattern":"[a-z0-9]+"
    },
    "SchemaVersionSchema":{
      "type":"structure",
      "members":{
      },
      "document":true
    },
    "SchemaVersionType":{
      "type":"string",
      "enum":[
        "capability",
        "definition"
      ]
    },
    "SchemaVersionVersion":{
      "type":"string",
      "max":12,
      "min":3,
      "pattern":"(\\d+\\.\\d+(\\.\\d+)?|\\$latest)"
    },
    "SchemaVersionVisibility":{
      "type":"string",
      "enum":[
        "PUBLIC",
        "PRIVATE"
      ]
    },
    "SchemaVersionedId":{
      "type":"string",
      "max":128,
      "min":7,
      "pattern":"[a-zA-Z0-9.]+@(\\d+\\.\\d+(\\.\\d+)?|\\$latest)"
    },
    "SecretsManager":{
      "type":"structure",
      "required":[
        "arn",
        "versionId"
      ],
      "members":{
        "arn":{
          "shape":"SecretsManagerArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the AWS Secrets Manager secret.</p>"
        },
        "versionId":{
          "shape":"SecretsManagerVersionId",
          "documentation":"<p>The version ID of the AWS Secrets Manager secret.</p>"
        }
      },
      "documentation":"<p>Configuration for AWS Secrets Manager, used to securely store and manage sensitive information for connector destinations.</p>"
    },
    "SecretsManagerArn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:aws:secretsmanager:[0-9a-zA-Z-]{1,32}:\\d{12}:secret:[A-Za-z0-9/_+=.@-]{8,520}"
    },
    "SecretsManagerVersionId":{
      "type":"string",
      "max":64,
      "min":32,
      "pattern":"[a-zA-Z0-9-_]+"
    },
    "SendConnectorEventRequest":{
      "type":"structure",
      "required":[
        "ConnectorId",
        "Operation"
      ],
      "members":{
        "ConnectorId":{
          "shape":"ConnectorId",
          "documentation":"<p>The id of the connector between the third-party cloud provider and IoT managed integrations.</p>",
          "location":"uri",
          "locationName":"ConnectorId"
        },
        "UserId":{
          "shape":"ThirdPartyUserId",
          "documentation":"<p>The id of the third-party cloud provider.</p>"
        },
        "Operation":{
          "shape":"ConnectorEventOperation",
          "documentation":"<p>The Open Connectivity Foundation (OCF) operation requested to be performed on the managed thing.</p> <note> <p>The field op can have a value of \"I\" or \"U\". The field \"cn\" will contain the capability types.</p> </note>"
        },
        "OperationVersion":{
          "shape":"ConnectorEventOperationVersion",
          "documentation":"<p>The Open Connectivity Foundation (OCF) security specification version for the operation being requested on the managed thing. For more information, see <a href=\"https://openconnectivity.org/specs/OCF_Security_Specification_v1.0.0.pdf\">OCF Security Specification</a>.</p>"
        },
        "StatusCode":{
          "shape":"ConnectorEventStatusCode",
          "documentation":"<p>The status code of the Open Connectivity Foundation (OCF) operation being performed on the managed thing.</p>"
        },
        "Message":{
          "shape":"ConnectorEventMessage",
          "documentation":"<p>The device state change event payload.</p> <p>This parameter will include the following three fields:</p> <ul> <li> <p> <code>uri</code>: <code>schema auc://&lt;PARTNER-DEVICE-ID&gt;/ResourcePath</code> (The <code>Resourcepath</code> corresponds to an OCF resource.)</p> </li> <li> <p> <code>op</code>: For device state changes, this field must populate as <code>n+d</code>.</p> </li> <li> <p> <code>cn</code>: The content depends on the OCF resource referenced in <code>ResourcePath</code>.</p> </li> </ul>"
        },
        "DeviceDiscoveryId":{
          "shape":"DeviceDiscoveryId",
          "documentation":"<p>The id for the device discovery job.</p>"
        },
        "ConnectorDeviceId":{
          "shape":"ConnectorDeviceId",
          "documentation":"<p>The third-party device id as defined by the connector. This device id must not contain personal identifiable information (PII).</p> <note> <p>This parameter is used for cloud-to-cloud devices only.</p> </note>"
        },
        "TraceId":{
          "shape":"TraceId",
          "documentation":"<p>The trace request identifier used to correlate a command request and response. This is specified by the device owner, but will be generated by IoT managed integrations if not provided by the device owner.</p>"
        },
        "Devices":{
          "shape":"Devices",
          "documentation":"<p>The list of devices.</p>"
        },
        "MatterEndpoint":{
          "shape":"MatterEndpoint",
          "documentation":"<p>The device endpoint.</p>"
        }
      }
    },
    "SendConnectorEventResponse":{
      "type":"structure",
      "required":["ConnectorId"],
      "members":{
        "ConnectorId":{
          "shape":"ConnectorId",
          "documentation":"<p>The id of the connector between the third-party cloud provider and IoT managed integrations.</p>"
        }
      }
    },
    "SendManagedThingCommandRequest":{
      "type":"structure",
      "required":[
        "ManagedThingId",
        "Endpoints"
      ],
      "members":{
        "ManagedThingId":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the device.</p>",
          "location":"uri",
          "locationName":"ManagedThingId"
        },
        "Endpoints":{
          "shape":"CommandEndpoints",
          "documentation":"<p>The device endpoint.</p>"
        },
        "ConnectorAssociationId":{
          "shape":"ConnectorAssociationId",
          "documentation":"<p>The ID tracking the current discovery process for one connector association.</p>",
          "deprecated":true,
          "deprecatedMessage":"ConnectorAssociationId has been deprecated",
          "deprecatedSince":"06-25-2025"
        },
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The identifier of the account association to use when sending a command to a managed thing.</p>"
        }
      }
    },
    "SendManagedThingCommandResponse":{
      "type":"structure",
      "members":{
        "TraceId":{
          "shape":"TraceId",
          "documentation":"<p>The trace request identifier. This is specified by the device owner, but will be generated by IoT managed integrations if not provided by the device owner.</p>"
        }
      }
    },
    "SerialNumber":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[A-Za-z0-9-_ ]+",
      "sensitive":true
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The service quota has been exceeded for this request.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "ServiceUnavailableException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The service is temporarily unavailable.</p>",
      "error":{"httpStatusCode":503},
      "exception":true,
      "fault":true
    },
    "SetupAt":{"type":"timestamp"},
    "SmartHomeResourceId":{
      "type":"string",
      "max":200,
      "min":1,
      "pattern":"[a-zA-Z0-9+*]*"
    },
    "SmartHomeResourceType":{
      "type":"string",
      "pattern":"[*]$|^(managed-thing|credential-locker|provisioning-profile|ota-task|account-association)"
    },
    "SpecVersion":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"\\d+\\.\\d+"
    },
    "StartAccountAssociationRefreshRequest":{
      "type":"structure",
      "required":["AccountAssociationId"],
      "members":{
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The unique identifier of the account association to refresh.</p>",
          "location":"uri",
          "locationName":"AccountAssociationId"
        }
      }
    },
    "StartAccountAssociationRefreshResponse":{
      "type":"structure",
      "required":["OAuthAuthorizationUrl"],
      "members":{
        "OAuthAuthorizationUrl":{
          "shape":"OAuthAuthorizationUrl",
          "documentation":"<p>Third-party IoT platform OAuth authorization server URL with all required parameters to perform end-user authentication during the refresh process.</p>"
        }
      }
    },
    "StartDeviceDiscoveryRequest":{
      "type":"structure",
      "required":["DiscoveryType"],
      "members":{
        "DiscoveryType":{
          "shape":"DiscoveryType",
          "documentation":"<p>The discovery type supporting the type of device to be discovered in the device discovery task request.</p>"
        },
        "CustomProtocolDetail":{
          "shape":"CustomProtocolDetail",
          "documentation":"<p>Additional protocol-specific details required for device discovery, which vary based on the discovery type.</p> <note> <p>For a <code>DiscoveryType</code> of <code>CUSTOM</code>, the string-to-string map must have a key value of <code>Name</code> set to a non-empty-string.</p> </note>"
        },
        "ControllerIdentifier":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the end-user's IoT hub.</p>"
        },
        "ConnectorAssociationIdentifier":{
          "shape":"ConnectorAssociationId",
          "documentation":"<p>The id of the connector association.</p>",
          "deprecated":true,
          "deprecatedMessage":"ConnectorAssociationIdentifier is deprecated",
          "deprecatedSince":"06-25-2025"
        },
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The identifier of the cloud-to-cloud account association to use for discovery of third-party devices.</p>"
        },
        "AuthenticationMaterial":{
          "shape":"DiscoveryAuthMaterialString",
          "documentation":"<p>The authentication material required to start the local device discovery job request.</p>"
        },
        "AuthenticationMaterialType":{
          "shape":"DiscoveryAuthMaterialType",
          "documentation":"<p>The type of authentication material used for device discovery jobs.</p>"
        },
        "ClientToken":{
          "shape":"ClientToken",
          "documentation":"<p>An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.</p>"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the device discovery request.</p>",
          "deprecated":true,
          "deprecatedMessage":"Tags have been deprecated from this api",
          "deprecatedSince":"06-25-2025"
        }
      }
    },
    "StartDeviceDiscoveryResponse":{
      "type":"structure",
      "members":{
        "Id":{
          "shape":"DeviceDiscoveryId",
          "documentation":"<p>The id of the device discovery job request.</p>"
        },
        "StartedAt":{
          "shape":"DiscoveryStartedAt",
          "documentation":"<p>The timestamp value for the start time of the device discovery.</p>"
        }
      }
    },
    "StartTime":{"type":"string"},
    "StartedAt":{"type":"timestamp"},
    "StateCapabilities":{
      "type":"list",
      "member":{"shape":"StateCapability"},
      "max":5,
      "min":1
    },
    "StateCapability":{
      "type":"structure",
      "required":[
        "id",
        "name",
        "version"
      ],
      "members":{
        "id":{
          "shape":"SchemaVersionedId",
          "documentation":"<p>The id of the managed thing in the capability report.</p>"
        },
        "name":{
          "shape":"CapabilityName",
          "documentation":"<p>Name for the Amazon Web Services capability.</p>"
        },
        "version":{
          "shape":"CapabilityVersion",
          "documentation":"<p>Version for the Amazon Web Services capability.</p>"
        },
        "properties":{
          "shape":"CapabilityProperties",
          "documentation":"<p>Describe the command capability with the properties it supports.</p>"
        }
      },
      "documentation":"<p>State capabilities added for the managed thing.</p>"
    },
    "StateEndpoint":{
      "type":"structure",
      "required":[
        "endpointId",
        "capabilities"
      ],
      "members":{
        "endpointId":{
          "shape":"EndpointId",
          "documentation":"<p>Numeric identifier of the endpoint</p>"
        },
        "capabilities":{
          "shape":"StateCapabilities",
          "documentation":"<p>Describe the endpoint with an id, a name, and the relevant capabilities for the reporting state.</p>"
        }
      },
      "documentation":"<p>Describe the endpoint with an Id, a name, and the relevant capabilities for reporting state</p>"
    },
    "StateEndpoints":{
      "type":"list",
      "member":{"shape":"StateEndpoint"},
      "max":5,
      "min":0
    },
    "String":{"type":"string"},
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":200,
      "min":0
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "Tags"
      ],
      "members":{
        "ResourceArn":{
          "shape":"IoTManagedIntegrationsResourceARN",
          "documentation":"<p>The ARN of the resource to which to add tags.</p>",
          "location":"uri",
          "locationName":"ResourceArn"
        },
        "Tags":{
          "shape":"TagsMap",
          "documentation":"<p>A set of key/value pairs that are used to manage the resource</p>"
        }
      }
    },
    "TagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":0
    },
    "TagsMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "max":50,
      "min":1,
      "sensitive":true
    },
    "Target":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "TaskProcessingDetails":{
      "type":"structure",
      "members":{
        "NumberOfCanceledThings":{
          "shape":"Integer",
          "documentation":"<p>The number of canceled things in an over-the-air (OTA) task.</p>"
        },
        "NumberOfFailedThings":{
          "shape":"Integer",
          "documentation":"<p>The number of failed things in an over-the-air (OTA) task.</p>"
        },
        "NumberOfInProgressThings":{
          "shape":"Integer",
          "documentation":"<p>The number of in progress things in an over-the-air (OTA) task.</p>"
        },
        "numberOfQueuedThings":{
          "shape":"Integer",
          "documentation":"<p>The number of queued things in an over-the-air (OTA) task.</p>"
        },
        "numberOfRejectedThings":{
          "shape":"Integer",
          "documentation":"<p>The number of rejected things in an over-the-air (OTA) task.</p>"
        },
        "numberOfRemovedThings":{
          "shape":"Integer",
          "documentation":"<p>The number of removed things in an over-the-air (OTA) task.</p>"
        },
        "numberOfSucceededThings":{
          "shape":"Integer",
          "documentation":"<p>The number of succeeded things in an over-the-air (OTA) task.</p>"
        },
        "numberOfTimedOutThings":{
          "shape":"Integer",
          "documentation":"<p>The number of timed out things in an over-the-air (OTA) task.</p>"
        },
        "processingTargets":{
          "shape":"Target",
          "documentation":"<p>The targets of the over-the-air (OTA) task.</p>"
        }
      },
      "documentation":"<p>Details about the over-the-air (OTA) task process.</p>"
    },
    "ThirdPartyUserId":{
      "type":"string",
      "max":64,
      "min":1,
      "pattern":"[a-zA-Z0-9_.,@-]+",
      "sensitive":true
    },
    "ThresholdPercentage":{
      "type":"double",
      "box":true,
      "max":100
    },
    "ThrottlingException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The rate exceeds the limit.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true
    },
    "TokenEndpointAuthenticationScheme":{
      "type":"string",
      "enum":[
        "HTTP_BASIC",
        "REQUEST_BODY_CREDENTIALS"
      ]
    },
    "TokenUrl":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}([-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)"
    },
    "TraceId":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z0-9:=_-]+"
    },
    "UnauthorizedException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>You are not authorized to perform this operation.</p>",
      "error":{
        "httpStatusCode":401,
        "senderFault":true
      },
      "exception":true
    },
    "UniversalProductCode":{
      "type":"string",
      "max":12,
      "min":12,
      "pattern":"[0-9]+",
      "sensitive":true
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "TagKeys"
      ],
      "members":{
        "ResourceArn":{
          "shape":"IoTManagedIntegrationsResourceARN",
          "documentation":"<p>The ARN of the resource to which to add tags.</p>",
          "location":"uri",
          "locationName":"ResourceArn"
        },
        "TagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>A list of tag keys to remove from the resource.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UntagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateAccountAssociationRequest":{
      "type":"structure",
      "required":["AccountAssociationId"],
      "members":{
        "AccountAssociationId":{
          "shape":"AccountAssociationId",
          "documentation":"<p>The unique identifier of the account association to update.</p>",
          "location":"uri",
          "locationName":"AccountAssociationId"
        },
        "Name":{
          "shape":"AccountAssociationName",
          "documentation":"<p>The new name to assign to the account association.</p>"
        },
        "Description":{
          "shape":"AccountAssociationDescription",
          "documentation":"<p>The new description to assign to the account association.</p>"
        }
      }
    },
    "UpdateCloudConnectorRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"CloudConnectorId",
          "documentation":"<p>The unique identifier of the cloud connector to update.</p>",
          "location":"uri",
          "locationName":"Identifier"
        },
        "Name":{
          "shape":"DisplayName",
          "documentation":"<p>The new display name to assign to the cloud connector.</p>"
        },
        "Description":{
          "shape":"CloudConnectorDescription",
          "documentation":"<p>The new description to assign to the cloud connector.</p>"
        }
      }
    },
    "UpdateConnectorDestinationRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ConnectorDestinationId",
          "documentation":"<p>The unique identifier of the connector destination to update.</p>",
          "location":"uri",
          "locationName":"Identifier"
        },
        "Description":{
          "shape":"ConnectorDestinationDescription",
          "documentation":"<p>The new description to assign to the connector destination.</p>"
        },
        "Name":{
          "shape":"ConnectorDestinationName",
          "documentation":"<p>The new display name to assign to the connector destination.</p>"
        },
        "AuthType":{
          "shape":"AuthType",
          "documentation":"<p>The new authentication type to use for the connector destination.</p>"
        },
        "AuthConfig":{
          "shape":"AuthConfigUpdate",
          "documentation":"<p>The updated authentication configuration details for the connector destination.</p>"
        },
        "SecretsManager":{
          "shape":"SecretsManager",
          "documentation":"<p>The updated AWS Secrets Manager configuration for the connector destination.</p>"
        }
      }
    },
    "UpdateDestinationRequest":{
      "type":"structure",
      "required":["Name"],
      "members":{
        "Name":{
          "shape":"DestinationName",
          "documentation":"<p>The name of the customer-managed destination.</p>",
          "location":"uri",
          "locationName":"Name"
        },
        "DeliveryDestinationArn":{
          "shape":"DeliveryDestinationArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the customer-managed destination.</p>"
        },
        "DeliveryDestinationType":{
          "shape":"DeliveryDestinationType",
          "documentation":"<p>The destination type for the customer-managed destination.</p>"
        },
        "RoleArn":{
          "shape":"DeliveryDestinationRoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the delivery destination role.</p>"
        },
        "Description":{
          "shape":"DestinationDescription",
          "documentation":"<p>The description of the customer-managed destination.</p>"
        }
      }
    },
    "UpdateEventLogConfigurationRequest":{
      "type":"structure",
      "required":[
        "Id",
        "EventLogLevel"
      ],
      "members":{
        "Id":{
          "shape":"LogConfigurationId",
          "documentation":"<p>The log configuration id.</p>",
          "location":"uri",
          "locationName":"Id"
        },
        "EventLogLevel":{
          "shape":"LogLevel",
          "documentation":"<p>The log level for the event in terms of severity.</p>"
        }
      }
    },
    "UpdateManagedThingRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"ManagedThingId",
          "documentation":"<p>The id of the managed thing.</p>",
          "location":"uri",
          "locationName":"Identifier"
        },
        "Owner":{
          "shape":"Owner",
          "documentation":"<p>Owner of the device, usually an indication of whom the device belongs to. This value should not contain personal identifiable information.</p>"
        },
        "CredentialLockerId":{
          "shape":"CredentialLockerId",
          "documentation":"<p>The identifier of the credential for the managed thing.</p>"
        },
        "SerialNumber":{
          "shape":"SerialNumber",
          "documentation":"<p>The serial number of the device.</p>"
        },
        "Brand":{
          "shape":"Brand",
          "documentation":"<p>The brand of the device.</p>"
        },
        "Model":{
          "shape":"Model",
          "documentation":"<p>The model of the device.</p>"
        },
        "Name":{
          "shape":"Name",
          "documentation":"<p>The name of the managed thing representing the physical device.</p>"
        },
        "CapabilityReport":{
          "shape":"CapabilityReport",
          "documentation":"<p>A report of the capabilities for the managed thing.</p>"
        },
        "CapabilitySchemas":{
          "shape":"CapabilitySchemas",
          "documentation":"<p>The updated capability schemas that define the functionality and features supported by the managed thing.</p>"
        },
        "Capabilities":{
          "shape":"Capabilities",
          "documentation":"<p>The capabilities of the device such as light bulb.</p>"
        },
        "Classification":{
          "shape":"Classification",
          "documentation":"<p>The classification of the managed thing such as light bulb or thermostat.</p>"
        },
        "HubNetworkMode":{
          "shape":"HubNetworkMode",
          "documentation":"<p>The network mode for the hub-connected device.</p>"
        },
        "MetaData":{
          "shape":"MetaData",
          "documentation":"<p>The metadata for the managed thing.</p>"
        }
      }
    },
    "UpdateNotificationConfigurationRequest":{
      "type":"structure",
      "required":[
        "EventType",
        "DestinationName"
      ],
      "members":{
        "EventType":{
          "shape":"EventType",
          "documentation":"<p>The type of event triggering a device notification to the customer-managed destination.</p>",
          "location":"uri",
          "locationName":"EventType"
        },
        "DestinationName":{
          "shape":"DestinationName",
          "documentation":"<p>The name of the destination for the notification configuration.</p>"
        }
      }
    },
    "UpdateOtaTaskRequest":{
      "type":"structure",
      "required":["Identifier"],
      "members":{
        "Identifier":{
          "shape":"OtaTaskId",
          "documentation":"<p>The over-the-air (OTA) task id.</p>",
          "location":"uri",
          "locationName":"Identifier"
        },
        "Description":{
          "shape":"OtaDescription",
          "documentation":"<p>The description of the over-the-air (OTA) task.</p>"
        },
        "TaskConfigurationId":{
          "shape":"OtaTaskConfigurationId",
          "documentation":"<p>The identifier for the over-the-air (OTA) task configuration.</p>"
        }
      }
    },
    "UpdatedAt":{"type":"timestamp"},
    "UploadLog":{
      "type":"boolean",
      "box":true
    },
    "UploadPeriodMinutes":{
      "type":"integer",
      "box":true
    },
    "ValidationException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>A validation error occurred when performing the API request.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ValidationSchema":{
      "type":"structure",
      "members":{
      },
      "document":true
    }
  },
  "documentation":"<p>Managed integrations is a feature of AWS IoT Device Management that enables developers to quickly build innovative IoT solutions. Customers can use managed integrations to automate device setup workflows and support interoperability across many devices, regardless of device vendor or connectivity protocol. This allows developers to use a single user-interface to control, manage, and operate a range of devices.</p>"
}
