IoT / Client / create_job_template
create_job_template#
- IoT.Client.create_job_template(**kwargs)#
- Creates a job template. - Requires permission to access the CreateJobTemplate action. - See also: AWS API Documentation - Request Syntax- response = client.create_job_template( jobTemplateId='string', jobArn='string', documentSource='string', document='string', description='string', presignedUrlConfig={ 'roleArn': 'string', 'expiresInSec': 123 }, jobExecutionsRolloutConfig={ 'maximumPerMinute': 123, 'exponentialRate': { 'baseRatePerMinute': 123, 'incrementFactor': 123.0, 'rateIncreaseCriteria': { 'numberOfNotifiedThings': 123, 'numberOfSucceededThings': 123 } } }, abortConfig={ 'criteriaList': [ { 'failureType': 'FAILED'|'REJECTED'|'TIMED_OUT'|'ALL', 'action': 'CANCEL', 'thresholdPercentage': 123.0, 'minNumberOfExecutedThings': 123 }, ] }, timeoutConfig={ 'inProgressTimeoutInMinutes': 123 }, tags=[ { 'Key': 'string', 'Value': 'string' }, ], jobExecutionsRetryConfig={ 'criteriaList': [ { 'failureType': 'FAILED'|'TIMED_OUT'|'ALL', 'numberOfRetries': 123 }, ] }, maintenanceWindows=[ { 'startTime': 'string', 'durationInMinutes': 123 }, ], destinationPackageVersions=[ 'string', ] ) - Parameters:
- jobTemplateId (string) – - [REQUIRED] - A unique identifier for the job template. We recommend using a UUID. Alpha-numeric characters, “-”, and “_” are valid for use here. 
- jobArn (string) – The ARN of the job to use as the basis for the job template. 
- documentSource (string) – - 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. 
- document (string) – The job document. Required if you don’t specify a value for - documentSource.
- description (string) – - [REQUIRED] - A description of the job document. 
- presignedUrlConfig (dict) – - Configuration for pre-signed S3 URLs. - roleArn (string) – - The ARN of an IAM role that grants permission to download files from the S3 bucket where the job data/updates are stored. The role must also grant permission for IoT to download the files. - Warning- For information about addressing the confused deputy problem, see cross-service confused deputy prevention in the Amazon Web Services IoT Core developer guide. 
- expiresInSec (integer) – - How long (in seconds) pre-signed URLs are valid. Valid values are 60 - 3600, the default value is 3600 seconds. Pre-signed URLs are generated when Jobs receives an MQTT request for the job document. 
 
- jobExecutionsRolloutConfig (dict) – - Allows you to create a staged rollout of a job. - maximumPerMinute (integer) – - The maximum number of things that will be notified of a pending job, per minute. This parameter allows you to create a staged rollout. 
- exponentialRate (dict) – - The rate of increase for a job rollout. This parameter allows you to define an exponential rate for a job rollout. - baseRatePerMinute (integer) – [REQUIRED] - The minimum number of things that will be notified of a pending job, per minute at the start of job rollout. This parameter allows you to define the initial rate of rollout. 
- incrementFactor (float) – [REQUIRED] - The exponential factor to increase the rate of rollout for a job. - Amazon Web Services IoT Core supports up to one digit after the decimal (for example, 1.5, but not 1.55). 
- rateIncreaseCriteria (dict) – [REQUIRED] - The criteria to initiate the increase in rate of rollout for a job. - numberOfNotifiedThings (integer) – - The threshold for number of notified things that will initiate the increase in rate of rollout. 
- numberOfSucceededThings (integer) – - The threshold for number of succeeded things that will initiate the increase in rate of rollout. 
 
 
 
- abortConfig (dict) – - The criteria that determine when and how a job abort takes place. - criteriaList (list) – [REQUIRED] - The list of criteria that determine when and how to abort the job. - (dict) – - The criteria that determine when and how a job abort takes place. - failureType (string) – [REQUIRED] - The type of job execution failures that can initiate a job abort. 
- action (string) – [REQUIRED] - The type of job action to take to initiate the job abort. 
- thresholdPercentage (float) – [REQUIRED] - The minimum percentage of job execution failures that must occur to initiate the job abort. - Amazon Web Services IoT Core supports up to two digits after the decimal (for example, 10.9 and 10.99, but not 10.999). 
- minNumberOfExecutedThings (integer) – [REQUIRED] - The minimum number of things which must receive job execution notifications before the job can be aborted. 
 
 
 
- timeoutConfig (dict) – - 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.- inProgressTimeoutInMinutes (integer) – - Specifies the amount of time, in minutes, this device has to finish execution of this job. The timeout interval can be anywhere between 1 minute and 7 days (1 to 10080 minutes). The in progress timer can’t be updated and will apply to all job executions for the job. Whenever a job execution remains in the IN_PROGRESS status for longer than this interval, the job execution will fail and switch to the terminal - TIMED_OUTstatus.
 
- tags (list) – - Metadata that can be used to manage the job template. - (dict) – - A set of key/value pairs that are used to manage the resource. - Key (string) – [REQUIRED] - The tag’s key. 
- Value (string) – - The tag’s value. 
 
 
- jobExecutionsRetryConfig (dict) – - Allows you to create the criteria to retry a job. - criteriaList (list) – [REQUIRED] - The list of criteria that determines how many retries are allowed for each failure type for a job. - (dict) – - The criteria that determines how many retries are allowed for each failure type for a job. - failureType (string) – [REQUIRED] - The type of job execution failures that can initiate a job retry. 
- numberOfRetries (integer) – [REQUIRED] - The number of retries allowed for a failure type for the job. 
 
 
 
- maintenanceWindows (list) – - Allows you to configure an optional maintenance window for the rollout of a job document to all devices in the target group for a job. - (dict) – - An optional configuration within the - SchedulingConfigto 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.- startTime (string) – [REQUIRED] - Displays the start time of the next maintenance window. 
- durationInMinutes (integer) – [REQUIRED] - Displays the duration of the next maintenance window. 
 
 
- destinationPackageVersions (list) – - The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes. - **Note:**The following Length Constraints relates to a single string. Up to five strings are allowed. - (string) – 
 
 
- Return type:
- dict 
- Returns:
- Response Syntax- { 'jobTemplateArn': 'string', 'jobTemplateId': 'string' } - Response Structure- (dict) – - jobTemplateArn (string) – - The ARN of the job template. 
- jobTemplateId (string) – - The unique identifier of the job template. 
 
 
 - Exceptions- IoT.Client.exceptions.InvalidRequestException
- IoT.Client.exceptions.ResourceNotFoundException
- IoT.Client.exceptions.ConflictException
- IoT.Client.exceptions.LimitExceededException
- IoT.Client.exceptions.ThrottlingException
- IoT.Client.exceptions.InternalFailureException