AWS::Greengrass::SubscriptionDefinitionVersion
The
AWS::Greengrass::SubscriptionDefinitionVersion
resource represents a subscription definition version for AWS IoT Greengrass.
A subscription definition version contains a list of subscriptions.
Note
To create a subscription definition version, you must specify the ID of the subscription definition that you want to
associate with the version. For information about creating a subscription definition, see AWS::Greengrass::SubscriptionDefinition
.
After you create a subscription definition version that contains the subscriptions you want to deploy,
you must add it to your group version.
For more information, see AWS::Greengrass::Group
.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::Greengrass::SubscriptionDefinitionVersion", "Properties" : { "SubscriptionDefinitionId" :
String
, "Subscriptions" :[ Subscription, ... ]
} }
YAML
Type: AWS::Greengrass::SubscriptionDefinitionVersion Properties: SubscriptionDefinitionId:
String
Subscriptions:- Subscription
Properties
SubscriptionDefinitionId
-
The ID of the subscription definition associated with this version. This value is a GUID.
Required: Yes
Type: String
Update requires: Replacement
Subscriptions
-
The subscriptions in this version.
Required: Yes
Type: Array of Subscription
Update requires: Replacement
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the
Amazon Resource Name (ARN) of the subscription definition version, such as
arn:aws:greengrass:us-east-1:123456789012:/greengrass/definition/subscriptions/1234a5b6-78cd-901e-2fgh-3i45j6k178l9/versions/9876ac30-4bdb-4f9d-95af-b5fdb66be1a2
.
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
Examples
Subscription Definition Version Snippet
The following snippet defines subscription definition and subscription definition version subscriptions. The subscription
definition version references the subscription definition and contains a subscription. In this example, the subscription source
is an existing device in the group. The target is a function in the group that was created in another stack and is referenced
using the ImportValue
function.
For an example of a complete template, see the AWS::Greengrass::Group
subscription.
JSON
"TestSubscriptionDefinition": { "Type": "AWS::Greengrass::SubscriptionDefinition", "Properties": { "Name": "DemoTestSubscriptionDefinition" } }, "TestSubscriptionDefinitionVersion": { "Type": "AWS::Greengrass::SubscriptionDefinitionVersion", "Properties": { "SubscriptionDefinitionId": { "Ref": "TestSubscriptionDefinition" }, "Subscriptions": [ { "Id": "TestSubscription1", "Source": { "Fn::Join": [ ":", [ "arn:aws:iot", { "Ref": "AWS::Region" }, { "Ref": "AWS::AccountId" }, "thing/TestDevice1" ] ] }, "Subject": "some/topic", "Target": { "Fn::ImportValue": "TestCanaryLambdaVersionArn" } } ] } }
YAML
TestSubscriptionDefinition: Type: 'AWS::Greengrass::SubscriptionDefinition' Properties: Name: DemoTestSubscriptionDefinition TestSubscriptionDefinitionVersion: Type: 'AWS::Greengrass::SubscriptionDefinitionVersion' Properties: SubscriptionDefinitionId: !Ref TestSubscriptionDefinition Subscriptions: - Id: TestSubscription1 Source: !Join - ':' - - 'arn:aws:iot' - !Ref 'AWS::Region' - !Ref 'AWS::AccountId' - thing/TestDevice1 Subject: some/topic Target: !ImportValue TestCanaryLambdaVersionArn
See also
-
CreateSubscriptionDefinitionVersion in the AWS IoT Greengrass Version 1 API Reference