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

CreateDeviceDefinition

Creates a client device definition. You can provide the initial version of the device definition now or use CreateDeviceDefinitionVersion later.

URI: POST /greengrass/definition/devices

Produces: application/json

CLI:

aws greengrass create-device-definition \ [--name <value>] \ [--initial-version <value>] \ [--tags <value>] \ [--amzn-client-token <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json format:

{ "Name": "string", "InitialVersion": { "Devices": [ { "Id": "string", "ThingArn": "string", "CertificateArn": "string", "SyncShadow": "boolean" } ] }, "tags": { "additionalProperty0": "string", "additionalProperty1": "string", "additionalProperty2": "string" }, "AmznClientToken": "string" }

Parameters:

CreateDeviceDefinitionRequestBody

Information required to create a device definition.

where used: body; required: true

{ "Name": "string", "InitialVersion": { "Devices": [ { "Id": "string", "ThingArn": "string", "CertificateArn": "string", "SyncShadow": true } ] }, "tags": { "additionalProperty0": "string", "additionalProperty1": "string", "additionalProperty2": "string" } }

schema:

Name

The name of the device definition.

type: string

InitialVersion

Information about a device definition version.

type: object

Devices

A list of client devices in the definition version.

type: array

items: Device

Device

Information about a client device.

type: object

required: ["Id", "ThingArn", "CertificateArn"]

Id

A descriptive or arbitrary ID for the client device. This value must be unique within the device definition version. Maximum length is 128 characters with the pattern [a‑zA‑Z0‑9:_‑]+.

type: string

ThingArn

The thing ARN of the client device.

type: string

CertificateArn

The ARN of the certificate associated with the client device.

type: string

SyncShadow

If true, the client device's local shadow is synced with the cloud automatically.

type: boolean

tags

The resource tags.

type: object

additionalProperties: The key-value pair for the resource tag. Type: string

X-Amzn-Client-Token

A client token used to correlate requests and responses.

where used: header; required: false

type: string

Responses:

200 (CreateDeviceDefinitionResponse)

DefinitionInformation

{ "Name": "string", "Id": "string", "Arn": "string", "LastUpdatedTimestamp": "string", "CreationTimestamp": "string", "LatestVersion": "string", "LatestVersionArn": "string" }
DefinitionInformation

Information about a definition.

type: object

Name

The name of the definition.

type: string

Id

The ID of the definition.

type: string

Arn

The ARN of the definition.

type: string

LastUpdatedTimestamp

The time, in milliseconds since the epoch, when the definition was last updated.

type: string

CreationTimestamp

The time, in milliseconds since the epoch, when the definition was created.

type: string

LatestVersion

The ID of the latest version associated with the definition.

type: string

LatestVersionArn

The ARN of the latest version associated with the definition.

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