Source code for troposphere.iot

# Copyright (c) 2012-2024, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, double, integer
from .validators.iot import policytypes, validate_json_checker


[docs]class AuditCheckConfiguration(AWSProperty): """ `AuditCheckConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfiguration.html>`__ """ props: PropsDictType = { "Enabled": (boolean, False), }
[docs]class AuditCheckConfigurations(AWSProperty): """ `AuditCheckConfigurations <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html>`__ """ props: PropsDictType = { "AuthenticatedCognitoRoleOverlyPermissiveCheck": ( AuditCheckConfiguration, False, ), "CaCertificateExpiringCheck": (AuditCheckConfiguration, False), "CaCertificateKeyQualityCheck": (AuditCheckConfiguration, False), "ConflictingClientIdsCheck": (AuditCheckConfiguration, False), "DeviceCertificateExpiringCheck": (AuditCheckConfiguration, False), "DeviceCertificateKeyQualityCheck": (AuditCheckConfiguration, False), "DeviceCertificateSharedCheck": (AuditCheckConfiguration, False), "IntermediateCaRevokedForActiveDeviceCertificatesCheck": ( AuditCheckConfiguration, False, ), "IoTPolicyPotentialMisConfigurationCheck": (AuditCheckConfiguration, False), "IotPolicyOverlyPermissiveCheck": (AuditCheckConfiguration, False), "IotRoleAliasAllowsAccessToUnusedServicesCheck": ( AuditCheckConfiguration, False, ), "IotRoleAliasOverlyPermissiveCheck": (AuditCheckConfiguration, False), "LoggingDisabledCheck": (AuditCheckConfiguration, False), "RevokedCaCertificateStillActiveCheck": (AuditCheckConfiguration, False), "RevokedDeviceCertificateStillActiveCheck": (AuditCheckConfiguration, False), "UnauthenticatedCognitoRoleOverlyPermissiveCheck": ( AuditCheckConfiguration, False, ), }
[docs]class AuditNotificationTarget(AWSProperty): """ `AuditNotificationTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditnotificationtarget.html>`__ """ props: PropsDictType = { "Enabled": (boolean, False), "RoleArn": (str, False), "TargetArn": (str, False), }
[docs]class AuditNotificationTargetConfigurations(AWSProperty): """ `AuditNotificationTargetConfigurations <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditnotificationtargetconfigurations.html>`__ """ props: PropsDictType = { "Sns": (AuditNotificationTarget, False), }
[docs]class AccountAuditConfiguration(AWSObject): """ `AccountAuditConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html>`__ """ resource_type = "AWS::IoT::AccountAuditConfiguration" props: PropsDictType = { "AccountId": (str, True), "AuditCheckConfigurations": (AuditCheckConfigurations, True), "AuditNotificationTargetConfigurations": ( AuditNotificationTargetConfigurations, False, ), "RoleArn": (str, True), }
[docs]class Authorizer(AWSObject): """ `Authorizer <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html>`__ """ resource_type = "AWS::IoT::Authorizer" props: PropsDictType = { "AuthorizerFunctionArn": (str, True), "AuthorizerName": (str, False), "EnableCachingForHttp": (boolean, False), "SigningDisabled": (boolean, False), "Status": (str, False), "Tags": (Tags, False), "TokenKeyName": (str, False), "TokenSigningPublicKeys": (dict, False), }
[docs]class BillingGroupProperties(AWSProperty): """ `BillingGroupProperties <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-billinggroup-billinggroupproperties.html>`__ """ props: PropsDictType = { "BillingGroupDescription": (str, False), }
[docs]class BillingGroup(AWSObject): """ `BillingGroup <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.html>`__ """ resource_type = "AWS::IoT::BillingGroup" props: PropsDictType = { "BillingGroupName": (str, False), "BillingGroupProperties": (BillingGroupProperties, False), "Tags": (Tags, False), }
[docs]class RegistrationConfig(AWSProperty): """ `RegistrationConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cacertificate-registrationconfig.html>`__ """ props: PropsDictType = { "RoleArn": (str, False), "TemplateBody": (str, False), "TemplateName": (str, False), }
[docs]class CACertificate(AWSObject): """ `CACertificate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html>`__ """ resource_type = "AWS::IoT::CACertificate" props: PropsDictType = { "AutoRegistrationStatus": (str, False), "CACertificatePem": (str, True), "CertificateMode": (str, False), "RegistrationConfig": (RegistrationConfig, False), "RemoveAutoRegistration": (boolean, False), "Status": (str, True), "Tags": (Tags, False), "VerificationCertificatePem": (str, False), }
[docs]class Certificate(AWSObject): """ `Certificate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html>`__ """ resource_type = "AWS::IoT::Certificate" props: PropsDictType = { "CACertificatePem": (str, False), "CertificateMode": (str, False), "CertificatePem": (str, False), "CertificateSigningRequest": (str, False), "Status": (str, True), }
[docs]class CertificateProvider(AWSObject): """ `CertificateProvider <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificateprovider.html>`__ """ resource_type = "AWS::IoT::CertificateProvider" props: PropsDictType = { "AccountDefaultForOperations": ([str], True), "CertificateProviderName": (str, False), "LambdaFunctionArn": (str, True), "Tags": (Tags, False), }
[docs]class CustomMetric(AWSObject): """ `CustomMetric <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html>`__ """ resource_type = "AWS::IoT::CustomMetric" props: PropsDictType = { "DisplayName": (str, False), "MetricName": (str, False), "MetricType": (str, True), "Tags": (Tags, False), }
[docs]class Dimension(AWSObject): """ `Dimension <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html>`__ """ resource_type = "AWS::IoT::Dimension" props: PropsDictType = { "Name": (str, False), "StringValues": ([str], True), "Tags": (Tags, False), "Type": (str, True), }
[docs]class AuthorizerConfig(AWSProperty): """ `AuthorizerConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-authorizerconfig.html>`__ """ props: PropsDictType = { "AllowAuthorizerOverride": (boolean, False), "DefaultAuthorizerName": (str, False), }
[docs]class ServerCertificateConfig(AWSProperty): """ `ServerCertificateConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-servercertificateconfig.html>`__ """ props: PropsDictType = { "EnableOCSPCheck": (boolean, False), }
[docs]class TlsConfig(AWSProperty): """ `TlsConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-tlsconfig.html>`__ """ props: PropsDictType = { "SecurityPolicy": (str, False), }
[docs]class DomainConfiguration(AWSObject): """ `DomainConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html>`__ """ resource_type = "AWS::IoT::DomainConfiguration" props: PropsDictType = { "AuthorizerConfig": (AuthorizerConfig, False), "DomainConfigurationName": (str, False), "DomainConfigurationStatus": (str, False), "DomainName": (str, False), "ServerCertificateArns": ([str], False), "ServerCertificateConfig": (ServerCertificateConfig, False), "ServiceType": (str, False), "Tags": (Tags, False), "TlsConfig": (TlsConfig, False), "ValidationCertificateArn": (str, False), }
[docs]class AggregationType(AWSProperty): """ `AggregationType <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-fleetmetric-aggregationtype.html>`__ """ props: PropsDictType = { "Name": (str, True), "Values": ([str], True), }
[docs]class FleetMetric(AWSObject): """ `FleetMetric <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html>`__ """ resource_type = "AWS::IoT::FleetMetric" props: PropsDictType = { "AggregationField": (str, False), "AggregationType": (AggregationType, False), "Description": (str, False), "IndexName": (str, False), "MetricName": (str, True), "Period": (integer, False), "QueryString": (str, False), "QueryVersion": (str, False), "Tags": (Tags, False), "Unit": (str, False), }
[docs]class AbortCriteria(AWSProperty): """ `AbortCriteria <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-jobtemplate-abortcriteria.html>`__ """ props: PropsDictType = { "Action": (str, True), "FailureType": (str, True), "MinNumberOfExecutedThings": (integer, True), "ThresholdPercentage": (double, True), }
[docs]class AbortConfig(AWSProperty): """ `AbortConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-jobtemplate-abortconfig.html>`__ """ props: PropsDictType = { "CriteriaList": ([AbortCriteria], True), }
[docs]class RetryCriteria(AWSProperty): """ `RetryCriteria <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-jobtemplate-retrycriteria.html>`__ """ props: PropsDictType = { "FailureType": (str, False), "NumberOfRetries": (integer, False), }
[docs]class JobExecutionsRetryConfig(AWSProperty): """ `JobExecutionsRetryConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-jobtemplate-jobexecutionsretryconfig.html>`__ """ props: PropsDictType = { "RetryCriteriaList": ([RetryCriteria], False), }
[docs]class RateIncreaseCriteria(AWSProperty): """ `RateIncreaseCriteria <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-jobtemplate-rateincreasecriteria.html>`__ """ props: PropsDictType = { "NumberOfNotifiedThings": (integer, False), "NumberOfSucceededThings": (integer, False), }
[docs]class ExponentialRolloutRate(AWSProperty): """ `ExponentialRolloutRate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-jobtemplate-exponentialrolloutrate.html>`__ """ props: PropsDictType = { "BaseRatePerMinute": (integer, True), "IncrementFactor": (double, True), "RateIncreaseCriteria": (RateIncreaseCriteria, True), }
[docs]class JobExecutionsRolloutConfig(AWSProperty): """ `JobExecutionsRolloutConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-jobtemplate-jobexecutionsrolloutconfig.html>`__ """ props: PropsDictType = { "ExponentialRolloutRate": (ExponentialRolloutRate, False), "MaximumPerMinute": (integer, False), }
[docs]class MaintenanceWindow(AWSProperty): """ `MaintenanceWindow <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-jobtemplate-maintenancewindow.html>`__ """ props: PropsDictType = { "DurationInMinutes": (integer, False), "StartTime": (str, False), }
[docs]class PresignedUrlConfig(AWSProperty): """ `PresignedUrlConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-jobtemplate-presignedurlconfig.html>`__ """ props: PropsDictType = { "ExpiresInSec": (integer, False), "RoleArn": (str, True), }
[docs]class TimeoutConfig(AWSProperty): """ `TimeoutConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-jobtemplate-timeoutconfig.html>`__ """ props: PropsDictType = { "InProgressTimeoutInMinutes": (integer, True), }
[docs]class JobTemplate(AWSObject): """ `JobTemplate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html>`__ """ resource_type = "AWS::IoT::JobTemplate" props: PropsDictType = { "AbortConfig": (validate_json_checker, False), "Description": (str, True), "DestinationPackageVersions": ([str], False), "Document": (str, False), "DocumentSource": (str, False), "JobArn": (str, False), "JobExecutionsRetryConfig": (JobExecutionsRetryConfig, False), "JobExecutionsRolloutConfig": (validate_json_checker, False), "JobTemplateId": (str, True), "MaintenanceWindows": ([MaintenanceWindow], False), "PresignedUrlConfig": (PresignedUrlConfig, False), "Tags": (Tags, False), "TimeoutConfig": (validate_json_checker, False), }
[docs]class Logging(AWSObject): """ `Logging <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-logging.html>`__ """ resource_type = "AWS::IoT::Logging" props: PropsDictType = { "AccountId": (str, True), "DefaultLogLevel": (str, True), "RoleArn": (str, True), }
[docs]class AddThingsToThingGroupParams(AWSProperty): """ `AddThingsToThingGroupParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-addthingstothinggroupparams.html>`__ """ props: PropsDictType = { "OverrideDynamicGroups": (boolean, False), "ThingGroupNames": ([str], True), }
[docs]class EnableIoTLoggingParams(AWSProperty): """ `EnableIoTLoggingParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-enableiotloggingparams.html>`__ """ props: PropsDictType = { "LogLevel": (str, True), "RoleArnForLogging": (str, True), }
[docs]class PublishFindingToSnsParams(AWSProperty): """ `PublishFindingToSnsParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-publishfindingtosnsparams.html>`__ """ props: PropsDictType = { "TopicArn": (str, True), }
[docs]class ReplaceDefaultPolicyVersionParams(AWSProperty): """ `ReplaceDefaultPolicyVersionParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-replacedefaultpolicyversionparams.html>`__ """ props: PropsDictType = { "TemplateName": (str, True), }
[docs]class UpdateCACertificateParams(AWSProperty): """ `UpdateCACertificateParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-updatecacertificateparams.html>`__ """ props: PropsDictType = { "Action": (str, True), }
[docs]class UpdateDeviceCertificateParams(AWSProperty): """ `UpdateDeviceCertificateParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-updatedevicecertificateparams.html>`__ """ props: PropsDictType = { "Action": (str, True), }
[docs]class ActionParams(AWSProperty): """ `ActionParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-actionparams.html>`__ """ props: PropsDictType = { "AddThingsToThingGroupParams": (AddThingsToThingGroupParams, False), "EnableIoTLoggingParams": (EnableIoTLoggingParams, False), "PublishFindingToSnsParams": (PublishFindingToSnsParams, False), "ReplaceDefaultPolicyVersionParams": (ReplaceDefaultPolicyVersionParams, False), "UpdateCACertificateParams": (UpdateCACertificateParams, False), "UpdateDeviceCertificateParams": (UpdateDeviceCertificateParams, False), }
[docs]class MitigationAction(AWSObject): """ `MitigationAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html>`__ """ resource_type = "AWS::IoT::MitigationAction" props: PropsDictType = { "ActionName": (str, False), "ActionParams": (ActionParams, True), "RoleArn": (str, True), "Tags": (Tags, False), }
[docs]class Policy(AWSObject): """ `Policy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html>`__ """ resource_type = "AWS::IoT::Policy" props: PropsDictType = { "PolicyDocument": (policytypes, True), "PolicyName": (str, False), "Tags": (Tags, False), }
[docs]class PolicyPrincipalAttachment(AWSObject): """ `PolicyPrincipalAttachment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html>`__ """ resource_type = "AWS::IoT::PolicyPrincipalAttachment" props: PropsDictType = { "PolicyName": (str, True), "Principal": (str, True), }
[docs]class ProvisioningHook(AWSProperty): """ `ProvisioningHook <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-provisioninghook.html>`__ """ props: PropsDictType = { "PayloadVersion": (str, False), "TargetArn": (str, False), }
[docs]class ProvisioningTemplate(AWSObject): """ `ProvisioningTemplate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html>`__ """ resource_type = "AWS::IoT::ProvisioningTemplate" props: PropsDictType = { "Description": (str, False), "Enabled": (boolean, False), "PreProvisioningHook": (ProvisioningHook, False), "ProvisioningRoleArn": (str, True), "Tags": (Tags, False), "TemplateBody": (str, True), "TemplateName": (str, False), "TemplateType": (str, False), }
[docs]class ResourceSpecificLogging(AWSObject): """ `ResourceSpecificLogging <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-resourcespecificlogging.html>`__ """ resource_type = "AWS::IoT::ResourceSpecificLogging" props: PropsDictType = { "LogLevel": (str, True), "TargetName": (str, True), "TargetType": (str, True), }
[docs]class RoleAlias(AWSObject): """ `RoleAlias <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-rolealias.html>`__ """ resource_type = "AWS::IoT::RoleAlias" props: PropsDictType = { "CredentialDurationSeconds": (integer, False), "RoleAlias": (str, False), "RoleArn": (str, True), "Tags": (Tags, False), }
[docs]class ScheduledAudit(AWSObject): """ `ScheduledAudit <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html>`__ """ resource_type = "AWS::IoT::ScheduledAudit" props: PropsDictType = { "DayOfMonth": (str, False), "DayOfWeek": (str, False), "Frequency": (str, True), "ScheduledAuditName": (str, False), "Tags": (Tags, False), "TargetCheckNames": ([str], True), }
[docs]class AlertTarget(AWSProperty): """ `AlertTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-alerttarget.html>`__ """ props: PropsDictType = { "AlertTargetArn": (str, True), "RoleArn": (str, True), }
[docs]class MachineLearningDetectionConfig(AWSProperty): """ `MachineLearningDetectionConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-machinelearningdetectionconfig.html>`__ """ props: PropsDictType = { "ConfidenceLevel": (str, False), }
[docs]class MetricValue(AWSProperty): """ `MetricValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricvalue.html>`__ """ props: PropsDictType = { "Cidrs": ([str], False), "Count": (str, False), "Number": (double, False), "Numbers": ([double], False), "Ports": ([integer], False), "Strings": ([str], False), }
[docs]class StatisticalThreshold(AWSProperty): """ `StatisticalThreshold <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-statisticalthreshold.html>`__ """ props: PropsDictType = { "Statistic": (str, False), }
[docs]class BehaviorCriteria(AWSProperty): """ `BehaviorCriteria <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html>`__ """ props: PropsDictType = { "ComparisonOperator": (str, False), "ConsecutiveDatapointsToAlarm": (integer, False), "ConsecutiveDatapointsToClear": (integer, False), "DurationSeconds": (integer, False), "MlDetectionConfig": (MachineLearningDetectionConfig, False), "StatisticalThreshold": (StatisticalThreshold, False), "Value": (MetricValue, False), }
[docs]class MetricDimension(AWSProperty): """ `MetricDimension <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricdimension.html>`__ """ props: PropsDictType = { "DimensionName": (str, True), "Operator": (str, False), }
[docs]class Behavior(AWSProperty): """ `Behavior <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html>`__ """ props: PropsDictType = { "Criteria": (BehaviorCriteria, False), "ExportMetric": (boolean, False), "Metric": (str, False), "MetricDimension": (MetricDimension, False), "Name": (str, True), "SuppressAlerts": (boolean, False), }
[docs]class MetricToRetain(AWSProperty): """ `MetricToRetain <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metrictoretain.html>`__ """ props: PropsDictType = { "ExportMetric": (boolean, False), "Metric": (str, True), "MetricDimension": (MetricDimension, False), }
[docs]class MetricsExportConfig(AWSProperty): """ `MetricsExportConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricsexportconfig.html>`__ """ props: PropsDictType = { "MqttTopic": (str, True), "RoleArn": (str, True), }
[docs]class SecurityProfile(AWSObject): """ `SecurityProfile <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html>`__ """ resource_type = "AWS::IoT::SecurityProfile" props: PropsDictType = { "AdditionalMetricsToRetainV2": ([MetricToRetain], False), "AlertTargets": (dict, False), "Behaviors": ([Behavior], False), "MetricsExportConfig": (MetricsExportConfig, False), "SecurityProfileDescription": (str, False), "SecurityProfileName": (str, False), "Tags": (Tags, False), "TargetArns": ([str], False), }
[docs]class SoftwarePackage(AWSObject): """ `SoftwarePackage <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html>`__ """ resource_type = "AWS::IoT::SoftwarePackage" props: PropsDictType = { "Description": (str, False), "PackageName": (str, False), "Tags": (Tags, False), }
[docs]class SoftwarePackageVersion(AWSObject): """ `SoftwarePackageVersion <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html>`__ """ resource_type = "AWS::IoT::SoftwarePackageVersion" props: PropsDictType = { "Attributes": (dict, False), "Description": (str, False), "PackageName": (str, True), "Tags": (Tags, False), "VersionName": (str, False), }
[docs]class AttributePayload(AWSProperty): """ `AttributePayload <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thinggroup-attributepayload.html>`__ """ props: PropsDictType = { "Attributes": (dict, False), }
[docs]class Thing(AWSObject): """ `Thing <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html>`__ """ resource_type = "AWS::IoT::Thing" props: PropsDictType = { "AttributePayload": (AttributePayload, False), "ThingName": (str, False), }
[docs]class ThingGroupProperties(AWSProperty): """ `ThingGroupProperties <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thinggroup-thinggroupproperties.html>`__ """ props: PropsDictType = { "AttributePayload": (AttributePayload, False), "ThingGroupDescription": (str, False), }
[docs]class ThingGroup(AWSObject): """ `ThingGroup <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thinggroup.html>`__ """ resource_type = "AWS::IoT::ThingGroup" props: PropsDictType = { "ParentGroupName": (str, False), "QueryString": (str, False), "Tags": (Tags, False), "ThingGroupName": (str, False), "ThingGroupProperties": (ThingGroupProperties, False), }
[docs]class ThingPrincipalAttachment(AWSObject): """ `ThingPrincipalAttachment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html>`__ """ resource_type = "AWS::IoT::ThingPrincipalAttachment" props: PropsDictType = { "Principal": (str, True), "ThingName": (str, True), }
[docs]class ThingTypeProperties(AWSProperty): """ `ThingTypeProperties <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thingtype-thingtypeproperties.html>`__ """ props: PropsDictType = { "SearchableAttributes": ([str], False), "ThingTypeDescription": (str, False), }
[docs]class ThingType(AWSObject): """ `ThingType <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingtype.html>`__ """ resource_type = "AWS::IoT::ThingType" props: PropsDictType = { "DeprecateThingType": (boolean, False), "Tags": (Tags, False), "ThingTypeName": (str, False), "ThingTypeProperties": (ThingTypeProperties, False), }
[docs]class CloudwatchAlarmAction(AWSProperty): """ `CloudwatchAlarmAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchalarmaction.html>`__ """ props: PropsDictType = { "AlarmName": (str, True), "RoleArn": (str, True), "StateReason": (str, True), "StateValue": (str, True), }
[docs]class CloudwatchLogsAction(AWSProperty): """ `CloudwatchLogsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchlogsaction.html>`__ """ props: PropsDictType = { "BatchMode": (boolean, False), "LogGroupName": (str, True), "RoleArn": (str, True), }
[docs]class CloudwatchMetricAction(AWSProperty): """ `CloudwatchMetricAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html>`__ """ props: PropsDictType = { "MetricName": (str, True), "MetricNamespace": (str, True), "MetricTimestamp": (str, False), "MetricUnit": (str, True), "MetricValue": (str, True), "RoleArn": (str, True), }
[docs]class DynamoDBAction(AWSProperty): """ `DynamoDBAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html>`__ """ props: PropsDictType = { "HashKeyField": (str, True), "HashKeyType": (str, False), "HashKeyValue": (str, True), "PayloadField": (str, False), "RangeKeyField": (str, False), "RangeKeyType": (str, False), "RangeKeyValue": (str, False), "RoleArn": (str, True), "TableName": (str, True), }
[docs]class PutItemInput(AWSProperty): """ `PutItemInput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putiteminput.html>`__ """ props: PropsDictType = { "TableName": (str, True), }
[docs]class DynamoDBv2Action(AWSProperty): """ `DynamoDBv2Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbv2action.html>`__ """ props: PropsDictType = { "PutItem": (PutItemInput, False), "RoleArn": (str, False), }
[docs]class ElasticsearchAction(AWSProperty): """ `ElasticsearchAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-elasticsearchaction.html>`__ """ props: PropsDictType = { "Endpoint": (str, True), "Id": (str, True), "Index": (str, True), "RoleArn": (str, True), "Type": (str, True), }
[docs]class FirehoseAction(AWSProperty): """ `FirehoseAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html>`__ """ props: PropsDictType = { "BatchMode": (boolean, False), "DeliveryStreamName": (str, True), "RoleArn": (str, True), "Separator": (str, False), }
[docs]class HttpActionHeader(AWSProperty): """ `HttpActionHeader <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpactionheader.html>`__ """ props: PropsDictType = { "Key": (str, True), "Value": (str, True), }
[docs]class SigV4Authorization(AWSProperty): """ `SigV4Authorization <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html>`__ """ props: PropsDictType = { "RoleArn": (str, True), "ServiceName": (str, True), "SigningRegion": (str, True), }
[docs]class HttpAuthorization(AWSProperty): """ `HttpAuthorization <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpauthorization.html>`__ """ props: PropsDictType = { "Sigv4": (SigV4Authorization, False), }
[docs]class HttpAction(AWSProperty): """ `HttpAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html>`__ """ props: PropsDictType = { "Auth": (HttpAuthorization, False), "ConfirmationUrl": (str, False), "Headers": ([HttpActionHeader], False), "Url": (str, True), }
[docs]class IotAnalyticsAction(AWSProperty): """ `IotAnalyticsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotanalyticsaction.html>`__ """ props: PropsDictType = { "BatchMode": (boolean, False), "ChannelName": (str, True), "RoleArn": (str, True), }
[docs]class IotEventsAction(AWSProperty): """ `IotEventsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html>`__ """ props: PropsDictType = { "BatchMode": (boolean, False), "InputName": (str, True), "MessageId": (str, False), "RoleArn": (str, True), }
[docs]class AssetPropertyTimestamp(AWSProperty): """ `AssetPropertyTimestamp <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertytimestamp.html>`__ """ props: PropsDictType = { "OffsetInNanos": (str, False), "TimeInSeconds": (str, True), }
[docs]class AssetPropertyVariant(AWSProperty): """ `AssetPropertyVariant <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html>`__ """ props: PropsDictType = { "BooleanValue": (str, False), "DoubleValue": (str, False), "IntegerValue": (str, False), "StringValue": (str, False), }
[docs]class AssetPropertyValue(AWSProperty): """ `AssetPropertyValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html>`__ """ props: PropsDictType = { "Quality": (str, False), "Timestamp": (AssetPropertyTimestamp, True), "Value": (AssetPropertyVariant, True), }
[docs]class PutAssetPropertyValueEntry(AWSProperty): """ `PutAssetPropertyValueEntry <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html>`__ """ props: PropsDictType = { "AssetId": (str, False), "EntryId": (str, False), "PropertyAlias": (str, False), "PropertyId": (str, False), "PropertyValues": ([AssetPropertyValue], True), }
[docs]class IotSiteWiseAction(AWSProperty): """ `IotSiteWiseAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html>`__ """ props: PropsDictType = { "PutAssetPropertyValueEntries": ([PutAssetPropertyValueEntry], True), "RoleArn": (str, True), }
[docs]class KafkaActionHeader(AWSProperty): """ `KafkaActionHeader <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kafkaactionheader.html>`__ """ props: PropsDictType = { "Key": (str, True), "Value": (str, True), }
[docs]class KafkaAction(AWSProperty): """ `KafkaAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kafkaaction.html>`__ """ props: PropsDictType = { "ClientProperties": (dict, True), "DestinationArn": (str, True), "Headers": ([KafkaActionHeader], False), "Key": (str, False), "Partition": (str, False), "Topic": (str, True), }
[docs]class KinesisAction(AWSProperty): """ `KinesisAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kinesisaction.html>`__ """ props: PropsDictType = { "PartitionKey": (str, False), "RoleArn": (str, True), "StreamName": (str, True), }
[docs]class LambdaAction(AWSProperty): """ `LambdaAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-lambdaaction.html>`__ """ props: PropsDictType = { "FunctionArn": (str, False), }
[docs]class Timestamp(AWSProperty): """ `Timestamp <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestamp.html>`__ """ props: PropsDictType = { "Unit": (str, False), "Value": (str, True), }
[docs]class LocationAction(AWSProperty): """ `LocationAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-locationaction.html>`__ """ props: PropsDictType = { "DeviceId": (str, True), "Latitude": (str, True), "Longitude": (str, True), "RoleArn": (str, True), "Timestamp": (Timestamp, False), "TrackerName": (str, True), }
[docs]class OpenSearchAction(AWSProperty): """ `OpenSearchAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-opensearchaction.html>`__ """ props: PropsDictType = { "Endpoint": (str, True), "Id": (str, True), "Index": (str, True), "RoleArn": (str, True), "Type": (str, True), }
[docs]class UserProperty(AWSProperty): """ `UserProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-userproperty.html>`__ """ props: PropsDictType = { "Key": (str, True), "Value": (str, True), }
[docs]class RepublishActionHeaders(AWSProperty): """ `RepublishActionHeaders <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishactionheaders.html>`__ """ props: PropsDictType = { "ContentType": (str, False), "CorrelationData": (str, False), "MessageExpiry": (str, False), "PayloadFormatIndicator": (str, False), "ResponseTopic": (str, False), "UserProperties": ([UserProperty], False), }
[docs]class RepublishAction(AWSProperty): """ `RepublishAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html>`__ """ props: PropsDictType = { "Headers": (RepublishActionHeaders, False), "Qos": (integer, False), "RoleArn": (str, True), "Topic": (str, True), }
[docs]class S3Action(AWSProperty): """ `S3Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-s3action.html>`__ """ props: PropsDictType = { "BucketName": (str, True), "CannedAcl": (str, False), "Key": (str, True), "RoleArn": (str, True), }
[docs]class SnsAction(AWSProperty): """ `SnsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-snsaction.html>`__ """ props: PropsDictType = { "MessageFormat": (str, False), "RoleArn": (str, True), "TargetArn": (str, True), }
[docs]class SqsAction(AWSProperty): """ `SqsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sqsaction.html>`__ """ props: PropsDictType = { "QueueUrl": (str, True), "RoleArn": (str, True), "UseBase64": (boolean, False), }
[docs]class StepFunctionsAction(AWSProperty): """ `StepFunctionsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-stepfunctionsaction.html>`__ """ props: PropsDictType = { "ExecutionNamePrefix": (str, False), "RoleArn": (str, True), "StateMachineName": (str, True), }
[docs]class TimestreamDimension(AWSProperty): """ `TimestreamDimension <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamdimension.html>`__ """ props: PropsDictType = { "Name": (str, True), "Value": (str, True), }
[docs]class TimestreamTimestamp(AWSProperty): """ `TimestreamTimestamp <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamtimestamp.html>`__ """ props: PropsDictType = { "Unit": (str, True), "Value": (str, True), }
[docs]class TimestreamAction(AWSProperty): """ `TimestreamAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamaction.html>`__ """ props: PropsDictType = { "DatabaseName": (str, True), "Dimensions": ([TimestreamDimension], True), "RoleArn": (str, True), "TableName": (str, True), "Timestamp": (TimestreamTimestamp, False), }
[docs]class Action(AWSProperty): """ `Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html>`__ """ props: PropsDictType = { "CloudwatchAlarm": (CloudwatchAlarmAction, False), "CloudwatchLogs": (CloudwatchLogsAction, False), "CloudwatchMetric": (CloudwatchMetricAction, False), "DynamoDB": (DynamoDBAction, False), "DynamoDBv2": (DynamoDBv2Action, False), "Elasticsearch": (ElasticsearchAction, False), "Firehose": (FirehoseAction, False), "Http": (HttpAction, False), "IotAnalytics": (IotAnalyticsAction, False), "IotEvents": (IotEventsAction, False), "IotSiteWise": (IotSiteWiseAction, False), "Kafka": (KafkaAction, False), "Kinesis": (KinesisAction, False), "Lambda": (LambdaAction, False), "Location": (LocationAction, False), "OpenSearch": (OpenSearchAction, False), "Republish": (RepublishAction, False), "S3": (S3Action, False), "Sns": (SnsAction, False), "Sqs": (SqsAction, False), "StepFunctions": (StepFunctionsAction, False), "Timestream": (TimestreamAction, False), }
[docs]class TopicRulePayload(AWSProperty): """ `TopicRulePayload <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html>`__ """ props: PropsDictType = { "Actions": ([Action], True), "AwsIotSqlVersion": (str, False), "Description": (str, False), "ErrorAction": (Action, False), "RuleDisabled": (boolean, False), "Sql": (str, True), }
[docs]class TopicRule(AWSObject): """ `TopicRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html>`__ """ resource_type = "AWS::IoT::TopicRule" props: PropsDictType = { "RuleName": (str, False), "Tags": (Tags, False), "TopicRulePayload": (TopicRulePayload, True), }
[docs]class HttpUrlDestinationSummary(AWSProperty): """ `HttpUrlDestinationSummary <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicruledestination-httpurldestinationsummary.html>`__ """ props: PropsDictType = { "ConfirmationUrl": (str, False), }
[docs]class VpcDestinationProperties(AWSProperty): """ `VpcDestinationProperties <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicruledestination-vpcdestinationproperties.html>`__ """ props: PropsDictType = { "RoleArn": (str, False), "SecurityGroups": ([str], False), "SubnetIds": ([str], False), "VpcId": (str, False), }
[docs]class TopicRuleDestination(AWSObject): """ `TopicRuleDestination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html>`__ """ resource_type = "AWS::IoT::TopicRuleDestination" props: PropsDictType = { "HttpUrlProperties": (HttpUrlDestinationSummary, False), "Status": (str, False), "VpcProperties": (VpcDestinationProperties, False), }
[docs]class ServerCertificateSummary(AWSProperty): """ `ServerCertificateSummary <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-servercertificatesummary.html>`__ """ props: PropsDictType = { "ServerCertificateArn": (str, False), "ServerCertificateStatus": (str, False), "ServerCertificateStatusDetail": (str, False), }