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

CreateSubscriptionDefinition

Creates a subscription definition. You can provide the initial version of the subscription definition now or use CreateSubscriptionDefinitionVersion later.

URI: POST /greengrass/definition/subscriptions

Produces: application/json

CLI:

aws greengrass create-subscription-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": { "Subscriptions": [ { "Id": "string", "Source": "string", "Subject": "string", "Target": "string" } ] }, "tags": { "additionalProperty0": "string", "additionalProperty1": "string", "additionalProperty2": "string" }, "AmznClientToken": "string" }

Parameters:

CreateSubscriptionDefinitionRequestBody

where used: body; required: true

{ "Name": "string", "InitialVersion": { "Subscriptions": [ { "Id": "string", "Source": "string", "Subject": "string", "Target": "string" } ] }, "tags": { "additionalProperty0": "string", "additionalProperty1": "string", "additionalProperty2": "string" } }

schema:

Name

The name of the subscription definition.

type: string

InitialVersion

Information about a subscription definition version.

type: object

Subscriptions

A list of subscriptions.

type: array

items: Subscription

Subscription

Information about a subscription.

type: object

required: ["Id", "Source", "Subject", "Target"]

Id

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

type: string

Source

The source of the subscription. Can be a thing ARN, the ARN of a Lambda function alias (recommended) or version, a connector ARN, 'cloud' (which represents AWS IoT), or 'GGShadowService'. If you specify a Lambda function, this ARN should match the ARN used to add the function to the Greengrass group.

type: string

Subject

The MQTT topic used to route the message.

type: string

Target

Where the message is sent. Can be a thing ARN, the ARN of a Lambda function alias (recommended) or version, a connector ARN, 'cloud' (which represents AWS IoT), or 'GGShadowService'. If you specify a Lambda function, this ARN should match the ARN used to add the function to the Greengrass group.

type: string

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 (CreateSubscriptionDefinitionResponse)

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