IoT (Internet of Things)

Implementation details for API iot

Coverage Overview

Internet of Things (IoT) is supported by LocalStack only in the pro image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
AcceptCertificateTransfer
AddThingToBillingGroup
AddThingToThingGroup✔️pro
AssociateTargetsWithJob
AttachPolicy✔️pro✔️
AttachPrincipalPolicy✔️pro
AttachSecurityProfile
AttachThingPrincipal✔️pro
CancelAuditMitigationActionsTask
CancelAuditTask
CancelCertificateTransfer
CancelDetectMitigationActionsTask
CancelJob✔️pro
CancelJobExecution✔️pro
ClearDefaultAuthorizer
ConfirmTopicRuleDestination
CreateAuditSuppression
CreateAuthorizer
CreateBillingGroup
CreateCertificateFromCsr✔️pro✔️
CreateCertificateProvider
CreateCustomMetric
CreateDimension
CreateDomainConfiguration✔️pro✔️
CreateDynamicThingGroup✔️pro
CreateFleetMetric
CreateJob✔️pro✔️
CreateJobTemplate
CreateKeysAndCertificate✔️pro✔️
CreateMitigationAction
CreateOTAUpdate
CreatePackage
CreatePackageVersion
CreatePolicy✔️pro✔️
CreatePolicyVersion✔️pro
CreateProvisioningClaim
CreateProvisioningTemplate
CreateProvisioningTemplateVersion
CreateRoleAlias✔️pro✔️✔️✔️Show Tests
CreateScheduledAudit
CreateSecurityProfile
CreateStream
CreateThing✔️pro✔️
CreateThingGroup✔️pro✔️
CreateThingType✔️pro✔️
CreateTopicRule✔️pro✔️✔️✔️Show Tests
CreateTopicRuleDestination✔️pro
DeleteAccountAuditConfiguration
DeleteAuditSuppression
DeleteAuthorizer
DeleteBillingGroup
DeleteCACertificate✔️pro✔️
DeleteCertificate✔️pro✔️
DeleteCertificateProvider
DeleteCustomMetric
DeleteDimension
DeleteDomainConfiguration✔️pro✔️
DeleteDynamicThingGroup✔️pro
DeleteFleetMetric
DeleteJob✔️pro✔️
DeleteJobExecution✔️pro
DeleteJobTemplate
DeleteMitigationAction
DeleteOTAUpdate
DeletePackage
DeletePackageVersion
DeletePolicy✔️pro
DeletePolicyVersion✔️pro
DeleteProvisioningTemplate
DeleteProvisioningTemplateVersion
DeleteRegistrationCode
DeleteRoleAlias✔️pro✔️✔️✔️Show Tests
DeleteScheduledAudit
DeleteSecurityProfile
DeleteStream
DeleteThing✔️pro✔️
DeleteThingGroup✔️pro
DeleteThingType✔️pro✔️
DeleteTopicRule✔️pro✔️✔️✔️Show Tests
DeleteTopicRuleDestination✔️pro
DeleteV2LoggingLevel
DeprecateThingType✔️pro✔️
DescribeAccountAuditConfiguration
DescribeAuditFinding
DescribeAuditMitigationActionsTask
DescribeAuditSuppression
DescribeAuditTask
DescribeAuthorizer
DescribeBillingGroup
DescribeCACertificate✔️pro✔️
DescribeCertificate✔️pro✔️
DescribeCertificateProvider
DescribeCustomMetric
DescribeDefaultAuthorizer
DescribeDetectMitigationActionsTask
DescribeDimension
DescribeDomainConfiguration✔️pro✔️
DescribeEndpoint✔️pro✔️
DescribeEventConfigurations
DescribeFleetMetric
DescribeIndex
DescribeJob✔️pro✔️
DescribeJobExecution✔️pro
DescribeJobTemplate
DescribeManagedJobTemplate
DescribeMitigationAction
DescribeProvisioningTemplate
DescribeProvisioningTemplateVersion
DescribeRoleAlias✔️pro
DescribeScheduledAudit
DescribeSecurityProfile
DescribeStream
DescribeThing✔️pro✔️
DescribeThingGroup✔️pro
DescribeThingRegistrationTask
DescribeThingType✔️pro✔️
DetachPolicy✔️pro
DetachPrincipalPolicy✔️pro
DetachSecurityProfile
DetachThingPrincipal✔️pro
DisableTopicRule✔️pro
EnableTopicRule✔️pro
GetBehaviorModelTrainingSummaries
GetBucketsAggregation
GetCardinality
GetEffectivePolicies
GetIndexingConfiguration
GetJobDocument✔️pro
GetLoggingOptions
GetOTAUpdate
GetPackage
GetPackageConfiguration
GetPackageVersion
GetPercentiles
GetPolicy✔️pro
GetPolicyVersion✔️pro
GetRegistrationCode✔️pro✔️
GetStatistics
GetTopicRule✔️pro✔️✔️✔️Show Tests
GetTopicRuleDestination✔️pro
GetV2LoggingOptions
ListActiveViolations
ListAttachedPolicies✔️pro✔️
ListAuditFindings
ListAuditMitigationActionsExecutions
ListAuditMitigationActionsTasks
ListAuditSuppressions
ListAuditTasks
ListAuthorizers
ListBillingGroups
ListCACertificates
ListCertificateProviders
ListCertificates✔️pro✔️
ListCertificatesByCA✔️pro✔️
ListCustomMetrics
ListDetectMitigationActionsExecutions
ListDetectMitigationActionsTasks
ListDimensions
ListDomainConfigurations✔️pro✔️
ListFleetMetrics
ListIndices
ListJobExecutionsForJob✔️pro
ListJobExecutionsForThing✔️pro
ListJobTemplates
ListJobs✔️pro✔️
ListManagedJobTemplates
ListMetricValues
ListMitigationActions
ListOTAUpdates
ListOutgoingCertificates
ListPackageVersions
ListPackages
ListPolicies✔️pro
ListPolicyPrincipals✔️pro
ListPolicyVersions✔️pro
ListPrincipalPolicies✔️pro
ListPrincipalThings✔️pro
ListProvisioningTemplateVersions
ListProvisioningTemplates
ListRelatedResourcesForAuditFinding
ListRoleAliases✔️pro
ListScheduledAudits
ListSecurityProfiles
ListSecurityProfilesForTarget
ListStreams
ListTagsForResource✔️pro
ListTargetsForPolicy✔️pro✔️
ListTargetsForSecurityProfile
ListThingGroups✔️pro✔️
ListThingGroupsForThing✔️pro
ListThingPrincipals✔️pro
ListThingRegistrationTaskReports
ListThingRegistrationTasks
ListThingTypes✔️pro✔️
ListThings✔️pro✔️
ListThingsInBillingGroup
ListThingsInThingGroup✔️pro
ListTopicRuleDestinations
ListTopicRules✔️pro
ListV2LoggingLevels
ListViolationEvents
PutVerificationStateOnViolation
RegisterCACertificate✔️pro✔️
RegisterCertificate✔️pro✔️
RegisterCertificateWithoutCA✔️pro✔️
RegisterThing
RejectCertificateTransfer
RemoveThingFromBillingGroup
RemoveThingFromThingGroup✔️pro
ReplaceTopicRule✔️pro
SearchIndex✔️pro✔️
SetDefaultAuthorizer
SetDefaultPolicyVersion✔️pro
SetLoggingOptions
SetV2LoggingLevel
SetV2LoggingOptions
StartAuditMitigationActionsTask
StartDetectMitigationActionsTask
StartOnDemandAuditTask
StartThingRegistrationTask
StopThingRegistrationTask
TagResource✔️pro
TestAuthorization
TestInvokeAuthorizer
TransferCertificate
UntagResource
UpdateAccountAuditConfiguration
UpdateAuditSuppression
UpdateAuthorizer
UpdateBillingGroup
UpdateCACertificate✔️pro✔️
UpdateCertificate✔️pro✔️
UpdateCertificateProvider
UpdateCustomMetric
UpdateDimension
UpdateDomainConfiguration✔️pro✔️
UpdateDynamicThingGroup✔️pro
UpdateEventConfigurations✔️pro
UpdateFleetMetric
UpdateIndexingConfiguration✔️pro
UpdateJob
UpdateMitigationAction
UpdatePackage
UpdatePackageConfiguration
UpdatePackageVersion
UpdateProvisioningTemplate
UpdateRoleAlias✔️pro
UpdateScheduledAudit
UpdateSecurityProfile
UpdateStream
UpdateThing✔️pro✔️
UpdateThingGroup✔️pro
UpdateThingGroupsForThing✔️pro
UpdateTopicRuleDestination
ValidateSecurityProfileBehaviors

Terminology

  • Internal Test Suite: tested by LocalStack's internal integration test suite
  • External Test Suite: covered by an external integration test suite, that runs against LocalStack
  • Terraform Validated: operation tested with Terraform
  • AWS Validated: the integration test that includes this operation call was validated against AWS
  • Snapshot Tested: the operation is part of a snapshot parity test, which verifies the responses by LocalStack and AWS are the same

Testing Details

This section gives an overview about the internal integration test suite and the specific test cases that recorded the API call.

How to read the test details?

For each operation we put up a list of the related integration test cases.
Those operation calls have been recorded during the execution of the outlined test cases. Some calls might be internal, i.e., they are not explicitly called in the test, but are triggered implicitly by the LocalStack framework.

  • Parameters: The tests are ordered by the parameters used, which are highlighted in bold.
  • Test Details: LocalStack Community or LocalStack Pro indicates where the test originates. For each test you see:
    • test name
    • status code returned (which is the expected one for the test case)
    • information about validation:
      • AWS validated the test is validated against AWS, meaning it run successfully against real AWS as well
      • Snapshot Tested this is a snapshot parity test, meaning the responses are validated against AWS


CreateRoleAlias

Parameters: credentialDurationSeconds, roleAlias, roleArn, tags
  • LocalStack Pro
    • test_role_alias LocalStack Pro: tests/aws/services/cloudformation/resources/test_iot.py::test_role_alias HTTP Status Code: 200 AWS validated Snapshot Tested

CreateTopicRule

Parameters: ruleName, tags, topicRulePayload
  • LocalStack Pro
    • test_role LocalStack Pro: tests/aws/services/cloudformation/resources/test_iot.py::test_role HTTP Status Code: 200 AWS validated Snapshot Tested

DeleteRoleAlias

Parameters: roleAlias
  • LocalStack Pro
    • test_role_alias LocalStack Pro: tests/aws/services/cloudformation/resources/test_iot.py::test_role_alias HTTP Status Code: 200 AWS validated Snapshot Tested

DeleteTopicRule

Parameters: ruleName
  • LocalStack Pro
    • test_role LocalStack Pro: tests/aws/services/cloudformation/resources/test_iot.py::test_role HTTP Status Code: 200 AWS validated Snapshot Tested

GetTopicRule

Parameters: ruleName
  • LocalStack Pro
    • test_role LocalStack Pro: tests/aws/services/cloudformation/resources/test_iot.py::test_role HTTP Status Code: 200 AWS validated Snapshot Tested