SubscriptionDefinition
The SubscriptionDefinition resource allows you to manage AWS Greengrass SubscriptionDefinitions that enable communication between Greengrass components.
Minimal Example
Section titled “Minimal Example”Create a basic SubscriptionDefinition with required properties and one optional parameter.
import AWS from "alchemy/aws/control";
const subscriptionDefinition = await AWS.Greengrass.SubscriptionDefinition("mySubscriptionDefinition", { Name: "MySubscriptionDefinition", InitialVersion: { Subscriptions: [ { Id: "mySubscription", Source: "myPublisher", Subject: "my/topic", Target: "mySubscriber" } ] }});
Advanced Configuration
Section titled “Advanced Configuration”Configure a SubscriptionDefinition with multiple subscriptions and tags for better management.
const advancedSubscriptionDefinition = await AWS.Greengrass.SubscriptionDefinition("advancedSubscriptionDefinition", { Name: "AdvancedSubscriptionDefinition", Tags: { Environment: "Production", Project: "MyGreengrassProject" }, InitialVersion: { Subscriptions: [ { Id: "subscription1", Source: "publisher1", Subject: "topic1", Target: "subscriber1" }, { Id: "subscription2", Source: "publisher2", Subject: "topic2", Target: "subscriber2" } ] }});
Using Tags for Resource Management
Section titled “Using Tags for Resource Management”Manage resources effectively by adding tags to the SubscriptionDefinition.
const taggedSubscriptionDefinition = await AWS.Greengrass.SubscriptionDefinition("taggedSubscriptionDefinition", { Name: "TaggedSubscriptionDefinition", Tags: { Owner: "Dev Team", CostCenter: "12345" }, InitialVersion: { Subscriptions: [ { Id: "taggedSubscription", Source: "taggedPublisher", Subject: "tagged/topic", Target: "taggedSubscriber" } ] }});
Adoption of Existing Resources
Section titled “Adoption of Existing Resources”Configure the SubscriptionDefinition to adopt an existing resource if it already exists.
const adoptExistingSubscriptionDefinition = await AWS.Greengrass.SubscriptionDefinition("existingSubscriptionDefinition", { Name: "ExistingSubscriptionDefinition", adopt: true, InitialVersion: { Subscriptions: [ { Id: "existingSubscription", Source: "existingPublisher", Subject: "existing/topic", Target: "existingSubscriber" } ] }});