TopicRuleDestination ​
The TopicRuleDestination resource allows you to manage AWS IoT TopicRuleDestinations which are used to define the destinations for IoT messages based on topic rules.
Minimal Example ​
Create a basic TopicRuleDestination with a specified status and HTTP URL properties.
ts
import AWS from "alchemy/aws/control";
const topicRuleDestination = await AWS.IoT.TopicRuleDestination("myTopicRuleDestination", {
Status: "ENABLED",
HttpUrlProperties: {
Authorization: "Bearer myToken",
Url: "https://api.example.com/iot/destination"
}
});
Advanced Configuration ​
Configure a TopicRuleDestination with VPC properties for secure access within a specified VPC.
ts
const vpcDestination = await AWS.IoT.TopicRuleDestination("myVpcTopicRuleDestination", {
Status: "ENABLED",
VpcProperties: {
VpcId: "vpc-12345678",
SubnetIds: ["subnet-12345678", "subnet-87654321"],
SecurityGroupIds: ["sg-12345678"],
Port: 443
}
});
Adopting Existing Resources ​
If you want to adopt an existing TopicRuleDestination without failing, you can set the adopt
property to true.
ts
const adoptExistingDestination = await AWS.IoT.TopicRuleDestination("existingDestination", {
Status: "ENABLED",
adopt: true
});
Example with Both HTTP and VPC Properties ​
Create a TopicRuleDestination that has both HTTP URL properties and VPC properties.
ts
const combinedDestination = await AWS.IoT.TopicRuleDestination("combinedDestination", {
Status: "ENABLED",
HttpUrlProperties: {
Authorization: "Bearer mySecureToken",
Url: "https://api.example.com/iot/combined"
},
VpcProperties: {
VpcId: "vpc-abcdef01",
SubnetIds: ["subnet-abcdef01", "subnet-fedcba10"],
SecurityGroupIds: ["sg-abcdef01"],
Port: 443
}
});