# AWS IoT Construct Library

This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.

```ts
import * as iot from 'aws-cdk-lib/aws-iot';
```

There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:

- Search [Construct Hub for IoT construct libraries](https://constructs.dev/search?q=iot)
- Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::IoT resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IoT.html) directly.

> An experimental construct library for this service is available in preview. Since it is not stable yet, it is distributed
> as a separate package so that you can pin its version independently of the rest of the CDK. See the package:
>
> <span class="package-reference">@aws-cdk/aws-iot-alpha</span>

There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::IoT](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IoT.html).

(Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)

## Types

| Name | Kind | Summary |
| --- | --- | --- |
| [`CfnAccountAuditConfiguration`](/v2/docs/aws-cdk-lib.aws_iot.CfnAccountAuditConfiguration) | Construct (L1) | Use the `AWS::IoT::AccountAuditConfiguration` resource to configure or reconfigure the Device Defender audit settings for your account. |
| [`CfnAuthorizer`](/v2/docs/aws-cdk-lib.aws_iot.CfnAuthorizer) | Construct (L1) | Specifies an authorizer. |
| [`CfnBillingGroup`](/v2/docs/aws-cdk-lib.aws_iot.CfnBillingGroup) | Construct (L1) | Creates a new billing group. |
| [`CfnCACertificate`](/v2/docs/aws-cdk-lib.aws_iot.CfnCACertificate) | Construct (L1) | Specifies a CA certificate. |
| [`CfnCertificate`](/v2/docs/aws-cdk-lib.aws_iot.CfnCertificate) | Construct (L1) | Use the `AWS::IoT::Certificate` resource to declare an AWS IoT X.509 certificate. For information about working with X.509 certificates, see [X.509 Client Certificates](https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html) in the *AWS IoT Developer Guide* . |
| [`CfnCertificateProvider`](/v2/docs/aws-cdk-lib.aws_iot.CfnCertificateProvider) | Construct (L1) | Creates a certificate provider. |
| [`CfnCommand`](/v2/docs/aws-cdk-lib.aws_iot.CfnCommand) | Construct (L1) | Represents the resource definition of AWS IoT Command. |
| [`CfnCustomMetric`](/v2/docs/aws-cdk-lib.aws_iot.CfnCustomMetric) | Construct (L1) | Use the `AWS::IoT::CustomMetric` resource to define a custom metric published by your devices to Device Defender. |
| [`CfnDimension`](/v2/docs/aws-cdk-lib.aws_iot.CfnDimension) | Construct (L1) | Use the `AWS::IoT::Dimension` to limit the scope of a metric used in a security profile for AWS IoT Device Defender . |
| [`CfnDomainConfiguration`](/v2/docs/aws-cdk-lib.aws_iot.CfnDomainConfiguration) | Construct (L1) | Specifies a domain configuration. |
| [`CfnEncryptionConfiguration`](/v2/docs/aws-cdk-lib.aws_iot.CfnEncryptionConfiguration) | Construct (L1) | Retrieves the encryption configuration for resources and data of your AWS account in AWS IoT Core . |
| [`CfnFleetMetric`](/v2/docs/aws-cdk-lib.aws_iot.CfnFleetMetric) | Construct (L1) | Use the `AWS::IoT::FleetMetric` resource to declare a fleet metric. |
| [`CfnJob`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob) | Construct (L1) | Use the AWS::IoT::Job resource to declare an AWS IoT job. |
| [`CfnJobTemplate`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplate) | Construct (L1) | Represents a job template. |
| [`CfnLogging`](/v2/docs/aws-cdk-lib.aws_iot.CfnLogging) | Construct (L1) | Configure logging. |
| [`CfnMitigationAction`](/v2/docs/aws-cdk-lib.aws_iot.CfnMitigationAction) | Construct (L1) | Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. |
| [`CfnPolicy`](/v2/docs/aws-cdk-lib.aws_iot.CfnPolicy) | Construct (L1) | Use the `AWS::IoT::Policy` resource to declare an AWS IoT policy. |
| [`CfnPolicyPrincipalAttachment`](/v2/docs/aws-cdk-lib.aws_iot.CfnPolicyPrincipalAttachment) | Construct (L1) | Use the `AWS::IoT::PolicyPrincipalAttachment` resource to attach an AWS IoT policy to a principal (an X.509 certificate or other credential). |
| [`CfnProvisioningTemplate`](/v2/docs/aws-cdk-lib.aws_iot.CfnProvisioningTemplate) | Construct (L1) | Creates a fleet provisioning template. |
| [`CfnResourceSpecificLogging`](/v2/docs/aws-cdk-lib.aws_iot.CfnResourceSpecificLogging) | Construct (L1) | Configure resource-specific logging. |
| [`CfnRoleAlias`](/v2/docs/aws-cdk-lib.aws_iot.CfnRoleAlias) | Construct (L1) | Specifies a role alias. |
| [`CfnScheduledAudit`](/v2/docs/aws-cdk-lib.aws_iot.CfnScheduledAudit) | Construct (L1) | Use the `AWS::IoT::ScheduledAudit` resource to create a scheduled audit that is run at a specified time interval. |
| [`CfnSecurityProfile`](/v2/docs/aws-cdk-lib.aws_iot.CfnSecurityProfile) | Construct (L1) | Use the `AWS::IoT::SecurityProfile` resource to create a Device Defender security profile. |
| [`CfnSoftwarePackage`](/v2/docs/aws-cdk-lib.aws_iot.CfnSoftwarePackage) | Construct (L1) | Use the `AWS::IoT::SoftwarePackage` resource to create a software package. |
| [`CfnSoftwarePackageVersion`](/v2/docs/aws-cdk-lib.aws_iot.CfnSoftwarePackageVersion) | Construct (L1) | Use the `AWS::IoT::SoftwarePackageVersion` resource to create a software package version. |
| [`CfnStream`](/v2/docs/aws-cdk-lib.aws_iot.CfnStream) | Construct (L1) | Resource Type definition for AWS IoT Stream. |
| [`CfnThing`](/v2/docs/aws-cdk-lib.aws_iot.CfnThing) | Construct (L1) | Use the `AWS::IoT::Thing` resource to declare an AWS IoT thing. |
| [`CfnThingGroup`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingGroup) | Construct (L1) | Creates a new thing group. |
| [`CfnThingPrincipalAttachment`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingPrincipalAttachment) | Construct (L1) | Use the `AWS::IoT::ThingPrincipalAttachment` resource to attach a principal (an X.509 certificate or another credential) to a thing. |
| [`CfnThingType`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingType) | Construct (L1) | Creates a new thing type. |
| [`CfnTopicRule`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule) | Construct (L1) | Use the `AWS::IoT::TopicRule` resource to declare an AWS IoT rule. |
| [`CfnTopicRuleDestination`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRuleDestination) | Construct (L1) | A topic rule destination. |
| [`CfnAccountAuditConfiguration.AuditCheckConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnAccountAuditConfiguration.AuditCheckConfigurationProperty) | Struct | Which audit checks are enabled and disabled for this account. |
| [`CfnAccountAuditConfiguration.AuditCheckConfigurationsProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnAccountAuditConfiguration.AuditCheckConfigurationsProperty) | Struct | The types of audit checks that can be performed. |
| [`CfnAccountAuditConfiguration.AuditNotificationTargetConfigurationsProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnAccountAuditConfiguration.AuditNotificationTargetConfigurationsProperty) | Struct | The configuration of the audit notification target. |
| [`CfnAccountAuditConfiguration.AuditNotificationTargetProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnAccountAuditConfiguration.AuditNotificationTargetProperty) | Struct | Information about the targets to which audit notifications are sent. |
| [`CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnAccountAuditConfiguration.CertAgeCheckCustomConfigurationProperty) | Struct | Configuration structure containing settings for the device certificate age check. |
| [`CfnAccountAuditConfiguration.DeviceCertAgeAuditCheckConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnAccountAuditConfiguration.DeviceCertAgeAuditCheckConfigurationProperty) | Struct | Configuration for the device certificate age audit check. |
| [`CfnAccountAuditConfigurationProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnAccountAuditConfigurationProps) | Struct | Properties for defining a `CfnAccountAuditConfiguration`. |
| [`CfnAuthorizerProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnAuthorizerProps) | Struct | Properties for defining a `CfnAuthorizer`. |
| [`CfnBillingGroup.BillingGroupPropertiesProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnBillingGroup.BillingGroupPropertiesProperty) | Struct | The properties of a billing group. |
| [`CfnBillingGroupProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnBillingGroupProps) | Struct | Properties for defining a `CfnBillingGroup`. |
| [`CfnCACertificate.RegistrationConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnCACertificate.RegistrationConfigProperty) | Struct | The registration configuration. |
| [`CfnCACertificateProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnCACertificateProps) | Struct | Properties for defining a `CfnCACertificate`. |
| [`CfnCertificateProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnCertificateProps) | Struct | Properties for defining a `CfnCertificate`. |
| [`CfnCertificateProviderProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnCertificateProviderProps) | Struct | Properties for defining a `CfnCertificateProvider`. |
| [`CfnCommand.AwsJsonSubstitutionCommandPreprocessorConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnCommand.AwsJsonSubstitutionCommandPreprocessorConfigProperty) | Struct |  |
| [`CfnCommand.CommandParameterProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnCommand.CommandParameterProperty) | Struct |  |
| [`CfnCommand.CommandParameterValueComparisonOperandProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnCommand.CommandParameterValueComparisonOperandProperty) | Struct |  |
| [`CfnCommand.CommandParameterValueConditionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnCommand.CommandParameterValueConditionProperty) | Struct |  |
| [`CfnCommand.CommandParameterValueNumberRangeProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnCommand.CommandParameterValueNumberRangeProperty) | Struct |  |
| [`CfnCommand.CommandParameterValueProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnCommand.CommandParameterValueProperty) | Struct |  |
| [`CfnCommand.CommandPayloadProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnCommand.CommandPayloadProperty) | Struct |  |
| [`CfnCommand.CommandPreprocessorProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnCommand.CommandPreprocessorProperty) | Struct |  |
| [`CfnCommandProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnCommandProps) | Struct | Properties for defining a `CfnCommand`. |
| [`CfnCustomMetricProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnCustomMetricProps) | Struct | Properties for defining a `CfnCustomMetric`. |
| [`CfnDimensionProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnDimensionProps) | Struct | Properties for defining a `CfnDimension`. |
| [`CfnDomainConfiguration.AuthorizerConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnDomainConfiguration.AuthorizerConfigProperty) | Struct | An object that specifies the authorization service for a domain. |
| [`CfnDomainConfiguration.ClientCertificateConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnDomainConfiguration.ClientCertificateConfigProperty) | Struct | An object that speciﬁes the client certificate conﬁguration for a domain. |
| [`CfnDomainConfiguration.ServerCertificateConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnDomainConfiguration.ServerCertificateConfigProperty) | Struct | The server certificate configuration. |
| [`CfnDomainConfiguration.ServerCertificateSummaryProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnDomainConfiguration.ServerCertificateSummaryProperty) | Struct | An object that contains information about a server certificate. |
| [`CfnDomainConfiguration.TlsConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnDomainConfiguration.TlsConfigProperty) | Struct | An object that specifies the TLS configuration for a domain. |
| [`CfnDomainConfigurationProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnDomainConfigurationProps) | Struct | Properties for defining a `CfnDomainConfiguration`. |
| [`CfnEncryptionConfiguration.ConfigurationDetailsProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnEncryptionConfiguration.ConfigurationDetailsProperty) | Struct | The encryption configuration details that include the status information of the AWS Key Management Service ( AWS ) key and the AWS access role. |
| [`CfnEncryptionConfigurationProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnEncryptionConfigurationProps) | Struct | Properties for defining a `CfnEncryptionConfiguration`. |
| [`CfnFleetMetric.AggregationTypeProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnFleetMetric.AggregationTypeProperty) | Struct | The type of aggregation queries. |
| [`CfnFleetMetricProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnFleetMetricProps) | Struct | Properties for defining a `CfnFleetMetric`. |
| [`CfnJob.AbortConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob.AbortConfigProperty) | Struct | The criteria that determine when and how a job abort takes place. |
| [`CfnJob.AbortCriteriaProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob.AbortCriteriaProperty) | Struct | The criteria that determine when and how a job abort takes place. |
| [`CfnJob.ExponentialRolloutRateProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob.ExponentialRolloutRateProperty) | Struct | Allows you to create an exponential rate of rollout for a job. |
| [`CfnJob.JobExecutionsRetryConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob.JobExecutionsRetryConfigProperty) | Struct | The configuration that determines how many retries are allowed for each failure type for a job. |
| [`CfnJob.JobExecutionsRolloutConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob.JobExecutionsRolloutConfigProperty) | Struct | Allows you to create a staged rollout of a job. |
| [`CfnJob.MaintenanceWindowProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob.MaintenanceWindowProperty) | Struct | An optional configuration within the SchedulingConfig to setup a recurring maintenance window with a predetermined start time and duration for the rollout of a job document to all devices in a target group for a job. |
| [`CfnJob.PresignedUrlConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob.PresignedUrlConfigProperty) | Struct | Configuration for pre-signed S3 URLs. |
| [`CfnJob.RateIncreaseCriteriaProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob.RateIncreaseCriteriaProperty) | Struct | Allows you to define a criteria to initiate the increase in rate of rollout for a job. |
| [`CfnJob.RetryCriteriaProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob.RetryCriteriaProperty) | Struct | The criteria that determines how many retries are allowed for each failure type for a job. |
| [`CfnJob.SchedulingConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob.SchedulingConfigProperty) | Struct | Specifies the date and time that a job will begin the rollout of the job document to all devices in the target group. |
| [`CfnJob.TimeoutConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJob.TimeoutConfigProperty) | Struct | Specifies the amount of time each device has to finish its execution of the job. |
| [`CfnJobProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobProps) | Struct | Properties for defining a `CfnJob`. |
| [`CfnJobTemplate.AbortConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplate.AbortConfigProperty) | Struct | The criteria that determine when and how a job abort takes place. |
| [`CfnJobTemplate.AbortCriteriaProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplate.AbortCriteriaProperty) | Struct | The criteria that determine when and how a job abort takes place. |
| [`CfnJobTemplate.ExponentialRolloutRateProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplate.ExponentialRolloutRateProperty) | Struct | Allows you to create an exponential rate of rollout for a job. |
| [`CfnJobTemplate.JobExecutionsRetryConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplate.JobExecutionsRetryConfigProperty) | Struct | The configuration that determines how many retries are allowed for each failure type for a job. |
| [`CfnJobTemplate.JobExecutionsRolloutConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplate.JobExecutionsRolloutConfigProperty) | Struct | Allows you to create a staged rollout of a job. |
| [`CfnJobTemplate.MaintenanceWindowProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplate.MaintenanceWindowProperty) | Struct | An optional configuration within the `SchedulingConfig` to setup a recurring maintenance window with a predetermined start time and duration for the rollout of a job document to all devices in a target group for a job. |
| [`CfnJobTemplate.PresignedUrlConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplate.PresignedUrlConfigProperty) | Struct | Configuration for pre-signed S3 URLs. |
| [`CfnJobTemplate.RateIncreaseCriteriaProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplate.RateIncreaseCriteriaProperty) | Struct | Allows you to define a criteria to initiate the increase in rate of rollout for a job. |
| [`CfnJobTemplate.RetryCriteriaProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplate.RetryCriteriaProperty) | Struct | The criteria that determines how many retries are allowed for each failure type for a job. |
| [`CfnJobTemplate.TimeoutConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplate.TimeoutConfigProperty) | Struct | Specifies the amount of time each device has to finish its execution of the job. |
| [`CfnJobTemplateProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnJobTemplateProps) | Struct | Properties for defining a `CfnJobTemplate`. |
| [`CfnLogging.EventConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnLogging.EventConfigurationProperty) | Struct | Configuration for event-based logging that specifies which event types to log and their logging settings. |
| [`CfnLoggingProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnLoggingProps) | Struct | Properties for defining a `CfnLogging`. |
| [`CfnMitigationAction.ActionParamsProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnMitigationAction.ActionParamsProperty) | Struct | Defines the type of action and the parameters for that action. |
| [`CfnMitigationAction.AddThingsToThingGroupParamsProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnMitigationAction.AddThingsToThingGroupParamsProperty) | Struct | Parameters used when defining a mitigation action that move a set of things to a thing group. |
| [`CfnMitigationAction.EnableIoTLoggingParamsProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnMitigationAction.EnableIoTLoggingParamsProperty) | Struct | Parameters used when defining a mitigation action that enable AWS IoT Core logging. |
| [`CfnMitigationAction.PublishFindingToSnsParamsProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnMitigationAction.PublishFindingToSnsParamsProperty) | Struct | Parameters to define a mitigation action that publishes findings to Amazon SNS. |
| [`CfnMitigationAction.ReplaceDefaultPolicyVersionParamsProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnMitigationAction.ReplaceDefaultPolicyVersionParamsProperty) | Struct | Parameters to define a mitigation action that adds a blank policy to restrict permissions. |
| [`CfnMitigationAction.UpdateCACertificateParamsProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnMitigationAction.UpdateCACertificateParamsProperty) | Struct | Parameters to define a mitigation action that changes the state of the CA certificate to inactive. |
| [`CfnMitigationAction.UpdateDeviceCertificateParamsProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnMitigationAction.UpdateDeviceCertificateParamsProperty) | Struct | Parameters to define a mitigation action that changes the state of the device certificate to inactive. |
| [`CfnMitigationActionProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnMitigationActionProps) | Struct | Properties for defining a `CfnMitigationAction`. |
| [`CfnPolicyPrincipalAttachmentProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnPolicyPrincipalAttachmentProps) | Struct | Properties for defining a `CfnPolicyPrincipalAttachment`. |
| [`CfnPolicyProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnPolicyProps) | Struct | Properties for defining a `CfnPolicy`. |
| [`CfnProvisioningTemplate.ProvisioningHookProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnProvisioningTemplate.ProvisioningHookProperty) | Struct | Structure that contains payloadVersion and targetArn. |
| [`CfnProvisioningTemplateProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnProvisioningTemplateProps) | Struct | Properties for defining a `CfnProvisioningTemplate`. |
| [`CfnResourceSpecificLoggingProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnResourceSpecificLoggingProps) | Struct | Properties for defining a `CfnResourceSpecificLogging`. |
| [`CfnRoleAliasProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnRoleAliasProps) | Struct | Properties for defining a `CfnRoleAlias`. |
| [`CfnScheduledAuditProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnScheduledAuditProps) | Struct | Properties for defining a `CfnScheduledAudit`. |
| [`CfnSecurityProfile.AlertTargetProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSecurityProfile.AlertTargetProperty) | Struct | A structure containing the alert target ARN and the role ARN. |
| [`CfnSecurityProfile.BehaviorCriteriaProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSecurityProfile.BehaviorCriteriaProperty) | Struct | The criteria by which the behavior is determined to be normal. |
| [`CfnSecurityProfile.BehaviorProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSecurityProfile.BehaviorProperty) | Struct | A Device Defender security profile behavior. |
| [`CfnSecurityProfile.MachineLearningDetectionConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSecurityProfile.MachineLearningDetectionConfigProperty) | Struct | The `MachineLearningDetectionConfig` property type controls confidence of the machine learning model. |
| [`CfnSecurityProfile.MetricDimensionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSecurityProfile.MetricDimensionProperty) | Struct | The dimension of the metric. |
| [`CfnSecurityProfile.MetricsExportConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSecurityProfile.MetricsExportConfigProperty) | Struct | Specifies the MQTT topic and role ARN required for metric export. |
| [`CfnSecurityProfile.MetricToRetainProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSecurityProfile.MetricToRetainProperty) | Struct | The metric you want to retain. |
| [`CfnSecurityProfile.MetricValueProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSecurityProfile.MetricValueProperty) | Struct | The value to be compared with the `metric` . |
| [`CfnSecurityProfile.StatisticalThresholdProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSecurityProfile.StatisticalThresholdProperty) | Struct | A statistical ranking (percentile) that indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior. |
| [`CfnSecurityProfileProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnSecurityProfileProps) | Struct | Properties for defining a `CfnSecurityProfile`. |
| [`CfnSoftwarePackageProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnSoftwarePackageProps) | Struct | Properties for defining a `CfnSoftwarePackage`. |
| [`CfnSoftwarePackageVersion.PackageVersionArtifactProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSoftwarePackageVersion.PackageVersionArtifactProperty) | Struct | The artifact location of the package version. |
| [`CfnSoftwarePackageVersion.S3LocationProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSoftwarePackageVersion.S3LocationProperty) | Struct | The Amazon S3 location. |
| [`CfnSoftwarePackageVersion.SbomProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnSoftwarePackageVersion.SbomProperty) | Struct | The sbom zip archive location of the package version. |
| [`CfnSoftwarePackageVersionProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnSoftwarePackageVersionProps) | Struct | Properties for defining a `CfnSoftwarePackageVersion`. |
| [`CfnStream.S3LocationProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnStream.S3LocationProperty) | Struct | The location of the file in S3. |
| [`CfnStream.StreamFileProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnStream.StreamFileProperty) | Struct | Represents a file to stream. |
| [`CfnStreamProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnStreamProps) | Struct | Properties for defining a `CfnStream`. |
| [`CfnThing.AttributePayloadProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnThing.AttributePayloadProperty) | Struct | The AttributePayload property specifies up to three attributes for an AWS IoT as key-value pairs. |
| [`CfnThingGroup.AttributePayloadProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingGroup.AttributePayloadProperty) | Struct | The attribute payload. |
| [`CfnThingGroup.ThingGroupPropertiesProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingGroup.ThingGroupPropertiesProperty) | Struct | Thing group properties. |
| [`CfnThingGroupProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingGroupProps) | Struct | Properties for defining a `CfnThingGroup`. |
| [`CfnThingPrincipalAttachmentProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingPrincipalAttachmentProps) | Struct | Properties for defining a `CfnThingPrincipalAttachment`. |
| [`CfnThingProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingProps) | Struct | Properties for defining a `CfnThing`. |
| [`CfnThingType.Mqtt5ConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingType.Mqtt5ConfigurationProperty) | Struct | The configuration to add user-defined properties to enrich MQTT 5 messages. |
| [`CfnThingType.PropagatingAttributeProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingType.PropagatingAttributeProperty) | Struct | An object that represents the connection attribute, the thing attribute, and the MQTT 5 user property key. |
| [`CfnThingType.ThingTypePropertiesProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingType.ThingTypePropertiesProperty) | Struct | The ThingTypeProperties contains information about the thing type including: a thing type description, and a list of searchable thing attribute names. |
| [`CfnThingTypeProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnThingTypeProps) | Struct | Properties for defining a `CfnThingType`. |
| [`CfnTopicRule.ActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.ActionProperty) | Struct | Describes the actions associated with a rule. |
| [`CfnTopicRule.AssetPropertyTimestampProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.AssetPropertyTimestampProperty) | Struct | An asset property timestamp entry containing the following information. |
| [`CfnTopicRule.AssetPropertyValueProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.AssetPropertyValueProperty) | Struct | An asset property value entry containing the following information. |
| [`CfnTopicRule.AssetPropertyVariantProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.AssetPropertyVariantProperty) | Struct | Contains an asset property value (of a single type). |
| [`CfnTopicRule.BatchConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.BatchConfigProperty) | Struct |  |
| [`CfnTopicRule.CloudwatchAlarmActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.CloudwatchAlarmActionProperty) | Struct | Describes an action that updates a CloudWatch alarm. |
| [`CfnTopicRule.CloudwatchLogsActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.CloudwatchLogsActionProperty) | Struct | Describes an action that updates a CloudWatch log. |
| [`CfnTopicRule.CloudwatchMetricActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.CloudwatchMetricActionProperty) | Struct | Describes an action that captures a CloudWatch metric. |
| [`CfnTopicRule.DynamoDBActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.DynamoDBActionProperty) | Struct | Describes an action to write to a DynamoDB table. |
| [`CfnTopicRule.DynamoDBv2ActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.DynamoDBv2ActionProperty) | Struct | Describes an action to write to a DynamoDB table. |
| [`CfnTopicRule.ElasticsearchActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.ElasticsearchActionProperty) | Struct | Describes an action that writes data to an Amazon OpenSearch Service domain. |
| [`CfnTopicRule.FirehoseActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.FirehoseActionProperty) | Struct | Describes an action that writes data to an Amazon Kinesis Firehose stream. |
| [`CfnTopicRule.HttpActionHeaderProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.HttpActionHeaderProperty) | Struct | The HTTP action header. |
| [`CfnTopicRule.HttpActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.HttpActionProperty) | Struct | Send data to an HTTPS endpoint. |
| [`CfnTopicRule.HttpAuthorizationProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.HttpAuthorizationProperty) | Struct | The authorization method used to send messages. |
| [`CfnTopicRule.InfluxDBActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.InfluxDBActionProperty) | Struct |  |
| [`CfnTopicRule.InfluxDBBatchConfigProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.InfluxDBBatchConfigProperty) | Struct |  |
| [`CfnTopicRule.IotAnalyticsActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.IotAnalyticsActionProperty) | Struct | Sends message data to an AWS IoT Analytics channel. |
| [`CfnTopicRule.IotEventsActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.IotEventsActionProperty) | Struct | Sends an input to an AWS IoT Events detector. |
| [`CfnTopicRule.IotSiteWiseActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.IotSiteWiseActionProperty) | Struct | Describes an action to send data from an MQTT message that triggered the rule to AWS IoT SiteWise asset properties. |
| [`CfnTopicRule.KafkaActionHeaderProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.KafkaActionHeaderProperty) | Struct | Specifies a Kafka header using key-value pairs when you create a Rule’s Kafka Action. |
| [`CfnTopicRule.KafkaActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.KafkaActionProperty) | Struct | Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster. |
| [`CfnTopicRule.KinesisActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.KinesisActionProperty) | Struct | Describes an action to write data to an Amazon Kinesis stream. |
| [`CfnTopicRule.LambdaActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.LambdaActionProperty) | Struct | Describes an action to invoke a Lambda function. |
| [`CfnTopicRule.LocationActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.LocationActionProperty) | Struct | Describes an action to send device location updates from an MQTT message to an Amazon Location tracker resource. |
| [`CfnTopicRule.OpenSearchActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.OpenSearchActionProperty) | Struct | Describes an action that writes data to an Amazon OpenSearch Service domain. |
| [`CfnTopicRule.PutAssetPropertyValueEntryProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.PutAssetPropertyValueEntryProperty) | Struct | An asset property value entry containing the following information. |
| [`CfnTopicRule.PutItemInputProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.PutItemInputProperty) | Struct | The input for the DynamoActionVS action that specifies the DynamoDB table to which the message data will be written. |
| [`CfnTopicRule.RepublishActionHeadersProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.RepublishActionHeadersProperty) | Struct | Specifies MQTT Version 5.0 headers information. For more information, see [MQTT](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html) in the IoT Core Developer Guide. |
| [`CfnTopicRule.RepublishActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.RepublishActionProperty) | Struct | Describes an action to republish to another topic. |
| [`CfnTopicRule.S3ActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.S3ActionProperty) | Struct | Describes an action to write data to an Amazon S3 bucket. |
| [`CfnTopicRule.SigV4AuthorizationProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.SigV4AuthorizationProperty) | Struct | For more information, see [Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) . |
| [`CfnTopicRule.SnsActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.SnsActionProperty) | Struct | Describes an action to publish to an Amazon SNS topic. |
| [`CfnTopicRule.SqsActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.SqsActionProperty) | Struct | Describes an action to publish data to an Amazon SQS queue. |
| [`CfnTopicRule.StepFunctionsActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.StepFunctionsActionProperty) | Struct | Starts execution of a Step Functions state machine. |
| [`CfnTopicRule.TimestampProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.TimestampProperty) | Struct | Describes how to interpret an application-defined timestamp value from an MQTT message payload and the precision of that value. |
| [`CfnTopicRule.TimestreamActionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.TimestreamActionProperty) | Struct | Describes an action that writes records into an Amazon Timestream table. |
| [`CfnTopicRule.TimestreamDimensionProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.TimestreamDimensionProperty) | Struct | Metadata attributes of the time series that are written in each measure record. |
| [`CfnTopicRule.TimestreamTimestampProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.TimestreamTimestampProperty) | Struct | The value to use for the entry's timestamp. |
| [`CfnTopicRule.TopicRulePayloadProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.TopicRulePayloadProperty) | Struct | Describes a rule. |
| [`CfnTopicRule.UserPropertyProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRule.UserPropertyProperty) | Struct | A key-value pair that you define in the header. |
| [`CfnTopicRuleDestination.HttpUrlDestinationSummaryProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRuleDestination.HttpUrlDestinationSummaryProperty) | Struct | HTTP URL destination properties. |
| [`CfnTopicRuleDestination.InfluxDBDestinationPropertiesProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRuleDestination.InfluxDBDestinationPropertiesProperty) | Struct |  |
| [`CfnTopicRuleDestination.VpcDestinationPropertiesProperty`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRuleDestination.VpcDestinationPropertiesProperty) | Struct | The properties of a virtual private cloud (VPC) destination. |
| [`CfnTopicRuleDestinationProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRuleDestinationProps) | Struct | Properties for defining a `CfnTopicRuleDestination`. |
| [`CfnTopicRuleProps`](/v2/docs/aws-cdk-lib.aws_iot.CfnTopicRuleProps) | Struct | Properties for defining a `CfnTopicRule`. |
