SDK for PHP 3.x

Client: Aws\Iot\IotClient
Service ID: iot
Version: 2015-05-28

This page describes the parameters and results for the operations of the AWS IoT (2015-05-28), and shows how to use the Aws\Iot\IotClient object to call the described operations. This documentation is specific to the 2015-05-28 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AcceptCertificateTransfer ( array $params = [] )
Accepts a pending certificate transfer.
AddThingToBillingGroup ( array $params = [] )
Adds a thing to a billing group.
AddThingToThingGroup ( array $params = [] )
Adds a thing to a thing group.
AssociateTargetsWithJob ( array $params = [] )
Associates a group with a continuous job.
AttachPolicy ( array $params = [] )
Attaches the specified policy to the specified principal (certificate or other credential).
AttachPrincipalPolicy ( array $params = [] )
Attaches the specified policy to the specified principal (certificate or other credential).
AttachSecurityProfile ( array $params = [] )
Associates a Device Defender security profile with a thing group or this account.
AttachThingPrincipal ( array $params = [] )
Attaches the specified principal to the specified thing.
CancelAuditMitigationActionsTask ( array $params = [] )
Cancels a mitigation action task that is in progress.
CancelAuditTask ( array $params = [] )
Cancels an audit that is in progress.
CancelCertificateTransfer ( array $params = [] )
Cancels a pending transfer for the specified certificate.
CancelDetectMitigationActionsTask ( array $params = [] )
Cancels a Device Defender ML Detect mitigation action.
CancelJob ( array $params = [] )
Cancels a job.
CancelJobExecution ( array $params = [] )
Cancels the execution of a job for a given thing.
ClearDefaultAuthorizer ( array $params = [] )
Clears the default authorizer.
ConfirmTopicRuleDestination ( array $params = [] )
Confirms a topic rule destination.
CreateAuditSuppression ( array $params = [] )
Creates a Device Defender audit suppression.
CreateAuthorizer ( array $params = [] )
Creates an authorizer.
CreateBillingGroup ( array $params = [] )
Creates a billing group.
CreateCertificateFromCsr ( array $params = [] )
Creates an X.
CreateCertificateProvider ( array $params = [] )
Creates an Amazon Web Services IoT Core certificate provider.
CreateCustomMetric ( array $params = [] )
Use this API to define a Custom Metric published by your devices to Device Defender.
CreateDimension ( array $params = [] )
Create a dimension that you can use to limit the scope of a metric used in a security profile for IoT Device Defender.
CreateDomainConfiguration ( array $params = [] )
Creates a domain configuration.
CreateDynamicThingGroup ( array $params = [] )
Creates a dynamic thing group.
CreateFleetMetric ( array $params = [] )
Creates a fleet metric.
CreateJob ( array $params = [] )
Creates a job.
CreateJobTemplate ( array $params = [] )
Creates a job template.
CreateKeysAndCertificate ( array $params = [] )
Creates a 2048-bit RSA key pair and issues an X.
CreateMitigationAction ( array $params = [] )
Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask.
CreateOTAUpdate ( array $params = [] )
Creates an IoT OTA update on a target group of things or groups.
CreatePackage ( array $params = [] )
Creates an IoT software package that can be deployed to your fleet.
CreatePackageVersion ( array $params = [] )
Creates a new version for an existing IoT software package.
CreatePolicy ( array $params = [] )
Creates an IoT policy.
CreatePolicyVersion ( array $params = [] )
Creates a new version of the specified IoT policy.
CreateProvisioningClaim ( array $params = [] )
Creates a provisioning claim.
CreateProvisioningTemplate ( array $params = [] )
Creates a provisioning template.
CreateProvisioningTemplateVersion ( array $params = [] )
Creates a new version of a provisioning template.
CreateRoleAlias ( array $params = [] )
Creates a role alias.
CreateScheduledAudit ( array $params = [] )
Creates a scheduled audit that is run at a specified time interval.
CreateSecurityProfile ( array $params = [] )
Creates a Device Defender security profile.
CreateStream ( array $params = [] )
Creates a stream for delivering one or more large files in chunks over MQTT.
CreateThing ( array $params = [] )
Creates a thing record in the registry.
CreateThingGroup ( array $params = [] )
Create a thing group.
CreateThingType ( array $params = [] )
Creates a new thing type.
CreateTopicRule ( array $params = [] )
Creates a rule.
CreateTopicRuleDestination ( array $params = [] )
Creates a topic rule destination.
DeleteAccountAuditConfiguration ( array $params = [] )
Restores the default settings for Device Defender audits for this account.
DeleteAuditSuppression ( array $params = [] )
Deletes a Device Defender audit suppression.
DeleteAuthorizer ( array $params = [] )
Deletes an authorizer.
DeleteBillingGroup ( array $params = [] )
Deletes the billing group.
DeleteCACertificate ( array $params = [] )
Deletes a registered CA certificate.
DeleteCertificate ( array $params = [] )
Deletes the specified certificate.
DeleteCertificateProvider ( array $params = [] )
Deletes a certificate provider.
DeleteCustomMetric ( array $params = [] )
Deletes a Device Defender detect custom metric.
DeleteDimension ( array $params = [] )
Removes the specified dimension from your Amazon Web Services accounts.
DeleteDomainConfiguration ( array $params = [] )
Deletes the specified domain configuration.
DeleteDynamicThingGroup ( array $params = [] )
Deletes a dynamic thing group.
DeleteFleetMetric ( array $params = [] )
Deletes the specified fleet metric.
DeleteJob ( array $params = [] )
Deletes a job and its related job executions.
DeleteJobExecution ( array $params = [] )
Deletes a job execution.
DeleteJobTemplate ( array $params = [] )
Deletes the specified job template.
DeleteMitigationAction ( array $params = [] )
Deletes a defined mitigation action from your Amazon Web Services accounts.
DeleteOTAUpdate ( array $params = [] )
Delete an OTA update.
DeletePackage ( array $params = [] )
Deletes a specific version from a software package.
DeletePackageVersion ( array $params = [] )
Deletes a specific version from a software package.
DeletePolicy ( array $params = [] )
Deletes the specified policy.
DeletePolicyVersion ( array $params = [] )
Deletes the specified version of the specified policy.
DeleteProvisioningTemplate ( array $params = [] )
Deletes a provisioning template.
DeleteProvisioningTemplateVersion ( array $params = [] )
Deletes a provisioning template version.
DeleteRegistrationCode ( array $params = [] )
Deletes a CA certificate registration code.
DeleteRoleAlias ( array $params = [] )
Deletes a role alias Requires permission to access the DeleteRoleAlias action.
DeleteScheduledAudit ( array $params = [] )
Deletes a scheduled audit.
DeleteSecurityProfile ( array $params = [] )
Deletes a Device Defender security profile.
DeleteStream ( array $params = [] )
Deletes a stream.
DeleteThing ( array $params = [] )
Deletes the specified thing.
DeleteThingGroup ( array $params = [] )
Deletes a thing group.
DeleteThingType ( array $params = [] )
Deletes the specified thing type.
DeleteTopicRule ( array $params = [] )
Deletes the rule.
DeleteTopicRuleDestination ( array $params = [] )
Deletes a topic rule destination.
DeleteV2LoggingLevel ( array $params = [] )
Deletes a logging level.
DeprecateThingType ( array $params = [] )
Deprecates a thing type.
DescribeAccountAuditConfiguration ( array $params = [] )
Gets information about the Device Defender audit settings for this account.
DescribeAuditFinding ( array $params = [] )
Gets information about a single audit finding.
DescribeAuditMitigationActionsTask ( array $params = [] )
Gets information about an audit mitigation task that is used to apply mitigation actions to a set of audit findings.
DescribeAuditSuppression ( array $params = [] )
Gets information about a Device Defender audit suppression.
DescribeAuditTask ( array $params = [] )
Gets information about a Device Defender audit.
DescribeAuthorizer ( array $params = [] )
Describes an authorizer.
DescribeBillingGroup ( array $params = [] )
Returns information about a billing group.
DescribeCACertificate ( array $params = [] )
Describes a registered CA certificate.
DescribeCertificate ( array $params = [] )
Gets information about the specified certificate.
DescribeCertificateProvider ( array $params = [] )
Describes a certificate provider.
DescribeCustomMetric ( array $params = [] )
Gets information about a Device Defender detect custom metric.
DescribeDefaultAuthorizer ( array $params = [] )
Describes the default authorizer.
DescribeDetectMitigationActionsTask ( array $params = [] )
Gets information about a Device Defender ML Detect mitigation action.
DescribeDimension ( array $params = [] )
Provides details about a dimension that is defined in your Amazon Web Services accounts.
DescribeDomainConfiguration ( array $params = [] )
Gets summary information about a domain configuration.
DescribeEndpoint ( array $params = [] )
Returns or creates a unique endpoint specific to the Amazon Web Services account making the call.
DescribeEventConfigurations ( array $params = [] )
Describes event configurations.
DescribeFleetMetric ( array $params = [] )
Gets information about the specified fleet metric.
DescribeIndex ( array $params = [] )
Describes a search index.
DescribeJob ( array $params = [] )
Describes a job.
DescribeJobExecution ( array $params = [] )
Describes a job execution.
DescribeJobTemplate ( array $params = [] )
Returns information about a job template.
DescribeManagedJobTemplate ( array $params = [] )
View details of a managed job template.
DescribeMitigationAction ( array $params = [] )
Gets information about a mitigation action.
DescribeProvisioningTemplate ( array $params = [] )
Returns information about a provisioning template.
DescribeProvisioningTemplateVersion ( array $params = [] )
Returns information about a provisioning template version.
DescribeRoleAlias ( array $params = [] )
Describes a role alias.
DescribeScheduledAudit ( array $params = [] )
Gets information about a scheduled audit.
DescribeSecurityProfile ( array $params = [] )
Gets information about a Device Defender security profile.
DescribeStream ( array $params = [] )
Gets information about a stream.
DescribeThing ( array $params = [] )
Gets information about the specified thing.
DescribeThingGroup ( array $params = [] )
Describe a thing group.
DescribeThingRegistrationTask ( array $params = [] )
Describes a bulk thing provisioning task.
DescribeThingType ( array $params = [] )
Gets information about the specified thing type.
DetachPolicy ( array $params = [] )
Detaches a policy from the specified target.
DetachPrincipalPolicy ( array $params = [] )
Removes the specified policy from the specified certificate.
DetachSecurityProfile ( array $params = [] )
Disassociates a Device Defender security profile from a thing group or from this account.
DetachThingPrincipal ( array $params = [] )
Detaches the specified principal from the specified thing.
DisableTopicRule ( array $params = [] )
Disables the rule.
EnableTopicRule ( array $params = [] )
Enables the rule.
GetBehaviorModelTrainingSummaries ( array $params = [] )
Returns a Device Defender's ML Detect Security Profile training model's status.
GetBucketsAggregation ( array $params = [] )
Aggregates on indexed data with search queries pertaining to particular fields.
GetCardinality ( array $params = [] )
Returns the approximate count of unique values that match the query.
GetEffectivePolicies ( array $params = [] )
Gets a list of the policies that have an effect on the authorization behavior of the specified device when it connects to the IoT device gateway.
GetIndexingConfiguration ( array $params = [] )
Gets the indexing configuration.
GetJobDocument ( array $params = [] )
Gets a job document.
GetLoggingOptions ( array $params = [] )
Gets the logging options.
GetOTAUpdate ( array $params = [] )
Gets an OTA update.
GetPackage ( array $params = [] )
Gets information about the specified software package.
GetPackageConfiguration ( array $params = [] )
Gets information about the specified software package's configuration.
GetPackageVersion ( array $params = [] )
Gets information about the specified package version.
GetPercentiles ( array $params = [] )
Groups the aggregated values that match the query into percentile groupings.
GetPolicy ( array $params = [] )
Gets information about the specified policy with the policy document of the default version.
GetPolicyVersion ( array $params = [] )
Gets information about the specified policy version.
GetRegistrationCode ( array $params = [] )
Gets a registration code used to register a CA certificate with IoT.
GetStatistics ( array $params = [] )
Returns the count, average, sum, minimum, maximum, sum of squares, variance, and standard deviation for the specified aggregated field.
GetTopicRule ( array $params = [] )
Gets information about the rule.
GetTopicRuleDestination ( array $params = [] )
Gets information about a topic rule destination.
GetV2LoggingOptions ( array $params = [] )
Gets the fine grained logging options.
ListActiveViolations ( array $params = [] )
Lists the active violations for a given Device Defender security profile.
ListAttachedPolicies ( array $params = [] )
Lists the policies attached to the specified thing group.
ListAuditFindings ( array $params = [] )
Lists the findings (results) of a Device Defender audit or of the audits performed during a specified time period.
ListAuditMitigationActionsExecutions ( array $params = [] )
Gets the status of audit mitigation action tasks that were executed.
ListAuditMitigationActionsTasks ( array $params = [] )
Gets a list of audit mitigation action tasks that match the specified filters.
ListAuditSuppressions ( array $params = [] )
Lists your Device Defender audit listings.
ListAuditTasks ( array $params = [] )
Lists the Device Defender audits that have been performed during a given time period.
ListAuthorizers ( array $params = [] )
Lists the authorizers registered in your account.
ListBillingGroups ( array $params = [] )
Lists the billing groups you have created.
ListCACertificates ( array $params = [] )
Lists the CA certificates registered for your Amazon Web Services account.
ListCertificateProviders ( array $params = [] )
Lists all your certificate providers in your Amazon Web Services account.
ListCertificates ( array $params = [] )
Lists the certificates registered in your Amazon Web Services account.
ListCertificatesByCA ( array $params = [] )
List the device certificates signed by the specified CA certificate.
ListCustomMetrics ( array $params = [] )
Lists your Device Defender detect custom metrics.
ListDetectMitigationActionsExecutions ( array $params = [] )
Lists mitigation actions executions for a Device Defender ML Detect Security Profile.
ListDetectMitigationActionsTasks ( array $params = [] )
List of Device Defender ML Detect mitigation actions tasks.
ListDimensions ( array $params = [] )
List the set of dimensions that are defined for your Amazon Web Services accounts.
ListDomainConfigurations ( array $params = [] )
Gets a list of domain configurations for the user.
ListFleetMetrics ( array $params = [] )
Lists all your fleet metrics.
ListIndices ( array $params = [] )
Lists the search indices.
ListJobExecutionsForJob ( array $params = [] )
Lists the job executions for a job.
ListJobExecutionsForThing ( array $params = [] )
Lists the job executions for the specified thing.
ListJobTemplates ( array $params = [] )
Returns a list of job templates.
ListJobs ( array $params = [] )
Lists jobs.
ListManagedJobTemplates ( array $params = [] )
Returns a list of managed job templates.
ListMetricValues ( array $params = [] )
Lists the values reported for an IoT Device Defender metric (device-side metric, cloud-side metric, or custom metric) by the given thing during the specified time period.
ListMitigationActions ( array $params = [] )
Gets a list of all mitigation actions that match the specified filter criteria.
ListOTAUpdates ( array $params = [] )
Lists OTA updates.
ListOutgoingCertificates ( array $params = [] )
Lists certificates that are being transferred but not yet accepted.
ListPackageVersions ( array $params = [] )
Lists the software package versions associated to the account.
ListPackages ( array $params = [] )
Lists the software packages associated to the account.
ListPolicies ( array $params = [] )
Lists your policies.
ListPolicyPrincipals ( array $params = [] )
Lists the principals associated with the specified policy.
ListPolicyVersions ( array $params = [] )
Lists the versions of the specified policy and identifies the default version.
ListPrincipalPolicies ( array $params = [] )
Lists the policies attached to the specified principal.
ListPrincipalThings ( array $params = [] )
Lists the things associated with the specified principal.
ListProvisioningTemplateVersions ( array $params = [] )
A list of provisioning template versions.
ListProvisioningTemplates ( array $params = [] )
Lists the provisioning templates in your Amazon Web Services account.
ListRelatedResourcesForAuditFinding ( array $params = [] )
The related resources of an Audit finding.
ListRoleAliases ( array $params = [] )
Lists the role aliases registered in your account.
ListScheduledAudits ( array $params = [] )
Lists all of your scheduled audits.
ListSecurityProfiles ( array $params = [] )
Lists the Device Defender security profiles you've created.
ListSecurityProfilesForTarget ( array $params = [] )
Lists the Device Defender security profiles attached to a target (thing group).
ListStreams ( array $params = [] )
Lists all of the streams in your Amazon Web Services account.
ListTagsForResource ( array $params = [] )
Lists the tags (metadata) you have assigned to the resource.
ListTargetsForPolicy ( array $params = [] )
List targets for the specified policy.
ListTargetsForSecurityProfile ( array $params = [] )
Lists the targets (thing groups) associated with a given Device Defender security profile.
ListThingGroups ( array $params = [] )
List the thing groups in your account.
ListThingGroupsForThing ( array $params = [] )
List the thing groups to which the specified thing belongs.
ListThingPrincipals ( array $params = [] )
Lists the principals associated with the specified thing.
ListThingRegistrationTaskReports ( array $params = [] )
Information about the thing registration tasks.
ListThingRegistrationTasks ( array $params = [] )
List bulk thing provisioning tasks.
ListThingTypes ( array $params = [] )
Lists the existing thing types.
ListThings ( array $params = [] )
Lists your things.
ListThingsInBillingGroup ( array $params = [] )
Lists the things you have added to the given billing group.
ListThingsInThingGroup ( array $params = [] )
Lists the things in the specified group.
ListTopicRuleDestinations ( array $params = [] )
Lists all the topic rule destinations in your Amazon Web Services account.
ListTopicRules ( array $params = [] )
Lists the rules for the specific topic.
ListV2LoggingLevels ( array $params = [] )
Lists logging levels.
ListViolationEvents ( array $params = [] )
Lists the Device Defender security profile violations discovered during the given time period.
PutVerificationStateOnViolation ( array $params = [] )
Set a verification state and provide a description of that verification state on a violation (detect alarm).
RegisterCACertificate ( array $params = [] )
Registers a CA certificate with Amazon Web Services IoT Core.
RegisterCertificate ( array $params = [] )
Registers a device certificate with IoT in the same certificate mode as the signing CA.
RegisterCertificateWithoutCA ( array $params = [] )
Register a certificate that does not have a certificate authority (CA).
RegisterThing ( array $params = [] )
Provisions a thing in the device registry.
RejectCertificateTransfer ( array $params = [] )
Rejects a pending certificate transfer.
RemoveThingFromBillingGroup ( array $params = [] )
Removes the given thing from the billing group.
RemoveThingFromThingGroup ( array $params = [] )
Remove the specified thing from the specified group.
ReplaceTopicRule ( array $params = [] )
Replaces the rule.
SearchIndex ( array $params = [] )
The query search index.
SetDefaultAuthorizer ( array $params = [] )
Sets the default authorizer.
SetDefaultPolicyVersion ( array $params = [] )
Sets the specified version of the specified policy as the policy's default (operative) version.
SetLoggingOptions ( array $params = [] )
Sets the logging options.
SetV2LoggingLevel ( array $params = [] )
Sets the logging level.
SetV2LoggingOptions ( array $params = [] )
Sets the logging options for the V2 logging service.
StartAuditMitigationActionsTask ( array $params = [] )
Starts a task that applies a set of mitigation actions to the specified target.
StartDetectMitigationActionsTask ( array $params = [] )
Starts a Device Defender ML Detect mitigation actions task.
StartOnDemandAuditTask ( array $params = [] )
Starts an on-demand Device Defender audit.
StartThingRegistrationTask ( array $params = [] )
Creates a bulk thing provisioning task.
StopThingRegistrationTask ( array $params = [] )
Cancels a bulk thing provisioning task.
TagResource ( array $params = [] )
Adds to or modifies the tags of the given resource.
TestAuthorization ( array $params = [] )
Tests if a specified principal is authorized to perform an IoT action on a specified resource.
TestInvokeAuthorizer ( array $params = [] )
Tests a custom authorization behavior by invoking a specified custom authorizer.
TransferCertificate ( array $params = [] )
Transfers the specified certificate to the specified Amazon Web Services account.
UntagResource ( array $params = [] )
Removes the given tags (metadata) from the resource.
UpdateAccountAuditConfiguration ( array $params = [] )
Configures or reconfigures the Device Defender audit settings for this account.
UpdateAuditSuppression ( array $params = [] )
Updates a Device Defender audit suppression.
UpdateAuthorizer ( array $params = [] )
Updates an authorizer.
UpdateBillingGroup ( array $params = [] )
Updates information about the billing group.
UpdateCACertificate ( array $params = [] )
Updates a registered CA certificate.
UpdateCertificate ( array $params = [] )
Updates the status of the specified certificate.
UpdateCertificateProvider ( array $params = [] )
Updates a certificate provider.
UpdateCustomMetric ( array $params = [] )
Updates a Device Defender detect custom metric.
UpdateDimension ( array $params = [] )
Updates the definition for a dimension.
UpdateDomainConfiguration ( array $params = [] )
Updates values stored in the domain configuration.
UpdateDynamicThingGroup ( array $params = [] )
Updates a dynamic thing group.
UpdateEventConfigurations ( array $params = [] )
Updates the event configurations.
UpdateFleetMetric ( array $params = [] )
Updates the data for a fleet metric.
UpdateIndexingConfiguration ( array $params = [] )
Updates the search configuration.
UpdateJob ( array $params = [] )
Updates supported fields of the specified job.
UpdateMitigationAction ( array $params = [] )
Updates the definition for the specified mitigation action.
UpdatePackage ( array $params = [] )
Updates the supported fields for a specific software package.
UpdatePackageConfiguration ( array $params = [] )
Updates the software package configuration.
UpdatePackageVersion ( array $params = [] )
Updates the supported fields for a specific package version.
UpdateProvisioningTemplate ( array $params = [] )
Updates a provisioning template.
UpdateRoleAlias ( array $params = [] )
Updates a role alias.
UpdateScheduledAudit ( array $params = [] )
Updates a scheduled audit, including which checks are performed and how often the audit takes place.
UpdateSecurityProfile ( array $params = [] )
Updates a Device Defender security profile.
UpdateStream ( array $params = [] )
Updates an existing stream.
UpdateThing ( array $params = [] )
Updates the data for a thing.
UpdateThingGroup ( array $params = [] )
Update a thing group.
UpdateThingGroupsForThing ( array $params = [] )
Updates the groups to which the thing belongs.
UpdateTopicRuleDestination ( array $params = [] )
Updates a topic rule destination.
ValidateSecurityProfileBehaviors ( array $params = [] )
Validates a Device Defender security profile behaviors specification.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

GetBehaviorModelTrainingSummaries
ListActiveViolations
ListAttachedPolicies
ListAuditFindings
ListAuditMitigationActionsExecutions
ListAuditMitigationActionsTasks
ListAuditSuppressions
ListAuditTasks
ListAuthorizers
ListBillingGroups
ListCACertificates
ListCertificates
ListCertificatesByCA
ListCustomMetrics
ListDetectMitigationActionsExecutions
ListDetectMitigationActionsTasks
ListDimensions
ListDomainConfigurations
ListFleetMetrics
ListIndices
ListJobExecutionsForJob
ListJobExecutionsForThing
ListJobTemplates
ListJobs
ListManagedJobTemplates
ListMetricValues
ListMitigationActions
ListOTAUpdates
ListOutgoingCertificates
ListPackageVersions
ListPackages
ListPolicies
ListPolicyPrincipals
ListPrincipalPolicies
ListPrincipalThings
ListProvisioningTemplateVersions
ListProvisioningTemplates
ListRelatedResourcesForAuditFinding
ListRoleAliases
ListScheduledAudits
ListSecurityProfiles
ListSecurityProfilesForTarget
ListStreams
ListTagsForResource
ListTargetsForPolicy
ListTargetsForSecurityProfile
ListThingGroups
ListThingGroupsForThing
ListThingPrincipals
ListThingRegistrationTaskReports
ListThingRegistrationTasks
ListThingTypes
ListThings
ListThingsInBillingGroup
ListThingsInThingGroup
ListTopicRuleDestinations
ListTopicRules
ListV2LoggingLevels
ListViolationEvents

Operations

AcceptCertificateTransfer

$result = $client->acceptCertificateTransfer([/* ... */]);
$promise = $client->acceptCertificateTransferAsync([/* ... */]);

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.

Requires permission to access the AcceptCertificateTransfer action.

Parameter Syntax

$result = $client->acceptCertificateTransfer([
    'certificateId' => '<string>', // REQUIRED
    'setAsActive' => true || false,
]);

Parameter Details

Members
certificateId
Required: Yes
Type: string

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

setAsActive
Type: boolean

Specifies whether the certificate is active.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

TransferAlreadyCompletedException:

You can't revert the certificate transfer because the transfer is already complete.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

AddThingToBillingGroup

$result = $client->addThingToBillingGroup([/* ... */]);
$promise = $client->addThingToBillingGroupAsync([/* ... */]);

Adds a thing to a billing group.

Requires permission to access the AddThingToBillingGroup action.

Parameter Syntax

$result = $client->addThingToBillingGroup([
    'billingGroupArn' => '<string>',
    'billingGroupName' => '<string>',
    'thingArn' => '<string>',
    'thingName' => '<string>',
]);

Parameter Details

Members
billingGroupArn
Type: string

The ARN of the billing group.

billingGroupName
Type: string

The name of the billing group.

This call is asynchronous. It might take several seconds for the detachment to propagate.

thingArn
Type: string

The ARN of the thing to be added to the billing group.

thingName
Type: string

The name of the thing to be added to the billing group.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

AddThingToThingGroup

$result = $client->addThingToThingGroup([/* ... */]);
$promise = $client->addThingToThingGroupAsync([/* ... */]);

Adds a thing to a thing group.

Requires permission to access the AddThingToThingGroup action.

Parameter Syntax

$result = $client->addThingToThingGroup([
    'overrideDynamicGroups' => true || false,
    'thingArn' => '<string>',
    'thingGroupArn' => '<string>',
    'thingGroupName' => '<string>',
    'thingName' => '<string>',
]);

Parameter Details

Members
overrideDynamicGroups
Type: boolean

Override dynamic thing groups with static thing groups when 10-group limit is reached. If a thing belongs to 10 thing groups, and one or more of those groups are dynamic thing groups, adding a thing to a static group removes the thing from the last dynamic group.

thingArn
Type: string

The ARN of the thing to add to a group.

thingGroupArn
Type: string

The ARN of the group to which you are adding a thing.

thingGroupName
Type: string

The name of the group to which you are adding a thing.

thingName
Type: string

The name of the thing to add to a group.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

AssociateTargetsWithJob

$result = $client->associateTargetsWithJob([/* ... */]);
$promise = $client->associateTargetsWithJobAsync([/* ... */]);

Associates a group with a continuous job. The following criteria must be met:

  • The job must have been created with the targetSelection field set to "CONTINUOUS".

  • The job status must currently be "IN_PROGRESS".

  • The total number of targets associated with a job must not exceed 100.

Requires permission to access the AssociateTargetsWithJob action.

Parameter Syntax

$result = $client->associateTargetsWithJob([
    'comment' => '<string>',
    'jobId' => '<string>', // REQUIRED
    'namespaceId' => '<string>',
    'targets' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
comment
Type: string

An optional comment string describing why the job was associated with the targets.

jobId
Required: Yes
Type: string

The unique identifier you assigned to this job when it was created.

namespaceId
Type: string

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

targets
Required: Yes
Type: Array of strings

A list of thing group ARNs that define the targets of the job.

Result Syntax

[
    'description' => '<string>',
    'jobArn' => '<string>',
    'jobId' => '<string>',
]

Result Details

Members
description
Type: string

A short text description of the job.

jobArn
Type: string

An ARN identifying the job.

jobId
Type: string

The unique identifier you assigned to this job when it was created.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

LimitExceededException:

A limit has been exceeded.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

AttachPolicy

$result = $client->attachPolicy([/* ... */]);
$promise = $client->attachPolicyAsync([/* ... */]);

Attaches the specified policy to the specified principal (certificate or other credential).

Requires permission to access the AttachPolicy action.

Parameter Syntax

$result = $client->attachPolicy([
    'policyName' => '<string>', // REQUIRED
    'target' => '<string>', // REQUIRED
]);

Parameter Details

Members
policyName
Required: Yes
Type: string

The name of the policy to attach.

target
Required: Yes
Type: string

The identity to which the policy is attached. For example, a thing group or a certificate.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

LimitExceededException:

A limit has been exceeded.

AttachPrincipalPolicy

$result = $client->attachPrincipalPolicy([/* ... */]);
$promise = $client->attachPrincipalPolicyAsync([/* ... */]);

Attaches the specified policy to the specified principal (certificate or other credential).

Note: This action is deprecated and works as expected for backward compatibility, but we won't add enhancements. Use AttachPolicy instead.

Requires permission to access the AttachPrincipalPolicy action.

Parameter Syntax

$result = $client->attachPrincipalPolicy([
    'policyName' => '<string>', // REQUIRED
    'principal' => '<string>', // REQUIRED
]);

Parameter Details

Members
policyName
Required: Yes
Type: string

The policy name.

principal
Required: Yes
Type: string

The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

LimitExceededException:

A limit has been exceeded.

AttachSecurityProfile

$result = $client->attachSecurityProfile([/* ... */]);
$promise = $client->attachSecurityProfileAsync([/* ... */]);

Associates a Device Defender security profile with a thing group or this account. Each thing group or account can have up to five security profiles associated with it.

Requires permission to access the AttachSecurityProfile action.

Parameter Syntax

$result = $client->attachSecurityProfile([
    'securityProfileName' => '<string>', // REQUIRED
    'securityProfileTargetArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
securityProfileName
Required: Yes
Type: string

The security profile that is attached.

securityProfileTargetArn
Required: Yes
Type: string

The ARN of the target (thing group) to which the security profile is attached.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

LimitExceededException:

A limit has been exceeded.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

AttachThingPrincipal

$result = $client->attachThingPrincipal([/* ... */]);
$promise = $client->attachThingPrincipalAsync([/* ... */]);

Attaches the specified principal to the specified thing. A principal can be X.509 certificates, Amazon Cognito identities or federated identities.

Requires permission to access the AttachThingPrincipal action.

Parameter Syntax

$result = $client->attachThingPrincipal([
    'principal' => '<string>', // REQUIRED
    'thingName' => '<string>', // REQUIRED
]);

Parameter Details

Members
principal
Required: Yes
Type: string

The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.

thingName
Required: Yes
Type: string

The name of the thing.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

CancelAuditMitigationActionsTask

$result = $client->cancelAuditMitigationActionsTask([/* ... */]);
$promise = $client->cancelAuditMitigationActionsTaskAsync([/* ... */]);

Cancels a mitigation action task that is in progress. If the task is not in progress, an InvalidRequestException occurs.

Requires permission to access the CancelAuditMitigationActionsTask action.

Parameter Syntax

$result = $client->cancelAuditMitigationActionsTask([
    'taskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
taskId
Required: Yes
Type: string

The unique identifier for the task that you want to cancel.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

CancelAuditTask

$result = $client->cancelAuditTask([/* ... */]);
$promise = $client->cancelAuditTaskAsync([/* ... */]);

Cancels an audit that is in progress. The audit can be either scheduled or on demand. If the audit isn't in progress, an "InvalidRequestException" occurs.

Requires permission to access the CancelAuditTask action.

Parameter Syntax

$result = $client->cancelAuditTask([
    'taskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
taskId
Required: Yes
Type: string

The ID of the audit you want to cancel. You can only cancel an audit that is "IN_PROGRESS".

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

CancelCertificateTransfer

$result = $client->cancelCertificateTransfer([/* ... */]);
$promise = $client->cancelCertificateTransferAsync([/* ... */]);

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, 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.

Requires permission to access the CancelCertificateTransfer action.

Parameter Syntax

$result = $client->cancelCertificateTransfer([
    'certificateId' => '<string>', // REQUIRED
]);

Parameter Details

Members
certificateId
Required: Yes
Type: string

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

TransferAlreadyCompletedException:

You can't revert the certificate transfer because the transfer is already complete.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

CancelDetectMitigationActionsTask

$result = $client->cancelDetectMitigationActionsTask([/* ... */]);
$promise = $client->cancelDetectMitigationActionsTaskAsync([/* ... */]);

Cancels a Device Defender ML Detect mitigation action.

Requires permission to access the CancelDetectMitigationActionsTask action.

Parameter Syntax

$result = $client->cancelDetectMitigationActionsTask([
    'taskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
taskId
Required: Yes
Type: string

The unique identifier of the task.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

CancelJob

$result = $client->cancelJob([/* ... */]);
$promise = $client->cancelJobAsync([/* ... */]);

Cancels a job.

Requires permission to access the CancelJob action.

Parameter Syntax

$result = $client->cancelJob([
    'comment' => '<string>',
    'force' => true || false,
    'jobId' => '<string>', // REQUIRED
    'reasonCode' => '<string>',
]);

Parameter Details

Members
comment
Type: string

An optional comment string describing why the job was canceled.

force
Type: boolean

(Optional) If true job executions with status "IN_PROGRESS" and "QUEUED" are canceled, otherwise only job executions with status "QUEUED" are canceled. The default is false.

Canceling a job which is "IN_PROGRESS", will cause a device which is executing the job to be unable to update the job execution status. Use caution and ensure that each device executing a job which is canceled is able to recover to a valid state.

jobId
Required: Yes
Type: string

The unique identifier you assigned to this job when it was created.

reasonCode
Type: string

(Optional)A reason code string that explains why the job was canceled.

Result Syntax

[
    'description' => '<string>',
    'jobArn' => '<string>',
    'jobId' => '<string>',
]

Result Details

Members
description
Type: string

A short text description of the job.

jobArn
Type: string

The job ARN.

jobId
Type: string

The unique identifier you assigned to this job when it was created.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

LimitExceededException:

A limit has been exceeded.

CancelJobExecution

$result = $client->cancelJobExecution([/* ... */]);
$promise = $client->cancelJobExecutionAsync([/* ... */]);

Cancels the execution of a job for a given thing.

Requires permission to access the CancelJobExecution action.

Parameter Syntax

$result = $client->cancelJobExecution([
    'expectedVersion' => <integer>,
    'force' => true || false,
    'jobId' => '<string>', // REQUIRED
    'statusDetails' => ['<string>', ...],
    'thingName' => '<string>', // REQUIRED
]);

Parameter Details

Members
expectedVersion
Type: long (int|float)

(Optional) The expected current version of the job execution. Each time you update the job execution, its version is incremented. If the version of the job execution stored in Jobs does not match, the update is rejected with a VersionMismatch error, and an ErrorResponse that contains the current job execution status data is returned. (This makes it unnecessary to perform a separate DescribeJobExecution request in order to obtain the job execution status data.)

force
Type: boolean

(Optional) If true the job execution will be canceled if it has status IN_PROGRESS or QUEUED, otherwise the job execution will be canceled only if it has status QUEUED. If you attempt to cancel a job execution that is IN_PROGRESS, and you do not set force to true, then an InvalidStateTransitionException will be thrown. The default is false.

Canceling a job execution which is "IN_PROGRESS", will cause the device to be unable to update the job execution status. Use caution and ensure that the device is able to recover to a valid state.

jobId
Required: Yes
Type: string

The ID of the job to be canceled.

statusDetails
Type: Associative array of custom strings keys (DetailsKey) to strings

A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged. You can specify at most 10 name/value pairs.

thingName
Required: Yes
Type: string

The name of the thing whose execution of the job will be canceled.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

InvalidStateTransitionException:

An attempt was made to change to an invalid state, for example by deleting a job or a job execution which is "IN_PROGRESS" without setting the force parameter.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

ClearDefaultAuthorizer

$result = $client->clearDefaultAuthorizer([/* ... */]);
$promise = $client->clearDefaultAuthorizerAsync([/* ... */]);

Clears the default authorizer.

Requires permission to access the ClearDefaultAuthorizer action.

Parameter Syntax

$result = $client->clearDefaultAuthorizer([
]);

Parameter Details

Members

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ConfirmTopicRuleDestination

$result = $client->confirmTopicRuleDestination([/* ... */]);
$promise = $client->confirmTopicRuleDestinationAsync([/* ... */]);

Confirms a topic rule destination. When you create a rule requiring a destination, IoT sends a confirmation message to the endpoint or base address you specify. The message includes a token which you pass back when calling ConfirmTopicRuleDestination to confirm that you own or have access to the endpoint.

Requires permission to access the ConfirmTopicRuleDestination action.

Parameter Syntax

$result = $client->confirmTopicRuleDestination([
    'confirmationToken' => '<string>', // REQUIRED
]);

Parameter Details

Members
confirmationToken
Required: Yes
Type: string

The token used to confirm ownership or access to the topic rule confirmation URL.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

UnauthorizedException:

You are not authorized to perform this operation.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

CreateAuditSuppression

$result = $client->createAuditSuppression([/* ... */]);
$promise = $client->createAuditSuppressionAsync([/* ... */]);

Creates a Device Defender audit suppression.

Requires permission to access the CreateAuditSuppression action.

Parameter Syntax

$result = $client->createAuditSuppression([
    'checkName' => '<string>', // REQUIRED
    'clientRequestToken' => '<string>', // REQUIRED
    'description' => '<string>',
    'expirationDate' => <integer || string || DateTime>,
    'resourceIdentifier' => [ // REQUIRED
        'account' => '<string>',
        'caCertificateId' => '<string>',
        'clientId' => '<string>',
        'cognitoIdentityPoolId' => '<string>',
        'deviceCertificateArn' => '<string>',
        'deviceCertificateId' => '<string>',
        'iamRoleArn' => '<string>',
        'issuerCertificateIdentifier' => [
            'issuerCertificateSerialNumber' => '<string>',
            'issuerCertificateSubject' => '<string>',
            'issuerId' => '<string>',
        ],
        'policyVersionIdentifier' => [
            'policyName' => '<string>',
            'policyVersionId' => '<string>',
        ],
        'roleAliasArn' => '<string>',
    ],
    'suppressIndefinitely' => true || false,
]);

Parameter Details

Members
checkName
Required: Yes
Type: string

An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

clientRequestToken
Required: Yes
Type: string

Each audit supression must have a unique client request token. If you try to create a new audit suppression with the same token as one that already exists, an exception occurs. If you omit this value, Amazon Web Services SDKs will automatically generate a unique client request.

description
Type: string

The description of the audit suppression.

expirationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The epoch timestamp in seconds at which this suppression expires.

resourceIdentifier
Required: Yes
Type: ResourceIdentifier structure

Information that identifies the noncompliant resource.

suppressIndefinitely
Type: boolean

Indicates whether a suppression should exist indefinitely or not.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ResourceAlreadyExistsException:

The resource already exists.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

LimitExceededException:

A limit has been exceeded.

CreateAuthorizer

$result = $client->createAuthorizer([/* ... */]);
$promise = $client->createAuthorizerAsync([/* ... */]);

Creates an authorizer.

Requires permission to access the CreateAuthorizer action.

Parameter Syntax

$result = $client->createAuthorizer([
    'authorizerFunctionArn' => '<string>', // REQUIRED
    'authorizerName' => '<string>', // REQUIRED
    'enableCachingForHttp' => true || false,
    'signingDisabled' => true || false,
    'status' => 'ACTIVE|INACTIVE',
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'tokenKeyName' => '<string>',
    'tokenSigningPublicKeys' => ['<string>', ...],
]);

Parameter Details

Members
authorizerFunctionArn
Required: Yes
Type: string

The ARN of the authorizer's Lambda function.

authorizerName
Required: Yes
Type: string

The authorizer name.

enableCachingForHttp
Type: boolean

When true, the result from the authorizer’s Lambda function is cached for clients that use persistent HTTP connections. The results are cached for the time specified by the Lambda function in refreshAfterInSeconds. This value does not affect authorization of clients that use MQTT connections.

The default value is false.

signingDisabled
Type: boolean

Specifies whether IoT validates the token signature in an authorization request.

status
Type: string

The status of the create authorizer request.

tags
Type: Array of Tag structures

Metadata which can be used to manage the custom authorizer.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."

For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."

tokenKeyName
Type: string

The name of the token key used to extract the token from the HTTP headers.

tokenSigningPublicKeys
Type: Associative array of custom strings keys (KeyName) to strings

The public keys used to verify the digital signature returned by your custom authentication service.

Result Syntax

[
    'authorizerArn' => '<string>',
    'authorizerName' => '<string>',
]

Result Details

Members
authorizerArn
Type: string

The authorizer ARN.

authorizerName
Type: string

The authorizer's name.

Errors

ResourceAlreadyExistsException:

The resource already exists.

InvalidRequestException:

The request is not valid.

LimitExceededException:

A limit has been exceeded.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

CreateBillingGroup

$result = $client->createBillingGroup([/* ... */]);
$promise = $client->createBillingGroupAsync([/* ... */]);

Creates a billing group.

Requires permission to access the CreateBillingGroup action.

Parameter Syntax

$result = $client->createBillingGroup([
    'billingGroupName' => '<string>', // REQUIRED
    'billingGroupProperties' => [
        'billingGroupDescription' => '<string>',
    ],
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
billingGroupName
Required: Yes
Type: string

The name you wish to give to the billing group.

billingGroupProperties
Type: BillingGroupProperties structure

The properties of the billing group.

tags
Type: Array of Tag structures

Metadata which can be used to manage the billing group.

Result Syntax

[
    'billingGroupArn' => '<string>',
    'billingGroupId' => '<string>',
    'billingGroupName' => '<string>',
]

Result Details

Members
billingGroupArn
Type: string

The ARN of the billing group.

billingGroupId
Type: string

The ID of the billing group.

billingGroupName
Type: string

The name you gave to the billing group.

Errors

InvalidRequestException:

The request is not valid.

ResourceAlreadyExistsException:

The resource already exists.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

CreateCertificateFromCsr

$result = $client->createCertificateFromCsr([/* ... */]);
$promise = $client->createCertificateFromCsrAsync([/* ... */]);

Creates an X.509 certificate using the specified certificate signing request.

Requires permission to access the CreateCertificateFromCsr action.

The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256, NIST P-384, or NIST P-521 curves. For supported certificates, consult Certificate signing algorithms supported by IoT.

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. In the following commands, we assume that 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 Amazon Web Services CLI command to create a certificate for the corresponding CSR.

You can also run the aws iot create-certificate-from-csr part of the command 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:

> 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:

> forfiles /p my-csr-directory /c "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path"

Parameter Syntax

$result = $client->createCertificateFromCsr([
    'certificateSigningRequest' => '<string>', // REQUIRED
    'setAsActive' => true || false,
]);

Parameter Details

Members
certificateSigningRequest
Required: Yes
Type: string

The certificate signing request (CSR).

setAsActive
Type: boolean

Specifies whether the certificate is active.

Result Syntax

[
    'certificateArn' => '<string>',
    'certificateId' => '<string>',
    'certificatePem' => '<string>',
]

Result Details

Members
certificateArn
Type: string

The Amazon Resource Name (ARN) of the certificate. You can use the ARN as a principal for policy operations.

certificateId
Type: string

The ID of the certificate. Certificate management operations only take a certificateId.

certificatePem
Type: string

The certificate data, in PEM format.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

CreateCertificateProvider

$result = $client->createCertificateProvider([/* ... */]);
$promise = $client->createCertificateProviderAsync([/* ... */]);

Creates an Amazon Web Services IoT Core certificate provider. You can use Amazon Web Services IoT Core certificate provider to customize how to sign a certificate signing request (CSR) in IoT fleet provisioning. For more information, see Customizing certificate signing using Amazon Web Services IoT Core certificate provider from Amazon Web Services IoT Core Developer Guide.

Requires permission to access the CreateCertificateProvider action.

After you create a certificate provider, the behavior of CreateCertificateFromCsr API for fleet provisioning will change and all API calls to CreateCertificateFromCsr will invoke the certificate provider to create the certificates. It can take up to a few minutes for this behavior to change after a certificate provider is created.

Parameter Syntax

$result = $client->createCertificateProvider([
    'accountDefaultForOperations' => ['<string>', ...], // REQUIRED
    'certificateProviderName' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'lambdaFunctionArn' => '<string>', // REQUIRED
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
accountDefaultForOperations
Required: Yes
Type: Array of strings

A list of the operations that the certificate provider will use to generate certificates. Valid value: CreateCertificateFromCsr.

certificateProviderName
Required: Yes
Type: string

The name of the certificate provider.

clientToken
Type: string

A string that you can optionally pass in the CreateCertificateProvider request to make sure the request is idempotent.

lambdaFunctionArn
Required: Yes
Type: string

The ARN of the Lambda function that defines the authentication logic.

tags
Type: Array of Tag structures

Metadata which can be used to manage the certificate provider.

Result Syntax

[
    'certificateProviderArn' => '<string>',
    'certificateProviderName' => '<string>',
]

Result Details

Members
certificateProviderArn
Type: string

The ARN of the certificate provider.

certificateProviderName
Type: string

The name of the certificate provider.

Errors

LimitExceededException:

A limit has been exceeded.

ResourceAlreadyExistsException:

The resource already exists.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

CreateCustomMetric

$result = $client->createCustomMetric([/* ... */]);
$promise = $client->createCustomMetricAsync([/* ... */]);

Use this API to define a Custom Metric published by your devices to Device Defender.

Requires permission to access the CreateCustomMetric action.

Parameter Syntax

$result = $client->createCustomMetric([
    'clientRequestToken' => '<string>', // REQUIRED
    'displayName' => '<string>',
    'metricName' => '<string>', // REQUIRED
    'metricType' => 'string-list|ip-address-list|number-list|number', // REQUIRED
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
clientRequestToken
Required: Yes
Type: string

Each custom metric must have a unique client request token. If you try to create a new custom metric that already exists with a different token, an exception occurs. If you omit this value, Amazon Web Services SDKs will automatically generate a unique client request.

displayName
Type: string

The friendly name in the console for the custom metric. This name doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. You can update the friendly name after you define it.

metricName
Required: Yes
Type: string

The name of the custom metric. This will be used in the metric report submitted from the device/thing. The name can't begin with aws:. You can't change the name after you define it.

metricType
Required: Yes
Type: string

The type of the custom metric.

The type number only takes a single metric value as an input, but when you submit the metrics value in the DeviceMetrics report, you must pass it as an array with a single value.

tags
Type: Array of Tag structures

Metadata that can be used to manage the custom metric.

Result Syntax

[
    'metricArn' => '<string>',
    'metricName' => '<string>',
]

Result Details

Members
metricArn
Type: string

The Amazon Resource Number (ARN) of the custom metric. For example, arn:aws-partition:iot:region:accountId:custommetric/metricName

metricName
Type: string

The name of the custom metric to be used in the metric report.

Errors

InvalidRequestException:

The request is not valid.

LimitExceededException:

A limit has been exceeded.

ResourceAlreadyExistsException:

The resource already exists.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

CreateDimension

$result = $client->createDimension([/* ... */]);
$promise = $client->createDimensionAsync([/* ... */]);

Create a dimension that you can use to limit the scope of a metric used in a security profile for IoT Device Defender. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension.

Requires permission to access the CreateDimension action.

Parameter Syntax

$result = $client->createDimension([
    'clientRequestToken' => '<string>', // REQUIRED
    'name' => '<string>', // REQUIRED
    'stringValues' => ['<string>', ...], // REQUIRED
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'type' => 'TOPIC_FILTER', // REQUIRED
]);

Parameter Details

Members
clientRequestToken
Required: Yes
Type: string

Each dimension must have a unique client request token. If you try to create a new dimension with the same token as a dimension that already exists, an exception occurs. If you omit this value, Amazon Web Services SDKs will automatically generate a unique client request.

name
Required: Yes
Type: string

A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.

stringValues
Required: Yes
Type: Array of strings

Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, "admin/#").

tags
Type: Array of Tag structures

Metadata that can be used to manage the dimension.

type
Required: Yes
Type: string

Specifies the type of dimension. Supported types: TOPIC_FILTER.

Result Syntax

[
    'arn' => '<string>',
    'name' => '<string>',
]

Result Details

Members
arn
Type: string

The Amazon Resource Name (ARN) of the created dimension.

name
Type: string

A unique identifier for the dimension.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

LimitExceededException:

A limit has been exceeded.

ResourceAlreadyExistsException:

The resource already exists.

ThrottlingException:

The rate exceeds the limit.

CreateDomainConfiguration

$result = $client->createDomainConfiguration([/* ... */]);
$promise = $client->createDomainConfigurationAsync([/* ... */]);

Creates a domain configuration.

Requires permission to access the CreateDomainConfiguration action.

Parameter Syntax

$result = $client->createDomainConfiguration([
    'authorizerConfig' => [
        'allowAuthorizerOverride' => true || false,
        'defaultAuthorizerName' => '<string>',
    ],
    'domainConfigurationName' => '<string>', // REQUIRED
    'domainName' => '<string>',
    'serverCertificateArns' => ['<string>', ...],
    'serverCertificateConfig' => [
        'enableOCSPCheck' => true || false,
    ],
    'serviceType' => 'DATA|CREDENTIAL_PROVIDER|JOBS',
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'tlsConfig' => [
        'securityPolicy' => '<string>',
    ],
    'validationCertificateArn' => '<string>',
]);

Parameter Details

Members
authorizerConfig
Type: AuthorizerConfig structure

An object that specifies the authorization service for a domain.

domainConfigurationName
Required: Yes
Type: string

The name of the domain configuration. This value must be unique to a region.

domainName
Type: string

The name of the domain.

serverCertificateArns
Type: Array of strings

The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains.

serverCertificateConfig
Type: ServerCertificateConfig structure

The server certificate configuration.

serviceType
Type: string

The type of service delivered by the endpoint.

Amazon Web Services IoT Core currently supports only the DATA service type.

tags
Type: Array of Tag structures

Metadata which can be used to manage the domain configuration.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."

For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."

tlsConfig
Type: TlsConfig structure

An object that specifies the TLS configuration for a domain.

validationCertificateArn
Type: string

The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains.

Result Syntax

[
    'domainConfigurationArn' => '<string>',
    'domainConfigurationName' => '<string>',
]

Result Details

Members
domainConfigurationArn
Type: string

The ARN of the domain configuration.

domainConfigurationName
Type: string

The name of the domain configuration.

Errors

LimitExceededException:

A limit has been exceeded.

CertificateValidationException:

The certificate is invalid.

ResourceAlreadyExistsException:

The resource already exists.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

UnauthorizedException:

You are not authorized to perform this operation.

ThrottlingException:

The rate exceeds the limit.

CreateDynamicThingGroup

$result = $client->createDynamicThingGroup([/* ... */]);
$promise = $client->createDynamicThingGroupAsync([/* ... */]);

Creates a dynamic thing group.

Requires permission to access the CreateDynamicThingGroup action.

Parameter Syntax

$result = $client->createDynamicThingGroup([
    'indexName' => '<string>',
    'queryString' => '<string>', // REQUIRED
    'queryVersion' => '<string>',
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'thingGroupName' => '<string>', // REQUIRED
    'thingGroupProperties' => [
        'attributePayload' => [
            'attributes' => ['<string>', ...],
            'merge' => true || false,
        ],
        'thingGroupDescription' => '<string>',
    ],
]);

Parameter Details

Members
indexName
Type: string

The dynamic thing group index name.

Currently one index is supported: AWS_Things.

queryString
Required: Yes
Type: string

The dynamic thing group search query string.

See Query Syntax for information about query string syntax.

queryVersion
Type: string

The dynamic thing group query version.

Currently one query version is supported: "2017-09-30". If not specified, the query version defaults to this value.

tags
Type: Array of Tag structures

Metadata which can be used to manage the dynamic thing group.

thingGroupName
Required: Yes
Type: string

The dynamic thing group name to create.

thingGroupProperties
Type: ThingGroupProperties structure

The dynamic thing group properties.

Result Syntax

[
    'indexName' => '<string>',
    'queryString' => '<string>',
    'queryVersion' => '<string>',
    'thingGroupArn' => '<string>',
    'thingGroupId' => '<string>',
    'thingGroupName' => '<string>',
]

Result Details

Members
indexName
Type: string

The dynamic thing group index name.

queryString
Type: string

The dynamic thing group search query string.

queryVersion
Type: string

The dynamic thing group query version.

thingGroupArn
Type: string

The dynamic thing group ARN.

thingGroupId
Type: string

The dynamic thing group ID.

thingGroupName
Type: string

The dynamic thing group name.

Errors

InvalidRequestException:

The request is not valid.

ResourceAlreadyExistsException:

The resource already exists.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

InvalidQueryException:

The query is invalid.

LimitExceededException:

A limit has been exceeded.

CreateFleetMetric

$result = $client->createFleetMetric([/* ... */]);
$promise = $client->createFleetMetricAsync([/* ... */]);

Creates a fleet metric.

Requires permission to access the CreateFleetMetric action.

Parameter Syntax

$result = $client->createFleetMetric([
    'aggregationField' => '<string>', // REQUIRED
    'aggregationType' => [ // REQUIRED
        'name' => 'Statistics|Percentiles|Cardinality', // REQUIRED
        'values' => ['<string>', ...],
    ],
    'description' => '<string>',
    'indexName' => '<string>',
    'metricName' => '<string>', // REQUIRED
    'period' => <integer>, // REQUIRED
    'queryString' => '<string>', // REQUIRED
    'queryVersion' => '<string>',
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'unit' => 'Seconds|Microseconds|Milliseconds|Bytes|Kilobytes|Megabytes|Gigabytes|Terabytes|Bits|Kilobits|Megabits|Gigabits|Terabits|Percent|Count|Bytes/Second|Kilobytes/Second|Megabytes/Second|Gigabytes/Second|Terabytes/Second|Bits/Second|Kilobits/Second|Megabits/Second|Gigabits/Second|Terabits/Second|Count/Second|None',
]);

Parameter Details

Members
aggregationField
Required: Yes
Type: string

The field to aggregate.

aggregationType
Required: Yes
Type: AggregationType structure

The type of the aggregation query.

description
Type: string

The fleet metric description.

indexName
Type: string

The name of the index to search.

metricName
Required: Yes
Type: string

The name of the fleet metric to create.

period
Required: Yes
Type: int

The time in seconds between fleet metric emissions. Range [60(1 min), 86400(1 day)] and must be multiple of 60.

queryString
Required: Yes
Type: string

The search query string.

queryVersion
Type: string

The query version.

tags
Type: Array of Tag structures

Metadata, which can be used to manage the fleet metric.

unit
Type: string

Used to support unit transformation such as milliseconds to seconds. The unit must be supported by CW metric. Default to null.

Result Syntax

[
    'metricArn' => '<string>',
    'metricName' => '<string>',
]

Result Details

Members
metricArn
Type: string

The Amazon Resource Name (ARN) of the new fleet metric.

metricName
Type: string

The name of the fleet metric to create.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

LimitExceededException:

A limit has been exceeded.

ResourceAlreadyExistsException:

The resource already exists.

ResourceNotFoundException:

The specified resource does not exist.

InvalidQueryException:

The query is invalid.

InvalidAggregationException:

The aggregation is invalid.

IndexNotReadyException:

The index is not ready.

CreateJob

$result = $client->createJob([/* ... */]);
$promise = $client->createJobAsync([/* ... */]);

Creates a job.

Requires permission to access the CreateJob action.

Parameter Syntax

$result = $client->createJob([
    'abortConfig' => [
        'criteriaList' => [ // REQUIRED
            [
                'action' => 'CANCEL', // REQUIRED
                'failureType' => 'FAILED|REJECTED|TIMED_OUT|ALL', // REQUIRED
                'minNumberOfExecutedThings' => <integer>, // REQUIRED
                'thresholdPercentage' => <float>, // REQUIRED
            ],
            // ...
        ],
    ],
    'description' => '<string>',
    'destinationPackageVersions' => ['<string>', ...],
    'document' => '<string>',
    'documentParameters' => ['<string>', ...],
    'documentSource' => '<string>',
    'jobExecutionsRetryConfig' => [
        'criteriaList' => [ // REQUIRED
            [
                'failureType' => 'FAILED|TIMED_OUT|ALL', // REQUIRED
                'numberOfRetries' => <integer>, // REQUIRED
            ],
            // ...
        ],
    ],
    'jobExecutionsRolloutConfig' => [
        'exponentialRate' => [
            'baseRatePerMinute' => <integer>, // REQUIRED
            'incrementFactor' => <float>, // REQUIRED
            'rateIncreaseCriteria' => [ // REQUIRED
                'numberOfNotifiedThings' => <integer>,
                'numberOfSucceededThings' => <integer>,
            ],
        ],
        'maximumPerMinute' => <integer>,
    ],
    'jobId' => '<string>', // REQUIRED
    'jobTemplateArn' => '<string>',
    'namespaceId' => '<string>',
    'presignedUrlConfig' => [
        'expiresInSec' => <integer>,
        'roleArn' => '<string>',
    ],
    'schedulingConfig' => [
        'endBehavior' => 'STOP_ROLLOUT|CANCEL|FORCE_CANCEL',
        'endTime' => '<string>',
        'maintenanceWindows' => [
            [
                'durationInMinutes' => <integer>, // REQUIRED
                'startTime' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'startTime' => '<string>',
    ],
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'targetSelection' => 'CONTINUOUS|SNAPSHOT',
    'targets' => ['<string>', ...], // REQUIRED
    'timeoutConfig' => [
        'inProgressTimeoutInMinutes' => <integer>,
    ],
]);

Parameter Details

Members
abortConfig
Type: AbortConfig structure

Allows you to create the criteria to abort a job.

description
Type: string

A short text description of the job.

destinationPackageVersions
Type: Array of strings

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes. The package version must be in either the Published or Deprecated state when the job deploys. For more information, see Package version lifecycle.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

document
Type: string

The job document. Required if you don't specify a value for documentSource.

documentParameters
Type: Associative array of custom strings keys (ParameterKey) to strings

Parameters of an Amazon Web Services managed template that you can specify to create the job document.

documentParameters can only be used when creating jobs from Amazon Web Services managed templates. This parameter can't be used with custom job templates or to create jobs from them.

documentSource
Type: string

An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don't specify a value for document.

For example, --document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0

For more information, see Methods for accessing a bucket.

jobExecutionsRetryConfig
Type: JobExecutionsRetryConfig structure

Allows you to create the criteria to retry a job.

jobExecutionsRolloutConfig
Type: JobExecutionsRolloutConfig structure

Allows you to create a staged rollout of the job.

jobId
Required: Yes
Type: string

A job identifier which must be unique for your Amazon Web Services account. We recommend using a UUID. Alpha-numeric characters, "-" and "_" are valid for use here.

jobTemplateArn
Type: string

The ARN of the job template used to create the job.

namespaceId
Type: string

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

presignedUrlConfig
Type: PresignedUrlConfig structure

Configuration information for pre-signed S3 URLs.

schedulingConfig
Type: SchedulingConfig structure

The configuration that allows you to schedule a job for a future date and time in addition to specifying the end behavior for each job execution.

tags
Type: Array of Tag structures

Metadata which can be used to manage the job.

targetSelection
Type: string

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.

We recommend that you use continuous jobs instead of snapshot jobs for dynamic thing group targets. By using continuous jobs, devices that join the group receive the job execution even after the job has been created.

targets
Required: Yes
Type: Array of strings

A list of things and thing groups to which the job should be sent.

timeoutConfig
Type: TimeoutConfig structure

Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the time expires, it will be automatically set to TIMED_OUT.

Result Syntax

[
    'description' => '<string>',
    'jobArn' => '<string>',
    'jobId' => '<string>',
]

Result Details

Members
description
Type: string

The job description.

jobArn
Type: string

The job ARN.

jobId
Type: string

The unique identifier you assigned to this job.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ResourceAlreadyExistsException:

The resource already exists.

LimitExceededException:

A limit has been exceeded.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

CreateJobTemplate

$result = $client->createJobTemplate([/* ... */]);
$promise = $client->createJobTemplateAsync([/* ... */]);

Creates a job template.

Requires permission to access the CreateJobTemplate action.

Parameter Syntax

$result = $client->createJobTemplate([
    'abortConfig' => [
        'criteriaList' => [ // REQUIRED
            [
                'action' => 'CANCEL', // REQUIRED
                'failureType' => 'FAILED|REJECTED|TIMED_OUT|ALL', // REQUIRED
                'minNumberOfExecutedThings' => <integer>, // REQUIRED
                'thresholdPercentage' => <float>, // REQUIRED
            ],
            // ...
        ],
    ],
    'description' => '<string>', // REQUIRED
    'destinationPackageVersions' => ['<string>', ...],
    'document' => '<string>',
    'documentSource' => '<string>',
    'jobArn' => '<string>',
    'jobExecutionsRetryConfig' => [
        'criteriaList' => [ // REQUIRED
            [
                'failureType' => 'FAILED|TIMED_OUT|ALL', // REQUIRED
                'numberOfRetries' => <integer>, // REQUIRED
            ],
            // ...
        ],
    ],
    'jobExecutionsRolloutConfig' => [
        'exponentialRate' => [
            'baseRatePerMinute' => <integer>, // REQUIRED
            'incrementFactor' => <float>, // REQUIRED
            'rateIncreaseCriteria' => [ // REQUIRED
                'numberOfNotifiedThings' => <integer>,
                'numberOfSucceededThings' => <integer>,
            ],
        ],
        'maximumPerMinute' => <integer>,
    ],
    'jobTemplateId' => '<string>', // REQUIRED
    'maintenanceWindows' => [
        [
            'durationInMinutes' => <integer>, // REQUIRED
            'startTime' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'presignedUrlConfig' => [
        'expiresInSec' => <integer>,
        'roleArn' => '<string>',
    ],
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'timeoutConfig' => [
        'inProgressTimeoutInMinutes' => <integer>,
    ],
]);

Parameter Details

Members
abortConfig
Type: AbortConfig structure

The criteria that determine when and how a job abort takes place.

description
Required: Yes
Type: string

A description of the job document.

destinationPackageVersions
Type: Array of strings

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes. The package version must be in either the Published or Deprecated state when the job deploys. For more information, see Package version lifecycle.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

document
Type: string

The job document. Required if you don't specify a value for documentSource.

documentSource
Type: string

An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don't specify a value for document.

For example, --document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0

For more information, see Methods for accessing a bucket.

jobArn
Type: string

The ARN of the job to use as the basis for the job template.

jobExecutionsRetryConfig
Type: JobExecutionsRetryConfig structure

Allows you to create the criteria to retry a job.

jobExecutionsRolloutConfig
Type: JobExecutionsRolloutConfig structure

Allows you to create a staged rollout of a job.

jobTemplateId
Required: Yes
Type: string

A unique identifier for the job template. We recommend using a UUID. Alpha-numeric characters, "-", and "_" are valid for use here.

maintenanceWindows
Type: Array of MaintenanceWindow structures

Allows you to configure an optional maintenance window for the rollout of a job document to all devices in the target group for a job.

presignedUrlConfig
Type: PresignedUrlConfig structure

Configuration for pre-signed S3 URLs.

tags
Type: Array of Tag structures

Metadata that can be used to manage the job template.

timeoutConfig
Type: TimeoutConfig structure

Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to TIMED_OUT.

Result Syntax

[
    'jobTemplateArn' => '<string>',
    'jobTemplateId' => '<string>',
]

Result Details

Members
jobTemplateArn
Type: string

The ARN of the job template.

jobTemplateId
Type: string

The unique identifier of the job template.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ConflictException:

A resource with the same name already exists.

LimitExceededException:

A limit has been exceeded.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

CreateKeysAndCertificate

$result = $client->createKeysAndCertificate([/* ... */]);
$promise = $client->createKeysAndCertificateAsync([/* ... */]);

Creates a 2048-bit RSA key pair and issues an X.509 certificate using the issued public key. You can also call CreateKeysAndCertificate over MQTT from a device, for more information, see Provisioning MQTT API.

Note This is the only time IoT issues the private key for this certificate, so it is important to keep it in a secure location.

Requires permission to access the CreateKeysAndCertificate action.

Parameter Syntax

$result = $client->createKeysAndCertificate([
    'setAsActive' => true || false,
]);

Parameter Details

Members
setAsActive
Type: boolean

Specifies whether the certificate is active.

Result Syntax

[
    'certificateArn' => '<string>',
    'certificateId' => '<string>',
    'certificatePem' => '<string>',
    'keyPair' => [
        'PrivateKey' => '<string>',
        'PublicKey' => '<string>',
    ],
]

Result Details

Members
certificateArn
Type: string

The ARN of the certificate.

certificateId
Type: string

The ID of the certificate. IoT issues a default subject name for the certificate (for example, IoT Certificate).

certificatePem
Type: string

The certificate data, in PEM format.

keyPair
Type: KeyPair structure

The generated key pair.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

CreateMitigationAction

$result = $client->createMitigationAction([/* ... */]);
$promise = $client->createMitigationActionAsync([/* ... */]);

Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. Only certain types of mitigation actions can be applied to specific check names. For more information, see Mitigation actions. Each mitigation action can apply only one type of change.

Requires permission to access the CreateMitigationAction action.

Parameter Syntax

$result = $client->createMitigationAction([
    'actionName' => '<string>', // REQUIRED
    'actionParams' => [ // REQUIRED
        'addThingsToThingGroupParams' => [
            'overrideDynamicGroups' => true || false,
            'thingGroupNames' => ['<string>', ...], // REQUIRED
        ],
        'enableIoTLoggingParams' => [
            'logLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED', // REQUIRED
            'roleArnForLogging' => '<string>', // REQUIRED
        ],
        'publishFindingToSnsParams' => [
            'topicArn' => '<string>', // REQUIRED
        ],
        'replaceDefaultPolicyVersionParams' => [
            'templateName' => 'BLANK_POLICY', // REQUIRED
        ],
        'updateCACertificateParams' => [
            'action' => 'DEACTIVATE', // REQUIRED
        ],
        'updateDeviceCertificateParams' => [
            'action' => 'DEACTIVATE', // REQUIRED
        ],
    ],
    'roleArn' => '<string>', // REQUIRED
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
actionName
Required: Yes
Type: string

A friendly name for the action. Choose a friendly name that accurately describes the action (for example, EnableLoggingAction).

actionParams
Required: Yes
Type: MitigationActionParams structure

Defines the type of action and the parameters for that action.

roleArn
Required: Yes
Type: string

The ARN of the IAM role that is used to apply the mitigation action.

tags
Type: Array of Tag structures

Metadata that can be used to manage the mitigation action.

Result Syntax

[
    'actionArn' => '<string>',
    'actionId' => '<string>',
]

Result Details

Members
actionArn
Type: string

The ARN for the new mitigation action.

actionId
Type: string

A unique identifier for the new mitigation action.

Errors

InvalidRequestException:

The request is not valid.

ResourceAlreadyExistsException:

The resource already exists.

LimitExceededException:

A limit has been exceeded.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

CreateOTAUpdate

$result = $client->createOTAUpdate([/* ... */]);
$promise = $client->createOTAUpdateAsync([/* ... */]);

Creates an IoT OTA update on a target group of things or groups.

Requires permission to access the CreateOTAUpdate action.

Parameter Syntax

$result = $client->createOTAUpdate([
    'additionalParameters' => ['<string>', ...],
    'awsJobAbortConfig' => [
        'abortCriteriaList' => [ // REQUIRED
            [
                'action' => 'CANCEL', // REQUIRED
                'failureType' => 'FAILED|REJECTED|TIMED_OUT|ALL', // REQUIRED
                'minNumberOfExecutedThings' => <integer>, // REQUIRED
                'thresholdPercentage' => <float>, // REQUIRED
            ],
            // ...
        ],
    ],
    'awsJobExecutionsRolloutConfig' => [
        'exponentialRate' => [
            'baseRatePerMinute' => <integer>, // REQUIRED
            'incrementFactor' => <float>, // REQUIRED
            'rateIncreaseCriteria' => [ // REQUIRED
                'numberOfNotifiedThings' => <integer>,
                'numberOfSucceededThings' => <integer>,
            ],
        ],
        'maximumPerMinute' => <integer>,
    ],
    'awsJobPresignedUrlConfig' => [
        'expiresInSec' => <integer>,
    ],
    'awsJobTimeoutConfig' => [
        'inProgressTimeoutInMinutes' => <integer>,
    ],
    'description' => '<string>',
    'files' => [ // REQUIRED
        [
            'attributes' => ['<string>', ...],
            'codeSigning' => [
                'awsSignerJobId' => '<string>',
                'customCodeSigning' => [
                    'certificateChain' => [
                        'certificateName' => '<string>',
                        'inlineDocument' => '<string>',
                    ],
                    'hashAlgorithm' => '<string>',
                    'signature' => [
                        'inlineDocument' => <string || resource || Psr\Http\Message\StreamInterface>,
                    ],
                    'signatureAlgorithm' => '<string>',
                ],
                'startSigningJobParameter' => [
                    'destination' => [
                        's3Destination' => [
                            'bucket' => '<string>',
                            'prefix' => '<string>',
                        ],
                    ],
                    'signingProfileName' => '<string>',
                    'signingProfileParameter' => [
                        'certificateArn' => '<string>',
                        'certificatePathOnDevice' => '<string>',
                        'platform' => '<string>',
                    ],
                ],
            ],
            'fileLocation' => [
                's3Location' => [
                    'bucket' => '<string>',
                    'key' => '<string>',
                    'version' => '<string>',
                ],
                'stream' => [
                    'fileId' => <integer>,
                    'streamId' => '<string>',
                ],
            ],
            'fileName' => '<string>',
            'fileType' => <integer>,
            'fileVersion' => '<string>',
        ],
        // ...
    ],
    'otaUpdateId' => '<string>', // REQUIRED
    'protocols' => ['<string>', ...],
    'roleArn' => '<string>', // REQUIRED
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'targetSelection' => 'CONTINUOUS|SNAPSHOT',
    'targets' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
additionalParameters
Type: Associative array of custom strings keys (AttributeKey) to strings

A list of additional OTA update parameters, which are name-value pairs. They won't be sent to devices as a part of the Job document.

awsJobAbortConfig
Type: AwsJobAbortConfig structure

The criteria that determine when and how a job abort takes place.

awsJobExecutionsRolloutConfig

Configuration for the rollout of OTA updates.

awsJobPresignedUrlConfig
Type: AwsJobPresignedUrlConfig structure

Configuration information for pre-signed URLs.

awsJobTimeoutConfig
Type: AwsJobTimeoutConfig structure

Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to TIMED_OUT.

description
Type: string

The description of the OTA update.

files
Required: Yes
Type: Array of OTAUpdateFile structures

The files to be streamed by the OTA update.

otaUpdateId
Required: Yes
Type: string

The ID of the OTA update to be created.

protocols
Type: Array of strings

The protocol used to transfer the OTA update image. Valid values are [HTTP], [MQTT], [HTTP, MQTT]. When both HTTP and MQTT are specified, the target device can choose the protocol.

roleArn
Required: Yes
Type: string

The IAM role that grants Amazon Web Services IoT Core access to the Amazon S3, IoT jobs and Amazon Web Services Code Signing resources to create an OTA update job.

tags
Type: Array of Tag structures

Metadata which can be used to manage updates.

targetSelection
Type: string

Specifies whether the update will continue to run (CONTINUOUS), or will be complete after all the things specified as targets have completed the update (SNAPSHOT). If continuous, the update may also be run on a thing when a change is detected in a target. For example, an update will run on a thing when the thing is added to a target group, even after the update was completed by all things originally in the group. Valid values: CONTINUOUS | SNAPSHOT.

targets
Required: Yes
Type: Array of strings

The devices targeted to receive OTA updates.

Result Syntax

[
    'awsIotJobArn' => '<string>',
    'awsIotJobId' => '<string>',
    'otaUpdateArn' => '<string>',
    'otaUpdateId' => '<string>',
    'otaUpdateStatus' => 'CREATE_PENDING|CREATE_IN_PROGRESS|CREATE_COMPLETE|CREATE_FAILED|DELETE_IN_PROGRESS|DELETE_FAILED',
]

Result Details

Members
awsIotJobArn
Type: string

The IoT job ARN associated with the OTA update.

awsIotJobId
Type: string

The IoT job ID associated with the OTA update.

otaUpdateArn
Type: string

The OTA update ARN.

otaUpdateId
Type: string

The OTA update ID.

otaUpdateStatus
Type: string

The OTA update status.

Errors

InvalidRequestException:

The request is not valid.

LimitExceededException:

A limit has been exceeded.

ResourceNotFoundException:

The specified resource does not exist.

ResourceAlreadyExistsException:

The resource already exists.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

InternalFailureException:

An unexpected error has occurred.

ServiceUnavailableException:

The service is temporarily unavailable.

CreatePackage

$result = $client->createPackage([/* ... */]);
$promise = $client->createPackageAsync([/* ... */]);

Creates an IoT software package that can be deployed to your fleet.

Requires permission to access the CreatePackage and GetIndexingConfiguration actions.

Parameter Syntax

$result = $client->createPackage([
    'clientToken' => '<string>',
    'description' => '<string>',
    'packageName' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
clientToken
Type: string

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

description
Type: string

A summary of the package being created. This can be used to outline the package's contents or purpose.

packageName
Required: Yes
Type: string

The name of the new software package.

tags
Type: Associative array of custom strings keys (TagKey) to strings

Metadata that can be used to manage the package.

Result Syntax

[
    'description' => '<string>',
    'packageArn' => '<string>',
    'packageName' => '<string>',
]

Result Details

Members
description
Type: string

The package description.

packageArn
Type: string

The Amazon Resource Name (ARN) for the package.

packageName
Type: string

The name of the software package.

Errors

ThrottlingException:

The rate exceeds the limit.

ConflictException:

A resource with the same name already exists.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ValidationException:

The request is not valid.

ServiceQuotaExceededException:

A limit has been exceeded.

CreatePackageVersion

$result = $client->createPackageVersion([/* ... */]);
$promise = $client->createPackageVersionAsync([/* ... */]);

Creates a new version for an existing IoT software package.

Requires permission to access the CreatePackageVersion and GetIndexingConfiguration actions.

Parameter Syntax

$result = $client->createPackageVersion([
    'attributes' => ['<string>', ...],
    'clientToken' => '<string>',
    'description' => '<string>',
    'packageName' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
    'versionName' => '<string>', // REQUIRED
]);

Parameter Details

Members
attributes
Type: Associative array of custom strings keys (ResourceAttributeKey) to strings

Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.

The combined size of all the attributes on a package version is limited to 3KB.

clientToken
Type: string

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

description
Type: string

A summary of the package version being created. This can be used to outline the package's contents or purpose.

packageName
Required: Yes
Type: string

The name of the associated software package.

tags
Type: Associative array of custom strings keys (TagKey) to strings

Metadata that can be used to manage the package version.

versionName
Required: Yes
Type: string

The name of the new package version.

Result Syntax

[
    'attributes' => ['<string>', ...],
    'description' => '<string>',
    'errorReason' => '<string>',
    'packageName' => '<string>',
    'packageVersionArn' => '<string>',
    'status' => 'DRAFT|PUBLISHED|DEPRECATED',
    'versionName' => '<string>',
]

Result Details

Members
attributes
Type: Associative array of custom strings keys (ResourceAttributeKey) to strings

Metadata that were added to the package version that can be used to define a package version’s configuration.

description
Type: string

The package version description.

errorReason
Type: string

Error reason for a package version failure during creation or update.

packageName
Type: string

The name of the associated software package.

packageVersionArn
Type: string

The Amazon Resource Name (ARN) for the package.

status
Type: string

The status of the package version. For more information, see Package version lifecycle.

versionName
Type: string

The name of the new package version.

Errors

ThrottlingException:

The rate exceeds the limit.

ConflictException:

A resource with the same name already exists.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ValidationException:

The request is not valid.

ServiceQuotaExceededException:

A limit has been exceeded.

CreatePolicy

$result = $client->createPolicy([/* ... */]);
$promise = $client->createPolicyAsync([/* ... */]);

Creates an 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.

Requires permission to access the CreatePolicy action.

Parameter Syntax

$result = $client->createPolicy([
    'policyDocument' => '<string>', // REQUIRED
    'policyName' => '<string>', // REQUIRED
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
policyDocument
Required: Yes
Type: string

The JSON document that describes the policy. policyDocument must have a minimum length of 1, with a maximum length of 2048, excluding whitespace.

policyName
Required: Yes
Type: string

The policy name.

tags
Type: Array of Tag structures

Metadata which can be used to manage the policy.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."

For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."

Result Syntax

[
    'policyArn' => '<string>',
    'policyDocument' => '<string>',
    'policyName' => '<string>',
    'policyVersionId' => '<string>',
]

Result Details

Members
policyArn
Type: string

The policy ARN.

policyDocument
Type: string

The JSON document that describes the policy.

policyName
Type: string

The policy name.

policyVersionId
Type: string

The policy version ID.

Errors

ResourceAlreadyExistsException:

The resource already exists.

MalformedPolicyException:

The policy documentation is not valid.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

CreatePolicyVersion

$result = $client->createPolicyVersion([/* ... */]);
$promise = $client->createPolicyVersionAsync([/* ... */]);

Creates a new version of the specified 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).

Requires permission to access the CreatePolicyVersion action.

Parameter Syntax

$result = $client->createPolicyVersion([
    'policyDocument' => '<string>', // REQUIRED
    'policyName' => '<string>', // REQUIRED
    'setAsDefault' => true || false,
]);

Parameter Details

Members
policyDocument
Required: Yes
Type: string

The JSON document that describes the policy. Minimum length of 1. Maximum length of 2048, excluding whitespace.

policyName
Required: Yes
Type: string

The policy name.

setAsDefault
Type: boolean

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).

Result Syntax

[
    'isDefaultVersion' => true || false,
    'policyArn' => '<string>',
    'policyDocument' => '<string>',
    'policyVersionId' => '<string>',
]

Result Details

Members
isDefaultVersion
Type: boolean

Specifies whether the policy version is the default.

policyArn
Type: string

The policy ARN.

policyDocument
Type: string

The JSON document that describes the policy.

policyVersionId
Type: string

The policy version ID.

Errors

ResourceNotFoundException:

The specified resource does not exist.

MalformedPolicyException:

The policy documentation is not valid.

VersionsLimitExceededException:

The number of policy versions exceeds the limit.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

CreateProvisioningClaim

$result = $client->createProvisioningClaim([/* ... */]);
$promise = $client->createProvisioningClaimAsync([/* ... */]);

Creates a provisioning claim.

Requires permission to access the CreateProvisioningClaim action.

Parameter Syntax

$result = $client->createProvisioningClaim([
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
templateName
Required: Yes
Type: string

The name of the provisioning template to use.

Result Syntax

[
    'certificateId' => '<string>',
    'certificatePem' => '<string>',
    'expiration' => <DateTime>,
    'keyPair' => [
        'PrivateKey' => '<string>',
        'PublicKey' => '<string>',
    ],
]

Result Details

Members
certificateId
Type: string

The ID of the certificate.

certificatePem
Type: string

The provisioning claim certificate.

expiration
Type: timestamp (string|DateTime or anything parsable by strtotime)

The provisioning claim expiration time.

keyPair
Type: KeyPair structure

The provisioning claim key pair.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

CreateProvisioningTemplate

$result = $client->createProvisioningTemplate([/* ... */]);
$promise = $client->createProvisioningTemplateAsync([/* ... */]);

Creates a provisioning template.

Requires permission to access the CreateProvisioningTemplate action.

Parameter Syntax

$result = $client->createProvisioningTemplate([
    'description' => '<string>',
    'enabled' => true || false,
    'preProvisioningHook' => [
        'payloadVersion' => '<string>',
        'targetArn' => '<string>', // REQUIRED
    ],
    'provisioningRoleArn' => '<string>', // REQUIRED
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'templateBody' => '<string>', // REQUIRED
    'templateName' => '<string>', // REQUIRED
    'type' => 'FLEET_PROVISIONING|JITP',
]);

Parameter Details

Members
description
Type: string

The description of the provisioning template.

enabled
Type: boolean

True to enable the provisioning template, otherwise false.

preProvisioningHook
Type: ProvisioningHook structure

Creates a pre-provisioning hook template. Only supports template of type FLEET_PROVISIONING. For more information about provisioning template types, see type.

provisioningRoleArn
Required: Yes
Type: string

The role ARN for the role associated with the provisioning template. This IoT role grants permission to provision a device.

tags
Type: Array of Tag structures

Metadata which can be used to manage the provisioning template.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."

For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."

templateBody
Required: Yes
Type: string

The JSON formatted contents of the provisioning template.

templateName
Required: Yes
Type: string

The name of the provisioning template.

type
Type: string

The type you define in a provisioning template. You can create a template with only one type. You can't change the template type after its creation. The default value is FLEET_PROVISIONING. For more information about provisioning template, see: Provisioning template.

Result Syntax

[
    'defaultVersionId' => <integer>,
    'templateArn' => '<string>',
    'templateName' => '<string>',
]

Result Details

Members
defaultVersionId
Type: int

The default version of the provisioning template.

templateArn
Type: string

The ARN that identifies the provisioning template.

templateName
Type: string

The name of the provisioning template.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

LimitExceededException:

A limit has been exceeded.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ResourceAlreadyExistsException:

The resource already exists.

CreateProvisioningTemplateVersion

$result = $client->createProvisioningTemplateVersion([/* ... */]);
$promise = $client->createProvisioningTemplateVersionAsync([/* ... */]);

Creates a new version of a provisioning template.

Requires permission to access the CreateProvisioningTemplateVersion action.

Parameter Syntax

$result = $client->createProvisioningTemplateVersion([
    'setAsDefault' => true || false,
    'templateBody' => '<string>', // REQUIRED
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
setAsDefault
Type: boolean

Sets a fleet provision template version as the default version.

templateBody
Required: Yes
Type: string

The JSON formatted contents of the provisioning template.

templateName
Required: Yes
Type: string

The name of the provisioning template.

Result Syntax

[
    'isDefaultVersion' => true || false,
    'templateArn' => '<string>',
    'templateName' => '<string>',
    'versionId' => <integer>,
]

Result Details

Members
isDefaultVersion
Type: boolean

True if the provisioning template version is the default version, otherwise false.

templateArn
Type: string

The ARN that identifies the provisioning template.

templateName
Type: string

The name of the provisioning template.

versionId
Type: int

The version of the provisioning template.

Errors

VersionsLimitExceededException:

The number of policy versions exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

ResourceNotFoundException:

The specified resource does not exist.

UnauthorizedException:

You are not authorized to perform this operation.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

CreateRoleAlias

$result = $client->createRoleAlias([/* ... */]);
$promise = $client->createRoleAliasAsync([/* ... */]);

Creates a role alias.

Requires permission to access the CreateRoleAlias action.

Parameter Syntax

$result = $client->createRoleAlias([
    'credentialDurationSeconds' => <integer>,
    'roleAlias' => '<string>', // REQUIRED
    'roleArn' => '<string>', // REQUIRED
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
credentialDurationSeconds
Type: int

How long (in seconds) the credentials will be valid. The default value is 3,600 seconds.

This value must be less than or equal to the maximum session duration of the IAM role that the role alias references.

roleAlias
Required: Yes
Type: string

The role alias that points to a role ARN. This allows you to change the role without having to update the device.

roleArn
Required: Yes
Type: string

The role ARN.

tags
Type: Array of Tag structures

Metadata which can be used to manage the role alias.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."

For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."

Result Syntax

[
    'roleAlias' => '<string>',
    'roleAliasArn' => '<string>',
]

Result Details

Members
roleAlias
Type: string

The role alias.

roleAliasArn
Type: string

The role alias ARN.

Errors

ResourceAlreadyExistsException:

The resource already exists.

InvalidRequestException:

The request is not valid.

LimitExceededException:

A limit has been exceeded.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

CreateScheduledAudit

$result = $client->createScheduledAudit([/* ... */]);
$promise = $client->createScheduledAuditAsync([/* ... */]);

Creates a scheduled audit that is run at a specified time interval.

Requires permission to access the CreateScheduledAudit action.

Parameter Syntax

$result = $client->createScheduledAudit([
    'dayOfMonth' => '<string>',
    'dayOfWeek' => 'SUN|MON|TUE|WED|THU|FRI|SAT',
    'frequency' => 'DAILY|WEEKLY|BIWEEKLY|MONTHLY', // REQUIRED
    'scheduledAuditName' => '<string>', // REQUIRED
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'targetCheckNames' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
dayOfMonth
Type: string

The day of the month on which the scheduled audit takes place. This can be "1" through "31" or "LAST". This field is required if the "frequency" parameter is set to MONTHLY. If days 29 to 31 are specified, and the month doesn't have that many days, the audit takes place on the LAST day of the month.

dayOfWeek
Type: string

The day of the week on which the scheduled audit takes place, either SUN, MON, TUE, WED, THU, FRI, or SAT. This field is required if the frequency parameter is set to WEEKLY or BIWEEKLY.

frequency
Required: Yes
Type: string

How often the scheduled audit takes place, either DAILY, WEEKLY, BIWEEKLY or MONTHLY. The start time of each audit is determined by the system.

scheduledAuditName
Required: Yes
Type: string

The name you want to give to the scheduled audit. (Max. 128 chars)

tags
Type: Array of Tag structures

Metadata that can be used to manage the scheduled audit.

targetCheckNames
Required: Yes
Type: Array of strings

Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

Result Syntax

[
    'scheduledAuditArn' => '<string>',
]

Result Details

Members
scheduledAuditArn
Type: string

The ARN of the scheduled audit.

Errors

InvalidRequestException:

The request is not valid.

ResourceAlreadyExistsException:

The resource already exists.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

LimitExceededException:

A limit has been exceeded.

CreateSecurityProfile

$result = $client->createSecurityProfile([/* ... */]);
$promise = $client->createSecurityProfileAsync([/* ... */]);

Creates a Device Defender security profile.

Requires permission to access the CreateSecurityProfile action.

Parameter Syntax

$result = $client->createSecurityProfile([
    'additionalMetricsToRetain' => ['<string>', ...],
    'additionalMetricsToRetainV2' => [
        [
            'exportMetric' => true || false,
            'metric' => '<string>', // REQUIRED
            'metricDimension' => [
                'dimensionName' => '<string>', // REQUIRED
                'operator' => 'IN|NOT_IN',
            ],
        ],
        // ...
    ],
    'alertTargets' => [
        '<AlertTargetType>' => [
            'alertTargetArn' => '<string>', // REQUIRED
            'roleArn' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'behaviors' => [
        [
            'criteria' => [
                'comparisonOperator' => 'less-than|less-than-equals|greater-than|greater-than-equals|in-cidr-set|not-in-cidr-set|in-port-set|not-in-port-set|in-set|not-in-set',
                'consecutiveDatapointsToAlarm' => <integer>,
                'consecutiveDatapointsToClear' => <integer>,
                'durationSeconds' => <integer>,
                'mlDetectionConfig' => [
                    'confidenceLevel' => 'LOW|MEDIUM|HIGH', // REQUIRED
                ],
                'statisticalThreshold' => [
                    'statistic' => '<string>',
                ],
                'value' => [
                    'cidrs' => ['<string>', ...],
                    'count' => <integer>,
                    'number' => <float>,
                    'numbers' => [<float>, ...],
                    'ports' => [<integer>, ...],
                    'strings' => ['<string>', ...],
                ],
            ],
            'exportMetric' => true || false,
            'metric' => '<string>',
            'metricDimension' => [
                'dimensionName' => '<string>', // REQUIRED
                'operator' => 'IN|NOT_IN',
            ],
            'name' => '<string>', // REQUIRED
            'suppressAlerts' => true || false,
        ],
        // ...
    ],
    'metricsExportConfig' => [
        'mqttTopic' => '<string>', // REQUIRED
        'roleArn' => '<string>', // REQUIRED
    ],
    'securityProfileDescription' => '<string>',
    'securityProfileName' => '<string>', // REQUIRED
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
additionalMetricsToRetain
Type: Array of strings

Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.

additionalMetricsToRetainV2
Type: Array of MetricToRetain structures

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.

alertTargets
Type: Associative array of custom strings keys (AlertTargetType) to AlertTarget structures

Specifies the destinations to which alerts are sent. (Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior.

behaviors
Type: Array of Behavior structures

Specifies the behaviors that, when violated by a device (thing), cause an alert.

metricsExportConfig
Type: MetricsExportConfig structure

Specifies the MQTT topic and role ARN required for metric export.

securityProfileDescription
Type: string

A description of the security profile.

securityProfileName
Required: Yes
Type: string

The name you are giving to the security profile.

tags
Type: Array of Tag structures

Metadata that can be used to manage the security profile.

Result Syntax

[
    'securityProfileArn' => '<string>',
    'securityProfileName' => '<string>',
]

Result Details

Members
securityProfileArn
Type: string

The ARN of the security profile.

securityProfileName
Type: string

The name you gave to the security profile.

Errors

InvalidRequestException:

The request is not valid.

ResourceAlreadyExistsException:

The resource already exists.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

CreateStream

$result = $client->createStream([/* ... */]);
$promise = $client->createStreamAsync([/* ... */]);

Creates a stream for delivering one or more large files in chunks over MQTT. A stream transports data bytes in chunks or blocks packaged as MQTT messages from a source like S3. You can have one or more files associated with a stream.

Requires permission to access the CreateStream action.

Parameter Syntax

$result = $client->createStream([
    'description' => '<string>',
    'files' => [ // REQUIRED
        [
            'fileId' => <integer>,
            's3Location' => [
                'bucket' => '<string>',
                'key' => '<string>',
                'version' => '<string>',
            ],
        ],
        // ...
    ],
    'roleArn' => '<string>', // REQUIRED
    'streamId' => '<string>', // REQUIRED
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
description
Type: string

A description of the stream.

files
Required: Yes
Type: Array of StreamFile structures

The files to stream.

roleArn
Required: Yes
Type: string

An IAM role that allows the IoT service principal to access your S3 files.

streamId
Required: Yes
Type: string

The stream ID.

tags
Type: Array of Tag structures

Metadata which can be used to manage streams.

Result Syntax

[
    'description' => '<string>',
    'streamArn' => '<string>',
    'streamId' => '<string>',
    'streamVersion' => <integer>,
]

Result Details

Members
description
Type: string

A description of the stream.

streamArn
Type: string

The stream ARN.

streamId
Type: string

The stream ID.

streamVersion
Type: int

The version of the stream.

Errors

InvalidRequestException:

The request is not valid.

LimitExceededException:

A limit has been exceeded.

ResourceNotFoundException:

The specified resource does not exist.

ResourceAlreadyExistsException:

The resource already exists.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

CreateThing

$result = $client->createThing([/* ... */]);
$promise = $client->createThingAsync([/* ... */]);

Creates a thing record in the registry. If this call is made multiple times using the same thing name and configuration, the call will succeed. If this call is made with the same thing name but different configuration a ResourceAlreadyExistsException is thrown.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

Requires permission to access the CreateThing action.

Parameter Syntax

$result = $client->createThing([
    'attributePayload' => [
        'attributes' => ['<string>', ...],
        'merge' => true || false,
    ],
    'billingGroupName' => '<string>',
    'thingName' => '<string>', // REQUIRED
    'thingTypeName' => '<string>',
]);

Parameter Details

Members
attributePayload
Type: AttributePayload structure

The attribute payload, which consists of up to three name/value pairs in a JSON document. For example:

{\"attributes\":{\"string1\":\"string2\"}}

billingGroupName
Type: string

The name of the billing group the thing will be added to.

thingName
Required: Yes
Type: string

The name of the thing to create.

You can't change a thing's name after you create it. To change a thing's name, you must create a new thing, give it the new name, and then delete the old thing.

thingTypeName
Type: string

The name of the thing type associated with the new thing.

Result Syntax

[
    'thingArn' => '<string>',
    'thingId' => '<string>',
    'thingName' => '<string>',
]

Result Details

Members
thingArn
Type: string

The ARN of the new thing.

thingId
Type: string

The thing ID.

thingName
Type: string

The name of the new thing.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceAlreadyExistsException:

The resource already exists.

ResourceNotFoundException:

The specified resource does not exist.

CreateThingGroup

$result = $client->createThingGroup([/* ... */]);
$promise = $client->createThingGroupAsync([/* ... */]);

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

If the ThingGroup that you create has the exact same attributes as an existing ThingGroup, you will get a 200 success response.

Requires permission to access the CreateThingGroup action.

Parameter Syntax

$result = $client->createThingGroup([
    'parentGroupName' => '<string>',
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'thingGroupName' => '<string>', // REQUIRED
    'thingGroupProperties' => [
        'attributePayload' => [
            'attributes' => ['<string>', ...],
            'merge' => true || false,
        ],
        'thingGroupDescription' => '<string>',
    ],
]);

Parameter Details

Members
parentGroupName
Type: string

The name of the parent thing group.

tags
Type: Array of Tag structures

Metadata which can be used to manage the thing group.

thingGroupName
Required: Yes
Type: string

The thing group name to create.

thingGroupProperties
Type: ThingGroupProperties structure

The thing group properties.

Result Syntax

[
    'thingGroupArn' => '<string>',
    'thingGroupId' => '<string>',
    'thingGroupName' => '<string>',
]

Result Details

Members
thingGroupArn
Type: string

The thing group ARN.

thingGroupId
Type: string

The thing group ID.

thingGroupName
Type: string

The thing group name.

Errors

InvalidRequestException:

The request is not valid.

ResourceAlreadyExistsException:

The resource already exists.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

CreateThingType

$result = $client->createThingType([/* ... */]);
$promise = $client->createThingTypeAsync([/* ... */]);

Creates a new thing type.

Requires permission to access the CreateThingType action.

Parameter Syntax

$result = $client->createThingType([
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'thingTypeName' => '<string>', // REQUIRED
    'thingTypeProperties' => [
        'searchableAttributes' => ['<string>', ...],
        'thingTypeDescription' => '<string>',
    ],
]);

Parameter Details

Members
tags
Type: Array of Tag structures

Metadata which can be used to manage the thing type.

thingTypeName
Required: Yes
Type: string

The name of the thing type.

thingTypeProperties
Type: ThingTypeProperties structure

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.

Result Syntax

[
    'thingTypeArn' => '<string>',
    'thingTypeId' => '<string>',
    'thingTypeName' => '<string>',
]

Result Details

Members
thingTypeArn
Type: string

The Amazon Resource Name (ARN) of the thing type.

thingTypeId
Type: string

The thing type ID.

thingTypeName
Type: string

The name of the thing type.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceAlreadyExistsException:

The resource already exists.

CreateTopicRule

$result = $client->createTopicRule([/* ... */]);
$promise = $client->createTopicRuleAsync([/* ... */]);

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.

Requires permission to access the CreateTopicRule action.

Parameter Syntax

$result = $client->createTopicRule([
    'ruleName' => '<string>', // REQUIRED
    'tags' => '<string>',
    'topicRulePayload' => [ // REQUIRED
        'actions' => [ // REQUIRED
            [
                'cloudwatchAlarm' => [
                    'alarmName' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'stateReason' => '<string>', // REQUIRED
                    'stateValue' => '<string>', // REQUIRED
                ],
                'cloudwatchLogs' => [
                    'batchMode' => true || false,
                    'logGroupName' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                ],
                'cloudwatchMetric' => [
                    'metricName' => '<string>', // REQUIRED
                    'metricNamespace' => '<string>', // REQUIRED
                    'metricTimestamp' => '<string>',
                    'metricUnit' => '<string>', // REQUIRED
                    'metricValue' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                ],
                'dynamoDB' => [
                    'hashKeyField' => '<string>', // REQUIRED
                    'hashKeyType' => 'STRING|NUMBER',
                    'hashKeyValue' => '<string>', // REQUIRED
                    'operation' => '<string>',
                    'payloadField' => '<string>',
                    'rangeKeyField' => '<string>',
                    'rangeKeyType' => 'STRING|NUMBER',
                    'rangeKeyValue' => '<string>',
                    'roleArn' => '<string>', // REQUIRED
                    'tableName' => '<string>', // REQUIRED
                ],
                'dynamoDBv2' => [
                    'putItem' => [ // REQUIRED
                        'tableName' => '<string>', // REQUIRED
                    ],
                    'roleArn' => '<string>', // REQUIRED
                ],
                'elasticsearch' => [
                    'endpoint' => '<string>', // REQUIRED
                    'id' => '<string>', // REQUIRED
                    'index' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'type' => '<string>', // REQUIRED
                ],
                'firehose' => [
                    'batchMode' => true || false,
                    'deliveryStreamName' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'separator' => '<string>',
                ],
                'http' => [
                    'auth' => [
                        'sigv4' => [
                            'roleArn' => '<string>', // REQUIRED
                            'serviceName' => '<string>', // REQUIRED
                            'signingRegion' => '<string>', // REQUIRED
                        ],
                    ],
                    'confirmationUrl' => '<string>',
                    'headers' => [
                        [
                            'key' => '<string>', // REQUIRED
                            'value' => '<string>', // REQUIRED
                        ],
                        // ...
                    ],
                    'url' => '<string>', // REQUIRED
                ],
                'iotAnalytics' => [
                    'batchMode' => true || false,
                    'channelArn' => '<string>',
                    'channelName' => '<string>',
                    'roleArn' => '<string>',
                ],
                'iotEvents' => [
                    'batchMode' => true || false,
                    'inputName' => '<string>', // REQUIRED
                    'messageId' => '<string>',
                    'roleArn' => '<string>', // REQUIRED
                ],
                'iotSiteWise' => [
                    'putAssetPropertyValueEntries' => [ // REQUIRED
                        [
                            'assetId' => '<string>',
                            'entryId' => '<string>',
                            'propertyAlias' => '<string>',
                            'propertyId' => '<string>',
                            'propertyValues' => [ // REQUIRED
                                [
                                    'quality' => '<string>',
                                    'timestamp' => [ // REQUIRED
                                        'offsetInNanos' => '<string>',
                                        'timeInSeconds' => '<string>', // REQUIRED
                                    ],
                                    'value' => [ // REQUIRED
                                        'booleanValue' => '<string>',
                                        'doubleValue' => '<string>',
                                        'integerValue' => '<string>',
                                        'stringValue' => '<string>',
                                    ],
                                ],
                                // ...
                            ],
                        ],
                        // ...
                    ],
                    'roleArn' => '<string>', // REQUIRED
                ],
                'kafka' => [
                    'clientProperties' => ['<string>', ...], // REQUIRED
                    'destinationArn' => '<string>', // REQUIRED
                    'headers' => [
                        [
                            'key' => '<string>', // REQUIRED
                            'value' => '<string>', // REQUIRED
                        ],
                        // ...
                    ],
                    'key' => '<string>',
                    'partition' => '<string>',
                    'topic' => '<string>', // REQUIRED
                ],
                'kinesis' => [
                    'partitionKey' => '<string>',
                    'roleArn' => '<string>', // REQUIRED
                    'streamName' => '<string>', // REQUIRED
                ],
                'lambda' => [
                    'functionArn' => '<string>', // REQUIRED
                ],
                'location' => [
                    'deviceId' => '<string>', // REQUIRED
                    'latitude' => '<string>', // REQUIRED
                    'longitude' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'timestamp' => [
                        'unit' => '<string>',
                        'value' => '<string>', // REQUIRED
                    ],
                    'trackerName' => '<string>', // REQUIRED
                ],
                'openSearch' => [
                    'endpoint' => '<string>', // REQUIRED
                    'id' => '<string>', // REQUIRED
                    'index' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'type' => '<string>', // REQUIRED
                ],
                'republish' => [
                    'headers' => [
                        'contentType' => '<string>',
                        'correlationData' => '<string>',
                        'messageExpiry' => '<string>',
                        'payloadFormatIndicator' => '<string>',
                        'responseTopic' => '<string>',
                        'userProperties' => [
                            [
                                'key' => '<string>', // REQUIRED
                                'value' => '<string>', // REQUIRED
                            ],
                            // ...
                        ],
                    ],
                    'qos' => <integer>,
                    'roleArn' => '<string>', // REQUIRED
                    'topic' => '<string>', // REQUIRED
                ],
                's3' => [
                    'bucketName' => '<string>', // REQUIRED
                    'cannedAcl' => 'private|public-read|public-read-write|aws-exec-read|authenticated-read|bucket-owner-read|bucket-owner-full-control|log-delivery-write',
                    'key' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                ],
                'salesforce' => [
                    'token' => '<string>', // REQUIRED
                    'url' => '<string>', // REQUIRED
                ],
                'sns' => [
                    'messageFormat' => 'RAW|JSON',
                    'roleArn' => '<string>', // REQUIRED
                    'targetArn' => '<string>', // REQUIRED
                ],
                'sqs' => [
                    'queueUrl' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'useBase64' => true || false,
                ],
                'stepFunctions' => [
                    'executionNamePrefix' => '<string>',
                    'roleArn' => '<string>', // REQUIRED
                    'stateMachineName' => '<string>', // REQUIRED
                ],
                'timestream' => [
                    'databaseName' => '<string>', // REQUIRED
                    'dimensions' => [ // REQUIRED
                        [
                            'name' => '<string>', // REQUIRED
                            'value' => '<string>', // REQUIRED
                        ],
                        // ...
                    ],
                    'roleArn' => '<string>', // REQUIRED
                    'tableName' => '<string>', // REQUIRED
                    'timestamp' => [
                        'unit' => '<string>', // REQUIRED
                        'value' => '<string>', // REQUIRED
                    ],
                ],
            ],
            // ...
        ],
        'awsIotSqlVersion' => '<string>',
        'description' => '<string>',
        'errorAction' => [
            'cloudwatchAlarm' => [
                'alarmName' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'stateReason' => '<string>', // REQUIRED
                'stateValue' => '<string>', // REQUIRED
            ],
            'cloudwatchLogs' => [
                'batchMode' => true || false,
                'logGroupName' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
            ],
            'cloudwatchMetric' => [
                'metricName' => '<string>', // REQUIRED
                'metricNamespace' => '<string>', // REQUIRED
                'metricTimestamp' => '<string>',
                'metricUnit' => '<string>', // REQUIRED
                'metricValue' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
            ],
            'dynamoDB' => [
                'hashKeyField' => '<string>', // REQUIRED
                'hashKeyType' => 'STRING|NUMBER',
                'hashKeyValue' => '<string>', // REQUIRED
                'operation' => '<string>',
                'payloadField' => '<string>',
                'rangeKeyField' => '<string>',
                'rangeKeyType' => 'STRING|NUMBER',
                'rangeKeyValue' => '<string>',
                'roleArn' => '<string>', // REQUIRED
                'tableName' => '<string>', // REQUIRED
            ],
            'dynamoDBv2' => [
                'putItem' => [ // REQUIRED
                    'tableName' => '<string>', // REQUIRED
                ],
                'roleArn' => '<string>', // REQUIRED
            ],
            'elasticsearch' => [
                'endpoint' => '<string>', // REQUIRED
                'id' => '<string>', // REQUIRED
                'index' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'type' => '<string>', // REQUIRED
            ],
            'firehose' => [
                'batchMode' => true || false,
                'deliveryStreamName' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'separator' => '<string>',
            ],
            'http' => [
                'auth' => [
                    'sigv4' => [
                        'roleArn' => '<string>', // REQUIRED
                        'serviceName' => '<string>', // REQUIRED
                        'signingRegion' => '<string>', // REQUIRED
                    ],
                ],
                'confirmationUrl' => '<string>',
                'headers' => [
                    [
                        'key' => '<string>', // REQUIRED
                        'value' => '<string>', // REQUIRED
                    ],
                    // ...
                ],
                'url' => '<string>', // REQUIRED
            ],
            'iotAnalytics' => [
                'batchMode' => true || false,
                'channelArn' => '<string>',
                'channelName' => '<string>',
                'roleArn' => '<string>',
            ],
            'iotEvents' => [
                'batchMode' => true || false,
                'inputName' => '<string>', // REQUIRED
                'messageId' => '<string>',
                'roleArn' => '<string>', // REQUIRED
            ],
            'iotSiteWise' => [
                'putAssetPropertyValueEntries' => [ // REQUIRED
                    [
                        'assetId' => '<string>',
                        'entryId' => '<string>',
                        'propertyAlias' => '<string>',
                        'propertyId' => '<string>',
                        'propertyValues' => [ // REQUIRED
                            [
                                'quality' => '<string>',
                                'timestamp' => [ // REQUIRED
                                    'offsetInNanos' => '<string>',
                                    'timeInSeconds' => '<string>', // REQUIRED
                                ],
                                'value' => [ // REQUIRED
                                    'booleanValue' => '<string>',
                                    'doubleValue' => '<string>',
                                    'integerValue' => '<string>',
                                    'stringValue' => '<string>',
                                ],
                            ],
                            // ...
                        ],
                    ],
                    // ...
                ],
                'roleArn' => '<string>', // REQUIRED
            ],
            'kafka' => [
                'clientProperties' => ['<string>', ...], // REQUIRED
                'destinationArn' => '<string>', // REQUIRED
                'headers' => [
                    [
                        'key' => '<string>', // REQUIRED
                        'value' => '<string>', // REQUIRED
                    ],
                    // ...
                ],
                'key' => '<string>',
                'partition' => '<string>',
                'topic' => '<string>', // REQUIRED
            ],
            'kinesis' => [
                'partitionKey' => '<string>',
                'roleArn' => '<string>', // REQUIRED
                'streamName' => '<string>', // REQUIRED
            ],
            'lambda' => [
                'functionArn' => '<string>', // REQUIRED
            ],
            'location' => [
                'deviceId' => '<string>', // REQUIRED
                'latitude' => '<string>', // REQUIRED
                'longitude' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'timestamp' => [
                    'unit' => '<string>',
                    'value' => '<string>', // REQUIRED
                ],
                'trackerName' => '<string>', // REQUIRED
            ],
            'openSearch' => [
                'endpoint' => '<string>', // REQUIRED
                'id' => '<string>', // REQUIRED
                'index' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'type' => '<string>', // REQUIRED
            ],
            'republish' => [
                'headers' => [
                    'contentType' => '<string>',
                    'correlationData' => '<string>',
                    'messageExpiry' => '<string>',
                    'payloadFormatIndicator' => '<string>',
                    'responseTopic' => '<string>',
                    'userProperties' => [
                        [
                            'key' => '<string>', // REQUIRED
                            'value' => '<string>', // REQUIRED
                        ],
                        // ...
                    ],
                ],
                'qos' => <integer>,
                'roleArn' => '<string>', // REQUIRED
                'topic' => '<string>', // REQUIRED
            ],
            's3' => [
                'bucketName' => '<string>', // REQUIRED
                'cannedAcl' => 'private|public-read|public-read-write|aws-exec-read|authenticated-read|bucket-owner-read|bucket-owner-full-control|log-delivery-write',
                'key' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
            ],
            'salesforce' => [
                'token' => '<string>', // REQUIRED
                'url' => '<string>', // REQUIRED
            ],
            'sns' => [
                'messageFormat' => 'RAW|JSON',
                'roleArn' => '<string>', // REQUIRED
                'targetArn' => '<string>', // REQUIRED
            ],
            'sqs' => [
                'queueUrl' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'useBase64' => true || false,
            ],
            'stepFunctions' => [
                'executionNamePrefix' => '<string>',
                'roleArn' => '<string>', // REQUIRED
                'stateMachineName' => '<string>', // REQUIRED
            ],
            'timestream' => [
                'databaseName' => '<string>', // REQUIRED
                'dimensions' => [ // REQUIRED
                    [
                        'name' => '<string>', // REQUIRED
                        'value' => '<string>', // REQUIRED
                    ],
                    // ...
                ],
                'roleArn' => '<string>', // REQUIRED
                'tableName' => '<string>', // REQUIRED
                'timestamp' => [
                    'unit' => '<string>', // REQUIRED
                    'value' => '<string>', // REQUIRED
                ],
            ],
        ],
        'ruleDisabled' => true || false,
        'sql' => '<string>', // REQUIRED
    ],
]);

Parameter Details

Members
ruleName
Required: Yes
Type: string

The name of the rule.

tags
Type: string

Metadata which can be used to manage the topic rule.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: --tags "key1=value1&key2=value2..."

For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."

topicRulePayload
Required: Yes
Type: TopicRulePayload structure

The rule payload.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

SqlParseException:

The Rule-SQL expression can't be parsed correctly.

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ResourceAlreadyExistsException:

The resource already exists.

ServiceUnavailableException:

The service is temporarily unavailable.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

CreateTopicRuleDestination

$result = $client->createTopicRuleDestination([/* ... */]);
$promise = $client->createTopicRuleDestinationAsync([/* ... */]);

Creates a topic rule destination. The destination must be confirmed prior to use.

Requires permission to access the CreateTopicRuleDestination action.

Parameter Syntax

$result = $client->createTopicRuleDestination([
    'destinationConfiguration' => [ // REQUIRED
        'httpUrlConfiguration' => [
            'confirmationUrl' => '<string>', // REQUIRED
        ],
        'vpcConfiguration' => [
            'roleArn' => '<string>', // REQUIRED
            'securityGroups' => ['<string>', ...],
            'subnetIds' => ['<string>', ...], // REQUIRED
            'vpcId' => '<string>', // REQUIRED
        ],
    ],
]);

Parameter Details

Members
destinationConfiguration
Required: Yes
Type: TopicRuleDestinationConfiguration structure

The topic rule destination configuration.

Result Syntax

[
    'topicRuleDestination' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'httpUrlProperties' => [
            'confirmationUrl' => '<string>',
        ],
        'lastUpdatedAt' => <DateTime>,
        'status' => 'ENABLED|IN_PROGRESS|DISABLED|ERROR|DELETING',
        'statusReason' => '<string>',
        'vpcProperties' => [
            'roleArn' => '<string>',
            'securityGroups' => ['<string>', ...],
            'subnetIds' => ['<string>', ...],
            'vpcId' => '<string>',
        ],
    ],
]

Result Details

Members
topicRuleDestination
Type: TopicRuleDestination structure

The topic rule destination.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ResourceAlreadyExistsException:

The resource already exists.

ServiceUnavailableException:

The service is temporarily unavailable.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

DeleteAccountAuditConfiguration

$result = $client->deleteAccountAuditConfiguration([/* ... */]);
$promise = $client->deleteAccountAuditConfigurationAsync([/* ... */]);

Restores the default settings for Device Defender audits for this account. Any configuration data you entered is deleted and all audit checks are reset to disabled.

Requires permission to access the DeleteAccountAuditConfiguration action.

Parameter Syntax

$result = $client->deleteAccountAuditConfiguration([
    'deleteScheduledAudits' => true || false,
]);

Parameter Details

Members
deleteScheduledAudits
Type: boolean

If true, all scheduled audits are deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DeleteAuditSuppression

$result = $client->deleteAuditSuppression([/* ... */]);
$promise = $client->deleteAuditSuppressionAsync([/* ... */]);

Deletes a Device Defender audit suppression.

Requires permission to access the DeleteAuditSuppression action.

Parameter Syntax

$result = $client->deleteAuditSuppression([
    'checkName' => '<string>', // REQUIRED
    'resourceIdentifier' => [ // REQUIRED
        'account' => '<string>',
        'caCertificateId' => '<string>',
        'clientId' => '<string>',
        'cognitoIdentityPoolId' => '<string>',
        'deviceCertificateArn' => '<string>',
        'deviceCertificateId' => '<string>',
        'iamRoleArn' => '<string>',
        'issuerCertificateIdentifier' => [
            'issuerCertificateSerialNumber' => '<string>',
            'issuerCertificateSubject' => '<string>',
            'issuerId' => '<string>',
        ],
        'policyVersionIdentifier' => [
            'policyName' => '<string>',
            'policyVersionId' => '<string>',
        ],
        'roleAliasArn' => '<string>',
    ],
]);

Parameter Details

Members
checkName
Required: Yes
Type: string

An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

resourceIdentifier
Required: Yes
Type: ResourceIdentifier structure

Information that identifies the noncompliant resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DeleteAuthorizer

$result = $client->deleteAuthorizer([/* ... */]);
$promise = $client->deleteAuthorizerAsync([/* ... */]);

Deletes an authorizer.

Requires permission to access the DeleteAuthorizer action.

Parameter Syntax

$result = $client->deleteAuthorizer([
    'authorizerName' => '<string>', // REQUIRED
]);

Parameter Details

Members
authorizerName
Required: Yes
Type: string

The name of the authorizer to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

DeleteConflictException:

You can't delete the resource because it is attached to one or more resources.

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DeleteBillingGroup

$result = $client->deleteBillingGroup([/* ... */]);
$promise = $client->deleteBillingGroupAsync([/* ... */]);

Deletes the billing group.

Requires permission to access the DeleteBillingGroup action.

Parameter Syntax

$result = $client->deleteBillingGroup([
    'billingGroupName' => '<string>', // REQUIRED
    'expectedVersion' => <integer>,
]);

Parameter Details

Members
billingGroupName
Required: Yes
Type: string

The name of the billing group.

expectedVersion
Type: long (int|float)

The expected version of the billing group. If the version of the billing group does not match the expected version specified in the request, the DeleteBillingGroup request is rejected with a VersionConflictException.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DeleteCACertificate

$result = $client->deleteCACertificate([/* ... */]);
$promise = $client->deleteCACertificateAsync([/* ... */]);

Deletes a registered CA certificate.

Requires permission to access the DeleteCACertificate action.

Parameter Syntax

$result = $client->deleteCACertificate([
    'certificateId' => '<string>', // REQUIRED
]);

Parameter Details

Members
certificateId
Required: Yes
Type: string

The ID of the certificate to delete. (The last part of the certificate ARN contains the certificate ID.)

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

CertificateStateException:

The certificate operation is not allowed.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

DeleteCertificate

$result = $client->deleteCertificate([/* ... */]);
$promise = $client->deleteCertificateAsync([/* ... */]);

Deletes the specified certificate.

A certificate cannot be deleted if it has a policy or IoT thing attached to it or if its status is set to ACTIVE. To delete a certificate, first use the DetachPolicy action to detach all policies. Next, use the UpdateCertificate action to set the certificate to the INACTIVE status.

Requires permission to access the DeleteCertificate action.

Parameter Syntax

$result = $client->deleteCertificate([
    'certificateId' => '<string>', // REQUIRED
    'forceDelete' => true || false,
]);

Parameter Details

Members
certificateId
Required: Yes
Type: string

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

forceDelete
Type: boolean

Forces the deletion of a certificate if it is inactive and is not attached to an IoT thing.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

CertificateStateException:

The certificate operation is not allowed.

DeleteConflictException:

You can't delete the resource because it is attached to one or more resources.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

DeleteCertificateProvider

$result = $client->deleteCertificateProvider([/* ... */]);
$promise = $client->deleteCertificateProviderAsync([/* ... */]);

Deletes a certificate provider.

Requires permission to access the DeleteCertificateProvider action.

If you delete the certificate provider resource, the behavior of CreateCertificateFromCsr will resume, and IoT will create certificates signed by IoT from a certificate signing request (CSR).

Parameter Syntax

$result = $client->deleteCertificateProvider([
    'certificateProviderName' => '<string>', // REQUIRED
]);

Parameter Details

Members
certificateProviderName
Required: Yes
Type: string

The name of the certificate provider.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

DeleteConflictException:

You can't delete the resource because it is attached to one or more resources.

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DeleteCustomMetric

$result = $client->deleteCustomMetric([/* ... */]);
$promise = $client->deleteCustomMetricAsync([/* ... */]);

Deletes a Device Defender detect custom metric.

Requires permission to access the DeleteCustomMetric action.

Before you can delete a custom metric, you must first remove the custom metric from all security profiles it's a part of. The security profile associated with the custom metric can be found using the ListSecurityProfiles API with metricName set to your custom metric name.

Parameter Syntax

$result = $client->deleteCustomMetric([
    'metricName' => '<string>', // REQUIRED
]);

Parameter Details

Members
metricName
Required: Yes
Type: string

The name of the custom metric.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DeleteDimension

$result = $client->deleteDimension([/* ... */]);
$promise = $client->deleteDimensionAsync([/* ... */]);

Removes the specified dimension from your Amazon Web Services accounts.

Requires permission to access the DeleteDimension action.

Parameter Syntax

$result = $client->deleteDimension([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The unique identifier for the dimension that you want to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

DeleteDomainConfiguration

$result = $client->deleteDomainConfiguration([/* ... */]);
$promise = $client->deleteDomainConfigurationAsync([/* ... */]);

Deletes the specified domain configuration.

Requires permission to access the DeleteDomainConfiguration action.

Parameter Syntax

$result = $client->deleteDomainConfiguration([
    'domainConfigurationName' => '<string>', // REQUIRED
]);

Parameter Details

Members
domainConfigurationName
Required: Yes
Type: string

The name of the domain configuration to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

DeleteDynamicThingGroup

$result = $client->deleteDynamicThingGroup([/* ... */]);
$promise = $client->deleteDynamicThingGroupAsync([/* ... */]);

Deletes a dynamic thing group.

Requires permission to access the DeleteDynamicThingGroup action.

Parameter Syntax

$result = $client->deleteDynamicThingGroup([
    'expectedVersion' => <integer>,
    'thingGroupName' => '<string>', // REQUIRED
]);

Parameter Details

Members
expectedVersion
Type: long (int|float)

The expected version of the dynamic thing group to delete.

thingGroupName
Required: Yes
Type: string

The name of the dynamic thing group to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DeleteFleetMetric

$result = $client->deleteFleetMetric([/* ... */]);
$promise = $client->deleteFleetMetricAsync([/* ... */]);

Deletes the specified fleet metric. Returns successfully with no error if the deletion is successful or you specify a fleet metric that doesn't exist.

Requires permission to access the DeleteFleetMetric action.

Parameter Syntax

$result = $client->deleteFleetMetric([
    'expectedVersion' => <integer>,
    'metricName' => '<string>', // REQUIRED
]);

Parameter Details

Members
expectedVersion
Type: long (int|float)

The expected version of the fleet metric to delete.

metricName
Required: Yes
Type: string

The name of the fleet metric to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

DeleteJob

$result = $client->deleteJob([/* ... */]);
$promise = $client->deleteJobAsync([/* ... */]);

Deletes a job and its related job executions.

Deleting a job may take time, depending on the number of job executions created for the job and various other factors. While the job is being deleted, the status of the job will be shown as "DELETION_IN_PROGRESS". Attempting to delete or cancel a job whose status is already "DELETION_IN_PROGRESS" will result in an error.

Only 10 jobs may have status "DELETION_IN_PROGRESS" at the same time, or a LimitExceededException will occur.

Requires permission to access the DeleteJob action.

Parameter Syntax

$result = $client->deleteJob([
    'force' => true || false,
    'jobId' => '<string>', // REQUIRED
    'namespaceId' => '<string>',
]);

Parameter Details

Members
force
Type: boolean

(Optional) When true, you can delete a job which is "IN_PROGRESS". Otherwise, you can only delete a job which is in a terminal state ("COMPLETED" or "CANCELED") or an exception will occur. The default is false.

Deleting a job which is "IN_PROGRESS", will cause a device which is executing the job to be unable to access job information or update the job execution status. Use caution and ensure that each device executing a job which is deleted is able to recover to a valid state.

jobId
Required: Yes
Type: string

The ID of the job to be deleted.

After a job deletion is completed, you may reuse this jobId when you create a new job. However, this is not recommended, and you must ensure that your devices are not using the jobId to refer to the deleted job.

namespaceId
Type: string

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

InvalidStateTransitionException:

An attempt was made to change to an invalid state, for example by deleting a job or a job execution which is "IN_PROGRESS" without setting the force parameter.

ResourceNotFoundException:

The specified resource does not exist.

LimitExceededException:

A limit has been exceeded.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

DeleteJobExecution

$result = $client->deleteJobExecution([/* ... */]);
$promise = $client->deleteJobExecutionAsync([/* ... */]);

Deletes a job execution.

Requires permission to access the DeleteJobExecution action.

Parameter Syntax

$result = $client->deleteJobExecution([
    'executionNumber' => <integer>, // REQUIRED
    'force' => true || false,
    'jobId' => '<string>', // REQUIRED
    'namespaceId' => '<string>',
    'thingName' => '<string>', // REQUIRED
]);

Parameter Details

Members
executionNumber
Required: Yes
Type: long (int|float)

The ID of the job execution to be deleted. The executionNumber refers to the execution of a particular job on a particular device.

Note that once a job execution is deleted, the executionNumber may be reused by IoT, so be sure you get and use the correct value here.

force
Type: boolean

(Optional) When true, you can delete a job execution which is "IN_PROGRESS". Otherwise, you can only delete a job execution which is in a terminal state ("SUCCEEDED", "FAILED", "REJECTED", "REMOVED" or "CANCELED") or an exception will occur. The default is false.

Deleting a job execution which is "IN_PROGRESS", will cause the device to be unable to access job information or update the job execution status. Use caution and ensure that the device is able to recover to a valid state.

jobId
Required: Yes
Type: string

The ID of the job whose execution on a particular device will be deleted.

namespaceId
Type: string

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

thingName
Required: Yes
Type: string

The name of the thing whose job execution will be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

InvalidStateTransitionException:

An attempt was made to change to an invalid state, for example by deleting a job or a job execution which is "IN_PROGRESS" without setting the force parameter.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

DeleteJobTemplate

$result = $client->deleteJobTemplate([/* ... */]);
$promise = $client->deleteJobTemplateAsync([/* ... */]);

Deletes the specified job template.

Parameter Syntax

$result = $client->deleteJobTemplate([
    'jobTemplateId' => '<string>', // REQUIRED
]);

Parameter Details

Members
jobTemplateId
Required: Yes
Type: string

The unique identifier of the job template to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DeleteMitigationAction

$result = $client->deleteMitigationAction([/* ... */]);
$promise = $client->deleteMitigationActionAsync([/* ... */]);

Deletes a defined mitigation action from your Amazon Web Services accounts.

Requires permission to access the DeleteMitigationAction action.

Parameter Syntax

$result = $client->deleteMitigationAction([
    'actionName' => '<string>', // REQUIRED
]);

Parameter Details

Members
actionName
Required: Yes
Type: string

The name of the mitigation action that you want to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DeleteOTAUpdate

$result = $client->deleteOTAUpdate([/* ... */]);
$promise = $client->deleteOTAUpdateAsync([/* ... */]);

Delete an OTA update.

Requires permission to access the DeleteOTAUpdate action.

Parameter Syntax

$result = $client->deleteOTAUpdate([
    'deleteStream' => true || false,
    'forceDeleteAWSJob' => true || false,
    'otaUpdateId' => '<string>', // REQUIRED
]);

Parameter Details

Members
deleteStream
Type: boolean

When true, the stream created by the OTAUpdate process is deleted when the OTA update is deleted. Ignored if the stream specified in the OTAUpdate is supplied by the user.

forceDeleteAWSJob
Type: boolean

When true, deletes the IoT job created by the OTAUpdate process even if it is "IN_PROGRESS". Otherwise, if the job is not in a terminal state ("COMPLETED" or "CANCELED") an exception will occur. The default is false.

otaUpdateId
Required: Yes
Type: string

The ID of the OTA update to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

InternalFailureException:

An unexpected error has occurred.

ServiceUnavailableException:

The service is temporarily unavailable.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

DeletePackage

$result = $client->deletePackage([/* ... */]);
$promise = $client->deletePackageAsync([/* ... */]);

Deletes a specific version from a software package.

Note: All package versions must be deleted before deleting the software package.

Requires permission to access the DeletePackageVersion action.

Parameter Syntax

$result = $client->deletePackage([
    'clientToken' => '<string>',
    'packageName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

packageName
Required: Yes
Type: string

The name of the target software package.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ValidationException:

The request is not valid.

DeletePackageVersion

$result = $client->deletePackageVersion([/* ... */]);
$promise = $client->deletePackageVersionAsync([/* ... */]);

Deletes a specific version from a software package.

Note: If a package version is designated as default, you must remove the designation from the software package using the UpdatePackage action.

Parameter Syntax

$result = $client->deletePackageVersion([
    'clientToken' => '<string>',
    'packageName' => '<string>', // REQUIRED
    'versionName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

packageName
Required: Yes
Type: string

The name of the associated software package.

versionName
Required: Yes
Type: string

The name of the target package version.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ValidationException:

The request is not valid.

DeletePolicy

$result = $client->deletePolicy([/* ... */]);
$promise = $client->deletePolicyAsync([/* ... */]);

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 action to delete all non-default versions of the policy; use the DetachPolicy action to detach the policy from any certificate; and then use the DeletePolicy action to delete the policy.

When a policy is deleted using DeletePolicy, its default version is deleted with it.

Because of the distributed nature of Amazon Web Services, it can take up to five minutes after a policy is detached before it's ready to be deleted.

Requires permission to access the DeletePolicy action.

Parameter Syntax

$result = $client->deletePolicy([
    'policyName' => '<string>', // REQUIRED
]);

Parameter Details

Members
policyName
Required: Yes
Type: string

The name of the policy to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

DeleteConflictException:

You can't delete the resource because it is attached to one or more resources.

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DeletePolicyVersion

$result = $client->deletePolicyVersion([/* ... */]);
$promise = $client->deletePolicyVersionAsync([/* ... */]);

Deletes the specified version of the specified policy. You cannot delete the default version of a policy using this action. 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.

Requires permission to access the DeletePolicyVersion action.

Parameter Syntax

$result = $client->deletePolicyVersion([
    'policyName' => '<string>', // REQUIRED
    'policyVersionId' => '<string>', // REQUIRED
]);

Parameter Details

Members
policyName
Required: Yes
Type: string

The name of the policy.

policyVersionId
Required: Yes
Type: string

The policy version ID.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

DeleteConflictException:

You can't delete the resource because it is attached to one or more resources.

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DeleteProvisioningTemplate

$result = $client->deleteProvisioningTemplate([/* ... */]);
$promise = $client->deleteProvisioningTemplateAsync([/* ... */]);

Deletes a provisioning template.

Requires permission to access the DeleteProvisioningTemplate action.

Parameter Syntax

$result = $client->deleteProvisioningTemplate([
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
templateName
Required: Yes
Type: string

The name of the fleet provision template to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

DeleteConflictException:

You can't delete the resource because it is attached to one or more resources.

ThrottlingException:

The rate exceeds the limit.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

UnauthorizedException:

You are not authorized to perform this operation.

DeleteProvisioningTemplateVersion

$result = $client->deleteProvisioningTemplateVersion([/* ... */]);
$promise = $client->deleteProvisioningTemplateVersionAsync([/* ... */]);

Deletes a provisioning template version.

Requires permission to access the DeleteProvisioningTemplateVersion action.

Parameter Syntax

$result = $client->deleteProvisioningTemplateVersion([
    'templateName' => '<string>', // REQUIRED
    'versionId' => <integer>, // REQUIRED
]);

Parameter Details

Members
templateName
Required: Yes
Type: string

The name of the provisioning template version to delete.

versionId
Required: Yes
Type: int

The provisioning template version ID to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

ResourceNotFoundException:

The specified resource does not exist.

UnauthorizedException:

You are not authorized to perform this operation.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

DeleteConflictException:

You can't delete the resource because it is attached to one or more resources.

DeleteRegistrationCode

$result = $client->deleteRegistrationCode([/* ... */]);
$promise = $client->deleteRegistrationCodeAsync([/* ... */]);

Deletes a CA certificate registration code.

Requires permission to access the DeleteRegistrationCode action.

Parameter Syntax

$result = $client->deleteRegistrationCode([
]);

Parameter Details

Members

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

The rate exceeds the limit.

ResourceNotFoundException:

The specified resource does not exist.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DeleteRoleAlias

$result = $client->deleteRoleAlias([/* ... */]);
$promise = $client->deleteRoleAliasAsync([/* ... */]);

Deletes a role alias

Requires permission to access the DeleteRoleAlias action.

Parameter Syntax

$result = $client->deleteRoleAlias([
    'roleAlias' => '<string>', // REQUIRED
]);

Parameter Details

Members
roleAlias
Required: Yes
Type: string

The role alias to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

DeleteConflictException:

You can't delete the resource because it is attached to one or more resources.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

DeleteScheduledAudit

$result = $client->deleteScheduledAudit([/* ... */]);
$promise = $client->deleteScheduledAuditAsync([/* ... */]);

Deletes a scheduled audit.

Requires permission to access the DeleteScheduledAudit action.

Parameter Syntax

$result = $client->deleteScheduledAudit([
    'scheduledAuditName' => '<string>', // REQUIRED
]);

Parameter Details

Members
scheduledAuditName
Required: Yes
Type: string

The name of the scheduled audit you want to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DeleteSecurityProfile

$result = $client->deleteSecurityProfile([/* ... */]);
$promise = $client->deleteSecurityProfileAsync([/* ... */]);

Deletes a Device Defender security profile.

Requires permission to access the DeleteSecurityProfile action.

Parameter Syntax

$result = $client->deleteSecurityProfile([
    'expectedVersion' => <integer>,
    'securityProfileName' => '<string>', // REQUIRED
]);

Parameter Details

Members
expectedVersion
Type: long (int|float)

The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a VersionConflictException is thrown.

securityProfileName
Required: Yes
Type: string

The name of the security profile to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

DeleteStream

$result = $client->deleteStream([/* ... */]);
$promise = $client->deleteStreamAsync([/* ... */]);

Deletes a stream.

Requires permission to access the DeleteStream action.

Parameter Syntax

$result = $client->deleteStream([
    'streamId' => '<string>', // REQUIRED
]);

Parameter Details

Members
streamId
Required: Yes
Type: string

The stream ID.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

DeleteConflictException:

You can't delete the resource because it is attached to one or more resources.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DeleteThing

$result = $client->deleteThing([/* ... */]);
$promise = $client->deleteThingAsync([/* ... */]);

Deletes the specified thing. Returns successfully with no error if the deletion is successful or you specify a thing that doesn't exist.

Requires permission to access the DeleteThing action.

Parameter Syntax

$result = $client->deleteThing([
    'expectedVersion' => <integer>,
    'thingName' => '<string>', // REQUIRED
]);

Parameter Details

Members
expectedVersion
Type: long (int|float)

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.

thingName
Required: Yes
Type: string

The name of the thing to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DeleteThingGroup

$result = $client->deleteThingGroup([/* ... */]);
$promise = $client->deleteThingGroupAsync([/* ... */]);

Deletes a thing group.

Requires permission to access the DeleteThingGroup action.

Parameter Syntax

$result = $client->deleteThingGroup([
    'expectedVersion' => <integer>,
    'thingGroupName' => '<string>', // REQUIRED
]);

Parameter Details

Members
expectedVersion
Type: long (int|float)

The expected version of the thing group to delete.

thingGroupName
Required: Yes
Type: string

The name of the thing group to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DeleteThingType

$result = $client->deleteThingType([/* ... */]);
$promise = $client->deleteThingTypeAsync([/* ... */]);

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.

Requires permission to access the DeleteThingType action.

Parameter Syntax

$result = $client->deleteThingType([
    'thingTypeName' => '<string>', // REQUIRED
]);

Parameter Details

Members
thingTypeName
Required: Yes
Type: string

The name of the thing type.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DeleteTopicRule

$result = $client->deleteTopicRule([/* ... */]);
$promise = $client->deleteTopicRuleAsync([/* ... */]);

Deletes the rule.

Requires permission to access the DeleteTopicRule action.

Parameter Syntax

$result = $client->deleteTopicRule([
    'ruleName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ruleName
Required: Yes
Type: string

The name of the rule.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

UnauthorizedException:

You are not authorized to perform this operation.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

DeleteTopicRuleDestination

$result = $client->deleteTopicRuleDestination([/* ... */]);
$promise = $client->deleteTopicRuleDestinationAsync([/* ... */]);

Deletes a topic rule destination.

Requires permission to access the DeleteTopicRuleDestination action.

Parameter Syntax

$result = $client->deleteTopicRuleDestination([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

The ARN of the topic rule destination to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

UnauthorizedException:

You are not authorized to perform this operation.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

DeleteV2LoggingLevel

$result = $client->deleteV2LoggingLevel([/* ... */]);
$promise = $client->deleteV2LoggingLevelAsync([/* ... */]);

Deletes a logging level.

Requires permission to access the DeleteV2LoggingLevel action.

Parameter Syntax

$result = $client->deleteV2LoggingLevel([
    'targetName' => '<string>', // REQUIRED
    'targetType' => 'DEFAULT|THING_GROUP|CLIENT_ID|SOURCE_IP|PRINCIPAL_ID', // REQUIRED
]);

Parameter Details

Members
targetName
Required: Yes
Type: string

The name of the resource for which you are configuring logging.

targetType
Required: Yes
Type: string

The type of resource for which you are configuring logging. Must be THING_Group.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

DeprecateThingType

$result = $client->deprecateThingType([/* ... */]);
$promise = $client->deprecateThingTypeAsync([/* ... */]);

Deprecates a thing type. You can not associate new things with deprecated thing type.

Requires permission to access the DeprecateThingType action.

Parameter Syntax

$result = $client->deprecateThingType([
    'thingTypeName' => '<string>', // REQUIRED
    'undoDeprecate' => true || false,
]);

Parameter Details

Members
thingTypeName
Required: Yes
Type: string

The name of the thing type to deprecate.

undoDeprecate
Type: boolean

Whether to undeprecate a deprecated thing type. If true, the thing type will not be deprecated anymore and you can associate it with things.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DescribeAccountAuditConfiguration

$result = $client->describeAccountAuditConfiguration([/* ... */]);
$promise = $client->describeAccountAuditConfigurationAsync([/* ... */]);

Gets information about the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.

Requires permission to access the DescribeAccountAuditConfiguration action.

Parameter Syntax

$result = $client->describeAccountAuditConfiguration([
]);

Parameter Details

Members

Result Syntax

[
    'auditCheckConfigurations' => [
        '<AuditCheckName>' => [
            'enabled' => true || false,
        ],
        // ...
    ],
    'auditNotificationTargetConfigurations' => [
        '<AuditNotificationType>' => [
            'enabled' => true || false,
            'roleArn' => '<string>',
            'targetArn' => '<string>',
        ],
        // ...
    ],
    'roleArn' => '<string>',
]

Result Details

Members
auditCheckConfigurations
Type: Associative array of custom strings keys (AuditCheckName) to AuditCheckConfiguration structures

Which audit checks are enabled and disabled for this account.

auditNotificationTargetConfigurations
Type: Associative array of custom strings keys (AuditNotificationType) to AuditNotificationTarget structures

Information about the targets to which audit notifications are sent for this account.

roleArn
Type: string

The ARN of the role that grants permission to IoT to access information about your devices, policies, certificates, and other items as required when performing an audit.

On the first call to UpdateAccountAuditConfiguration, this parameter is required.

Errors

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DescribeAuditFinding

$result = $client->describeAuditFinding([/* ... */]);
$promise = $client->describeAuditFindingAsync([/* ... */]);

Gets information about a single audit finding. Properties include the reason for noncompliance, the severity of the issue, and the start time when the audit that returned the finding.

Requires permission to access the DescribeAuditFinding action.

Parameter Syntax

$result = $client->describeAuditFinding([
    'findingId' => '<string>', // REQUIRED
]);

Parameter Details

Members
findingId
Required: Yes
Type: string

A unique identifier for a single audit finding. You can use this identifier to apply mitigation actions to the finding.

Result Syntax

[
    'finding' => [
        'checkName' => '<string>',
        'findingId' => '<string>',
        'findingTime' => <DateTime>,
        'isSuppressed' => true || false,
        'nonCompliantResource' => [
            'additionalInfo' => ['<string>', ...],
            'resourceIdentifier' => [
                'account' => '<string>',
                'caCertificateId' => '<string>',
                'clientId' => '<string>',
                'cognitoIdentityPoolId' => '<string>',
                'deviceCertificateArn' => '<string>',
                'deviceCertificateId' => '<string>',
                'iamRoleArn' => '<string>',
                'issuerCertificateIdentifier' => [
                    'issuerCertificateSerialNumber' => '<string>',
                    'issuerCertificateSubject' => '<string>',
                    'issuerId' => '<string>',
                ],
                'policyVersionIdentifier' => [
                    'policyName' => '<string>',
                    'policyVersionId' => '<string>',
                ],
                'roleAliasArn' => '<string>',
            ],
            'resourceType' => 'DEVICE_CERTIFICATE|CA_CERTIFICATE|IOT_POLICY|COGNITO_IDENTITY_POOL|CLIENT_ID|ACCOUNT_SETTINGS|ROLE_ALIAS|IAM_ROLE|ISSUER_CERTIFICATE',
        ],
        'reasonForNonCompliance' => '<string>',
        'reasonForNonComplianceCode' => '<string>',
        'relatedResources' => [
            [
                'additionalInfo' => ['<string>', ...],
                'resourceIdentifier' => [
                    'account' => '<string>',
                    'caCertificateId' => '<string>',
                    'clientId' => '<string>',
                    'cognitoIdentityPoolId' => '<string>',
                    'deviceCertificateArn' => '<string>',
                    'deviceCertificateId' => '<string>',
                    'iamRoleArn' => '<string>',
                    'issuerCertificateIdentifier' => [
                        'issuerCertificateSerialNumber' => '<string>',
                        'issuerCertificateSubject' => '<string>',
                        'issuerId' => '<string>',
                    ],
                    'policyVersionIdentifier' => [
                        'policyName' => '<string>',
                        'policyVersionId' => '<string>',
                    ],
                    'roleAliasArn' => '<string>',
                ],
                'resourceType' => 'DEVICE_CERTIFICATE|CA_CERTIFICATE|IOT_POLICY|COGNITO_IDENTITY_POOL|CLIENT_ID|ACCOUNT_SETTINGS|ROLE_ALIAS|IAM_ROLE|ISSUER_CERTIFICATE',
            ],
            // ...
        ],
        'severity' => 'CRITICAL|HIGH|MEDIUM|LOW',
        'taskId' => '<string>',
        'taskStartTime' => <DateTime>,
    ],
]

Result Details

Members
finding
Type: AuditFinding structure

The findings (results) of the audit.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DescribeAuditMitigationActionsTask

$result = $client->describeAuditMitigationActionsTask([/* ... */]);
$promise = $client->describeAuditMitigationActionsTaskAsync([/* ... */]);

Gets information about an audit mitigation task that is used to apply mitigation actions to a set of audit findings. Properties include the actions being applied, the audit checks to which they're being applied, the task status, and aggregated task statistics.

Parameter Syntax

$result = $client->describeAuditMitigationActionsTask([
    'taskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
taskId
Required: Yes
Type: string

The unique identifier for the audit mitigation task.

Result Syntax

[
    'actionsDefinition' => [
        [
            'actionParams' => [
                'addThingsToThingGroupParams' => [
                    'overrideDynamicGroups' => true || false,
                    'thingGroupNames' => ['<string>', ...],
                ],
                'enableIoTLoggingParams' => [
                    'logLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED',
                    'roleArnForLogging' => '<string>',
                ],
                'publishFindingToSnsParams' => [
                    'topicArn' => '<string>',
                ],
                'replaceDefaultPolicyVersionParams' => [
                    'templateName' => 'BLANK_POLICY',
                ],
                'updateCACertificateParams' => [
                    'action' => 'DEACTIVATE',
                ],
                'updateDeviceCertificateParams' => [
                    'action' => 'DEACTIVATE',
                ],
            ],
            'id' => '<string>',
            'name' => '<string>',
            'roleArn' => '<string>',
        ],
        // ...
    ],
    'auditCheckToActionsMapping' => [
        '<AuditCheckName>' => ['<string>', ...],
        // ...
    ],
    'endTime' => <DateTime>,
    'startTime' => <DateTime>,
    'target' => [
        'auditCheckToReasonCodeFilter' => [
            '<AuditCheckName>' => ['<string>', ...],
            // ...
        ],
        'auditTaskId' => '<string>',
        'findingIds' => ['<string>', ...],
    ],
    'taskStatistics' => [
        '<AuditCheckName>' => [
            'canceledFindingsCount' => <integer>,
            'failedFindingsCount' => <integer>,
            'skippedFindingsCount' => <integer>,
            'succeededFindingsCount' => <integer>,
            'totalFindingsCount' => <integer>,
        ],
        // ...
    ],
    'taskStatus' => 'IN_PROGRESS|COMPLETED|FAILED|CANCELED',
]

Result Details

Members
actionsDefinition
Type: Array of MitigationAction structures

Specifies the mitigation actions and their parameters that are applied as part of this task.

auditCheckToActionsMapping
Type: Associative array of custom strings keys (AuditCheckName) to stringss

Specifies the mitigation actions that should be applied to specific audit checks.

endTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the task was completed or canceled.

startTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the task was started.

target

Identifies the findings to which the mitigation actions are applied. This can be by audit checks, by audit task, or a set of findings.

taskStatistics
Type: Associative array of custom strings keys (AuditCheckName) to TaskStatisticsForAuditCheck structures

Aggregate counts of the results when the mitigation tasks were applied to the findings for this audit mitigation actions task.

taskStatus
Type: string

The current status of the task.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DescribeAuditSuppression

$result = $client->describeAuditSuppression([/* ... */]);
$promise = $client->describeAuditSuppressionAsync([/* ... */]);

Gets information about a Device Defender audit suppression.

Parameter Syntax

$result = $client->describeAuditSuppression([
    'checkName' => '<string>', // REQUIRED
    'resourceIdentifier' => [ // REQUIRED
        'account' => '<string>',
        'caCertificateId' => '<string>',
        'clientId' => '<string>',
        'cognitoIdentityPoolId' => '<string>',
        'deviceCertificateArn' => '<string>',
        'deviceCertificateId' => '<string>',
        'iamRoleArn' => '<string>',
        'issuerCertificateIdentifier' => [
            'issuerCertificateSerialNumber' => '<string>',
            'issuerCertificateSubject' => '<string>',
            'issuerId' => '<string>',
        ],
        'policyVersionIdentifier' => [
            'policyName' => '<string>',
            'policyVersionId' => '<string>',
        ],
        'roleAliasArn' => '<string>',
    ],
]);

Parameter Details

Members
checkName
Required: Yes
Type: string

An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

resourceIdentifier
Required: Yes
Type: ResourceIdentifier structure

Information that identifies the noncompliant resource.

Result Syntax

[
    'checkName' => '<string>',
    'description' => '<string>',
    'expirationDate' => <DateTime>,
    'resourceIdentifier' => [
        'account' => '<string>',
        'caCertificateId' => '<string>',
        'clientId' => '<string>',
        'cognitoIdentityPoolId' => '<string>',
        'deviceCertificateArn' => '<string>',
        'deviceCertificateId' => '<string>',
        'iamRoleArn' => '<string>',
        'issuerCertificateIdentifier' => [
            'issuerCertificateSerialNumber' => '<string>',
            'issuerCertificateSubject' => '<string>',
            'issuerId' => '<string>',
        ],
        'policyVersionIdentifier' => [
            'policyName' => '<string>',
            'policyVersionId' => '<string>',
        ],
        'roleAliasArn' => '<string>',
    ],
    'suppressIndefinitely' => true || false,
]

Result Details

Members
checkName
Type: string

An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

description
Type: string

The description of the audit suppression.

expirationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The epoch timestamp in seconds at which this suppression expires.

resourceIdentifier
Type: ResourceIdentifier structure

Information that identifies the noncompliant resource.

suppressIndefinitely
Type: boolean

Indicates whether a suppression should exist indefinitely or not.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DescribeAuditTask

$result = $client->describeAuditTask([/* ... */]);
$promise = $client->describeAuditTaskAsync([/* ... */]);

Gets information about a Device Defender audit.

Requires permission to access the DescribeAuditTask action.

Parameter Syntax

$result = $client->describeAuditTask([
    'taskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
taskId
Required: Yes
Type: string

The ID of the audit whose information you want to get.

Result Syntax

[
    'auditDetails' => [
        '<AuditCheckName>' => [
            'checkCompliant' => true || false,
            'checkRunStatus' => 'IN_PROGRESS|WAITING_FOR_DATA_COLLECTION|CANCELED|COMPLETED_COMPLIANT|COMPLETED_NON_COMPLIANT|FAILED',
            'errorCode' => '<string>',
            'message' => '<string>',
            'nonCompliantResourcesCount' => <integer>,
            'suppressedNonCompliantResourcesCount' => <integer>,
            'totalResourcesCount' => <integer>,
        ],
        // ...
    ],
    'scheduledAuditName' => '<string>',
    'taskStartTime' => <DateTime>,
    'taskStatistics' => [
        'canceledChecks' => <integer>,
        'compliantChecks' => <integer>,
        'failedChecks' => <integer>,
        'inProgressChecks' => <integer>,
        'nonCompliantChecks' => <integer>,
        'totalChecks' => <integer>,
        'waitingForDataCollectionChecks' => <integer>,
    ],
    'taskStatus' => 'IN_PROGRESS|COMPLETED|FAILED|CANCELED',
    'taskType' => 'ON_DEMAND_AUDIT_TASK|SCHEDULED_AUDIT_TASK',
]

Result Details

Members
auditDetails
Type: Associative array of custom strings keys (AuditCheckName) to AuditCheckDetails structures

Detailed information about each check performed during this audit.

scheduledAuditName
Type: string

The name of the scheduled audit (only if the audit was a scheduled audit).

taskStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the audit started.

taskStatistics
Type: TaskStatistics structure

Statistical information about the audit.

taskStatus
Type: string

The status of the audit: one of "IN_PROGRESS", "COMPLETED", "FAILED", or "CANCELED".

taskType
Type: string

The type of audit: "ON_DEMAND_AUDIT_TASK" or "SCHEDULED_AUDIT_TASK".

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DescribeAuthorizer

$result = $client->describeAuthorizer([/* ... */]);
$promise = $client->describeAuthorizerAsync([/* ... */]);

Describes an authorizer.

Requires permission to access the DescribeAuthorizer action.

Parameter Syntax

$result = $client->describeAuthorizer([
    'authorizerName' => '<string>', // REQUIRED
]);

Parameter Details

Members
authorizerName
Required: Yes
Type: string

The name of the authorizer to describe.

Result Syntax

[
    'authorizerDescription' => [
        'authorizerArn' => '<string>',
        'authorizerFunctionArn' => '<string>',
        'authorizerName' => '<string>',
        'creationDate' => <DateTime>,
        'enableCachingForHttp' => true || false,
        'lastModifiedDate' => <DateTime>,
        'signingDisabled' => true || false,
        'status' => 'ACTIVE|INACTIVE',
        'tokenKeyName' => '<string>',
        'tokenSigningPublicKeys' => ['<string>', ...],
    ],
]

Result Details

Members
authorizerDescription
Type: AuthorizerDescription structure

The authorizer description.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DescribeBillingGroup

$result = $client->describeBillingGroup([/* ... */]);
$promise = $client->describeBillingGroupAsync([/* ... */]);

Returns information about a billing group.

Requires permission to access the DescribeBillingGroup action.

Parameter Syntax

$result = $client->describeBillingGroup([
    'billingGroupName' => '<string>', // REQUIRED
]);

Parameter Details

Members
billingGroupName
Required: Yes
Type: string

The name of the billing group.

Result Syntax

[
    'billingGroupArn' => '<string>',
    'billingGroupId' => '<string>',
    'billingGroupMetadata' => [
        'creationDate' => <DateTime>,
    ],
    'billingGroupName' => '<string>',
    'billingGroupProperties' => [
        'billingGroupDescription' => '<string>',
    ],
    'version' => <integer>,
]

Result Details

Members
billingGroupArn
Type: string

The ARN of the billing group.

billingGroupId
Type: string

The ID of the billing group.

billingGroupMetadata
Type: BillingGroupMetadata structure

Additional information about the billing group.

billingGroupName
Type: string

The name of the billing group.

billingGroupProperties
Type: BillingGroupProperties structure

The properties of the billing group.

version
Type: long (int|float)

The version of the billing group.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

DescribeCACertificate

$result = $client->describeCACertificate([/* ... */]);
$promise = $client->describeCACertificateAsync([/* ... */]);

Describes a registered CA certificate.

Requires permission to access the DescribeCACertificate action.

Parameter Syntax

$result = $client->describeCACertificate([
    'certificateId' => '<string>', // REQUIRED
]);

Parameter Details

Members
certificateId
Required: Yes
Type: string

The CA certificate identifier.

Result Syntax

[
    'certificateDescription' => [
        'autoRegistrationStatus' => 'ENABLE|DISABLE',
        'certificateArn' => '<string>',
        'certificateId' => '<string>',
        'certificateMode' => 'DEFAULT|SNI_ONLY',
        'certificatePem' => '<string>',
        'creationDate' => <DateTime>,
        'customerVersion' => <integer>,
        'generationId' => '<string>',
        'lastModifiedDate' => <DateTime>,
        'ownedBy' => '<string>',
        'status' => 'ACTIVE|INACTIVE',
        'validity' => [
            'notAfter' => <DateTime>,
            'notBefore' => <DateTime>,
        ],
    ],
    'registrationConfig' => [
        'roleArn' => '<string>',
        'templateBody' => '<string>',
        'templateName' => '<string>',
    ],
]

Result Details

Members
certificateDescription
Type: CACertificateDescription structure

The CA certificate description.

registrationConfig
Type: RegistrationConfig structure

Information about the registration configuration.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

DescribeCertificate

$result = $client->describeCertificate([/* ... */]);
$promise = $client->describeCertificateAsync([/* ... */]);

Gets information about the specified certificate.

Requires permission to access the DescribeCertificate action.

Parameter Syntax

$result = $client->describeCertificate([
    'certificateId' => '<string>', // REQUIRED
]);

Parameter Details

Members
certificateId
Required: Yes
Type: string

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

Result Syntax

[
    'certificateDescription' => [
        'caCertificateId' => '<string>',
        'certificateArn' => '<string>',
        'certificateId' => '<string>',
        'certificateMode' => 'DEFAULT|SNI_ONLY',
        'certificatePem' => '<string>',
        'creationDate' => <DateTime>,
        'customerVersion' => <integer>,
        'generationId' => '<string>',
        'lastModifiedDate' => <DateTime>,
        'ownedBy' => '<string>',
        'previousOwnedBy' => '<string>',
        'status' => 'ACTIVE|INACTIVE|REVOKED|PENDING_TRANSFER|REGISTER_INACTIVE|PENDING_ACTIVATION',
        'transferData' => [
            'acceptDate' => <DateTime>,
            'rejectDate' => <DateTime>,
            'rejectReason' => '<string>',
            'transferDate' => <DateTime>,
            'transferMessage' => '<string>',
        ],
        'validity' => [
            'notAfter' => <DateTime>,
            'notBefore' => <DateTime>,
        ],
    ],
]

Result Details

Members
certificateDescription
Type: CertificateDescription structure

The description of the certificate.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

DescribeCertificateProvider

$result = $client->describeCertificateProvider([/* ... */]);
$promise = $client->describeCertificateProviderAsync([/* ... */]);

Describes a certificate provider.

Requires permission to access the DescribeCertificateProvider action.

Parameter Syntax

$result = $client->describeCertificateProvider([
    'certificateProviderName' => '<string>', // REQUIRED
]);

Parameter Details

Members
certificateProviderName
Required: Yes
Type: string

The name of the certificate provider.

Result Syntax

[
    'accountDefaultForOperations' => ['<string>', ...],
    'certificateProviderArn' => '<string>',
    'certificateProviderName' => '<string>',
    'creationDate' => <DateTime>,
    'lambdaFunctionArn' => '<string>',
    'lastModifiedDate' => <DateTime>,
]

Result Details

Members
accountDefaultForOperations
Type: Array of strings

A list of the operations that the certificate provider will use to generate certificates. Valid value: CreateCertificateFromCsr.

certificateProviderArn
Type: string

The ARN of the certificate provider.

certificateProviderName
Type: string

The name of the certificate provider.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date-time string that indicates when the certificate provider was created.

lambdaFunctionArn
Type: string

The Lambda function ARN that's associated with the certificate provider.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date-time string that indicates when the certificate provider was last updated.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DescribeCustomMetric

$result = $client->describeCustomMetric([/* ... */]);
$promise = $client->describeCustomMetricAsync([/* ... */]);

Gets information about a Device Defender detect custom metric.

Requires permission to access the DescribeCustomMetric action.

Parameter Syntax

$result = $client->describeCustomMetric([
    'metricName' => '<string>', // REQUIRED
]);

Parameter Details

Members
metricName
Required: Yes
Type: string

The name of the custom metric.

Result Syntax

[
    'creationDate' => <DateTime>,
    'displayName' => '<string>',
    'lastModifiedDate' => <DateTime>,
    'metricArn' => '<string>',
    'metricName' => '<string>',
    'metricType' => 'string-list|ip-address-list|number-list|number',
]

Result Details

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The creation date of the custom metric in milliseconds since epoch.

displayName
Type: string

Field represents a friendly name in the console for the custom metric; doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. Can be updated.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the custom metric was last modified in milliseconds since epoch.

metricArn
Type: string

The Amazon Resource Number (ARN) of the custom metric.

metricName
Type: string

The name of the custom metric.

metricType
Type: string

The type of the custom metric.

The type number only takes a single metric value as an input, but while submitting the metrics value in the DeviceMetrics report, it must be passed as an array with a single value.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DescribeDefaultAuthorizer

$result = $client->describeDefaultAuthorizer([/* ... */]);
$promise = $client->describeDefaultAuthorizerAsync([/* ... */]);

Describes the default authorizer.

Requires permission to access the DescribeDefaultAuthorizer action.

Parameter Syntax

$result = $client->describeDefaultAuthorizer([
]);

Parameter Details

Members

Result Syntax

[
    'authorizerDescription' => [
        'authorizerArn' => '<string>',
        'authorizerFunctionArn' => '<string>',
        'authorizerName' => '<string>',
        'creationDate' => <DateTime>,
        'enableCachingForHttp' => true || false,
        'lastModifiedDate' => <DateTime>,
        'signingDisabled' => true || false,
        'status' => 'ACTIVE|INACTIVE',
        'tokenKeyName' => '<string>',
        'tokenSigningPublicKeys' => ['<string>', ...],
    ],
]

Result Details

Members
authorizerDescription
Type: AuthorizerDescription structure

The default authorizer's description.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DescribeDetectMitigationActionsTask

$result = $client->describeDetectMitigationActionsTask([/* ... */]);
$promise = $client->describeDetectMitigationActionsTaskAsync([/* ... */]);

Gets information about a Device Defender ML Detect mitigation action.

Requires permission to access the DescribeDetectMitigationActionsTask action.

Parameter Syntax

$result = $client->describeDetectMitigationActionsTask([
    'taskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
taskId
Required: Yes
Type: string

The unique identifier of the task.

Result Syntax

[
    'taskSummary' => [
        'actionsDefinition' => [
            [
                'actionParams' => [
                    'addThingsToThingGroupParams' => [
                        'overrideDynamicGroups' => true || false,
                        'thingGroupNames' => ['<string>', ...],
                    ],
                    'enableIoTLoggingParams' => [
                        'logLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED',
                        'roleArnForLogging' => '<string>',
                    ],
                    'publishFindingToSnsParams' => [
                        'topicArn' => '<string>',
                    ],
                    'replaceDefaultPolicyVersionParams' => [
                        'templateName' => 'BLANK_POLICY',
                    ],
                    'updateCACertificateParams' => [
                        'action' => 'DEACTIVATE',
                    ],
                    'updateDeviceCertificateParams' => [
                        'action' => 'DEACTIVATE',
                    ],
                ],
                'id' => '<string>',
                'name' => '<string>',
                'roleArn' => '<string>',
            ],
            // ...
        ],
        'onlyActiveViolationsIncluded' => true || false,
        'suppressedAlertsIncluded' => true || false,
        'target' => [
            'behaviorName' => '<string>',
            'securityProfileName' => '<string>',
            'violationIds' => ['<string>', ...],
        ],
        'taskEndTime' => <DateTime>,
        'taskId' => '<string>',
        'taskStartTime' => <DateTime>,
        'taskStatistics' => [
            'actionsExecuted' => <integer>,
            'actionsFailed' => <integer>,
            'actionsSkipped' => <integer>,
        ],
        'taskStatus' => 'IN_PROGRESS|SUCCESSFUL|FAILED|CANCELED',
        'violationEventOccurrenceRange' => [
            'endTime' => <DateTime>,
            'startTime' => <DateTime>,
        ],
    ],
]

Result Details

Members
taskSummary

The description of a task.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DescribeDimension

$result = $client->describeDimension([/* ... */]);
$promise = $client->describeDimensionAsync([/* ... */]);

Provides details about a dimension that is defined in your Amazon Web Services accounts.

Requires permission to access the DescribeDimension action.

Parameter Syntax

$result = $client->describeDimension([
    'name' => '<string>', // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

The unique identifier for the dimension.

Result Syntax

[
    'arn' => '<string>',
    'creationDate' => <DateTime>,
    'lastModifiedDate' => <DateTime>,
    'name' => '<string>',
    'stringValues' => ['<string>', ...],
    'type' => 'TOPIC_FILTER',
]

Result Details

Members
arn
Type: string

The Amazon Resource Name (ARN) for the dimension.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the dimension was created.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the dimension was last modified.

name
Type: string

The unique identifier for the dimension.

stringValues
Type: Array of strings

The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.

type
Type: string

The type of the dimension.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

DescribeDomainConfiguration

$result = $client->describeDomainConfiguration([/* ... */]);
$promise = $client->describeDomainConfigurationAsync([/* ... */]);

Gets summary information about a domain configuration.

Requires permission to access the DescribeDomainConfiguration action.

Parameter Syntax

$result = $client->describeDomainConfiguration([
    'domainConfigurationName' => '<string>', // REQUIRED
]);

Parameter Details

Members
domainConfigurationName
Required: Yes
Type: string

The name of the domain configuration.

Result Syntax

[
    'authorizerConfig' => [
        'allowAuthorizerOverride' => true || false,
        'defaultAuthorizerName' => '<string>',
    ],
    'domainConfigurationArn' => '<string>',
    'domainConfigurationName' => '<string>',
    'domainConfigurationStatus' => 'ENABLED|DISABLED',
    'domainName' => '<string>',
    'domainType' => 'ENDPOINT|AWS_MANAGED|CUSTOMER_MANAGED',
    'lastStatusChangeDate' => <DateTime>,
    'serverCertificateConfig' => [
        'enableOCSPCheck' => true || false,
    ],
    'serverCertificates' => [
        [
            'serverCertificateArn' => '<string>',
            'serverCertificateStatus' => 'INVALID|VALID',
            'serverCertificateStatusDetail' => '<string>',
        ],
        // ...
    ],
    'serviceType' => 'DATA|CREDENTIAL_PROVIDER|JOBS',
    'tlsConfig' => [
        'securityPolicy' => '<string>',
    ],
]

Result Details

Members
authorizerConfig
Type: AuthorizerConfig structure

An object that specifies the authorization service for a domain.

domainConfigurationArn
Type: string

The ARN of the domain configuration.

domainConfigurationName
Type: string

The name of the domain configuration.

domainConfigurationStatus
Type: string

A Boolean value that specifies the current state of the domain configuration.

domainName
Type: string

The name of the domain.

domainType
Type: string

The type of the domain.

lastStatusChangeDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the domain configuration's status was last changed.

serverCertificateConfig
Type: ServerCertificateConfig structure

The server certificate configuration.

serverCertificates
Type: Array of ServerCertificateSummary structures

A list containing summary information about the server certificate included in the domain configuration.

serviceType
Type: string

The type of service delivered by the endpoint.

tlsConfig
Type: TlsConfig structure

An object that specifies the TLS configuration for a domain.

Errors

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InvalidRequestException:

The request is not valid.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DescribeEndpoint

$result = $client->describeEndpoint([/* ... */]);
$promise = $client->describeEndpointAsync([/* ... */]);

Returns or creates a unique endpoint specific to the Amazon Web Services account making the call.

The first time DescribeEndpoint is called, an endpoint is created. All subsequent calls to DescribeEndpoint return the same endpoint.

Requires permission to access the DescribeEndpoint action.

Parameter Syntax

$result = $client->describeEndpoint([
    'endpointType' => '<string>',
]);

Parameter Details

Members
endpointType
Type: string

The endpoint type. Valid endpoint types include:

  • iot:Data - Returns a VeriSign signed data endpoint.

  • iot:Data-ATS - Returns an ATS signed data endpoint.

  • iot:CredentialProvider - Returns an IoT credentials provider API endpoint.

  • iot:Jobs - Returns an IoT device management Jobs API endpoint.

We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates are more secure and are trusted by most popular browsers.

Result Syntax

[
    'endpointAddress' => '<string>',
]

Result Details

Members
endpointAddress
Type: string

The endpoint. The format of the endpoint is as follows: identifier.iot.region.amazonaws.com.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

UnauthorizedException:

You are not authorized to perform this operation.

ThrottlingException:

The rate exceeds the limit.

DescribeEventConfigurations

$result = $client->describeEventConfigurations([/* ... */]);
$promise = $client->describeEventConfigurationsAsync([/* ... */]);

Describes event configurations.

Requires permission to access the DescribeEventConfigurations action.

Parameter Syntax

$result = $client->describeEventConfigurations([
]);

Parameter Details

Members

Result Syntax

[
    'creationDate' => <DateTime>,
    'eventConfigurations' => [
        '<EventType>' => [
            'Enabled' => true || false,
        ],
        // ...
    ],
    'lastModifiedDate' => <DateTime>,
]

Result Details

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The creation date of the event configuration.

eventConfigurations
Type: Associative array of custom strings keys (EventType) to Configuration structures

The event configurations.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the event configurations were last modified.

Errors

InternalFailureException:

An unexpected error has occurred.

ThrottlingException:

The rate exceeds the limit.

DescribeFleetMetric

$result = $client->describeFleetMetric([/* ... */]);
$promise = $client->describeFleetMetricAsync([/* ... */]);

Gets information about the specified fleet metric.

Requires permission to access the DescribeFleetMetric action.

Parameter Syntax

$result = $client->describeFleetMetric([
    'metricName' => '<string>', // REQUIRED
]);

Parameter Details

Members
metricName
Required: Yes
Type: string

The name of the fleet metric to describe.

Result Syntax

[
    'aggregationField' => '<string>',
    'aggregationType' => [
        'name' => 'Statistics|Percentiles|Cardinality',
        'values' => ['<string>', ...],
    ],
    'creationDate' => <DateTime>,
    'description' => '<string>',
    'indexName' => '<string>',
    'lastModifiedDate' => <DateTime>,
    'metricArn' => '<string>',
    'metricName' => '<string>',
    'period' => <integer>,
    'queryString' => '<string>',
    'queryVersion' => '<string>',
    'unit' => 'Seconds|Microseconds|Milliseconds|Bytes|Kilobytes|Megabytes|Gigabytes|Terabytes|Bits|Kilobits|Megabits|Gigabits|Terabits|Percent|Count|Bytes/Second|Kilobytes/Second|Megabytes/Second|Gigabytes/Second|Terabytes/Second|Bits/Second|Kilobits/Second|Megabits/Second|Gigabits/Second|Terabits/Second|Count/Second|None',
    'version' => <integer>,
]

Result Details

Members
aggregationField
Type: string

The field to aggregate.

aggregationType
Type: AggregationType structure

The type of the aggregation query.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the fleet metric is created.

description
Type: string

The fleet metric description.

indexName
Type: string

The name of the index to search.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the fleet metric is last modified.

metricArn
Type: string

The ARN of the fleet metric to describe.

metricName
Type: string

The name of the fleet metric to describe.

period
Type: int

The time in seconds between fleet metric emissions. Range [60(1 min), 86400(1 day)] and must be multiple of 60.

queryString
Type: string

The search query string.

queryVersion
Type: string

The query version.

unit
Type: string

Used to support unit transformation such as milliseconds to seconds. The unit must be supported by CW metric.

version
Type: long (int|float)

The version of the fleet metric.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

DescribeIndex

$result = $client->describeIndex([/* ... */]);
$promise = $client->describeIndexAsync([/* ... */]);

Describes a search index.

Requires permission to access the DescribeIndex action.

Parameter Syntax

$result = $client->describeIndex([
    'indexName' => '<string>', // REQUIRED
]);

Parameter Details

Members
indexName
Required: Yes
Type: string

The index name.

Result Syntax

[
    'indexName' => '<string>',
    'indexStatus' => 'ACTIVE|BUILDING|REBUILDING',
    'schema' => '<string>',
]

Result Details

Members
indexName
Type: string

The index name.

indexStatus
Type: string

The index status.

schema
Type: string

Contains a value that specifies the type of indexing performed. Valid values are:

  • REGISTRY – Your thing index contains only registry data.

  • REGISTRY_AND_SHADOW - Your thing index contains registry data and shadow data.

  • REGISTRY_AND_CONNECTIVITY_STATUS - Your thing index contains registry data and thing connectivity status data.

  • REGISTRY_AND_SHADOW_AND_CONNECTIVITY_STATUS - Your thing index contains registry data, shadow data, and thing connectivity status data.

  • MULTI_INDEXING_MODE - Your thing index contains multiple data sources. For more information, see GetIndexingConfiguration.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

DescribeJob

$result = $client->describeJob([/* ... */]);
$promise = $client->describeJobAsync([/* ... */]);

Describes a job.

Requires permission to access the DescribeJob action.

Parameter Syntax

$result = $client->describeJob([
    'jobId' => '<string>', // REQUIRED
]);

Parameter Details

Members
jobId
Required: Yes
Type: string

The unique identifier you assigned to this job when it was created.

Result Syntax

[
    'documentSource' => '<string>',
    'job' => [
        'abortConfig' => [
            'criteriaList' => [
                [
                    'action' => 'CANCEL',
                    'failureType' => 'FAILED|REJECTED|TIMED_OUT|ALL',
                    'minNumberOfExecutedThings' => <integer>,
                    'thresholdPercentage' => <float>,
                ],
                // ...
            ],
        ],
        'comment' => '<string>',
        'completedAt' => <DateTime>,
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'destinationPackageVersions' => ['<string>', ...],
        'documentParameters' => ['<string>', ...],
        'forceCanceled' => true || false,
        'isConcurrent' => true || false,
        'jobArn' => '<string>',
        'jobExecutionsRetryConfig' => [
            'criteriaList' => [
                [
                    'failureType' => 'FAILED|TIMED_OUT|ALL',
                    'numberOfRetries' => <integer>,
                ],
                // ...
            ],
        ],
        'jobExecutionsRolloutConfig' => [
            'exponentialRate' => [
                'baseRatePerMinute' => <integer>,
                'incrementFactor' => <float>,
                'rateIncreaseCriteria' => [
                    'numberOfNotifiedThings' => <integer>,
                    'numberOfSucceededThings' => <integer>,
                ],
            ],
            'maximumPerMinute' => <integer>,
        ],
        'jobId' => '<string>',
        'jobProcessDetails' => [
            'numberOfCanceledThings' => <integer>,
            'numberOfFailedThings' => <integer>,
            'numberOfInProgressThings' => <integer>,
            'numberOfQueuedThings' => <integer>,
            'numberOfRejectedThings' => <integer>,
            'numberOfRemovedThings' => <integer>,
            'numberOfSucceededThings' => <integer>,
            'numberOfTimedOutThings' => <integer>,
            'processingTargets' => ['<string>', ...],
        ],
        'jobTemplateArn' => '<string>',
        'lastUpdatedAt' => <DateTime>,
        'namespaceId' => '<string>',
        'presignedUrlConfig' => [
            'expiresInSec' => <integer>,
            'roleArn' => '<string>',
        ],
        'reasonCode' => '<string>',
        'scheduledJobRollouts' => [
            [
                'startTime' => '<string>',
            ],
            // ...
        ],
        'schedulingConfig' => [
            'endBehavior' => 'STOP_ROLLOUT|CANCEL|FORCE_CANCEL',
            'endTime' => '<string>',
            'maintenanceWindows' => [
                [
                    'durationInMinutes' => <integer>,
                    'startTime' => '<string>',
                ],
                // ...
            ],
            'startTime' => '<string>',
        ],
        'status' => 'IN_PROGRESS|CANCELED|COMPLETED|DELETION_IN_PROGRESS|SCHEDULED',
        'targetSelection' => 'CONTINUOUS|SNAPSHOT',
        'targets' => ['<string>', ...],
        'timeoutConfig' => [
            'inProgressTimeoutInMinutes' => <integer>,
        ],
    ],
]

Result Details

Members
documentSource
Type: string

An S3 link to the job document.

job
Type: Job structure

Information about the job.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

DescribeJobExecution

$result = $client->describeJobExecution([/* ... */]);
$promise = $client->describeJobExecutionAsync([/* ... */]);

Describes a job execution.

Requires permission to access the DescribeJobExecution action.

Parameter Syntax

$result = $client->describeJobExecution([
    'executionNumber' => <integer>,
    'jobId' => '<string>', // REQUIRED
    'thingName' => '<string>', // REQUIRED
]);

Parameter Details

Members
executionNumber
Type: long (int|float)

A string (consisting of the digits "0" through "9" which is used to specify a particular job execution on a particular device.

jobId
Required: Yes
Type: string

The unique identifier you assigned to this job when it was created.

thingName
Required: Yes
Type: string

The name of the thing on which the job execution is running.

Result Syntax

[
    'execution' => [
        'approximateSecondsBeforeTimedOut' => <integer>,
        'executionNumber' => <integer>,
        'forceCanceled' => true || false,
        'jobId' => '<string>',
        'lastUpdatedAt' => <DateTime>,
        'queuedAt' => <DateTime>,
        'startedAt' => <DateTime>,
        'status' => 'QUEUED|IN_PROGRESS|SUCCEEDED|FAILED|TIMED_OUT|REJECTED|REMOVED|CANCELED',
        'statusDetails' => [
            'detailsMap' => ['<string>', ...],
        ],
        'thingArn' => '<string>',
        'versionNumber' => <integer>,
    ],
]

Result Details

Members
execution
Type: JobExecution structure

Information about the job execution.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

DescribeJobTemplate

$result = $client->describeJobTemplate([/* ... */]);
$promise = $client->describeJobTemplateAsync([/* ... */]);

Returns information about a job template.

Parameter Syntax

$result = $client->describeJobTemplate([
    'jobTemplateId' => '<string>', // REQUIRED
]);

Parameter Details

Members
jobTemplateId
Required: Yes
Type: string

The unique identifier of the job template.

Result Syntax

[
    'abortConfig' => [
        'criteriaList' => [
            [
                'action' => 'CANCEL',
                'failureType' => 'FAILED|REJECTED|TIMED_OUT|ALL',
                'minNumberOfExecutedThings' => <integer>,
                'thresholdPercentage' => <float>,
            ],
            // ...
        ],
    ],
    'createdAt' => <DateTime>,
    'description' => '<string>',
    'destinationPackageVersions' => ['<string>', ...],
    'document' => '<string>',
    'documentSource' => '<string>',
    'jobExecutionsRetryConfig' => [
        'criteriaList' => [
            [
                'failureType' => 'FAILED|TIMED_OUT|ALL',
                'numberOfRetries' => <integer>,
            ],
            // ...
        ],
    ],
    'jobExecutionsRolloutConfig' => [
        'exponentialRate' => [
            'baseRatePerMinute' => <integer>,
            'incrementFactor' => <float>,
            'rateIncreaseCriteria' => [
                'numberOfNotifiedThings' => <integer>,
                'numberOfSucceededThings' => <integer>,
            ],
        ],
        'maximumPerMinute' => <integer>,
    ],
    'jobTemplateArn' => '<string>',
    'jobTemplateId' => '<string>',
    'maintenanceWindows' => [
        [
            'durationInMinutes' => <integer>,
            'startTime' => '<string>',
        ],
        // ...
    ],
    'presignedUrlConfig' => [
        'expiresInSec' => <integer>,
        'roleArn' => '<string>',
    ],
    'timeoutConfig' => [
        'inProgressTimeoutInMinutes' => <integer>,
    ],
]

Result Details

Members
abortConfig
Type: AbortConfig structure

The criteria that determine when and how a job abort takes place.

createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job template was created.

description
Type: string

A description of the job template.

destinationPackageVersions
Type: Array of strings

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes. The package version must be in either the Published or Deprecated state when the job deploys. For more information, see Package version lifecycle.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

document
Type: string

The job document.

documentSource
Type: string

An S3 link to the job document.

jobExecutionsRetryConfig
Type: JobExecutionsRetryConfig structure

The configuration that determines how many retries are allowed for each failure type for a job.

jobExecutionsRolloutConfig
Type: JobExecutionsRolloutConfig structure

Allows you to create a staged rollout of a job.

jobTemplateArn
Type: string

The ARN of the job template.

jobTemplateId
Type: string

The unique identifier of the job template.

maintenanceWindows
Type: Array of MaintenanceWindow structures

Allows you to configure an optional maintenance window for the rollout of a job document to all devices in the target group for a job.

presignedUrlConfig
Type: PresignedUrlConfig structure

Configuration for pre-signed S3 URLs.

timeoutConfig
Type: TimeoutConfig structure

Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to TIMED_OUT.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DescribeManagedJobTemplate

$result = $client->describeManagedJobTemplate([/* ... */]);
$promise = $client->describeManagedJobTemplateAsync([/* ... */]);

View details of a managed job template.

Parameter Syntax

$result = $client->describeManagedJobTemplate([
    'templateName' => '<string>', // REQUIRED
    'templateVersion' => '<string>',
]);

Parameter Details

Members
templateName
Required: Yes
Type: string

The unique name of a managed job template, which is required.

templateVersion
Type: string

An optional parameter to specify version of a managed template. If not specified, the pre-defined default version is returned.

Result Syntax

[
    'description' => '<string>',
    'document' => '<string>',
    'documentParameters' => [
        [
            'description' => '<string>',
            'example' => '<string>',
            'key' => '<string>',
            'optional' => true || false,
            'regex' => '<string>',
        ],
        // ...
    ],
    'environments' => ['<string>', ...],
    'templateArn' => '<string>',
    'templateName' => '<string>',
    'templateVersion' => '<string>',
]

Result Details

Members
description
Type: string

The unique description of a managed template.

document
Type: string

The document schema for a managed job template.

documentParameters
Type: Array of DocumentParameter structures

A map of key-value pairs that you can use as guidance to specify the inputs for creating a job from a managed template.

documentParameters can only be used when creating jobs from Amazon Web Services managed templates. This parameter can't be used with custom job templates or to create jobs from them.

environments
Type: Array of strings

A list of environments that are supported with the managed job template.

templateArn
Type: string

The unique Amazon Resource Name (ARN) of the managed template.

templateName
Type: string

The unique name of a managed template, such as AWS-Reboot.

templateVersion
Type: string

The version for a managed template.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

DescribeMitigationAction

$result = $client->describeMitigationAction([/* ... */]);
$promise = $client->describeMitigationActionAsync([/* ... */]);

Gets information about a mitigation action.

Requires permission to access the DescribeMitigationAction action.

Parameter Syntax

$result = $client->describeMitigationAction([
    'actionName' => '<string>', // REQUIRED
]);

Parameter Details

Members
actionName
Required: Yes
Type: string

The friendly name that uniquely identifies the mitigation action.

Result Syntax

[
    'actionArn' => '<string>',
    'actionId' => '<string>',
    'actionName' => '<string>',
    'actionParams' => [
        'addThingsToThingGroupParams' => [
            'overrideDynamicGroups' => true || false,
            'thingGroupNames' => ['<string>', ...],
        ],
        'enableIoTLoggingParams' => [
            'logLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED',
            'roleArnForLogging' => '<string>',
        ],
        'publishFindingToSnsParams' => [
            'topicArn' => '<string>',
        ],
        'replaceDefaultPolicyVersionParams' => [
            'templateName' => 'BLANK_POLICY',
        ],
        'updateCACertificateParams' => [
            'action' => 'DEACTIVATE',
        ],
        'updateDeviceCertificateParams' => [
            'action' => 'DEACTIVATE',
        ],
    ],
    'actionType' => 'UPDATE_DEVICE_CERTIFICATE|UPDATE_CA_CERTIFICATE|ADD_THINGS_TO_THING_GROUP|REPLACE_DEFAULT_POLICY_VERSION|ENABLE_IOT_LOGGING|PUBLISH_FINDING_TO_SNS',
    'creationDate' => <DateTime>,
    'lastModifiedDate' => <DateTime>,
    'roleArn' => '<string>',
]

Result Details

Members
actionArn
Type: string

The ARN that identifies this migration action.

actionId
Type: string

A unique identifier for this action.

actionName
Type: string

The friendly name that uniquely identifies the mitigation action.

actionParams
Type: MitigationActionParams structure

Parameters that control how the mitigation action is applied, specific to the type of mitigation action.

actionType
Type: string

The type of mitigation action.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the mitigation action was added to your Amazon Web Services accounts.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the mitigation action was last changed.

roleArn
Type: string

The ARN of the IAM role used to apply this action.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DescribeProvisioningTemplate

$result = $client->describeProvisioningTemplate([/* ... */]);
$promise = $client->describeProvisioningTemplateAsync([/* ... */]);

Returns information about a provisioning template.

Requires permission to access the DescribeProvisioningTemplate action.

Parameter Syntax

$result = $client->describeProvisioningTemplate([
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
templateName
Required: Yes
Type: string

The name of the provisioning template.

Result Syntax

[
    'creationDate' => <DateTime>,
    'defaultVersionId' => <integer>,
    'description' => '<string>',
    'enabled' => true || false,
    'lastModifiedDate' => <DateTime>,
    'preProvisioningHook' => [
        'payloadVersion' => '<string>',
        'targetArn' => '<string>',
    ],
    'provisioningRoleArn' => '<string>',
    'templateArn' => '<string>',
    'templateBody' => '<string>',
    'templateName' => '<string>',
    'type' => 'FLEET_PROVISIONING|JITP',
]

Result Details

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the provisioning template was created.

defaultVersionId
Type: int

The default fleet template version ID.

description
Type: string

The description of the provisioning template.

enabled
Type: boolean

True if the provisioning template is enabled, otherwise false.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the provisioning template was last modified.

preProvisioningHook
Type: ProvisioningHook structure

Gets information about a pre-provisioned hook.

provisioningRoleArn
Type: string

The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.

templateArn
Type: string

The ARN of the provisioning template.

templateBody
Type: string

The JSON formatted contents of the provisioning template.

templateName
Type: string

The name of the provisioning template.

type
Type: string

The type you define in a provisioning template. You can create a template with only one type. You can't change the template type after its creation. The default value is FLEET_PROVISIONING. For more information about provisioning template, see: Provisioning template.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

DescribeProvisioningTemplateVersion

$result = $client->describeProvisioningTemplateVersion([/* ... */]);
$promise = $client->describeProvisioningTemplateVersionAsync([/* ... */]);

Returns information about a provisioning template version.

Requires permission to access the DescribeProvisioningTemplateVersion action.

Parameter Syntax

$result = $client->describeProvisioningTemplateVersion([
    'templateName' => '<string>', // REQUIRED
    'versionId' => <integer>, // REQUIRED
]);

Parameter Details

Members
templateName
Required: Yes
Type: string

The template name.

versionId
Required: Yes
Type: int

The provisioning template version ID.

Result Syntax

[
    'creationDate' => <DateTime>,
    'isDefaultVersion' => true || false,
    'templateBody' => '<string>',
    'versionId' => <integer>,
]

Result Details

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the provisioning template version was created.

isDefaultVersion
Type: boolean

True if the provisioning template version is the default version.

templateBody
Type: string

The JSON formatted contents of the provisioning template version.

versionId
Type: int

The provisioning template version ID.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

ResourceNotFoundException:

The specified resource does not exist.

UnauthorizedException:

You are not authorized to perform this operation.

DescribeRoleAlias

$result = $client->describeRoleAlias([/* ... */]);
$promise = $client->describeRoleAliasAsync([/* ... */]);

Describes a role alias.

Requires permission to access the DescribeRoleAlias action.

Parameter Syntax

$result = $client->describeRoleAlias([
    'roleAlias' => '<string>', // REQUIRED
]);

Parameter Details

Members
roleAlias
Required: Yes
Type: string

The role alias to describe.

Result Syntax

[
    'roleAliasDescription' => [
        'creationDate' => <DateTime>,
        'credentialDurationSeconds' => <integer>,
        'lastModifiedDate' => <DateTime>,
        'owner' => '<string>',
        'roleAlias' => '<string>',
        'roleAliasArn' => '<string>',
        'roleArn' => '<string>',
    ],
]

Result Details

Members
roleAliasDescription
Type: RoleAliasDescription structure

The role alias description.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

DescribeScheduledAudit

$result = $client->describeScheduledAudit([/* ... */]);
$promise = $client->describeScheduledAuditAsync([/* ... */]);

Gets information about a scheduled audit.

Requires permission to access the DescribeScheduledAudit action.

Parameter Syntax

$result = $client->describeScheduledAudit([
    'scheduledAuditName' => '<string>', // REQUIRED
]);

Parameter Details

Members
scheduledAuditName
Required: Yes
Type: string

The name of the scheduled audit whose information you want to get.

Result Syntax

[
    'dayOfMonth' => '<string>',
    'dayOfWeek' => 'SUN|MON|TUE|WED|THU|FRI|SAT',
    'frequency' => 'DAILY|WEEKLY|BIWEEKLY|MONTHLY',
    'scheduledAuditArn' => '<string>',
    'scheduledAuditName' => '<string>',
    'targetCheckNames' => ['<string>', ...],
]

Result Details

Members
dayOfMonth
Type: string

The day of the month on which the scheduled audit takes place. This is will be 1 through 31 or LAST. If days 29-31 are specified, and the month does not have that many days, the audit takes place on the LAST day of the month.

dayOfWeek
Type: string

The day of the week on which the scheduled audit takes place, either one of SUN, MON, TUE, WED, THU, FRI, or SAT.

frequency
Type: string

How often the scheduled audit takes place, either one of DAILY, WEEKLY, BIWEEKLY, or MONTHLY. The start time of each audit is determined by the system.

scheduledAuditArn
Type: string

The ARN of the scheduled audit.

scheduledAuditName
Type: string

The name of the scheduled audit.

targetCheckNames
Type: Array of strings

Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DescribeSecurityProfile

$result = $client->describeSecurityProfile([/* ... */]);
$promise = $client->describeSecurityProfileAsync([/* ... */]);

Gets information about a Device Defender security profile.

Requires permission to access the DescribeSecurityProfile action.

Parameter Syntax

$result = $client->describeSecurityProfile([
    'securityProfileName' => '<string>', // REQUIRED
]);

Parameter Details

Members
securityProfileName
Required: Yes
Type: string

The name of the security profile whose information you want to get.

Result Syntax

[
    'additionalMetricsToRetain' => ['<string>', ...],
    'additionalMetricsToRetainV2' => [
        [
            'exportMetric' => true || false,
            'metric' => '<string>',
            'metricDimension' => [
                'dimensionName' => '<string>',
                'operator' => 'IN|NOT_IN',
            ],
        ],
        // ...
    ],
    'alertTargets' => [
        '<AlertTargetType>' => [
            'alertTargetArn' => '<string>',
            'roleArn' => '<string>',
        ],
        // ...
    ],
    'behaviors' => [
        [
            'criteria' => [
                'comparisonOperator' => 'less-than|less-than-equals|greater-than|greater-than-equals|in-cidr-set|not-in-cidr-set|in-port-set|not-in-port-set|in-set|not-in-set',
                'consecutiveDatapointsToAlarm' => <integer>,
                'consecutiveDatapointsToClear' => <integer>,
                'durationSeconds' => <integer>,
                'mlDetectionConfig' => [
                    'confidenceLevel' => 'LOW|MEDIUM|HIGH',
                ],
                'statisticalThreshold' => [
                    'statistic' => '<string>',
                ],
                'value' => [
                    'cidrs' => ['<string>', ...],
                    'count' => <integer>,
                    'number' => <float>,
                    'numbers' => [<float>, ...],
                    'ports' => [<integer>, ...],
                    'strings' => ['<string>', ...],
                ],
            ],
            'exportMetric' => true || false,
            'metric' => '<string>',
            'metricDimension' => [
                'dimensionName' => '<string>',
                'operator' => 'IN|NOT_IN',
            ],
            'name' => '<string>',
            'suppressAlerts' => true || false,
        ],
        // ...
    ],
    'creationDate' => <DateTime>,
    'lastModifiedDate' => <DateTime>,
    'metricsExportConfig' => [
        'mqttTopic' => '<string>',
        'roleArn' => '<string>',
    ],
    'securityProfileArn' => '<string>',
    'securityProfileDescription' => '<string>',
    'securityProfileName' => '<string>',
    'version' => <integer>,
]

Result Details

Members
additionalMetricsToRetain
Type: Array of strings

Please use DescribeSecurityProfileResponse$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

additionalMetricsToRetainV2
Type: Array of MetricToRetain structures

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

alertTargets
Type: Associative array of custom strings keys (AlertTargetType) to AlertTarget structures

Where the alerts are sent. (Alerts are always sent to the console.)

behaviors
Type: Array of Behavior structures

Specifies the behaviors that, when violated by a device (thing), cause an alert.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the security profile was created.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the security profile was last modified.

metricsExportConfig
Type: MetricsExportConfig structure

Specifies the MQTT topic and role ARN required for metric export.

securityProfileArn
Type: string

The ARN of the security profile.

securityProfileDescription
Type: string

A description of the security profile (associated with the security profile when it was created or updated).

securityProfileName
Type: string

The name of the security profile.

version
Type: long (int|float)

The version of the security profile. A new version is generated whenever the security profile is updated.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DescribeStream

$result = $client->describeStream([/* ... */]);
$promise = $client->describeStreamAsync([/* ... */]);

Gets information about a stream.

Requires permission to access the DescribeStream action.

Parameter Syntax

$result = $client->describeStream([
    'streamId' => '<string>', // REQUIRED
]);

Parameter Details

Members
streamId
Required: Yes
Type: string

The stream ID.

Result Syntax

[
    'streamInfo' => [
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'files' => [
            [
                'fileId' => <integer>,
                's3Location' => [
                    'bucket' => '<string>',
                    'key' => '<string>',
                    'version' => '<string>',
                ],
            ],
            // ...
        ],
        'lastUpdatedAt' => <DateTime>,
        'roleArn' => '<string>',
        'streamArn' => '<string>',
        'streamId' => '<string>',
        'streamVersion' => <integer>,
    ],
]

Result Details

Members
streamInfo
Type: StreamInfo structure

Information about the stream.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DescribeThing

$result = $client->describeThing([/* ... */]);
$promise = $client->describeThingAsync([/* ... */]);

Gets information about the specified thing.

Requires permission to access the DescribeThing action.

Parameter Syntax

$result = $client->describeThing([
    'thingName' => '<string>', // REQUIRED
]);

Parameter Details

Members
thingName
Required: Yes
Type: string

The name of the thing.

Result Syntax

[
    'attributes' => ['<string>', ...],
    'billingGroupName' => '<string>',
    'defaultClientId' => '<string>',
    'thingArn' => '<string>',
    'thingId' => '<string>',
    'thingName' => '<string>',
    'thingTypeName' => '<string>',
    'version' => <integer>,
]

Result Details

Members
attributes
Type: Associative array of custom strings keys (AttributeName) to strings

The thing attributes.

billingGroupName
Type: string

The name of the billing group the thing belongs to.

defaultClientId
Type: string

The default MQTT client ID. For a typical device, the thing name is also used as the default MQTT client ID. Although we don’t require a mapping between a thing's registry name and its use of MQTT client IDs, certificates, or shadow state, we recommend that you choose a thing name and use it as the MQTT client ID for the registry and the Device Shadow service.

This lets you better organize your IoT fleet without removing the flexibility of the underlying device certificate model or shadows.

thingArn
Type: string

The ARN of the thing to describe.

thingId
Type: string

The ID of the thing to describe.

thingName
Type: string

The name of the thing.

thingTypeName
Type: string

The thing type name.

version
Type: long (int|float)

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.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DescribeThingGroup

$result = $client->describeThingGroup([/* ... */]);
$promise = $client->describeThingGroupAsync([/* ... */]);

Describe a thing group.

Requires permission to access the DescribeThingGroup action.

Parameter Syntax

$result = $client->describeThingGroup([
    'thingGroupName' => '<string>', // REQUIRED
]);

Parameter Details

Members
thingGroupName
Required: Yes
Type: string

The name of the thing group.

Result Syntax

[
    'indexName' => '<string>',
    'queryString' => '<string>',
    'queryVersion' => '<string>',
    'status' => 'ACTIVE|BUILDING|REBUILDING',
    'thingGroupArn' => '<string>',
    'thingGroupId' => '<string>',
    'thingGroupMetadata' => [
        'creationDate' => <DateTime>,
        'parentGroupName' => '<string>',
        'rootToParentThingGroups' => [
            [
                'groupArn' => '<string>',
                'groupName' => '<string>',
            ],
            // ...
        ],
    ],
    'thingGroupName' => '<string>',
    'thingGroupProperties' => [
        'attributePayload' => [
            'attributes' => ['<string>', ...],
            'merge' => true || false,
        ],
        'thingGroupDescription' => '<string>',
    ],
    'version' => <integer>,
]

Result Details

Members
indexName
Type: string

The dynamic thing group index name.

queryString
Type: string

The dynamic thing group search query string.

queryVersion
Type: string

The dynamic thing group query version.

status
Type: string

The dynamic thing group status.

thingGroupArn
Type: string

The thing group ARN.

thingGroupId
Type: string

The thing group ID.

thingGroupMetadata
Type: ThingGroupMetadata structure

Thing group metadata.

thingGroupName
Type: string

The name of the thing group.

thingGroupProperties
Type: ThingGroupProperties structure

The thing group properties.

version
Type: long (int|float)

The version of the thing group.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

DescribeThingRegistrationTask

$result = $client->describeThingRegistrationTask([/* ... */]);
$promise = $client->describeThingRegistrationTaskAsync([/* ... */]);

Describes a bulk thing provisioning task.

Requires permission to access the DescribeThingRegistrationTask action.

Parameter Syntax

$result = $client->describeThingRegistrationTask([
    'taskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
taskId
Required: Yes
Type: string

The task ID.

Result Syntax

[
    'creationDate' => <DateTime>,
    'failureCount' => <integer>,
    'inputFileBucket' => '<string>',
    'inputFileKey' => '<string>',
    'lastModifiedDate' => <DateTime>,
    'message' => '<string>',
    'percentageProgress' => <integer>,
    'roleArn' => '<string>',
    'status' => 'InProgress|Completed|Failed|Cancelled|Cancelling',
    'successCount' => <integer>,
    'taskId' => '<string>',
    'templateBody' => '<string>',
]

Result Details

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The task creation date.

failureCount
Type: int

The number of things that failed to be provisioned.

inputFileBucket
Type: string

The S3 bucket that contains the input file.

inputFileKey
Type: string

The input file key.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the task was last modified.

message
Type: string

The message.

percentageProgress
Type: int

The progress of the bulk provisioning task expressed as a percentage.

roleArn
Type: string

The role ARN that grants access to the input file bucket.

status
Type: string

The status of the bulk thing provisioning task.

successCount
Type: int

The number of things successfully provisioned.

taskId
Type: string

The task ID.

templateBody
Type: string

The task's template.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

DescribeThingType

$result = $client->describeThingType([/* ... */]);
$promise = $client->describeThingTypeAsync([/* ... */]);

Gets information about the specified thing type.

Requires permission to access the DescribeThingType action.

Parameter Syntax

$result = $client->describeThingType([
    'thingTypeName' => '<string>', // REQUIRED
]);

Parameter Details

Members
thingTypeName
Required: Yes
Type: string

The name of the thing type.

Result Syntax

[
    'thingTypeArn' => '<string>',
    'thingTypeId' => '<string>',
    'thingTypeMetadata' => [
        'creationDate' => <DateTime>,
        'deprecated' => true || false,
        'deprecationDate' => <DateTime>,
    ],
    'thingTypeName' => '<string>',
    'thingTypeProperties' => [
        'searchableAttributes' => ['<string>', ...],
        'thingTypeDescription' => '<string>',
    ],
]

Result Details

Members
thingTypeArn
Type: string

The thing type ARN.

thingTypeId
Type: string

The thing type ID.

thingTypeMetadata
Type: ThingTypeMetadata structure

The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when it was deprecated.

thingTypeName
Type: string

The name of the thing type.

thingTypeProperties
Type: ThingTypeProperties structure

The ThingTypeProperties contains information about the thing type including description, and a list of searchable thing attribute names.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DetachPolicy

$result = $client->detachPolicy([/* ... */]);
$promise = $client->detachPolicyAsync([/* ... */]);

Detaches a policy from the specified target.

Because of the distributed nature of Amazon Web Services, it can take up to five minutes after a policy is detached before it's ready to be deleted.

Requires permission to access the DetachPolicy action.

Parameter Syntax

$result = $client->detachPolicy([
    'policyName' => '<string>', // REQUIRED
    'target' => '<string>', // REQUIRED
]);

Parameter Details

Members
policyName
Required: Yes
Type: string

The policy to detach.

target
Required: Yes
Type: string

The target from which the policy will be detached.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

LimitExceededException:

A limit has been exceeded.

DetachPrincipalPolicy

$result = $client->detachPrincipalPolicy([/* ... */]);
$promise = $client->detachPrincipalPolicyAsync([/* ... */]);

Removes the specified policy from the specified certificate.

Note: This action is deprecated and works as expected for backward compatibility, but we won't add enhancements. Use DetachPolicy instead.

Requires permission to access the DetachPrincipalPolicy action.

Parameter Syntax

$result = $client->detachPrincipalPolicy([
    'policyName' => '<string>', // REQUIRED
    'principal' => '<string>', // REQUIRED
]);

Parameter Details

Members
policyName
Required: Yes
Type: string

The name of the policy to detach.

principal
Required: Yes
Type: string

The principal.

Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DetachSecurityProfile

$result = $client->detachSecurityProfile([/* ... */]);
$promise = $client->detachSecurityProfileAsync([/* ... */]);

Disassociates a Device Defender security profile from a thing group or from this account.

Requires permission to access the DetachSecurityProfile action.

Parameter Syntax

$result = $client->detachSecurityProfile([
    'securityProfileName' => '<string>', // REQUIRED
    'securityProfileTargetArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
securityProfileName
Required: Yes
Type: string

The security profile that is detached.

securityProfileTargetArn
Required: Yes
Type: string

The ARN of the thing group from which the security profile is detached.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

DetachThingPrincipal

$result = $client->detachThingPrincipal([/* ... */]);
$promise = $client->detachThingPrincipalAsync([/* ... */]);

Detaches the specified principal from the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

This call is asynchronous. It might take several seconds for the detachment to propagate.

Requires permission to access the DetachThingPrincipal action.

Parameter Syntax

$result = $client->detachThingPrincipal([
    'principal' => '<string>', // REQUIRED
    'thingName' => '<string>', // REQUIRED
]);

Parameter Details

Members
principal
Required: Yes
Type: string

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.

thingName
Required: Yes
Type: string

The name of the thing.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

DisableTopicRule

$result = $client->disableTopicRule([/* ... */]);
$promise = $client->disableTopicRuleAsync([/* ... */]);

Disables the rule.

Requires permission to access the DisableTopicRule action.

Parameter Syntax

$result = $client->disableTopicRule([
    'ruleName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ruleName
Required: Yes
Type: string

The name of the rule to disable.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

UnauthorizedException:

You are not authorized to perform this operation.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

EnableTopicRule

$result = $client->enableTopicRule([/* ... */]);
$promise = $client->enableTopicRuleAsync([/* ... */]);

Enables the rule.

Requires permission to access the EnableTopicRule action.

Parameter Syntax

$result = $client->enableTopicRule([
    'ruleName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ruleName
Required: Yes
Type: string

The name of the topic rule to enable.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

UnauthorizedException:

You are not authorized to perform this operation.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

GetBehaviorModelTrainingSummaries

$result = $client->getBehaviorModelTrainingSummaries([/* ... */]);
$promise = $client->getBehaviorModelTrainingSummariesAsync([/* ... */]);

Returns a Device Defender's ML Detect Security Profile training model's status.

Requires permission to access the GetBehaviorModelTrainingSummaries action.

Parameter Syntax

$result = $client->getBehaviorModelTrainingSummaries([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'securityProfileName' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time. The default is 10.

nextToken
Type: string

The token for the next set of results.

securityProfileName
Type: string

The name of the security profile.

Result Syntax

[
    'nextToken' => '<string>',
    'summaries' => [
        [
            'behaviorName' => '<string>',
            'datapointsCollectionPercentage' => <float>,
            'lastModelRefreshDate' => <DateTime>,
            'modelStatus' => 'PENDING_BUILD|ACTIVE|EXPIRED',
            'securityProfileName' => '<string>',
            'trainingDataCollectionStartDate' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

summaries
Type: Array of BehaviorModelTrainingSummary structures

A list of all ML Detect behaviors and their model status for a given Security Profile.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

GetBucketsAggregation

$result = $client->getBucketsAggregation([/* ... */]);
$promise = $client->getBucketsAggregationAsync([/* ... */]);

Aggregates on indexed data with search queries pertaining to particular fields.

Requires permission to access the GetBucketsAggregation action.

Parameter Syntax

$result = $client->getBucketsAggregation([
    'aggregationField' => '<string>', // REQUIRED
    'bucketsAggregationType' => [ // REQUIRED
        'termsAggregation' => [
            'maxBuckets' => <integer>,
        ],
    ],
    'indexName' => '<string>',
    'queryString' => '<string>', // REQUIRED
    'queryVersion' => '<string>',
]);

Parameter Details

Members
aggregationField
Required: Yes
Type: string

The aggregation field.

bucketsAggregationType
Required: Yes
Type: BucketsAggregationType structure

The basic control of the response shape and the bucket aggregation type to perform.

indexName
Type: string

The name of the index to search.

queryString
Required: Yes
Type: string

The search query string.

queryVersion
Type: string

The version of the query.

Result Syntax

[
    'buckets' => [
        [
            'count' => <integer>,
            'keyValue' => '<string>',
        ],
        // ...
    ],
    'totalCount' => <integer>,
]

Result Details

Members
buckets
Type: Array of Bucket structures

The main part of the response with a list of buckets. Each bucket contains a keyValue and a count.

keyValue: The aggregation field value counted for the particular bucket.

count: The number of documents that have that value.

totalCount
Type: int

The total number of things that fit the query string criteria.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

InvalidQueryException:

The query is invalid.

InvalidAggregationException:

The aggregation is invalid.

IndexNotReadyException:

The index is not ready.

GetCardinality

$result = $client->getCardinality([/* ... */]);
$promise = $client->getCardinalityAsync([/* ... */]);

Returns the approximate count of unique values that match the query.

Requires permission to access the GetCardinality action.

Parameter Syntax

$result = $client->getCardinality([
    'aggregationField' => '<string>',
    'indexName' => '<string>',
    'queryString' => '<string>', // REQUIRED
    'queryVersion' => '<string>',
]);

Parameter Details

Members
aggregationField
Type: string

The field to aggregate.

indexName
Type: string

The name of the index to search.

queryString
Required: Yes
Type: string

The search query string.

queryVersion
Type: string

The query version.

Result Syntax

[
    'cardinality' => <integer>,
]

Result Details

Members
cardinality
Type: int

The approximate count of unique values that match the query.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

InvalidQueryException:

The query is invalid.

InvalidAggregationException:

The aggregation is invalid.

IndexNotReadyException:

The index is not ready.

GetEffectivePolicies

$result = $client->getEffectivePolicies([/* ... */]);
$promise = $client->getEffectivePoliciesAsync([/* ... */]);

Gets a list of the policies that have an effect on the authorization behavior of the specified device when it connects to the IoT device gateway.

Requires permission to access the GetEffectivePolicies action.

Parameter Syntax

$result = $client->getEffectivePolicies([
    'cognitoIdentityPoolId' => '<string>',
    'principal' => '<string>',
    'thingName' => '<string>',
]);

Parameter Details

Members
cognitoIdentityPoolId
Type: string

The Cognito identity pool ID.

principal
Type: string

The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

thingName
Type: string

The thing name.

Result Syntax

[
    'effectivePolicies' => [
        [
            'policyArn' => '<string>',
            'policyDocument' => '<string>',
            'policyName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
effectivePolicies
Type: Array of EffectivePolicy structures

The effective policies.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

LimitExceededException:

A limit has been exceeded.

GetIndexingConfiguration

$result = $client->getIndexingConfiguration([/* ... */]);
$promise = $client->getIndexingConfigurationAsync([/* ... */]);

Gets the indexing configuration.

Requires permission to access the GetIndexingConfiguration action.

Parameter Syntax

$result = $client->getIndexingConfiguration([
]);

Parameter Details

Members

Result Syntax

[
    'thingGroupIndexingConfiguration' => [
        'customFields' => [
            [
                'name' => '<string>',
                'type' => 'Number|String|Boolean',
            ],
            // ...
        ],
        'managedFields' => [
            [
                'name' => '<string>',
                'type' => 'Number|String|Boolean',
            ],
            // ...
        ],
        'thingGroupIndexingMode' => 'OFF|ON',
    ],
    'thingIndexingConfiguration' => [
        'customFields' => [
            [
                'name' => '<string>',
                'type' => 'Number|String|Boolean',
            ],
            // ...
        ],
        'deviceDefenderIndexingMode' => 'OFF|VIOLATIONS',
        'filter' => [
            'geoLocations' => [
                [
                    'name' => '<string>',
                    'order' => 'LatLon|LonLat',
                ],
                // ...
            ],
            'namedShadowNames' => ['<string>', ...],
        ],
        'managedFields' => [
            [
                'name' => '<string>',
                'type' => 'Number|String|Boolean',
            ],
            // ...
        ],
        'namedShadowIndexingMode' => 'OFF|ON',
        'thingConnectivityIndexingMode' => 'OFF|STATUS',
        'thingIndexingMode' => 'OFF|REGISTRY|REGISTRY_AND_SHADOW',
    ],
]

Result Details

Members
thingGroupIndexingConfiguration

The index configuration.

thingIndexingConfiguration
Type: ThingIndexingConfiguration structure

Thing indexing configuration.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

GetJobDocument

$result = $client->getJobDocument([/* ... */]);
$promise = $client->getJobDocumentAsync([/* ... */]);

Gets a job document.

Requires permission to access the GetJobDocument action.

Parameter Syntax

$result = $client->getJobDocument([
    'jobId' => '<string>', // REQUIRED
]);

Parameter Details

Members
jobId
Required: Yes
Type: string

The unique identifier you assigned to this job when it was created.

Result Syntax

[
    'document' => '<string>',
]

Result Details

Members
document
Type: string

The job document content.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

GetLoggingOptions

$result = $client->getLoggingOptions([/* ... */]);
$promise = $client->getLoggingOptionsAsync([/* ... */]);

Gets the logging options.

NOTE: use of this command is not recommended. Use GetV2LoggingOptions instead.

Requires permission to access the GetLoggingOptions action.

Parameter Syntax

$result = $client->getLoggingOptions([
]);

Parameter Details

Members

Result Syntax

[
    'logLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED',
    'roleArn' => '<string>',
]

Result Details

Members
logLevel
Type: string

The logging level.

roleArn
Type: string

The ARN of the IAM role that grants access.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

GetOTAUpdate

$result = $client->getOTAUpdate([/* ... */]);
$promise = $client->getOTAUpdateAsync([/* ... */]);

Gets an OTA update.

Requires permission to access the GetOTAUpdate action.

Parameter Syntax

$result = $client->getOTAUpdate([
    'otaUpdateId' => '<string>', // REQUIRED
]);

Parameter Details

Members
otaUpdateId
Required: Yes
Type: string

The OTA update ID.

Result Syntax

[
    'otaUpdateInfo' => [
        'additionalParameters' => ['<string>', ...],
        'awsIotJobArn' => '<string>',
        'awsIotJobId' => '<string>',
        'awsJobExecutionsRolloutConfig' => [
            'exponentialRate' => [
                'baseRatePerMinute' => <integer>,
                'incrementFactor' => <float>,
                'rateIncreaseCriteria' => [
                    'numberOfNotifiedThings' => <integer>,
                    'numberOfSucceededThings' => <integer>,
                ],
            ],
            'maximumPerMinute' => <integer>,
        ],
        'awsJobPresignedUrlConfig' => [
            'expiresInSec' => <integer>,
        ],
        'creationDate' => <DateTime>,
        'description' => '<string>',
        'errorInfo' => [
            'code' => '<string>',
            'message' => '<string>',
        ],
        'lastModifiedDate' => <DateTime>,
        'otaUpdateArn' => '<string>',
        'otaUpdateFiles' => [
            [
                'attributes' => ['<string>', ...],
                'codeSigning' => [
                    'awsSignerJobId' => '<string>',
                    'customCodeSigning' => [
                        'certificateChain' => [
                            'certificateName' => '<string>',
                            'inlineDocument' => '<string>',
                        ],
                        'hashAlgorithm' => '<string>',
                        'signature' => [
                            'inlineDocument' => <string || resource || Psr\Http\Message\StreamInterface>,
                        ],
                        'signatureAlgorithm' => '<string>',
                    ],
                    'startSigningJobParameter' => [
                        'destination' => [
                            's3Destination' => [
                                'bucket' => '<string>',
                                'prefix' => '<string>',
                            ],
                        ],
                        'signingProfileName' => '<string>',
                        'signingProfileParameter' => [
                            'certificateArn' => '<string>',
                            'certificatePathOnDevice' => '<string>',
                            'platform' => '<string>',
                        ],
                    ],
                ],
                'fileLocation' => [
                    's3Location' => [
                        'bucket' => '<string>',
                        'key' => '<string>',
                        'version' => '<string>',
                    ],
                    'stream' => [
                        'fileId' => <integer>,
                        'streamId' => '<string>',
                    ],
                ],
                'fileName' => '<string>',
                'fileType' => <integer>,
                'fileVersion' => '<string>',
            ],
            // ...
        ],
        'otaUpdateId' => '<string>',
        'otaUpdateStatus' => 'CREATE_PENDING|CREATE_IN_PROGRESS|CREATE_COMPLETE|CREATE_FAILED|DELETE_IN_PROGRESS|DELETE_FAILED',
        'protocols' => ['<string>', ...],
        'targetSelection' => 'CONTINUOUS|SNAPSHOT',
        'targets' => ['<string>', ...],
    ],
]

Result Details

Members
otaUpdateInfo
Type: OTAUpdateInfo structure

The OTA update info.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

InternalFailureException:

An unexpected error has occurred.

ServiceUnavailableException:

The service is temporarily unavailable.

ResourceNotFoundException:

The specified resource does not exist.

GetPackage

$result = $client->getPackage([/* ... */]);
$promise = $client->getPackageAsync([/* ... */]);

Gets information about the specified software package.

Requires permission to access the GetPackage action.

Parameter Syntax

$result = $client->getPackage([
    'packageName' => '<string>', // REQUIRED
]);

Parameter Details

Members
packageName
Required: Yes
Type: string

The name of the target software package.

Result Syntax

[
    'creationDate' => <DateTime>,
    'defaultVersionName' => '<string>',
    'description' => '<string>',
    'lastModifiedDate' => <DateTime>,
    'packageArn' => '<string>',
    'packageName' => '<string>',
]

Result Details

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the package was created.

defaultVersionName
Type: string

The name of the default package version.

description
Type: string

The package description.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the package was last updated.

packageArn
Type: string

The ARN for the package.

packageName
Type: string

The name of the software package.

Errors

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ValidationException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

GetPackageConfiguration

$result = $client->getPackageConfiguration([/* ... */]);
$promise = $client->getPackageConfigurationAsync([/* ... */]);

Gets information about the specified software package's configuration.

Requires permission to access the GetPackageConfiguration action.

Parameter Syntax

$result = $client->getPackageConfiguration([
]);

Parameter Details

Members

Result Syntax

[
    'versionUpdateByJobsConfig' => [
        'enabled' => true || false,
        'roleArn' => '<string>',
    ],
]

Result Details

Members
versionUpdateByJobsConfig
Type: VersionUpdateByJobsConfig structure

The version that is associated to a specific job.

Errors

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

GetPackageVersion

$result = $client->getPackageVersion([/* ... */]);
$promise = $client->getPackageVersionAsync([/* ... */]);

Gets information about the specified package version.

Requires permission to access the GetPackageVersion action.

Parameter Syntax

$result = $client->getPackageVersion([
    'packageName' => '<string>', // REQUIRED
    'versionName' => '<string>', // REQUIRED
]);

Parameter Details

Members
packageName
Required: Yes
Type: string

The name of the associated package.

versionName
Required: Yes
Type: string

The name of the target package version.

Result Syntax

[
    'attributes' => ['<string>', ...],
    'creationDate' => <DateTime>,
    'description' => '<string>',
    'errorReason' => '<string>',
    'lastModifiedDate' => <DateTime>,
    'packageName' => '<string>',
    'packageVersionArn' => '<string>',
    'status' => 'DRAFT|PUBLISHED|DEPRECATED',
    'versionName' => '<string>',
]

Result Details

Members
attributes
Type: Associative array of custom strings keys (ResourceAttributeKey) to strings

Metadata that were added to the package version that can be used to define a package version’s configuration.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the package version was created.

description
Type: string

The package version description.

errorReason
Type: string

Error reason for a package version failure during creation or update.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the package version was last updated.

packageName
Type: string

The name of the software package.

packageVersionArn
Type: string

The ARN for the package version.

status
Type: string

The status associated to the package version. For more information, see Package version lifecycle.

versionName
Type: string

The name of the package version.

Errors

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ValidationException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

GetPercentiles

$result = $client->getPercentiles([/* ... */]);
$promise = $client->getPercentilesAsync([/* ... */]);

Groups the aggregated values that match the query into percentile groupings. The default percentile groupings are: 1,5,25,50,75,95,99, although you can specify your own when you call GetPercentiles. This function returns a value for each percentile group specified (or the default percentile groupings). The percentile group "1" contains the aggregated field value that occurs in approximately one percent of the values that match the query. The percentile group "5" contains the aggregated field value that occurs in approximately five percent of the values that match the query, and so on. The result is an approximation, the more values that match the query, the more accurate the percentile values.

Requires permission to access the GetPercentiles action.

Parameter Syntax

$result = $client->getPercentiles([
    'aggregationField' => '<string>',
    'indexName' => '<string>',
    'percents' => [<float>, ...],
    'queryString' => '<string>', // REQUIRED
    'queryVersion' => '<string>',
]);

Parameter Details

Members
aggregationField
Type: string

The field to aggregate.

indexName
Type: string

The name of the index to search.

percents
Type: Array of doubles

The percentile groups returned.

queryString
Required: Yes
Type: string

The search query string.

queryVersion
Type: string

The query version.

Result Syntax

[
    'percentiles' => [
        [
            'percent' => <float>,
            'value' => <float>,
        ],
        // ...
    ],
]

Result Details

Members
percentiles
Type: Array of PercentPair structures

The percentile values of the aggregated fields.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

InvalidQueryException:

The query is invalid.

InvalidAggregationException:

The aggregation is invalid.

IndexNotReadyException:

The index is not ready.

GetPolicy

$result = $client->getPolicy([/* ... */]);
$promise = $client->getPolicyAsync([/* ... */]);

Gets information about the specified policy with the policy document of the default version.

Requires permission to access the GetPolicy action.

Parameter Syntax

$result = $client->getPolicy([
    'policyName' => '<string>', // REQUIRED
]);

Parameter Details

Members
policyName
Required: Yes
Type: string

The name of the policy.

Result Syntax

[
    'creationDate' => <DateTime>,
    'defaultVersionId' => '<string>',
    'generationId' => '<string>',
    'lastModifiedDate' => <DateTime>,
    'policyArn' => '<string>',
    'policyDocument' => '<string>',
    'policyName' => '<string>',
]

Result Details

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the policy was created.

defaultVersionId
Type: string

The default policy version ID.

generationId
Type: string

The generation ID of the policy.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the policy was last modified.

policyArn
Type: string

The policy ARN.

policyDocument
Type: string

The JSON document that describes the policy.

policyName
Type: string

The policy name.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

GetPolicyVersion

$result = $client->getPolicyVersion([/* ... */]);
$promise = $client->getPolicyVersionAsync([/* ... */]);

Gets information about the specified policy version.

Requires permission to access the GetPolicyVersion action.

Parameter Syntax

$result = $client->getPolicyVersion([
    'policyName' => '<string>', // REQUIRED
    'policyVersionId' => '<string>', // REQUIRED
]);

Parameter Details

Members
policyName
Required: Yes
Type: string

The name of the policy.

policyVersionId
Required: Yes
Type: string

The policy version ID.

Result Syntax

[
    'creationDate' => <DateTime>,
    'generationId' => '<string>',
    'isDefaultVersion' => true || false,
    'lastModifiedDate' => <DateTime>,
    'policyArn' => '<string>',
    'policyDocument' => '<string>',
    'policyName' => '<string>',
    'policyVersionId' => '<string>',
]

Result Details

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the policy was created.

generationId
Type: string

The generation ID of the policy version.

isDefaultVersion
Type: boolean

Specifies whether the policy version is the default.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the policy was last modified.

policyArn
Type: string

The policy ARN.

policyDocument
Type: string

The JSON document that describes the policy.

policyName
Type: string

The policy name.

policyVersionId
Type: string

The policy version ID.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

GetRegistrationCode

$result = $client->getRegistrationCode([/* ... */]);
$promise = $client->getRegistrationCodeAsync([/* ... */]);

Gets a registration code used to register a CA certificate with IoT.

IoT will create a registration code as part of this API call if the registration code doesn't exist or has been deleted. If you already have a registration code, this API call will return the same registration code.

Requires permission to access the GetRegistrationCode action.

Parameter Syntax

$result = $client->getRegistrationCode([
]);

Parameter Details

Members

Result Syntax

[
    'registrationCode' => '<string>',
]

Result Details

Members
registrationCode
Type: string

The CA certificate registration code.

Errors

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

GetStatistics

$result = $client->getStatistics([/* ... */]);
$promise = $client->getStatisticsAsync([/* ... */]);

Returns the count, average, sum, minimum, maximum, sum of squares, variance, and standard deviation for the specified aggregated field. If the aggregation field is of type String, only the count statistic is returned.

Requires permission to access the GetStatistics action.

Parameter Syntax

$result = $client->getStatistics([
    'aggregationField' => '<string>',
    'indexName' => '<string>',
    'queryString' => '<string>', // REQUIRED
    'queryVersion' => '<string>',
]);

Parameter Details

Members
aggregationField
Type: string

The aggregation field name.

indexName
Type: string

The name of the index to search. The default value is AWS_Things.

queryString
Required: Yes
Type: string

The query used to search. You can specify "*" for the query string to get the count of all indexed things in your Amazon Web Services account.

queryVersion
Type: string

The version of the query used to search.

Result Syntax

[
    'statistics' => [
        'average' => <float>,
        'count' => <integer>,
        'maximum' => <float>,
        'minimum' => <float>,
        'stdDeviation' => <float>,
        'sum' => <float>,
        'sumOfSquares' => <float>,
        'variance' => <float>,
    ],
]

Result Details

Members
statistics
Type: Statistics structure

The statistics returned by the Fleet Indexing service based on the query and aggregation field.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

InvalidQueryException:

The query is invalid.

InvalidAggregationException:

The aggregation is invalid.

IndexNotReadyException:

The index is not ready.

GetTopicRule

$result = $client->getTopicRule([/* ... */]);
$promise = $client->getTopicRuleAsync([/* ... */]);

Gets information about the rule.

Requires permission to access the GetTopicRule action.

Parameter Syntax

$result = $client->getTopicRule([
    'ruleName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ruleName
Required: Yes
Type: string

The name of the rule.

Result Syntax

[
    'rule' => [
        'actions' => [
            [
                'cloudwatchAlarm' => [
                    'alarmName' => '<string>',
                    'roleArn' => '<string>',
                    'stateReason' => '<string>',
                    'stateValue' => '<string>',
                ],
                'cloudwatchLogs' => [
                    'batchMode' => true || false,
                    'logGroupName' => '<string>',
                    'roleArn' => '<string>',
                ],
                'cloudwatchMetric' => [
                    'metricName' => '<string>',
                    'metricNamespace' => '<string>',
                    'metricTimestamp' => '<string>',
                    'metricUnit' => '<string>',
                    'metricValue' => '<string>',
                    'roleArn' => '<string>',
                ],
                'dynamoDB' => [
                    'hashKeyField' => '<string>',
                    'hashKeyType' => 'STRING|NUMBER',
                    'hashKeyValue' => '<string>',
                    'operation' => '<string>',
                    'payloadField' => '<string>',
                    'rangeKeyField' => '<string>',
                    'rangeKeyType' => 'STRING|NUMBER',
                    'rangeKeyValue' => '<string>',
                    'roleArn' => '<string>',
                    'tableName' => '<string>',
                ],
                'dynamoDBv2' => [
                    'putItem' => [
                        'tableName' => '<string>',
                    ],
                    'roleArn' => '<string>',
                ],
                'elasticsearch' => [
                    'endpoint' => '<string>',
                    'id' => '<string>',
                    'index' => '<string>',
                    'roleArn' => '<string>',
                    'type' => '<string>',
                ],
                'firehose' => [
                    'batchMode' => true || false,
                    'deliveryStreamName' => '<string>',
                    'roleArn' => '<string>',
                    'separator' => '<string>',
                ],
                'http' => [
                    'auth' => [
                        'sigv4' => [
                            'roleArn' => '<string>',
                            'serviceName' => '<string>',
                            'signingRegion' => '<string>',
                        ],
                    ],
                    'confirmationUrl' => '<string>',
                    'headers' => [
                        [
                            'key' => '<string>',
                            'value' => '<string>',
                        ],
                        // ...
                    ],
                    'url' => '<string>',
                ],
                'iotAnalytics' => [
                    'batchMode' => true || false,
                    'channelArn' => '<string>',
                    'channelName' => '<string>',
                    'roleArn' => '<string>',
                ],
                'iotEvents' => [
                    'batchMode' => true || false,
                    'inputName' => '<string>',
                    'messageId' => '<string>',
                    'roleArn' => '<string>',
                ],
                'iotSiteWise' => [
                    'putAssetPropertyValueEntries' => [
                        [
                            'assetId' => '<string>',
                            'entryId' => '<string>',
                            'propertyAlias' => '<string>',
                            'propertyId' => '<string>',
                            'propertyValues' => [
                                [
                                    'quality' => '<string>',
                                    'timestamp' => [
                                        'offsetInNanos' => '<string>',
                                        'timeInSeconds' => '<string>',
                                    ],
                                    'value' => [
                                        'booleanValue' => '<string>',
                                        'doubleValue' => '<string>',
                                        'integerValue' => '<string>',
                                        'stringValue' => '<string>',
                                    ],
                                ],
                                // ...
                            ],
                        ],
                        // ...
                    ],
                    'roleArn' => '<string>',
                ],
                'kafka' => [
                    'clientProperties' => ['<string>', ...],
                    'destinationArn' => '<string>',
                    'headers' => [
                        [
                            'key' => '<string>',
                            'value' => '<string>',
                        ],
                        // ...
                    ],
                    'key' => '<string>',
                    'partition' => '<string>',
                    'topic' => '<string>',
                ],
                'kinesis' => [
                    'partitionKey' => '<string>',
                    'roleArn' => '<string>',
                    'streamName' => '<string>',
                ],
                'lambda' => [
                    'functionArn' => '<string>',
                ],
                'location' => [
                    'deviceId' => '<string>',
                    'latitude' => '<string>',
                    'longitude' => '<string>',
                    'roleArn' => '<string>',
                    'timestamp' => [
                        'unit' => '<string>',
                        'value' => '<string>',
                    ],
                    'trackerName' => '<string>',
                ],
                'openSearch' => [
                    'endpoint' => '<string>',
                    'id' => '<string>',
                    'index' => '<string>',
                    'roleArn' => '<string>',
                    'type' => '<string>',
                ],
                'republish' => [
                    'headers' => [
                        'contentType' => '<string>',
                        'correlationData' => '<string>',
                        'messageExpiry' => '<string>',
                        'payloadFormatIndicator' => '<string>',
                        'responseTopic' => '<string>',
                        'userProperties' => [
                            [
                                'key' => '<string>',
                                'value' => '<string>',
                            ],
                            // ...
                        ],
                    ],
                    'qos' => <integer>,
                    'roleArn' => '<string>',
                    'topic' => '<string>',
                ],
                's3' => [
                    'bucketName' => '<string>',
                    'cannedAcl' => 'private|public-read|public-read-write|aws-exec-read|authenticated-read|bucket-owner-read|bucket-owner-full-control|log-delivery-write',
                    'key' => '<string>',
                    'roleArn' => '<string>',
                ],
                'salesforce' => [
                    'token' => '<string>',
                    'url' => '<string>',
                ],
                'sns' => [
                    'messageFormat' => 'RAW|JSON',
                    'roleArn' => '<string>',
                    'targetArn' => '<string>',
                ],
                'sqs' => [
                    'queueUrl' => '<string>',
                    'roleArn' => '<string>',
                    'useBase64' => true || false,
                ],
                'stepFunctions' => [
                    'executionNamePrefix' => '<string>',
                    'roleArn' => '<string>',
                    'stateMachineName' => '<string>',
                ],
                'timestream' => [
                    'databaseName' => '<string>',
                    'dimensions' => [
                        [
                            'name' => '<string>',
                            'value' => '<string>',
                        ],
                        // ...
                    ],
                    'roleArn' => '<string>',
                    'tableName' => '<string>',
                    'timestamp' => [
                        'unit' => '<string>',
                        'value' => '<string>',
                    ],
                ],
            ],
            // ...
        ],
        'awsIotSqlVersion' => '<string>',
        'createdAt' => <DateTime>,
        'description' => '<string>',
        'errorAction' => [
            'cloudwatchAlarm' => [
                'alarmName' => '<string>',
                'roleArn' => '<string>',
                'stateReason' => '<string>',
                'stateValue' => '<string>',
            ],
            'cloudwatchLogs' => [
                'batchMode' => true || false,
                'logGroupName' => '<string>',
                'roleArn' => '<string>',
            ],
            'cloudwatchMetric' => [
                'metricName' => '<string>',
                'metricNamespace' => '<string>',
                'metricTimestamp' => '<string>',
                'metricUnit' => '<string>',
                'metricValue' => '<string>',
                'roleArn' => '<string>',
            ],
            'dynamoDB' => [
                'hashKeyField' => '<string>',
                'hashKeyType' => 'STRING|NUMBER',
                'hashKeyValue' => '<string>',
                'operation' => '<string>',
                'payloadField' => '<string>',
                'rangeKeyField' => '<string>',
                'rangeKeyType' => 'STRING|NUMBER',
                'rangeKeyValue' => '<string>',
                'roleArn' => '<string>',
                'tableName' => '<string>',
            ],
            'dynamoDBv2' => [
                'putItem' => [
                    'tableName' => '<string>',
                ],
                'roleArn' => '<string>',
            ],
            'elasticsearch' => [
                'endpoint' => '<string>',
                'id' => '<string>',
                'index' => '<string>',
                'roleArn' => '<string>',
                'type' => '<string>',
            ],
            'firehose' => [
                'batchMode' => true || false,
                'deliveryStreamName' => '<string>',
                'roleArn' => '<string>',
                'separator' => '<string>',
            ],
            'http' => [
                'auth' => [
                    'sigv4' => [
                        'roleArn' => '<string>',
                        'serviceName' => '<string>',
                        'signingRegion' => '<string>',
                    ],
                ],
                'confirmationUrl' => '<string>',
                'headers' => [
                    [
                        'key' => '<string>',
                        'value' => '<string>',
                    ],
                    // ...
                ],
                'url' => '<string>',
            ],
            'iotAnalytics' => [
                'batchMode' => true || false,
                'channelArn' => '<string>',
                'channelName' => '<string>',
                'roleArn' => '<string>',
            ],
            'iotEvents' => [
                'batchMode' => true || false,
                'inputName' => '<string>',
                'messageId' => '<string>',
                'roleArn' => '<string>',
            ],
            'iotSiteWise' => [
                'putAssetPropertyValueEntries' => [
                    [
                        'assetId' => '<string>',
                        'entryId' => '<string>',
                        'propertyAlias' => '<string>',
                        'propertyId' => '<string>',
                        'propertyValues' => [
                            [
                                'quality' => '<string>',
                                'timestamp' => [
                                    'offsetInNanos' => '<string>',
                                    'timeInSeconds' => '<string>',
                                ],
                                'value' => [
                                    'booleanValue' => '<string>',
                                    'doubleValue' => '<string>',
                                    'integerValue' => '<string>',
                                    'stringValue' => '<string>',
                                ],
                            ],
                            // ...
                        ],
                    ],
                    // ...
                ],
                'roleArn' => '<string>',
            ],
            'kafka' => [
                'clientProperties' => ['<string>', ...],
                'destinationArn' => '<string>',
                'headers' => [
                    [
                        'key' => '<string>',
                        'value' => '<string>',
                    ],
                    // ...
                ],
                'key' => '<string>',
                'partition' => '<string>',
                'topic' => '<string>',
            ],
            'kinesis' => [
                'partitionKey' => '<string>',
                'roleArn' => '<string>',
                'streamName' => '<string>',
            ],
            'lambda' => [
                'functionArn' => '<string>',
            ],
            'location' => [
                'deviceId' => '<string>',
                'latitude' => '<string>',
                'longitude' => '<string>',
                'roleArn' => '<string>',
                'timestamp' => [
                    'unit' => '<string>',
                    'value' => '<string>',
                ],
                'trackerName' => '<string>',
            ],
            'openSearch' => [
                'endpoint' => '<string>',
                'id' => '<string>',
                'index' => '<string>',
                'roleArn' => '<string>',
                'type' => '<string>',
            ],
            'republish' => [
                'headers' => [
                    'contentType' => '<string>',
                    'correlationData' => '<string>',
                    'messageExpiry' => '<string>',
                    'payloadFormatIndicator' => '<string>',
                    'responseTopic' => '<string>',
                    'userProperties' => [
                        [
                            'key' => '<string>',
                            'value' => '<string>',
                        ],
                        // ...
                    ],
                ],
                'qos' => <integer>,
                'roleArn' => '<string>',
                'topic' => '<string>',
            ],
            's3' => [
                'bucketName' => '<string>',
                'cannedAcl' => 'private|public-read|public-read-write|aws-exec-read|authenticated-read|bucket-owner-read|bucket-owner-full-control|log-delivery-write',
                'key' => '<string>',
                'roleArn' => '<string>',
            ],
            'salesforce' => [
                'token' => '<string>',
                'url' => '<string>',
            ],
            'sns' => [
                'messageFormat' => 'RAW|JSON',
                'roleArn' => '<string>',
                'targetArn' => '<string>',
            ],
            'sqs' => [
                'queueUrl' => '<string>',
                'roleArn' => '<string>',
                'useBase64' => true || false,
            ],
            'stepFunctions' => [
                'executionNamePrefix' => '<string>',
                'roleArn' => '<string>',
                'stateMachineName' => '<string>',
            ],
            'timestream' => [
                'databaseName' => '<string>',
                'dimensions' => [
                    [
                        'name' => '<string>',
                        'value' => '<string>',
                    ],
                    // ...
                ],
                'roleArn' => '<string>',
                'tableName' => '<string>',
                'timestamp' => [
                    'unit' => '<string>',
                    'value' => '<string>',
                ],
            ],
        ],
        'ruleDisabled' => true || false,
        'ruleName' => '<string>',
        'sql' => '<string>',
    ],
    'ruleArn' => '<string>',
]

Result Details

Members
rule
Type: TopicRule structure

The rule.

ruleArn
Type: string

The rule ARN.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

UnauthorizedException:

You are not authorized to perform this operation.

GetTopicRuleDestination

$result = $client->getTopicRuleDestination([/* ... */]);
$promise = $client->getTopicRuleDestinationAsync([/* ... */]);

Gets information about a topic rule destination.

Requires permission to access the GetTopicRuleDestination action.

Parameter Syntax

$result = $client->getTopicRuleDestination([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

The ARN of the topic rule destination.

Result Syntax

[
    'topicRuleDestination' => [
        'arn' => '<string>',
        'createdAt' => <DateTime>,
        'httpUrlProperties' => [
            'confirmationUrl' => '<string>',
        ],
        'lastUpdatedAt' => <DateTime>,
        'status' => 'ENABLED|IN_PROGRESS|DISABLED|ERROR|DELETING',
        'statusReason' => '<string>',
        'vpcProperties' => [
            'roleArn' => '<string>',
            'securityGroups' => ['<string>', ...],
            'subnetIds' => ['<string>', ...],
            'vpcId' => '<string>',
        ],
    ],
]

Result Details

Members
topicRuleDestination
Type: TopicRuleDestination structure

The topic rule destination.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

UnauthorizedException:

You are not authorized to perform this operation.

GetV2LoggingOptions

$result = $client->getV2LoggingOptions([/* ... */]);
$promise = $client->getV2LoggingOptionsAsync([/* ... */]);

Gets the fine grained logging options.

Requires permission to access the GetV2LoggingOptions action.

Parameter Syntax

$result = $client->getV2LoggingOptions([
]);

Parameter Details

Members

Result Syntax

[
    'defaultLogLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED',
    'disableAllLogs' => true || false,
    'roleArn' => '<string>',
]

Result Details

Members
defaultLogLevel
Type: string

The default log level.

disableAllLogs
Type: boolean

Disables all logs.

roleArn
Type: string

The IAM role ARN IoT uses to write to your CloudWatch logs.

Errors

InternalException:

An unexpected error has occurred.

NotConfiguredException:

The resource is not configured.

ServiceUnavailableException:

The service is temporarily unavailable.

ListActiveViolations

$result = $client->listActiveViolations([/* ... */]);
$promise = $client->listActiveViolationsAsync([/* ... */]);

Lists the active violations for a given Device Defender security profile.

Requires permission to access the ListActiveViolations action.

Parameter Syntax

$result = $client->listActiveViolations([
    'behaviorCriteriaType' => 'STATIC|STATISTICAL|MACHINE_LEARNING',
    'listSuppressedAlerts' => true || false,
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'securityProfileName' => '<string>',
    'thingName' => '<string>',
    'verificationState' => 'FALSE_POSITIVE|BENIGN_POSITIVE|TRUE_POSITIVE|UNKNOWN',
]);

Parameter Details

Members
behaviorCriteriaType
Type: string

The criteria for a behavior.

listSuppressedAlerts
Type: boolean

A list of all suppressed alerts.

maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

The token for the next set of results.

securityProfileName
Type: string

The name of the Device Defender security profile for which violations are listed.

thingName
Type: string

The name of the thing whose active violations are listed.

verificationState
Type: string

The verification state of the violation (detect alarm).

Result Syntax

[
    'activeViolations' => [
        [
            'behavior' => [
                'criteria' => [
                    'comparisonOperator' => 'less-than|less-than-equals|greater-than|greater-than-equals|in-cidr-set|not-in-cidr-set|in-port-set|not-in-port-set|in-set|not-in-set',
                    'consecutiveDatapointsToAlarm' => <integer>,
                    'consecutiveDatapointsToClear' => <integer>,
                    'durationSeconds' => <integer>,
                    'mlDetectionConfig' => [
                        'confidenceLevel' => 'LOW|MEDIUM|HIGH',
                    ],
                    'statisticalThreshold' => [
                        'statistic' => '<string>',
                    ],
                    'value' => [
                        'cidrs' => ['<string>', ...],
                        'count' => <integer>,
                        'number' => <float>,
                        'numbers' => [<float>, ...],
                        'ports' => [<integer>, ...],
                        'strings' => ['<string>', ...],
                    ],
                ],
                'exportMetric' => true || false,
                'metric' => '<string>',
                'metricDimension' => [
                    'dimensionName' => '<string>',
                    'operator' => 'IN|NOT_IN',
                ],
                'name' => '<string>',
                'suppressAlerts' => true || false,
            ],
            'lastViolationTime' => <DateTime>,
            'lastViolationValue' => [
                'cidrs' => ['<string>', ...],
                'count' => <integer>,
                'number' => <float>,
                'numbers' => [<float>, ...],
                'ports' => [<integer>, ...],
                'strings' => ['<string>', ...],
            ],
            'securityProfileName' => '<string>',
            'thingName' => '<string>',
            'verificationState' => 'FALSE_POSITIVE|BENIGN_POSITIVE|TRUE_POSITIVE|UNKNOWN',
            'verificationStateDescription' => '<string>',
            'violationEventAdditionalInfo' => [
                'confidenceLevel' => 'LOW|MEDIUM|HIGH',
            ],
            'violationId' => '<string>',
            'violationStartTime' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
activeViolations
Type: Array of ActiveViolation structures

The list of active violations.

nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListAttachedPolicies

$result = $client->listAttachedPolicies([/* ... */]);
$promise = $client->listAttachedPoliciesAsync([/* ... */]);

Lists the policies attached to the specified thing group.

Requires permission to access the ListAttachedPolicies action.

Parameter Syntax

$result = $client->listAttachedPolicies([
    'marker' => '<string>',
    'pageSize' => <integer>,
    'recursive' => true || false,
    'target' => '<string>', // REQUIRED
]);

Parameter Details

Members
marker
Type: string

The token to retrieve the next set of results.

pageSize
Type: int

The maximum number of results to be returned per request.

recursive
Type: boolean

When true, recursively list attached policies.

target
Required: Yes
Type: string

The group or principal for which the policies will be listed. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

Result Syntax

[
    'nextMarker' => '<string>',
    'policies' => [
        [
            'policyArn' => '<string>',
            'policyName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextMarker
Type: string

The token to retrieve the next set of results, or ``null`` if there are no more results.

policies
Type: Array of Policy structures

The policies.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

LimitExceededException:

A limit has been exceeded.

ListAuditFindings

$result = $client->listAuditFindings([/* ... */]);
$promise = $client->listAuditFindingsAsync([/* ... */]);

Lists the findings (results) of a Device Defender audit or of the audits performed during a specified time period. (Findings are retained for 90 days.)

Requires permission to access the ListAuditFindings action.

Parameter Syntax

$result = $client->listAuditFindings([
    'checkName' => '<string>',
    'endTime' => <integer || string || DateTime>,
    'listSuppressedFindings' => true || false,
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'resourceIdentifier' => [
        'account' => '<string>',
        'caCertificateId' => '<string>',
        'clientId' => '<string>',
        'cognitoIdentityPoolId' => '<string>',
        'deviceCertificateArn' => '<string>',
        'deviceCertificateId' => '<string>',
        'iamRoleArn' => '<string>',
        'issuerCertificateIdentifier' => [
            'issuerCertificateSerialNumber' => '<string>',
            'issuerCertificateSubject' => '<string>',
            'issuerId' => '<string>',
        ],
        'policyVersionIdentifier' => [
            'policyName' => '<string>',
            'policyVersionId' => '<string>',
        ],
        'roleAliasArn' => '<string>',
    ],
    'startTime' => <integer || string || DateTime>,
    'taskId' => '<string>',
]);

Parameter Details

Members
checkName
Type: string

A filter to limit results to the findings for the specified audit check.

endTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

A filter to limit results to those found before the specified time. You must specify either the startTime and endTime or the taskId, but not both.

listSuppressedFindings
Type: boolean

Boolean flag indicating whether only the suppressed findings or the unsuppressed findings should be listed. If this parameter isn't provided, the response will list both suppressed and unsuppressed findings.

maxResults
Type: int

The maximum number of results to return at one time. The default is 25.

nextToken
Type: string

The token for the next set of results.

resourceIdentifier
Type: ResourceIdentifier structure

Information identifying the noncompliant resource.

startTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.

taskId
Type: string

A filter to limit results to the audit with the specified ID. You must specify either the taskId or the startTime and endTime, but not both.

Result Syntax

[
    'findings' => [
        [
            'checkName' => '<string>',
            'findingId' => '<string>',
            'findingTime' => <DateTime>,
            'isSuppressed' => true || false,
            'nonCompliantResource' => [
                'additionalInfo' => ['<string>', ...],
                'resourceIdentifier' => [
                    'account' => '<string>',
                    'caCertificateId' => '<string>',
                    'clientId' => '<string>',
                    'cognitoIdentityPoolId' => '<string>',
                    'deviceCertificateArn' => '<string>',
                    'deviceCertificateId' => '<string>',
                    'iamRoleArn' => '<string>',
                    'issuerCertificateIdentifier' => [
                        'issuerCertificateSerialNumber' => '<string>',
                        'issuerCertificateSubject' => '<string>',
                        'issuerId' => '<string>',
                    ],
                    'policyVersionIdentifier' => [
                        'policyName' => '<string>',
                        'policyVersionId' => '<string>',
                    ],
                    'roleAliasArn' => '<string>',
                ],
                'resourceType' => 'DEVICE_CERTIFICATE|CA_CERTIFICATE|IOT_POLICY|COGNITO_IDENTITY_POOL|CLIENT_ID|ACCOUNT_SETTINGS|ROLE_ALIAS|IAM_ROLE|ISSUER_CERTIFICATE',
            ],
            'reasonForNonCompliance' => '<string>',
            'reasonForNonComplianceCode' => '<string>',
            'relatedResources' => [
                [
                    'additionalInfo' => ['<string>', ...],
                    'resourceIdentifier' => [
                        'account' => '<string>',
                        'caCertificateId' => '<string>',
                        'clientId' => '<string>',
                        'cognitoIdentityPoolId' => '<string>',
                        'deviceCertificateArn' => '<string>',
                        'deviceCertificateId' => '<string>',
                        'iamRoleArn' => '<string>',
                        'issuerCertificateIdentifier' => [
                            'issuerCertificateSerialNumber' => '<string>',
                            'issuerCertificateSubject' => '<string>',
                            'issuerId' => '<string>',
                        ],
                        'policyVersionIdentifier' => [
                            'policyName' => '<string>',
                            'policyVersionId' => '<string>',
                        ],
                        'roleAliasArn' => '<string>',
                    ],
                    'resourceType' => 'DEVICE_CERTIFICATE|CA_CERTIFICATE|IOT_POLICY|COGNITO_IDENTITY_POOL|CLIENT_ID|ACCOUNT_SETTINGS|ROLE_ALIAS|IAM_ROLE|ISSUER_CERTIFICATE',
                ],
                // ...
            ],
            'severity' => 'CRITICAL|HIGH|MEDIUM|LOW',
            'taskId' => '<string>',
            'taskStartTime' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
findings
Type: Array of AuditFinding structures

The findings (results) of the audit.

nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListAuditMitigationActionsExecutions

$result = $client->listAuditMitigationActionsExecutions([/* ... */]);
$promise = $client->listAuditMitigationActionsExecutionsAsync([/* ... */]);

Gets the status of audit mitigation action tasks that were executed.

Requires permission to access the ListAuditMitigationActionsExecutions action.

Parameter Syntax

$result = $client->listAuditMitigationActionsExecutions([
    'actionStatus' => 'IN_PROGRESS|COMPLETED|FAILED|CANCELED|SKIPPED|PENDING',
    'findingId' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'taskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
actionStatus
Type: string

Specify this filter to limit results to those with a specific status.

findingId
Required: Yes
Type: string

Specify this filter to limit results to those that were applied to a specific audit finding.

maxResults
Type: int

The maximum number of results to return at one time. The default is 25.

nextToken
Type: string

The token for the next set of results.

taskId
Required: Yes
Type: string

Specify this filter to limit results to actions for a specific audit mitigation actions task.

Result Syntax

[
    'actionsExecutions' => [
        [
            'actionId' => '<string>',
            'actionName' => '<string>',
            'endTime' => <DateTime>,
            'errorCode' => '<string>',
            'findingId' => '<string>',
            'message' => '<string>',
            'startTime' => <DateTime>,
            'status' => 'IN_PROGRESS|COMPLETED|FAILED|CANCELED|SKIPPED|PENDING',
            'taskId' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
actionsExecutions
Type: Array of AuditMitigationActionExecutionMetadata structures

A set of task execution results based on the input parameters. Details include the mitigation action applied, start time, and task status.

nextToken
Type: string

The token for the next set of results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListAuditMitigationActionsTasks

$result = $client->listAuditMitigationActionsTasks([/* ... */]);
$promise = $client->listAuditMitigationActionsTasksAsync([/* ... */]);

Gets a list of audit mitigation action tasks that match the specified filters.

Requires permission to access the ListAuditMitigationActionsTasks action.

Parameter Syntax

$result = $client->listAuditMitigationActionsTasks([
    'auditTaskId' => '<string>',
    'endTime' => <integer || string || DateTime>, // REQUIRED
    'findingId' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'startTime' => <integer || string || DateTime>, // REQUIRED
    'taskStatus' => 'IN_PROGRESS|COMPLETED|FAILED|CANCELED',
]);

Parameter Details

Members
auditTaskId
Type: string

Specify this filter to limit results to tasks that were applied to results for a specific audit.

endTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specify this filter to limit results to tasks that were completed or canceled on or before a specific date and time.

findingId
Type: string

Specify this filter to limit results to tasks that were applied to a specific audit finding.

maxResults
Type: int

The maximum number of results to return at one time. The default is 25.

nextToken
Type: string

The token for the next set of results.

startTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specify this filter to limit results to tasks that began on or after a specific date and time.

taskStatus
Type: string

Specify this filter to limit results to tasks that are in a specific state.

Result Syntax

[
    'nextToken' => '<string>',
    'tasks' => [
        [
            'startTime' => <DateTime>,
            'taskId' => '<string>',
            'taskStatus' => 'IN_PROGRESS|COMPLETED|FAILED|CANCELED',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token for the next set of results.

tasks
Type: Array of AuditMitigationActionsTaskMetadata structures

The collection of audit mitigation tasks that matched the filter criteria.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListAuditSuppressions

$result = $client->listAuditSuppressions([/* ... */]);
$promise = $client->listAuditSuppressionsAsync([/* ... */]);

Lists your Device Defender audit listings.

Requires permission to access the ListAuditSuppressions action.

Parameter Syntax

$result = $client->listAuditSuppressions([
    'ascendingOrder' => true || false,
    'checkName' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'resourceIdentifier' => [
        'account' => '<string>',
        'caCertificateId' => '<string>',
        'clientId' => '<string>',
        'cognitoIdentityPoolId' => '<string>',
        'deviceCertificateArn' => '<string>',
        'deviceCertificateId' => '<string>',
        'iamRoleArn' => '<string>',
        'issuerCertificateIdentifier' => [
            'issuerCertificateSerialNumber' => '<string>',
            'issuerCertificateSubject' => '<string>',
            'issuerId' => '<string>',
        ],
        'policyVersionIdentifier' => [
            'policyName' => '<string>',
            'policyVersionId' => '<string>',
        ],
        'roleAliasArn' => '<string>',
    ],
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Determines whether suppressions are listed in ascending order by expiration date or not. If parameter isn't provided, ascendingOrder=true.

checkName
Type: string

An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

maxResults
Type: int

The maximum number of results to return at one time. The default is 25.

nextToken
Type: string

The token for the next set of results.

resourceIdentifier
Type: ResourceIdentifier structure

Information that identifies the noncompliant resource.

Result Syntax

[
    'nextToken' => '<string>',
    'suppressions' => [
        [
            'checkName' => '<string>',
            'description' => '<string>',
            'expirationDate' => <DateTime>,
            'resourceIdentifier' => [
                'account' => '<string>',
                'caCertificateId' => '<string>',
                'clientId' => '<string>',
                'cognitoIdentityPoolId' => '<string>',
                'deviceCertificateArn' => '<string>',
                'deviceCertificateId' => '<string>',
                'iamRoleArn' => '<string>',
                'issuerCertificateIdentifier' => [
                    'issuerCertificateSerialNumber' => '<string>',
                    'issuerCertificateSubject' => '<string>',
                    'issuerId' => '<string>',
                ],
                'policyVersionIdentifier' => [
                    'policyName' => '<string>',
                    'policyVersionId' => '<string>',
                ],
                'roleAliasArn' => '<string>',
            ],
            'suppressIndefinitely' => true || false,
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

suppressions
Type: Array of AuditSuppression structures

List of audit suppressions.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListAuditTasks

$result = $client->listAuditTasks([/* ... */]);
$promise = $client->listAuditTasksAsync([/* ... */]);

Lists the Device Defender audits that have been performed during a given time period.

Requires permission to access the ListAuditTasks action.

Parameter Syntax

$result = $client->listAuditTasks([
    'endTime' => <integer || string || DateTime>, // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'startTime' => <integer || string || DateTime>, // REQUIRED
    'taskStatus' => 'IN_PROGRESS|COMPLETED|FAILED|CANCELED',
    'taskType' => 'ON_DEMAND_AUDIT_TASK|SCHEDULED_AUDIT_TASK',
]);

Parameter Details

Members
endTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end of the time period.

maxResults
Type: int

The maximum number of results to return at one time. The default is 25.

nextToken
Type: string

The token for the next set of results.

startTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The beginning of the time period. Audit information is retained for a limited time (90 days). Requesting a start time prior to what is retained results in an "InvalidRequestException".

taskStatus
Type: string

A filter to limit the output to audits with the specified completion status: can be one of "IN_PROGRESS", "COMPLETED", "FAILED", or "CANCELED".

taskType
Type: string

A filter to limit the output to the specified type of audit: can be one of "ON_DEMAND_AUDIT_TASK" or "SCHEDULED__AUDIT_TASK".

Result Syntax

[
    'nextToken' => '<string>',
    'tasks' => [
        [
            'taskId' => '<string>',
            'taskStatus' => 'IN_PROGRESS|COMPLETED|FAILED|CANCELED',
            'taskType' => 'ON_DEMAND_AUDIT_TASK|SCHEDULED_AUDIT_TASK',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

tasks
Type: Array of AuditTaskMetadata structures

The audits that were performed during the specified time period.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListAuthorizers

$result = $client->listAuthorizers([/* ... */]);
$promise = $client->listAuthorizersAsync([/* ... */]);

Lists the authorizers registered in your account.

Requires permission to access the ListAuthorizers action.

Parameter Syntax

$result = $client->listAuthorizers([
    'ascendingOrder' => true || false,
    'marker' => '<string>',
    'pageSize' => <integer>,
    'status' => 'ACTIVE|INACTIVE',
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Return the list of authorizers in ascending alphabetical order.

marker
Type: string

A marker used to get the next set of results.

pageSize
Type: int

The maximum number of results to return at one time.

status
Type: string

The status of the list authorizers request.

Result Syntax

[
    'authorizers' => [
        [
            'authorizerArn' => '<string>',
            'authorizerName' => '<string>',
        ],
        // ...
    ],
    'nextMarker' => '<string>',
]

Result Details

Members
authorizers
Type: Array of AuthorizerSummary structures

The authorizers.

nextMarker
Type: string

A marker used to get the next set of results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListBillingGroups

$result = $client->listBillingGroups([/* ... */]);
$promise = $client->listBillingGroupsAsync([/* ... */]);

Lists the billing groups you have created.

Requires permission to access the ListBillingGroups action.

Parameter Syntax

$result = $client->listBillingGroups([
    'maxResults' => <integer>,
    'namePrefixFilter' => '<string>',
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return per request.

namePrefixFilter
Type: string

Limit the results to billing groups whose names have the given prefix.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

Result Syntax

[
    'billingGroups' => [
        [
            'groupArn' => '<string>',
            'groupName' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
billingGroups
Type: Array of GroupNameAndArn structures

The list of billing groups.

nextToken
Type: string

The token to use to get the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ListCACertificates

$result = $client->listCACertificates([/* ... */]);
$promise = $client->listCACertificatesAsync([/* ... */]);

Lists the CA certificates registered for your Amazon Web Services account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

Requires permission to access the ListCACertificates action.

Parameter Syntax

$result = $client->listCACertificates([
    'ascendingOrder' => true || false,
    'marker' => '<string>',
    'pageSize' => <integer>,
    'templateName' => '<string>',
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Determines the order of the results.

marker
Type: string

The marker for the next set of results.

pageSize
Type: int

The result page size.

templateName
Type: string

The name of the provisioning template.

Result Syntax

[
    'certificates' => [
        [
            'certificateArn' => '<string>',
            'certificateId' => '<string>',
            'creationDate' => <DateTime>,
            'status' => 'ACTIVE|INACTIVE',
        ],
        // ...
    ],
    'nextMarker' => '<string>',
]

Result Details

Members
certificates
Type: Array of CACertificate structures

The CA certificates registered in your Amazon Web Services account.

nextMarker
Type: string

The current position within the list of CA certificates.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListCertificateProviders

$result = $client->listCertificateProviders([/* ... */]);
$promise = $client->listCertificateProvidersAsync([/* ... */]);

Lists all your certificate providers in your Amazon Web Services account.

Requires permission to access the ListCertificateProviders action.

Parameter Syntax

$result = $client->listCertificateProviders([
    'ascendingOrder' => true || false,
    'nextToken' => '<string>',
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Returns the list of certificate providers in ascending alphabetical order.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

Result Syntax

[
    'certificateProviders' => [
        [
            'certificateProviderArn' => '<string>',
            'certificateProviderName' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
certificateProviders
Type: Array of CertificateProviderSummary structures

The list of certificate providers in your Amazon Web Services account.

nextToken
Type: string

The token for the next set of results, or null if there are no more results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListCertificates

$result = $client->listCertificates([/* ... */]);
$promise = $client->listCertificatesAsync([/* ... */]);

Lists the certificates registered in your Amazon Web Services account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

Requires permission to access the ListCertificates action.

Parameter Syntax

$result = $client->listCertificates([
    'ascendingOrder' => true || false,
    'marker' => '<string>',
    'pageSize' => <integer>,
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

marker
Type: string

The marker for the next set of results.

pageSize
Type: int

The result page size.

Result Syntax

[
    'certificates' => [
        [
            'certificateArn' => '<string>',
            'certificateId' => '<string>',
            'certificateMode' => 'DEFAULT|SNI_ONLY',
            'creationDate' => <DateTime>,
            'status' => 'ACTIVE|INACTIVE|REVOKED|PENDING_TRANSFER|REGISTER_INACTIVE|PENDING_ACTIVATION',
        ],
        // ...
    ],
    'nextMarker' => '<string>',
]

Result Details

Members
certificates
Type: Array of Certificate structures

The descriptions of the certificates.

nextMarker
Type: string

The marker for the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListCertificatesByCA

$result = $client->listCertificatesByCA([/* ... */]);
$promise = $client->listCertificatesByCAAsync([/* ... */]);

List the device certificates signed by the specified CA certificate.

Requires permission to access the ListCertificatesByCA action.

Parameter Syntax

$result = $client->listCertificatesByCA([
    'ascendingOrder' => true || false,
    'caCertificateId' => '<string>', // REQUIRED
    'marker' => '<string>',
    'pageSize' => <integer>,
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

caCertificateId
Required: Yes
Type: string

The ID of the CA certificate. This operation will list all registered device certificate that were signed by this CA certificate.

marker
Type: string

The marker for the next set of results.

pageSize
Type: int

The result page size.

Result Syntax

[
    'certificates' => [
        [
            'certificateArn' => '<string>',
            'certificateId' => '<string>',
            'certificateMode' => 'DEFAULT|SNI_ONLY',
            'creationDate' => <DateTime>,
            'status' => 'ACTIVE|INACTIVE|REVOKED|PENDING_TRANSFER|REGISTER_INACTIVE|PENDING_ACTIVATION',
        ],
        // ...
    ],
    'nextMarker' => '<string>',
]

Result Details

Members
certificates
Type: Array of Certificate structures

The device certificates signed by the specified CA certificate.

nextMarker
Type: string

The marker for the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListCustomMetrics

$result = $client->listCustomMetrics([/* ... */]);
$promise = $client->listCustomMetricsAsync([/* ... */]);

Lists your Device Defender detect custom metrics.

Requires permission to access the ListCustomMetrics action.

Parameter Syntax

$result = $client->listCustomMetrics([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time. The default is 25.

nextToken
Type: string

The token for the next set of results.

Result Syntax

[
    'metricNames' => ['<string>', ...],
    'nextToken' => '<string>',
]

Result Details

Members
metricNames
Type: Array of strings

The name of the custom metric.

nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListDetectMitigationActionsExecutions

$result = $client->listDetectMitigationActionsExecutions([/* ... */]);
$promise = $client->listDetectMitigationActionsExecutionsAsync([/* ... */]);

Lists mitigation actions executions for a Device Defender ML Detect Security Profile.

Requires permission to access the ListDetectMitigationActionsExecutions action.

Parameter Syntax

$result = $client->listDetectMitigationActionsExecutions([
    'endTime' => <integer || string || DateTime>,
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'startTime' => <integer || string || DateTime>,
    'taskId' => '<string>',
    'thingName' => '<string>',
    'violationId' => '<string>',
]);

Parameter Details

Members
endTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end of the time period for which ML Detect mitigation actions executions are returned.

maxResults
Type: int

The maximum number of results to return at one time. The default is 25.

nextToken
Type: string

The token for the next set of results.

startTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.

taskId
Type: string

The unique identifier of the task.

thingName
Type: string

The name of the thing whose mitigation actions are listed.

violationId
Type: string

The unique identifier of the violation.

Result Syntax

[
    'actionsExecutions' => [
        [
            'actionName' => '<string>',
            'errorCode' => '<string>',
            'executionEndDate' => <DateTime>,
            'executionStartDate' => <DateTime>,
            'message' => '<string>',
            'status' => 'IN_PROGRESS|SUCCESSFUL|FAILED|SKIPPED',
            'taskId' => '<string>',
            'thingName' => '<string>',
            'violationId' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
actionsExecutions
Type: Array of DetectMitigationActionExecution structures

List of actions executions.

nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListDetectMitigationActionsTasks

$result = $client->listDetectMitigationActionsTasks([/* ... */]);
$promise = $client->listDetectMitigationActionsTasksAsync([/* ... */]);

List of Device Defender ML Detect mitigation actions tasks.

Requires permission to access the ListDetectMitigationActionsTasks action.

Parameter Syntax

$result = $client->listDetectMitigationActionsTasks([
    'endTime' => <integer || string || DateTime>, // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'startTime' => <integer || string || DateTime>, // REQUIRED
]);

Parameter Details

Members
endTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end of the time period for which ML Detect mitigation actions tasks are returned.

maxResults
Type: int

The maximum number of results to return at one time. The default is 25.

nextToken
Type: string

The token for the next set of results.

startTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.

Result Syntax

[
    'nextToken' => '<string>',
    'tasks' => [
        [
            'actionsDefinition' => [
                [
                    'actionParams' => [
                        'addThingsToThingGroupParams' => [
                            'overrideDynamicGroups' => true || false,
                            'thingGroupNames' => ['<string>', ...],
                        ],
                        'enableIoTLoggingParams' => [
                            'logLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED',
                            'roleArnForLogging' => '<string>',
                        ],
                        'publishFindingToSnsParams' => [
                            'topicArn' => '<string>',
                        ],
                        'replaceDefaultPolicyVersionParams' => [
                            'templateName' => 'BLANK_POLICY',
                        ],
                        'updateCACertificateParams' => [
                            'action' => 'DEACTIVATE',
                        ],
                        'updateDeviceCertificateParams' => [
                            'action' => 'DEACTIVATE',
                        ],
                    ],
                    'id' => '<string>',
                    'name' => '<string>',
                    'roleArn' => '<string>',
                ],
                // ...
            ],
            'onlyActiveViolationsIncluded' => true || false,
            'suppressedAlertsIncluded' => true || false,
            'target' => [
                'behaviorName' => '<string>',
                'securityProfileName' => '<string>',
                'violationIds' => ['<string>', ...],
            ],
            'taskEndTime' => <DateTime>,
            'taskId' => '<string>',
            'taskStartTime' => <DateTime>,
            'taskStatistics' => [
                'actionsExecuted' => <integer>,
                'actionsFailed' => <integer>,
                'actionsSkipped' => <integer>,
            ],
            'taskStatus' => 'IN_PROGRESS|SUCCESSFUL|FAILED|CANCELED',
            'violationEventOccurrenceRange' => [
                'endTime' => <DateTime>,
                'startTime' => <DateTime>,
            ],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

tasks
Type: Array of DetectMitigationActionsTaskSummary structures

The collection of ML Detect mitigation tasks that matched the filter criteria.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListDimensions

$result = $client->listDimensions([/* ... */]);
$promise = $client->listDimensionsAsync([/* ... */]);

List the set of dimensions that are defined for your Amazon Web Services accounts.

Requires permission to access the ListDimensions action.

Parameter Syntax

$result = $client->listDimensions([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to retrieve at one time.

nextToken
Type: string

The token for the next set of results.

Result Syntax

[
    'dimensionNames' => ['<string>', ...],
    'nextToken' => '<string>',
]

Result Details

Members
dimensionNames
Type: Array of strings

A list of the names of the defined dimensions. Use DescribeDimension to get details for a dimension.

nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

ListDomainConfigurations

$result = $client->listDomainConfigurations([/* ... */]);
$promise = $client->listDomainConfigurationsAsync([/* ... */]);

Gets a list of domain configurations for the user. This list is sorted alphabetically by domain configuration name.

Requires permission to access the ListDomainConfigurations action.

Parameter Syntax

$result = $client->listDomainConfigurations([
    'marker' => '<string>',
    'pageSize' => <integer>,
    'serviceType' => 'DATA|CREDENTIAL_PROVIDER|JOBS',
]);

Parameter Details

Members
marker
Type: string

The marker for the next set of results.

pageSize
Type: int

The result page size.

serviceType
Type: string

The type of service delivered by the endpoint.

Result Syntax

[
    'domainConfigurations' => [
        [
            'domainConfigurationArn' => '<string>',
            'domainConfigurationName' => '<string>',
            'serviceType' => 'DATA|CREDENTIAL_PROVIDER|JOBS',
        ],
        // ...
    ],
    'nextMarker' => '<string>',
]

Result Details

Members
domainConfigurations
Type: Array of DomainConfigurationSummary structures

A list of objects that contain summary information about the user's domain configurations.

nextMarker
Type: string

The marker for the next set of results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListFleetMetrics

$result = $client->listFleetMetrics([/* ... */]);
$promise = $client->listFleetMetricsAsync([/* ... */]);

Lists all your fleet metrics.

Requires permission to access the ListFleetMetrics action.

Parameter Syntax

$result = $client->listFleetMetrics([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return in this operation.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

Result Syntax

[
    'fleetMetrics' => [
        [
            'metricArn' => '<string>',
            'metricName' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
fleetMetrics
Type: Array of FleetMetricNameAndArn structures

The list of fleet metrics objects.

nextToken
Type: string

The token for the next set of results. Will not be returned if the operation has returned all results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListIndices

$result = $client->listIndices([/* ... */]);
$promise = $client->listIndicesAsync([/* ... */]);

Lists the search indices.

Requires permission to access the ListIndices action.

Parameter Syntax

$result = $client->listIndices([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

The token used to get the next set of results, or null if there are no additional results.

Result Syntax

[
    'indexNames' => ['<string>', ...],
    'nextToken' => '<string>',
]

Result Details

Members
indexNames
Type: Array of strings

The index names.

nextToken
Type: string

The token used to get the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListJobExecutionsForJob

$result = $client->listJobExecutionsForJob([/* ... */]);
$promise = $client->listJobExecutionsForJobAsync([/* ... */]);

Lists the job executions for a job.

Requires permission to access the ListJobExecutionsForJob action.

Parameter Syntax

$result = $client->listJobExecutionsForJob([
    'jobId' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'status' => 'QUEUED|IN_PROGRESS|SUCCEEDED|FAILED|TIMED_OUT|REJECTED|REMOVED|CANCELED',
]);

Parameter Details

Members
jobId
Required: Yes
Type: string

The unique identifier you assigned to this job when it was created.

maxResults
Type: int

The maximum number of results to be returned per request.

nextToken
Type: string

The token to retrieve the next set of results.

status
Type: string

The status of the job.

Result Syntax

[
    'executionSummaries' => [
        [
            'jobExecutionSummary' => [
                'executionNumber' => <integer>,
                'lastUpdatedAt' => <DateTime>,
                'queuedAt' => <DateTime>,
                'retryAttempt' => <integer>,
                'startedAt' => <DateTime>,
                'status' => 'QUEUED|IN_PROGRESS|SUCCEEDED|FAILED|TIMED_OUT|REJECTED|REMOVED|CANCELED',
            ],
            'thingArn' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
executionSummaries
Type: Array of JobExecutionSummaryForJob structures

A list of job execution summaries.

nextToken
Type: string

The token for the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

ListJobExecutionsForThing

$result = $client->listJobExecutionsForThing([/* ... */]);
$promise = $client->listJobExecutionsForThingAsync([/* ... */]);

Lists the job executions for the specified thing.

Requires permission to access the ListJobExecutionsForThing action.

Parameter Syntax

$result = $client->listJobExecutionsForThing([
    'jobId' => '<string>',
    'maxResults' => <integer>,
    'namespaceId' => '<string>',
    'nextToken' => '<string>',
    'status' => 'QUEUED|IN_PROGRESS|SUCCEEDED|FAILED|TIMED_OUT|REJECTED|REMOVED|CANCELED',
    'thingName' => '<string>', // REQUIRED
]);

Parameter Details

Members
jobId
Type: string

The unique identifier you assigned to this job when it was created.

maxResults
Type: int

The maximum number of results to be returned per request.

namespaceId
Type: string

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

nextToken
Type: string

The token to retrieve the next set of results.

status
Type: string

An optional filter that lets you search for jobs that have the specified status.

thingName
Required: Yes
Type: string

The thing name.

Result Syntax

[
    'executionSummaries' => [
        [
            'jobExecutionSummary' => [
                'executionNumber' => <integer>,
                'lastUpdatedAt' => <DateTime>,
                'queuedAt' => <DateTime>,
                'retryAttempt' => <integer>,
                'startedAt' => <DateTime>,
                'status' => 'QUEUED|IN_PROGRESS|SUCCEEDED|FAILED|TIMED_OUT|REJECTED|REMOVED|CANCELED',
            ],
            'jobId' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
executionSummaries
Type: Array of JobExecutionSummaryForThing structures

A list of job execution summaries.

nextToken
Type: string

The token for the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

ListJobTemplates

$result = $client->listJobTemplates([/* ... */]);
$promise = $client->listJobTemplatesAsync([/* ... */]);

Returns a list of job templates.

Requires permission to access the ListJobTemplates action.

Parameter Syntax

$result = $client->listJobTemplates([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return in the list.

nextToken
Type: string

The token to use to return the next set of results in the list.

Result Syntax

[
    'jobTemplates' => [
        [
            'createdAt' => <DateTime>,
            'description' => '<string>',
            'jobTemplateArn' => '<string>',
            'jobTemplateId' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
jobTemplates
Type: Array of JobTemplateSummary structures

A list of objects that contain information about the job templates.

nextToken
Type: string

The token for the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListJobs

$result = $client->listJobs([/* ... */]);
$promise = $client->listJobsAsync([/* ... */]);

Lists jobs.

Requires permission to access the ListJobs action.

Parameter Syntax

$result = $client->listJobs([
    'maxResults' => <integer>,
    'namespaceId' => '<string>',
    'nextToken' => '<string>',
    'status' => 'IN_PROGRESS|CANCELED|COMPLETED|DELETION_IN_PROGRESS|SCHEDULED',
    'targetSelection' => 'CONTINUOUS|SNAPSHOT',
    'thingGroupId' => '<string>',
    'thingGroupName' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return per request.

namespaceId
Type: string

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

nextToken
Type: string

The token to retrieve the next set of results.

status
Type: string

An optional filter that lets you search for jobs that have the specified status.

targetSelection
Type: string

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.

We recommend that you use continuous jobs instead of snapshot jobs for dynamic thing group targets. By using continuous jobs, devices that join the group receive the job execution even after the job has been created.

thingGroupId
Type: string

A filter that limits the returned jobs to those for the specified group.

thingGroupName
Type: string

A filter that limits the returned jobs to those for the specified group.

Result Syntax

[
    'jobs' => [
        [
            'completedAt' => <DateTime>,
            'createdAt' => <DateTime>,
            'isConcurrent' => true || false,
            'jobArn' => '<string>',
            'jobId' => '<string>',
            'lastUpdatedAt' => <DateTime>,
            'status' => 'IN_PROGRESS|CANCELED|COMPLETED|DELETION_IN_PROGRESS|SCHEDULED',
            'targetSelection' => 'CONTINUOUS|SNAPSHOT',
            'thingGroupId' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
jobs
Type: Array of JobSummary structures

A list of jobs.

nextToken
Type: string

The token for the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

ListManagedJobTemplates

$result = $client->listManagedJobTemplates([/* ... */]);
$promise = $client->listManagedJobTemplatesAsync([/* ... */]);

Returns a list of managed job templates.

Parameter Syntax

$result = $client->listManagedJobTemplates([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'templateName' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

Maximum number of entries that can be returned.

nextToken
Type: string

The token to retrieve the next set of results.

templateName
Type: string

An optional parameter for template name. If specified, only the versions of the managed job templates that have the specified template name will be returned.

Result Syntax

[
    'managedJobTemplates' => [
        [
            'description' => '<string>',
            'environments' => ['<string>', ...],
            'templateArn' => '<string>',
            'templateName' => '<string>',
            'templateVersion' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
managedJobTemplates
Type: Array of ManagedJobTemplateSummary structures

A list of managed job templates that are returned.

nextToken
Type: string

The token to retrieve the next set of results.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ListMetricValues

$result = $client->listMetricValues([/* ... */]);
$promise = $client->listMetricValuesAsync([/* ... */]);

Lists the values reported for an IoT Device Defender metric (device-side metric, cloud-side metric, or custom metric) by the given thing during the specified time period.

Parameter Syntax

$result = $client->listMetricValues([
    'dimensionName' => '<string>',
    'dimensionValueOperator' => 'IN|NOT_IN',
    'endTime' => <integer || string || DateTime>, // REQUIRED
    'maxResults' => <integer>,
    'metricName' => '<string>', // REQUIRED
    'nextToken' => '<string>',
    'startTime' => <integer || string || DateTime>, // REQUIRED
    'thingName' => '<string>', // REQUIRED
]);

Parameter Details

Members
dimensionName
Type: string

The dimension name.

dimensionValueOperator
Type: string

The dimension value operator.

endTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end of the time period for which metric values are returned.

maxResults
Type: int

The maximum number of results to return at one time.

metricName
Required: Yes
Type: string

The name of the security profile metric for which values are returned.

nextToken
Type: string

The token for the next set of results.

startTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start of the time period for which metric values are returned.

thingName
Required: Yes
Type: string

The name of the thing for which security profile metric values are returned.

Result Syntax

[
    'metricDatumList' => [
        [
            'timestamp' => <DateTime>,
            'value' => [
                'cidrs' => ['<string>', ...],
                'count' => <integer>,
                'number' => <float>,
                'numbers' => [<float>, ...],
                'ports' => [<integer>, ...],
                'strings' => ['<string>', ...],
            ],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
metricDatumList
Type: Array of MetricDatum structures

The data the thing reports for the metric during the specified time period.

nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ListMitigationActions

$result = $client->listMitigationActions([/* ... */]);
$promise = $client->listMitigationActionsAsync([/* ... */]);

Gets a list of all mitigation actions that match the specified filter criteria.

Requires permission to access the ListMitigationActions action.

Parameter Syntax

$result = $client->listMitigationActions([
    'actionType' => 'UPDATE_DEVICE_CERTIFICATE|UPDATE_CA_CERTIFICATE|ADD_THINGS_TO_THING_GROUP|REPLACE_DEFAULT_POLICY_VERSION|ENABLE_IOT_LOGGING|PUBLISH_FINDING_TO_SNS',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
actionType
Type: string

Specify a value to limit the result to mitigation actions with a specific action type.

maxResults
Type: int

The maximum number of results to return at one time. The default is 25.

nextToken
Type: string

The token for the next set of results.

Result Syntax

[
    'actionIdentifiers' => [
        [
            'actionArn' => '<string>',
            'actionName' => '<string>',
            'creationDate' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
actionIdentifiers
Type: Array of MitigationActionIdentifier structures

A set of actions that matched the specified filter criteria.

nextToken
Type: string

The token for the next set of results.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListOTAUpdates

$result = $client->listOTAUpdates([/* ... */]);
$promise = $client->listOTAUpdatesAsync([/* ... */]);

Lists OTA updates.

Requires permission to access the ListOTAUpdates action.

Parameter Syntax

$result = $client->listOTAUpdates([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'otaUpdateStatus' => 'CREATE_PENDING|CREATE_IN_PROGRESS|CREATE_COMPLETE|CREATE_FAILED|DELETE_IN_PROGRESS|DELETE_FAILED',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

A token used to retrieve the next set of results.

otaUpdateStatus
Type: string

The OTA update job status.

Result Syntax

[
    'nextToken' => '<string>',
    'otaUpdates' => [
        [
            'creationDate' => <DateTime>,
            'otaUpdateArn' => '<string>',
            'otaUpdateId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token to use to get the next set of results.

otaUpdates
Type: Array of OTAUpdateSummary structures

A list of OTA update jobs.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

InternalFailureException:

An unexpected error has occurred.

ServiceUnavailableException:

The service is temporarily unavailable.

ListOutgoingCertificates

$result = $client->listOutgoingCertificates([/* ... */]);
$promise = $client->listOutgoingCertificatesAsync([/* ... */]);

Lists certificates that are being transferred but not yet accepted.

Requires permission to access the ListOutgoingCertificates action.

Parameter Syntax

$result = $client->listOutgoingCertificates([
    'ascendingOrder' => true || false,
    'marker' => '<string>',
    'pageSize' => <integer>,
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

marker
Type: string

The marker for the next set of results.

pageSize
Type: int

The result page size.

Result Syntax

[
    'nextMarker' => '<string>',
    'outgoingCertificates' => [
        [
            'certificateArn' => '<string>',
            'certificateId' => '<string>',
            'creationDate' => <DateTime>,
            'transferDate' => <DateTime>,
            'transferMessage' => '<string>',
            'transferredTo' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextMarker
Type: string

The marker for the next set of results.

outgoingCertificates
Type: Array of OutgoingCertificate structures

The certificates that are being transferred but not yet accepted.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListPackageVersions

$result = $client->listPackageVersions([/* ... */]);
$promise = $client->listPackageVersionsAsync([/* ... */]);

Lists the software package versions associated to the account.

Requires permission to access the ListPackageVersions action.

Parameter Syntax

$result = $client->listPackageVersions([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'packageName' => '<string>', // REQUIRED
    'status' => 'DRAFT|PUBLISHED|DEPRECATED',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

The token for the next set of results.

packageName
Required: Yes
Type: string

The name of the target software package.

status
Type: string

The status of the package version. For more information, see Package version lifecycle.

Result Syntax

[
    'nextToken' => '<string>',
    'packageVersionSummaries' => [
        [
            'creationDate' => <DateTime>,
            'lastModifiedDate' => <DateTime>,
            'packageName' => '<string>',
            'status' => 'DRAFT|PUBLISHED|DEPRECATED',
            'versionName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token for the next set of results.

packageVersionSummaries
Type: Array of PackageVersionSummary structures

Lists the package versions associated to the package.

Errors

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ValidationException:

The request is not valid.

ListPackages

$result = $client->listPackages([/* ... */]);
$promise = $client->listPackagesAsync([/* ... */]);

Lists the software packages associated to the account.

Requires permission to access the ListPackages action.

Parameter Syntax

$result = $client->listPackages([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results returned at one time.

nextToken
Type: string

The token for the next set of results.

Result Syntax

[
    'nextToken' => '<string>',
    'packageSummaries' => [
        [
            'creationDate' => <DateTime>,
            'defaultVersionName' => '<string>',
            'lastModifiedDate' => <DateTime>,
            'packageName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token for the next set of results.

packageSummaries
Type: Array of PackageSummary structures

The software package summary.

Errors

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ValidationException:

The request is not valid.

ListPolicies

$result = $client->listPolicies([/* ... */]);
$promise = $client->listPoliciesAsync([/* ... */]);

Lists your policies.

Requires permission to access the ListPolicies action.

Parameter Syntax

$result = $client->listPolicies([
    'ascendingOrder' => true || false,
    'marker' => '<string>',
    'pageSize' => <integer>,
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Specifies the order for results. If true, the results are returned in ascending creation order.

marker
Type: string

The marker for the next set of results.

pageSize
Type: int

The result page size.

Result Syntax

[
    'nextMarker' => '<string>',
    'policies' => [
        [
            'policyArn' => '<string>',
            'policyName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextMarker
Type: string

The marker for the next set of results, or null if there are no additional results.

policies
Type: Array of Policy structures

The descriptions of the policies.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListPolicyPrincipals

$result = $client->listPolicyPrincipals([/* ... */]);
$promise = $client->listPolicyPrincipalsAsync([/* ... */]);

Lists the principals associated with the specified policy.

Note: This action is deprecated and works as expected for backward compatibility, but we won't add enhancements. Use ListTargetsForPolicy instead.

Requires permission to access the ListPolicyPrincipals action.

Parameter Syntax

$result = $client->listPolicyPrincipals([
    'ascendingOrder' => true || false,
    'marker' => '<string>',
    'pageSize' => <integer>,
    'policyName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Specifies the order for results. If true, the results are returned in ascending creation order.

marker
Type: string

The marker for the next set of results.

pageSize
Type: int

The result page size.

policyName
Required: Yes
Type: string

The policy name.

Result Syntax

[
    'nextMarker' => '<string>',
    'principals' => ['<string>', ...],
]

Result Details

Members
nextMarker
Type: string

The marker for the next set of results, or null if there are no additional results.

principals
Type: Array of strings

The descriptions of the principals.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListPolicyVersions

$result = $client->listPolicyVersions([/* ... */]);
$promise = $client->listPolicyVersionsAsync([/* ... */]);

Lists the versions of the specified policy and identifies the default version.

Requires permission to access the ListPolicyVersions action.

Parameter Syntax

$result = $client->listPolicyVersions([
    'policyName' => '<string>', // REQUIRED
]);

Parameter Details

Members
policyName
Required: Yes
Type: string

The policy name.

Result Syntax

[
    'policyVersions' => [
        [
            'createDate' => <DateTime>,
            'isDefaultVersion' => true || false,
            'versionId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
policyVersions
Type: Array of PolicyVersion structures

The policy versions.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListPrincipalPolicies

$result = $client->listPrincipalPolicies([/* ... */]);
$promise = $client->listPrincipalPoliciesAsync([/* ... */]);

Lists the policies attached to the specified principal. If you use an Cognito identity, the ID must be in AmazonCognito Identity format.

Note: This action is deprecated and works as expected for backward compatibility, but we won't add enhancements. Use ListAttachedPolicies instead.

Requires permission to access the ListPrincipalPolicies action.

Parameter Syntax

$result = $client->listPrincipalPolicies([
    'ascendingOrder' => true || false,
    'marker' => '<string>',
    'pageSize' => <integer>,
    'principal' => '<string>', // REQUIRED
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Specifies the order for results. If true, results are returned in ascending creation order.

marker
Type: string

The marker for the next set of results.

pageSize
Type: int

The result page size.

principal
Required: Yes
Type: string

The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

Result Syntax

[
    'nextMarker' => '<string>',
    'policies' => [
        [
            'policyArn' => '<string>',
            'policyName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextMarker
Type: string

The marker for the next set of results, or null if there are no additional results.

policies
Type: Array of Policy structures

The policies.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListPrincipalThings

$result = $client->listPrincipalThings([/* ... */]);
$promise = $client->listPrincipalThingsAsync([/* ... */]);

Lists the things associated with the specified principal. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

Requires permission to access the ListPrincipalThings action.

Parameter Syntax

$result = $client->listPrincipalThings([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'principal' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return in this operation.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

principal
Required: Yes
Type: string

The principal.

Result Syntax

[
    'nextToken' => '<string>',
    'things' => ['<string>', ...],
]

Result Details

Members
nextToken
Type: string

The token to use to get the next set of results, or null if there are no additional results.

things
Type: Array of strings

The things.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ListProvisioningTemplateVersions

$result = $client->listProvisioningTemplateVersions([/* ... */]);
$promise = $client->listProvisioningTemplateVersionsAsync([/* ... */]);

A list of provisioning template versions.

Requires permission to access the ListProvisioningTemplateVersions action.

Parameter Syntax

$result = $client->listProvisioningTemplateVersions([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

A token to retrieve the next set of results.

templateName
Required: Yes
Type: string

The name of the provisioning template.

Result Syntax

[
    'nextToken' => '<string>',
    'versions' => [
        [
            'creationDate' => <DateTime>,
            'isDefaultVersion' => true || false,
            'versionId' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token to retrieve the next set of results.

versions
Type: Array of ProvisioningTemplateVersionSummary structures

The list of provisioning template versions.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

ResourceNotFoundException:

The specified resource does not exist.

UnauthorizedException:

You are not authorized to perform this operation.

ListProvisioningTemplates

$result = $client->listProvisioningTemplates([/* ... */]);
$promise = $client->listProvisioningTemplatesAsync([/* ... */]);

Lists the provisioning templates in your Amazon Web Services account.

Requires permission to access the ListProvisioningTemplates action.

Parameter Syntax

$result = $client->listProvisioningTemplates([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

A token to retrieve the next set of results.

Result Syntax

[
    'nextToken' => '<string>',
    'templates' => [
        [
            'creationDate' => <DateTime>,
            'description' => '<string>',
            'enabled' => true || false,
            'lastModifiedDate' => <DateTime>,
            'templateArn' => '<string>',
            'templateName' => '<string>',
            'type' => 'FLEET_PROVISIONING|JITP',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token to retrieve the next set of results.

templates
Type: Array of ProvisioningTemplateSummary structures

A list of provisioning templates

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ListRelatedResourcesForAuditFinding

$result = $client->listRelatedResourcesForAuditFinding([/* ... */]);
$promise = $client->listRelatedResourcesForAuditFindingAsync([/* ... */]);

The related resources of an Audit finding. The following resources can be returned from calling this API:

  • DEVICE_CERTIFICATE

  • CA_CERTIFICATE

  • IOT_POLICY

  • COGNITO_IDENTITY_POOL

  • CLIENT_ID

  • ACCOUNT_SETTINGS

  • ROLE_ALIAS

  • IAM_ROLE

  • ISSUER_CERTIFICATE

This API is similar to DescribeAuditFinding's RelatedResources but provides pagination and is not limited to 10 resources. When calling DescribeAuditFinding for the intermediate CA revoked for active device certificates check, RelatedResources will not be populated. You must use this API, ListRelatedResourcesForAuditFinding, to list the certificates.

Parameter Syntax

$result = $client->listRelatedResourcesForAuditFinding([
    'findingId' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
findingId
Required: Yes
Type: string

The finding Id.

maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

Result Syntax

[
    'nextToken' => '<string>',
    'relatedResources' => [
        [
            'additionalInfo' => ['<string>', ...],
            'resourceIdentifier' => [
                'account' => '<string>',
                'caCertificateId' => '<string>',
                'clientId' => '<string>',
                'cognitoIdentityPoolId' => '<string>',
                'deviceCertificateArn' => '<string>',
                'deviceCertificateId' => '<string>',
                'iamRoleArn' => '<string>',
                'issuerCertificateIdentifier' => [
                    'issuerCertificateSerialNumber' => '<string>',
                    'issuerCertificateSubject' => '<string>',
                    'issuerId' => '<string>',
                ],
                'policyVersionIdentifier' => [
                    'policyName' => '<string>',
                    'policyVersionId' => '<string>',
                ],
                'roleAliasArn' => '<string>',
            ],
            'resourceType' => 'DEVICE_CERTIFICATE|CA_CERTIFICATE|IOT_POLICY|COGNITO_IDENTITY_POOL|CLIENT_ID|ACCOUNT_SETTINGS|ROLE_ALIAS|IAM_ROLE|ISSUER_CERTIFICATE',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that can be used to retrieve the next set of results, or null for the first API call.

relatedResources
Type: Array of RelatedResource structures

The related resources.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListRoleAliases

$result = $client->listRoleAliases([/* ... */]);
$promise = $client->listRoleAliasesAsync([/* ... */]);

Lists the role aliases registered in your account.

Requires permission to access the ListRoleAliases action.

Parameter Syntax

$result = $client->listRoleAliases([
    'ascendingOrder' => true || false,
    'marker' => '<string>',
    'pageSize' => <integer>,
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Return the list of role aliases in ascending alphabetical order.

marker
Type: string

A marker used to get the next set of results.

pageSize
Type: int

The maximum number of results to return at one time.

Result Syntax

[
    'nextMarker' => '<string>',
    'roleAliases' => ['<string>', ...],
]

Result Details

Members
nextMarker
Type: string

A marker used to get the next set of results.

roleAliases
Type: Array of strings

The role aliases.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListScheduledAudits

$result = $client->listScheduledAudits([/* ... */]);
$promise = $client->listScheduledAuditsAsync([/* ... */]);

Lists all of your scheduled audits.

Requires permission to access the ListScheduledAudits action.

Parameter Syntax

$result = $client->listScheduledAudits([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time. The default is 25.

nextToken
Type: string

The token for the next set of results.

Result Syntax

[
    'nextToken' => '<string>',
    'scheduledAudits' => [
        [
            'dayOfMonth' => '<string>',
            'dayOfWeek' => 'SUN|MON|TUE|WED|THU|FRI|SAT',
            'frequency' => 'DAILY|WEEKLY|BIWEEKLY|MONTHLY',
            'scheduledAuditArn' => '<string>',
            'scheduledAuditName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

scheduledAudits
Type: Array of ScheduledAuditMetadata structures

The list of scheduled audits.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListSecurityProfiles

$result = $client->listSecurityProfiles([/* ... */]);
$promise = $client->listSecurityProfilesAsync([/* ... */]);

Lists the Device Defender security profiles you've created. You can filter security profiles by dimension or custom metric.

Requires permission to access the ListSecurityProfiles action.

dimensionName and metricName cannot be used in the same request.

Parameter Syntax

$result = $client->listSecurityProfiles([
    'dimensionName' => '<string>',
    'maxResults' => <integer>,
    'metricName' => '<string>',
    'nextToken' => '<string>',
]);

Parameter Details

Members
dimensionName
Type: string

A filter to limit results to the security profiles that use the defined dimension. Cannot be used with metricName

maxResults
Type: int

The maximum number of results to return at one time.

metricName
Type: string

The name of the custom metric. Cannot be used with dimensionName.

nextToken
Type: string

The token for the next set of results.

Result Syntax

[
    'nextToken' => '<string>',
    'securityProfileIdentifiers' => [
        [
            'arn' => '<string>',
            'name' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

securityProfileIdentifiers
Type: Array of SecurityProfileIdentifier structures

A list of security profile identifiers (names and ARNs).

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ListSecurityProfilesForTarget

$result = $client->listSecurityProfilesForTarget([/* ... */]);
$promise = $client->listSecurityProfilesForTargetAsync([/* ... */]);

Lists the Device Defender security profiles attached to a target (thing group).

Requires permission to access the ListSecurityProfilesForTarget action.

Parameter Syntax

$result = $client->listSecurityProfilesForTarget([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'recursive' => true || false,
    'securityProfileTargetArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

The token for the next set of results.

recursive
Type: boolean

If true, return child groups too.

securityProfileTargetArn
Required: Yes
Type: string

The ARN of the target (thing group) whose attached security profiles you want to get.

Result Syntax

[
    'nextToken' => '<string>',
    'securityProfileTargetMappings' => [
        [
            'securityProfileIdentifier' => [
                'arn' => '<string>',
                'name' => '<string>',
            ],
            'target' => [
                'arn' => '<string>',
            ],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

securityProfileTargetMappings
Type: Array of SecurityProfileTargetMapping structures

A list of security profiles and their associated targets.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ListStreams

$result = $client->listStreams([/* ... */]);
$promise = $client->listStreamsAsync([/* ... */]);

Lists all of the streams in your Amazon Web Services account.

Requires permission to access the ListStreams action.

Parameter Syntax

$result = $client->listStreams([
    'ascendingOrder' => true || false,
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
ascendingOrder
Type: boolean

Set to true to return the list of streams in ascending order.

maxResults
Type: int

The maximum number of results to return at a time.

nextToken
Type: string

A token used to get the next set of results.

Result Syntax

[
    'nextToken' => '<string>',
    'streams' => [
        [
            'description' => '<string>',
            'streamArn' => '<string>',
            'streamId' => '<string>',
            'streamVersion' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token used to get the next set of results.

streams
Type: Array of StreamSummary structures

A list of streams.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Lists the tags (metadata) you have assigned to the resource.

Requires permission to access the ListTagsForResource action.

Parameter Syntax

$result = $client->listTagsForResource([
    'nextToken' => '<string>',
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

resourceArn
Required: Yes
Type: string

The ARN of the resource.

Result Syntax

[
    'nextToken' => '<string>',
    'tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token to use to get the next set of results, or null if there are no additional results.

tags
Type: Array of Tag structures

The list of tags assigned to the resource.

Errors

InvalidRequestException:

The request is not valid.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ListTargetsForPolicy

$result = $client->listTargetsForPolicy([/* ... */]);
$promise = $client->listTargetsForPolicyAsync([/* ... */]);

List targets for the specified policy.

Requires permission to access the ListTargetsForPolicy action.

Parameter Syntax

$result = $client->listTargetsForPolicy([
    'marker' => '<string>',
    'pageSize' => <integer>,
    'policyName' => '<string>', // REQUIRED
]);

Parameter Details

Members
marker
Type: string

A marker used to get the next set of results.

pageSize
Type: int

The maximum number of results to return at one time.

policyName
Required: Yes
Type: string

The policy name.

Result Syntax

[
    'nextMarker' => '<string>',
    'targets' => ['<string>', ...],
]

Result Details

Members
nextMarker
Type: string

A marker used to get the next set of results.

targets
Type: Array of strings

The policy targets.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

LimitExceededException:

A limit has been exceeded.

ListTargetsForSecurityProfile

$result = $client->listTargetsForSecurityProfile([/* ... */]);
$promise = $client->listTargetsForSecurityProfileAsync([/* ... */]);

Lists the targets (thing groups) associated with a given Device Defender security profile.

Requires permission to access the ListTargetsForSecurityProfile action.

Parameter Syntax

$result = $client->listTargetsForSecurityProfile([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'securityProfileName' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

The token for the next set of results.

securityProfileName
Required: Yes
Type: string

The security profile.

Result Syntax

[
    'nextToken' => '<string>',
    'securityProfileTargets' => [
        [
            'arn' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

securityProfileTargets
Type: Array of SecurityProfileTarget structures

The thing groups to which the security profile is attached.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ListThingGroups

$result = $client->listThingGroups([/* ... */]);
$promise = $client->listThingGroupsAsync([/* ... */]);

List the thing groups in your account.

Requires permission to access the ListThingGroups action.

Parameter Syntax

$result = $client->listThingGroups([
    'maxResults' => <integer>,
    'namePrefixFilter' => '<string>',
    'nextToken' => '<string>',
    'parentGroup' => '<string>',
    'recursive' => true || false,
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

namePrefixFilter
Type: string

A filter that limits the results to those with the specified name prefix.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

parentGroup
Type: string

A filter that limits the results to those with the specified parent group.

recursive
Type: boolean

If true, return child groups as well.

Result Syntax

[
    'nextToken' => '<string>',
    'thingGroups' => [
        [
            'groupArn' => '<string>',
            'groupName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token to use to get the next set of results. Will not be returned if operation has returned all results.

thingGroups
Type: Array of GroupNameAndArn structures

The thing groups.

Errors

InvalidRequestException:

The request is not valid.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ListThingGroupsForThing

$result = $client->listThingGroupsForThing([/* ... */]);
$promise = $client->listThingGroupsForThingAsync([/* ... */]);

List the thing groups to which the specified thing belongs.

Requires permission to access the ListThingGroupsForThing action.

Parameter Syntax

$result = $client->listThingGroupsForThing([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'thingName' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

thingName
Required: Yes
Type: string

The thing name.

Result Syntax

[
    'nextToken' => '<string>',
    'thingGroups' => [
        [
            'groupArn' => '<string>',
            'groupName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token to use to get the next set of results, or null if there are no additional results.

thingGroups
Type: Array of GroupNameAndArn structures

The thing groups.

Errors

InvalidRequestException:

The request is not valid.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ListThingPrincipals

$result = $client->listThingPrincipals([/* ... */]);
$promise = $client->listThingPrincipalsAsync([/* ... */]);

Lists the principals associated with the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

Requires permission to access the ListThingPrincipals action.

Parameter Syntax

$result = $client->listThingPrincipals([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'thingName' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return in this operation.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

thingName
Required: Yes
Type: string

The name of the thing.

Result Syntax

[
    'nextToken' => '<string>',
    'principals' => ['<string>', ...],
]

Result Details

Members
nextToken
Type: string

The token to use to get the next set of results, or null if there are no additional results.

principals
Type: Array of strings

The principals associated with the thing.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ListThingRegistrationTaskReports

$result = $client->listThingRegistrationTaskReports([/* ... */]);
$promise = $client->listThingRegistrationTaskReportsAsync([/* ... */]);

Information about the thing registration tasks.

Parameter Syntax

$result = $client->listThingRegistrationTaskReports([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'reportType' => 'ERRORS|RESULTS', // REQUIRED
    'taskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return per request.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

reportType
Required: Yes
Type: string

The type of task report.

taskId
Required: Yes
Type: string

The id of the task.

Result Syntax

[
    'nextToken' => '<string>',
    'reportType' => 'ERRORS|RESULTS',
    'resourceLinks' => ['<string>', ...],
]

Result Details

Members
nextToken
Type: string

The token to use to get the next set of results, or null if there are no additional results.

reportType
Type: string

The type of task report.

resourceLinks
Type: Array of strings

Links to the task resources.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

InternalFailureException:

An unexpected error has occurred.

ListThingRegistrationTasks

$result = $client->listThingRegistrationTasks([/* ... */]);
$promise = $client->listThingRegistrationTasksAsync([/* ... */]);

List bulk thing provisioning tasks.

Requires permission to access the ListThingRegistrationTasks action.

Parameter Syntax

$result = $client->listThingRegistrationTasks([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'status' => 'InProgress|Completed|Failed|Cancelled|Cancelling',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

status
Type: string

The status of the bulk thing provisioning task.

Result Syntax

[
    'nextToken' => '<string>',
    'taskIds' => ['<string>', ...],
]

Result Details

Members
nextToken
Type: string

The token to use to get the next set of results, or null if there are no additional results.

taskIds
Type: Array of strings

A list of bulk thing provisioning task IDs.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

InternalFailureException:

An unexpected error has occurred.

ListThingTypes

$result = $client->listThingTypes([/* ... */]);
$promise = $client->listThingTypesAsync([/* ... */]);

Lists the existing thing types.

Requires permission to access the ListThingTypes action.

Parameter Syntax

$result = $client->listThingTypes([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'thingTypeName' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return in this operation.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

thingTypeName
Type: string

The name of the thing type.

Result Syntax

[
    'nextToken' => '<string>',
    'thingTypes' => [
        [
            'thingTypeArn' => '<string>',
            'thingTypeMetadata' => [
                'creationDate' => <DateTime>,
                'deprecated' => true || false,
                'deprecationDate' => <DateTime>,
            ],
            'thingTypeName' => '<string>',
            'thingTypeProperties' => [
                'searchableAttributes' => ['<string>', ...],
                'thingTypeDescription' => '<string>',
            ],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token for the next set of results. Will not be returned if operation has returned all results.

thingTypes
Type: Array of ThingTypeDefinition structures

The thing types.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListThings

$result = $client->listThings([/* ... */]);
$promise = $client->listThingsAsync([/* ... */]);

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. For more information, see List Things from the Amazon Web Services IoT Core Developer Guide.

Requires permission to access the ListThings action.

You will not be charged for calling this API if an Access denied error is returned. You will also not be charged if no attributes or pagination token was provided in request and no pagination token and no results were returned.

Parameter Syntax

$result = $client->listThings([
    'attributeName' => '<string>',
    'attributeValue' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'thingTypeName' => '<string>',
    'usePrefixAttributeValue' => true || false,
]);

Parameter Details

Members
attributeName
Type: string

The attribute name used to search for things.

attributeValue
Type: string

The attribute value used to search for things.

maxResults
Type: int

The maximum number of results to return in this operation.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

thingTypeName
Type: string

The name of the thing type used to search for things.

usePrefixAttributeValue
Type: boolean

When true, the action returns the thing resources with attribute values that start with the attributeValue provided.

When false, or not present, the action returns only the thing resources with attribute values that match the entire attributeValue provided.

Result Syntax

[
    'nextToken' => '<string>',
    'things' => [
        [
            'attributes' => ['<string>', ...],
            'thingArn' => '<string>',
            'thingName' => '<string>',
            'thingTypeName' => '<string>',
            'version' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token to use to get the next set of results. Will not be returned if operation has returned all results.

things
Type: Array of ThingAttribute structures

The things.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ListThingsInBillingGroup

$result = $client->listThingsInBillingGroup([/* ... */]);
$promise = $client->listThingsInBillingGroupAsync([/* ... */]);

Lists the things you have added to the given billing group.

Requires permission to access the ListThingsInBillingGroup action.

Parameter Syntax

$result = $client->listThingsInBillingGroup([
    'billingGroupName' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
billingGroupName
Required: Yes
Type: string

The name of the billing group.

maxResults
Type: int

The maximum number of results to return per request.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

Result Syntax

[
    'nextToken' => '<string>',
    'things' => ['<string>', ...],
]

Result Details

Members
nextToken
Type: string

The token to use to get the next set of results. Will not be returned if operation has returned all results.

things
Type: Array of strings

A list of things in the billing group.

Errors

InvalidRequestException:

The request is not valid.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ListThingsInThingGroup

$result = $client->listThingsInThingGroup([/* ... */]);
$promise = $client->listThingsInThingGroupAsync([/* ... */]);

Lists the things in the specified group.

Requires permission to access the ListThingsInThingGroup action.

Parameter Syntax

$result = $client->listThingsInThingGroup([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'recursive' => true || false,
    'thingGroupName' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

recursive
Type: boolean

When true, list things in this thing group and in all child groups as well.

thingGroupName
Required: Yes
Type: string

The thing group name.

Result Syntax

[
    'nextToken' => '<string>',
    'things' => ['<string>', ...],
]

Result Details

Members
nextToken
Type: string

The token to use to get the next set of results, or null if there are no additional results.

things
Type: Array of strings

The things in the specified thing group.

Errors

InvalidRequestException:

The request is not valid.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ListTopicRuleDestinations

$result = $client->listTopicRuleDestinations([/* ... */]);
$promise = $client->listTopicRuleDestinationsAsync([/* ... */]);

Lists all the topic rule destinations in your Amazon Web Services account.

Requires permission to access the ListTopicRuleDestinations action.

Parameter Syntax

$result = $client->listTopicRuleDestinations([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

Result Syntax

[
    'destinationSummaries' => [
        [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'httpUrlSummary' => [
                'confirmationUrl' => '<string>',
            ],
            'lastUpdatedAt' => <DateTime>,
            'status' => 'ENABLED|IN_PROGRESS|DISABLED|ERROR|DELETING',
            'statusReason' => '<string>',
            'vpcDestinationSummary' => [
                'roleArn' => '<string>',
                'securityGroups' => ['<string>', ...],
                'subnetIds' => ['<string>', ...],
                'vpcId' => '<string>',
            ],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
destinationSummaries
Type: Array of TopicRuleDestinationSummary structures

Information about a topic rule destination.

nextToken
Type: string

The token to use to get the next set of results, or null if there are no additional results.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

UnauthorizedException:

You are not authorized to perform this operation.

ListTopicRules

$result = $client->listTopicRules([/* ... */]);
$promise = $client->listTopicRulesAsync([/* ... */]);

Lists the rules for the specific topic.

Requires permission to access the ListTopicRules action.

Parameter Syntax

$result = $client->listTopicRules([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'ruleDisabled' => true || false,
    'topic' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

ruleDisabled
Type: boolean

Specifies whether the rule is disabled.

topic
Type: string

The topic.

Result Syntax

[
    'nextToken' => '<string>',
    'rules' => [
        [
            'createdAt' => <DateTime>,
            'ruleArn' => '<string>',
            'ruleDisabled' => true || false,
            'ruleName' => '<string>',
            'topicPattern' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token to use to get the next set of results, or null if there are no additional results.

rules
Type: Array of TopicRuleListItem structures

The rules.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

ListV2LoggingLevels

$result = $client->listV2LoggingLevels([/* ... */]);
$promise = $client->listV2LoggingLevelsAsync([/* ... */]);

Lists logging levels.

Requires permission to access the ListV2LoggingLevels action.

Parameter Syntax

$result = $client->listV2LoggingLevels([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'targetType' => 'DEFAULT|THING_GROUP|CLIENT_ID|SOURCE_IP|PRINCIPAL_ID',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

targetType
Type: string

The type of resource for which you are configuring logging. Must be THING_Group.

Result Syntax

[
    'logTargetConfigurations' => [
        [
            'logLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED',
            'logTarget' => [
                'targetName' => '<string>',
                'targetType' => 'DEFAULT|THING_GROUP|CLIENT_ID|SOURCE_IP|PRINCIPAL_ID',
            ],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
logTargetConfigurations
Type: Array of LogTargetConfiguration structures

The logging configuration for a target.

nextToken
Type: string

The token to use to get the next set of results, or null if there are no additional results.

Errors

InternalException:

An unexpected error has occurred.

NotConfiguredException:

The resource is not configured.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

ListViolationEvents

$result = $client->listViolationEvents([/* ... */]);
$promise = $client->listViolationEventsAsync([/* ... */]);

Lists the Device Defender security profile violations discovered during the given time period. You can use filters to limit the results to those alerts issued for a particular security profile, behavior, or thing (device).

Requires permission to access the ListViolationEvents action.

Parameter Syntax

$result = $client->listViolationEvents([
    'behaviorCriteriaType' => 'STATIC|STATISTICAL|MACHINE_LEARNING',
    'endTime' => <integer || string || DateTime>, // REQUIRED
    'listSuppressedAlerts' => true || false,
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'securityProfileName' => '<string>',
    'startTime' => <integer || string || DateTime>, // REQUIRED
    'thingName' => '<string>',
    'verificationState' => 'FALSE_POSITIVE|BENIGN_POSITIVE|TRUE_POSITIVE|UNKNOWN',
]);

Parameter Details

Members
behaviorCriteriaType
Type: string

The criteria for a behavior.

endTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end time for the alerts to be listed.

listSuppressedAlerts
Type: boolean

A list of all suppressed alerts.

maxResults
Type: int

The maximum number of results to return at one time.

nextToken
Type: string

The token for the next set of results.

securityProfileName
Type: string

A filter to limit results to those alerts generated by the specified security profile.

startTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start time for the alerts to be listed.

thingName
Type: string

A filter to limit results to those alerts caused by the specified thing.

verificationState
Type: string

The verification state of the violation (detect alarm).

Result Syntax

[
    'nextToken' => '<string>',
    'violationEvents' => [
        [
            'behavior' => [
                'criteria' => [
                    'comparisonOperator' => 'less-than|less-than-equals|greater-than|greater-than-equals|in-cidr-set|not-in-cidr-set|in-port-set|not-in-port-set|in-set|not-in-set',
                    'consecutiveDatapointsToAlarm' => <integer>,
                    'consecutiveDatapointsToClear' => <integer>,
                    'durationSeconds' => <integer>,
                    'mlDetectionConfig' => [
                        'confidenceLevel' => 'LOW|MEDIUM|HIGH',
                    ],
                    'statisticalThreshold' => [
                        'statistic' => '<string>',
                    ],
                    'value' => [
                        'cidrs' => ['<string>', ...],
                        'count' => <integer>,
                        'number' => <float>,
                        'numbers' => [<float>, ...],
                        'ports' => [<integer>, ...],
                        'strings' => ['<string>', ...],
                    ],
                ],
                'exportMetric' => true || false,
                'metric' => '<string>',
                'metricDimension' => [
                    'dimensionName' => '<string>',
                    'operator' => 'IN|NOT_IN',
                ],
                'name' => '<string>',
                'suppressAlerts' => true || false,
            ],
            'metricValue' => [
                'cidrs' => ['<string>', ...],
                'count' => <integer>,
                'number' => <float>,
                'numbers' => [<float>, ...],
                'ports' => [<integer>, ...],
                'strings' => ['<string>', ...],
            ],
            'securityProfileName' => '<string>',
            'thingName' => '<string>',
            'verificationState' => 'FALSE_POSITIVE|BENIGN_POSITIVE|TRUE_POSITIVE|UNKNOWN',
            'verificationStateDescription' => '<string>',
            'violationEventAdditionalInfo' => [
                'confidenceLevel' => 'LOW|MEDIUM|HIGH',
            ],
            'violationEventTime' => <DateTime>,
            'violationEventType' => 'in-alarm|alarm-cleared|alarm-invalidated',
            'violationId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A token that can be used to retrieve the next set of results, or null if there are no additional results.

violationEvents
Type: Array of ViolationEvent structures

The security profile violation alerts issued for this account during the given time period, potentially filtered by security profile, behavior violated, or thing (device) violating.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

PutVerificationStateOnViolation

$result = $client->putVerificationStateOnViolation([/* ... */]);
$promise = $client->putVerificationStateOnViolationAsync([/* ... */]);

Set a verification state and provide a description of that verification state on a violation (detect alarm).

Parameter Syntax

$result = $client->putVerificationStateOnViolation([
    'verificationState' => 'FALSE_POSITIVE|BENIGN_POSITIVE|TRUE_POSITIVE|UNKNOWN', // REQUIRED
    'verificationStateDescription' => '<string>',
    'violationId' => '<string>', // REQUIRED
]);

Parameter Details

Members
verificationState
Required: Yes
Type: string

The verification state of the violation.

verificationStateDescription
Type: string

The description of the verification state of the violation (detect alarm).

violationId
Required: Yes
Type: string

The violation ID.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

RegisterCACertificate

$result = $client->registerCACertificate([/* ... */]);
$promise = $client->registerCACertificateAsync([/* ... */]);

Registers a CA certificate with Amazon Web Services IoT Core. There is no limit to the number of CA certificates you can register in your Amazon Web Services account. You can register up to 10 CA certificates with the same CA subject field per Amazon Web Services account.

Requires permission to access the RegisterCACertificate action.

Parameter Syntax

$result = $client->registerCACertificate([
    'allowAutoRegistration' => true || false,
    'caCertificate' => '<string>', // REQUIRED
    'certificateMode' => 'DEFAULT|SNI_ONLY',
    'registrationConfig' => [
        'roleArn' => '<string>',
        'templateBody' => '<string>',
        'templateName' => '<string>',
    ],
    'setAsActive' => true || false,
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'verificationCertificate' => '<string>',
]);

Parameter Details

Members
allowAutoRegistration
Type: boolean

Allows this CA certificate to be used for auto registration of device certificates.

caCertificate
Required: Yes
Type: string

The CA certificate.

certificateMode
Type: string

Describes the certificate mode in which the Certificate Authority (CA) will be registered. If the verificationCertificate field is not provided, set certificateMode to be SNI_ONLY. If the verificationCertificate field is provided, set certificateMode to be DEFAULT. When certificateMode is not provided, it defaults to DEFAULT. All the device certificates that are registered using this CA will be registered in the same certificate mode as the CA. For more information about certificate mode for device certificates, see certificate mode.

registrationConfig
Type: RegistrationConfig structure

Information about the registration configuration.

setAsActive
Type: boolean

A boolean value that specifies if the CA certificate is set to active.

Valid values: ACTIVE | INACTIVE

tags
Type: Array of Tag structures

Metadata which can be used to manage the CA certificate.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."

For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."

verificationCertificate
Type: string

The private key verification certificate. If certificateMode is SNI_ONLY, the verificationCertificate field must be empty. If certificateMode is DEFAULT or not provided, the verificationCertificate field must not be empty.

Result Syntax

[
    'certificateArn' => '<string>',
    'certificateId' => '<string>',
]

Result Details

Members
certificateArn
Type: string

The CA certificate ARN.

certificateId
Type: string

The CA certificate identifier.

Errors

ResourceNotFoundException:

The specified resource does not exist.

ResourceAlreadyExistsException:

The resource already exists.

RegistrationCodeValidationException:

The registration code is invalid.

InvalidRequestException:

The request is not valid.

CertificateValidationException:

The certificate is invalid.

ThrottlingException:

The rate exceeds the limit.

LimitExceededException:

A limit has been exceeded.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

RegisterCertificate

$result = $client->registerCertificate([/* ... */]);
$promise = $client->registerCertificateAsync([/* ... */]);

Registers a device certificate with IoT in the same certificate mode as the signing CA. 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.

Requires permission to access the RegisterCertificate action.

Parameter Syntax

$result = $client->registerCertificate([
    'caCertificatePem' => '<string>',
    'certificatePem' => '<string>', // REQUIRED
    'setAsActive' => true || false,
    'status' => 'ACTIVE|INACTIVE|REVOKED|PENDING_TRANSFER|REGISTER_INACTIVE|PENDING_ACTIVATION',
]);

Parameter Details

Members
caCertificatePem
Type: string

The CA certificate used to sign the device certificate being registered.

certificatePem
Required: Yes
Type: string

The certificate data, in PEM format.

setAsActive
Type: boolean

A boolean value that specifies if the certificate is set to active.

Valid values: ACTIVE | INACTIVE

status
Type: string

The status of the register certificate request. Valid values that you can use include ACTIVE, INACTIVE, and REVOKED.

Result Syntax

[
    'certificateArn' => '<string>',
    'certificateId' => '<string>',
]

Result Details

Members
certificateArn
Type: string

The certificate ARN.

certificateId
Type: string

The certificate identifier.

Errors

ResourceAlreadyExistsException:

The resource already exists.

InvalidRequestException:

The request is not valid.

CertificateValidationException:

The certificate is invalid.

CertificateStateException:

The certificate operation is not allowed.

CertificateConflictException:

Unable to verify the CA certificate used to sign the device certificate you are attempting to register. This is happens when you have registered more than one CA certificate that has the same subject field and public key.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

RegisterCertificateWithoutCA

$result = $client->registerCertificateWithoutCA([/* ... */]);
$promise = $client->registerCertificateWithoutCAAsync([/* ... */]);

Register a certificate that does not have a certificate authority (CA). For supported certificates, consult Certificate signing algorithms supported by IoT.

Parameter Syntax

$result = $client->registerCertificateWithoutCA([
    'certificatePem' => '<string>', // REQUIRED
    'status' => 'ACTIVE|INACTIVE|REVOKED|PENDING_TRANSFER|REGISTER_INACTIVE|PENDING_ACTIVATION',
]);

Parameter Details

Members
certificatePem
Required: Yes
Type: string

The certificate data, in PEM format.

status
Type: string

The status of the register certificate request.

Result Syntax

[
    'certificateArn' => '<string>',
    'certificateId' => '<string>',
]

Result Details

Members
certificateArn
Type: string

The Amazon Resource Name (ARN) of the registered certificate.

certificateId
Type: string

The ID of the registered certificate. (The last part of the certificate ARN contains the certificate ID.

Errors

ResourceAlreadyExistsException:

The resource already exists.

InvalidRequestException:

The request is not valid.

CertificateStateException:

The certificate operation is not allowed.

CertificateValidationException:

The certificate is invalid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

RegisterThing

$result = $client->registerThing([/* ... */]);
$promise = $client->registerThingAsync([/* ... */]);

Provisions a thing in the device registry. RegisterThing calls other IoT control plane APIs. These calls might exceed your account level IoT Throttling Limits and cause throttle errors. Please contact Amazon Web Services Customer Support to raise your throttling limits if necessary.

Requires permission to access the RegisterThing action.

Parameter Syntax

$result = $client->registerThing([
    'parameters' => ['<string>', ...],
    'templateBody' => '<string>', // REQUIRED
]);

Parameter Details

Members
parameters
Type: Associative array of custom strings keys (Parameter) to strings

The parameters for provisioning a thing. See Provisioning Templates for more information.

templateBody
Required: Yes
Type: string

The provisioning template. See Provisioning Devices That Have Device Certificates for more information.

Result Syntax

[
    'certificatePem' => '<string>',
    'resourceArns' => ['<string>', ...],
]

Result Details

Members
certificatePem
Type: string

The certificate data, in PEM format.

resourceArns
Type: Associative array of custom strings keys (ResourceLogicalId) to strings

ARNs for the generated resources.

Errors

InternalFailureException:

An unexpected error has occurred.

ServiceUnavailableException:

The service is temporarily unavailable.

InvalidRequestException:

The request is not valid.

UnauthorizedException:

You are not authorized to perform this operation.

ThrottlingException:

The rate exceeds the limit.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

ResourceRegistrationFailureException:

The resource registration failed.

RejectCertificateTransfer

$result = $client->rejectCertificateTransfer([/* ... */]);
$promise = $client->rejectCertificateTransferAsync([/* ... */]);

Rejects a pending certificate transfer. After 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.

Requires permission to access the RejectCertificateTransfer action.

Parameter Syntax

$result = $client->rejectCertificateTransfer([
    'certificateId' => '<string>', // REQUIRED
    'rejectReason' => '<string>',
]);

Parameter Details

Members
certificateId
Required: Yes
Type: string

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

rejectReason
Type: string

The reason the certificate transfer was rejected.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

TransferAlreadyCompletedException:

You can't revert the certificate transfer because the transfer is already complete.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

RemoveThingFromBillingGroup

$result = $client->removeThingFromBillingGroup([/* ... */]);
$promise = $client->removeThingFromBillingGroupAsync([/* ... */]);

Removes the given thing from the billing group.

Requires permission to access the RemoveThingFromBillingGroup action.

This call is asynchronous. It might take several seconds for the detachment to propagate.

Parameter Syntax

$result = $client->removeThingFromBillingGroup([
    'billingGroupArn' => '<string>',
    'billingGroupName' => '<string>',
    'thingArn' => '<string>',
    'thingName' => '<string>',
]);

Parameter Details

Members
billingGroupArn
Type: string

The ARN of the billing group.

billingGroupName
Type: string

The name of the billing group.

thingArn
Type: string

The ARN of the thing to be removed from the billing group.

thingName
Type: string

The name of the thing to be removed from the billing group.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

RemoveThingFromThingGroup

$result = $client->removeThingFromThingGroup([/* ... */]);
$promise = $client->removeThingFromThingGroupAsync([/* ... */]);

Remove the specified thing from the specified group.

You must specify either a thingGroupArn or a thingGroupName to identify the thing group and either a thingArn or a thingName to identify the thing to remove from the thing group.

Requires permission to access the RemoveThingFromThingGroup action.

Parameter Syntax

$result = $client->removeThingFromThingGroup([
    'thingArn' => '<string>',
    'thingGroupArn' => '<string>',
    'thingGroupName' => '<string>',
    'thingName' => '<string>',
]);

Parameter Details

Members
thingArn
Type: string

The ARN of the thing to remove from the group.

thingGroupArn
Type: string

The group ARN.

thingGroupName
Type: string

The group name.

thingName
Type: string

The name of the thing to remove from the group.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ReplaceTopicRule

$result = $client->replaceTopicRule([/* ... */]);
$promise = $client->replaceTopicRuleAsync([/* ... */]);

Replaces the 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.

Requires permission to access the ReplaceTopicRule action.

Parameter Syntax

$result = $client->replaceTopicRule([
    'ruleName' => '<string>', // REQUIRED
    'topicRulePayload' => [ // REQUIRED
        'actions' => [ // REQUIRED
            [
                'cloudwatchAlarm' => [
                    'alarmName' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'stateReason' => '<string>', // REQUIRED
                    'stateValue' => '<string>', // REQUIRED
                ],
                'cloudwatchLogs' => [
                    'batchMode' => true || false,
                    'logGroupName' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                ],
                'cloudwatchMetric' => [
                    'metricName' => '<string>', // REQUIRED
                    'metricNamespace' => '<string>', // REQUIRED
                    'metricTimestamp' => '<string>',
                    'metricUnit' => '<string>', // REQUIRED
                    'metricValue' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                ],
                'dynamoDB' => [
                    'hashKeyField' => '<string>', // REQUIRED
                    'hashKeyType' => 'STRING|NUMBER',
                    'hashKeyValue' => '<string>', // REQUIRED
                    'operation' => '<string>',
                    'payloadField' => '<string>',
                    'rangeKeyField' => '<string>',
                    'rangeKeyType' => 'STRING|NUMBER',
                    'rangeKeyValue' => '<string>',
                    'roleArn' => '<string>', // REQUIRED
                    'tableName' => '<string>', // REQUIRED
                ],
                'dynamoDBv2' => [
                    'putItem' => [ // REQUIRED
                        'tableName' => '<string>', // REQUIRED
                    ],
                    'roleArn' => '<string>', // REQUIRED
                ],
                'elasticsearch' => [
                    'endpoint' => '<string>', // REQUIRED
                    'id' => '<string>', // REQUIRED
                    'index' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'type' => '<string>', // REQUIRED
                ],
                'firehose' => [
                    'batchMode' => true || false,
                    'deliveryStreamName' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'separator' => '<string>',
                ],
                'http' => [
                    'auth' => [
                        'sigv4' => [
                            'roleArn' => '<string>', // REQUIRED
                            'serviceName' => '<string>', // REQUIRED
                            'signingRegion' => '<string>', // REQUIRED
                        ],
                    ],
                    'confirmationUrl' => '<string>',
                    'headers' => [
                        [
                            'key' => '<string>', // REQUIRED
                            'value' => '<string>', // REQUIRED
                        ],
                        // ...
                    ],
                    'url' => '<string>', // REQUIRED
                ],
                'iotAnalytics' => [
                    'batchMode' => true || false,
                    'channelArn' => '<string>',
                    'channelName' => '<string>',
                    'roleArn' => '<string>',
                ],
                'iotEvents' => [
                    'batchMode' => true || false,
                    'inputName' => '<string>', // REQUIRED
                    'messageId' => '<string>',
                    'roleArn' => '<string>', // REQUIRED
                ],
                'iotSiteWise' => [
                    'putAssetPropertyValueEntries' => [ // REQUIRED
                        [
                            'assetId' => '<string>',
                            'entryId' => '<string>',
                            'propertyAlias' => '<string>',
                            'propertyId' => '<string>',
                            'propertyValues' => [ // REQUIRED
                                [
                                    'quality' => '<string>',
                                    'timestamp' => [ // REQUIRED
                                        'offsetInNanos' => '<string>',
                                        'timeInSeconds' => '<string>', // REQUIRED
                                    ],
                                    'value' => [ // REQUIRED
                                        'booleanValue' => '<string>',
                                        'doubleValue' => '<string>',
                                        'integerValue' => '<string>',
                                        'stringValue' => '<string>',
                                    ],
                                ],
                                // ...
                            ],
                        ],
                        // ...
                    ],
                    'roleArn' => '<string>', // REQUIRED
                ],
                'kafka' => [
                    'clientProperties' => ['<string>', ...], // REQUIRED
                    'destinationArn' => '<string>', // REQUIRED
                    'headers' => [
                        [
                            'key' => '<string>', // REQUIRED
                            'value' => '<string>', // REQUIRED
                        ],
                        // ...
                    ],
                    'key' => '<string>',
                    'partition' => '<string>',
                    'topic' => '<string>', // REQUIRED
                ],
                'kinesis' => [
                    'partitionKey' => '<string>',
                    'roleArn' => '<string>', // REQUIRED
                    'streamName' => '<string>', // REQUIRED
                ],
                'lambda' => [
                    'functionArn' => '<string>', // REQUIRED
                ],
                'location' => [
                    'deviceId' => '<string>', // REQUIRED
                    'latitude' => '<string>', // REQUIRED
                    'longitude' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'timestamp' => [
                        'unit' => '<string>',
                        'value' => '<string>', // REQUIRED
                    ],
                    'trackerName' => '<string>', // REQUIRED
                ],
                'openSearch' => [
                    'endpoint' => '<string>', // REQUIRED
                    'id' => '<string>', // REQUIRED
                    'index' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'type' => '<string>', // REQUIRED
                ],
                'republish' => [
                    'headers' => [
                        'contentType' => '<string>',
                        'correlationData' => '<string>',
                        'messageExpiry' => '<string>',
                        'payloadFormatIndicator' => '<string>',
                        'responseTopic' => '<string>',
                        'userProperties' => [
                            [
                                'key' => '<string>', // REQUIRED
                                'value' => '<string>', // REQUIRED
                            ],
                            // ...
                        ],
                    ],
                    'qos' => <integer>,
                    'roleArn' => '<string>', // REQUIRED
                    'topic' => '<string>', // REQUIRED
                ],
                's3' => [
                    'bucketName' => '<string>', // REQUIRED
                    'cannedAcl' => 'private|public-read|public-read-write|aws-exec-read|authenticated-read|bucket-owner-read|bucket-owner-full-control|log-delivery-write',
                    'key' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                ],
                'salesforce' => [
                    'token' => '<string>', // REQUIRED
                    'url' => '<string>', // REQUIRED
                ],
                'sns' => [
                    'messageFormat' => 'RAW|JSON',
                    'roleArn' => '<string>', // REQUIRED
                    'targetArn' => '<string>', // REQUIRED
                ],
                'sqs' => [
                    'queueUrl' => '<string>', // REQUIRED
                    'roleArn' => '<string>', // REQUIRED
                    'useBase64' => true || false,
                ],
                'stepFunctions' => [
                    'executionNamePrefix' => '<string>',
                    'roleArn' => '<string>', // REQUIRED
                    'stateMachineName' => '<string>', // REQUIRED
                ],
                'timestream' => [
                    'databaseName' => '<string>', // REQUIRED
                    'dimensions' => [ // REQUIRED
                        [
                            'name' => '<string>', // REQUIRED
                            'value' => '<string>', // REQUIRED
                        ],
                        // ...
                    ],
                    'roleArn' => '<string>', // REQUIRED
                    'tableName' => '<string>', // REQUIRED
                    'timestamp' => [
                        'unit' => '<string>', // REQUIRED
                        'value' => '<string>', // REQUIRED
                    ],
                ],
            ],
            // ...
        ],
        'awsIotSqlVersion' => '<string>',
        'description' => '<string>',
        'errorAction' => [
            'cloudwatchAlarm' => [
                'alarmName' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'stateReason' => '<string>', // REQUIRED
                'stateValue' => '<string>', // REQUIRED
            ],
            'cloudwatchLogs' => [
                'batchMode' => true || false,
                'logGroupName' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
            ],
            'cloudwatchMetric' => [
                'metricName' => '<string>', // REQUIRED
                'metricNamespace' => '<string>', // REQUIRED
                'metricTimestamp' => '<string>',
                'metricUnit' => '<string>', // REQUIRED
                'metricValue' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
            ],
            'dynamoDB' => [
                'hashKeyField' => '<string>', // REQUIRED
                'hashKeyType' => 'STRING|NUMBER',
                'hashKeyValue' => '<string>', // REQUIRED
                'operation' => '<string>',
                'payloadField' => '<string>',
                'rangeKeyField' => '<string>',
                'rangeKeyType' => 'STRING|NUMBER',
                'rangeKeyValue' => '<string>',
                'roleArn' => '<string>', // REQUIRED
                'tableName' => '<string>', // REQUIRED
            ],
            'dynamoDBv2' => [
                'putItem' => [ // REQUIRED
                    'tableName' => '<string>', // REQUIRED
                ],
                'roleArn' => '<string>', // REQUIRED
            ],
            'elasticsearch' => [
                'endpoint' => '<string>', // REQUIRED
                'id' => '<string>', // REQUIRED
                'index' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'type' => '<string>', // REQUIRED
            ],
            'firehose' => [
                'batchMode' => true || false,
                'deliveryStreamName' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'separator' => '<string>',
            ],
            'http' => [
                'auth' => [
                    'sigv4' => [
                        'roleArn' => '<string>', // REQUIRED
                        'serviceName' => '<string>', // REQUIRED
                        'signingRegion' => '<string>', // REQUIRED
                    ],
                ],
                'confirmationUrl' => '<string>',
                'headers' => [
                    [
                        'key' => '<string>', // REQUIRED
                        'value' => '<string>', // REQUIRED
                    ],
                    // ...
                ],
                'url' => '<string>', // REQUIRED
            ],
            'iotAnalytics' => [
                'batchMode' => true || false,
                'channelArn' => '<string>',
                'channelName' => '<string>',
                'roleArn' => '<string>',
            ],
            'iotEvents' => [
                'batchMode' => true || false,
                'inputName' => '<string>', // REQUIRED
                'messageId' => '<string>',
                'roleArn' => '<string>', // REQUIRED
            ],
            'iotSiteWise' => [
                'putAssetPropertyValueEntries' => [ // REQUIRED
                    [
                        'assetId' => '<string>',
                        'entryId' => '<string>',
                        'propertyAlias' => '<string>',
                        'propertyId' => '<string>',
                        'propertyValues' => [ // REQUIRED
                            [
                                'quality' => '<string>',
                                'timestamp' => [ // REQUIRED
                                    'offsetInNanos' => '<string>',
                                    'timeInSeconds' => '<string>', // REQUIRED
                                ],
                                'value' => [ // REQUIRED
                                    'booleanValue' => '<string>',
                                    'doubleValue' => '<string>',
                                    'integerValue' => '<string>',
                                    'stringValue' => '<string>',
                                ],
                            ],
                            // ...
                        ],
                    ],
                    // ...
                ],
                'roleArn' => '<string>', // REQUIRED
            ],
            'kafka' => [
                'clientProperties' => ['<string>', ...], // REQUIRED
                'destinationArn' => '<string>', // REQUIRED
                'headers' => [
                    [
                        'key' => '<string>', // REQUIRED
                        'value' => '<string>', // REQUIRED
                    ],
                    // ...
                ],
                'key' => '<string>',
                'partition' => '<string>',
                'topic' => '<string>', // REQUIRED
            ],
            'kinesis' => [
                'partitionKey' => '<string>',
                'roleArn' => '<string>', // REQUIRED
                'streamName' => '<string>', // REQUIRED
            ],
            'lambda' => [
                'functionArn' => '<string>', // REQUIRED
            ],
            'location' => [
                'deviceId' => '<string>', // REQUIRED
                'latitude' => '<string>', // REQUIRED
                'longitude' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'timestamp' => [
                    'unit' => '<string>',
                    'value' => '<string>', // REQUIRED
                ],
                'trackerName' => '<string>', // REQUIRED
            ],
            'openSearch' => [
                'endpoint' => '<string>', // REQUIRED
                'id' => '<string>', // REQUIRED
                'index' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'type' => '<string>', // REQUIRED
            ],
            'republish' => [
                'headers' => [
                    'contentType' => '<string>',
                    'correlationData' => '<string>',
                    'messageExpiry' => '<string>',
                    'payloadFormatIndicator' => '<string>',
                    'responseTopic' => '<string>',
                    'userProperties' => [
                        [
                            'key' => '<string>', // REQUIRED
                            'value' => '<string>', // REQUIRED
                        ],
                        // ...
                    ],
                ],
                'qos' => <integer>,
                'roleArn' => '<string>', // REQUIRED
                'topic' => '<string>', // REQUIRED
            ],
            's3' => [
                'bucketName' => '<string>', // REQUIRED
                'cannedAcl' => 'private|public-read|public-read-write|aws-exec-read|authenticated-read|bucket-owner-read|bucket-owner-full-control|log-delivery-write',
                'key' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
            ],
            'salesforce' => [
                'token' => '<string>', // REQUIRED
                'url' => '<string>', // REQUIRED
            ],
            'sns' => [
                'messageFormat' => 'RAW|JSON',
                'roleArn' => '<string>', // REQUIRED
                'targetArn' => '<string>', // REQUIRED
            ],
            'sqs' => [
                'queueUrl' => '<string>', // REQUIRED
                'roleArn' => '<string>', // REQUIRED
                'useBase64' => true || false,
            ],
            'stepFunctions' => [
                'executionNamePrefix' => '<string>',
                'roleArn' => '<string>', // REQUIRED
                'stateMachineName' => '<string>', // REQUIRED
            ],
            'timestream' => [
                'databaseName' => '<string>', // REQUIRED
                'dimensions' => [ // REQUIRED
                    [
                        'name' => '<string>', // REQUIRED
                        'value' => '<string>', // REQUIRED
                    ],
                    // ...
                ],
                'roleArn' => '<string>', // REQUIRED
                'tableName' => '<string>', // REQUIRED
                'timestamp' => [
                    'unit' => '<string>', // REQUIRED
                    'value' => '<string>', // REQUIRED
                ],
            ],
        ],
        'ruleDisabled' => true || false,
        'sql' => '<string>', // REQUIRED
    ],
]);

Parameter Details

Members
ruleName
Required: Yes
Type: string

The name of the rule.

topicRulePayload
Required: Yes
Type: TopicRulePayload structure

The rule payload.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

SqlParseException:

The Rule-SQL expression can't be parsed correctly.

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

UnauthorizedException:

You are not authorized to perform this operation.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

SearchIndex

$result = $client->searchIndex([/* ... */]);
$promise = $client->searchIndexAsync([/* ... */]);

The query search index.

Requires permission to access the SearchIndex action.

Parameter Syntax

$result = $client->searchIndex([
    'indexName' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'queryString' => '<string>', // REQUIRED
    'queryVersion' => '<string>',
]);

Parameter Details

Members
indexName
Type: string

The search index name.

maxResults
Type: int

The maximum number of results to return per page at one time. This maximum number cannot exceed 100. The response might contain fewer results but will never contain more. You can use nextToken to retrieve the next set of results until nextToken returns NULL.

nextToken
Type: string

The token used to get the next set of results, or null if there are no additional results.

queryString
Required: Yes
Type: string

The search query string. For more information about the search query syntax, see Query syntax.

queryVersion
Type: string

The query version.

Result Syntax

[
    'nextToken' => '<string>',
    'thingGroups' => [
        [
            'attributes' => ['<string>', ...],
            'parentGroupNames' => ['<string>', ...],
            'thingGroupDescription' => '<string>',
            'thingGroupId' => '<string>',
            'thingGroupName' => '<string>',
        ],
        // ...
    ],
    'things' => [
        [
            'attributes' => ['<string>', ...],
            'connectivity' => [
                'connected' => true || false,
                'disconnectReason' => '<string>',
                'timestamp' => <integer>,
            ],
            'deviceDefender' => '<string>',
            'shadow' => '<string>',
            'thingGroupNames' => ['<string>', ...],
            'thingId' => '<string>',
            'thingName' => '<string>',
            'thingTypeName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token used to get the next set of results, or null if there are no additional results.

thingGroups
Type: Array of ThingGroupDocument structures

The thing groups that match the search query.

things
Type: Array of ThingDocument structures

The things that match the search query.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

InvalidQueryException:

The query is invalid.

IndexNotReadyException:

The index is not ready.

SetDefaultAuthorizer

$result = $client->setDefaultAuthorizer([/* ... */]);
$promise = $client->setDefaultAuthorizerAsync([/* ... */]);

Sets the default authorizer. This will be used if a websocket connection is made without specifying an authorizer.

Requires permission to access the SetDefaultAuthorizer action.

Parameter Syntax

$result = $client->setDefaultAuthorizer([
    'authorizerName' => '<string>', // REQUIRED
]);

Parameter Details

Members
authorizerName
Required: Yes
Type: string

The authorizer name.

Result Syntax

[
    'authorizerArn' => '<string>',
    'authorizerName' => '<string>',
]

Result Details

Members
authorizerArn
Type: string

The authorizer ARN.

authorizerName
Type: string

The authorizer name.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceAlreadyExistsException:

The resource already exists.

SetDefaultPolicyVersion

$result = $client->setDefaultPolicyVersion([/* ... */]);
$promise = $client->setDefaultPolicyVersionAsync([/* ... */]);

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 ListPrincipalPolicies action.

Requires permission to access the SetDefaultPolicyVersion action.

Parameter Syntax

$result = $client->setDefaultPolicyVersion([
    'policyName' => '<string>', // REQUIRED
    'policyVersionId' => '<string>', // REQUIRED
]);

Parameter Details

Members
policyName
Required: Yes
Type: string

The policy name.

policyVersionId
Required: Yes
Type: string

The policy version ID.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

SetLoggingOptions

$result = $client->setLoggingOptions([/* ... */]);
$promise = $client->setLoggingOptionsAsync([/* ... */]);

Sets the logging options.

NOTE: use of this command is not recommended. Use SetV2LoggingOptions instead.

Requires permission to access the SetLoggingOptions action.

Parameter Syntax

$result = $client->setLoggingOptions([
    'loggingOptionsPayload' => [ // REQUIRED
        'logLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED',
        'roleArn' => '<string>', // REQUIRED
    ],
]);

Parameter Details

Members
loggingOptionsPayload
Required: Yes
Type: LoggingOptionsPayload structure

The logging options payload.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

SetV2LoggingLevel

$result = $client->setV2LoggingLevel([/* ... */]);
$promise = $client->setV2LoggingLevelAsync([/* ... */]);

Sets the logging level.

Requires permission to access the SetV2LoggingLevel action.

Parameter Syntax

$result = $client->setV2LoggingLevel([
    'logLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED', // REQUIRED
    'logTarget' => [ // REQUIRED
        'targetName' => '<string>',
        'targetType' => 'DEFAULT|THING_GROUP|CLIENT_ID|SOURCE_IP|PRINCIPAL_ID', // REQUIRED
    ],
]);

Parameter Details

Members
logLevel
Required: Yes
Type: string

The log level.

logTarget
Required: Yes
Type: LogTarget structure

The log target.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalException:

An unexpected error has occurred.

NotConfiguredException:

The resource is not configured.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

LimitExceededException:

A limit has been exceeded.

SetV2LoggingOptions

$result = $client->setV2LoggingOptions([/* ... */]);
$promise = $client->setV2LoggingOptionsAsync([/* ... */]);

Sets the logging options for the V2 logging service.

Requires permission to access the SetV2LoggingOptions action.

Parameter Syntax

$result = $client->setV2LoggingOptions([
    'defaultLogLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED',
    'disableAllLogs' => true || false,
    'roleArn' => '<string>',
]);

Parameter Details

Members
defaultLogLevel
Type: string

The default logging level.

disableAllLogs
Type: boolean

If true all logs are disabled. The default is false.

roleArn
Type: string

The ARN of the role that allows IoT to write to Cloudwatch logs.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

StartAuditMitigationActionsTask

$result = $client->startAuditMitigationActionsTask([/* ... */]);
$promise = $client->startAuditMitigationActionsTaskAsync([/* ... */]);

Starts a task that applies a set of mitigation actions to the specified target.

Requires permission to access the StartAuditMitigationActionsTask action.

Parameter Syntax

$result = $client->startAuditMitigationActionsTask([
    'auditCheckToActionsMapping' => [ // REQUIRED
        '<AuditCheckName>' => ['<string>', ...],
        // ...
    ],
    'clientRequestToken' => '<string>', // REQUIRED
    'target' => [ // REQUIRED
        'auditCheckToReasonCodeFilter' => [
            '<AuditCheckName>' => ['<string>', ...],
            // ...
        ],
        'auditTaskId' => '<string>',
        'findingIds' => ['<string>', ...],
    ],
    'taskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
auditCheckToActionsMapping
Required: Yes
Type: Associative array of custom strings keys (AuditCheckName) to stringss

For an audit check, specifies which mitigation actions to apply. Those actions must be defined in your Amazon Web Services accounts.

clientRequestToken
Required: Yes
Type: string

Each audit mitigation task must have a unique client request token. If you try to start a new task with the same token as a task that already exists, an exception occurs. If you omit this value, a unique client request token is generated automatically.

target
Required: Yes
Type: AuditMitigationActionsTaskTarget structure

Specifies the audit findings to which the mitigation actions are applied. You can apply them to a type of audit check, to all findings from an audit, or to a specific set of findings.

taskId
Required: Yes
Type: string

A unique identifier for the task. You can use this identifier to check the status of the task or to cancel it.

Result Syntax

[
    'taskId' => '<string>',
]

Result Details

Members
taskId
Type: string

The unique identifier for the audit mitigation task. This matches the taskId that you specified in the request.

Errors

InvalidRequestException:

The request is not valid.

TaskAlreadyExistsException:

This exception occurs if you attempt to start a task with the same task-id as an existing task but with a different clientRequestToken.

LimitExceededException:

A limit has been exceeded.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

StartDetectMitigationActionsTask

$result = $client->startDetectMitigationActionsTask([/* ... */]);
$promise = $client->startDetectMitigationActionsTaskAsync([/* ... */]);

Starts a Device Defender ML Detect mitigation actions task.

Requires permission to access the StartDetectMitigationActionsTask action.

Parameter Syntax

$result = $client->startDetectMitigationActionsTask([
    'actions' => ['<string>', ...], // REQUIRED
    'clientRequestToken' => '<string>', // REQUIRED
    'includeOnlyActiveViolations' => true || false,
    'includeSuppressedAlerts' => true || false,
    'target' => [ // REQUIRED
        'behaviorName' => '<string>',
        'securityProfileName' => '<string>',
        'violationIds' => ['<string>', ...],
    ],
    'taskId' => '<string>', // REQUIRED
    'violationEventOccurrenceRange' => [
        'endTime' => <integer || string || DateTime>, // REQUIRED
        'startTime' => <integer || string || DateTime>, // REQUIRED
    ],
]);

Parameter Details

Members
actions
Required: Yes
Type: Array of strings

The actions to be performed when a device has unexpected behavior.

clientRequestToken
Required: Yes
Type: string

Each mitigation action task must have a unique client request token. If you try to create a new task with the same token as a task that already exists, an exception occurs. If you omit this value, Amazon Web Services SDKs will automatically generate a unique client request.

includeOnlyActiveViolations
Type: boolean

Specifies to list only active violations.

includeSuppressedAlerts
Type: boolean

Specifies to include suppressed alerts.

target
Required: Yes
Type: DetectMitigationActionsTaskTarget structure

Specifies the ML Detect findings to which the mitigation actions are applied.

taskId
Required: Yes
Type: string

The unique identifier of the task.

violationEventOccurrenceRange

Specifies the time period of which violation events occurred between.

Result Syntax

[
    'taskId' => '<string>',
]

Result Details

Members
taskId
Type: string

The unique identifier of the task.

Errors

InvalidRequestException:

The request is not valid.

TaskAlreadyExistsException:

This exception occurs if you attempt to start a task with the same task-id as an existing task but with a different clientRequestToken.

LimitExceededException:

A limit has been exceeded.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

StartOnDemandAuditTask

$result = $client->startOnDemandAuditTask([/* ... */]);
$promise = $client->startOnDemandAuditTaskAsync([/* ... */]);

Starts an on-demand Device Defender audit.

Requires permission to access the StartOnDemandAuditTask action.

Parameter Syntax

$result = $client->startOnDemandAuditTask([
    'targetCheckNames' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
targetCheckNames
Required: Yes
Type: Array of strings

Which checks are performed during the audit. The checks you specify must be enabled for your account or an exception occurs. Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or UpdateAccountAuditConfiguration to select which checks are enabled.

Result Syntax

[
    'taskId' => '<string>',
]

Result Details

Members
taskId
Type: string

The ID of the on-demand audit you started.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

LimitExceededException:

A limit has been exceeded.

StartThingRegistrationTask

$result = $client->startThingRegistrationTask([/* ... */]);
$promise = $client->startThingRegistrationTaskAsync([/* ... */]);

Creates a bulk thing provisioning task.

Requires permission to access the StartThingRegistrationTask action.

Parameter Syntax

$result = $client->startThingRegistrationTask([
    'inputFileBucket' => '<string>', // REQUIRED
    'inputFileKey' => '<string>', // REQUIRED
    'roleArn' => '<string>', // REQUIRED
    'templateBody' => '<string>', // REQUIRED
]);

Parameter Details

Members
inputFileBucket
Required: Yes
Type: string

The S3 bucket that contains the input file.

inputFileKey
Required: Yes
Type: string

The name of input file within the S3 bucket. This file contains a newline delimited JSON file. Each line contains the parameter values to provision one device (thing).

roleArn
Required: Yes
Type: string

The IAM role ARN that grants permission the input file.

templateBody
Required: Yes
Type: string

The provisioning template.

Result Syntax

[
    'taskId' => '<string>',
]

Result Details

Members
taskId
Type: string

The bulk thing provisioning task ID.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

InternalFailureException:

An unexpected error has occurred.

StopThingRegistrationTask

$result = $client->stopThingRegistrationTask([/* ... */]);
$promise = $client->stopThingRegistrationTaskAsync([/* ... */]);

Cancels a bulk thing provisioning task.

Requires permission to access the StopThingRegistrationTask action.

Parameter Syntax

$result = $client->stopThingRegistrationTask([
    'taskId' => '<string>', // REQUIRED
]);

Parameter Details

Members
taskId
Required: Yes
Type: string

The bulk thing provisioning task ID.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Adds to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource.

Requires permission to access the TagResource action.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => [ // REQUIRED
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The ARN of the resource.

tags
Required: Yes
Type: Array of Tag structures

The new or modified tags for the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

LimitExceededException:

A limit has been exceeded.

TestAuthorization

$result = $client->testAuthorization([/* ... */]);
$promise = $client->testAuthorizationAsync([/* ... */]);

Tests if a specified principal is authorized to perform an IoT action on a specified resource. Use this to test and debug the authorization behavior of devices that connect to the IoT device gateway.

Requires permission to access the TestAuthorization action.

Parameter Syntax

$result = $client->testAuthorization([
    'authInfos' => [ // REQUIRED
        [
            'actionType' => 'PUBLISH|SUBSCRIBE|RECEIVE|CONNECT',
            'resources' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'clientId' => '<string>',
    'cognitoIdentityPoolId' => '<string>',
    'policyNamesToAdd' => ['<string>', ...],
    'policyNamesToSkip' => ['<string>', ...],
    'principal' => '<string>',
]);

Parameter Details

Members
authInfos
Required: Yes
Type: Array of AuthInfo structures

A list of authorization info objects. Simulating authorization will create a response for each authInfo object in the list.

clientId
Type: string

The MQTT client ID.

cognitoIdentityPoolId
Type: string

The Cognito identity pool ID.

policyNamesToAdd
Type: Array of strings

When testing custom authorization, the policies specified here are treated as if they are attached to the principal being authorized.

policyNamesToSkip
Type: Array of strings

When testing custom authorization, the policies specified here are treated as if they are not attached to the principal being authorized.

principal
Type: string

The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

Result Syntax

[
    'authResults' => [
        [
            'allowed' => [
                'policies' => [
                    [
                        'policyArn' => '<string>',
                        'policyName' => '<string>',
                    ],
                    // ...
                ],
            ],
            'authDecision' => 'ALLOWED|EXPLICIT_DENY|IMPLICIT_DENY',
            'authInfo' => [
                'actionType' => 'PUBLISH|SUBSCRIBE|RECEIVE|CONNECT',
                'resources' => ['<string>', ...],
            ],
            'denied' => [
                'explicitDeny' => [
                    'policies' => [
                        [
                            'policyArn' => '<string>',
                            'policyName' => '<string>',
                        ],
                        // ...
                    ],
                ],
                'implicitDeny' => [
                    'policies' => [
                        [
                            'policyArn' => '<string>',
                            'policyName' => '<string>',
                        ],
                        // ...
                    ],
                ],
            ],
            'missingContextValues' => ['<string>', ...],
        ],
        // ...
    ],
]

Result Details

Members
authResults
Type: Array of AuthResult structures

The authentication results.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

LimitExceededException:

A limit has been exceeded.

TestInvokeAuthorizer

$result = $client->testInvokeAuthorizer([/* ... */]);
$promise = $client->testInvokeAuthorizerAsync([/* ... */]);

Tests a custom authorization behavior by invoking a specified custom authorizer. Use this to test and debug the custom authorization behavior of devices that connect to the IoT device gateway.

Requires permission to access the TestInvokeAuthorizer action.

Parameter Syntax

$result = $client->testInvokeAuthorizer([
    'authorizerName' => '<string>', // REQUIRED
    'httpContext' => [
        'headers' => ['<string>', ...],
        'queryString' => '<string>',
    ],
    'mqttContext' => [
        'clientId' => '<string>',
        'password' => <string || resource || Psr\Http\Message\StreamInterface>,
        'username' => '<string>',
    ],
    'tlsContext' => [
        'serverName' => '<string>',
    ],
    'token' => '<string>',
    'tokenSignature' => '<string>',
]);

Parameter Details

Members
authorizerName
Required: Yes
Type: string

The custom authorizer name.

httpContext
Type: HttpContext structure

Specifies a test HTTP authorization request.

mqttContext
Type: MqttContext structure

Specifies a test MQTT authorization request.

tlsContext
Type: TlsContext structure

Specifies a test TLS authorization request.

token
Type: string

The token returned by your custom authentication service.

tokenSignature
Type: string

The signature made with the token and your custom authentication service's private key. This value must be Base-64-encoded.

Result Syntax

[
    'disconnectAfterInSeconds' => <integer>,
    'isAuthenticated' => true || false,
    'policyDocuments' => ['<string>', ...],
    'principalId' => '<string>',
    'refreshAfterInSeconds' => <integer>,
]

Result Details

Members
disconnectAfterInSeconds
Type: int

The number of seconds after which the connection is terminated.

isAuthenticated
Type: boolean

True if the token is authenticated, otherwise false.

policyDocuments
Type: Array of strings

IAM policy documents.

principalId
Type: string

The principal ID.

refreshAfterInSeconds
Type: int

The number of seconds after which the temporary credentials are refreshed.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

InvalidResponseException:

The response is invalid.

TransferCertificate

$result = $client->transferCertificate([/* ... */]);
$promise = $client->transferCertificateAsync([/* ... */]);

Transfers the specified certificate to the specified Amazon Web Services account.

Requires permission to access the TransferCertificate action.

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 action to deactivate it.

The certificate must not have any policies attached to it. You can use the DetachPolicy action to detach them.

Parameter Syntax

$result = $client->transferCertificate([
    'certificateId' => '<string>', // REQUIRED
    'targetAwsAccount' => '<string>', // REQUIRED
    'transferMessage' => '<string>',
]);

Parameter Details

Members
certificateId
Required: Yes
Type: string

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

targetAwsAccount
Required: Yes
Type: string

The Amazon Web Services account.

transferMessage
Type: string

The transfer message.

Result Syntax

[
    'transferredCertificateArn' => '<string>',
]

Result Details

Members
transferredCertificateArn
Type: string

The ARN of the certificate.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

CertificateStateException:

The certificate operation is not allowed.

TransferConflictException:

You can't transfer the certificate because authorization policies are still attached.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Removes the given tags (metadata) from the resource.

Requires permission to access the UntagResource action.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The ARN of the resource.

tagKeys
Required: Yes
Type: Array of strings

A list of the keys of the tags to be removed from the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

UpdateAccountAuditConfiguration

$result = $client->updateAccountAuditConfiguration([/* ... */]);
$promise = $client->updateAccountAuditConfigurationAsync([/* ... */]);

Configures or reconfigures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.

Requires permission to access the UpdateAccountAuditConfiguration action.

Parameter Syntax

$result = $client->updateAccountAuditConfiguration([
    'auditCheckConfigurations' => [
        '<AuditCheckName>' => [
            'enabled' => true || false,
        ],
        // ...
    ],
    'auditNotificationTargetConfigurations' => [
        '<AuditNotificationType>' => [
            'enabled' => true || false,
            'roleArn' => '<string>',
            'targetArn' => '<string>',
        ],
        // ...
    ],
    'roleArn' => '<string>',
]);

Parameter Details

Members
auditCheckConfigurations
Type: Associative array of custom strings keys (AuditCheckName) to AuditCheckConfiguration structures

Specifies which audit checks are enabled and disabled for this account. Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are currently enabled.

Some data collection might start immediately when certain checks are enabled. When a check is disabled, any data collected so far in relation to the check is deleted.

You cannot disable a check if it's used by any scheduled audit. You must first delete the check from the scheduled audit or delete the scheduled audit itself.

On the first call to UpdateAccountAuditConfiguration, this parameter is required and must specify at least one enabled check.

auditNotificationTargetConfigurations
Type: Associative array of custom strings keys (AuditNotificationType) to AuditNotificationTarget structures

Information about the targets to which audit notifications are sent.

roleArn
Type: string

The Amazon Resource Name (ARN) of the role that grants permission to IoT to access information about your devices, policies, certificates, and other items as required when performing an audit.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

UpdateAuditSuppression

$result = $client->updateAuditSuppression([/* ... */]);
$promise = $client->updateAuditSuppressionAsync([/* ... */]);

Updates a Device Defender audit suppression.

Parameter Syntax

$result = $client->updateAuditSuppression([
    'checkName' => '<string>', // REQUIRED
    'description' => '<string>',
    'expirationDate' => <integer || string || DateTime>,
    'resourceIdentifier' => [ // REQUIRED
        'account' => '<string>',
        'caCertificateId' => '<string>',
        'clientId' => '<string>',
        'cognitoIdentityPoolId' => '<string>',
        'deviceCertificateArn' => '<string>',
        'deviceCertificateId' => '<string>',
        'iamRoleArn' => '<string>',
        'issuerCertificateIdentifier' => [
            'issuerCertificateSerialNumber' => '<string>',
            'issuerCertificateSubject' => '<string>',
            'issuerId' => '<string>',
        ],
        'policyVersionIdentifier' => [
            'policyName' => '<string>',
            'policyVersionId' => '<string>',
        ],
        'roleAliasArn' => '<string>',
    ],
    'suppressIndefinitely' => true || false,
]);

Parameter Details

Members
checkName
Required: Yes
Type: string

An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

description
Type: string

The description of the audit suppression.

expirationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The expiration date (epoch timestamp in seconds) that you want the suppression to adhere to.

resourceIdentifier
Required: Yes
Type: ResourceIdentifier structure

Information that identifies the noncompliant resource.

suppressIndefinitely
Type: boolean

Indicates whether a suppression should exist indefinitely or not.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

UpdateAuthorizer

$result = $client->updateAuthorizer([/* ... */]);
$promise = $client->updateAuthorizerAsync([/* ... */]);

Updates an authorizer.

Requires permission to access the UpdateAuthorizer action.

Parameter Syntax

$result = $client->updateAuthorizer([
    'authorizerFunctionArn' => '<string>',
    'authorizerName' => '<string>', // REQUIRED
    'enableCachingForHttp' => true || false,
    'status' => 'ACTIVE|INACTIVE',
    'tokenKeyName' => '<string>',
    'tokenSigningPublicKeys' => ['<string>', ...],
]);

Parameter Details

Members
authorizerFunctionArn
Type: string

The ARN of the authorizer's Lambda function.

authorizerName
Required: Yes
Type: string

The authorizer name.

enableCachingForHttp
Type: boolean

When true, the result from the authorizer’s Lambda function is cached for the time specified in refreshAfterInSeconds. The cached result is used while the device reuses the same HTTP connection.

status
Type: string

The status of the update authorizer request.

tokenKeyName
Type: string

The key used to extract the token from the HTTP headers.

tokenSigningPublicKeys
Type: Associative array of custom strings keys (KeyName) to strings

The public keys used to verify the token signature.

Result Syntax

[
    'authorizerArn' => '<string>',
    'authorizerName' => '<string>',
]

Result Details

Members
authorizerArn
Type: string

The authorizer ARN.

authorizerName
Type: string

The authorizer name.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

LimitExceededException:

A limit has been exceeded.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

UpdateBillingGroup

$result = $client->updateBillingGroup([/* ... */]);
$promise = $client->updateBillingGroupAsync([/* ... */]);

Updates information about the billing group.

Requires permission to access the UpdateBillingGroup action.

Parameter Syntax

$result = $client->updateBillingGroup([
    'billingGroupName' => '<string>', // REQUIRED
    'billingGroupProperties' => [ // REQUIRED
        'billingGroupDescription' => '<string>',
    ],
    'expectedVersion' => <integer>,
]);

Parameter Details

Members
billingGroupName
Required: Yes
Type: string

The name of the billing group.

billingGroupProperties
Required: Yes
Type: BillingGroupProperties structure

The properties of the billing group.

expectedVersion
Type: long (int|float)

The expected version of the billing group. If the version of the billing group does not match the expected version specified in the request, the UpdateBillingGroup request is rejected with a VersionConflictException.

Result Syntax

[
    'version' => <integer>,
]

Result Details

Members
version
Type: long (int|float)

The latest version of the billing group.

Errors

InvalidRequestException:

The request is not valid.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

UpdateCACertificate

$result = $client->updateCACertificate([/* ... */]);
$promise = $client->updateCACertificateAsync([/* ... */]);

Updates a registered CA certificate.

Requires permission to access the UpdateCACertificate action.

Parameter Syntax

$result = $client->updateCACertificate([
    'certificateId' => '<string>', // REQUIRED
    'newAutoRegistrationStatus' => 'ENABLE|DISABLE',
    'newStatus' => 'ACTIVE|INACTIVE',
    'registrationConfig' => [
        'roleArn' => '<string>',
        'templateBody' => '<string>',
        'templateName' => '<string>',
    ],
    'removeAutoRegistration' => true || false,
]);

Parameter Details

Members
certificateId
Required: Yes
Type: string

The CA certificate identifier.

newAutoRegistrationStatus
Type: string

The new value for the auto registration status. Valid values are: "ENABLE" or "DISABLE".

newStatus
Type: string

The updated status of the CA certificate.

Note: The status value REGISTER_INACTIVE is deprecated and should not be used.

registrationConfig
Type: RegistrationConfig structure

Information about the registration configuration.

removeAutoRegistration
Type: boolean

If true, removes auto registration.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

UpdateCertificate

$result = $client->updateCertificate([/* ... */]);
$promise = $client->updateCertificateAsync([/* ... */]);

Updates the status of the specified certificate. This operation is idempotent.

Requires permission to access the UpdateCertificate action.

Certificates must be in the ACTIVE state to authenticate devices that use a certificate to connect to IoT.

Within a few minutes of updating a certificate from the ACTIVE state to any other state, IoT disconnects all devices that used that certificate to connect. Devices cannot use a certificate that is not in the ACTIVE state to reconnect.

Parameter Syntax

$result = $client->updateCertificate([
    'certificateId' => '<string>', // REQUIRED
    'newStatus' => 'ACTIVE|INACTIVE|REVOKED|PENDING_TRANSFER|REGISTER_INACTIVE|PENDING_ACTIVATION', // REQUIRED
]);

Parameter Details

Members
certificateId
Required: Yes
Type: string

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

newStatus
Required: Yes
Type: string

The new status.

Note: Setting the status to PENDING_TRANSFER or PENDING_ACTIVATION will result in an exception being thrown. PENDING_TRANSFER and PENDING_ACTIVATION are statuses used internally by IoT. They are not intended for developer use.

Note: The status value REGISTER_INACTIVE is deprecated and should not be used.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The specified resource does not exist.

CertificateStateException:

The certificate operation is not allowed.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

UpdateCertificateProvider

$result = $client->updateCertificateProvider([/* ... */]);
$promise = $client->updateCertificateProviderAsync([/* ... */]);

Updates a certificate provider.

Requires permission to access the UpdateCertificateProvider action.

Parameter Syntax

$result = $client->updateCertificateProvider([
    'accountDefaultForOperations' => ['<string>', ...],
    'certificateProviderName' => '<string>', // REQUIRED
    'lambdaFunctionArn' => '<string>',
]);

Parameter Details

Members
accountDefaultForOperations
Type: Array of strings

A list of the operations that the certificate provider will use to generate certificates. Valid value: CreateCertificateFromCsr.

certificateProviderName
Required: Yes
Type: string

The name of the certificate provider.

lambdaFunctionArn
Type: string

The Lambda function ARN that's associated with the certificate provider.

Result Syntax

[
    'certificateProviderArn' => '<string>',
    'certificateProviderName' => '<string>',
]

Result Details

Members
certificateProviderArn
Type: string

The ARN of the certificate provider.

certificateProviderName
Type: string

The name of the certificate provider.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

UpdateCustomMetric

$result = $client->updateCustomMetric([/* ... */]);
$promise = $client->updateCustomMetricAsync([/* ... */]);

Updates a Device Defender detect custom metric.

Requires permission to access the UpdateCustomMetric action.

Parameter Syntax

$result = $client->updateCustomMetric([
    'displayName' => '<string>', // REQUIRED
    'metricName' => '<string>', // REQUIRED
]);

Parameter Details

Members
displayName
Required: Yes
Type: string

Field represents a friendly name in the console for the custom metric, it doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. Can be updated.

metricName
Required: Yes
Type: string

The name of the custom metric. Cannot be updated.

Result Syntax

[
    'creationDate' => <DateTime>,
    'displayName' => '<string>',
    'lastModifiedDate' => <DateTime>,
    'metricArn' => '<string>',
    'metricName' => '<string>',
    'metricType' => 'string-list|ip-address-list|number-list|number',
]

Result Details

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The creation date of the custom metric in milliseconds since epoch.

displayName
Type: string

A friendly name in the console for the custom metric

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the custom metric was last modified in milliseconds since epoch.

metricArn
Type: string

The Amazon Resource Number (ARN) of the custom metric.

metricName
Type: string

The name of the custom metric.

metricType
Type: string

The type of the custom metric.

The type number only takes a single metric value as an input, but while submitting the metrics value in the DeviceMetrics report, it must be passed as an array with a single value.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

UpdateDimension

$result = $client->updateDimension([/* ... */]);
$promise = $client->updateDimensionAsync([/* ... */]);

Updates the definition for a dimension. You cannot change the type of a dimension after it is created (you can delete it and recreate it).

Requires permission to access the UpdateDimension action.

Parameter Syntax

$result = $client->updateDimension([
    'name' => '<string>', // REQUIRED
    'stringValues' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
name
Required: Yes
Type: string

A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.

stringValues
Required: Yes
Type: Array of strings

Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, "admin/#").

Result Syntax

[
    'arn' => '<string>',
    'creationDate' => <DateTime>,
    'lastModifiedDate' => <DateTime>,
    'name' => '<string>',
    'stringValues' => ['<string>', ...],
    'type' => 'TOPIC_FILTER',
]

Result Details

Members
arn
Type: string

The Amazon Resource Name (ARN)of the created dimension.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time, in milliseconds since epoch, when the dimension was initially created.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time, in milliseconds since epoch, when the dimension was most recently updated.

name
Type: string

A unique identifier for the dimension.

stringValues
Type: Array of strings

The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.

type
Type: string

The type of the dimension.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

UpdateDomainConfiguration

$result = $client->updateDomainConfiguration([/* ... */]);
$promise = $client->updateDomainConfigurationAsync([/* ... */]);

Updates values stored in the domain configuration. Domain configurations for default endpoints can't be updated.

Requires permission to access the UpdateDomainConfiguration action.

Parameter Syntax

$result = $client->updateDomainConfiguration([
    'authorizerConfig' => [
        'allowAuthorizerOverride' => true || false,
        'defaultAuthorizerName' => '<string>',
    ],
    'domainConfigurationName' => '<string>', // REQUIRED
    'domainConfigurationStatus' => 'ENABLED|DISABLED',
    'removeAuthorizerConfig' => true || false,
    'serverCertificateConfig' => [
        'enableOCSPCheck' => true || false,
    ],
    'tlsConfig' => [
        'securityPolicy' => '<string>',
    ],
]);

Parameter Details

Members
authorizerConfig
Type: AuthorizerConfig structure

An object that specifies the authorization service for a domain.

domainConfigurationName
Required: Yes
Type: string

The name of the domain configuration to be updated.

domainConfigurationStatus
Type: string

The status to which the domain configuration should be updated.

removeAuthorizerConfig
Type: boolean

Removes the authorization configuration from a domain.

serverCertificateConfig
Type: ServerCertificateConfig structure

The server certificate configuration.

tlsConfig
Type: TlsConfig structure

An object that specifies the TLS configuration for a domain.

Result Syntax

[
    'domainConfigurationArn' => '<string>',
    'domainConfigurationName' => '<string>',
]

Result Details

Members
domainConfigurationArn
Type: string

The ARN of the domain configuration that was updated.

domainConfigurationName
Type: string

The name of the domain configuration that was updated.

Errors

ResourceNotFoundException:

The specified resource does not exist.

CertificateValidationException:

The certificate is invalid.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

UpdateDynamicThingGroup

$result = $client->updateDynamicThingGroup([/* ... */]);
$promise = $client->updateDynamicThingGroupAsync([/* ... */]);

Updates a dynamic thing group.

Requires permission to access the UpdateDynamicThingGroup action.

Parameter Syntax

$result = $client->updateDynamicThingGroup([
    'expectedVersion' => <integer>,
    'indexName' => '<string>',
    'queryString' => '<string>',
    'queryVersion' => '<string>',
    'thingGroupName' => '<string>', // REQUIRED
    'thingGroupProperties' => [ // REQUIRED
        'attributePayload' => [
            'attributes' => ['<string>', ...],
            'merge' => true || false,
        ],
        'thingGroupDescription' => '<string>',
    ],
]);

Parameter Details

Members
expectedVersion
Type: long (int|float)

The expected version of the dynamic thing group to update.

indexName
Type: string

The dynamic thing group index to update.

Currently one index is supported: AWS_Things.

queryString
Type: string

The dynamic thing group search query string to update.

queryVersion
Type: string

The dynamic thing group query version to update.

Currently one query version is supported: "2017-09-30". If not specified, the query version defaults to this value.

thingGroupName
Required: Yes
Type: string

The name of the dynamic thing group to update.

thingGroupProperties
Required: Yes
Type: ThingGroupProperties structure

The dynamic thing group properties to update.

Result Syntax

[
    'version' => <integer>,
]

Result Details

Members
version
Type: long (int|float)

The dynamic thing group version.

Errors

InvalidRequestException:

The request is not valid.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

InvalidQueryException:

The query is invalid.

UpdateEventConfigurations

$result = $client->updateEventConfigurations([/* ... */]);
$promise = $client->updateEventConfigurationsAsync([/* ... */]);

Updates the event configurations.

Requires permission to access the UpdateEventConfigurations action.

Parameter Syntax

$result = $client->updateEventConfigurations([
    'eventConfigurations' => [
        '<EventType>' => [
            'Enabled' => true || false,
        ],
        // ...
    ],
]);

Parameter Details

Members
eventConfigurations
Type: Associative array of custom strings keys (EventType) to Configuration structures

The new event configuration values.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

InternalFailureException:

An unexpected error has occurred.

ThrottlingException:

The rate exceeds the limit.

UpdateFleetMetric

$result = $client->updateFleetMetric([/* ... */]);
$promise = $client->updateFleetMetricAsync([/* ... */]);

Updates the data for a fleet metric.

Requires permission to access the UpdateFleetMetric action.

Parameter Syntax

$result = $client->updateFleetMetric([
    'aggregationField' => '<string>',
    'aggregationType' => [
        'name' => 'Statistics|Percentiles|Cardinality', // REQUIRED
        'values' => ['<string>', ...],
    ],
    'description' => '<string>',
    'expectedVersion' => <integer>,
    'indexName' => '<string>', // REQUIRED
    'metricName' => '<string>', // REQUIRED
    'period' => <integer>,
    'queryString' => '<string>',
    'queryVersion' => '<string>',
    'unit' => 'Seconds|Microseconds|Milliseconds|Bytes|Kilobytes|Megabytes|Gigabytes|Terabytes|Bits|Kilobits|Megabits|Gigabits|Terabits|Percent|Count|Bytes/Second|Kilobytes/Second|Megabytes/Second|Gigabytes/Second|Terabytes/Second|Bits/Second|Kilobits/Second|Megabits/Second|Gigabits/Second|Terabits/Second|Count/Second|None',
]);

Parameter Details

Members
aggregationField
Type: string

The field to aggregate.

aggregationType
Type: AggregationType structure

The type of the aggregation query.

description
Type: string

The description of the fleet metric.

expectedVersion
Type: long (int|float)

The expected version of the fleet metric record in the registry.

indexName
Required: Yes
Type: string

The name of the index to search.

metricName
Required: Yes
Type: string

The name of the fleet metric to update.

period
Type: int

The time in seconds between fleet metric emissions. Range [60(1 min), 86400(1 day)] and must be multiple of 60.

queryString
Type: string

The search query string.

queryVersion
Type: string

The version of the query.

unit
Type: string

Used to support unit transformation such as milliseconds to seconds. The unit must be supported by CW metric.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

InvalidQueryException:

The query is invalid.

InvalidAggregationException:

The aggregation is invalid.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

IndexNotReadyException:

The index is not ready.

UpdateIndexingConfiguration

$result = $client->updateIndexingConfiguration([/* ... */]);
$promise = $client->updateIndexingConfigurationAsync([/* ... */]);

Updates the search configuration.

Requires permission to access the UpdateIndexingConfiguration action.

Parameter Syntax

$result = $client->updateIndexingConfiguration([
    'thingGroupIndexingConfiguration' => [
        'customFields' => [
            [
                'name' => '<string>',
                'type' => 'Number|String|Boolean',
            ],
            // ...
        ],
        'managedFields' => [
            [
                'name' => '<string>',
                'type' => 'Number|String|Boolean',
            ],
            // ...
        ],
        'thingGroupIndexingMode' => 'OFF|ON', // REQUIRED
    ],
    'thingIndexingConfiguration' => [
        'customFields' => [
            [
                'name' => '<string>',
                'type' => 'Number|String|Boolean',
            ],
            // ...
        ],
        'deviceDefenderIndexingMode' => 'OFF|VIOLATIONS',
        'filter' => [
            'geoLocations' => [
                [
                    'name' => '<string>',
                    'order' => 'LatLon|LonLat',
                ],
                // ...
            ],
            'namedShadowNames' => ['<string>', ...],
        ],
        'managedFields' => [
            [
                'name' => '<string>',
                'type' => 'Number|String|Boolean',
            ],
            // ...
        ],
        'namedShadowIndexingMode' => 'OFF|ON',
        'thingConnectivityIndexingMode' => 'OFF|STATUS',
        'thingIndexingMode' => 'OFF|REGISTRY|REGISTRY_AND_SHADOW', // REQUIRED
    ],
]);

Parameter Details

Members
thingGroupIndexingConfiguration

Thing group indexing configuration.

thingIndexingConfiguration
Type: ThingIndexingConfiguration structure

Thing indexing configuration.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

UpdateJob

$result = $client->updateJob([/* ... */]);
$promise = $client->updateJobAsync([/* ... */]);

Updates supported fields of the specified job.

Requires permission to access the UpdateJob action.

Parameter Syntax

$result = $client->updateJob([
    'abortConfig' => [
        'criteriaList' => [ // REQUIRED
            [
                'action' => 'CANCEL', // REQUIRED
                'failureType' => 'FAILED|REJECTED|TIMED_OUT|ALL', // REQUIRED
                'minNumberOfExecutedThings' => <integer>, // REQUIRED
                'thresholdPercentage' => <float>, // REQUIRED
            ],
            // ...
        ],
    ],
    'description' => '<string>',
    'jobExecutionsRetryConfig' => [
        'criteriaList' => [ // REQUIRED
            [
                'failureType' => 'FAILED|TIMED_OUT|ALL', // REQUIRED
                'numberOfRetries' => <integer>, // REQUIRED
            ],
            // ...
        ],
    ],
    'jobExecutionsRolloutConfig' => [
        'exponentialRate' => [
            'baseRatePerMinute' => <integer>, // REQUIRED
            'incrementFactor' => <float>, // REQUIRED
            'rateIncreaseCriteria' => [ // REQUIRED
                'numberOfNotifiedThings' => <integer>,
                'numberOfSucceededThings' => <integer>,
            ],
        ],
        'maximumPerMinute' => <integer>,
    ],
    'jobId' => '<string>', // REQUIRED
    'namespaceId' => '<string>',
    'presignedUrlConfig' => [
        'expiresInSec' => <integer>,
        'roleArn' => '<string>',
    ],
    'timeoutConfig' => [
        'inProgressTimeoutInMinutes' => <integer>,
    ],
]);

Parameter Details

Members
abortConfig
Type: AbortConfig structure

Allows you to create criteria to abort a job.

description
Type: string

A short text description of the job.

jobExecutionsRetryConfig
Type: JobExecutionsRetryConfig structure

Allows you to create the criteria to retry a job.

jobExecutionsRolloutConfig
Type: JobExecutionsRolloutConfig structure

Allows you to create a staged rollout of the job.

jobId
Required: Yes
Type: string

The ID of the job to be updated.

namespaceId
Type: string

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

presignedUrlConfig
Type: PresignedUrlConfig structure

Configuration information for pre-signed S3 URLs.

timeoutConfig
Type: TimeoutConfig structure

Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the time expires, it will be automatically set to TIMED_OUT.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

ServiceUnavailableException:

The service is temporarily unavailable.

UpdateMitigationAction

$result = $client->updateMitigationAction([/* ... */]);
$promise = $client->updateMitigationActionAsync([/* ... */]);

Updates the definition for the specified mitigation action.

Requires permission to access the UpdateMitigationAction action.

Parameter Syntax

$result = $client->updateMitigationAction([
    'actionName' => '<string>', // REQUIRED
    'actionParams' => [
        'addThingsToThingGroupParams' => [
            'overrideDynamicGroups' => true || false,
            'thingGroupNames' => ['<string>', ...], // REQUIRED
        ],
        'enableIoTLoggingParams' => [
            'logLevel' => 'DEBUG|INFO|ERROR|WARN|DISABLED', // REQUIRED
            'roleArnForLogging' => '<string>', // REQUIRED
        ],
        'publishFindingToSnsParams' => [
            'topicArn' => '<string>', // REQUIRED
        ],
        'replaceDefaultPolicyVersionParams' => [
            'templateName' => 'BLANK_POLICY', // REQUIRED
        ],
        'updateCACertificateParams' => [
            'action' => 'DEACTIVATE', // REQUIRED
        ],
        'updateDeviceCertificateParams' => [
            'action' => 'DEACTIVATE', // REQUIRED
        ],
    ],
    'roleArn' => '<string>',
]);

Parameter Details

Members
actionName
Required: Yes
Type: string

The friendly name for the mitigation action. You cannot change the name by using UpdateMitigationAction. Instead, you must delete and recreate the mitigation action with the new name.

actionParams
Type: MitigationActionParams structure

Defines the type of action and the parameters for that action.

roleArn
Type: string

The ARN of the IAM role that is used to apply the mitigation action.

Result Syntax

[
    'actionArn' => '<string>',
    'actionId' => '<string>',
]

Result Details

Members
actionArn
Type: string

The ARN for the new mitigation action.

actionId
Type: string

A unique identifier for the mitigation action.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

UpdatePackage

$result = $client->updatePackage([/* ... */]);
$promise = $client->updatePackageAsync([/* ... */]);

Updates the supported fields for a specific software package.

Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

Parameter Syntax

$result = $client->updatePackage([
    'clientToken' => '<string>',
    'defaultVersionName' => '<string>',
    'description' => '<string>',
    'packageName' => '<string>', // REQUIRED
    'unsetDefaultVersion' => true || false,
]);

Parameter Details

Members
clientToken
Type: string

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

defaultVersionName
Type: string

The name of the default package version.

Note: You cannot name a defaultVersion and set unsetDefaultVersion equal to true at the same time.

description
Type: string

The package description.

packageName
Required: Yes
Type: string

The name of the target software package.

unsetDefaultVersion
Type: boolean

Indicates whether you want to remove the named default package version from the software package. Set as true to remove the default package version.

Note: You cannot name a defaultVersion and set unsetDefaultVersion equal to true at the same time.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

The rate exceeds the limit.

ConflictException:

A resource with the same name already exists.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ValidationException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

UpdatePackageConfiguration

$result = $client->updatePackageConfiguration([/* ... */]);
$promise = $client->updatePackageConfigurationAsync([/* ... */]);

Updates the software package configuration.

Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

Parameter Syntax

$result = $client->updatePackageConfiguration([
    'clientToken' => '<string>',
    'versionUpdateByJobsConfig' => [
        'enabled' => true || false,
        'roleArn' => '<string>',
    ],
]);

Parameter Details

Members
clientToken
Type: string

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

versionUpdateByJobsConfig
Type: VersionUpdateByJobsConfig structure

Configuration to manage job's package version reporting. This updates the thing's reserved named shadow that the job targets.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

The rate exceeds the limit.

ConflictException:

A resource with the same name already exists.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ValidationException:

The request is not valid.

UpdatePackageVersion

$result = $client->updatePackageVersion([/* ... */]);
$promise = $client->updatePackageVersionAsync([/* ... */]);

Updates the supported fields for a specific package version.

Requires permission to access the UpdatePackageVersion and GetIndexingConfiguration actions.

Parameter Syntax

$result = $client->updatePackageVersion([
    'action' => 'PUBLISH|DEPRECATE',
    'attributes' => ['<string>', ...],
    'clientToken' => '<string>',
    'description' => '<string>',
    'packageName' => '<string>', // REQUIRED
    'versionName' => '<string>', // REQUIRED
]);

Parameter Details

Members
action
Type: string

The status that the package version should be assigned. For more information, see Package version lifecycle.

attributes
Type: Associative array of custom strings keys (ResourceAttributeKey) to strings

Metadata that can be used to define a package version’s configuration. For example, the Amazon S3 file location, configuration options that are being sent to the device or fleet.

Note: Attributes can be updated only when the package version is in a draft state.

The combined size of all the attributes on a package version is limited to 3KB.

clientToken
Type: string

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

description
Type: string

The package version description.

packageName
Required: Yes
Type: string

The name of the associated software package.

versionName
Required: Yes
Type: string

The name of the target package version.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

The rate exceeds the limit.

ConflictException:

A resource with the same name already exists.

InternalServerException:

Internal error from the service that indicates an unexpected error or that the service is unavailable.

ValidationException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

UpdateProvisioningTemplate

$result = $client->updateProvisioningTemplate([/* ... */]);
$promise = $client->updateProvisioningTemplateAsync([/* ... */]);

Updates a provisioning template.

Requires permission to access the UpdateProvisioningTemplate action.

Parameter Syntax

$result = $client->updateProvisioningTemplate([
    'defaultVersionId' => <integer>,
    'description' => '<string>',
    'enabled' => true || false,
    'preProvisioningHook' => [
        'payloadVersion' => '<string>',
        'targetArn' => '<string>', // REQUIRED
    ],
    'provisioningRoleArn' => '<string>',
    'removePreProvisioningHook' => true || false,
    'templateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
defaultVersionId
Type: int

The ID of the default provisioning template version.

description
Type: string

The description of the provisioning template.

enabled
Type: boolean

True to enable the provisioning template, otherwise false.

preProvisioningHook
Type: ProvisioningHook structure

Updates the pre-provisioning hook template. Only supports template of type FLEET_PROVISIONING. For more information about provisioning template types, see type.

provisioningRoleArn
Type: string

The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.

removePreProvisioningHook
Type: boolean

Removes pre-provisioning hook template.

templateName
Required: Yes
Type: string

The name of the provisioning template.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalFailureException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

UnauthorizedException:

You are not authorized to perform this operation.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

UpdateRoleAlias

$result = $client->updateRoleAlias([/* ... */]);
$promise = $client->updateRoleAliasAsync([/* ... */]);

Updates a role alias.

Requires permission to access the UpdateRoleAlias action.

Parameter Syntax

$result = $client->updateRoleAlias([
    'credentialDurationSeconds' => <integer>,
    'roleAlias' => '<string>', // REQUIRED
    'roleArn' => '<string>',
]);

Parameter Details

Members
credentialDurationSeconds
Type: int

The number of seconds the credential will be valid.

This value must be less than or equal to the maximum session duration of the IAM role that the role alias references.

roleAlias
Required: Yes
Type: string

The role alias to update.

roleArn
Type: string

The role ARN.

Result Syntax

[
    'roleAlias' => '<string>',
    'roleAliasArn' => '<string>',
]

Result Details

Members
roleAlias
Type: string

The role alias.

roleAliasArn
Type: string

The role alias ARN.

Errors

ResourceNotFoundException:

The specified resource does not exist.

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

UpdateScheduledAudit

$result = $client->updateScheduledAudit([/* ... */]);
$promise = $client->updateScheduledAuditAsync([/* ... */]);

Updates a scheduled audit, including which checks are performed and how often the audit takes place.

Requires permission to access the UpdateScheduledAudit action.

Parameter Syntax

$result = $client->updateScheduledAudit([
    'dayOfMonth' => '<string>',
    'dayOfWeek' => 'SUN|MON|TUE|WED|THU|FRI|SAT',
    'frequency' => 'DAILY|WEEKLY|BIWEEKLY|MONTHLY',
    'scheduledAuditName' => '<string>', // REQUIRED
    'targetCheckNames' => ['<string>', ...],
]);

Parameter Details

Members
dayOfMonth
Type: string

The day of the month on which the scheduled audit takes place. This can be 1 through 31 or LAST. This field is required if the frequency parameter is set to MONTHLY. If days 29-31 are specified, and the month does not have that many days, the audit takes place on the "LAST" day of the month.

dayOfWeek
Type: string

The day of the week on which the scheduled audit takes place. This can be one of SUN, MON, TUE, WED, THU, FRI, or SAT. This field is required if the "frequency" parameter is set to WEEKLY or BIWEEKLY.

frequency
Type: string

How often the scheduled audit takes place, either DAILY, WEEKLY, BIWEEKLY, or MONTHLY. The start time of each audit is determined by the system.

scheduledAuditName
Required: Yes
Type: string

The name of the scheduled audit. (Max. 128 chars)

targetCheckNames
Type: Array of strings

Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

Result Syntax

[
    'scheduledAuditArn' => '<string>',
]

Result Details

Members
scheduledAuditArn
Type: string

The ARN of the scheduled audit.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

UpdateSecurityProfile

$result = $client->updateSecurityProfile([/* ... */]);
$promise = $client->updateSecurityProfileAsync([/* ... */]);

Updates a Device Defender security profile.

Requires permission to access the UpdateSecurityProfile action.

Parameter Syntax

$result = $client->updateSecurityProfile([
    'additionalMetricsToRetain' => ['<string>', ...],
    'additionalMetricsToRetainV2' => [
        [
            'exportMetric' => true || false,
            'metric' => '<string>', // REQUIRED
            'metricDimension' => [
                'dimensionName' => '<string>', // REQUIRED
                'operator' => 'IN|NOT_IN',
            ],
        ],
        // ...
    ],
    'alertTargets' => [
        '<AlertTargetType>' => [
            'alertTargetArn' => '<string>', // REQUIRED
            'roleArn' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'behaviors' => [
        [
            'criteria' => [
                'comparisonOperator' => 'less-than|less-than-equals|greater-than|greater-than-equals|in-cidr-set|not-in-cidr-set|in-port-set|not-in-port-set|in-set|not-in-set',
                'consecutiveDatapointsToAlarm' => <integer>,
                'consecutiveDatapointsToClear' => <integer>,
                'durationSeconds' => <integer>,
                'mlDetectionConfig' => [
                    'confidenceLevel' => 'LOW|MEDIUM|HIGH', // REQUIRED
                ],
                'statisticalThreshold' => [
                    'statistic' => '<string>',
                ],
                'value' => [
                    'cidrs' => ['<string>', ...],
                    'count' => <integer>,
                    'number' => <float>,
                    'numbers' => [<float>, ...],
                    'ports' => [<integer>, ...],
                    'strings' => ['<string>', ...],
                ],
            ],
            'exportMetric' => true || false,
            'metric' => '<string>',
            'metricDimension' => [
                'dimensionName' => '<string>', // REQUIRED
                'operator' => 'IN|NOT_IN',
            ],
            'name' => '<string>', // REQUIRED
            'suppressAlerts' => true || false,
        ],
        // ...
    ],
    'deleteAdditionalMetricsToRetain' => true || false,
    'deleteAlertTargets' => true || false,
    'deleteBehaviors' => true || false,
    'deleteMetricsExportConfig' => true || false,
    'expectedVersion' => <integer>,
    'metricsExportConfig' => [
        'mqttTopic' => '<string>', // REQUIRED
        'roleArn' => '<string>', // REQUIRED
    ],
    'securityProfileDescription' => '<string>',
    'securityProfileName' => '<string>', // REQUIRED
]);

Parameter Details

Members
additionalMetricsToRetain
Type: Array of strings

Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.

additionalMetricsToRetainV2
Type: Array of MetricToRetain structures

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.

alertTargets
Type: Associative array of custom strings keys (AlertTargetType) to AlertTarget structures

Where the alerts are sent. (Alerts are always sent to the console.)

behaviors
Type: Array of Behavior structures

Specifies the behaviors that, when violated by a device (thing), cause an alert.

deleteAdditionalMetricsToRetain
Type: boolean

If true, delete all additionalMetricsToRetain defined for this security profile. If any additionalMetricsToRetain are defined in the current invocation, an exception occurs.

deleteAlertTargets
Type: boolean

If true, delete all alertTargets defined for this security profile. If any alertTargets are defined in the current invocation, an exception occurs.

deleteBehaviors
Type: boolean

If true, delete all behaviors defined for this security profile. If any behaviors are defined in the current invocation, an exception occurs.

deleteMetricsExportConfig
Type: boolean

Set the value as true to delete metrics export related configurations.

expectedVersion
Type: long (int|float)

The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a VersionConflictException is thrown.

metricsExportConfig
Type: MetricsExportConfig structure

Specifies the MQTT topic and role ARN required for metric export.

securityProfileDescription
Type: string

A description of the security profile.

securityProfileName
Required: Yes
Type: string

The name of the security profile you want to update.

Result Syntax

[
    'additionalMetricsToRetain' => ['<string>', ...],
    'additionalMetricsToRetainV2' => [
        [
            'exportMetric' => true || false,
            'metric' => '<string>',
            'metricDimension' => [
                'dimensionName' => '<string>',
                'operator' => 'IN|NOT_IN',
            ],
        ],
        // ...
    ],
    'alertTargets' => [
        '<AlertTargetType>' => [
            'alertTargetArn' => '<string>',
            'roleArn' => '<string>',
        ],
        // ...
    ],
    'behaviors' => [
        [
            'criteria' => [
                'comparisonOperator' => 'less-than|less-than-equals|greater-than|greater-than-equals|in-cidr-set|not-in-cidr-set|in-port-set|not-in-port-set|in-set|not-in-set',
                'consecutiveDatapointsToAlarm' => <integer>,
                'consecutiveDatapointsToClear' => <integer>,
                'durationSeconds' => <integer>,
                'mlDetectionConfig' => [
                    'confidenceLevel' => 'LOW|MEDIUM|HIGH',
                ],
                'statisticalThreshold' => [
                    'statistic' => '<string>',
                ],
                'value' => [
                    'cidrs' => ['<string>', ...],
                    'count' => <integer>,
                    'number' => <float>,
                    'numbers' => [<float>, ...],
                    'ports' => [<integer>, ...],
                    'strings' => ['<string>', ...],
                ],
            ],
            'exportMetric' => true || false,
            'metric' => '<string>',
            'metricDimension' => [
                'dimensionName' => '<string>',
                'operator' => 'IN|NOT_IN',
            ],
            'name' => '<string>',
            'suppressAlerts' => true || false,
        ],
        // ...
    ],
    'creationDate' => <DateTime>,
    'lastModifiedDate' => <DateTime>,
    'metricsExportConfig' => [
        'mqttTopic' => '<string>',
        'roleArn' => '<string>',
    ],
    'securityProfileArn' => '<string>',
    'securityProfileDescription' => '<string>',
    'securityProfileName' => '<string>',
    'version' => <integer>,
]

Result Details

Members
additionalMetricsToRetain
Type: Array of strings

Please use UpdateSecurityProfileResponse$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the security profile's behaviors, but it is also retained for any metric specified here.

additionalMetricsToRetainV2
Type: Array of MetricToRetain structures

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.

alertTargets
Type: Associative array of custom strings keys (AlertTargetType) to AlertTarget structures

Where the alerts are sent. (Alerts are always sent to the console.)

behaviors
Type: Array of Behavior structures

Specifies the behaviors that, when violated by a device (thing), cause an alert.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the security profile was created.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the security profile was last modified.

metricsExportConfig
Type: MetricsExportConfig structure

Specifies the MQTT topic and role ARN required for metric export.

securityProfileArn
Type: string

The ARN of the security profile that was updated.

securityProfileDescription
Type: string

The description of the security profile.

securityProfileName
Type: string

The name of the security profile that was updated.

version
Type: long (int|float)

The updated version of the security profile.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

UpdateStream

$result = $client->updateStream([/* ... */]);
$promise = $client->updateStreamAsync([/* ... */]);

Updates an existing stream. The stream version will be incremented by one.

Requires permission to access the UpdateStream action.

Parameter Syntax

$result = $client->updateStream([
    'description' => '<string>',
    'files' => [
        [
            'fileId' => <integer>,
            's3Location' => [
                'bucket' => '<string>',
                'key' => '<string>',
                'version' => '<string>',
            ],
        ],
        // ...
    ],
    'roleArn' => '<string>',
    'streamId' => '<string>', // REQUIRED
]);

Parameter Details

Members
description
Type: string

The description of the stream.

files
Type: Array of StreamFile structures

The files associated with the stream.

roleArn
Type: string

An IAM role that allows the IoT service principal assumes to access your S3 files.

streamId
Required: Yes
Type: string

The stream ID.

Result Syntax

[
    'description' => '<string>',
    'streamArn' => '<string>',
    'streamId' => '<string>',
    'streamVersion' => <integer>,
]

Result Details

Members
description
Type: string

A description of the stream.

streamArn
Type: string

The stream ARN.

streamId
Type: string

The stream ID.

streamVersion
Type: int

The stream version.

Errors

InvalidRequestException:

The request is not valid.

ResourceNotFoundException:

The specified resource does not exist.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

UpdateThing

$result = $client->updateThing([/* ... */]);
$promise = $client->updateThingAsync([/* ... */]);

Updates the data for a thing.

Requires permission to access the UpdateThing action.

Parameter Syntax

$result = $client->updateThing([
    'attributePayload' => [
        'attributes' => ['<string>', ...],
        'merge' => true || false,
    ],
    'expectedVersion' => <integer>,
    'removeThingType' => true || false,
    'thingName' => '<string>', // REQUIRED
    'thingTypeName' => '<string>',
]);

Parameter Details

Members
attributePayload
Type: AttributePayload structure

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.

expectedVersion
Type: long (int|float)

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.

removeThingType
Type: boolean

Remove a thing type association. If true, the association is removed.

thingName
Required: Yes
Type: string

The name of the thing to update.

You can't change a thing's name. To change a thing's name, you must create a new thing, give it the new name, and then delete the old thing.

thingTypeName
Type: string

The name of the thing type.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

ThrottlingException:

The rate exceeds the limit.

UnauthorizedException:

You are not authorized to perform this operation.

ServiceUnavailableException:

The service is temporarily unavailable.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

UpdateThingGroup

$result = $client->updateThingGroup([/* ... */]);
$promise = $client->updateThingGroupAsync([/* ... */]);

Update a thing group.

Requires permission to access the UpdateThingGroup action.

Parameter Syntax

$result = $client->updateThingGroup([
    'expectedVersion' => <integer>,
    'thingGroupName' => '<string>', // REQUIRED
    'thingGroupProperties' => [ // REQUIRED
        'attributePayload' => [
            'attributes' => ['<string>', ...],
            'merge' => true || false,
        ],
        'thingGroupDescription' => '<string>',
    ],
]);

Parameter Details

Members
expectedVersion
Type: long (int|float)

The expected version of the thing group. If this does not match the version of the thing group being updated, the update will fail.

thingGroupName
Required: Yes
Type: string

The thing group to update.

thingGroupProperties
Required: Yes
Type: ThingGroupProperties structure

The thing group properties.

Result Syntax

[
    'version' => <integer>,
]

Result Details

Members
version
Type: long (int|float)

The version of the updated thing group.

Errors

InvalidRequestException:

The request is not valid.

VersionConflictException:

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

UpdateThingGroupsForThing

$result = $client->updateThingGroupsForThing([/* ... */]);
$promise = $client->updateThingGroupsForThingAsync([/* ... */]);

Updates the groups to which the thing belongs.

Requires permission to access the UpdateThingGroupsForThing action.

Parameter Syntax

$result = $client->updateThingGroupsForThing([
    'overrideDynamicGroups' => true || false,
    'thingGroupsToAdd' => ['<string>', ...],
    'thingGroupsToRemove' => ['<string>', ...],
    'thingName' => '<string>',
]);

Parameter Details

Members
overrideDynamicGroups
Type: boolean

Override dynamic thing groups with static thing groups when 10-group limit is reached. If a thing belongs to 10 thing groups, and one or more of those groups are dynamic thing groups, adding a thing to a static group removes the thing from the last dynamic group.

thingGroupsToAdd
Type: Array of strings

The groups to which the thing will be added.

thingGroupsToRemove
Type: Array of strings

The groups from which the thing will be removed.

thingName
Type: string

The thing whose group memberships will be updated.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

ResourceNotFoundException:

The specified resource does not exist.

UpdateTopicRuleDestination

$result = $client->updateTopicRuleDestination([/* ... */]);
$promise = $client->updateTopicRuleDestinationAsync([/* ... */]);

Updates a topic rule destination. You use this to change the status, endpoint URL, or confirmation URL of the destination.

Requires permission to access the UpdateTopicRuleDestination action.

Parameter Syntax

$result = $client->updateTopicRuleDestination([
    'arn' => '<string>', // REQUIRED
    'status' => 'ENABLED|IN_PROGRESS|DISABLED|ERROR|DELETING', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

The ARN of the topic rule destination.

status
Required: Yes
Type: string

The status of the topic rule destination. Valid values are:

IN_PROGRESS

A topic rule destination was created but has not been confirmed. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

ENABLED

Confirmation was completed, and traffic to this destination is allowed. You can set status to DISABLED by calling UpdateTopicRuleDestination.

DISABLED

Confirmation was completed, and traffic to this destination is not allowed. You can set status to ENABLED by calling UpdateTopicRuleDestination.

ERROR

Confirmation could not be completed, for example if the confirmation timed out. You can call GetTopicRuleDestination for details about the error. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalException:

An unexpected error has occurred.

InvalidRequestException:

The request is not valid.

ServiceUnavailableException:

The service is temporarily unavailable.

UnauthorizedException:

You are not authorized to perform this operation.

ConflictingResourceUpdateException:

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

ValidateSecurityProfileBehaviors

$result = $client->validateSecurityProfileBehaviors([/* ... */]);
$promise = $client->validateSecurityProfileBehaviorsAsync([/* ... */]);

Validates a Device Defender security profile behaviors specification.

Requires permission to access the ValidateSecurityProfileBehaviors action.

Parameter Syntax

$result = $client->validateSecurityProfileBehaviors([
    'behaviors' => [ // REQUIRED
        [
            'criteria' => [
                'comparisonOperator' => 'less-than|less-than-equals|greater-than|greater-than-equals|in-cidr-set|not-in-cidr-set|in-port-set|not-in-port-set|in-set|not-in-set',
                'consecutiveDatapointsToAlarm' => <integer>,
                'consecutiveDatapointsToClear' => <integer>,
                'durationSeconds' => <integer>,
                'mlDetectionConfig' => [
                    'confidenceLevel' => 'LOW|MEDIUM|HIGH', // REQUIRED
                ],
                'statisticalThreshold' => [
                    'statistic' => '<string>',
                ],
                'value' => [
                    'cidrs' => ['<string>', ...],
                    'count' => <integer>,
                    'number' => <float>,
                    'numbers' => [<float>, ...],
                    'ports' => [<integer>, ...],
                    'strings' => ['<string>', ...],
                ],
            ],
            'exportMetric' => true || false,
            'metric' => '<string>',
            'metricDimension' => [
                'dimensionName' => '<string>', // REQUIRED
                'operator' => 'IN|NOT_IN',
            ],
            'name' => '<string>', // REQUIRED
            'suppressAlerts' => true || false,
        ],
        // ...
    ],
]);

Parameter Details

Members
behaviors
Required: Yes
Type: Array of Behavior structures

Specifies the behaviors that, when violated by a device (thing), cause an alert.

Result Syntax

[
    'valid' => true || false,
    'validationErrors' => [
        [
            'errorMessage' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
valid
Type: boolean

True if the behaviors were valid.

validationErrors
Type: Array of ValidationError structures

The list of any errors found in the behaviors.

Errors

InvalidRequestException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalFailureException:

An unexpected error has occurred.

Shapes

AbortConfig

Description

The criteria that determine when and how a job abort takes place.

Members
criteriaList
Required: Yes
Type: Array of AbortCriteria structures

The list of criteria that determine when and how to abort the job.

AbortCriteria

Description

The criteria that determine when and how a job abort takes place.

Members
action
Required: Yes
Type: string

The type of job action to take to initiate the job abort.

failureType
Required: Yes
Type: string

The type of job execution failures that can initiate a job abort.

minNumberOfExecutedThings
Required: Yes
Type: int

The minimum number of things which must receive job execution notifications before the job can be aborted.

thresholdPercentage
Required: Yes
Type: double

The minimum percentage of job execution failures that must occur to initiate the job abort.

Amazon Web Services IoT Core supports up to two digits after the decimal (for example, 10.9 and 10.99, but not 10.999).

Action

Description

Describes the actions associated with a rule.

Members
cloudwatchAlarm
Type: CloudwatchAlarmAction structure

Change the state of a CloudWatch alarm.

cloudwatchLogs
Type: CloudwatchLogsAction structure

Send data to CloudWatch Logs.

cloudwatchMetric
Type: CloudwatchMetricAction structure

Capture a CloudWatch metric.

dynamoDB
Type: DynamoDBAction structure

Write to a DynamoDB table.

dynamoDBv2
Type: DynamoDBv2Action structure

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.

elasticsearch
Type: ElasticsearchAction structure

Write data to an Amazon OpenSearch Service domain.

The Elasticsearch action can only be used by existing rule actions. To create a new rule action or to update an existing rule action, use the OpenSearch rule action instead. For more information, see OpenSearchAction.

firehose
Type: FirehoseAction structure

Write to an Amazon Kinesis Firehose stream.

http
Type: HttpAction structure

Send data to an HTTPS endpoint.

iotAnalytics
Type: IotAnalyticsAction structure

Sends message data to an IoT Analytics channel.

iotEvents
Type: IotEventsAction structure

Sends an input to an IoT Events detector.

iotSiteWise
Type: IotSiteWiseAction structure

Sends data from the MQTT message that triggered the rule to IoT SiteWise asset properties.

kafka
Type: KafkaAction structure

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.

kinesis
Type: KinesisAction structure

Write data to an Amazon Kinesis stream.

lambda
Type: LambdaAction structure

Invoke a Lambda function.

location
Type: LocationAction structure

The Amazon Location Service rule action sends device location updates from an MQTT message to an Amazon Location tracker resource.

openSearch
Type: OpenSearchAction structure

Write data to an Amazon OpenSearch Service domain.

republish
Type: RepublishAction structure

Publish to another MQTT topic.

s3
Type: S3Action structure

Write to an Amazon S3 bucket.

salesforce
Type: SalesforceAction structure

Send a message to a Salesforce IoT Cloud Input Stream.

sns
Type: SnsAction structure

Publish to an Amazon SNS topic.

sqs
Type: SqsAction structure

Publish to an Amazon SQS queue.

stepFunctions
Type: StepFunctionsAction structure

Starts execution of a Step Functions state machine.

timestream
Type: TimestreamAction structure

The Timestream rule action writes attributes (measures) from an MQTT message into an Amazon Timestream table. For more information, see the Timestream topic rule action documentation.

ActiveViolation

Description

Information about an active Device Defender security profile behavior violation.

Members
behavior
Type: Behavior structure

The behavior that is being violated.

lastViolationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the most recent violation occurred.

lastViolationValue
Type: MetricValue structure

The value of the metric (the measurement) that caused the most recent violation.

securityProfileName
Type: string

The security profile with the behavior is in violation.

thingName
Type: string

The name of the thing responsible for the active violation.

verificationState
Type: string

The verification state of the violation (detect alarm).

verificationStateDescription
Type: string

The description of the verification state of the violation.

violationEventAdditionalInfo

The details of a violation event.

violationId
Type: string

The ID of the active violation.

violationStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the violation started.

AddThingsToThingGroupParams

Description

Parameters used when defining a mitigation action that move a set of things to a thing group.

Members
overrideDynamicGroups
Type: boolean

Specifies if this mitigation action can move the things that triggered the mitigation action even if they are part of one or more dynamic thing groups.

thingGroupNames
Required: Yes
Type: Array of strings

The list of groups to which you want to add the things that triggered the mitigation action. You can add a thing to a maximum of 10 groups, but you can't add a thing to more than one group in the same hierarchy.

AggregationType

Description

The type of aggregation queries.

Members
name
Required: Yes
Type: string

The name of the aggregation type.

values
Type: Array of strings

A list of the values of aggregation types.

AlertTarget

Description

A structure containing the alert target ARN and the role ARN.

Members
alertTargetArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the notification target to which alerts are sent.

roleArn
Required: Yes
Type: string

The ARN of the role that grants permission to send alerts to the notification target.

Allowed

Description

Contains information that allowed the authorization.

Members
policies
Type: Array of Policy structures

A list of policies that allowed the authentication.

AssetPropertyTimestamp

Description

An asset property timestamp entry containing the following information.

Members
offsetInNanos
Type: string

Optional. A string that contains the nanosecond time offset. Accepts substitution templates.

timeInSeconds
Required: Yes
Type: string

A string that contains the time in seconds since epoch. Accepts substitution templates.

AssetPropertyValue

Description

An asset property value entry containing the following information.

Members
quality
Type: string

Optional. A string that describes the quality of the value. Accepts substitution templates. Must be GOOD, BAD, or UNCERTAIN.

timestamp
Required: Yes
Type: AssetPropertyTimestamp structure

The asset property value timestamp.

value
Required: Yes
Type: AssetPropertyVariant structure

The value of the asset property.

AssetPropertyVariant

Description

Contains an asset property value (of a single type).

Members
booleanValue
Type: string

Optional. A string that contains the boolean value (true or false) of the value entry. Accepts substitution templates.

doubleValue
Type: string

Optional. A string that contains the double value of the value entry. Accepts substitution templates.

integerValue
Type: string

Optional. A string that contains the integer value of the value entry. Accepts substitution templates.

stringValue
Type: string

Optional. The string value of the value entry. Accepts substitution templates.

AttributePayload

Description

The attribute payload.

Members
attributes
Type: Associative array of custom strings keys (AttributeName) to strings

A JSON string containing up to three key-value pair in JSON format. For example:

{\"attributes\":{\"string1\":\"string2\"}}

merge
Type: boolean

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 or UpdateThingGroup.

AuditCheckConfiguration

Description

Which audit checks are enabled and disabled for this account.

Members
enabled
Type: boolean

True if this audit check is enabled for this account.

AuditCheckDetails

Description

Information about the audit check.

Members
checkCompliant
Type: boolean

True if the check is complete and found all resources compliant.

checkRunStatus
Type: string

The completion status of this check. One of "IN_PROGRESS", "WAITING_FOR_DATA_COLLECTION", "CANCELED", "COMPLETED_COMPLIANT", "COMPLETED_NON_COMPLIANT", or "FAILED".

errorCode
Type: string

The code of any error encountered when this check is performed during this audit. One of "INSUFFICIENT_PERMISSIONS" or "AUDIT_CHECK_DISABLED".

message
Type: string

The message associated with any error encountered when this check is performed during this audit.

nonCompliantResourcesCount
Type: long (int|float)

The number of resources that were found noncompliant during the check.

suppressedNonCompliantResourcesCount
Type: long (int|float)

Describes how many of the non-compliant resources created during the evaluation of an audit check were marked as suppressed.

totalResourcesCount
Type: long (int|float)

The number of resources on which the check was performed.

AuditFinding

Description

The findings (results) of the audit.

Members
checkName
Type: string

The audit check that generated this result.

findingId
Type: string

A unique identifier for this set of audit findings. This identifier is used to apply mitigation tasks to one or more sets of findings.

findingTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the result (finding) was discovered.

isSuppressed
Type: boolean

Indicates whether the audit finding was suppressed or not during reporting.

nonCompliantResource
Type: NonCompliantResource structure

The resource that was found to be noncompliant with the audit check.

reasonForNonCompliance
Type: string

The reason the resource was noncompliant.

reasonForNonComplianceCode
Type: string

A code that indicates the reason that the resource was noncompliant.

relatedResources
Type: Array of RelatedResource structures

The list of related resources.

severity
Type: string

The severity of the result (finding).

taskId
Type: string

The ID of the audit that generated this result (finding).

taskStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the audit started.

AuditMitigationActionExecutionMetadata

Description

Returned by ListAuditMitigationActionsTask, this object contains information that describes a mitigation action that has been started.

Members
actionId
Type: string

The unique identifier for the mitigation action being applied by the task.

actionName
Type: string

The friendly name of the mitigation action being applied by the task.

endTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the task was completed or canceled. Blank if the task is still running.

errorCode
Type: string

If an error occurred, the code that indicates which type of error occurred.

findingId
Type: string

The unique identifier for the findings to which the task and associated mitigation action are applied.

message
Type: string

If an error occurred, a message that describes the error.

startTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the task was started.

status
Type: string

The current status of the task being executed.

taskId
Type: string

The unique identifier for the task that applies the mitigation action.

AuditMitigationActionsTaskMetadata

Description

Information about an audit mitigation actions task that is returned by ListAuditMitigationActionsTasks.

Members
startTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the audit mitigation actions task was started.

taskId
Type: string

The unique identifier for the task.

taskStatus
Type: string

The current state of the audit mitigation actions task.

AuditMitigationActionsTaskTarget

Description

Used in MitigationActionParams, this information identifies the target findings to which the mitigation actions are applied. Only one entry appears.

Members
auditCheckToReasonCodeFilter
Type: Associative array of custom strings keys (AuditCheckName) to stringss

Specifies a filter in the form of an audit check and set of reason codes that identify the findings from the audit to which the audit mitigation actions task apply.

auditTaskId
Type: string

If the task will apply a mitigation action to findings from a specific audit, this value uniquely identifies the audit.

findingIds
Type: Array of strings

If the task will apply a mitigation action to one or more listed findings, this value uniquely identifies those findings.

AuditNotificationTarget

Description

Information about the targets to which audit notifications are sent.

Members
enabled
Type: boolean

True if notifications to the target are enabled.

roleArn
Type: string

The ARN of the role that grants permission to send notifications to the target.

targetArn
Type: string

The ARN of the target (SNS topic) to which audit notifications are sent.

AuditSuppression

Description

Filters out specific findings of a Device Defender audit.

Members
checkName
Required: Yes
Type: string

An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

description
Type: string

The description of the audit suppression.

expirationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The expiration date (epoch timestamp in seconds) that you want the suppression to adhere to.

resourceIdentifier
Required: Yes
Type: ResourceIdentifier structure

Information that identifies the noncompliant resource.

suppressIndefinitely
Type: boolean

Indicates whether a suppression should exist indefinitely or not.

AuditTaskMetadata

Description

The audits that were performed.

Members
taskId
Type: string

The ID of this audit.

taskStatus
Type: string

The status of this audit. One of "IN_PROGRESS", "COMPLETED", "FAILED", or "CANCELED".

taskType
Type: string

The type of this audit. One of "ON_DEMAND_AUDIT_TASK" or "SCHEDULED_AUDIT_TASK".

AuthInfo

Description

A collection of authorization information.

Members
actionType
Type: string

The type of action for which the principal is being authorized.

resources
Required: Yes
Type: Array of strings

The resources for which the principal is being authorized to perform the specified action.

AuthResult

Description

The authorizer result.

Members
allowed
Type: Allowed structure

The policies and statements that allowed the specified action.

authDecision
Type: string

The final authorization decision of this scenario. Multiple statements are taken into account when determining the authorization decision. An explicit deny statement can override multiple allow statements.

authInfo
Type: AuthInfo structure

Authorization information.

denied
Type: Denied structure

The policies and statements that denied the specified action.

missingContextValues
Type: Array of strings

Contains any missing context values found while evaluating policy.

AuthorizerConfig

Description

An object that specifies the authorization service for a domain.

Members
allowAuthorizerOverride
Type: boolean

A Boolean that specifies whether the domain configuration's authorization service can be overridden.

defaultAuthorizerName
Type: string

The name of the authorization service for a domain configuration.

AuthorizerDescription

Description

The authorizer description.

Members
authorizerArn
Type: string

The authorizer ARN.

authorizerFunctionArn
Type: string

The authorizer's Lambda function ARN.

authorizerName
Type: string

The authorizer name.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The UNIX timestamp of when the authorizer was created.

enableCachingForHttp
Type: boolean

When true, the result from the authorizer’s Lambda function is cached for the time specified in refreshAfterInSeconds. The cached result is used while the device reuses the same HTTP connection.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The UNIX timestamp of when the authorizer was last updated.

signingDisabled
Type: boolean

Specifies whether IoT validates the token signature in an authorization request.

status
Type: string

The status of the authorizer.

tokenKeyName
Type: string

The key used to extract the token from the HTTP headers.

tokenSigningPublicKeys
Type: Associative array of custom strings keys (KeyName) to strings

The public keys used to validate the token signature returned by your custom authentication service.

AuthorizerSummary

Description

The authorizer summary.

Members
authorizerArn
Type: string

The authorizer ARN.

authorizerName
Type: string

The authorizer name.

AwsJobAbortConfig

Description

The criteria that determine when and how a job abort takes place.

Members
abortCriteriaList
Required: Yes
Type: Array of AwsJobAbortCriteria structures

The list of criteria that determine when and how to abort the job.

AwsJobAbortCriteria

Description

The criteria that determine when and how a job abort takes place.

Members
action
Required: Yes
Type: string

The type of job action to take to initiate the job abort.

failureType
Required: Yes
Type: string

The type of job execution failures that can initiate a job abort.

minNumberOfExecutedThings
Required: Yes
Type: int

The minimum number of things which must receive job execution notifications before the job can be aborted.

thresholdPercentage
Required: Yes
Type: double

The minimum percentage of job execution failures that must occur to initiate the job abort.

Amazon Web Services IoT Core supports up to two digits after the decimal (for example, 10.9 and 10.99, but not 10.999).

AwsJobExecutionsRolloutConfig

Description

Configuration for the rollout of OTA updates.

Members
exponentialRate

The rate of increase for a job rollout. This parameter allows you to define an exponential rate increase for a job rollout.

maximumPerMinute
Type: int

The maximum number of OTA update job executions started per minute.

AwsJobExponentialRolloutRate

Description

The rate of increase for a job rollout. This parameter allows you to define an exponential rate increase for a job rollout.

Members
baseRatePerMinute
Required: Yes
Type: int

The minimum number of things that will be notified of a pending job, per minute, at the start of the job rollout. This is the initial rate of the rollout.

incrementFactor
Required: Yes
Type: double

The rate of increase for a job rollout. The number of things notified is multiplied by this factor.

rateIncreaseCriteria
Required: Yes
Type: AwsJobRateIncreaseCriteria structure

The criteria to initiate the increase in rate of rollout for a job.

Amazon Web Services IoT Core supports up to one digit after the decimal (for example, 1.5, but not 1.55).

AwsJobPresignedUrlConfig

Description

Configuration information for pre-signed URLs. Valid when protocols contains HTTP.

Members
expiresInSec
Type: long (int|float)

How long (in seconds) pre-signed URLs are valid. Valid values are 60 - 3600, the default value is 1800 seconds. Pre-signed URLs are generated when a request for the job document is received.

AwsJobRateIncreaseCriteria

Description

The criteria to initiate the increase in rate of rollout for a job.

Members
numberOfNotifiedThings
Type: int

When this number of things have been notified, it will initiate an increase in the rollout rate.

numberOfSucceededThings
Type: int

When this number of things have succeeded in their job execution, it will initiate an increase in the rollout rate.

AwsJobTimeoutConfig

Description

Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to TIMED_OUT.

Members
inProgressTimeoutInMinutes
Type: long (int|float)

Specifies the amount of time, in minutes, this device has to finish execution of this job. The timeout interval can be anywhere between 1 minute and 7 days (1 to 10080 minutes). The in progress timer can't be updated and will apply to all job executions for the job. Whenever a job execution remains in the IN_PROGRESS status for longer than this interval, the job execution will fail and switch to the terminal TIMED_OUT status.

Behavior

Description

A Device Defender security profile behavior.

Members
criteria
Type: BehaviorCriteria structure

The criteria that determine if a device is behaving normally in regard to the metric.

In the IoT console, you can choose to be sent an alert through Amazon SNS when IoT Device Defender detects that a device is behaving anomalously.

exportMetric
Type: boolean

Value indicates exporting metrics related to the behavior when it is true.

metric
Type: string

What is measured by the behavior.

metricDimension
Type: MetricDimension structure

The dimension for a metric in your behavior. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric to only MQTT topics where the name matches the pattern specified in the dimension. This can't be used with custom metrics.

name
Required: Yes
Type: string

The name you've given to the behavior.

suppressAlerts
Type: boolean

Suppresses alerts.

BehaviorCriteria

Description

The criteria by which the behavior is determined to be normal.

Members
comparisonOperator
Type: string

The operator that relates the thing measured (metric) to the criteria (containing a value or statisticalThreshold). Valid operators include:

  • string-list: in-set and not-in-set

  • number-list: in-set and not-in-set

  • ip-address-list: in-cidr-set and not-in-cidr-set

  • number: less-than, less-than-equals, greater-than, and greater-than-equals

consecutiveDatapointsToAlarm
Type: int

If a device is in violation of the behavior for the specified number of consecutive datapoints, an alarm occurs. If not specified, the default is 1.

consecutiveDatapointsToClear
Type: int

If an alarm has occurred and the offending device is no longer in violation of the behavior for the specified number of consecutive datapoints, the alarm is cleared. If not specified, the default is 1.

durationSeconds
Type: int

Use this to specify the time duration over which the behavior is evaluated, for those criteria that have a time dimension (for example, NUM_MESSAGES_SENT). For a statisticalThreshhold metric comparison, measurements from all devices are accumulated over this time duration before being used to calculate percentiles, and later, measurements from an individual device are also accumulated over this time duration before being given a percentile rank. Cannot be used with list-based metric datatypes.

mlDetectionConfig

The configuration of an ML Detect

statisticalThreshold
Type: StatisticalThreshold structure

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.

value
Type: MetricValue structure

The value to be compared with the metric.

BehaviorModelTrainingSummary

Description

The summary of an ML Detect behavior model.

Members
behaviorName
Type: string

The name of the behavior.

datapointsCollectionPercentage
Type: double

The percentage of datapoints collected.

lastModelRefreshDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the model was last refreshed.

modelStatus
Type: string

The status of the behavior model.

securityProfileName
Type: string

The name of the security profile.

trainingDataCollectionStartDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date a training model started collecting data.

BillingGroupMetadata

Description

Additional information about the billing group.

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the billing group was created.

BillingGroupProperties

Description

The properties of a billing group.

Members
billingGroupDescription
Type: string

The description of the billing group.

Bucket

Description

A count of documents that meets a specific aggregation criteria.

Members
count
Type: int

The number of documents that have the value counted for the particular bucket.

keyValue
Type: string

The value counted for the particular bucket.

BucketsAggregationType

Description

The type of bucketed aggregation performed.

Members
termsAggregation
Type: TermsAggregation structure

Performs an aggregation that will return a list of buckets. The list of buckets is a ranked list of the number of occurrences of an aggregation field value.

CACertificate

Description

A CA certificate.

Members
certificateArn
Type: string

The ARN of the CA certificate.

certificateId
Type: string

The ID of the CA certificate.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the CA certificate was created.

status
Type: string

The status of the CA certificate.

The status value REGISTER_INACTIVE is deprecated and should not be used.

CACertificateDescription

Description

Describes a CA certificate.

Members
autoRegistrationStatus
Type: string

Whether the CA certificate configured for auto registration of device certificates. Valid values are "ENABLE" and "DISABLE"

certificateArn
Type: string

The CA certificate ARN.

certificateId
Type: string

The CA certificate ID.

certificateMode
Type: string

The mode of the CA.

All the device certificates that are registered using this CA will be registered in the same mode as the CA. For more information about certificate mode for device certificates, see certificate mode.

certificatePem
Type: string

The CA certificate data, in PEM format.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the CA certificate was created.

customerVersion
Type: int

The customer version of the CA certificate.

generationId
Type: string

The generation ID of the CA certificate.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the CA certificate was last modified.

ownedBy
Type: string

The owner of the CA certificate.

status
Type: string

The status of a CA certificate.

validity
Type: CertificateValidity structure

When the CA certificate is valid.

Certificate

Description

Information about a certificate.

Members
certificateArn
Type: string

The ARN of the certificate.

certificateId
Type: string

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

certificateMode
Type: string

The mode of the certificate.

DEFAULT: A certificate in DEFAULT mode is either generated by Amazon Web Services IoT Core or registered with an issuer certificate authority (CA) in DEFAULT mode. Devices with certificates in DEFAULT mode aren't required to send the Server Name Indication (SNI) extension when connecting to Amazon Web Services IoT Core. However, to use features such as custom domains and VPC endpoints, we recommend that you use the SNI extension when connecting to Amazon Web Services IoT Core.

SNI_ONLY: A certificate in SNI_ONLY mode is registered without an issuer CA. Devices with certificates in SNI_ONLY mode must send the SNI extension when connecting to Amazon Web Services IoT Core.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the certificate was created.

status
Type: string

The status of the certificate.

The status value REGISTER_INACTIVE is deprecated and should not be used.

CertificateConflictException

Description

Unable to verify the CA certificate used to sign the device certificate you are attempting to register. This is happens when you have registered more than one CA certificate that has the same subject field and public key.

Members
message
Type: string

The message for the exception.

CertificateDescription

Description

Describes a certificate.

Members
caCertificateId
Type: string

The certificate ID of the CA certificate used to sign this certificate.

certificateArn
Type: string

The ARN of the certificate.

certificateId
Type: string

The ID of the certificate.

certificateMode
Type: string

The mode of the certificate.

DEFAULT: A certificate in DEFAULT mode is either generated by Amazon Web Services IoT Core or registered with an issuer certificate authority (CA) in DEFAULT mode. Devices with certificates in DEFAULT mode aren't required to send the Server Name Indication (SNI) extension when connecting to Amazon Web Services IoT Core. However, to use features such as custom domains and VPC endpoints, we recommend that you use the SNI extension when connecting to Amazon Web Services IoT Core.

SNI_ONLY: A certificate in SNI_ONLY mode is registered without an issuer CA. Devices with certificates in SNI_ONLY mode must send the SNI extension when connecting to Amazon Web Services IoT Core.

For more information about the value for SNI extension, see Transport security in IoT.

certificatePem
Type: string

The certificate data, in PEM format.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the certificate was created.

customerVersion
Type: int

The customer version of the certificate.

generationId
Type: string

The generation ID of the certificate.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the certificate was last modified.

ownedBy
Type: string

The ID of the Amazon Web Services account that owns the certificate.

previousOwnedBy
Type: string

The ID of the Amazon Web Services account of the previous owner of the certificate.

status
Type: string

The status of the certificate.

transferData
Type: TransferData structure

The transfer data.

validity
Type: CertificateValidity structure

When the certificate is valid.

CertificateProviderSummary

Description

The certificate provider summary.

Members
certificateProviderArn
Type: string

The ARN of the certificate provider.

certificateProviderName
Type: string

The name of the certificate provider.

CertificateStateException

Description

The certificate operation is not allowed.

Members
message
Type: string

The message for the exception.

CertificateValidationException

Description

The certificate is invalid.

Members
message
Type: string

Additional information about the exception.

CertificateValidity

Description

When the certificate is valid.

Members
notAfter
Type: timestamp (string|DateTime or anything parsable by strtotime)

The certificate is not valid after this date.

notBefore
Type: timestamp (string|DateTime or anything parsable by strtotime)

The certificate is not valid before this date.

CloudwatchAlarmAction

Description

Describes an action that updates a CloudWatch alarm.

Members
alarmName
Required: Yes
Type: string

The CloudWatch alarm name.

roleArn
Required: Yes
Type: string

The IAM role that allows access to the CloudWatch alarm.

stateReason
Required: Yes
Type: string

The reason for the alarm change.

stateValue
Required: Yes
Type: string

The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.

CloudwatchLogsAction

Description

Describes an action that sends data to CloudWatch Logs.

Members
batchMode
Type: boolean

Indicates whether batches of log records will be extracted and uploaded into CloudWatch. Values include true or false (default).

logGroupName
Required: Yes
Type: string

The CloudWatch log group to which the action sends data.

roleArn
Required: Yes
Type: string

The IAM role that allows access to the CloudWatch log.

CloudwatchMetricAction

Description

Describes an action that captures a CloudWatch metric.

Members
metricName
Required: Yes
Type: string

The CloudWatch metric name.

metricNamespace
Required: Yes
Type: string

The CloudWatch metric namespace name.

metricTimestamp
Type: string

An optional Unix timestamp.

metricUnit
Required: Yes
Type: string

The metric unit supported by CloudWatch.

metricValue
Required: Yes
Type: string

The CloudWatch metric value.

roleArn
Required: Yes
Type: string

The IAM role that allows access to the CloudWatch metric.

CodeSigning

Description

Describes the method to use when code signing a file.

Members
awsSignerJobId
Type: string

The ID of the AWSSignerJob which was created to sign the file.

customCodeSigning
Type: CustomCodeSigning structure

A custom method for code signing a file.

startSigningJobParameter
Type: StartSigningJobParameter structure

Describes the code-signing job.

CodeSigningCertificateChain

Description

Describes the certificate chain being used when code signing a file.

Members
certificateName
Type: string

The name of the certificate.

inlineDocument
Type: string

A base64 encoded binary representation of the code signing certificate chain.

CodeSigningSignature

Description

Describes the signature for a file.

Members
inlineDocument
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

A base64 encoded binary representation of the code signing signature.

Configuration

Description

Configuration.

Members
Enabled
Type: boolean

True to enable the configuration.

ConflictException

Description

A resource with the same name already exists.

Members
message
Type: string
resourceId
Type: string

A resource with the same name already exists.

ConflictingResourceUpdateException

Description

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

Members
message
Type: string

The message for the exception.

CustomCodeSigning

Description

Describes a custom method used to code sign a file.

Members
certificateChain
Type: CodeSigningCertificateChain structure

The certificate chain.

hashAlgorithm
Type: string

The hash algorithm used to code sign the file. You can use a string as the algorithm name if the target over-the-air (OTA) update devices are able to verify the signature that was generated using the same signature algorithm. For example, FreeRTOS uses SHA256 or SHA1, so you can pass either of them based on which was used for generating the signature.

signature
Type: CodeSigningSignature structure

The signature for the file.

signatureAlgorithm
Type: string

The signature algorithm used to code sign the file. You can use a string as the algorithm name if the target over-the-air (OTA) update devices are able to verify the signature that was generated using the same signature algorithm. For example, FreeRTOS uses ECDSA or RSA, so you can pass either of them based on which was used for generating the signature.

DeleteConflictException

Description

You can't delete the resource because it is attached to one or more resources.

Members
message
Type: string

The message for the exception.

Denied

Description

Contains information that denied the authorization.

Members
explicitDeny
Type: ExplicitDeny structure

Information that explicitly denies the authorization.

implicitDeny
Type: ImplicitDeny structure

Information that implicitly denies the authorization. When a policy doesn't explicitly deny or allow an action on a resource it is considered an implicit deny.

Destination

Description

Describes the location of the updated firmware.

Members
s3Destination
Type: S3Destination structure

Describes the location in S3 of the updated firmware.

DetectMitigationActionExecution

Description

Describes which mitigation actions should be executed.

Members
actionName
Type: string

The friendly name that uniquely identifies the mitigation action.

errorCode
Type: string

The error code of a mitigation action.

executionEndDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date a mitigation action ended.

executionStartDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date a mitigation action was started.

message
Type: string

The message of a mitigation action.

status
Type: string

The status of a mitigation action.

taskId
Type: string

The unique identifier of the task.

thingName
Type: string

The name of the thing.

violationId
Type: string

The unique identifier of the violation.

DetectMitigationActionsTaskStatistics

Description

The statistics of a mitigation action task.

Members
actionsExecuted
Type: long (int|float)

The actions that were performed.

actionsFailed
Type: long (int|float)

The actions that failed.

actionsSkipped
Type: long (int|float)

The actions that were skipped.

DetectMitigationActionsTaskSummary

Description

The summary of the mitigation action tasks.

Members
actionsDefinition
Type: Array of MitigationAction structures

The definition of the actions.

onlyActiveViolationsIncluded
Type: boolean

Includes only active violations.

suppressedAlertsIncluded
Type: boolean

Includes suppressed alerts.

target

Specifies the ML Detect findings to which the mitigation actions are applied.

taskEndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the task ended.

taskId
Type: string

The unique identifier of the task.

taskStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the task started.

taskStatistics

The statistics of a mitigation action task.

taskStatus
Type: string

The status of the task.

violationEventOccurrenceRange

Specifies the time period of which violation events occurred between.

DetectMitigationActionsTaskTarget

Description

The target of a mitigation action task.

Members
behaviorName
Type: string

The name of the behavior.

securityProfileName
Type: string

The name of the security profile.

violationIds
Type: Array of strings

The unique identifiers of the violations.

DocumentParameter

Description

A map of key-value pairs containing the patterns that need to be replaced in a managed template job document schema. You can use the description of each key as a guidance to specify the inputs during runtime when creating a job.

documentParameters can only be used when creating jobs from Amazon Web Services managed templates. This parameter can't be used with custom job templates or to create jobs from them.

Members
description
Type: string

Description of the map field containing the patterns that need to be replaced in a managed template job document schema.

example
Type: string

An example illustrating a pattern that need to be replaced in a managed template job document schema.

key
Type: string

Key of the map field containing the patterns that need to be replaced in a managed template job document schema.

optional
Type: boolean

Specifies whether a pattern that needs to be replaced in a managed template job document schema is optional or required.

regex
Type: string

A regular expression of the patterns that need to be replaced in a managed template job document schema.

DomainConfigurationSummary

Description

The summary of a domain configuration. A domain configuration specifies custom IoT-specific information about a domain. A domain configuration can be associated with an Amazon Web Services-managed domain (for example, dbc123defghijk.iot.us-west-2.amazonaws.com), a customer managed domain, or a default endpoint.

  • Data

  • Jobs

  • CredentialProvider

Members
domainConfigurationArn
Type: string

The ARN of the domain configuration.

domainConfigurationName
Type: string

The name of the domain configuration. This value must be unique to a region.

serviceType
Type: string

The type of service delivered by the endpoint.

DynamoDBAction

Description

Describes an action to write to a DynamoDB table.

The tableName, hashKeyField, and rangeKeyField values must match the values used when you created the table.

The hashKeyValue and rangeKeyvalue fields use a substitution template syntax. These templates provide data at runtime. The syntax is as follows: ${sql-expression}.

You can specify any valid expression in a WHERE or SELECT clause, including JSON properties, comparisons, calculations, and functions. For example, the following field uses the third level of the topic:

"hashKeyValue": "${topic(3)}"

The following field uses the timestamp:

"rangeKeyValue": "${timestamp()}"

Members
hashKeyField
Required: Yes
Type: string

The hash key name.

hashKeyType
Type: string

The hash key type. Valid values are "STRING" or "NUMBER"

hashKeyValue
Required: Yes
Type: string

The hash key value.

operation
Type: string

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.

payloadField
Type: string

The action payload. This name can be customized.

rangeKeyField
Type: string

The range key name.

rangeKeyType
Type: string

The range key type. Valid values are "STRING" or "NUMBER"

rangeKeyValue
Type: string

The range key value.

roleArn
Required: Yes
Type: string

The ARN of the IAM role that grants access to the DynamoDB table.

tableName
Required: Yes
Type: string

The name of the DynamoDB table.

DynamoDBv2Action

Description

Describes an action to write to a DynamoDB table.

This DynamoDB action writes each attribute in the message payload into it's own column in the DynamoDB table.

Members
putItem
Required: Yes
Type: PutItemInput structure

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.

roleArn
Required: Yes
Type: string

The ARN of the IAM role that grants access to the DynamoDB table.

EffectivePolicy

Description

The policy that has the effect on the authorization results.

Members
policyArn
Type: string

The policy ARN.

policyDocument
Type: string

The IAM policy document.

policyName
Type: string

The policy name.

ElasticsearchAction

Description

Describes an action that writes data to an Amazon OpenSearch Service domain.

The Elasticsearch action can only be used by existing rule actions. To create a new rule action or to update an existing rule action, use the OpenSearch rule action instead. For more information, see OpenSearchAction.

Members
endpoint
Required: Yes
Type: string

The endpoint of your OpenSearch domain.

id
Required: Yes
Type: string

The unique identifier for the document you are storing.

index
Required: Yes
Type: string

The index where you want to store your data.

roleArn
Required: Yes
Type: string

The IAM role ARN that has access to OpenSearch.

type
Required: Yes
Type: string

The type of document you are storing.

EnableIoTLoggingParams

Description

Parameters used when defining a mitigation action that enable Amazon Web Services IoT Core logging.

Members
logLevel
Required: Yes
Type: string

Specifies the type of information to be logged.

roleArnForLogging
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the IAM role used for logging.

ErrorInfo

Description

Error information.

Members
code
Type: string

The error code.

message
Type: string

The error message.

ExplicitDeny

Description

Information that explicitly denies authorization.

Members
policies
Type: Array of Policy structures

The policies that denied the authorization.

ExponentialRolloutRate

Description

Allows you to create an exponential rate of rollout for a job.

Members
baseRatePerMinute
Required: Yes
Type: int

The minimum number of things that will be notified of a pending job, per minute at the start of job rollout. This parameter allows you to define the initial rate of rollout.

incrementFactor
Required: Yes
Type: double

The exponential factor to increase the rate of rollout for a job.

Amazon Web Services IoT Core supports up to one digit after the decimal (for example, 1.5, but not 1.55).

rateIncreaseCriteria
Required: Yes
Type: RateIncreaseCriteria structure

The criteria to initiate the increase in rate of rollout for a job.

Field

Description

Describes the name and data type at a field.

Members
name
Type: string

The name of the field.

type
Type: string

The data type of the field.

FileLocation

Description

The location of the OTA update.

Members
s3Location
Type: S3Location structure

The location of the updated firmware in S3.

stream
Type: Stream structure

The stream that contains the OTA update.

FirehoseAction

Description

Describes an action that writes data to an Amazon Kinesis Firehose stream.

Members
batchMode
Type: boolean

Whether to deliver the Kinesis Data Firehose stream as a batch by using PutRecordBatch . The default value is false.

When batchMode is true and the rule's SQL statement evaluates to an Array, each Array element forms one record in the PutRecordBatch request. The resulting array can't have more than 500 records.

deliveryStreamName
Required: Yes
Type: string

The delivery stream name.

roleArn
Required: Yes
Type: string

The IAM role that grants access to the Amazon Kinesis Firehose stream.

separator
Type: string

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).

FleetMetricNameAndArn

Description

The name and ARN of a fleet metric.

Members
metricArn
Type: string

The fleet metric ARN.

metricName
Type: string

The fleet metric name.

GeoLocationTarget

Description

A geolocation target that you select to index. Each geolocation target contains a name and order key-value pair that specifies the geolocation target fields.

Members
name
Type: string

The name of the geolocation target field. If the target field is part of a named shadow, you must select the named shadow using the namedShadow filter.

order
Type: string

The order of the geolocation target field. This field is optional. The default value is LatLon.

GroupNameAndArn

Description

The name and ARN of a group.

Members
groupArn
Type: string

The group ARN.

groupName
Type: string

The group name.

HttpAction

Description

Send data to an HTTPS endpoint.

Members
auth
Type: HttpAuthorization structure

The authentication method to use when sending data to an HTTPS endpoint.

confirmationUrl
Type: string

The URL to which IoT sends a confirmation message. The value of the confirmation URL must be a prefix of the endpoint URL. If you do not specify a confirmation URL IoT uses the endpoint URL as the confirmation URL. If you use substitution templates in the confirmationUrl, you must create and enable topic rule destinations that match each possible value of the substitution template before traffic is allowed to your endpoint URL.

headers
Type: Array of HttpActionHeader structures

The HTTP headers to send with the message data.

url
Required: Yes
Type: string

The endpoint URL. If substitution templates are used in the URL, you must also specify a confirmationUrl. If this is a new destination, a new TopicRuleDestination is created if possible.

HttpActionHeader

Description

The HTTP action header.

Members
key
Required: Yes
Type: string

The HTTP header key.

value
Required: Yes
Type: string

The HTTP header value. Substitution templates are supported.

HttpContext

Description

Specifies the HTTP context to use for the test authorizer request.

Members
headers
Type: Associative array of custom strings keys (HttpHeaderName) to strings

The header keys and values in an HTTP authorization request.

queryString
Type: string

The query string keys and values in an HTTP authorization request.

HttpUrlDestinationConfiguration

Description

HTTP URL destination configuration used by the topic rule's HTTP action.

Members
confirmationUrl
Required: Yes
Type: string

The URL IoT uses to confirm ownership of or access to the topic rule destination URL.

HttpUrlDestinationProperties

Description

HTTP URL destination properties.

Members
confirmationUrl
Type: string

The URL used to confirm the HTTP topic rule destination URL.

HttpUrlDestinationSummary

Description

Information about an HTTP URL destination.

Members
confirmationUrl
Type: string

The URL used to confirm ownership of or access to the HTTP topic rule destination URL.

ImplicitDeny

Description

Information that implicitly denies authorization. When policy doesn't explicitly deny or allow an action on a resource it is considered an implicit deny.

Members
policies
Type: Array of Policy structures

Policies that don't contain a matching allow or deny statement for the specified action on the specified resource.

IndexNotReadyException

Description

The index is not ready.

Members
message
Type: string

The message for the exception.

IndexingFilter

Description

Provides additional selections for named shadows and geolocation data.

To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in namedShadowNames filter.

To add geolocation data to your fleet indexing configuration:

  • If you store geolocation data in a class/unnamed shadow, set thingIndexingMode to be REGISTRY_AND_SHADOW and specify your geolocation data in geoLocations filter.

  • If you store geolocation data in a named shadow, set namedShadowIndexingMode to be ON, add the shadow name in namedShadowNames filter, and specify your geolocation data in geoLocations filter. For more information, see Managing fleet indexing.

Members
geoLocations
Type: Array of GeoLocationTarget structures

The list of geolocation targets that you select to index. The default maximum number of geolocation targets for indexing is 1. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference.

namedShadowNames
Type: Array of strings

The shadow names that you select to index. The default maximum number of shadow names for indexing is 10. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference.

InternalException

Description

An unexpected error has occurred.

Members
message
Type: string

The message for the exception.

InternalFailureException

Description

An unexpected error has occurred.

Members
message
Type: string

The message for the exception.

InternalServerException

Description

Internal error from the service that indicates an unexpected error or that the service is unavailable.

Members
message
Type: string

InvalidAggregationException

Description

The aggregation is invalid.

Members
message
Type: string

InvalidQueryException

Description

The query is invalid.

Members
message
Type: string

The message for the exception.

InvalidRequestException

Description

The request is not valid.

Members
message
Type: string

The message for the exception.

InvalidResponseException

Description

The response is invalid.

Members
message
Type: string

The message for the exception.

InvalidStateTransitionException

Description

An attempt was made to change to an invalid state, for example by deleting a job or a job execution which is "IN_PROGRESS" without setting the force parameter.

Members
message
Type: string

The message for the exception.

IotAnalyticsAction

Description

Sends message data to an IoT Analytics channel.

Members
batchMode
Type: boolean

Whether to process the action as a batch. The default value is false.

When batchMode is true and the rule SQL statement evaluates to an Array, each Array element is delivered as a separate message when passed by BatchPutMessage to the IoT Analytics channel. The resulting array can't have more than 100 messages.

channelArn
Type: string

(deprecated) The ARN of the IoT Analytics channel to which message data will be sent.

channelName
Type: string

The name of the IoT Analytics channel to which message data will be sent.

roleArn
Type: string

The ARN of the role which has a policy that grants IoT Analytics permission to send message data via IoT Analytics (iotanalytics:BatchPutMessage).

IotEventsAction

Description

Sends an input to an IoT Events detector.

Members
batchMode
Type: boolean

Whether to process the event actions as a batch. The default value is false.

When batchMode is true, you can't specify a messageId.

When batchMode is true and the rule SQL statement evaluates to an Array, each Array element is treated as a separate message when it's sent to IoT Events by calling BatchPutMessage . The resulting array can't have more than 10 messages.

inputName
Required: Yes
Type: string

The name of the IoT Events input.

messageId
Type: string

The ID of the message. The default messageId is a new UUID value.

When batchMode is true, you can't specify a messageId--a new UUID value will be assigned.

Assign a value to this property to ensure that only one input (message) with a given messageId will be processed by an IoT Events detector.

roleArn
Required: Yes
Type: string

The ARN of the role that grants IoT permission to send an input to an IoT Events detector. ("Action":"iotevents:BatchPutMessage").

IotSiteWiseAction

Description

Describes an action to send data from an MQTT message that triggered the rule to IoT SiteWise asset properties.

Members
putAssetPropertyValueEntries
Required: Yes
Type: Array of PutAssetPropertyValueEntry structures

A list of asset property value entries.

roleArn
Required: Yes
Type: string

The ARN of the role that grants IoT permission to send an asset property value to IoT SiteWise. ("Action": "iotsitewise:BatchPutAssetPropertyValue"). The trust policy can restrict access to specific asset hierarchy paths.

IssuerCertificateIdentifier

Description

The certificate issuer indentifier.

Members
issuerCertificateSerialNumber
Type: string

The issuer certificate serial number.

issuerCertificateSubject
Type: string

The subject of the issuer certificate.

issuerId
Type: string

The issuer ID.

Job

Description

The Job object contains details about a job.

Members
abortConfig
Type: AbortConfig structure

Configuration for criteria to abort the job.

comment
Type: string

If the job was updated, describes the reason for the update.

completedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job was completed.

createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job was created.

description
Type: string

A short text description of the job.

destinationPackageVersions
Type: Array of strings

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes. The package version must be in either the Published or Deprecated state when the job deploys. For more information, see Package version lifecycle.The package version must be in either the Published or Deprecated state when the job deploys. For more information, see Package version lifecycle.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

documentParameters
Type: Associative array of custom strings keys (ParameterKey) to strings

A key-value map that pairs the patterns that need to be replaced in a managed template job document schema. You can use the description of each key as a guidance to specify the inputs during runtime when creating a job.

documentParameters can only be used when creating jobs from Amazon Web Services managed templates. This parameter can't be used with custom job templates or to create jobs from them.

forceCanceled
Type: boolean

Will be true if the job was canceled with the optional force parameter set to true.

isConcurrent
Type: boolean

Indicates whether a job is concurrent. Will be true when a job is rolling out new job executions or canceling previously created executions, otherwise false.

jobArn
Type: string

An ARN identifying the job with format "arn:aws:iot:region:account:job/jobId".

jobExecutionsRetryConfig
Type: JobExecutionsRetryConfig structure

The configuration for the criteria to retry the job.

jobExecutionsRolloutConfig
Type: JobExecutionsRolloutConfig structure

Allows you to create a staged rollout of a job.

jobId
Type: string

The unique identifier you assigned to this job when it was created.

jobProcessDetails
Type: JobProcessDetails structure

Details about the job process.

jobTemplateArn
Type: string

The ARN of the job template used to create the job.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job was last updated.

namespaceId
Type: string

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

presignedUrlConfig
Type: PresignedUrlConfig structure

Configuration for pre-signed S3 URLs.

reasonCode
Type: string

If the job was updated, provides the reason code for the update.

scheduledJobRollouts
Type: Array of ScheduledJobRollout structures

Displays the next seven maintenance window occurrences and their start times.

schedulingConfig
Type: SchedulingConfig structure

The configuration that allows you to schedule a job for a future date and time in addition to specifying the end behavior for each job execution.

status
Type: string

The status of the job, one of IN_PROGRESS, CANCELED, DELETION_IN_PROGRESS or COMPLETED.

targetSelection
Type: string

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a device when the thing representing the device is added to a target group, even after the job was completed by all things originally in the group.

We recommend that you use continuous jobs instead of snapshot jobs for dynamic thing group targets. By using continuous jobs, devices that join the group receive the job execution even after the job has been created.

targets
Type: Array of strings

A list of IoT things and thing groups to which the job should be sent.

timeoutConfig
Type: TimeoutConfig structure

Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to TIMED_OUT.

JobExecution

Description

The job execution object represents the execution of a job on a particular device.

Members
approximateSecondsBeforeTimedOut
Type: long (int|float)

The estimated number of seconds that remain before the job execution status will be changed to TIMED_OUT. The timeout interval can be anywhere between 1 minute and 7 days (1 to 10080 minutes). The actual job execution timeout can occur up to 60 seconds later than the estimated duration. This value will not be included if the job execution has reached a terminal status.

executionNumber
Type: long (int|float)

A string (consisting of the digits "0" through "9") which identifies this particular job execution on this particular device. It can be used in commands which return or update job execution information.

forceCanceled
Type: boolean

Will be true if the job execution was canceled with the optional force parameter set to true.

jobId
Type: string

The unique identifier you assigned to the job when it was created.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job execution was last updated.

queuedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job execution was queued.

startedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job execution started.

status
Type: string

The status of the job execution (IN_PROGRESS, QUEUED, FAILED, SUCCEEDED, TIMED_OUT, CANCELED, or REJECTED).

statusDetails
Type: JobExecutionStatusDetails structure

A collection of name/value pairs that describe the status of the job execution.

thingArn
Type: string

The ARN of the thing on which the job execution is running.

versionNumber
Type: long (int|float)

The version of the job execution. Job execution versions are incremented each time they are updated by a device.

JobExecutionStatusDetails

Description

Details of the job execution status.

Members
detailsMap
Type: Associative array of custom strings keys (DetailsKey) to strings

The job execution status.

JobExecutionSummary

Description

The job execution summary.

Members
executionNumber
Type: long (int|float)

A string (consisting of the digits "0" through "9") which identifies this particular job execution on this particular device. It can be used later in commands which return or update job execution information.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job execution was last updated.

queuedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job execution was queued.

retryAttempt
Type: int

The number that indicates how many retry attempts have been completed for this job on this device.

startedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job execution started.

status
Type: string

The status of the job execution.

JobExecutionSummaryForJob

Description

Contains a summary of information about job executions for a specific job.

Members
jobExecutionSummary
Type: JobExecutionSummary structure

Contains a subset of information about a job execution.

thingArn
Type: string

The ARN of the thing on which the job execution is running.

JobExecutionSummaryForThing

Description

The job execution summary for a thing.

Members
jobExecutionSummary
Type: JobExecutionSummary structure

Contains a subset of information about a job execution.

jobId
Type: string

The unique identifier you assigned to this job when it was created.

JobExecutionsRetryConfig

Description

The configuration that determines how many retries are allowed for each failure type for a job.

Members
criteriaList
Required: Yes
Type: Array of RetryCriteria structures

The list of criteria that determines how many retries are allowed for each failure type for a job.

JobExecutionsRolloutConfig

Description

Allows you to create a staged rollout of a job.

Members
exponentialRate
Type: ExponentialRolloutRate structure

The rate of increase for a job rollout. This parameter allows you to define an exponential rate for a job rollout.

maximumPerMinute
Type: int

The maximum number of things that will be notified of a pending job, per minute. This parameter allows you to create a staged rollout.

JobProcessDetails

Description

The job process details.

Members
numberOfCanceledThings
Type: int

The number of things that cancelled the job.

numberOfFailedThings
Type: int

The number of things that failed executing the job.

numberOfInProgressThings
Type: int

The number of things currently executing the job.

numberOfQueuedThings
Type: int

The number of things that are awaiting execution of the job.

numberOfRejectedThings
Type: int

The number of things that rejected the job.

numberOfRemovedThings
Type: int

The number of things that are no longer scheduled to execute the job because they have been deleted or have been removed from the group that was a target of the job.

numberOfSucceededThings
Type: int

The number of things which successfully completed the job.

numberOfTimedOutThings
Type: int

The number of things whose job execution status is TIMED_OUT.

processingTargets
Type: Array of strings

The target devices to which the job execution is being rolled out. This value will be null after the job execution has finished rolling out to all the target devices.

JobSummary

Description

The job summary.

Members
completedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job completed.

createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job was created.

isConcurrent
Type: boolean

Indicates whether a job is concurrent. Will be true when a job is rolling out new job executions or canceling previously created executions, otherwise false.

jobArn
Type: string

The job ARN.

jobId
Type: string

The unique identifier you assigned to this job when it was created.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job was last updated.

status
Type: string

The job summary status.

targetSelection
Type: string

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.

We recommend that you use continuous jobs instead of snapshot jobs for dynamic thing group targets. By using continuous jobs, devices that join the group receive the job execution even after the job has been created.

thingGroupId
Type: string

The ID of the thing group.

JobTemplateSummary

Description

An object that contains information about the job template.

Members
createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time, in seconds since the epoch, when the job template was created.

description
Type: string

A description of the job template.

jobTemplateArn
Type: string

The ARN of the job template.

jobTemplateId
Type: string

The unique identifier of the job template.

KafkaAction

Description

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.

Members
clientProperties
Required: Yes
Type: Associative array of custom strings keys (String) to strings

Properties of the Apache Kafka producer client.

destinationArn
Required: Yes
Type: string

The ARN of Kafka action's VPC TopicRuleDestination.

headers
Type: Array of KafkaActionHeader structures

The list of Kafka headers that you specify.

key
Type: string

The Kafka message key.

partition
Type: string

The Kafka message partition.

topic
Required: Yes
Type: string

The Kafka topic for messages to be sent to the Kafka broker.

KafkaActionHeader

Description

Specifies a Kafka header using key-value pairs when you create a Rule’s Kafka Action. You can use these headers to route data from IoT clients to downstream Kafka clusters without modifying your message payload.

For more information about Rule's Kafka action, see Apache Kafka.

Members
key
Required: Yes
Type: string

The key of the Kafka header.

value
Required: Yes
Type: string

The value of the Kafka header.

KeyPair

Description

Describes a key pair.

Members
PrivateKey
Type: string

The private key.

PublicKey
Type: string

The public key.

KinesisAction

Description

Describes an action to write data to an Amazon Kinesis stream.

Members
partitionKey
Type: string

The partition key.

roleArn
Required: Yes
Type: string

The ARN of the IAM role that grants access to the Amazon Kinesis stream.

streamName
Required: Yes
Type: string

The name of the Amazon Kinesis stream.

LambdaAction

Description

Describes an action to invoke a Lambda function.

Members
functionArn
Required: Yes
Type: string

The ARN of the Lambda function.

LimitExceededException

Description

A limit has been exceeded.

Members
message
Type: string

The message for the exception.

LocationAction

Description

The Amazon Location rule action sends device location updates from an MQTT message to an Amazon Location tracker resource.

Members
deviceId
Required: Yes
Type: string

The unique ID of the device providing the location data.

latitude
Required: Yes
Type: string

A string that evaluates to a double value that represents the latitude of the device's location.

longitude
Required: Yes
Type: string

A string that evaluates to a double value that represents the longitude of the device's location.

roleArn
Required: Yes
Type: string

The IAM role that grants permission to write to the Amazon Location resource.

timestamp
Type: LocationTimestamp structure

The time that the location data was sampled. The default value is the time the MQTT message was processed.

trackerName
Required: Yes
Type: string

The name of the tracker resource in Amazon Location in which the location is updated.

LocationTimestamp

Description

Describes how to interpret an application-defined timestamp value from an MQTT message payload and the precision of that value.

Members
unit
Type: string

The precision of the timestamp value that results from the expression described in value.

Valid values: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. The default is MILLISECONDS.

value
Required: Yes
Type: string

An expression that returns a long epoch time value.

LogTarget

Description

A log target.

Members
targetName
Type: string

The target name.

targetType
Required: Yes
Type: string

The target type.

LogTargetConfiguration

Description

The target configuration.

Members
logLevel
Type: string

The logging level.

logTarget
Type: LogTarget structure

A log target

LoggingOptionsPayload

Description

Describes the logging options payload.

Members
logLevel
Type: string

The log level.

roleArn
Required: Yes
Type: string

The ARN of the IAM role that grants access.

MachineLearningDetectionConfig

Description

The configuration of an ML Detect Security Profile.

Members
confidenceLevel
Required: Yes
Type: string

The sensitivity of anomalous behavior evaluation. Can be Low, Medium, or High.

MaintenanceWindow

Description

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.

Members
durationInMinutes
Required: Yes
Type: int

Displays the duration of the next maintenance window.

startTime
Required: Yes
Type: string

Displays the start time of the next maintenance window.

MalformedPolicyException

Description

The policy documentation is not valid.

Members
message
Type: string

The message for the exception.

ManagedJobTemplateSummary

Description

An object that contains information about the managed template.

Members
description
Type: string

The description for a managed template.

environments
Type: Array of strings

A list of environments that are supported with the managed job template.

templateArn
Type: string

The Amazon Resource Name (ARN) for a managed template.

templateName
Type: string

The unique Name for a managed template.

templateVersion
Type: string

The version for a managed template.

MetricDatum

Description

A metric.

Members
timestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the metric value was reported.

value
Type: MetricValue structure

The value reported for the metric.

MetricDimension

Description

The dimension of a metric.

Members
dimensionName
Required: Yes
Type: string

A unique identifier for the dimension.

operator
Type: string

Defines how the dimensionValues of a dimension are interpreted. For example, for dimension type TOPIC_FILTER, the IN operator, a message will be counted only if its topic matches one of the topic filters. With NOT_IN operator, a message will be counted only if it doesn't match any of the topic filters. The operator is optional: if it's not provided (is null), it will be interpreted as IN.

MetricToRetain

Description

The metric you want to retain. Dimensions are optional.

Members
exportMetric
Type: boolean

The value indicates exporting metrics related to the MetricToRetain when it's true.

metric
Required: Yes
Type: string

What is measured by the behavior.

metricDimension
Type: MetricDimension structure

The dimension of a metric. This can't be used with custom metrics.

MetricValue

Description

The value to be compared with the metric.

Members
cidrs
Type: Array of strings

If the comparisonOperator calls for a set of CIDRs, use this to specify that set to be compared with the metric.

count
Type: long (int|float)

If the comparisonOperator calls for a numeric value, use this to specify that numeric value to be compared with the metric.

number
Type: double

The numeral value of a metric.

numbers
Type: Array of doubles

The numeral values of a metric.

ports
Type: Array of ints

If the comparisonOperator calls for a set of ports, use this to specify that set to be compared with the metric.

strings
Type: Array of strings

The string values of a metric.

MetricsExportConfig

Description

Set configurations for metrics export.

Members
mqttTopic
Required: Yes
Type: string

The MQTT topic that Device Defender Detect should publish messages to for metrics export.

roleArn
Required: Yes
Type: string

This role ARN has permission to publish MQTT messages, after which Device Defender Detect can assume the role and publish messages on your behalf.

MitigationAction

Description

Describes which changes should be applied as part of a mitigation action.

Members
actionParams
Type: MitigationActionParams structure

The set of parameters for this mitigation action. The parameters vary, depending on the kind of action you apply.

id
Type: string

A unique identifier for the mitigation action.

name
Type: string

A user-friendly name for the mitigation action.

roleArn
Type: string

The IAM role ARN used to apply this mitigation action.

MitigationActionIdentifier

Description

Information that identifies a mitigation action. This information is returned by ListMitigationActions.

Members
actionArn
Type: string

The IAM role ARN used to apply this mitigation action.

actionName
Type: string

The friendly name of the mitigation action.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when this mitigation action was created.

MitigationActionParams

Description

The set of parameters for this mitigation action. You can specify only one type of parameter (in other words, you can apply only one action for each defined mitigation action).

Members
addThingsToThingGroupParams
Type: AddThingsToThingGroupParams structure

Parameters to define a mitigation action that moves devices associated with a certificate to one or more specified thing groups, typically for quarantine.

enableIoTLoggingParams
Type: EnableIoTLoggingParams structure

Parameters to define a mitigation action that enables Amazon Web Services IoT Core logging at a specified level of detail.

publishFindingToSnsParams
Type: PublishFindingToSnsParams structure

Parameters to define a mitigation action that publishes findings to Amazon Simple Notification Service (Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages.

replaceDefaultPolicyVersionParams

Parameters to define a mitigation action that adds a blank policy to restrict permissions.

updateCACertificateParams
Type: UpdateCACertificateParams structure

Parameters to define a mitigation action that changes the state of the CA certificate to inactive.

updateDeviceCertificateParams

Parameters to define a mitigation action that changes the state of the device certificate to inactive.

MqttContext

Description

Specifies the MQTT context to use for the test authorizer request

Members
clientId
Type: string

The value of the clientId key in an MQTT authorization request.

password
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The value of the password key in an MQTT authorization request.

username
Type: string

The value of the username key in an MQTT authorization request.

MqttHeaders

Description

Specifies MQTT Version 5.0 headers information. For more information, see MQTT from Amazon Web Services IoT Core Developer Guide.

Members
contentType
Type: string

A UTF-8 encoded string that describes the content of the publishing message.

For more information, see Content Type from the MQTT Version 5.0 specification.

Supports substitution templates.

correlationData
Type: string

The base64-encoded binary data used by the sender of the request message to identify which request the response message is for when it's received.

For more information, see Correlation Data from the MQTT Version 5.0 specification.

This binary data must be based64-encoded.

Supports substitution templates.

messageExpiry
Type: string

A user-defined integer value that will persist a message at the message broker for a specified amount of time to ensure that the message will expire if it's no longer relevant to the subscriber. The value of messageExpiry represents the number of seconds before it expires. For more information about the limits of messageExpiry, see Amazon Web Services IoT Core message broker and protocol limits and quotas from the Amazon Web Services Reference Guide.

Supports substitution templates.

payloadFormatIndicator
Type: string

An Enum string value that indicates whether the payload is formatted as UTF-8.

Valid values are UNSPECIFIED_BYTES and UTF8_DATA.

For more information, see Payload Format Indicator from the MQTT Version 5.0 specification.

Supports substitution templates.

responseTopic
Type: string

A UTF-8 encoded string that's used as the topic name for a response message. The response topic is used to describe the topic which the receiver should publish to as part of the request-response flow. The topic must not contain wildcard characters.

For more information, see Response Topic from the MQTT Version 5.0 specification.

Supports substitution templates.

userProperties
Type: Array of UserProperty structures

An array of key-value pairs that you define in the MQTT5 header.

NonCompliantResource

Description

Information about the resource that was noncompliant with the audit check.

Members
additionalInfo
Type: Associative array of custom strings keys (String) to strings

Other information about the noncompliant resource.

resourceIdentifier
Type: ResourceIdentifier structure

Information that identifies the noncompliant resource.

resourceType
Type: string

The type of the noncompliant resource.

NotConfiguredException

Description

The resource is not configured.

Members
message
Type: string

The message for the exception.

OTAUpdateFile

Description

Describes a file to be associated with an OTA update.

Members
attributes
Type: Associative array of custom strings keys (AttributeKey) to strings

A list of name-attribute pairs. They won't be sent to devices as a part of the Job document.

codeSigning
Type: CodeSigning structure

The code signing method of the file.

fileLocation
Type: FileLocation structure

The location of the updated firmware.

fileName
Type: string

The name of the file.

fileType
Type: int

An integer value you can include in the job document to allow your devices to identify the type of file received from the cloud.

fileVersion
Type: string

The file version.

OTAUpdateInfo

Description

Information about an OTA update.

Members
additionalParameters
Type: Associative array of custom strings keys (AttributeKey) to strings

A collection of name/value pairs

awsIotJobArn
Type: string

The IoT job ARN associated with the OTA update.

awsIotJobId
Type: string

The IoT job ID associated with the OTA update.

awsJobExecutionsRolloutConfig

Configuration for the rollout of OTA updates.

awsJobPresignedUrlConfig
Type: AwsJobPresignedUrlConfig structure

Configuration information for pre-signed URLs. Valid when protocols contains HTTP.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the OTA update was created.

description
Type: string

A description of the OTA update.

errorInfo
Type: ErrorInfo structure

Error information associated with the OTA update.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the OTA update was last updated.

otaUpdateArn
Type: string

The OTA update ARN.

otaUpdateFiles
Type: Array of OTAUpdateFile structures

A list of files associated with the OTA update.

otaUpdateId
Type: string

The OTA update ID.

otaUpdateStatus
Type: string

The status of the OTA update.

protocols
Type: Array of strings

The protocol used to transfer the OTA update image. Valid values are [HTTP], [MQTT], [HTTP, MQTT]. When both HTTP and MQTT are specified, the target device can choose the protocol.

targetSelection
Type: string

Specifies whether the OTA update will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the OTA update (SNAPSHOT). If continuous, the OTA update may also be run on a thing when a change is detected in a target. For example, an OTA update will run on a thing when the thing is added to a target group, even after the OTA update was completed by all things originally in the group.

targets
Type: Array of strings

The targets of the OTA update.

OTAUpdateSummary

Description

An OTA update summary.

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the OTA update was created.

otaUpdateArn
Type: string

The OTA update ARN.

otaUpdateId
Type: string

The OTA update ID.

OpenSearchAction

Description

Describes an action that writes data to an Amazon OpenSearch Service domain.

Members
endpoint
Required: Yes
Type: string

The endpoint of your OpenSearch domain.

id
Required: Yes
Type: string

The unique identifier for the document you are storing.

index
Required: Yes
Type: string

The OpenSearch index where you want to store your data.

roleArn
Required: Yes
Type: string

The IAM role ARN that has access to OpenSearch.

type
Required: Yes
Type: string

The type of document you are storing.

OutgoingCertificate

Description

A certificate that has been transferred but not yet accepted.

Members
certificateArn
Type: string

The certificate ARN.

certificateId
Type: string

The certificate ID.

creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The certificate creation date.

transferDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the transfer was initiated.

transferMessage
Type: string

The transfer message.

transferredTo
Type: string

The Amazon Web Services account to which the transfer was made.

PackageSummary

Description

A summary of information about a software package.

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date that the package was created.

defaultVersionName
Type: string

The name of the default package version.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date that the package was last updated.

packageName
Type: string

The name for the target software package.

PackageVersionSummary

Description

A summary of information about a package version.

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date that the package version was created.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date that the package version was last updated.

packageName
Type: string

The name of the associated software package.

status
Type: string

The status of the package version. For more information, see Package version lifecycle.

versionName
Type: string

The name of the target package version.

PercentPair

Description

Describes the percentile and percentile value.

Members
percent
Type: double

The percentile.

value
Type: double

The value of the percentile.

Policy

Description

Describes an IoT policy.

Members
policyArn
Type: string

The policy ARN.

policyName
Type: string

The policy name.

PolicyVersion

Description

Describes a policy version.

Members
createDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the policy was created.

isDefaultVersion
Type: boolean

Specifies whether the policy version is the default.

versionId
Type: string

The policy version ID.

PolicyVersionIdentifier

Description

Information about the version of the policy associated with the resource.

Members
policyName
Type: string

The name of the policy.

policyVersionId
Type: string

The ID of the version of the policy associated with the resource.

PresignedUrlConfig

Description

Configuration for pre-signed S3 URLs.

Members
expiresInSec
Type: long (int|float)

How long (in seconds) pre-signed URLs are valid. Valid values are 60 - 3600, the default value is 3600 seconds. Pre-signed URLs are generated when Jobs receives an MQTT request for the job document.

roleArn
Type: string

The ARN of an IAM role that grants permission to download files from the S3 bucket where the job data/updates are stored. The role must also grant permission for IoT to download the files.

For information about addressing the confused deputy problem, see cross-service confused deputy prevention in the Amazon Web Services IoT Core developer guide.

ProvisioningHook

Description

Structure that contains payloadVersion and targetArn.

Members
payloadVersion
Type: string

The payload that was sent to the target function.

Note: Only Lambda functions are currently supported.

targetArn
Required: Yes
Type: string

The ARN of the target function.

Note: Only Lambda functions are currently supported.

ProvisioningTemplateSummary

Description

A summary of information about a provisioning template.

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the provisioning template summary was created.

description
Type: string

The description of the provisioning template.

enabled
Type: boolean

True if the fleet provision template is enabled, otherwise false.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the provisioning template summary was last modified.

templateArn
Type: string

The ARN of the provisioning template.

templateName
Type: string

The name of the provisioning template.

type
Type: string

The type you define in a provisioning template. You can create a template with only one type. You can't change the template type after its creation. The default value is FLEET_PROVISIONING. For more information about provisioning template, see: Provisioning template.

ProvisioningTemplateVersionSummary

Description

A summary of information about a fleet provision template version.

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the provisioning template version was created

isDefaultVersion
Type: boolean

True if the provisioning template version is the default version, otherwise false.

versionId
Type: int

The ID of the fleet provisioning template version.

PublishFindingToSnsParams

Description

Parameters to define a mitigation action that publishes findings to Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages.

Members
topicArn
Required: Yes
Type: string

The ARN of the topic to which you want to publish the findings.

PutAssetPropertyValueEntry

Description

An asset property value entry containing the following information.

Members
assetId
Type: string

The ID of the IoT SiteWise asset. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

entryId
Type: string

Optional. A unique identifier for this entry that you can define to better track which message caused an error in case of failure. Accepts substitution templates. Defaults to a new UUID.

propertyAlias
Type: string

The name of the property alias associated with your asset property. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

propertyId
Type: string

The ID of the asset's property. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

propertyValues
Required: Yes
Type: Array of AssetPropertyValue structures

A list of property values to insert that each contain timestamp, quality, and value (TQV) information.

PutItemInput

Description

The input for the DynamoActionVS action that specifies the DynamoDB table to which the message data will be written.

Members
tableName
Required: Yes
Type: string

The table where the message data will be written.

RateIncreaseCriteria

Description

Allows you to define a criteria to initiate the increase in rate of rollout for a job.

Members
numberOfNotifiedThings
Type: int

The threshold for number of notified things that will initiate the increase in rate of rollout.

numberOfSucceededThings
Type: int

The threshold for number of succeeded things that will initiate the increase in rate of rollout.

RegistrationCodeValidationException

Description

The registration code is invalid.

Members
message
Type: string

Additional information about the exception.

RegistrationConfig

Description

The registration configuration.

Members
roleArn
Type: string

The ARN of the role.

templateBody
Type: string

The template body.

templateName
Type: string

The name of the provisioning template.

RelatedResource

Description

Information about a related resource.

Members
additionalInfo
Type: Associative array of custom strings keys (String) to strings

Other information about the resource.

resourceIdentifier
Type: ResourceIdentifier structure

Information that identifies the resource.

resourceType
Type: string

The type of resource.

ReplaceDefaultPolicyVersionParams

Description

Parameters to define a mitigation action that adds a blank policy to restrict permissions.

Members
templateName
Required: Yes
Type: string

The name of the template to be applied. The only supported value is BLANK_POLICY.

RepublishAction

Description

Describes an action to republish to another topic.

Members
headers
Type: MqttHeaders structure

MQTT Version 5.0 headers information. For more information, see MQTT from the Amazon Web Services IoT Core Developer Guide.

qos
Type: int

The Quality of Service (QoS) level to use when republishing messages. The default value is 0.

roleArn
Required: Yes
Type: string

The ARN of the IAM role that grants access.

topic
Required: Yes
Type: string

The name of the MQTT topic.

ResourceAlreadyExistsException

Description

The resource already exists.

Members
message
Type: string

The message for the exception.

resourceArn
Type: string

The ARN of the resource that caused the exception.

resourceId
Type: string

The ID of the resource that caused the exception.

ResourceIdentifier

Description

Information that identifies the noncompliant resource.

Members
account
Type: string

The account with which the resource is associated.

caCertificateId
Type: string

The ID of the CA certificate used to authorize the certificate.

clientId
Type: string

The client ID.

cognitoIdentityPoolId
Type: string

The ID of the Amazon Cognito identity pool.

deviceCertificateArn
Type: string

The ARN of the identified device certificate.

deviceCertificateId
Type: string

The ID of the certificate attached to the resource.

iamRoleArn
Type: string

The ARN of the IAM role that has overly permissive actions.

issuerCertificateIdentifier
Type: IssuerCertificateIdentifier structure

The issuer certificate identifier.

policyVersionIdentifier
Type: PolicyVersionIdentifier structure

The version of the policy associated with the resource.

roleAliasArn
Type: string

The ARN of the role alias that has overly permissive actions.

ResourceNotFoundException

Description

The specified resource does not exist.

Members
message
Type: string

The message for the exception.

ResourceRegistrationFailureException

Description

The resource registration failed.

Members
message
Type: string

The message for the exception.

RetryCriteria

Description

The criteria that determines how many retries are allowed for each failure type for a job.

Members
failureType
Required: Yes
Type: string

The type of job execution failures that can initiate a job retry.

numberOfRetries
Required: Yes
Type: int

The number of retries allowed for a failure type for the job.

RoleAliasDescription

Description

Role alias description.

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The UNIX timestamp of when the role alias was created.

credentialDurationSeconds
Type: int

The number of seconds for which the credential is valid.

lastModifiedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The UNIX timestamp of when the role alias was last modified.

owner
Type: string

The role alias owner.

roleAlias
Type: string

The role alias.

roleAliasArn
Type: string

The ARN of the role alias.

roleArn
Type: string

The role ARN.

S3Action

Description

Describes an action to write data to an Amazon S3 bucket.

Members
bucketName
Required: Yes
Type: string

The Amazon S3 bucket.

cannedAcl
Type: string

The Amazon S3 canned ACL that controls access to the object identified by the object key. For more information, see S3 canned ACLs.

key
Required: Yes
Type: string

The object key. For more information, see Actions, resources, and condition keys for Amazon S3.

roleArn
Required: Yes
Type: string

The ARN of the IAM role that grants access.

S3Destination

Description

Describes the location of updated firmware in S3.

Members
bucket
Type: string

The S3 bucket that contains the updated firmware.

prefix
Type: string

The S3 prefix.

S3Location

Description

The S3 location.

Members
bucket
Type: string

The S3 bucket.

key
Type: string

The S3 key.

version
Type: string

The S3 bucket version.

SalesforceAction

Description

Describes an action to write a message to a Salesforce IoT Cloud Input Stream.

Members
token
Required: Yes
Type: string

The token used to authenticate access to the Salesforce IoT Cloud Input Stream. The token is available from the Salesforce IoT Cloud platform after creation of the Input Stream.

url
Required: Yes
Type: string

The URL exposed by the Salesforce IoT Cloud Input Stream. The URL is available from the Salesforce IoT Cloud platform after creation of the Input Stream.

ScheduledAuditMetadata

Description

Information about the scheduled audit.

Members
dayOfMonth
Type: string

The day of the month on which the scheduled audit is run (if the frequency is "MONTHLY"). If days 29-31 are specified, and the month does not have that many days, the audit takes place on the "LAST" day of the month.

dayOfWeek
Type: string

The day of the week on which the scheduled audit is run (if the frequency is "WEEKLY" or "BIWEEKLY").

frequency
Type: string

How often the scheduled audit occurs.

scheduledAuditArn
Type: string

The ARN of the scheduled audit.

scheduledAuditName
Type: string

The name of the scheduled audit.

ScheduledJobRollout

Description

Displays the next seven maintenance window occurrences and their start times.

Members
startTime
Type: string

Displays the start times of the next seven maintenance window occurrences.

SchedulingConfig

Description

Specifies the date and time that a job will begin the rollout of the job document to all devices in the target group. Additionally, you can specify the end behavior for each job execution when it reaches the scheduled end time.

Members
endBehavior
Type: string

Specifies the end behavior for all job executions after a job reaches the selected endTime. If endTime is not selected when creating the job, then endBehavior does not apply.

endTime
Type: string

The time a job will stop rollout of the job document to all devices in the target group for a job. The endTime must take place no later than two years from the current time and be scheduled a minimum of thirty minutes from the current time. The minimum duration between startTime and endTime is thirty minutes. The maximum duration between startTime and endTime is two years. The date and time format for the endTime is YYYY-MM-DD for the date and HH:MM for the time.

For more information on the syntax for endTime when using an API command or the Command Line Interface, see Timestamp.

maintenanceWindows
Type: Array of MaintenanceWindow structures

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.

startTime
Type: string

The time a job will begin rollout of the job document to all devices in the target group for a job. The startTime can be scheduled up to a year in advance and must be scheduled a minimum of thirty minutes from the current time. The date and time format for the startTime is YYYY-MM-DD for the date and HH:MM for the time.

For more information on the syntax for startTime when using an API command or the Command Line Interface, see Timestamp.

SecurityProfileIdentifier

Description

Identifying information for a Device Defender security profile.

Members
arn
Required: Yes
Type: string

The ARN of the security profile.

name
Required: Yes
Type: string

The name you've given to the security profile.

SecurityProfileTarget

Description

A target to which an alert is sent when a security profile behavior is violated.

Members
arn
Required: Yes
Type: string

The ARN of the security profile.

SecurityProfileTargetMapping

Description

Information about a security profile and the target associated with it.

Members
securityProfileIdentifier
Type: SecurityProfileIdentifier structure

Information that identifies the security profile.

target
Type: SecurityProfileTarget structure

Information about the target (thing group) associated with the security profile.

ServerCertificateConfig

Description

The server certificate configuration.

Members
enableOCSPCheck
Type: boolean

A Boolean value that indicates whether Online Certificate Status Protocol (OCSP) server certificate check is enabled or not.

For more information, see Configuring OCSP server-certificate stapling in domain configuration from Amazon Web Services IoT Core Developer Guide.

ServerCertificateSummary

Description

An object that contains information about a server certificate.

Members
serverCertificateArn
Type: string

The ARN of the server certificate.

serverCertificateStatus
Type: string

The status of the server certificate.

serverCertificateStatusDetail
Type: string

Details that explain the status of the server certificate.

ServiceQuotaExceededException

Description

A limit has been exceeded.

Members
message
Type: string

ServiceUnavailableException

Description

The service is temporarily unavailable.

Members
message
Type: string

The message for the exception.

SigV4Authorization

Description

For more information, see Signature Version 4 signing process.

Members
roleArn
Required: Yes
Type: string

The ARN of the signing role.

serviceName
Required: Yes
Type: string

The service name to use while signing with Sig V4.

signingRegion
Required: Yes
Type: string

The signing region.

SigningProfileParameter

Description

Describes the code-signing profile.

Members
certificateArn
Type: string

Certificate ARN.

certificatePathOnDevice
Type: string

The location of the code-signing certificate on your device.

platform
Type: string

The hardware platform of your device.

SnsAction

Description

Describes an action to publish to an Amazon SNS topic.

Members
messageFormat
Type: string

(Optional) The message format of the message to publish. 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 https://docs.aws.amazon.com/sns/latest/dg/json-formats.html refer to their official documentation.

roleArn
Required: Yes
Type: string

The ARN of the IAM role that grants access.

targetArn
Required: Yes
Type: string

The ARN of the SNS topic.

SqlParseException

Description

The Rule-SQL expression can't be parsed correctly.

Members
message
Type: string

The message for the exception.

SqsAction

Description

Describes an action to publish data to an Amazon SQS queue.

Members
queueUrl
Required: Yes
Type: string

The URL of the Amazon SQS queue.

roleArn
Required: Yes
Type: string

The ARN of the IAM role that grants access.

useBase64
Type: boolean

Specifies whether to use Base64 encoding.

StartSigningJobParameter

Description

Information required to start a signing job.

Members
destination
Type: Destination structure

The location to write the code-signed file.

signingProfileName
Type: string

The code-signing profile name.

signingProfileParameter
Type: SigningProfileParameter structure

Describes the code-signing profile.

StatisticalThreshold

Description

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.

Members
statistic
Type: string

The percentile that resolves to a threshold value by which compliance with a behavior is determined. Metrics are collected over the specified period (durationSeconds) from all reporting devices in your account and statistical ranks are calculated. Then, the measurements from a device are collected over the same period. If the accumulated measurements from the device fall above or below (comparisonOperator) the value associated with the percentile specified, then the device is considered to be in compliance with the behavior, otherwise a violation occurs.

Statistics

Description

A map of key-value pairs for all supported statistics. For issues with missing or unexpected values for this API, consult Fleet indexing troubleshooting guide.

Members
average
Type: double

The average of the aggregated field values.

count
Type: int

The count of things that match the query string criteria and contain a valid aggregation field value.

maximum
Type: double

The maximum aggregated field value.

minimum
Type: double

The minimum aggregated field value.

stdDeviation
Type: double

The standard deviation of the aggregated field values.

sum
Type: double

The sum of the aggregated field values.

sumOfSquares
Type: double

The sum of the squares of the aggregated field values.

variance
Type: double

The variance of the aggregated field values.

StepFunctionsAction

Description

Starts execution of a Step Functions state machine.

Members
executionNamePrefix
Type: string

(Optional) A name will be given to the state machine execution consisting of this prefix followed by a UUID. Step Functions automatically creates a unique name for each state machine execution if one is not provided.

roleArn
Required: Yes
Type: string

The ARN of the role that grants IoT permission to start execution of a state machine ("Action":"states:StartExecution").

stateMachineName
Required: Yes
Type: string

The name of the Step Functions state machine whose execution will be started.

Stream

Description

Describes a group of files that can be streamed.

Members
fileId
Type: int

The ID of a file associated with a stream.

streamId
Type: string

The stream ID.

StreamFile

Description

Represents a file to stream.

Members
fileId
Type: int

The file ID.

s3Location
Type: S3Location structure

The location of the file in S3.

StreamInfo

Description

Information about a stream.

Members
createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the stream was created.

description
Type: string

The description of the stream.

files
Type: Array of StreamFile structures

The files to stream.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the stream was last updated.

roleArn
Type: string

An IAM role IoT assumes to access your S3 files.

streamArn
Type: string

The stream ARN.

streamId
Type: string

The stream ID.

streamVersion
Type: int

The stream version.

StreamSummary

Description

A summary of a stream.

Members
description
Type: string

A description of the stream.

streamArn
Type: string

The stream ARN.

streamId
Type: string

The stream ID.

streamVersion
Type: int

The stream version.

Tag

Description

A set of key/value pairs that are used to manage the resource.

Members
Key
Required: Yes
Type: string

The tag's key.

Value
Type: string

The tag's value.

TaskAlreadyExistsException

Description

This exception occurs if you attempt to start a task with the same task-id as an existing task but with a different clientRequestToken.

Members
message
Type: string

TaskStatistics

Description

Statistics for the checks performed during the audit.

Members
canceledChecks
Type: int

The number of checks that did not run because the audit was canceled.

compliantChecks
Type: int

The number of checks that found compliant resources.

failedChecks
Type: int

The number of checks.

inProgressChecks
Type: int

The number of checks in progress.

nonCompliantChecks
Type: int

The number of checks that found noncompliant resources.

totalChecks
Type: int

The number of checks in this audit.

waitingForDataCollectionChecks
Type: int

The number of checks waiting for data collection.

TaskStatisticsForAuditCheck

Description

Provides summary counts of how many tasks for findings are in a particular state. This information is included in the response from DescribeAuditMitigationActionsTask.

Members
canceledFindingsCount
Type: long (int|float)

The number of findings to which the mitigation action task was canceled when applied.

failedFindingsCount
Type: long (int|float)

The number of findings for which at least one of the actions failed when applied.

skippedFindingsCount
Type: long (int|float)

The number of findings skipped because of filter conditions provided in the parameters to the command.

succeededFindingsCount
Type: long (int|float)

The number of findings for which all mitigation actions succeeded when applied.

totalFindingsCount
Type: long (int|float)

The total number of findings to which a task is being applied.

TermsAggregation

Description

Performs an aggregation that will return a list of buckets. The list of buckets is a ranked list of the number of occurrences of an aggregation field value.

Members
maxBuckets
Type: int

The number of buckets to return in the response. Default to 10.

ThingAttribute

Description

The properties of the thing, including thing name, thing type name, and a list of thing attributes.

Members
attributes
Type: Associative array of custom strings keys (AttributeName) to strings

A list of thing attributes which are name-value pairs.

thingArn
Type: string

The thing ARN.

thingName
Type: string

The name of the thing.

thingTypeName
Type: string

The name of the thing type, if the thing has been associated with a type.

version
Type: long (int|float)

The version of the thing record in the registry.

ThingConnectivity

Description

The connectivity status of the thing.

Members
connected
Type: boolean

True if the thing is connected to the Amazon Web Services IoT Core service; false if it is not connected.

disconnectReason
Type: string

The reason why the client is disconnected. If the thing has been disconnected for approximately an hour, the disconnectReason value might be missing.

timestamp
Type: long (int|float)

The epoch time (in milliseconds) when the thing last connected or disconnected. If the thing has been disconnected for approximately an hour, the time value might be missing.

ThingDocument

Description

The thing search index document.

Members
attributes
Type: Associative array of custom strings keys (AttributeName) to strings

The attributes.

connectivity
Type: ThingConnectivity structure

Indicates whether the thing is connected to the Amazon Web Services IoT Core service.

deviceDefender
Type: string

Contains Device Defender data.

For more information about Device Defender, see Device Defender.

shadow
Type: string

The unnamed shadow and named shadow.

For more information about shadows, see IoT Device Shadow service.

thingGroupNames
Type: Array of strings

Thing group names.

thingId
Type: string

The thing ID.

thingName
Type: string

The thing name.

thingTypeName
Type: string

The thing type name.

ThingGroupDocument

Description

The thing group search index document.

Members
attributes
Type: Associative array of custom strings keys (AttributeName) to strings

The thing group attributes.

parentGroupNames
Type: Array of strings

Parent group names.

thingGroupDescription
Type: string

The thing group description.

thingGroupId
Type: string

The thing group ID.

thingGroupName
Type: string

The thing group name.

ThingGroupIndexingConfiguration

Description

Thing group indexing configuration.

Members
customFields
Type: Array of Field structures

A list of thing group fields to index. This list cannot contain any managed fields. Use the GetIndexingConfiguration API to get a list of managed fields.

Contains custom field names and their data type.

managedFields
Type: Array of Field structures

Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.

You can't modify managed fields by updating fleet indexing configuration.

thingGroupIndexingMode
Required: Yes
Type: string

Thing group indexing mode.

ThingGroupMetadata

Description

Thing group metadata.

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The UNIX timestamp of when the thing group was created.

parentGroupName
Type: string

The parent thing group name.

rootToParentThingGroups
Type: Array of GroupNameAndArn structures

The root parent thing group.

ThingGroupProperties

Description

Thing group properties.

Members
attributePayload
Type: AttributePayload structure

The thing group attributes in JSON format.

thingGroupDescription
Type: string

The thing group description.

ThingIndexingConfiguration

Description

The thing indexing configuration. For more information, see Managing Thing Indexing.

Members
customFields
Type: Array of Field structures

Contains custom field names and their data type.

deviceDefenderIndexingMode
Type: string

Device Defender indexing mode. Valid values are:

  • VIOLATIONS – Your thing index contains Device Defender violations. To enable Device Defender indexing, deviceDefenderIndexingMode must not be set to OFF.

  • OFF - Device Defender indexing is disabled.

For more information about Device Defender violations, see Device Defender Detect.

filter
Type: IndexingFilter structure

Provides additional selections for named shadows and geolocation data.

To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in namedShadowNames filter.

To add geolocation data to your fleet indexing configuration:

  • If you store geolocation data in a class/unnamed shadow, set thingIndexingMode to be REGISTRY_AND_SHADOW and specify your geolocation data in geoLocations filter.

  • If you store geolocation data in a named shadow, set namedShadowIndexingMode to be ON, add the shadow name in namedShadowNames filter, and specify your geolocation data in geoLocations filter. For more information, see Managing fleet indexing.

managedFields
Type: Array of Field structures

Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.

You can't modify managed fields by updating fleet indexing configuration.

namedShadowIndexingMode
Type: string

Named shadow indexing mode. Valid values are:

  • ON – Your thing index contains named shadow. To enable thing named shadow indexing, namedShadowIndexingMode must not be set to OFF.

  • OFF - Named shadow indexing is disabled.

For more information about Shadows, see IoT Device Shadow service.

thingConnectivityIndexingMode
Type: string

Thing connectivity indexing mode. Valid values are:

  • STATUS – Your thing index contains connectivity status. To enable thing connectivity indexing, thingIndexMode must not be set to OFF.

  • OFF - Thing connectivity status indexing is disabled.

thingIndexingMode
Required: Yes
Type: string

Thing indexing mode. Valid values are:

  • REGISTRY – Your thing index contains registry data only.

  • REGISTRY_AND_SHADOW - Your thing index contains registry and shadow data.

  • OFF - Thing indexing is disabled.

ThingTypeDefinition

Description

The definition of the thing type, including thing type name and description.

Members
thingTypeArn
Type: string

The thing type ARN.

thingTypeMetadata
Type: ThingTypeMetadata structure

The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when it was deprecated.

thingTypeName
Type: string

The name of the thing type.

thingTypeProperties
Type: ThingTypeProperties structure

The ThingTypeProperties for the thing type.

ThingTypeMetadata

Description

The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when time was deprecated.

Members
creationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the thing type was created.

deprecated
Type: boolean

Whether the thing type is deprecated. If true, no new things could be associated with this type.

deprecationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the thing type was deprecated.

ThingTypeProperties

Description

The ThingTypeProperties contains information about the thing type including: a thing type description, and a list of searchable thing attribute names.

Members
searchableAttributes
Type: Array of strings

A list of searchable thing attribute names.

thingTypeDescription
Type: string

The description of the thing type.

ThrottlingException

Description

The rate exceeds the limit.

Members
message
Type: string

The message for the exception.

TimeoutConfig

Description

Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to TIMED_OUT.

Members
inProgressTimeoutInMinutes
Type: long (int|float)

Specifies the amount of time, in minutes, this device has to finish execution of this job. The timeout interval can be anywhere between 1 minute and 7 days (1 to 10080 minutes). The in progress timer can't be updated and will apply to all job executions for the job. Whenever a job execution remains in the IN_PROGRESS status for longer than this interval, the job execution will fail and switch to the terminal TIMED_OUT status.

TimestreamAction

Description

The Timestream rule action writes attributes (measures) from an MQTT message into an Amazon Timestream table. For more information, see the Timestream topic rule action documentation.

Members
databaseName
Required: Yes
Type: string

The name of an Amazon Timestream database.

dimensions
Required: Yes
Type: Array of TimestreamDimension structures

Metadata attributes of the time series that are written in each measure record.

roleArn
Required: Yes
Type: string

The ARN of the role that grants permission to write to the Amazon Timestream database table.

tableName
Required: Yes
Type: string

The name of the database table into which to write the measure records.

timestamp
Type: TimestreamTimestamp structure

Specifies an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column.

You can use this property to specify the value and the precision of the Timestream record's timestamp. You can specify a value from the message payload or a value computed by a substitution template.

If omitted, the topic rule action assigns the timestamp, in milliseconds, at the time it processed the rule.

TimestreamDimension

Description

Metadata attributes of the time series that are written in each measure record.

Members
name
Required: Yes
Type: string

The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.

Dimensions cannot be named: measure_name, measure_value, or time. These names are reserved. Dimension names cannot start with ts_ or measure_value and they cannot contain the colon (:) character.

value
Required: Yes
Type: string

The value to write in this column of the database record.

TimestreamTimestamp

Description

Describes how to interpret an application-defined timestamp value from an MQTT message payload and the precision of that value.

Members
unit
Required: Yes
Type: string

The precision of the timestamp value that results from the expression described in value.

Valid values: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. The default is MILLISECONDS.

value
Required: Yes
Type: string

An expression that returns a long epoch time value.

TlsConfig

Description

An object that specifies the TLS configuration for a domain.

Members
securityPolicy
Type: string

The security policy for a domain configuration. For more information, see Security policies in the Amazon Web Services IoT Core developer guide.

TlsContext

Description

Specifies the TLS context to use for the test authorizer request.

Members
serverName
Type: string

The value of the serverName key in a TLS authorization request.

TopicRule

Description

Describes a rule.

Members
actions
Type: Array of Action structures

The actions associated with the rule.

awsIotSqlVersion
Type: string

The version of the SQL rules engine to use when evaluating the rule.

createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the rule was created.

description
Type: string

The description of the rule.

errorAction
Type: Action structure

The action to perform when an error occurs.

ruleDisabled
Type: boolean

Specifies whether the rule is disabled.

ruleName
Type: string

The name of the rule.

sql
Type: string

The SQL statement used to query the topic. When using a SQL query with multiple lines, be sure to escape the newline characters.

TopicRuleDestination

Description

A topic rule destination.

Members
arn
Type: string

The topic rule destination URL.

createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the topic rule destination was created.

httpUrlProperties

Properties of the HTTP URL.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the topic rule destination was last updated.

status
Type: string

The status of the topic rule destination. Valid values are:

IN_PROGRESS

A topic rule destination was created but has not been confirmed. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

ENABLED

Confirmation was completed, and traffic to this destination is allowed. You can set status to DISABLED by calling UpdateTopicRuleDestination.

DISABLED

Confirmation was completed, and traffic to this destination is not allowed. You can set status to ENABLED by calling UpdateTopicRuleDestination.

ERROR

Confirmation could not be completed, for example if the confirmation timed out. You can call GetTopicRuleDestination for details about the error. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

statusReason
Type: string

Additional details or reason why the topic rule destination is in the current status.

vpcProperties
Type: VpcDestinationProperties structure

Properties of the virtual private cloud (VPC) connection.

TopicRuleDestinationConfiguration

Description

Configuration of the topic rule destination.

Members
httpUrlConfiguration

Configuration of the HTTP URL.

vpcConfiguration
Type: VpcDestinationConfiguration structure

Configuration of the virtual private cloud (VPC) connection.

TopicRuleDestinationSummary

Description

Information about the topic rule destination.

Members
arn
Type: string

The topic rule destination ARN.

createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the topic rule destination was created.

httpUrlSummary
Type: HttpUrlDestinationSummary structure

Information about the HTTP URL.

lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the topic rule destination was last updated.

status
Type: string

The status of the topic rule destination. Valid values are:

IN_PROGRESS

A topic rule destination was created but has not been confirmed. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

ENABLED

Confirmation was completed, and traffic to this destination is allowed. You can set status to DISABLED by calling UpdateTopicRuleDestination.

DISABLED

Confirmation was completed, and traffic to this destination is not allowed. You can set status to ENABLED by calling UpdateTopicRuleDestination.

ERROR

Confirmation could not be completed, for example if the confirmation timed out. You can call GetTopicRuleDestination for details about the error. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

statusReason
Type: string

The reason the topic rule destination is in the current status.

vpcDestinationSummary
Type: VpcDestinationSummary structure

Information about the virtual private cloud (VPC) connection.

TopicRuleListItem

Description

Describes a rule.

Members
createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time the rule was created.

ruleArn
Type: string

The rule ARN.

ruleDisabled
Type: boolean

Specifies whether the rule is disabled.

ruleName
Type: string

The name of the rule.

topicPattern
Type: string

The pattern for the topic names that apply.

TopicRulePayload

Description

Describes a rule.

Members
actions
Required: Yes
Type: Array of Action structures

The actions associated with the rule.

awsIotSqlVersion
Type: string

The version of the SQL rules engine to use when evaluating the rule.

description
Type: string

The description of the rule.

errorAction
Type: Action structure

The action to take when an error occurs.

ruleDisabled
Type: boolean

Specifies whether the rule is disabled.

sql
Required: Yes
Type: string

The SQL statement used to query the topic. For more information, see IoT SQL Reference in the IoT Developer Guide.

TransferAlreadyCompletedException

Description

You can't revert the certificate transfer because the transfer is already complete.

Members
message
Type: string

The message for the exception.

TransferConflictException

Description

You can't transfer the certificate because authorization policies are still attached.

Members
message
Type: string

The message for the exception.

TransferData

Description

Data used to transfer a certificate to an Amazon Web Services account.

Members
acceptDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the transfer was accepted.

rejectDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the transfer was rejected.

rejectReason
Type: string

The reason why the transfer was rejected.

transferDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date the transfer took place.

transferMessage
Type: string

The transfer message.

UnauthorizedException

Description

You are not authorized to perform this operation.

Members
message
Type: string

The message for the exception.

UpdateCACertificateParams

Description

Parameters to define a mitigation action that changes the state of the CA certificate to inactive.

Members
action
Required: Yes
Type: string

The action that you want to apply to the CA certificate. The only supported value is DEACTIVATE.

UpdateDeviceCertificateParams

Description

Parameters to define a mitigation action that changes the state of the device certificate to inactive.

Members
action
Required: Yes
Type: string

The action that you want to apply to the device certificate. The only supported value is DEACTIVATE.

UserProperty

Description

A key-value pair that you define in the header. Both the key and the value are either literal strings or valid substitution templates.

Members
key
Required: Yes
Type: string

A key to be specified in UserProperty.

value
Required: Yes
Type: string

A value to be specified in UserProperty.

ValidationError

Description

Information about an error found in a behavior specification.

Members
errorMessage
Type: string

The description of an error found in the behaviors.

ValidationException

Description

The request is not valid.

Members
message
Type: string

VersionConflictException

Description

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

Members
message
Type: string

The message for the exception.

VersionUpdateByJobsConfig

Description

Configuration to manage IoT Job's package version reporting. If configured, Jobs updates the thing's reserved named shadow with the package version information up on successful job completion.

Note: For each job, the destinationPackageVersions attribute has to be set with the correct data for Jobs to report to the thing shadow.

Members
enabled
Type: boolean

Indicates whether the Job is enabled or not.

roleArn
Type: string

The Amazon Resource Name (ARN) of the role that grants permission to the IoT jobs service to update the reserved named shadow when the job successfully completes.

VersionsLimitExceededException

Description

The number of policy versions exceeds the limit.

Members
message
Type: string

The message for the exception.

ViolationEvent

Description

Information about a Device Defender security profile behavior violation.

Members
behavior
Type: Behavior structure

The behavior that was violated.

metricValue
Type: MetricValue structure

The value of the metric (the measurement).

securityProfileName
Type: string

The name of the security profile whose behavior was violated.

thingName
Type: string

The name of the thing responsible for the violation event.

verificationState
Type: string

The verification state of the violation (detect alarm).

verificationStateDescription
Type: string

The description of the verification state of the violation.

violationEventAdditionalInfo

The details of a violation event.

violationEventTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the violation event occurred.

violationEventType
Type: string

The type of violation event.

violationId
Type: string

The ID of the violation event.

ViolationEventAdditionalInfo

Description

The details of a violation event.

Members
confidenceLevel
Type: string

The sensitivity of anomalous behavior evaluation. Can be Low, Medium, or High.

ViolationEventOccurrenceRange

Description

Specifies the time period of which violation events occurred between.

Members
endTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end date and time of a time period in which violation events occurred.

startTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start date and time of a time period in which violation events occurred.

VpcDestinationConfiguration

Description

The configuration information for a virtual private cloud (VPC) destination.

Members
roleArn
Required: Yes
Type: string

The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).

securityGroups
Type: Array of strings

The security groups of the VPC destination.

subnetIds
Required: Yes
Type: Array of strings

The subnet IDs of the VPC destination.

vpcId
Required: Yes
Type: string

The ID of the VPC.

VpcDestinationProperties

Description

The properties of a virtual private cloud (VPC) destination.

Members
roleArn
Type: string

The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).

securityGroups
Type: Array of strings

The security groups of the VPC destination.

subnetIds
Type: Array of strings

The subnet IDs of the VPC destination.

vpcId
Type: string

The ID of the VPC.

VpcDestinationSummary

Description

The summary of a virtual private cloud (VPC) destination.

Members
roleArn
Type: string

The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).

securityGroups
Type: Array of strings

The security groups of the VPC destination.

subnetIds
Type: Array of strings

The subnet IDs of the VPC destination.

vpcId
Type: string

The ID of the VPC.