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
, "Document" :String
, "DocumentSource" :String
, "JobArn" :String
, "JobExecutionsRetryConfig" :JobExecutionsRetryConfig
, "JobExecutionsRolloutConfig" :JobExecutionsRolloutConfig
, "JobTemplateId" :String
, "MaintenanceWindows" :[ MaintenanceWindow, ... ]
, "PresignedUrlConfig" :PresignedUrlConfig
, "Tags" :[ Tag, ... ]
, "TimeoutConfig" :TimeoutConfig
} }
YAML
Type: AWS::IoT::JobTemplate Properties: AbortConfig:
AbortConfig
Description: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
Update requires: Replacement
Document
-
The job document.
Required if you don't specify a value for
documentSource
.Required: No
Type: String
Update requires: Replacement
DocumentSource
-
An S3 link to the job document to use in the template. Required if you don't specify a value for
document
.Note If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document.
The placeholder link is of the following form:
${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key}
where bucket is your bucket name and key is the object in the bucket to which you are linking.
Required: No
Type: String
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: No interruption
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
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: List of MaintenanceWindow
Update requires: No interruption
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: List of Tag
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 toTIMED_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.