WaitCondition
The WaitCondition resource allows you to create a wait condition in AWS CloudFormation that pauses the stack creation until a specified number of signals are received. This is useful for coordinating the completion of asynchronous tasks. You can learn more in the AWS CloudFormation WaitConditions documentation.
Minimal Example
Section titled “Minimal Example”Create a basic WaitCondition that waits for 2 signals and has a timeout of 300 seconds.
import AWS from "alchemy/aws/control";
const waitCondition = await AWS.CloudFormation.WaitCondition("BasicWaitCondition", { Count: 2, Handle: "arn:aws:sns:us-east-1:123456789012:MyWaitConditionHandle", Timeout: "300"});
Advanced Configuration
Section titled “Advanced Configuration”Create a WaitCondition that adopts an existing resource if it already exists.
const advancedWaitCondition = await AWS.CloudFormation.WaitCondition("AdvancedWaitCondition", { Count: 3, Handle: "arn:aws:sns:us-east-1:123456789012:MyAdvancedWaitConditionHandle", Timeout: "600", adopt: true});
WaitCondition with Custom Handle
Section titled “WaitCondition with Custom Handle”Demonstrate how to set a custom handle for the WaitCondition, which can be useful for integrating with other AWS services.
const customHandleWaitCondition = await AWS.CloudFormation.WaitCondition("CustomHandleWaitCondition", { Count: 1, Handle: "arn:aws:sns:us-east-1:123456789012:CustomHandle", Timeout: "120"});
Handling Timeout Scenarios
Section titled “Handling Timeout Scenarios”Configure a WaitCondition with a specific timeout to manage potential delays in signal receipt.
const timeoutWaitCondition = await AWS.CloudFormation.WaitCondition("TimeoutWaitCondition", { Count: 5, Handle: "arn:aws:sns:us-east-1:123456789012:TimeoutHandle", Timeout: "180"});