openapi: 3.0.0
info:
version: 2015-05-28
x-release: v4
title: AWS IoT Accept Certificate Transfer Jobs API
description: '
IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the Amazon Web Services cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each device (Registry), configure logging, and create and manage policies and credentials to authenticate devices.
The service endpoints that expose this API are listed in Amazon Web Services IoT Core Endpoints and Quotas. You must use the endpoint for the region that has the resources you want to access.
The service name used by Amazon Web Services Signature Version 4 to sign the request is: execute-api.
For more information about how IoT works, see the Developer Guide.
For information about how to use the credentials provider for IoT, see Authorizing Direct Calls to Amazon Web Services Services.
' x-logo: url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png backgroundColor: '#FFFFFF' termsOfService: https://aws.amazon.com/service-terms/ contact: name: Mike Ralphson email: mike.ralphson@gmail.com url: https://github.com/mermade/aws2openapi x-twitter: PermittedSoc license: name: Apache 2.0 License url: http://www.apache.org/licenses/ x-providerName: amazonaws.com x-serviceName: iot x-aws-signingName: iot x-origin: - contentType: application/json url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/iot-2015-05-28.normal.json converter: url: https://github.com/mermade/aws2openapi version: 1.0.0 x-apisguru-driver: external x-apiClientRegistration: url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct x-apisguru-categories: - cloud x-preferred: true servers: - url: http://iot.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The AWS IoT multi-region endpoint - url: https://iot.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The AWS IoT multi-region endpoint - url: http://iot.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The AWS IoT endpoint for China (Beijing) and China (Ningxia) - url: https://iot.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The AWS IoT endpoint for China (Beijing) and China (Ningxia) security: - hmac: [] tags: - name: Jobs paths: /jobs/{jobId}/targets: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' post: operationId: AssociateTargetsWithJob description: 'Associates a group with a continuous job. The following criteria must be met:
The job must have been created with the targetSelection field set to "CONTINUOUS".
The job status must currently be "IN_PROGRESS".
The total number of targets associated with a job must not exceed 100.
Requires permission to access the AssociateTargetsWithJob action.
' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AssociateTargetsWithJobResponse' '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' '481': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '482': description: LimitExceededException content: application/json: schema: $ref: '#/components/schemas/LimitExceededException' '483': description: ThrottlingException content: application/json: schema: $ref: '#/components/schemas/ThrottlingException' '484': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' parameters: - name: jobId in: path required: true description: The unique identifier you assigned to this job when it was created. schema: type: string pattern: '[a-zA-Z0-9_-]+' minLength: 1 maxLength: 64 - name: namespaceId in: query required: false description:The namespace used to indicate that a job is a customer-managed job.
When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.
$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/
The namespaceId feature is in public preview.
Cancels a job.
Requires permission to access the CancelJob action.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CancelJobResponse' '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' '481': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '482': description: ThrottlingException content: application/json: schema: $ref: '#/components/schemas/ThrottlingException' '483': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' '484': description: LimitExceededException content: application/json: schema: $ref: '#/components/schemas/LimitExceededException' parameters: - name: jobId in: path required: true description: The unique identifier you assigned to this job when it was created. schema: type: string pattern: '[a-zA-Z0-9_-]+' minLength: 1 maxLength: 64 - name: force in: query required: false description:(Optional) If true job executions with status "IN_PROGRESS" and "QUEUED" are canceled, otherwise only job executions with status "QUEUED" are canceled. The default is false.
Canceling a job which is "IN_PROGRESS", will cause a device which is executing the job to be unable to update the job execution status. Use caution and ensure that each device executing a job which is canceled is able to recover to a valid state.
schema: type: boolean requestBody: required: true content: application/json: schema: type: object properties: reasonCode: description: (Optional)A reason code string that explains why the job was canceled. type: string pattern: '[\p{Upper}\p{Digit}_]+' maxLength: 128 comment: description: An optional comment string describing why the job was canceled. type: string pattern: '[^\p{C}]+' maxLength: 2028 summary: Amazon IoT Device Management Cancel Job x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Jobs /jobs/{jobId}: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' put: operationId: CreateJob description:Creates a job.
Requires permission to access the CreateJob action.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateJobResponse' '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' '481': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '482': description: ResourceAlreadyExistsException content: application/json: schema: $ref: '#/components/schemas/ResourceAlreadyExistsException' '483': description: LimitExceededException content: application/json: schema: $ref: '#/components/schemas/LimitExceededException' '484': description: ThrottlingException content: application/json: schema: $ref: '#/components/schemas/ThrottlingException' '485': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' parameters: - name: jobId in: path required: true description: A job identifier which must be unique for your Amazon Web Services account. We recommend using a UUID. Alpha-numeric characters, "-" and "_" are valid for use here. schema: type: string pattern: '[a-zA-Z0-9_-]+' minLength: 1 maxLength: 64 requestBody: required: true content: application/json: schema: type: object required: - targets properties: targets: description: A list of things and thing groups to which the job should be sent. type: array items: $ref: '#/components/schemas/TargetArn' minItems: 1 documentSource: description:An S3 link to the job document. Required if you don't specify a value for document.
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.
documentSource.
type: string
maxLength: 32768
description:
description: A short text description of the job.
type: string
pattern: '[^\p{C}]+'
maxLength: 2028
presignedUrlConfig:
description: Configuration for pre-signed S3 URLs.
type: object
properties:
roleArn:
allOf:
- $ref: '#/components/schemas/RoleArn'
- description: The ARN of an IAM role that grants 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.
For information about addressing the confused deputy problem, see cross-service confused deputy prevention in the Amazon Web Services IoT Core developer guide.
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 thing when the thing is added to a target group, even after the job was completed by all things originally in the group.
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.
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.
type: object
properties:
inProgressTimeoutInMinutes:
allOf:
- $ref: '#/components/schemas/InProgressTimeoutInMinutes'
- description: 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_OUT status.
tags:
description: Metadata which can be used to manage the job.
type: array
items:
$ref: '#/components/schemas/Tag'
namespaceId:
description: The namespace used to indicate that a job is a customer-managed job.
When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.
$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/
The namespaceId feature is in public preview.
Parameters of an Amazon Web Services managed template that you can specify to create the job document.
documentParameters can only be used when creating jobs from Amazon Web Services managed templates. This parameter can't be used with custom job templates or to create jobs from them.
startTime can be scheduled up to a year in advance and must be scheduled a minimum of thirty minutes from the current time. The date and time format for the startTime is YYYY-MM-DD for the date and HH:MM for the time.
endTime:
allOf:
- $ref: '#/components/schemas/StringDateTime'
- description: The time a job will stop rollout of the job document to all devices in the target group for a job. The endTime must take place no later than two years from the current time and be scheduled a minimum of thirty minutes from the current time. The minimum duration between startTime and endTime is thirty minutes. The maximum duration between startTime and endTime is two years. The date and time format for the endTime is YYYY-MM-DD for the date and HH:MM for the time.
endBehavior:
allOf:
- $ref: '#/components/schemas/JobEndBehavior'
- description: Specifies the end behavior for all job executions after a job reaches the selected endTime. If endTime is not selected when creating the job, then endBehavior does not apply.
maintenanceWindows:
allOf:
- $ref: '#/components/schemas/MaintenanceWindows'
- description: 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.
summary: Amazon IoT Device Management Create Job
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
tags:
- Jobs
delete:
operationId: DeleteJob
description: Deletes a job and its related job executions.
Deleting a job may take time, depending on the number of job executions created for the job and various other factors. While the job is being deleted, the status of the job will be shown as "DELETION_IN_PROGRESS". Attempting to delete or cancel a job whose status is already "DELETION_IN_PROGRESS" will result in an error.
Only 10 jobs may have status "DELETION_IN_PROGRESS" at the same time, or a LimitExceededException will occur.
Requires permission to access the DeleteJob action.
responses: '200': description: Success '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' '481': description: InvalidStateTransitionException content: application/json: schema: $ref: '#/components/schemas/InvalidStateTransitionException' '482': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '483': description: LimitExceededException content: application/json: schema: $ref: '#/components/schemas/LimitExceededException' '484': description: ThrottlingException content: application/json: schema: $ref: '#/components/schemas/ThrottlingException' '485': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' parameters: - name: jobId in: path required: true description:The ID of the job to be deleted.
After a job deletion is completed, you may reuse this jobId when you create a new job. However, this is not recommended, and you must ensure that your devices are not using the jobId to refer to the deleted job.
schema: type: string pattern: '[a-zA-Z0-9_-]+' minLength: 1 maxLength: 64 - name: force in: query required: false description:(Optional) When true, you can delete a job which is "IN_PROGRESS". Otherwise, you can only delete a job which is in a terminal state ("COMPLETED" or "CANCELED") or an exception will occur. The default is false.
Deleting a job which is "IN_PROGRESS", will cause a device which is executing the job to be unable to access job information or update the job execution status. Use caution and ensure that each device executing a job which is deleted is able to recover to a valid state.
The namespace used to indicate that a job is a customer-managed job.
When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.
$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/
The namespaceId feature is in public preview.
Describes a job.
Requires permission to access the DescribeJob action.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DescribeJobResponse' '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' '481': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '482': description: ThrottlingException content: application/json: schema: $ref: '#/components/schemas/ThrottlingException' '483': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' parameters: - name: jobId in: path required: true description: The unique identifier you assigned to this job when it was created. schema: type: string pattern: '[a-zA-Z0-9_-]+' minLength: 1 maxLength: 64 summary: Amazon IoT Device Management Describe Job x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Jobs patch: operationId: UpdateJob description:Updates supported fields of the specified job.
Requires permission to access the UpdateJob action.
responses: '200': description: Success '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' '481': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '482': description: ThrottlingException content: application/json: schema: $ref: '#/components/schemas/ThrottlingException' '483': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' parameters: - name: jobId in: path required: true description: The ID of the job to be updated. schema: type: string pattern: '[a-zA-Z0-9_-]+' minLength: 1 maxLength: 64 - name: namespaceId in: query required: false description:The namespace used to indicate that a job is a customer-managed job.
When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.
$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/
The namespaceId feature is in public preview.
The ARN of an IAM role that grants 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.
For information about addressing the confused deputy problem, see cross-service confused deputy prevention in the Amazon Web Services IoT Core developer guide.
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.
type: object
properties:
inProgressTimeoutInMinutes:
allOf:
- $ref: '#/components/schemas/InProgressTimeoutInMinutes'
- description: 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_OUT status.
jobExecutionsRetryConfig:
description: The configuration that determines how many retries are allowed for each failure type for a job.
type: object
properties:
criteriaList:
allOf:
- $ref: '#/components/schemas/RetryCriteriaList'
- description: The list of criteria that determines how many retries are allowed for each failure type for a job.
summary: Amazon IoT Device Management Update Job
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
tags:
- Jobs
/jobs/{jobId}/job-document:
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
get:
operationId: GetJobDocument
description: Gets a job document.
Requires permission to access the GetJobDocument action.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/GetJobDocumentResponse' '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' '481': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '482': description: ThrottlingException content: application/json: schema: $ref: '#/components/schemas/ThrottlingException' '483': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' parameters: - name: jobId in: path required: true description: The unique identifier you assigned to this job when it was created. schema: type: string pattern: '[a-zA-Z0-9_-]+' minLength: 1 maxLength: 64 summary: Amazon IoT Device Management Get Job Document x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Jobs /jobs/{jobId}/things: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' get: operationId: ListJobExecutionsForJob description:Lists the job executions for a job.
Requires permission to access the ListJobExecutionsForJob action.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListJobExecutionsForJobResponse' '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' '481': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '482': description: ThrottlingException content: application/json: schema: $ref: '#/components/schemas/ThrottlingException' '483': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' parameters: - name: jobId in: path required: true description: The unique identifier you assigned to this job when it was created. schema: type: string pattern: '[a-zA-Z0-9_-]+' minLength: 1 maxLength: 64 - name: status in: query required: false description: The status of the job. schema: type: string enum: - QUEUED - IN_PROGRESS - SUCCEEDED - FAILED - TIMED_OUT - REJECTED - REMOVED - CANCELED - name: maxResults in: query required: false description: The maximum number of results to be returned per request. schema: type: integer minimum: 1 maximum: 250 - name: nextToken in: query required: false description: The token to retrieve the next set of results. schema: type: string summary: Amazon IoT Device Management List Job Executions for Job x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Jobs /jobs: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' get: operationId: ListJobs description:Lists jobs.
Requires permission to access the ListJobs action.
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListJobsResponse' '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' '481': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '482': description: ThrottlingException content: application/json: schema: $ref: '#/components/schemas/ThrottlingException' '483': description: ServiceUnavailableException content: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableException' parameters: - name: status in: query required: false description: An optional filter that lets you search for jobs that have the specified status. schema: type: string enum: - IN_PROGRESS - CANCELED - COMPLETED - DELETION_IN_PROGRESS - SCHEDULED - name: targetSelection in: query required: false description: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 thing when the thing is added to a target group, even after the job was completed by all things originally in the group.
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.
The namespace used to indicate that a job is a customer-managed job.
When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.
$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/
The namespaceId feature is in public preview.
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 thing when the thing is added to a target group, even after the job was completed by all things originally in the group.
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.
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.
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.
IN_PROGRESS, CANCELED, DELETION_IN_PROGRESS or COMPLETED. '
forceCanceled:
allOf:
- $ref: '#/components/schemas/Forced'
- description: Will be true if the job was canceled with the optional force parameter set to true.
reasonCode:
allOf:
- $ref: '#/components/schemas/ReasonCode'
- description: If the job was updated, provides the reason code for the update.
comment:
allOf:
- $ref: '#/components/schemas/Comment'
- description: If the job was updated, describes the reason for the update.
targets:
allOf:
- $ref: '#/components/schemas/JobTargets'
- description: A list of IoT things and thing groups to which the job should be sent.
description:
allOf:
- $ref: '#/components/schemas/JobDescription'
- description: A short text description of the job.
presignedUrlConfig:
allOf:
- $ref: '#/components/schemas/PresignedUrlConfig'
- description: Configuration for pre-signed S3 URLs.
jobExecutionsRolloutConfig:
allOf:
- $ref: '#/components/schemas/JobExecutionsRolloutConfig'
- description: Allows you to create a staged rollout of a job.
abortConfig:
allOf:
- $ref: '#/components/schemas/AbortConfig'
- description: Configuration for criteria to abort the job.
createdAt:
allOf:
- $ref: '#/components/schemas/DateType'
- description: The time, in seconds since the epoch, when the job was created.
lastUpdatedAt:
allOf:
- $ref: '#/components/schemas/DateType'
- description: The time, in seconds since the epoch, when the job was last updated.
completedAt:
allOf:
- $ref: '#/components/schemas/DateType'
- description: The time, in seconds since the epoch, when the job was completed.
jobProcessDetails:
allOf:
- $ref: '#/components/schemas/JobProcessDetails'
- description: Details about the job process.
timeoutConfig:
allOf:
- $ref: '#/components/schemas/TimeoutConfig'
- description: 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.
namespaceId:
allOf:
- $ref: '#/components/schemas/NamespaceId'
- description: The namespace used to indicate that a job is a customer-managed job.
When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.
$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/
The namespaceId feature is in public preview.
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.
documentParameters can only be used when creating jobs from Amazon Web Services managed templates. This parameter can't be used with custom job templates or to create jobs from them.
Job object contains details about a job.
ScheduledJobRollout:
type: object
properties:
startTime:
allOf:
- $ref: '#/components/schemas/StringDateTime'
- description: Displays the start times of the next seven maintenance window occurrences.
description: Displays the next seven maintenance window occurrences and their start times.
AbortConfig:
type: object
required:
- criteriaList
properties:
criteriaList:
allOf:
- $ref: '#/components/schemas/AbortCriteriaList'
- description: The list of criteria that determine when and how to abort the job.
description: The criteria that determine when and how a job abort takes place.
JobExecutionSummaryForJob:
type: object
properties:
thingArn:
allOf:
- $ref: '#/components/schemas/ThingArn'
- description: The ARN of the thing on which the job execution is running.
jobExecutionSummary:
allOf:
- $ref: '#/components/schemas/JobExecutionSummary'
- description: Contains a subset of information about a job execution.
description: Contains a summary of information about job executions for a specific job.
ExponentialRolloutRate:
type: object
required:
- baseRatePerMinute
- incrementFactor
- rateIncreaseCriteria
properties:
baseRatePerMinute:
allOf:
- $ref: '#/components/schemas/RolloutRatePerMinute'
- description: 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:
allOf:
- $ref: '#/components/schemas/IncrementFactor'
- description: 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: allOf: - $ref: '#/components/schemas/RateIncreaseCriteria' - description: The criteria to initiate the increase in rate of rollout for a job. description: Allows you to create an exponential rate of rollout for a job. RetryCriteriaList: type: array items: $ref: '#/components/schemas/RetryCriteria' minItems: 1 maxItems: 2 TimeoutConfig: type: object properties: inProgressTimeoutInMinutes: allOf: - $ref: '#/components/schemas/InProgressTimeoutInMinutes' - description: 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 terminalTIMED_OUT status.
description: 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.
AbortCriteriaList:
type: array
items:
$ref: '#/components/schemas/AbortCriteria'
minItems: 1
Forced:
type: boolean
JobProcessDetails:
type: object
properties:
processingTargets:
allOf:
- $ref: '#/components/schemas/ProcessingTargetNameList'
- description: The target devices to which the job execution is being rolled out. This value will be null after the job execution has finished rolling out to all the target devices.
numberOfCanceledThings:
allOf:
- $ref: '#/components/schemas/CanceledThings'
- description: The number of things that cancelled the job.
numberOfSucceededThings:
allOf:
- $ref: '#/components/schemas/SucceededThings'
- description: The number of things which successfully completed the job.
numberOfFailedThings:
allOf:
- $ref: '#/components/schemas/FailedThings'
- description: The number of things that failed executing the job.
numberOfRejectedThings:
allOf:
- $ref: '#/components/schemas/RejectedThings'
- description: The number of things that rejected the job.
numberOfQueuedThings:
allOf:
- $ref: '#/components/schemas/QueuedThings'
- description: The number of things that are awaiting execution of the job.
numberOfInProgressThings:
allOf:
- $ref: '#/components/schemas/InProgressThings'
- description: The number of things currently executing the job.
numberOfRemovedThings:
allOf:
- $ref: '#/components/schemas/RemovedThings'
- description: The number of things that are no longer scheduled to execute the job because they have been deleted or have been removed from the group that was a target of the job.
numberOfTimedOutThings:
allOf:
- $ref: '#/components/schemas/TimedOutThings'
- description: The number of things whose job execution status is TIMED_OUT.
description: The job process details.
RemovedThings:
type: integer
ThingGroupId:
type: string
pattern: '[a-zA-Z0-9\-]+'
minLength: 1
maxLength: 128
TimedOutThings:
type: integer
RetryCriteria:
type: object
required:
- failureType
- numberOfRetries
properties:
failureType:
allOf:
- $ref: '#/components/schemas/RetryableFailureType'
- description: The type of job execution failures that can initiate a job retry.
numberOfRetries:
allOf:
- $ref: '#/components/schemas/NumberOfRetries'
- description: The number of retries allowed for a failure type for the job.
description: The criteria that determines how many retries are allowed for each failure type for a job.
InvalidRequestException: {}
ReasonCode:
type: string
pattern: '[\p{Upper}\p{Digit}_]+'
maxLength: 128
CronExpression:
type: string
minLength: 1
maxLength: 256
CreateJobResponse:
type: object
properties:
jobArn:
allOf:
- $ref: '#/components/schemas/JobArn'
- description: The job ARN.
jobId:
allOf:
- $ref: '#/components/schemas/JobId'
- description: The unique identifier you assigned to this job.
description:
allOf:
- $ref: '#/components/schemas/JobDescription'
- description: The job description.
AbortAction:
type: string
enum:
- CANCEL
CancelJobResponse:
type: object
properties:
jobArn:
allOf:
- $ref: '#/components/schemas/JobArn'
- description: The job ARN.
jobId:
allOf:
- $ref: '#/components/schemas/JobId'
- description: The unique identifier you assigned to this job when it was created.
description:
allOf:
- $ref: '#/components/schemas/JobDescription'
- description: A short text description of the job.
JobExecutionStatus:
type: string
enum:
- QUEUED
- IN_PROGRESS
- SUCCEEDED
- FAILED
- TIMED_OUT
- REJECTED
- REMOVED
- CANCELED
AssociateTargetsWithJobResponse:
type: object
properties:
jobArn:
allOf:
- $ref: '#/components/schemas/JobArn'
- description: An ARN identifying the job.
jobId:
allOf:
- $ref: '#/components/schemas/JobId'
- description: The unique identifier you assigned to this job when it was created.
description:
allOf:
- $ref: '#/components/schemas/JobDescription'
- description: A short text description of the job.
SchedulingConfig:
type: object
properties:
startTime:
allOf:
- $ref: '#/components/schemas/StringDateTime'
- description: The time a job will begin rollout of the job document to all devices in the target group for a job. The startTime can be scheduled up to a year in advance and must be scheduled a minimum of thirty minutes from the current time. The date and time format for the startTime is YYYY-MM-DD for the date and HH:MM for the time.
endTime:
allOf:
- $ref: '#/components/schemas/StringDateTime'
- description: The time a job will stop rollout of the job document to all devices in the target group for a job. The endTime must take place no later than two years from the current time and be scheduled a minimum of thirty minutes from the current time. The minimum duration between startTime and endTime is thirty minutes. The maximum duration between startTime and endTime is two years. The date and time format for the endTime is YYYY-MM-DD for the date and HH:MM for the time.
endBehavior:
allOf:
- $ref: '#/components/schemas/JobEndBehavior'
- description: Specifies the end behavior for all job executions after a job reaches the selected endTime. If endTime is not selected when creating the job, then endBehavior does not apply.
maintenanceWindows:
allOf:
- $ref: '#/components/schemas/MaintenanceWindows'
- description: 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.
description: Specifies the date and time that a job will begin the rollout of the job document to all devices in the target group. Additionally, you can specify the end behavior for each job execution when it reaches the scheduled end time.
JobExecutionsRetryConfig:
type: object
required:
- criteriaList
properties:
criteriaList:
allOf:
- $ref: '#/components/schemas/RetryCriteriaList'
- description: The list of criteria that determines how many retries are allowed for each failure type for a job.
description: The configuration that determines how many retries are allowed for each failure type for a job.
Tag:
type: object
required:
- Key
properties:
Key:
allOf:
- $ref: '#/components/schemas/TagKey'
- description: The tag's key.
Value:
allOf:
- $ref: '#/components/schemas/TagValue'
- description: The tag's value.
description: A set of key/value pairs that are used to manage the resource.
FailedThings:
type: integer
MaintenanceWindows:
type: array
items:
$ref: '#/components/schemas/MaintenanceWindow'
MaintenanceWindow:
type: object
required:
- startTime
- durationInMinutes
properties:
startTime:
allOf:
- $ref: '#/components/schemas/CronExpression'
- description: Displays the start time of the next maintenance window.
durationInMinutes:
allOf:
- $ref: '#/components/schemas/DurationInMinutes'
- description: Displays the duration of the next maintenance window.
description: 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.
NumberOfThings:
type: integer
minimum: 1
JobDocumentSource:
type: string
minLength: 1
maxLength: 1350
JobExecutionFailureType:
type: string
enum:
- FAILED
- REJECTED
- TIMED_OUT
- ALL
InProgressTimeoutInMinutes:
type: integer
RejectedThings:
type: integer
JobExecutionSummaryForJobList:
type: array
items:
$ref: '#/components/schemas/JobExecutionSummaryForJob'
AbortCriteria:
type: object
required:
- failureType
- action
- thresholdPercentage
- minNumberOfExecutedThings
properties:
failureType:
allOf:
- $ref: '#/components/schemas/JobExecutionFailureType'
- description: The type of job execution failures that can initiate a job abort.
action:
allOf:
- $ref: '#/components/schemas/AbortAction'
- description: The type of job action to take to initiate the job abort.
thresholdPercentage:
allOf:
- $ref: '#/components/schemas/AbortThresholdPercentage'
- description: 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: allOf: - $ref: '#/components/schemas/MinimumNumberOfExecutedThings' - description: The minimum number of things which must receive job execution notifications before the job can be aborted. description: The criteria that determine when and how a job abort takes place. ResourceNotFoundException: {} JobEndBehavior: type: string enum: - STOP_ROLLOUT - CANCEL - FORCE_CANCEL JobSummaryList: type: array items: $ref: '#/components/schemas/JobSummary' MaxJobExecutionsPerMin: type: integer minimum: 1 TagValue: type: string minLength: 0 maxLength: 256 RoleArn: type: string minLength: 20 maxLength: 2048 JobExecutionsRolloutConfig: type: object properties: maximumPerMinute: allOf: - $ref: '#/components/schemas/MaxJobExecutionsPerMin' - description: 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: allOf: - $ref: '#/components/schemas/ExponentialRolloutRate' - description: The rate of increase for a job rollout. This parameter allows you to define an exponential rate for a job rollout. description: Allows you to create a staged rollout of a job. CanceledThings: type: integer RateIncreaseCriteria: type: object properties: numberOfNotifiedThings: allOf: - $ref: '#/components/schemas/NumberOfThings' - description: The threshold for number of notified things that will initiate the increase in rate of rollout. numberOfSucceededThings: allOf: - $ref: '#/components/schemas/NumberOfThings' - description: The threshold for number of succeeded things that will initiate the increase in rate of rollout. description: Allows you to define a criteria to initiate the increase in rate of rollout for a job. TargetSelection: type: string enum: - CONTINUOUS - SNAPSHOT ThrottlingException: {} TagKey: type: string pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$ minLength: 1 maxLength: 128 InvalidStateTransitionException: {} DurationInMinutes: type: integer minimum: 30 maximum: 1430 LimitExceededException: {} AbortThresholdPercentage: type: number format: double maximum: 100 ThingArn: type: string JobTemplateArn: type: string pattern: ^arn:[!-~]+$ minLength: 1 maxLength: 1600 PresignedUrlConfig: type: object properties: roleArn: allOf: - $ref: '#/components/schemas/RoleArn' - description:The ARN of an IAM role that grants 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.
For information about addressing the confused deputy problem, see cross-service confused deputy prevention in the Amazon Web Services IoT Core developer guide.