AWS::IoT::JobTemplate
Represents a job template.
Syntax
To declare this entity in your Amazon 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:AbortConfigDescription:StringDocument:StringDocumentSource:StringJobArn:StringJobExecutionsRetryConfig:JobExecutionsRetryConfigJobExecutionsRolloutConfig:JobExecutionsRolloutConfigJobTemplateId:StringMaintenanceWindows:- MaintenanceWindowPresignedUrlConfig:PresignedUrlConfigTags:- TagTimeoutConfig: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 Reffunction, Refreturns the job template Id. For example:
{ "Ref": "MyJobTemplate-12345" }
For more information about using the Reffunction, see Ref.
Fn::GetAtt
The Fn::GetAttintrinsic 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::GetAttintrinsic function, see Fn::GetAtt.