AWS Greengrass
API Reference

CreateSubscriptionDefinition

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

URI: POST /greengrass/definition/subscriptions

Produces: application/json

CLI:

aws greengrass create-subscription-definition \ [--name <value>] \ [--initial-version <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" } ] }, "AmznClientToken": "string" }

Parameters:

CreateSubscriptionDefinitionRequestBody

where used: body; required: true

{ "Name": "string", "InitialVersion": { "Subscriptions": [ { "Id": "string", "Source": "string", "Subject": "string", "Target": "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. Max length is 128 characters with pattern [a‑zA‑Z0‑9:_‑]+.

type: string

Source

The source of the subscription. Can be a thing ARN, a Lambda function ARN, a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'.

type: string

Subject

The subject of the message.

type: string

Target

Where the message is sent to. Can be a thing ARN, a Lambda function ARN, a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'.

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 latest version of the definition.

type: string

LatestVersionArn

The ARN of the latest version of 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 containing 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