AWS::IoT::JobTemplate - AWS CloudFormation

AWS::IoT::JobTemplate

Represents a job template.

Syntax

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

JSON

{ "Type" : "AWS::IoT::JobTemplate", "Properties" : { "AbortConfig" : AbortConfig, "Description" : String, "DestinationPackageVersions" : [ String, ... ], "Document" : String, "DocumentSource" : String, "JobArn" : String, "JobExecutionsRetryConfig" : JobExecutionsRetryConfig, "JobExecutionsRolloutConfig" : JobExecutionsRolloutConfig, "JobTemplateId" : String, "MaintenanceWindows" : [ MaintenanceWindow, ... ], "PresignedUrlConfig" : PresignedUrlConfig, "Tags" : [ Tag, ... ], "TimeoutConfig" : TimeoutConfig } }

Properties

AbortConfig

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

Required: No

Type: AbortConfig

Update requires: Replacement

Description

A description of the job template.

Required: Yes

Type: String

Pattern: [^\p{C}]+

Maximum: 2028

Update requires: Replacement

DestinationPackageVersions

The package version Amazon Resource Names (ARNs) that are installed on the device’s reserved named shadow ($package) when the job successfully completes.

Note: Up to 25 package version ARNS are allowed.

Required: No

Type: Array of String

Update requires: Replacement

Document

The job document.

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

Required: No

Type: String

Maximum: 32768

Update requires: Replacement

DocumentSource

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.

Required: No

Type: String

Minimum: 1

Maximum: 1350

Update requires: Replacement

JobArn

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

Required: No

Type: String

Update requires: Replacement

JobExecutionsRetryConfig

Allows you to create the criteria to retry a job.

Required: No

Type: JobExecutionsRetryConfig

Update requires: Replacement

JobExecutionsRolloutConfig

Allows you to create a staged rollout of a job.

Required: No

Type: JobExecutionsRolloutConfig

Update requires: Replacement

JobTemplateId

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

Required: Yes

Type: String

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

Minimum: 1

Maximum: 64

Update requires: Replacement

MaintenanceWindows

An optional configuration within the SchedulingConfig to setup a recurring maintenance window with a predetermined start time and duration for the rollout of a job document to all devices in a target group for a job.

Required: No

Type: Array of MaintenanceWindow

Update requires: Replacement

PresignedUrlConfig

Configuration for pre-signed S3 URLs.

Required: No

Type: PresignedUrlConfig

Update requires: Replacement

Tags

Metadata that can be used to manage the job template.

Required: No

Type: Array of Tag

Maximum: 50

Update requires: Replacement

TimeoutConfig

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

Update requires: Replacement

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the job template Id. For example:

{ "Ref": "MyJobTemplate-12345" }

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

Arn

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