CreateSoftwareUpdateJob - AWS IoT Greengrass

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.

GeneralError

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

GeneralError

{ "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