[ aws . greengrass ]
Creates a version of a subscription definition which has already been defined.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
create-subscription-definition-version
[--amzn-client-token <value>]
--subscription-definition-id <value>
[--subscriptions <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--amzn-client-token
(string)
A client token used to correlate requests and responses.
--subscription-definition-id
(string)
The ID of the subscription definition.
--subscriptions
(list)
A list of subscriptions.(structure)
Information about a subscription.
Id -> (string)
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:_-]+’’.
Source -> (string)
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’.
Subject -> (string)
The MQTT topic used to route the message.
Target -> (string)
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’.
Shorthand Syntax:
Id=string,Source=string,Subject=string,Target=string ...
JSON Syntax:
[
{
"Id": "string",
"Source": "string",
"Subject": "string",
"Target": "string"
}
...
]
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
See ‘aws help’ for descriptions of global parameters.
To create a new version of a subscription definition
The following create-subscription-definition-version
example creates a new version of a subscription definition that contains three subscriptions: a trigger notification, a temperature input, and an output status.
aws greengrass create-subscription-definition-version \
--subscription-definition-id "9d611d57-5d5d-44bd-a3b4-feccbdd69112" \
--subscriptions "[{\"Id\": \"TriggerNotification\", \"Source\": \"arn:aws:lambda:us-west-2:123456789012:function:TempMonitor:GG_TempMonitor\", \"Subject\": \"twilio/txt\", \"Target\": \"arn:aws:greengrass:us-west-2::/connectors/TwilioNotifications/versions/1\"},{\"Id\": \"TemperatureInput\", \"Source\": \"cloud\", \"Subject\": \"temperature/input\", \"Target\": \"arn:aws:lambda:us-west-2:123456789012:function:TempMonitor:GG_TempMonitor\"},{\"Id\": \"OutputStatus\", \"Source\": \"arn:aws:greengrass:us-west-2::/connectors/TwilioNotifications/versions/1\", \"Subject\": \"twilio/message/status\", \"Target\": \"cloud\"}]"
Output:
{
"Arn": "arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/subscriptions/9d611d57-5d5d-44bd-a3b4-feccbdd69112/versions/7b65dfae-50b6-4d0f-b3e0-27728bfb0620",
"CreationTimestamp": "2019-06-24T21:21:33.837Z",
"Id": "9d611d57-5d5d-44bd-a3b4-feccbdd69112",
"Version": "7b65dfae-50b6-4d0f-b3e0-27728bfb0620"
}
Arn -> (string)
The ARN of the version.
CreationTimestamp -> (string)
The time, in milliseconds since the epoch, when the version was created.
Id -> (string)
The ID of the parent definition that the version is associated with.
Version -> (string)
The ID of the version.