View a markdown version of this page

AWS::IoT::Job - 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::Job

Creates a job.

Requires permission to access the CreateJob action.

Syntax

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

JSON

{ "Type" : "AWS::IoT::Job", "Properties" : { "AbortConfig" : AbortConfig, "Description" : String, "DestinationPackageVersions" : [ String, ... ], "Document" : String, "DocumentParameters" : {Key: Value, ...}, "DocumentSource" : String, "JobExecutionsRetryConfig" : JobExecutionsRetryConfig, "JobExecutionsRolloutConfig" : JobExecutionsRolloutConfig, "JobId" : String, "JobTemplateArn" : String, "PresignedUrlConfig" : PresignedUrlConfig, "SchedulingConfig" : SchedulingConfig, "Tags" : [ Tag, ... ], "Targets" : [ String, ... ], "TargetSelection" : String, "TimeoutConfig" : TimeoutConfig } }

Properties

AbortConfig

Configuration for criteria to abort the job.

Required: No

Type: AbortConfig

Update requires: No interruption

Description

A short text description of the job.

Required: No

Type: String

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

Minimum: 1

Maximum: 2028

Update requires: No interruption

DestinationPackageVersions

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

Required: No

Type: Array of String

Minimum: 1

Maximum: 1600

Update requires: Replacement

Document

Property description not available.

Required: No

Type: String

Minimum: 0

Maximum: 32768

Update requires: Replacement

DocumentParameters

A key-value map that pairs the patterns that need to be replaced in a managed template job document schema. You can use the description of each key as a guidance to specify the inputs during runtime when creating a job.

Note

documentParameters can only be used when creating jobs from AWS managed templates. This parameter can't be used with custom job templates or to create jobs from them.

Required: No

Type: Object of String

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

Minimum: 1

Maximum: 30720

Update requires: Replacement

DocumentSource

Property description not available.

Required: No

Type: String

Minimum: 1

Maximum: 1350

Update requires: Replacement

JobExecutionsRetryConfig

The configuration for the criteria to retry the 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: No interruption

JobId

The unique identifier you assigned to this job when it was created.

Required: Yes

Type: String

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

Minimum: 1

Maximum: 64

Update requires: Replacement

JobTemplateArn

The ARN of the job template.

Required: No

Type: String

Pattern: ^arn:[!-~]+$

Minimum: 1

Maximum: 1600

Update requires: Replacement

PresignedUrlConfig

Configuration for pre-signed S3 URLs.

Required: No

Type: PresignedUrlConfig

Update requires: No interruption

SchedulingConfig

Property description not available.

Required: No

Type: SchedulingConfig

Update requires: Replacement

Tags

Property description not available.

Required: No

Type: Array of Tag

Update requires: No interruption

Targets

A list of IoT things and thing groups to which the job should be sent.

Required: Yes

Type: Array of String

Maximum: 2048

Minimum: 0 | 1

Update requires: Replacement

TargetSelection

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 device when the thing representing the device is added to a target group, even after the job was completed by all things originally in the group.

Note

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.

Required: No

Type: String

Allowed values: CONTINUOUS | SNAPSHOT

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: No interruption

Return values

Ref

Fn::GetAtt

Arn

Property description not available.

CreatedAt

The time, in seconds since the epoch, when the job was created.