AWS IoT Greengrass Version 1 entered the extended life phase on June 30, 2023. For more information, see the AWS IoT Greengrass V1 maintenance policy. After this date, AWS IoT Greengrass V1 won't release updates that provide features, enhancements, bug fixes, or security patches. Devices that run on AWS IoT Greengrass V1 won't be disrupted and will continue to operate and to connect to the cloud. We strongly recommend that you migrate to AWS IoT Greengrass Version 2, which adds significant new features and support for additional platforms.
CreateSoftwareUpdateJob
Creates a software update for a core or group of cores (specified as an IoT thing group.) Use this to update the OTA agent and the Greengrass core software. It uses the AWS IoT Jobs feature, which provides more commands for managing a Greengrass Core software update job.
URI: POST /greengrass/updates
Produces: application/json
CLI:
aws greengrass create-software-update-job \ [--update-targets-architecture <value>] \ [--update-targets <value>] \ [--software-to-update <value>] \ [--s3-url-signer-role <value>] \ [--update-agent-log-level <value>] \ [--update-targets-operating-system <value>] \ [--amzn-client-token <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]
cli-input-json format:
{ "UpdateTargetsArchitecture": "armv6l|armv7l|x86_64|aarch64", "UpdateTargets": [ "string" ], "SoftwareToUpdate": "core|ota_agent", "S3UrlSignerRole": "string", "UpdateAgentLogLevel": "NONE|TRACE|DEBUG|VERBOSE|INFO|WARN|ERROR|FATAL", "UpdateTargetsOperatingSystem": "ubuntu|raspbian|amazon_linux|openwrt", "AmznClientToken": "string" }
Parameters:
- CreateSoftwareUpdateJobRequestBody
-
where used: body; required: true
{ "UpdateTargetsArchitecture": "armv6l|armv7l|x86_64|aarch64", "UpdateTargets": [ "string" ], "SoftwareToUpdate": "core|ota_agent", "S3UrlSignerRole": "string", "UpdateAgentLogLevel": "NONE|TRACE|DEBUG|VERBOSE|INFO|WARN|ERROR|FATAL", "UpdateTargetsOperatingSystem": "ubuntu|raspbian|amazon_linux|openwrt" }
schema:
- CreateSoftwareUpdateJobRequest
-
Request for the CreateSoftwareUpdateJob API.
type: object
required: ["UpdateTargetsArchitecture", "UpdateTargets", "SoftwareToUpdate", "S3UrlSignerRole", "UpdateTargetsOperatingSystem"]
- UpdateTargetsArchitecture
-
The architecture of the cores that are the targets of an update.
type: string
enum: ["armv6l", "armv7l", "x86_64", "aarch64"]
- UpdateTargets
-
The ARNs of the targets (IoT things or IoT thing groups) that this update is applied to.
type: array
- SoftwareToUpdate
-
The piece of software on the Greengrass core that will be updated.
type: string
enum: ["core", "ota_agent"]
- S3UrlSignerRole
-
The IAM role that Greengrass uses to create presigned URLs that point to the update artifact.
type: string
- UpdateAgentLogLevel
-
The minimum level of log statements that should be logged by the OTA agent during an update.
type: string
enum: ["NONE", "TRACE", "DEBUG", "VERBOSE", "INFO", "WARN", "ERROR", "FATAL"]
- UpdateTargetsOperatingSystem
-
The operating system of the cores that are the targets of an update.
type: string
enum: ["ubuntu", "raspbian", "amazon_linux", "openwrt"]
- X-Amzn-Client-Token
-
A client token used to correlate requests and responses.
where used: header; required: false
type: string
Responses:
- 200
-
Success.
CreateSoftwareUpdateJobResponse
{ "IotJobId": "string", "IotJobArn": "string", "PlatformSoftwareVersion": "string" }
- CreateSoftwareUpdateJobResponse
-
type: object
- IotJobId
-
The IoT job ID that corresponds to this update.
type: string
- IotJobArn
-
The IoT job ARN that corresponds to this update.
type: string
- PlatformSoftwareVersion
-
The software version installed on the device or devices after the update.
type: string
- 400
-
Invalid request.
{ "Message": "string", "ErrorDetails": [ { "DetailedErrorCode": "string", "DetailedErrorMessage": "string" } ] }
- GeneralError
-
General error information.
type: object
required: ["Message"]
- Message
-
A message that contains information about the error.
type: string
- ErrorDetails
-
A list of error details.
type: array
items: ErrorDetail
- ErrorDetail
-
Details about the error.
type: object
- DetailedErrorCode
-
A detailed error code.
type: string
- DetailedErrorMessage
-
A detailed error message.
type: string
- 500
-
Server error.
{ "Message": "string", "ErrorDetails": [ { "DetailedErrorCode": "string", "DetailedErrorMessage": "string" } ] }
- GeneralError
-
General error information.
type: object
required: ["Message"]
- Message
-
A message that contains information about the error.
type: string
- ErrorDetails
-
A list of error details.
type: array
items: ErrorDetail
- ErrorDetail
-
Details about the error.
type: object
- DetailedErrorCode
-
A detailed error code.
type: string
- DetailedErrorMessage
-
A detailed error message.
type: string