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.
AssociateSbomWithPackageVersion ( array $params = [] )
Associates the selected software bill of materials (SBOM) with a specific software package version.
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.
CreateCommand ( array $params = [] )
Creates a command.
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.
DeleteCommand ( array $params = [] )
Delete a command resource.
DeleteCommandExecution ( array $params = [] )
Delete a command execution.
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.
DisassociateSbomFromPackageVersion ( array $params = [] )
Disassociates the selected software bill of materials (SBOM) from a specific software package version.
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.
GetCommand ( array $params = [] )
Gets information about the specified command.
GetCommandExecution ( array $params = [] )
Gets information about the specific command execution on a single device.
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.
ListCommandExecutions ( array $params = [] )
List all command executions.
ListCommands ( array $params = [] )
List all commands in your account.
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.
ListPrincipalThingsV2 ( 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.
ListSbomValidationResults ( array $params = [] )
The validation results for all software bill of materials (SBOM) attached to a specific software package version.
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.
ListThingPrincipalsV2 ( 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.
UpdateCommand ( array $params = [] )
Update information about a command or mark a command for deprecation.
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.
UpdateThingType ( array $params = [] )
Updates a thing type.
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
ListCommandExecutions
ListCommands
ListCustomMetrics
ListDetectMitigationActionsExecutions
ListDetectMitigationActionsTasks
ListDimensions
ListDomainConfigurations
ListFleetMetrics
ListIndices
ListJobExecutionsForJob
ListJobExecutionsForThing
ListJobTemplates
ListJobs
ListManagedJobTemplates
ListMetricValues
ListMitigationActions
ListOTAUpdates
ListOutgoingCertificates
ListPackageVersions
ListPackages
ListPolicies
ListPolicyPrincipals
ListPrincipalPolicies
ListPrincipalThings
ListPrincipalThingsV2
ListProvisioningTemplateVersions
ListProvisioningTemplates
ListRelatedResourcesForAuditFinding
ListRoleAliases
ListSbomValidationResults
ListScheduledAudits
ListSecurityProfiles
ListSecurityProfilesForTarget
ListStreams
ListTagsForResource
ListTargetsForPolicy
ListTargetsForSecurityProfile
ListThingGroups
ListThingGroupsForThing
ListThingPrincipals
ListThingPrincipalsV2
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.

AssociateSbomWithPackageVersion

$result = $client->associateSbomWithPackageVersion([/* ... */]);
$promise = $client->associateSbomWithPackageVersionAsync([/* ... */]);

Associates the selected software bill of materials (SBOM) with a specific software package version.

Requires permission to access the AssociateSbomWithPackageVersion action.

Parameter Syntax

$result = $client->associateSbomWithPackageVersion([
    'clientToken' => '<string>',
    'packageName' => '<string>', // REQUIRED
    'sbom' => [ // REQUIRED
        's3Location' => [
            'bucket' => '<string>',
            'key' => '<string>',
            'version' => '<string>',
        ],
    ],
    '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 new software package.

sbom
Required: Yes
Type: Sbom structure

A specific software bill of matrerials associated with a software package version.

versionName
Required: Yes
Type: string

The name of the new package version.

Result Syntax

[
    'packageName' => '<string>',
    'sbom' => [
        's3Location' => [
            'bucket' => '<string>',
            'key' => '<string>',
            'version' => '<string>',
        ],
    ],
    'sbomValidationStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED',
    'versionName' => '<string>',
]

Result Details

Members
packageName
Type: string

The name of the new software package.

sbom
Type: Sbom structure

A specific software bill of matrerials associated with a software package version.

sbomValidationStatus
Type: string

The status of the initial validation for the software bill of materials against the Software Package Data Exchange (SPDX) and CycloneDX industry standard formats.

versionName
Type: string

The name of the new package version.

Errors

ThrottlingException:

The rate exceeds the limit.

ConflictException:

The request conflicts with the current state of the resource.

InternalServerException:

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

ValidationException:

The request is not valid.

ServiceQuotaExceededException:

Service quota has been exceeded.

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
    'thingPrincipalType' => 'EXCLUSIVE_THING|NON_EXCLUSIVE_THING',
]);

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.

thingPrincipalType
Type: string

The type of the relation you want to specify when you attach a principal to a thing.

  • EXCLUSIVE_THING - Attaches the specified principal to the specified thing, exclusively. The thing will be the only thing that’s attached to the principal.

  • NON_EXCLUSIVE_THING - Attaches the specified principal to the specified thing. Multiple things can be attached to the principal.

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. If this call is made multiple times using the same billing group name and configuration, the call will succeed. If this call is made with the same billing group name but different configuration a ResourceAlreadyExistsException is thrown.

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.

CreateCommand

$result = $client->createCommand([/* ... */]);
$promise = $client->createCommandAsync([/* ... */]);

Creates a command. A command contains reusable configurations that can be applied before they are sent to the devices.

Parameter Syntax

$result = $client->createCommand([
    'commandId' => '<string>', // REQUIRED
    'description' => '<string>',
    'displayName' => '<string>',
    'mandatoryParameters' => [
        [
            'defaultValue' => [
                'B' => true || false,
                'BIN' => <string || resource || Psr\Http\Message\StreamInterface>,
                'D' => <float>,
                'I' => <integer>,
                'L' => <integer>,
                'S' => '<string>',
                'UL' => '<string>',
            ],
            'description' => '<string>',
            'name' => '<string>', // REQUIRED
            'value' => [
                'B' => true || false,
                'BIN' => <string || resource || Psr\Http\Message\StreamInterface>,
                'D' => <float>,
                'I' => <integer>,
                'L' => <integer>,
                'S' => '<string>',
                'UL' => '<string>',
            ],
        ],
        // ...
    ],
    'namespace' => 'AWS-IoT|AWS-IoT-FleetWise',
    'payload' => [
        'content' => <string || resource || Psr\Http\Message\StreamInterface>,
        'contentType' => '<string>',
    ],
    'roleArn' => '<string>',
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
commandId
Required: Yes
Type: string

A unique identifier for the command. We recommend using UUID. Alpha-numeric characters, hyphens, and underscores are valid for use here.

description
Type: string

A short text decription of the command.

displayName
Type: string

The user-friendly name in the console for the command. This name doesn't have to be unique. You can update the user-friendly name after you define it.

mandatoryParameters
Type: Array of CommandParameter structures

A list of parameters that are required by the StartCommandExecution API. These parameters need to be specified only when using the AWS-IoT-FleetWise namespace. You can either specify them here or when running the command using the StartCommandExecution API.

namespace
Type: string

The namespace of the command. The MQTT reserved topics and validations will be used for command executions according to the namespace setting.

payload
Type: CommandPayload structure

The payload object for the command. You must specify this information when using the AWS-IoT namespace.

You can upload a static payload file from your local storage that contains the instructions for the device to process. The payload file can use any format. To make sure that the device correctly interprets the payload, we recommend you to specify the payload content type.

roleArn
Type: string

The IAM role that allows access to create the command.

tags
Type: Array of Tag structures

Name-value pairs that are used as metadata to manage a command.

Result Syntax

[
    'commandArn' => '<string>',
    'commandId' => '<string>',
]

Result Details

Members
commandArn
Type: string

The Amazon Resource Number (ARN) of the command. For example, arn:aws:iot:<region>:<accountid>:command/<commandId>

commandId
Type: string

The unique identifier for the command.

Errors

ValidationException:

The request is not valid.

ConflictException:

The request conflicts with the current state of the resource.

ServiceQuotaExceededException:

Service quota has been exceeded.

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

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

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([
    'applicationProtocol' => 'SECURE_MQTT|MQTT_WSS|HTTPS|DEFAULT',
    'authenticationType' => 'CUSTOM_AUTH_X509|CUSTOM_AUTH|AWS_X509|AWS_SIGV4|DEFAULT',
    'authorizerConfig' => [
        'allowAuthorizerOverride' => true || false,
        'defaultAuthorizerName' => '<string>',
    ],
    'clientCertificateConfig' => [
        'clientCertificateCallbackArn' => '<string>',
    ],
    'domainConfigurationName' => '<string>', // REQUIRED
    'domainName' => '<string>',
    'serverCertificateArns' => ['<string>', ...],
    'serverCertificateConfig' => [
        'enableOCSPCheck' => true || false,
        'ocspAuthorizedResponderArn' => '<string>',
        'ocspLambdaArn' => '<string>',
    ],
    'serviceType' => 'DATA|CREDENTIAL_PROVIDER|JOBS',
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'tlsConfig' => [
        'securityPolicy' => '<string>',
    ],
    'validationCertificateArn' => '<string>',
]);

Parameter Details

Members
applicationProtocol
Type: string

An enumerated string that specifies the application-layer protocol.

  • SECURE_MQTT - MQTT over TLS.

  • MQTT_WSS - MQTT over WebSocket.

  • HTTPS - HTTP over TLS.

  • DEFAULT - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application_layer protocol. For more information, see Device communication protocols.

authenticationType
Type: string

An enumerated string that specifies the authentication type.

  • CUSTOM_AUTH_X509 - Use custom authentication and authorization with additional details from the X.509 client certificate.

  • AWS_X509 - Use X.509 client certificates without custom authentication and authorization. For more information, see X.509 client certificates.

  • DEFAULT - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see Device communication protocols.

authorizerConfig
Type: AuthorizerConfig structure

An object that specifies the authorization service for a domain.

clientCertificateConfig
Type: ClientCertificateConfig structure

An object that specifies the client certificate configuration 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 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:

The request conflicts with the current state of the resource.

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:

The request conflicts with the current state of the resource.

InternalServerException:

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

ValidationException:

The request is not valid.

ServiceQuotaExceededException:

Service quota 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([
    'artifact' => [
        's3Location' => [
            'bucket' => '<string>',
            'key' => '<string>',
            'version' => '<string>',
        ],
    ],
    'attributes' => ['<string>', ...],
    'clientToken' => '<string>',
    'description' => '<string>',
    'packageName' => '<string>', // REQUIRED
    'recipe' => '<string>',
    'tags' => ['<string>', ...],
    'versionName' => '<string>', // REQUIRED
]);

Parameter Details

Members
artifact
Type: PackageVersionArtifact structure

The various build components created during the build process such as libraries and configuration files that make up a software package version.

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.

recipe
Type: string

The inline job document associated with a software package version used for a quick job deployment.

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:

The request conflicts with the current state of the resource.

InternalServerException:

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

ValidationException:

The request is not valid.

ServiceQuotaExceededException:

Service quota 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.

The value of credentialDurationSeconds must be less than or equal to the maximum session duration of the IAM role that the role alias references. For more information, see Modifying a role maximum session duration (Amazon Web Services API) from the Amazon Web Services Identity and Access Management User Guide.

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. If this call is made multiple times using the same thing type name and configuration, the call will succeed. If this call is made with the same thing type name but different configuration a ResourceAlreadyExistsException is thrown.

Requires permission to access the CreateThingType action.

Parameter Syntax

$result = $client->createThingType([
    'tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'thingTypeName' => '<string>', // REQUIRED
    'thingTypeProperties' => [
        'mqtt5Configuration' => [
            'propagatingAttributes' => [
                [
                    'connectionAttribute' => '<string>',
                    'thingAttribute' => '<string>',
                    'userPropertyKey' => '<string>',
                ],
                // ...
            ],
        ],
        '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.

DeleteCommand

$result = $client->deleteCommand([/* ... */]);
$promise = $client->deleteCommandAsync([/* ... */]);

Delete a command resource.

Parameter Syntax

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

Parameter Details

Members
commandId
Required: Yes
Type: string

The unique identifier of the command to be deleted.

Result Syntax

[
    'statusCode' => <integer>,
]

Result Details

Members
statusCode
Type: int

The status code for the command deletion request. The status code is in the 200 range for a successful request.

  • If the command hasn't been deprecated, or has been deprecated for a duration that is shorter than the maximum time out duration of 12 hours, when calling the DeleteCommand request, the deletion will be scheduled and a 202 status code will be returned. While the command is being deleted, it will be in a pendingDeletion state. Once the time out duration has been reached, the command will be permanently removed from your account.

  • If the command has been deprecated for a duration that is longer than the maximum time out duration of 12 hours, when calling the DeleteCommand request, the command will be deleted immediately and a 204 status code will be returned.

Errors

ValidationException:

The request is not valid.

ConflictException:

The request conflicts with the current state of the resource.

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

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

DeleteCommandExecution

$result = $client->deleteCommandExecution([/* ... */]);
$promise = $client->deleteCommandExecutionAsync([/* ... */]);

Delete a command execution.

Only command executions that enter a terminal state can be deleted from your account.

Parameter Syntax

$result = $client->deleteCommandExecution([
    'executionId' => '<string>', // REQUIRED
    'targetArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
executionId
Required: Yes
Type: string

The unique identifier of the command execution that you want to delete from your account.

targetArn
Required: Yes
Type: string

The Amazon Resource Number (ARN) of the target device for which you want to delete command executions.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ConflictException:

The request conflicts with the current state of the resource.

ValidationException:

The request is not valid.

ThrottlingException:

The rate exceeds the limit.

InternalServerException:

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

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

[
    'applicationProtocol' => 'SECURE_MQTT|MQTT_WSS|HTTPS|DEFAULT',
    'authenticationType' => 'CUSTOM_AUTH_X509|CUSTOM_AUTH|AWS_X509|AWS_SIGV4|DEFAULT',
    'authorizerConfig' => [
        'allowAuthorizerOverride' => true || false,
        'defaultAuthorizerName' => '<string>',
    ],
    'clientCertificateConfig' => [
        'clientCertificateCallbackArn' => '<string>',
    ],
    'domainConfigurationArn' => '<string>',
    'domainConfigurationName' => '<string>',
    'domainConfigurationStatus' => 'ENABLED|DISABLED',
    'domainName' => '<string>',
    'domainType' => 'ENDPOINT|AWS_MANAGED|CUSTOMER_MANAGED',
    'lastStatusChangeDate' => <DateTime>,
    'serverCertificateConfig' => [
        'enableOCSPCheck' => true || false,
        'ocspAuthorizedResponderArn' => '<string>',
        'ocspLambdaArn' => '<string>',
    ],
    'serverCertificates' => [
        [
            'serverCertificateArn' => '<string>',
            'serverCertificateStatus' => 'INVALID|VALID',
            'serverCertificateStatusDetail' => '<string>',
        ],
        // ...
    ],
    'serviceType' => 'DATA|CREDENTIAL_PROVIDER|JOBS',
    'tlsConfig' => [
        'securityPolicy' => '<string>',
    ],
]

Result Details

Members
applicationProtocol
Type: string

An enumerated string that specifies the application-layer protocol.

  • SECURE_MQTT - MQTT over TLS.

  • MQTT_WSS - MQTT over WebSocket.

  • HTTPS - HTTP over TLS.

  • DEFAULT - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application_layer protocol. For more information, see Device communication protocols.

authenticationType
Type: string

An enumerated string that specifies the authentication type.

  • CUSTOM_AUTH_X509 - Use custom authentication and authorization with additional details from the X.509 client certificate.

  • AWS_X509 - Use X.509 client certificates without custom authentication and authorization. For more information, see X.509 client certificates.

  • DEFAULT - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see Device communication protocols.

authorizerConfig
Type: AuthorizerConfig structure

An object that specifies the authorization service for a domain.

clientCertificateConfig
Type: ClientCertificateConfig structure

An object that specifies the client certificate configuration 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([
    'beforeSubstitution' => true || false,
    'jobId' => '<string>', // REQUIRED
]);

Parameter Details

Members
beforeSubstitution
Type: boolean

Provides a view of the job document before and after the substitution parameters have been resolved with their exact values.

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' => [
        'mqtt5Configuration' => [
            'propagatingAttributes' => [
                [
                    'connectionAttribute' => '<string>',
                    'thingAttribute' => '<string>',
                    'userPropertyKey' => '<string>',
                ],
                // ...
            ],
        ],
        '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, a list of searchable thing attribute names, and MQTT5 configuration.

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.

DisassociateSbomFromPackageVersion

$result = $client->disassociateSbomFromPackageVersion([/* ... */]);
$promise = $client->disassociateSbomFromPackageVersionAsync([/* ... */]);

Disassociates the selected software bill of materials (SBOM) from a specific software package version.

Requires permission to access the DisassociateSbomWithPackageVersion action.

Parameter Syntax

$result = $client->disassociateSbomFromPackageVersion([
    '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 new software package.

versionName
Required: Yes
Type: string

The name of the new package version.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

The rate exceeds the limit.

ConflictException:

The request conflicts with the current state of the resource.

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.

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.

GetCommand

$result = $client->getCommand([/* ... */]);
$promise = $client->getCommandAsync([/* ... */]);

Gets information about the specified command.

Parameter Syntax

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

Parameter Details

Members
commandId
Required: Yes
Type: string

The unique identifier of the command for which you want to retrieve information.

Result Syntax

[
    'commandArn' => '<string>',
    'commandId' => '<string>',
    'createdAt' => <DateTime>,
    'deprecated' => true || false,
    'description' => '<string>',
    'displayName' => '<string>',
    'lastUpdatedAt' => <DateTime>,
    'mandatoryParameters' => [
        [
            'defaultValue' => [
                'B' => true || false,
                'BIN' => <string || resource || Psr\Http\Message\StreamInterface>,
                'D' => <float>,
                'I' => <integer>,
                'L' => <integer>,
                'S' => '<string>',
                'UL' => '<string>',
            ],
            'description' => '<string>',
            'name' => '<string>',
            'value' => [
                'B' => true || false,
                'BIN' => <string || resource || Psr\Http\Message\StreamInterface>,
                'D' => <float>,
                'I' => <integer>,
                'L' => <integer>,
                'S' => '<string>',
                'UL' => '<string>',
            ],
        ],
        // ...
    ],
    'namespace' => 'AWS-IoT|AWS-IoT-FleetWise',
    'payload' => [
        'content' => <string || resource || Psr\Http\Message\StreamInterface>,
        'contentType' => '<string>',
    ],
    'pendingDeletion' => true || false,
    'roleArn' => '<string>',
]

Result Details

Members
commandArn
Type: string

The Amazon Resource Number (ARN) of the command. For example, arn:aws:iot:<region>:<accountid>:command/<commandId>

commandId
Type: string

The unique identifier of the command.

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

The timestamp, when the command was created.

deprecated
Type: boolean

Indicates whether the command has been deprecated.

description
Type: string

A short text description of the command.

displayName
Type: string

The user-friendly name in the console for the command.

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

The timestamp, when the command was last updated.

mandatoryParameters
Type: Array of CommandParameter structures

A list of parameters for the command created.

namespace
Type: string

The namespace of the command.

payload
Type: CommandPayload structure

The payload object that you provided for the command.

pendingDeletion
Type: boolean

Indicates whether the command is being deleted.

roleArn
Type: string

The IAM role that allows access to retrieve information about the command.

Errors

ValidationException:

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.

GetCommandExecution

$result = $client->getCommandExecution([/* ... */]);
$promise = $client->getCommandExecutionAsync([/* ... */]);

Gets information about the specific command execution on a single device.

Parameter Syntax

$result = $client->getCommandExecution([
    'executionId' => '<string>', // REQUIRED
    'includeResult' => true || false,
    'targetArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
executionId
Required: Yes
Type: string

The unique identifier for the command execution. This information is returned as a response of the StartCommandExecution API request.

includeResult
Type: boolean

Can be used to specify whether to include the result of the command execution in the GetCommandExecution API response. Your device can use this field to provide additional information about the command execution. You only need to specify this field when using the AWS-IoT namespace.

targetArn
Required: Yes
Type: string

The Amazon Resource Number (ARN) of the device on which the command execution is being performed.

Result Syntax

[
    'commandArn' => '<string>',
    'completedAt' => <DateTime>,
    'createdAt' => <DateTime>,
    'executionId' => '<string>',
    'executionTimeoutSeconds' => <integer>,
    'lastUpdatedAt' => <DateTime>,
    'parameters' => [
        '<CommandParameterName>' => [
            'B' => true || false,
            'BIN' => <string || resource || Psr\Http\Message\StreamInterface>,
            'D' => <float>,
            'I' => <integer>,
            'L' => <integer>,
            'S' => '<string>',
            'UL' => '<string>',
        ],
        // ...
    ],
    'result' => [
        '<CommandExecutionResultName>' => [
            'B' => true || false,
            'BIN' => <string || resource || Psr\Http\Message\StreamInterface>,
            'S' => '<string>',
        ],
        // ...
    ],
    'startedAt' => <DateTime>,
    'status' => 'CREATED|IN_PROGRESS|SUCCEEDED|FAILED|REJECTED|TIMED_OUT',
    'statusReason' => [
        'reasonCode' => '<string>',
        'reasonDescription' => '<string>',
    ],
    'targetArn' => '<string>',
    'timeToLive' => <DateTime>,
]

Result Details

Members
commandArn
Type: string

The Amazon Resource Number (ARN) of the command. For example, arn:aws:iot:<region>:<accountid>:command/<commandId>

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

The timestamp, when the command execution was completed.

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

The timestamp, when the command execution was created.

executionId
Type: string

The unique identifier of the command execution.

executionTimeoutSeconds
Type: long (int|float)

Specifies the amount of time in seconds that the device can take to finish a command execution. A timer starts when the command execution is created. If the command execution status is not set to another terminal state before the timer expires, it will automatically update to TIMED_OUT.

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

The timestamp, when the command execution was last updated.

parameters
Type: Associative array of custom strings keys (CommandParameterName) to CommandParameterValue structures

The list of parameters that the StartCommandExecution API used when performing the command on the device.

result
Type: Associative array of custom strings keys (CommandExecutionResultName) to CommandExecutionResult structures

The result value for the current state of the command execution. The status provides information about the progress of the command execution. The device can use the result field to share additional details about the execution such as a return value of a remote function call.

If you use the AWS-IoT-FleetWise namespace, then this field is not applicable in the API response.

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

The timestamp, when the command execution was started.

status
Type: string

The status of the command execution. After your devices receive the command and start performing the operations specified in the command, it can use the UpdateCommandExecution MQTT API to update the status information.

statusReason
Type: StatusReason structure

Your devices can use this parameter to provide additional context about the status of a command execution using a reason code and description.

targetArn
Type: string

The Amazon Resource Number (ARN) of the device on which the command execution is being performed.

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

The time to live (TTL) parameter for the GetCommandExecution API.

Errors

ValidationException:

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.

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([
    'beforeSubstitution' => true || false,
    'jobId' => '<string>', // REQUIRED
]);

Parameter Details

Members
beforeSubstitution
Type: boolean

Provides a view of the job document before and after the substitution parameters have been resolved with their exact values.

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

[
    'artifact' => [
        's3Location' => [
            'bucket' => '<string>',
            'key' => '<string>',
            'version' => '<string>',
        ],
    ],
    'attributes' => ['<string>', ...],
    'creationDate' => <DateTime>,
    'description' => '<string>',
    'errorReason' => '<string>',
    'lastModifiedDate' => <DateTime>,
    'packageName' => '<string>',
    'packageVersionArn' => '<string>',
    'recipe' => '<string>',
    'sbom' => [
        's3Location' => [
            'bucket' => '<string>',
            'key' => '<string>',
            'version' => '<string>',
        ],
    ],
    'sbomValidationStatus' => 'IN_PROGRESS|FAILED|SUCCEEDED',
    'status' => 'DRAFT|PUBLISHED|DEPRECATED',
    'versionName' => '<string>',
]

Result Details

Members
artifact
Type: PackageVersionArtifact structure

The various components that make up a software package version.

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.

recipe
Type: string

The inline job document associated with a software package version used for a quick job deployment.

sbom
Type: Sbom structure

The software bill of materials for a software package version.

sbomValidationStatus
Type: string

The status of the validation for a new software bill of materials added to a software 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