💾 Archived View for gmi.noulin.net › gitRepositories › git-off › file › src › node_modules › aws-sdk… captured on 2023-07-10 at 16:17:27. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

git-off

Log

Files

Refs

README

iot.d.ts (85611B)

     1 import {Request} from '../lib/request';
     2 import {Response} from '../lib/response';
     3 import {AWSError} from '../lib/error';
     4 import {Service} from '../lib/service';
     5 import {ServiceConfigurationOptions} from '../lib/service';
     6 import {ConfigBase as Config} from '../lib/config';
     7 interface Blob {}
     8 declare class Iot extends Service {
     9   /**
    10    * Constructs a service object. This object has one method for each API operation.
    11    */
    12   constructor(options?: Iot.Types.ClientConfiguration)
    13   config: Config & Iot.Types.ClientConfiguration;
    14   /**
    15    * Accepts a pending certificate transfer. The default state of the certificate is INACTIVE. To check for pending certificate transfers, call ListCertificates to enumerate your certificates.
    16    */
    17   acceptCertificateTransfer(params: Iot.Types.AcceptCertificateTransferRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    18   /**
    19    * Accepts a pending certificate transfer. The default state of the certificate is INACTIVE. To check for pending certificate transfers, call ListCertificates to enumerate your certificates.
    20    */
    21   acceptCertificateTransfer(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    22   /**
    23    * Attaches the specified policy to the specified principal (certificate or other credential).
    24    */
    25   attachPrincipalPolicy(params: Iot.Types.AttachPrincipalPolicyRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    26   /**
    27    * Attaches the specified policy to the specified principal (certificate or other credential).
    28    */
    29   attachPrincipalPolicy(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    30   /**
    31    * Attaches the specified principal to the specified thing.
    32    */
    33   attachThingPrincipal(params: Iot.Types.AttachThingPrincipalRequest, callback?: (err: AWSError, data: Iot.Types.AttachThingPrincipalResponse) => void): Request<Iot.Types.AttachThingPrincipalResponse, AWSError>;
    34   /**
    35    * Attaches the specified principal to the specified thing.
    36    */
    37   attachThingPrincipal(callback?: (err: AWSError, data: Iot.Types.AttachThingPrincipalResponse) => void): Request<Iot.Types.AttachThingPrincipalResponse, AWSError>;
    38   /**
    39    * Cancels a pending transfer for the specified certificate. Note Only the transfer source account can use this operation to cancel a transfer. (Transfer destinations can use RejectCertificateTransfer instead.) After transfer, AWS IoT returns the certificate to the source account in the INACTIVE state. After the destination account has accepted the transfer, the transfer cannot be cancelled. After a certificate transfer is cancelled, the status of the certificate changes from PENDING_TRANSFER to INACTIVE.
    40    */
    41   cancelCertificateTransfer(params: Iot.Types.CancelCertificateTransferRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    42   /**
    43    * Cancels a pending transfer for the specified certificate. Note Only the transfer source account can use this operation to cancel a transfer. (Transfer destinations can use RejectCertificateTransfer instead.) After transfer, AWS IoT returns the certificate to the source account in the INACTIVE state. After the destination account has accepted the transfer, the transfer cannot be cancelled. After a certificate transfer is cancelled, the status of the certificate changes from PENDING_TRANSFER to INACTIVE.
    44    */
    45   cancelCertificateTransfer(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    46   /**
    47    * Creates an X.509 certificate using the specified certificate signing request. Note Reusing the same certificate signing request (CSR) results in a distinct certificate. You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs.  Assuming a set of CSRs are located inside of the directory my-csr-directory: On Linux and OS X, the command is: $ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}  This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr AWS CLI command to create a certificate for the corresponding CSR.   The aws iot create-certificate-from-csr part of the command can also be run in parallel to speed up the certificate creation process:   $ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}   On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:   &gt; ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}   On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:   &gt; forfiles /p my-csr-directory /c "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path"
    48    */
    49   createCertificateFromCsr(params: Iot.Types.CreateCertificateFromCsrRequest, callback?: (err: AWSError, data: Iot.Types.CreateCertificateFromCsrResponse) => void): Request<Iot.Types.CreateCertificateFromCsrResponse, AWSError>;
    50   /**
    51    * Creates an X.509 certificate using the specified certificate signing request. Note Reusing the same certificate signing request (CSR) results in a distinct certificate. You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs.  Assuming a set of CSRs are located inside of the directory my-csr-directory: On Linux and OS X, the command is: $ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}  This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr AWS CLI command to create a certificate for the corresponding CSR.   The aws iot create-certificate-from-csr part of the command can also be run in parallel to speed up the certificate creation process:   $ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}   On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:   &gt; ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}   On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:   &gt; forfiles /p my-csr-directory /c "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path"
    52    */
    53   createCertificateFromCsr(callback?: (err: AWSError, data: Iot.Types.CreateCertificateFromCsrResponse) => void): Request<Iot.Types.CreateCertificateFromCsrResponse, AWSError>;
    54   /**
    55    * Creates a 2048-bit RSA key pair and issues an X.509 certificate using the issued public key. Note This is the only time AWS IoT issues the private key for this certificate, so it is important to keep it in a secure location.
    56    */
    57   createKeysAndCertificate(params: Iot.Types.CreateKeysAndCertificateRequest, callback?: (err: AWSError, data: Iot.Types.CreateKeysAndCertificateResponse) => void): Request<Iot.Types.CreateKeysAndCertificateResponse, AWSError>;
    58   /**
    59    * Creates a 2048-bit RSA key pair and issues an X.509 certificate using the issued public key. Note This is the only time AWS IoT issues the private key for this certificate, so it is important to keep it in a secure location.
    60    */
    61   createKeysAndCertificate(callback?: (err: AWSError, data: Iot.Types.CreateKeysAndCertificateResponse) => void): Request<Iot.Types.CreateKeysAndCertificateResponse, AWSError>;
    62   /**
    63    * Creates an AWS IoT policy. The created policy is the default version for the policy. This operation creates a policy version with a version identifier of 1 and sets 1 as the policy's default version.
    64    */
    65   createPolicy(params: Iot.Types.CreatePolicyRequest, callback?: (err: AWSError, data: Iot.Types.CreatePolicyResponse) => void): Request<Iot.Types.CreatePolicyResponse, AWSError>;
    66   /**
    67    * Creates an AWS IoT policy. The created policy is the default version for the policy. This operation creates a policy version with a version identifier of 1 and sets 1 as the policy's default version.
    68    */
    69   createPolicy(callback?: (err: AWSError, data: Iot.Types.CreatePolicyResponse) => void): Request<Iot.Types.CreatePolicyResponse, AWSError>;
    70   /**
    71    * Creates a new version of the specified AWS IoT policy. To update a policy, create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must use DeletePolicyVersion to delete an existing version before you create a new one. Optionally, you can set the new version as the policy's default version. The default version is the operative version (that is, the version that is in effect for the certificates to which the policy is attached).
    72    */
    73   createPolicyVersion(params: Iot.Types.CreatePolicyVersionRequest, callback?: (err: AWSError, data: Iot.Types.CreatePolicyVersionResponse) => void): Request<Iot.Types.CreatePolicyVersionResponse, AWSError>;
    74   /**
    75    * Creates a new version of the specified AWS IoT policy. To update a policy, create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must use DeletePolicyVersion to delete an existing version before you create a new one. Optionally, you can set the new version as the policy's default version. The default version is the operative version (that is, the version that is in effect for the certificates to which the policy is attached).
    76    */
    77   createPolicyVersion(callback?: (err: AWSError, data: Iot.Types.CreatePolicyVersionResponse) => void): Request<Iot.Types.CreatePolicyVersionResponse, AWSError>;
    78   /**
    79    * Creates a thing record in the thing registry.
    80    */
    81   createThing(params: Iot.Types.CreateThingRequest, callback?: (err: AWSError, data: Iot.Types.CreateThingResponse) => void): Request<Iot.Types.CreateThingResponse, AWSError>;
    82   /**
    83    * Creates a thing record in the thing registry.
    84    */
    85   createThing(callback?: (err: AWSError, data: Iot.Types.CreateThingResponse) => void): Request<Iot.Types.CreateThingResponse, AWSError>;
    86   /**
    87    * Creates a new thing type.
    88    */
    89   createThingType(params: Iot.Types.CreateThingTypeRequest, callback?: (err: AWSError, data: Iot.Types.CreateThingTypeResponse) => void): Request<Iot.Types.CreateThingTypeResponse, AWSError>;
    90   /**
    91    * Creates a new thing type.
    92    */
    93   createThingType(callback?: (err: AWSError, data: Iot.Types.CreateThingTypeResponse) => void): Request<Iot.Types.CreateThingTypeResponse, AWSError>;
    94   /**
    95    * Creates a rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.
    96    */
    97   createTopicRule(params: Iot.Types.CreateTopicRuleRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    98   /**
    99    * Creates a rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.
   100    */
   101   createTopicRule(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   102   /**
   103    * Deletes a registered CA certificate.
   104    */
   105   deleteCACertificate(params: Iot.Types.DeleteCACertificateRequest, callback?: (err: AWSError, data: Iot.Types.DeleteCACertificateResponse) => void): Request<Iot.Types.DeleteCACertificateResponse, AWSError>;
   106   /**
   107    * Deletes a registered CA certificate.
   108    */
   109   deleteCACertificate(callback?: (err: AWSError, data: Iot.Types.DeleteCACertificateResponse) => void): Request<Iot.Types.DeleteCACertificateResponse, AWSError>;
   110   /**
   111    * Deletes the specified certificate. A certificate cannot be deleted if it has a policy attached to it or if its status is set to ACTIVE. To delete a certificate, first use the DetachPrincipalPolicy API to detach all policies. Next, use the UpdateCertificate API to set the certificate to the INACTIVE status.
   112    */
   113   deleteCertificate(params: Iot.Types.DeleteCertificateRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   114   /**
   115    * Deletes the specified certificate. A certificate cannot be deleted if it has a policy attached to it or if its status is set to ACTIVE. To delete a certificate, first use the DetachPrincipalPolicy API to detach all policies. Next, use the UpdateCertificate API to set the certificate to the INACTIVE status.
   116    */
   117   deleteCertificate(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   118   /**
   119    * Deletes the specified policy. A policy cannot be deleted if it has non-default versions or it is attached to any certificate. To delete a policy, use the DeletePolicyVersion API to delete all non-default versions of the policy; use the DetachPrincipalPolicy API to detach the policy from any certificate; and then use the DeletePolicy API to delete the policy. When a policy is deleted using DeletePolicy, its default version is deleted with it.
   120    */
   121   deletePolicy(params: Iot.Types.DeletePolicyRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   122   /**
   123    * Deletes the specified policy. A policy cannot be deleted if it has non-default versions or it is attached to any certificate. To delete a policy, use the DeletePolicyVersion API to delete all non-default versions of the policy; use the DetachPrincipalPolicy API to detach the policy from any certificate; and then use the DeletePolicy API to delete the policy. When a policy is deleted using DeletePolicy, its default version is deleted with it.
   124    */
   125   deletePolicy(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   126   /**
   127    * Deletes the specified version of the specified policy. You cannot delete the default version of a policy using this API. To delete the default version of a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions.
   128    */
   129   deletePolicyVersion(params: Iot.Types.DeletePolicyVersionRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   130   /**
   131    * Deletes the specified version of the specified policy. You cannot delete the default version of a policy using this API. To delete the default version of a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions.
   132    */
   133   deletePolicyVersion(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   134   /**
   135    * Deletes a CA certificate registration code.
   136    */
   137   deleteRegistrationCode(params: Iot.Types.DeleteRegistrationCodeRequest, callback?: (err: AWSError, data: Iot.Types.DeleteRegistrationCodeResponse) => void): Request<Iot.Types.DeleteRegistrationCodeResponse, AWSError>;
   138   /**
   139    * Deletes a CA certificate registration code.
   140    */
   141   deleteRegistrationCode(callback?: (err: AWSError, data: Iot.Types.DeleteRegistrationCodeResponse) => void): Request<Iot.Types.DeleteRegistrationCodeResponse, AWSError>;
   142   /**
   143    * Deletes the specified thing.
   144    */
   145   deleteThing(params: Iot.Types.DeleteThingRequest, callback?: (err: AWSError, data: Iot.Types.DeleteThingResponse) => void): Request<Iot.Types.DeleteThingResponse, AWSError>;
   146   /**
   147    * Deletes the specified thing.
   148    */
   149   deleteThing(callback?: (err: AWSError, data: Iot.Types.DeleteThingResponse) => void): Request<Iot.Types.DeleteThingResponse, AWSError>;
   150   /**
   151    * Deletes the specified thing type . You cannot delete a thing type if it has things associated with it. To delete a thing type, first mark it as deprecated by calling DeprecateThingType, then remove any associated things by calling UpdateThing to change the thing type on any associated thing, and finally use DeleteThingType to delete the thing type.
   152    */
   153   deleteThingType(params: Iot.Types.DeleteThingTypeRequest, callback?: (err: AWSError, data: Iot.Types.DeleteThingTypeResponse) => void): Request<Iot.Types.DeleteThingTypeResponse, AWSError>;
   154   /**
   155    * Deletes the specified thing type . You cannot delete a thing type if it has things associated with it. To delete a thing type, first mark it as deprecated by calling DeprecateThingType, then remove any associated things by calling UpdateThing to change the thing type on any associated thing, and finally use DeleteThingType to delete the thing type.
   156    */
   157   deleteThingType(callback?: (err: AWSError, data: Iot.Types.DeleteThingTypeResponse) => void): Request<Iot.Types.DeleteThingTypeResponse, AWSError>;
   158   /**
   159    * Deletes the specified rule.
   160    */
   161   deleteTopicRule(params: Iot.Types.DeleteTopicRuleRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   162   /**
   163    * Deletes the specified rule.
   164    */
   165   deleteTopicRule(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   166   /**
   167    * Deprecates a thing type. You can not associate new things with deprecated thing type.
   168    */
   169   deprecateThingType(params: Iot.Types.DeprecateThingTypeRequest, callback?: (err: AWSError, data: Iot.Types.DeprecateThingTypeResponse) => void): Request<Iot.Types.DeprecateThingTypeResponse, AWSError>;
   170   /**
   171    * Deprecates a thing type. You can not associate new things with deprecated thing type.
   172    */
   173   deprecateThingType(callback?: (err: AWSError, data: Iot.Types.DeprecateThingTypeResponse) => void): Request<Iot.Types.DeprecateThingTypeResponse, AWSError>;
   174   /**
   175    * Describes a registered CA certificate.
   176    */
   177   describeCACertificate(params: Iot.Types.DescribeCACertificateRequest, callback?: (err: AWSError, data: Iot.Types.DescribeCACertificateResponse) => void): Request<Iot.Types.DescribeCACertificateResponse, AWSError>;
   178   /**
   179    * Describes a registered CA certificate.
   180    */
   181   describeCACertificate(callback?: (err: AWSError, data: Iot.Types.DescribeCACertificateResponse) => void): Request<Iot.Types.DescribeCACertificateResponse, AWSError>;
   182   /**
   183    * Gets information about the specified certificate.
   184    */
   185   describeCertificate(params: Iot.Types.DescribeCertificateRequest, callback?: (err: AWSError, data: Iot.Types.DescribeCertificateResponse) => void): Request<Iot.Types.DescribeCertificateResponse, AWSError>;
   186   /**
   187    * Gets information about the specified certificate.
   188    */
   189   describeCertificate(callback?: (err: AWSError, data: Iot.Types.DescribeCertificateResponse) => void): Request<Iot.Types.DescribeCertificateResponse, AWSError>;
   190   /**
   191    * Returns a unique endpoint specific to the AWS account making the call.
   192    */
   193   describeEndpoint(params: Iot.Types.DescribeEndpointRequest, callback?: (err: AWSError, data: Iot.Types.DescribeEndpointResponse) => void): Request<Iot.Types.DescribeEndpointResponse, AWSError>;
   194   /**
   195    * Returns a unique endpoint specific to the AWS account making the call.
   196    */
   197   describeEndpoint(callback?: (err: AWSError, data: Iot.Types.DescribeEndpointResponse) => void): Request<Iot.Types.DescribeEndpointResponse, AWSError>;
   198   /**
   199    * Gets information about the specified thing.
   200    */
   201   describeThing(params: Iot.Types.DescribeThingRequest, callback?: (err: AWSError, data: Iot.Types.DescribeThingResponse) => void): Request<Iot.Types.DescribeThingResponse, AWSError>;
   202   /**
   203    * Gets information about the specified thing.
   204    */
   205   describeThing(callback?: (err: AWSError, data: Iot.Types.DescribeThingResponse) => void): Request<Iot.Types.DescribeThingResponse, AWSError>;
   206   /**
   207    * Gets information about the specified thing type.
   208    */
   209   describeThingType(params: Iot.Types.DescribeThingTypeRequest, callback?: (err: AWSError, data: Iot.Types.DescribeThingTypeResponse) => void): Request<Iot.Types.DescribeThingTypeResponse, AWSError>;
   210   /**
   211    * Gets information about the specified thing type.
   212    */
   213   describeThingType(callback?: (err: AWSError, data: Iot.Types.DescribeThingTypeResponse) => void): Request<Iot.Types.DescribeThingTypeResponse, AWSError>;
   214   /**
   215    * Removes the specified policy from the specified certificate.
   216    */
   217   detachPrincipalPolicy(params: Iot.Types.DetachPrincipalPolicyRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   218   /**
   219    * Removes the specified policy from the specified certificate.
   220    */
   221   detachPrincipalPolicy(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   222   /**
   223    * Detaches the specified principal from the specified thing.
   224    */
   225   detachThingPrincipal(params: Iot.Types.DetachThingPrincipalRequest, callback?: (err: AWSError, data: Iot.Types.DetachThingPrincipalResponse) => void): Request<Iot.Types.DetachThingPrincipalResponse, AWSError>;
   226   /**
   227    * Detaches the specified principal from the specified thing.
   228    */
   229   detachThingPrincipal(callback?: (err: AWSError, data: Iot.Types.DetachThingPrincipalResponse) => void): Request<Iot.Types.DetachThingPrincipalResponse, AWSError>;
   230   /**
   231    * Disables the specified rule.
   232    */
   233   disableTopicRule(params: Iot.Types.DisableTopicRuleRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   234   /**
   235    * Disables the specified rule.
   236    */
   237   disableTopicRule(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   238   /**
   239    * Enables the specified rule.
   240    */
   241   enableTopicRule(params: Iot.Types.EnableTopicRuleRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   242   /**
   243    * Enables the specified rule.
   244    */
   245   enableTopicRule(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   246   /**
   247    * Gets the logging options.
   248    */
   249   getLoggingOptions(params: Iot.Types.GetLoggingOptionsRequest, callback?: (err: AWSError, data: Iot.Types.GetLoggingOptionsResponse) => void): Request<Iot.Types.GetLoggingOptionsResponse, AWSError>;
   250   /**
   251    * Gets the logging options.
   252    */
   253   getLoggingOptions(callback?: (err: AWSError, data: Iot.Types.GetLoggingOptionsResponse) => void): Request<Iot.Types.GetLoggingOptionsResponse, AWSError>;
   254   /**
   255    * Gets information about the specified policy with the policy document of the default version.
   256    */
   257   getPolicy(params: Iot.Types.GetPolicyRequest, callback?: (err: AWSError, data: Iot.Types.GetPolicyResponse) => void): Request<Iot.Types.GetPolicyResponse, AWSError>;
   258   /**
   259    * Gets information about the specified policy with the policy document of the default version.
   260    */
   261   getPolicy(callback?: (err: AWSError, data: Iot.Types.GetPolicyResponse) => void): Request<Iot.Types.GetPolicyResponse, AWSError>;
   262   /**
   263    * Gets information about the specified policy version.
   264    */
   265   getPolicyVersion(params: Iot.Types.GetPolicyVersionRequest, callback?: (err: AWSError, data: Iot.Types.GetPolicyVersionResponse) => void): Request<Iot.Types.GetPolicyVersionResponse, AWSError>;
   266   /**
   267    * Gets information about the specified policy version.
   268    */
   269   getPolicyVersion(callback?: (err: AWSError, data: Iot.Types.GetPolicyVersionResponse) => void): Request<Iot.Types.GetPolicyVersionResponse, AWSError>;
   270   /**
   271    * Gets a registration code used to register a CA certificate with AWS IoT.
   272    */
   273   getRegistrationCode(params: Iot.Types.GetRegistrationCodeRequest, callback?: (err: AWSError, data: Iot.Types.GetRegistrationCodeResponse) => void): Request<Iot.Types.GetRegistrationCodeResponse, AWSError>;
   274   /**
   275    * Gets a registration code used to register a CA certificate with AWS IoT.
   276    */
   277   getRegistrationCode(callback?: (err: AWSError, data: Iot.Types.GetRegistrationCodeResponse) => void): Request<Iot.Types.GetRegistrationCodeResponse, AWSError>;
   278   /**
   279    * Gets information about the specified rule.
   280    */
   281   getTopicRule(params: Iot.Types.GetTopicRuleRequest, callback?: (err: AWSError, data: Iot.Types.GetTopicRuleResponse) => void): Request<Iot.Types.GetTopicRuleResponse, AWSError>;
   282   /**
   283    * Gets information about the specified rule.
   284    */
   285   getTopicRule(callback?: (err: AWSError, data: Iot.Types.GetTopicRuleResponse) => void): Request<Iot.Types.GetTopicRuleResponse, AWSError>;
   286   /**
   287    * Lists the CA certificates registered for your AWS account. The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.
   288    */
   289   listCACertificates(params: Iot.Types.ListCACertificatesRequest, callback?: (err: AWSError, data: Iot.Types.ListCACertificatesResponse) => void): Request<Iot.Types.ListCACertificatesResponse, AWSError>;
   290   /**
   291    * Lists the CA certificates registered for your AWS account. The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.
   292    */
   293   listCACertificates(callback?: (err: AWSError, data: Iot.Types.ListCACertificatesResponse) => void): Request<Iot.Types.ListCACertificatesResponse, AWSError>;
   294   /**
   295    * Lists the certificates registered in your AWS account. The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.
   296    */
   297   listCertificates(params: Iot.Types.ListCertificatesRequest, callback?: (err: AWSError, data: Iot.Types.ListCertificatesResponse) => void): Request<Iot.Types.ListCertificatesResponse, AWSError>;
   298   /**
   299    * Lists the certificates registered in your AWS account. The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.
   300    */
   301   listCertificates(callback?: (err: AWSError, data: Iot.Types.ListCertificatesResponse) => void): Request<Iot.Types.ListCertificatesResponse, AWSError>;
   302   /**
   303    * List the device certificates signed by the specified CA certificate.
   304    */
   305   listCertificatesByCA(params: Iot.Types.ListCertificatesByCARequest, callback?: (err: AWSError, data: Iot.Types.ListCertificatesByCAResponse) => void): Request<Iot.Types.ListCertificatesByCAResponse, AWSError>;
   306   /**
   307    * List the device certificates signed by the specified CA certificate.
   308    */
   309   listCertificatesByCA(callback?: (err: AWSError, data: Iot.Types.ListCertificatesByCAResponse) => void): Request<Iot.Types.ListCertificatesByCAResponse, AWSError>;
   310   /**
   311    * Lists certificates that are being transfered but not yet accepted.
   312    */
   313   listOutgoingCertificates(params: Iot.Types.ListOutgoingCertificatesRequest, callback?: (err: AWSError, data: Iot.Types.ListOutgoingCertificatesResponse) => void): Request<Iot.Types.ListOutgoingCertificatesResponse, AWSError>;
   314   /**
   315    * Lists certificates that are being transfered but not yet accepted.
   316    */
   317   listOutgoingCertificates(callback?: (err: AWSError, data: Iot.Types.ListOutgoingCertificatesResponse) => void): Request<Iot.Types.ListOutgoingCertificatesResponse, AWSError>;
   318   /**
   319    * Lists your policies.
   320    */
   321   listPolicies(params: Iot.Types.ListPoliciesRequest, callback?: (err: AWSError, data: Iot.Types.ListPoliciesResponse) => void): Request<Iot.Types.ListPoliciesResponse, AWSError>;
   322   /**
   323    * Lists your policies.
   324    */
   325   listPolicies(callback?: (err: AWSError, data: Iot.Types.ListPoliciesResponse) => void): Request<Iot.Types.ListPoliciesResponse, AWSError>;
   326   /**
   327    * Lists the principals associated with the specified policy.
   328    */
   329   listPolicyPrincipals(params: Iot.Types.ListPolicyPrincipalsRequest, callback?: (err: AWSError, data: Iot.Types.ListPolicyPrincipalsResponse) => void): Request<Iot.Types.ListPolicyPrincipalsResponse, AWSError>;
   330   /**
   331    * Lists the principals associated with the specified policy.
   332    */
   333   listPolicyPrincipals(callback?: (err: AWSError, data: Iot.Types.ListPolicyPrincipalsResponse) => void): Request<Iot.Types.ListPolicyPrincipalsResponse, AWSError>;
   334   /**
   335    * Lists the versions of the specified policy and identifies the default version.
   336    */
   337   listPolicyVersions(params: Iot.Types.ListPolicyVersionsRequest, callback?: (err: AWSError, data: Iot.Types.ListPolicyVersionsResponse) => void): Request<Iot.Types.ListPolicyVersionsResponse, AWSError>;
   338   /**
   339    * Lists the versions of the specified policy and identifies the default version.
   340    */
   341   listPolicyVersions(callback?: (err: AWSError, data: Iot.Types.ListPolicyVersionsResponse) => void): Request<Iot.Types.ListPolicyVersionsResponse, AWSError>;
   342   /**
   343    * Lists the policies attached to the specified principal. If you use an Cognito identity, the ID must be in AmazonCognito Identity format.
   344    */
   345   listPrincipalPolicies(params: Iot.Types.ListPrincipalPoliciesRequest, callback?: (err: AWSError, data: Iot.Types.ListPrincipalPoliciesResponse) => void): Request<Iot.Types.ListPrincipalPoliciesResponse, AWSError>;
   346   /**
   347    * Lists the policies attached to the specified principal. If you use an Cognito identity, the ID must be in AmazonCognito Identity format.
   348    */
   349   listPrincipalPolicies(callback?: (err: AWSError, data: Iot.Types.ListPrincipalPoliciesResponse) => void): Request<Iot.Types.ListPrincipalPoliciesResponse, AWSError>;
   350   /**
   351    * Lists the things associated with the specified principal.
   352    */
   353   listPrincipalThings(params: Iot.Types.ListPrincipalThingsRequest, callback?: (err: AWSError, data: Iot.Types.ListPrincipalThingsResponse) => void): Request<Iot.Types.ListPrincipalThingsResponse, AWSError>;
   354   /**
   355    * Lists the things associated with the specified principal.
   356    */
   357   listPrincipalThings(callback?: (err: AWSError, data: Iot.Types.ListPrincipalThingsResponse) => void): Request<Iot.Types.ListPrincipalThingsResponse, AWSError>;
   358   /**
   359    * Lists the principals associated with the specified thing.
   360    */
   361   listThingPrincipals(params: Iot.Types.ListThingPrincipalsRequest, callback?: (err: AWSError, data: Iot.Types.ListThingPrincipalsResponse) => void): Request<Iot.Types.ListThingPrincipalsResponse, AWSError>;
   362   /**
   363    * Lists the principals associated with the specified thing.
   364    */
   365   listThingPrincipals(callback?: (err: AWSError, data: Iot.Types.ListThingPrincipalsResponse) => void): Request<Iot.Types.ListThingPrincipalsResponse, AWSError>;
   366   /**
   367    * Lists the existing thing types.
   368    */
   369   listThingTypes(params: Iot.Types.ListThingTypesRequest, callback?: (err: AWSError, data: Iot.Types.ListThingTypesResponse) => void): Request<Iot.Types.ListThingTypesResponse, AWSError>;
   370   /**
   371    * Lists the existing thing types.
   372    */
   373   listThingTypes(callback?: (err: AWSError, data: Iot.Types.ListThingTypesResponse) => void): Request<Iot.Types.ListThingTypesResponse, AWSError>;
   374   /**
   375    * Lists your things. Use the attributeName and attributeValue parameters to filter your things. For example, calling ListThings with attributeName=Color and attributeValue=Red retrieves all things in the registry that contain an attribute Color with the value Red. 
   376    */
   377   listThings(params: Iot.Types.ListThingsRequest, callback?: (err: AWSError, data: Iot.Types.ListThingsResponse) => void): Request<Iot.Types.ListThingsResponse, AWSError>;
   378   /**
   379    * Lists your things. Use the attributeName and attributeValue parameters to filter your things. For example, calling ListThings with attributeName=Color and attributeValue=Red retrieves all things in the registry that contain an attribute Color with the value Red. 
   380    */
   381   listThings(callback?: (err: AWSError, data: Iot.Types.ListThingsResponse) => void): Request<Iot.Types.ListThingsResponse, AWSError>;
   382   /**
   383    * Lists the rules for the specific topic.
   384    */
   385   listTopicRules(params: Iot.Types.ListTopicRulesRequest, callback?: (err: AWSError, data: Iot.Types.ListTopicRulesResponse) => void): Request<Iot.Types.ListTopicRulesResponse, AWSError>;
   386   /**
   387    * Lists the rules for the specific topic.
   388    */
   389   listTopicRules(callback?: (err: AWSError, data: Iot.Types.ListTopicRulesResponse) => void): Request<Iot.Types.ListTopicRulesResponse, AWSError>;
   390   /**
   391    * Registers a CA certificate with AWS IoT. This CA certificate can then be used to sign device certificates, which can be then registered with AWS IoT. You can register up to 10 CA certificates per AWS account that have the same subject field and public key. This enables you to have up to 10 certificate authorities sign your device certificates. If you have more than one CA certificate registered, make sure you pass the CA certificate when you register your device certificates with the RegisterCertificate API.
   392    */
   393   registerCACertificate(params: Iot.Types.RegisterCACertificateRequest, callback?: (err: AWSError, data: Iot.Types.RegisterCACertificateResponse) => void): Request<Iot.Types.RegisterCACertificateResponse, AWSError>;
   394   /**
   395    * Registers a CA certificate with AWS IoT. This CA certificate can then be used to sign device certificates, which can be then registered with AWS IoT. You can register up to 10 CA certificates per AWS account that have the same subject field and public key. This enables you to have up to 10 certificate authorities sign your device certificates. If you have more than one CA certificate registered, make sure you pass the CA certificate when you register your device certificates with the RegisterCertificate API.
   396    */
   397   registerCACertificate(callback?: (err: AWSError, data: Iot.Types.RegisterCACertificateResponse) => void): Request<Iot.Types.RegisterCACertificateResponse, AWSError>;
   398   /**
   399    * Registers a device certificate with AWS IoT. If you have more than one CA certificate that has the same subject field, you must specify the CA certificate that was used to sign the device certificate being registered.
   400    */
   401   registerCertificate(params: Iot.Types.RegisterCertificateRequest, callback?: (err: AWSError, data: Iot.Types.RegisterCertificateResponse) => void): Request<Iot.Types.RegisterCertificateResponse, AWSError>;
   402   /**
   403    * Registers a device certificate with AWS IoT. If you have more than one CA certificate that has the same subject field, you must specify the CA certificate that was used to sign the device certificate being registered.
   404    */
   405   registerCertificate(callback?: (err: AWSError, data: Iot.Types.RegisterCertificateResponse) => void): Request<Iot.Types.RegisterCertificateResponse, AWSError>;
   406   /**
   407    * Rejects a pending certificate transfer. After AWS IoT rejects a certificate transfer, the certificate status changes from PENDING_TRANSFER to INACTIVE. To check for pending certificate transfers, call ListCertificates to enumerate your certificates. This operation can only be called by the transfer destination. After it is called, the certificate will be returned to the source's account in the INACTIVE state.
   408    */
   409   rejectCertificateTransfer(params: Iot.Types.RejectCertificateTransferRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   410   /**
   411    * Rejects a pending certificate transfer. After AWS IoT rejects a certificate transfer, the certificate status changes from PENDING_TRANSFER to INACTIVE. To check for pending certificate transfers, call ListCertificates to enumerate your certificates. This operation can only be called by the transfer destination. After it is called, the certificate will be returned to the source's account in the INACTIVE state.
   412    */
   413   rejectCertificateTransfer(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   414   /**
   415    * Replaces the specified rule. You must specify all parameters for the new rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.
   416    */
   417   replaceTopicRule(params: Iot.Types.ReplaceTopicRuleRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   418   /**
   419    * Replaces the specified rule. You must specify all parameters for the new rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.
   420    */
   421   replaceTopicRule(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   422   /**
   423    * Sets the specified version of the specified policy as the policy's default (operative) version. This action affects all certificates to which the policy is attached. To list the principals the policy is attached to, use the ListPrincipalPolicy API.
   424    */
   425   setDefaultPolicyVersion(params: Iot.Types.SetDefaultPolicyVersionRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   426   /**
   427    * Sets the specified version of the specified policy as the policy's default (operative) version. This action affects all certificates to which the policy is attached. To list the principals the policy is attached to, use the ListPrincipalPolicy API.
   428    */
   429   setDefaultPolicyVersion(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   430   /**
   431    * Sets the logging options.
   432    */
   433   setLoggingOptions(params: Iot.Types.SetLoggingOptionsRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   434   /**
   435    * Sets the logging options.
   436    */
   437   setLoggingOptions(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   438   /**
   439    * Transfers the specified certificate to the specified AWS account. You can cancel the transfer until it is acknowledged by the recipient. No notification is sent to the transfer destination's account. It is up to the caller to notify the transfer target. The certificate being transferred must not be in the ACTIVE state. You can use the UpdateCertificate API to deactivate it. The certificate must not have any policies attached to it. You can use the DetachPrincipalPolicy API to detach them.
   440    */
   441   transferCertificate(params: Iot.Types.TransferCertificateRequest, callback?: (err: AWSError, data: Iot.Types.TransferCertificateResponse) => void): Request<Iot.Types.TransferCertificateResponse, AWSError>;
   442   /**
   443    * Transfers the specified certificate to the specified AWS account. You can cancel the transfer until it is acknowledged by the recipient. No notification is sent to the transfer destination's account. It is up to the caller to notify the transfer target. The certificate being transferred must not be in the ACTIVE state. You can use the UpdateCertificate API to deactivate it. The certificate must not have any policies attached to it. You can use the DetachPrincipalPolicy API to detach them.
   444    */
   445   transferCertificate(callback?: (err: AWSError, data: Iot.Types.TransferCertificateResponse) => void): Request<Iot.Types.TransferCertificateResponse, AWSError>;
   446   /**
   447    * Updates a registered CA certificate.
   448    */
   449   updateCACertificate(params: Iot.Types.UpdateCACertificateRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   450   /**
   451    * Updates a registered CA certificate.
   452    */
   453   updateCACertificate(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   454   /**
   455    * Updates the status of the specified certificate. This operation is idempotent. Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect currently connected devices, but these devices will be unable to reconnect. The ACTIVE state is required to authenticate devices connecting to AWS IoT using a certificate.
   456    */
   457   updateCertificate(params: Iot.Types.UpdateCertificateRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   458   /**
   459    * Updates the status of the specified certificate. This operation is idempotent. Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect currently connected devices, but these devices will be unable to reconnect. The ACTIVE state is required to authenticate devices connecting to AWS IoT using a certificate.
   460    */
   461   updateCertificate(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
   462   /**
   463    * Updates the data for a thing.
   464    */
   465   updateThing(params: Iot.Types.UpdateThingRequest, callback?: (err: AWSError, data: Iot.Types.UpdateThingResponse) => void): Request<Iot.Types.UpdateThingResponse, AWSError>;
   466   /**
   467    * Updates the data for a thing.
   468    */
   469   updateThing(callback?: (err: AWSError, data: Iot.Types.UpdateThingResponse) => void): Request<Iot.Types.UpdateThingResponse, AWSError>;
   470 }
   471 declare namespace Iot.Types {
   472   export interface AcceptCertificateTransferRequest {
   473     /**
   474      * The ID of the certificate.
   475      */
   476     certificateId: CertificateId;
   477     /**
   478      * Specifies whether the certificate is active.
   479      */
   480     setAsActive?: SetAsActive;
   481   }
   482   export interface Action {
   483     /**
   484      * Write to a DynamoDB table.
   485      */
   486     dynamoDB?: DynamoDBAction;
   487     /**
   488      * Write to a DynamoDB table. This is a new version of the DynamoDB action. It allows you to write each attribute in an MQTT message payload into a separate DynamoDB column.
   489      */
   490     dynamoDBv2?: DynamoDBv2Action;
   491     /**
   492      * Invoke a Lambda function.
   493      */
   494     lambda?: LambdaAction;
   495     /**
   496      * Publish to an Amazon SNS topic.
   497      */
   498     sns?: SnsAction;
   499     /**
   500      * Publish to an Amazon SQS queue.
   501      */
   502     sqs?: SqsAction;
   503     /**
   504      * Write data to an Amazon Kinesis stream.
   505      */
   506     kinesis?: KinesisAction;
   507     /**
   508      * Publish to another MQTT topic.
   509      */
   510     republish?: RepublishAction;
   511     /**
   512      * Write to an Amazon S3 bucket.
   513      */
   514     s3?: S3Action;
   515     /**
   516      * Write to an Amazon Kinesis Firehose stream.
   517      */
   518     firehose?: FirehoseAction;
   519     /**
   520      * Capture a CloudWatch metric.
   521      */
   522     cloudwatchMetric?: CloudwatchMetricAction;
   523     /**
   524      * Change the state of a CloudWatch alarm.
   525      */
   526     cloudwatchAlarm?: CloudwatchAlarmAction;
   527     /**
   528      * Write data to an Amazon Elasticsearch Service domain.
   529      */
   530     elasticsearch?: ElasticsearchAction;
   531   }
   532   export type ActionList = Action[];
   533   export type AlarmName = string;
   534   export type AllowAutoRegistration = boolean;
   535   export type AscendingOrder = boolean;
   536   export interface AttachPrincipalPolicyRequest {
   537     /**
   538      * The policy name.
   539      */
   540     policyName: PolicyName;
   541     /**
   542      * The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.
   543      */
   544     principal: Principal;
   545   }
   546   export interface AttachThingPrincipalRequest {
   547     /**
   548      * The name of the thing.
   549      */
   550     thingName: ThingName;
   551     /**
   552      * The principal, such as a certificate or other credential.
   553      */
   554     principal: Principal;
   555   }
   556   export interface AttachThingPrincipalResponse {
   557   }
   558   export type AttributeName = string;
   559   export interface AttributePayload {
   560     /**
   561      * A JSON string containing up to three key-value pair in JSON format. For example: {\"attributes\":{\"string1\":\"string2\"}})
   562      */
   563     attributes?: Attributes;
   564     /**
   565      * Specifies whether the list of attributes provided in the AttributePayload is merged with the attributes stored in the registry, instead of overwriting them. To remove an attribute, call UpdateThing with an empty attribute value.  The merge attribute is only valid when calling UpdateThing. 
   566      */
   567     merge?: Flag;
   568   }
   569   export type AttributeValue = string;
   570   export type Attributes = {[key: string]: AttributeValue};
   571   export type AutoRegistrationStatus = "ENABLE"|"DISABLE"|string;
   572   export type AwsAccountId = string;
   573   export type AwsArn = string;
   574   export type AwsIotSqlVersion = string;
   575   export type Boolean = boolean;
   576   export type BucketName = string;
   577   export interface CACertificate {
   578     /**
   579      * The ARN of the CA certificate.
   580      */
   581     certificateArn?: CertificateArn;
   582     /**
   583      * The ID of the CA certificate.
   584      */
   585     certificateId?: CertificateId;
   586     /**
   587      * The status of the CA certificate.  The status value REGISTER_INACTIVE is deprecated and should not be used.
   588      */
   589     status?: CACertificateStatus;
   590     /**
   591      * The date the CA certificate was created.
   592      */
   593     creationDate?: DateType;
   594   }
   595   export interface CACertificateDescription {
   596     /**
   597      * The CA certificate ARN.
   598      */
   599     certificateArn?: CertificateArn;
   600     /**
   601      * The CA certificate ID.
   602      */
   603     certificateId?: CertificateId;
   604     /**
   605      * The status of a CA certificate.
   606      */
   607     status?: CACertificateStatus;
   608     /**
   609      * The CA certificate data, in PEM format.
   610      */
   611     certificatePem?: CertificatePem;
   612     /**
   613      * The owner of the CA certificate.
   614      */
   615     ownedBy?: AwsAccountId;
   616     /**
   617      * The date the CA certificate was created.
   618      */
   619     creationDate?: DateType;
   620     /**
   621      * Whether the CA certificate configured for auto registration of device certificates. Valid values are "ENABLE" and "DISABLE"
   622      */
   623     autoRegistrationStatus?: AutoRegistrationStatus;
   624   }
   625   export type CACertificateStatus = "ACTIVE"|"INACTIVE"|string;
   626   export type CACertificates = CACertificate[];
   627   export interface CancelCertificateTransferRequest {
   628     /**
   629      * The ID of the certificate.
   630      */
   631     certificateId: CertificateId;
   632   }
   633   export type CannedAccessControlList = "private"|"public-read"|"public-read-write"|"aws-exec-read"|"authenticated-read"|"bucket-owner-read"|"bucket-owner-full-control"|"log-delivery-write"|string;
   634   export interface Certificate {
   635     /**
   636      * The ARN of the certificate.
   637      */
   638     certificateArn?: CertificateArn;
   639     /**
   640      * The ID of the certificate.
   641      */
   642     certificateId?: CertificateId;
   643     /**
   644      * The status of the certificate. The status value REGISTER_INACTIVE is deprecated and should not be used.
   645      */
   646     status?: CertificateStatus;
   647     /**
   648      * The date and time the certificate was created.
   649      */
   650     creationDate?: DateType;
   651   }
   652   export type CertificateArn = string;
   653   export interface CertificateDescription {
   654     /**
   655      * The ARN of the certificate.
   656      */
   657     certificateArn?: CertificateArn;
   658     /**
   659      * The ID of the certificate.
   660      */
   661     certificateId?: CertificateId;
   662     /**
   663      * The certificate ID of the CA certificate used to sign this certificate.
   664      */
   665     caCertificateId?: CertificateId;
   666     /**
   667      * The status of the certificate.
   668      */
   669     status?: CertificateStatus;
   670     /**
   671      * The certificate data, in PEM format.
   672      */
   673     certificatePem?: CertificatePem;
   674     /**
   675      * The ID of the AWS account that owns the certificate.
   676      */
   677     ownedBy?: AwsAccountId;
   678     /**
   679      * The ID of the AWS account of the previous owner of the certificate.
   680      */
   681     previousOwnedBy?: AwsAccountId;
   682     /**
   683      * The date and time the certificate was created.
   684      */
   685     creationDate?: DateType;
   686     /**
   687      * The date and time the certificate was last modified.
   688      */
   689     lastModifiedDate?: DateType;
   690     /**
   691      * The transfer data.
   692      */
   693     transferData?: TransferData;
   694   }
   695   export type CertificateId = string;
   696   export type CertificatePem = string;
   697   export type CertificateSigningRequest = string;
   698   export type CertificateStatus = "ACTIVE"|"INACTIVE"|"REVOKED"|"PENDING_TRANSFER"|"REGISTER_INACTIVE"|"PENDING_ACTIVATION"|string;
   699   export type Certificates = Certificate[];
   700   export type ClientId = string;
   701   export interface CloudwatchAlarmAction {
   702     /**
   703      * The IAM role that allows access to the CloudWatch alarm.
   704      */
   705     roleArn: AwsArn;
   706     /**
   707      * The CloudWatch alarm name.
   708      */
   709     alarmName: AlarmName;
   710     /**
   711      * The reason for the alarm change.
   712      */
   713     stateReason: StateReason;
   714     /**
   715      * The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.
   716      */
   717     stateValue: StateValue;
   718   }
   719   export interface CloudwatchMetricAction {
   720     /**
   721      * The IAM role that allows access to the CloudWatch metric.
   722      */
   723     roleArn: AwsArn;
   724     /**
   725      * The CloudWatch metric namespace name.
   726      */
   727     metricNamespace: MetricNamespace;
   728     /**
   729      * The CloudWatch metric name.
   730      */
   731     metricName: MetricName;
   732     /**
   733      * The CloudWatch metric value.
   734      */
   735     metricValue: MetricValue;
   736     /**
   737      * The metric unit supported by CloudWatch.
   738      */
   739     metricUnit: MetricUnit;
   740     /**
   741      * An optional Unix timestamp.
   742      */
   743     metricTimestamp?: MetricTimestamp;
   744   }
   745   export interface CreateCertificateFromCsrRequest {
   746     /**
   747      * The certificate signing request (CSR).
   748      */
   749     certificateSigningRequest: CertificateSigningRequest;
   750     /**
   751      * Specifies whether the certificate is active.
   752      */
   753     setAsActive?: SetAsActive;
   754   }
   755   export interface CreateCertificateFromCsrResponse {
   756     /**
   757      * The Amazon Resource Name (ARN) of the certificate. You can use the ARN as a principal for policy operations.
   758      */
   759     certificateArn?: CertificateArn;
   760     /**
   761      * The ID of the certificate. Certificate management operations only take a certificateId.
   762      */
   763     certificateId?: CertificateId;
   764     /**
   765      * The certificate data, in PEM format.
   766      */
   767     certificatePem?: CertificatePem;
   768   }
   769   export interface CreateKeysAndCertificateRequest {
   770     /**
   771      * Specifies whether the certificate is active.
   772      */
   773     setAsActive?: SetAsActive;
   774   }
   775   export interface CreateKeysAndCertificateResponse {
   776     /**
   777      * The ARN of the certificate.
   778      */
   779     certificateArn?: CertificateArn;
   780     /**
   781      * The ID of the certificate. AWS IoT issues a default subject name for the certificate (for example, AWS IoT Certificate).
   782      */
   783     certificateId?: CertificateId;
   784     /**
   785      * The certificate data, in PEM format.
   786      */
   787     certificatePem?: CertificatePem;
   788     /**
   789      * The generated key pair.
   790      */
   791     keyPair?: KeyPair;
   792   }
   793   export interface CreatePolicyRequest {
   794     /**
   795      * The policy name.
   796      */
   797     policyName: PolicyName;
   798     /**
   799      * The JSON document that describes the policy. policyDocument must have a minimum length of 1, with a maximum length of 2048, excluding whitespace.
   800      */
   801     policyDocument: PolicyDocument;
   802   }
   803   export interface CreatePolicyResponse {
   804     /**
   805      * The policy name.
   806      */
   807     policyName?: PolicyName;
   808     /**
   809      * The policy ARN.
   810      */
   811     policyArn?: PolicyArn;
   812     /**
   813      * The JSON document that describes the policy.
   814      */
   815     policyDocument?: PolicyDocument;
   816     /**
   817      * The policy version ID.
   818      */
   819     policyVersionId?: PolicyVersionId;
   820   }
   821   export interface CreatePolicyVersionRequest {
   822     /**
   823      * The policy name.
   824      */
   825     policyName: PolicyName;
   826     /**
   827      * The JSON document that describes the policy. Minimum length of 1. Maximum length of 2048, excluding whitespaces
   828      */
   829     policyDocument: PolicyDocument;
   830     /**
   831      * Specifies whether the policy version is set as the default. When this parameter is true, the new policy version becomes the operative version (that is, the version that is in effect for the certificates to which the policy is attached).
   832      */
   833     setAsDefault?: SetAsDefault;
   834   }
   835   export interface CreatePolicyVersionResponse {
   836     /**
   837      * The policy ARN.
   838      */
   839     policyArn?: PolicyArn;
   840     /**
   841      * The JSON document that describes the policy.
   842      */
   843     policyDocument?: PolicyDocument;
   844     /**
   845      * The policy version ID.
   846      */
   847     policyVersionId?: PolicyVersionId;
   848     /**
   849      * Specifies whether the policy version is the default.
   850      */
   851     isDefaultVersion?: IsDefaultVersion;
   852   }
   853   export interface CreateThingRequest {
   854     /**
   855      * The name of the thing to create.
   856      */
   857     thingName: ThingName;
   858     /**
   859      * The name of the thing type associated with the new thing.
   860      */
   861     thingTypeName?: ThingTypeName;
   862     /**
   863      * The attribute payload, which consists of up to three name/value pairs in a JSON document. For example: {\"attributes\":{\"string1\":\"string2\"}})
   864      */
   865     attributePayload?: AttributePayload;
   866   }
   867   export interface CreateThingResponse {
   868     /**
   869      * The name of the new thing.
   870      */
   871     thingName?: ThingName;
   872     /**
   873      * The ARN of the new thing.
   874      */
   875     thingArn?: ThingArn;
   876   }
   877   export interface CreateThingTypeRequest {
   878     /**
   879      * The name of the thing type.
   880      */
   881     thingTypeName: ThingTypeName;
   882     /**
   883      * The ThingTypeProperties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names.
   884      */
   885     thingTypeProperties?: ThingTypeProperties;
   886   }
   887   export interface CreateThingTypeResponse {
   888     /**
   889      * The name of the thing type.
   890      */
   891     thingTypeName?: ThingTypeName;
   892     /**
   893      * The Amazon Resource Name (ARN) of the thing type.
   894      */
   895     thingTypeArn?: ThingTypeArn;
   896   }
   897   export interface CreateTopicRuleRequest {
   898     /**
   899      * The name of the rule.
   900      */
   901     ruleName: RuleName;
   902     /**
   903      * The rule payload.
   904      */
   905     topicRulePayload: TopicRulePayload;
   906   }
   907   export type CreatedAtDate = Date;
   908   export type CreationDate = Date;
   909   export type DateType = Date;
   910   export interface DeleteCACertificateRequest {
   911     /**
   912      * The ID of the certificate to delete.
   913      */
   914     certificateId: CertificateId;
   915   }
   916   export interface DeleteCACertificateResponse {
   917   }
   918   export interface DeleteCertificateRequest {
   919     /**
   920      * The ID of the certificate.
   921      */
   922     certificateId: CertificateId;
   923   }
   924   export interface DeletePolicyRequest {
   925     /**
   926      * The name of the policy to delete.
   927      */
   928     policyName: PolicyName;
   929   }
   930   export interface DeletePolicyVersionRequest {
   931     /**
   932      * The name of the policy.
   933      */
   934     policyName: PolicyName;
   935     /**
   936      * The policy version ID.
   937      */
   938     policyVersionId: PolicyVersionId;
   939   }
   940   export interface DeleteRegistrationCodeRequest {
   941   }
   942   export interface DeleteRegistrationCodeResponse {
   943   }
   944   export interface DeleteThingRequest {
   945     /**
   946      * The name of the thing to delete.
   947      */
   948     thingName: ThingName;
   949     /**
   950      * The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the DeleteThing request is rejected with a VersionConflictException.
   951      */
   952     expectedVersion?: OptionalVersion;
   953   }
   954   export interface DeleteThingResponse {
   955   }
   956   export interface DeleteThingTypeRequest {
   957     /**
   958      * The name of the thing type.
   959      */
   960     thingTypeName: ThingTypeName;
   961   }
   962   export interface DeleteThingTypeResponse {
   963   }
   964   export interface DeleteTopicRuleRequest {
   965     /**
   966      * The name of the rule.
   967      */
   968     ruleName: RuleName;
   969   }
   970   export type DeliveryStreamName = string;
   971   export interface DeprecateThingTypeRequest {
   972     /**
   973      * The name of the thing type to deprecate.
   974      */
   975     thingTypeName: ThingTypeName;
   976     /**
   977      * Whether to undeprecate a deprecated thing type. If true, the thing type will not be deprecated anymore and you can associate it with things.
   978      */
   979     undoDeprecate?: UndoDeprecate;
   980   }
   981   export interface DeprecateThingTypeResponse {
   982   }
   983   export type DeprecationDate = Date;
   984   export interface DescribeCACertificateRequest {
   985     /**
   986      * The CA certificate identifier.
   987      */
   988     certificateId: CertificateId;
   989   }
   990   export interface DescribeCACertificateResponse {
   991     /**
   992      * The CA certificate description.
   993      */
   994     certificateDescription?: CACertificateDescription;
   995   }
   996   export interface DescribeCertificateRequest {
   997     /**
   998      * The ID of the certificate.
   999      */
  1000     certificateId: CertificateId;
  1001   }
  1002   export interface DescribeCertificateResponse {
  1003     /**
  1004      * The description of the certificate.
  1005      */
  1006     certificateDescription?: CertificateDescription;
  1007   }
  1008   export interface DescribeEndpointRequest {
  1009   }
  1010   export interface DescribeEndpointResponse {
  1011     /**
  1012      * The endpoint. The format of the endpoint is as follows: identifier.iot.region.amazonaws.com.
  1013      */
  1014     endpointAddress?: EndpointAddress;
  1015   }
  1016   export interface DescribeThingRequest {
  1017     /**
  1018      * The name of the thing.
  1019      */
  1020     thingName: ThingName;
  1021   }
  1022   export interface DescribeThingResponse {
  1023     /**
  1024      * The default client ID.
  1025      */
  1026     defaultClientId?: ClientId;
  1027     /**
  1028      * The name of the thing.
  1029      */
  1030     thingName?: ThingName;
  1031     /**
  1032      * The thing type name.
  1033      */
  1034     thingTypeName?: ThingTypeName;
  1035     /**
  1036      * The thing attributes.
  1037      */
  1038     attributes?: Attributes;
  1039     /**
  1040      * The current version of the thing record in the registry.  To avoid unintentional changes to the information in the registry, you can pass the version information in the expectedVersion parameter of the UpdateThing and DeleteThing calls. 
  1041      */
  1042     version?: Version;
  1043   }
  1044   export interface DescribeThingTypeRequest {
  1045     /**
  1046      * The name of the thing type.
  1047      */
  1048     thingTypeName: ThingTypeName;
  1049   }
  1050   export interface DescribeThingTypeResponse {
  1051     /**
  1052      * The name of the thing type.
  1053      */
  1054     thingTypeName?: ThingTypeName;
  1055     /**
  1056      * The ThingTypeProperties contains information about the thing type including description, and a list of searchable thing attribute names.
  1057      */
  1058     thingTypeProperties?: ThingTypeProperties;
  1059     thingTypeMetadata?: ThingTypeMetadata;
  1060   }
  1061   export type Description = string;
  1062   export interface DetachPrincipalPolicyRequest {
  1063     /**
  1064      * The name of the policy to detach.
  1065      */
  1066     policyName: PolicyName;
  1067     /**
  1068      * The principal. If the principal is a certificate, specify the certificate ARN. If the principal is an Amazon Cognito identity, specify the identity ID.
  1069      */
  1070     principal: Principal;
  1071   }
  1072   export interface DetachThingPrincipalRequest {
  1073     /**
  1074      * The name of the thing.
  1075      */
  1076     thingName: ThingName;
  1077     /**
  1078      * If the principal is a certificate, this value must be ARN of the certificate. If the principal is an Amazon Cognito identity, this value must be the ID of the Amazon Cognito identity.
  1079      */
  1080     principal: Principal;
  1081   }
  1082   export interface DetachThingPrincipalResponse {
  1083   }
  1084   export interface DisableTopicRuleRequest {
  1085     /**
  1086      * The name of the rule to disable.
  1087      */
  1088     ruleName: RuleName;
  1089   }
  1090   export interface DynamoDBAction {
  1091     /**
  1092      * The name of the DynamoDB table.
  1093      */
  1094     tableName: TableName;
  1095     /**
  1096      * The ARN of the IAM role that grants access to the DynamoDB table.
  1097      */
  1098     roleArn: AwsArn;
  1099     /**
  1100      * The type of operation to be performed. This follows the substitution template, so it can be ${operation}, but the substitution must result in one of the following: INSERT, UPDATE, or DELETE.
  1101      */
  1102     operation?: DynamoOperation;
  1103     /**
  1104      * The hash key name.
  1105      */
  1106     hashKeyField: HashKeyField;
  1107     /**
  1108      * The hash key value.
  1109      */
  1110     hashKeyValue: HashKeyValue;
  1111     /**
  1112      * The hash key type. Valid values are "STRING" or "NUMBER"
  1113      */
  1114     hashKeyType?: DynamoKeyType;
  1115     /**
  1116      * The range key name.
  1117      */
  1118     rangeKeyField?: RangeKeyField;
  1119     /**
  1120      * The range key value.
  1121      */
  1122     rangeKeyValue?: RangeKeyValue;
  1123     /**
  1124      * The range key type. Valid values are "STRING" or "NUMBER"
  1125      */
  1126     rangeKeyType?: DynamoKeyType;
  1127     /**
  1128      * The action payload. This name can be customized.
  1129      */
  1130     payloadField?: PayloadField;
  1131   }
  1132   export interface DynamoDBv2Action {
  1133     /**
  1134      * The ARN of the IAM role that grants access to the DynamoDB table.
  1135      */
  1136     roleArn?: AwsArn;
  1137     /**
  1138      * Specifies the DynamoDB table to which the message data will be written. For example: { "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } } Each attribute in the message payload will be written to a separate column in the DynamoDB database.
  1139      */
  1140     putItem?: PutItemInput;
  1141   }
  1142   export type DynamoKeyType = "STRING"|"NUMBER"|string;
  1143   export type DynamoOperation = string;
  1144   export interface ElasticsearchAction {
  1145     /**
  1146      * The IAM role ARN that has access to Elasticsearch.
  1147      */
  1148     roleArn: AwsArn;
  1149     /**
  1150      * The endpoint of your Elasticsearch domain.
  1151      */
  1152     endpoint: ElasticsearchEndpoint;
  1153     /**
  1154      * The Elasticsearch index where you want to store your data.
  1155      */
  1156     index: ElasticsearchIndex;
  1157     /**
  1158      * The type of document you are storing.
  1159      */
  1160     type: ElasticsearchType;
  1161     /**
  1162      * The unique identifier for the document you are storing.
  1163      */
  1164     id: ElasticsearchId;
  1165   }
  1166   export type ElasticsearchEndpoint = string;
  1167   export type ElasticsearchId = string;
  1168   export type ElasticsearchIndex = string;
  1169   export type ElasticsearchType = string;
  1170   export interface EnableTopicRuleRequest {
  1171     /**
  1172      * The name of the topic rule to enable.
  1173      */
  1174     ruleName: RuleName;
  1175   }
  1176   export type EndpointAddress = string;
  1177   export interface FirehoseAction {
  1178     /**
  1179      * The IAM role that grants access to the Amazon Kinesis Firehost stream.
  1180      */
  1181     roleArn: AwsArn;
  1182     /**
  1183      * The delivery stream name.
  1184      */
  1185     deliveryStreamName: DeliveryStreamName;
  1186     /**
  1187      * A character separator that will be used to separate records written to the Firehose stream. Valid values are: '\n' (newline), '\t' (tab), '\r\n' (Windows newline), ',' (comma).
  1188      */
  1189     separator?: FirehoseSeparator;
  1190   }
  1191   export type FirehoseSeparator = string;
  1192   export type Flag = boolean;
  1193   export type FunctionArn = string;
  1194   export interface GetLoggingOptionsRequest {
  1195   }
  1196   export interface GetLoggingOptionsResponse {
  1197     /**
  1198      * The ARN of the IAM role that grants access.
  1199      */
  1200     roleArn?: AwsArn;
  1201     /**
  1202      * The logging level.
  1203      */
  1204     logLevel?: LogLevel;
  1205   }
  1206   export interface GetPolicyRequest {
  1207     /**
  1208      * The name of the policy.
  1209      */
  1210     policyName: PolicyName;
  1211   }
  1212   export interface GetPolicyResponse {
  1213     /**
  1214      * The policy name.
  1215      */
  1216     policyName?: PolicyName;
  1217     /**
  1218      * The policy ARN.
  1219      */
  1220     policyArn?: PolicyArn;
  1221     /**
  1222      * The JSON document that describes the policy.
  1223      */
  1224     policyDocument?: PolicyDocument;
  1225     /**
  1226      * The default policy version ID.
  1227      */
  1228     defaultVersionId?: PolicyVersionId;
  1229   }
  1230   export interface GetPolicyVersionRequest {
  1231     /**
  1232      * The name of the policy.
  1233      */
  1234     policyName: PolicyName;
  1235     /**
  1236      * The policy version ID.
  1237      */
  1238     policyVersionId: PolicyVersionId;
  1239   }
  1240   export interface GetPolicyVersionResponse {
  1241     /**
  1242      * The policy ARN.
  1243      */
  1244     policyArn?: PolicyArn;
  1245     /**
  1246      * The policy name.
  1247      */
  1248     policyName?: PolicyName;
  1249     /**
  1250      * The JSON document that describes the policy.
  1251      */
  1252     policyDocument?: PolicyDocument;
  1253     /**
  1254      * The policy version ID.
  1255      */
  1256     policyVersionId?: PolicyVersionId;
  1257     /**
  1258      * Specifies whether the policy version is the default.
  1259      */
  1260     isDefaultVersion?: IsDefaultVersion;
  1261   }
  1262   export interface GetRegistrationCodeRequest {
  1263   }
  1264   export interface GetRegistrationCodeResponse {
  1265     /**
  1266      * The CA certificate registration code.
  1267      */
  1268     registrationCode?: RegistrationCode;
  1269   }
  1270   export interface GetTopicRuleRequest {
  1271     /**
  1272      * The name of the rule.
  1273      */
  1274     ruleName: RuleName;
  1275   }
  1276   export interface GetTopicRuleResponse {
  1277     /**
  1278      * The rule ARN.
  1279      */
  1280     ruleArn?: RuleArn;
  1281     /**
  1282      * The rule.
  1283      */
  1284     rule?: TopicRule;
  1285   }
  1286   export type HashKeyField = string;
  1287   export type HashKeyValue = string;
  1288   export type IsDefaultVersion = boolean;
  1289   export type IsDisabled = boolean;
  1290   export type Key = string;
  1291   export interface KeyPair {
  1292     /**
  1293      * The public key.
  1294      */
  1295     PublicKey?: PublicKey;
  1296     /**
  1297      * The private key.
  1298      */
  1299     PrivateKey?: PrivateKey;
  1300   }
  1301   export interface KinesisAction {
  1302     /**
  1303      * The ARN of the IAM role that grants access to the Amazon Kinesis stream.
  1304      */
  1305     roleArn: AwsArn;
  1306     /**
  1307      * The name of the Amazon Kinesis stream.
  1308      */
  1309     streamName: StreamName;
  1310     /**
  1311      * The partition key.
  1312      */
  1313     partitionKey?: PartitionKey;
  1314   }
  1315   export interface LambdaAction {
  1316     /**
  1317      * The ARN of the Lambda function.
  1318      */
  1319     functionArn: FunctionArn;
  1320   }
  1321   export interface ListCACertificatesRequest {
  1322     /**
  1323      * The result page size.
  1324      */
  1325     pageSize?: PageSize;
  1326     /**
  1327      * The marker for the next set of results.
  1328      */
  1329     marker?: Marker;
  1330     /**
  1331      * Determines the order of the results.
  1332      */
  1333     ascendingOrder?: AscendingOrder;
  1334   }
  1335   export interface ListCACertificatesResponse {
  1336     /**
  1337      * The CA certificates registered in your AWS account.
  1338      */
  1339     certificates?: CACertificates;
  1340     /**
  1341      * The current position within the list of CA certificates.
  1342      */
  1343     nextMarker?: Marker;
  1344   }
  1345   export interface ListCertificatesByCARequest {
  1346     /**
  1347      * The ID of the CA certificate. This operation will list all registered device certificate that were signed by this CA certificate. 
  1348      */
  1349     caCertificateId: CertificateId;
  1350     /**
  1351      * The result page size.
  1352      */
  1353     pageSize?: PageSize;
  1354     /**
  1355      * The marker for the next set of results.
  1356      */
  1357     marker?: Marker;
  1358     /**
  1359      * Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.
  1360      */
  1361     ascendingOrder?: AscendingOrder;
  1362   }
  1363   export interface ListCertificatesByCAResponse {
  1364     /**
  1365      * The device certificates signed by the specified CA certificate.
  1366      */
  1367     certificates?: Certificates;
  1368     /**
  1369      * The marker for the next set of results, or null if there are no additional results.
  1370      */
  1371     nextMarker?: Marker;
  1372   }
  1373   export interface ListCertificatesRequest {
  1374     /**
  1375      * The result page size.
  1376      */
  1377     pageSize?: PageSize;
  1378     /**
  1379      * The marker for the next set of results.
  1380      */
  1381     marker?: Marker;
  1382     /**
  1383      * Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.
  1384      */
  1385     ascendingOrder?: AscendingOrder;
  1386   }
  1387   export interface ListCertificatesResponse {
  1388     /**
  1389      * The descriptions of the certificates.
  1390      */
  1391     certificates?: Certificates;
  1392     /**
  1393      * The marker for the next set of results, or null if there are no additional results.
  1394      */
  1395     nextMarker?: Marker;
  1396   }
  1397   export interface ListOutgoingCertificatesRequest {
  1398     /**
  1399      * The result page size.
  1400      */
  1401     pageSize?: PageSize;
  1402     /**
  1403      * The marker for the next set of results.
  1404      */
  1405     marker?: Marker;
  1406     /**
  1407      * Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.
  1408      */
  1409     ascendingOrder?: AscendingOrder;
  1410   }
  1411   export interface ListOutgoingCertificatesResponse {
  1412     /**
  1413      * The certificates that are being transfered but not yet accepted.
  1414      */
  1415     outgoingCertificates?: OutgoingCertificates;
  1416     /**
  1417      * The marker for the next set of results.
  1418      */
  1419     nextMarker?: Marker;
  1420   }
  1421   export interface ListPoliciesRequest {
  1422     /**
  1423      * The marker for the next set of results.
  1424      */
  1425     marker?: Marker;
  1426     /**
  1427      * The result page size.
  1428      */
  1429     pageSize?: PageSize;
  1430     /**
  1431      * Specifies the order for results. If true, the results are returned in ascending creation order.
  1432      */
  1433     ascendingOrder?: AscendingOrder;
  1434   }
  1435   export interface ListPoliciesResponse {
  1436     /**
  1437      * The descriptions of the policies.
  1438      */
  1439     policies?: Policies;
  1440     /**
  1441      * The marker for the next set of results, or null if there are no additional results.
  1442      */
  1443     nextMarker?: Marker;
  1444   }
  1445   export interface ListPolicyPrincipalsRequest {
  1446     /**
  1447      * The policy name.
  1448      */
  1449     policyName: PolicyName;
  1450     /**
  1451      * The marker for the next set of results.
  1452      */
  1453     marker?: Marker;
  1454     /**
  1455      * The result page size.
  1456      */
  1457     pageSize?: PageSize;
  1458     /**
  1459      * Specifies the order for results. If true, the results are returned in ascending creation order.
  1460      */
  1461     ascendingOrder?: AscendingOrder;
  1462   }
  1463   export interface ListPolicyPrincipalsResponse {
  1464     /**
  1465      * The descriptions of the principals.
  1466      */
  1467     principals?: Principals;
  1468     /**
  1469      * The marker for the next set of results, or null if there are no additional results.
  1470      */
  1471     nextMarker?: Marker;
  1472   }
  1473   export interface ListPolicyVersionsRequest {
  1474     /**
  1475      * The policy name.
  1476      */
  1477     policyName: PolicyName;
  1478   }
  1479   export interface ListPolicyVersionsResponse {
  1480     /**
  1481      * The policy versions.
  1482      */
  1483     policyVersions?: PolicyVersions;
  1484   }
  1485   export interface ListPrincipalPoliciesRequest {
  1486     /**
  1487      * The principal.
  1488      */
  1489     principal: Principal;
  1490     /**
  1491      * The marker for the next set of results.
  1492      */
  1493     marker?: Marker;
  1494     /**
  1495      * The result page size.
  1496      */
  1497     pageSize?: PageSize;
  1498     /**
  1499      * Specifies the order for results. If true, results are returned in ascending creation order.
  1500      */
  1501     ascendingOrder?: AscendingOrder;
  1502   }
  1503   export interface ListPrincipalPoliciesResponse {
  1504     /**
  1505      * The policies.
  1506      */
  1507     policies?: Policies;
  1508     /**
  1509      * The marker for the next set of results, or null if there are no additional results.
  1510      */
  1511     nextMarker?: Marker;
  1512   }
  1513   export interface ListPrincipalThingsRequest {
  1514     /**
  1515      * The token for the next set of results, or null if there are no additional results.
  1516      */
  1517     nextToken?: NextToken;
  1518     /**
  1519      * The maximum number of results to return in this operation.
  1520      */
  1521     maxResults?: MaxResults;
  1522     /**
  1523      * The principal.
  1524      */
  1525     principal: Principal;
  1526   }
  1527   export interface ListPrincipalThingsResponse {
  1528     /**
  1529      * The things.
  1530      */
  1531     things?: ThingNameList;
  1532     /**
  1533      * The token for the next set of results, or null if there are no additional results.
  1534      */
  1535     nextToken?: NextToken;
  1536   }
  1537   export interface ListThingPrincipalsRequest {
  1538     /**
  1539      * The name of the thing.
  1540      */
  1541     thingName: ThingName;
  1542   }
  1543   export interface ListThingPrincipalsResponse {
  1544     /**
  1545      * The principals associated with the thing.
  1546      */
  1547     principals?: Principals;
  1548   }
  1549   export interface ListThingTypesRequest {
  1550     /**
  1551      * The token for the next set of results, or null if there are no additional results.
  1552      */
  1553     nextToken?: NextToken;
  1554     /**
  1555      * The maximum number of results to return in this operation.
  1556      */
  1557     maxResults?: MaxResults;
  1558     /**
  1559      * The name of the thing type.
  1560      */
  1561     thingTypeName?: ThingTypeName;
  1562   }
  1563   export interface ListThingTypesResponse {
  1564     /**
  1565      * The thing types.
  1566      */
  1567     thingTypes?: ThingTypeList;
  1568     /**
  1569      * The token for the next set of results, or null if there are no additional results.
  1570      */
  1571     nextToken?: NextToken;
  1572   }
  1573   export interface ListThingsRequest {
  1574     /**
  1575      * The token for the next set of results, or null if there are no additional results.
  1576      */
  1577     nextToken?: NextToken;
  1578     /**
  1579      * The maximum number of results to return in this operation.
  1580      */
  1581     maxResults?: MaxResults;
  1582     /**
  1583      * The attribute name used to search for things.
  1584      */
  1585     attributeName?: AttributeName;
  1586     /**
  1587      * The attribute value used to search for things.
  1588      */
  1589     attributeValue?: AttributeValue;
  1590     /**
  1591      * The name of the thing type used to search for things.
  1592      */
  1593     thingTypeName?: ThingTypeName;
  1594   }
  1595   export interface ListThingsResponse {
  1596     /**
  1597      * The things.
  1598      */
  1599     things?: ThingAttributeList;
  1600     /**
  1601      * The token for the next set of results, or null if there are no additional results.
  1602      */
  1603     nextToken?: NextToken;
  1604   }
  1605   export interface ListTopicRulesRequest {
  1606     /**
  1607      * The topic.
  1608      */
  1609     topic?: Topic;
  1610     /**
  1611      * The maximum number of results to return.
  1612      */
  1613     maxResults?: MaxResults;
  1614     /**
  1615      * A token used to retrieve the next value.
  1616      */
  1617     nextToken?: NextToken;
  1618     /**
  1619      * Specifies whether the rule is disabled.
  1620      */
  1621     ruleDisabled?: IsDisabled;
  1622   }
  1623   export interface ListTopicRulesResponse {
  1624     /**
  1625      * The rules.
  1626      */
  1627     rules?: TopicRuleList;
  1628     /**
  1629      * A token used to retrieve the next value.
  1630      */
  1631     nextToken?: NextToken;
  1632   }
  1633   export type LogLevel = "DEBUG"|"INFO"|"ERROR"|"WARN"|"DISABLED"|string;
  1634   export interface LoggingOptionsPayload {
  1635     /**
  1636      * The ARN of the IAM role that grants access.
  1637      */
  1638     roleArn: AwsArn;
  1639     /**
  1640      * The logging level.
  1641      */
  1642     logLevel?: LogLevel;
  1643   }
  1644   export type Marker = string;
  1645   export type MaxResults = number;
  1646   export type Message = string;
  1647   export type MessageFormat = "RAW"|"JSON"|string;
  1648   export type MetricName = string;
  1649   export type MetricNamespace = string;
  1650   export type MetricTimestamp = string;
  1651   export type MetricUnit = string;
  1652   export type MetricValue = string;
  1653   export type NextToken = string;
  1654   export type OptionalVersion = number;
  1655   export interface OutgoingCertificate {
  1656     /**
  1657      * The certificate ARN.
  1658      */
  1659     certificateArn?: CertificateArn;
  1660     /**
  1661      * The certificate ID.
  1662      */
  1663     certificateId?: CertificateId;
  1664     /**
  1665      * The AWS account to which the transfer was made.
  1666      */
  1667     transferredTo?: AwsAccountId;
  1668     /**
  1669      * The date the transfer was initiated.
  1670      */
  1671     transferDate?: DateType;
  1672     /**
  1673      * The transfer message.
  1674      */
  1675     transferMessage?: Message;
  1676     /**
  1677      * The certificate creation date.
  1678      */
  1679     creationDate?: DateType;
  1680   }
  1681   export type OutgoingCertificates = OutgoingCertificate[];
  1682   export type PageSize = number;
  1683   export type PartitionKey = string;
  1684   export type PayloadField = string;
  1685   export type Policies = Policy[];
  1686   export interface Policy {
  1687     /**
  1688      * The policy name.
  1689      */
  1690     policyName?: PolicyName;
  1691     /**
  1692      * The policy ARN.
  1693      */
  1694     policyArn?: PolicyArn;
  1695   }
  1696   export type PolicyArn = string;
  1697   export type PolicyDocument = string;
  1698   export type PolicyName = string;
  1699   export interface PolicyVersion {
  1700     /**
  1701      * The policy version ID.
  1702      */
  1703     versionId?: PolicyVersionId;
  1704     /**
  1705      * Specifies whether the policy version is the default.
  1706      */
  1707     isDefaultVersion?: IsDefaultVersion;
  1708     /**
  1709      * The date and time the policy was created.
  1710      */
  1711     createDate?: DateType;
  1712   }
  1713   export type PolicyVersionId = string;
  1714   export type PolicyVersions = PolicyVersion[];
  1715   export type Principal = string;
  1716   export type PrincipalArn = string;
  1717   export type Principals = PrincipalArn[];
  1718   export type PrivateKey = string;
  1719   export type PublicKey = string;
  1720   export interface PutItemInput {
  1721     /**
  1722      * The table where the message data will be written
  1723      */
  1724     tableName: TableName;
  1725   }
  1726   export type QueueUrl = string;
  1727   export type RangeKeyField = string;
  1728   export type RangeKeyValue = string;
  1729   export interface RegisterCACertificateRequest {
  1730     /**
  1731      * The CA certificate.
  1732      */
  1733     caCertificate: CertificatePem;
  1734     /**
  1735      * The private key verification certificate.
  1736      */
  1737     verificationCertificate: CertificatePem;
  1738     /**
  1739      * A boolean value that specifies if the CA certificate is set to active.
  1740      */
  1741     setAsActive?: SetAsActive;
  1742     /**
  1743      * Allows this CA certificate to be used for auto registration of device certificates.
  1744      */
  1745     allowAutoRegistration?: AllowAutoRegistration;
  1746   }
  1747   export interface RegisterCACertificateResponse {
  1748     /**
  1749      * The CA certificate ARN.
  1750      */
  1751     certificateArn?: CertificateArn;
  1752     /**
  1753      * The CA certificate identifier.
  1754      */
  1755     certificateId?: CertificateId;
  1756   }
  1757   export interface RegisterCertificateRequest {
  1758     /**
  1759      * The certificate data, in PEM format.
  1760      */
  1761     certificatePem: CertificatePem;
  1762     /**
  1763      * The CA certificate used to sign the device certificate being registered.
  1764      */
  1765     caCertificatePem?: CertificatePem;
  1766     /**
  1767      * A boolean value that specifies if the CA certificate is set to active.
  1768      */
  1769     setAsActive?: SetAsActiveFlag;
  1770     status?: CertificateStatus;
  1771   }
  1772   export interface RegisterCertificateResponse {
  1773     /**
  1774      * The certificate ARN.
  1775      */
  1776     certificateArn?: CertificateArn;
  1777     /**
  1778      * The certificate identifier.
  1779      */
  1780     certificateId?: CertificateId;
  1781   }
  1782   export type RegistrationCode = string;
  1783   export interface RejectCertificateTransferRequest {
  1784     /**
  1785      * The ID of the certificate.
  1786      */
  1787     certificateId: CertificateId;
  1788     /**
  1789      * The reason the certificate transfer was rejected.
  1790      */
  1791     rejectReason?: Message;
  1792   }
  1793   export type RemoveThingType = boolean;
  1794   export interface ReplaceTopicRuleRequest {
  1795     /**
  1796      * The name of the rule.
  1797      */
  1798     ruleName: RuleName;
  1799     /**
  1800      * The rule payload.
  1801      */
  1802     topicRulePayload: TopicRulePayload;
  1803   }
  1804   export interface RepublishAction {
  1805     /**
  1806      * The ARN of the IAM role that grants access.
  1807      */
  1808     roleArn: AwsArn;
  1809     /**
  1810      * The name of the MQTT topic.
  1811      */
  1812     topic: TopicPattern;
  1813   }
  1814   export type RuleArn = string;
  1815   export type RuleName = string;
  1816   export interface S3Action {
  1817     /**
  1818      * The ARN of the IAM role that grants access.
  1819      */
  1820     roleArn: AwsArn;
  1821     /**
  1822      * The Amazon S3 bucket.
  1823      */
  1824     bucketName: BucketName;
  1825     /**
  1826      * The object key.
  1827      */
  1828     key: Key;
  1829     /**
  1830      * The Amazon S3 canned ACL that controls access to the object identified by the object key. For more information, see S3 canned ACLs.
  1831      */
  1832     cannedAcl?: CannedAccessControlList;
  1833   }
  1834   export type SQL = string;
  1835   export type SearchableAttributes = AttributeName[];
  1836   export type SetAsActive = boolean;
  1837   export type SetAsActiveFlag = boolean;
  1838   export type SetAsDefault = boolean;
  1839   export interface SetDefaultPolicyVersionRequest {
  1840     /**
  1841      * The policy name.
  1842      */
  1843     policyName: PolicyName;
  1844     /**
  1845      * The policy version ID.
  1846      */
  1847     policyVersionId: PolicyVersionId;
  1848   }
  1849   export interface SetLoggingOptionsRequest {
  1850     /**
  1851      * The logging options payload.
  1852      */
  1853     loggingOptionsPayload: LoggingOptionsPayload;
  1854   }
  1855   export interface SnsAction {
  1856     /**
  1857      * The ARN of the SNS topic.
  1858      */
  1859     targetArn: AwsArn;
  1860     /**
  1861      * The ARN of the IAM role that grants access.
  1862      */
  1863     roleArn: AwsArn;
  1864     /**
  1865      * The message format of the message to publish. Optional. Accepted values are "JSON" and "RAW". The default value of the attribute is "RAW". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see  refer to their official documentation.
  1866      */
  1867     messageFormat?: MessageFormat;
  1868   }
  1869   export interface SqsAction {
  1870     /**
  1871      * The ARN of the IAM role that grants access.
  1872      */
  1873     roleArn: AwsArn;
  1874     /**
  1875      * The URL of the Amazon SQS queue.
  1876      */
  1877     queueUrl: QueueUrl;
  1878     /**
  1879      * Specifies whether to use Base64 encoding.
  1880      */
  1881     useBase64?: UseBase64;
  1882   }
  1883   export type StateReason = string;
  1884   export type StateValue = string;
  1885   export type StreamName = string;
  1886   export type TableName = string;
  1887   export type ThingArn = string;
  1888   export interface ThingAttribute {
  1889     /**
  1890      * The name of the thing.
  1891      */
  1892     thingName?: ThingName;
  1893     /**
  1894      * The name of the thing type, if the thing has been associated with a type.
  1895      */
  1896     thingTypeName?: ThingTypeName;
  1897     /**
  1898      * A list of thing attributes which are name-value pairs.
  1899      */
  1900     attributes?: Attributes;
  1901     /**
  1902      * The version of the thing record in the registry.
  1903      */
  1904     version?: Version;
  1905   }
  1906   export type ThingAttributeList = ThingAttribute[];
  1907   export type ThingName = string;
  1908   export type ThingNameList = ThingName[];
  1909   export type ThingTypeArn = string;
  1910   export interface ThingTypeDefinition {
  1911     /**
  1912      * The name of the thing type.
  1913      */
  1914     thingTypeName?: ThingTypeName;
  1915     /**
  1916      * The ThingTypeProperties for the thing type.
  1917      */
  1918     thingTypeProperties?: ThingTypeProperties;
  1919     thingTypeMetadata?: ThingTypeMetadata;
  1920   }
  1921   export type ThingTypeDescription = string;
  1922   export type ThingTypeList = ThingTypeDefinition[];
  1923   export interface ThingTypeMetadata {
  1924     /**
  1925      * Whether the thing type is deprecated. If true, no new things could be associated with this type.
  1926      */
  1927     deprecated?: Boolean;
  1928     /**
  1929      * The date and time when the thing type was deprecated.
  1930      */
  1931     deprecationDate?: DeprecationDate;
  1932     /**
  1933      * The date and time when the thing type was created.
  1934      */
  1935     creationDate?: CreationDate;
  1936   }
  1937   export type ThingTypeName = string;
  1938   export interface ThingTypeProperties {
  1939     /**
  1940      * The description of the thing type.
  1941      */
  1942     thingTypeDescription?: ThingTypeDescription;
  1943     /**
  1944      * A list of searchable thing attribute names.
  1945      */
  1946     searchableAttributes?: SearchableAttributes;
  1947   }
  1948   export type Topic = string;
  1949   export type TopicPattern = string;
  1950   export interface TopicRule {
  1951     /**
  1952      * The name of the rule.
  1953      */
  1954     ruleName?: RuleName;
  1955     /**
  1956      * The SQL statement used to query the topic. When using a SQL query with multiple lines, be sure to escape the newline characters.
  1957      */
  1958     sql?: SQL;
  1959     /**
  1960      * The description of the rule.
  1961      */
  1962     description?: Description;
  1963     /**
  1964      * The date and time the rule was created.
  1965      */
  1966     createdAt?: CreatedAtDate;
  1967     /**
  1968      * The actions associated with the rule.
  1969      */
  1970     actions?: ActionList;
  1971     /**
  1972      * Specifies whether the rule is disabled.
  1973      */
  1974     ruleDisabled?: IsDisabled;
  1975     /**
  1976      * The version of the SQL rules engine to use when evaluating the rule.
  1977      */
  1978     awsIotSqlVersion?: AwsIotSqlVersion;
  1979   }
  1980   export type TopicRuleList = TopicRuleListItem[];
  1981   export interface TopicRuleListItem {
  1982     /**
  1983      * The rule ARN.
  1984      */
  1985     ruleArn?: RuleArn;
  1986     /**
  1987      * The name of the rule.
  1988      */
  1989     ruleName?: RuleName;
  1990     /**
  1991      * The pattern for the topic names that apply.
  1992      */
  1993     topicPattern?: TopicPattern;
  1994     /**
  1995      * The date and time the rule was created.
  1996      */
  1997     createdAt?: CreatedAtDate;
  1998     /**
  1999      * Specifies whether the rule is disabled.
  2000      */
  2001     ruleDisabled?: IsDisabled;
  2002   }
  2003   export interface TopicRulePayload {
  2004     /**
  2005      * The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide.
  2006      */
  2007     sql: SQL;
  2008     /**
  2009      * The description of the rule.
  2010      */
  2011     description?: Description;
  2012     /**
  2013      * The actions associated with the rule.
  2014      */
  2015     actions: ActionList;
  2016     /**
  2017      * Specifies whether the rule is disabled.
  2018      */
  2019     ruleDisabled?: IsDisabled;
  2020     /**
  2021      * The version of the SQL rules engine to use when evaluating the rule.
  2022      */
  2023     awsIotSqlVersion?: AwsIotSqlVersion;
  2024   }
  2025   export interface TransferCertificateRequest {
  2026     /**
  2027      * The ID of the certificate.
  2028      */
  2029     certificateId: CertificateId;
  2030     /**
  2031      * The AWS account.
  2032      */
  2033     targetAwsAccount: AwsAccountId;
  2034     /**
  2035      * The transfer message.
  2036      */
  2037     transferMessage?: Message;
  2038   }
  2039   export interface TransferCertificateResponse {
  2040     /**
  2041      * The ARN of the certificate.
  2042      */
  2043     transferredCertificateArn?: CertificateArn;
  2044   }
  2045   export interface TransferData {
  2046     /**
  2047      * The transfer message.
  2048      */
  2049     transferMessage?: Message;
  2050     /**
  2051      * The reason why the transfer was rejected.
  2052      */
  2053     rejectReason?: Message;
  2054     /**
  2055      * The date the transfer took place.
  2056      */
  2057     transferDate?: DateType;
  2058     /**
  2059      * The date the transfer was accepted.
  2060      */
  2061     acceptDate?: DateType;
  2062     /**
  2063      * The date the transfer was rejected.
  2064      */
  2065     rejectDate?: DateType;
  2066   }
  2067   export type UndoDeprecate = boolean;
  2068   export interface UpdateCACertificateRequest {
  2069     /**
  2070      * The CA certificate identifier.
  2071      */
  2072     certificateId: CertificateId;
  2073     /**
  2074      * The updated status of the CA certificate. Note: The status value REGISTER_INACTIVE is deprecated and should not be used.
  2075      */
  2076     newStatus?: CACertificateStatus;
  2077     /**
  2078      * The new value for the auto registration status. Valid values are: "ENABLE" or "DISABLE".
  2079      */
  2080     newAutoRegistrationStatus?: AutoRegistrationStatus;
  2081   }
  2082   export interface UpdateCertificateRequest {
  2083     /**
  2084      * The ID of the certificate.
  2085      */
  2086     certificateId: CertificateId;
  2087     /**
  2088      * The new status. Note: Setting the status to PENDING_TRANSFER will result in an exception being thrown. PENDING_TRANSFER is a status used internally by AWS IoT. It is not intended for developer use. Note: The status value REGISTER_INACTIVE is deprecated and should not be used.
  2089      */
  2090     newStatus: CertificateStatus;
  2091   }
  2092   export interface UpdateThingRequest {
  2093     /**
  2094      * The name of the thing to update.
  2095      */
  2096     thingName: ThingName;
  2097     /**
  2098      * The name of the thing type.
  2099      */
  2100     thingTypeName?: ThingTypeName;
  2101     /**
  2102      * A list of thing attributes, a JSON string containing name-value pairs. For example: {\"attributes\":{\"name1\":\"value2\"}}) This data is used to add new attributes or update existing attributes.
  2103      */
  2104     attributePayload?: AttributePayload;
  2105     /**
  2106      * The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the UpdateThing request is rejected with a VersionConflictException.
  2107      */
  2108     expectedVersion?: OptionalVersion;
  2109     /**
  2110      * Remove a thing type association. If true, the assocation is removed.
  2111      */
  2112     removeThingType?: RemoveThingType;
  2113   }
  2114   export interface UpdateThingResponse {
  2115   }
  2116   export type UseBase64 = boolean;
  2117   export type Version = number;
  2118   export type errorMessage = string;
  2119   export type resourceArn = string;
  2120   export type resourceId = string;
  2121   /**
  2122    * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
  2123    */
  2124   export type apiVersion = "2015-05-28"|"latest"|string;
  2125   export interface ClientApiVersions {
  2126     /**
  2127      * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
  2128      */
  2129     apiVersion?: apiVersion;
  2130   }
  2131   export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
  2132 }
  2133 export = Iot;