SubscriptionDefinition
Learn how to create, update, and manage AWS Greengrass SubscriptionDefinitions using Alchemy Cloud Control.
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" } ] }});