View a markdown version of this page

AWS::IoT::OTAUpdate - AWS CloudFormation

This is the new CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.

AWS::IoT::OTAUpdate

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

Requires permission to access the CreateOTAUpdate action.

Syntax

To declare this entity in your CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::IoT::OTAUpdate", "Properties" : { "AdditionalParameters" : {Key: Value, ...}, "AwsJobAbortConfig" : AwsJobAbortConfig, "AwsJobExecutionsRolloutConfig" : AwsJobExecutionsRolloutConfig, "AwsJobPresignedUrlConfig" : AwsJobPresignedUrlConfig, "AwsJobTimeoutConfig" : AwsJobTimeoutConfig, "Description" : String, "Files" : [ OTAUpdateFile, ... ], "OtaUpdateId" : String, "Protocols" : [ String, ... ], "RoleArn" : String, "Tags" : [ Tag, ... ], "Targets" : [ String, ... ], "TargetSelection" : String } }

Properties

AdditionalParameters

A collection of name/value pairs

Required: No

Type: Object of String

Pattern: ^.+$

Maximum: 4096

Update requires: Replacement

AwsJobAbortConfig

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

Required: No

Type: AwsJobAbortConfig

Update requires: Replacement

AwsJobExecutionsRolloutConfig

Configuration for the rollout of OTA updates.

Required: No

Type: AwsJobExecutionsRolloutConfig

Update requires: Replacement

AwsJobPresignedUrlConfig

Configuration information for pre-signed URLs. Valid when protocols contains HTTP.

Required: No

Type: AwsJobPresignedUrlConfig

Update requires: Replacement

AwsJobTimeoutConfig

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.

Required: No

Type: AwsJobTimeoutConfig

Update requires: Replacement

Description

A description of the OTA update.

Required: No

Type: String

Pattern: ^[^\p{C}]+$

Maximum: 2028

Update requires: Replacement

Files

Property description not available.

Required: Yes

Type: Array of OTAUpdateFile

Minimum: 1

Update requires: Replacement

OtaUpdateId

The OTA update ID.

Required: Yes

Type: String

Pattern: ^[a-zA-Z0-9_-]+$

Minimum: 1

Maximum: 128

Update requires: Replacement

Protocols

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.

Required: No

Type: Array of String

Allowed values: MQTT | HTTP

Minimum: 1

Maximum: 2

Update requires: Replacement

RoleArn

Property description not available.

Required: No

Type: String

Minimum: 20

Maximum: 2048

Update requires: Replacement

Tags

Property description not available.

Required: No

Type: Array of Tag

Update requires: No interruption

Targets

The targets of the OTA update.

Required: Yes

Type: Array of String

Minimum: 1

Update requires: Replacement

TargetSelection

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

Required: No

Type: String

Allowed values: CONTINUOUS | SNAPSHOT

Update requires: Replacement

Return values

Ref

Fn::GetAtt

CreationDate

The date when the OTA update was created.

LastModifiedDate

The date when the OTA update was last updated.

OtaUpdateArn

The OTA update ARN.

OtaUpdateStatus

The status of the OTA update.