Class CfnWaitCondition

All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:54.973Z") @Stability(Stable) public class CfnWaitCondition extends CfnResource implements IInspectable
A CloudFormation AWS::CloudFormation::WaitCondition.

For Amazon EC2 and Auto Scaling resources, we recommend that you use a CreationPolicy attribute instead of wait conditions. Add a CreationPolicy attribute to those resources, and use the cfn-signal helper script to signal when an instance creation process has completed successfully.

You can use a wait condition for situations like the following:

  • To coordinate stack resource creation with configuration actions that are external to the stack creation.
  • To track the status of a configuration process.

For these situations, we recommend that you associate a CreationPolicy attribute with the wait condition so that you don't have to use a wait condition handle. For more information and an example, see Creating wait conditions in a template . If you use a CreationPolicy with a wait condition, don't specify any of the wait condition's properties.

If you use the VPC endpoints feature, resources in the VPC that respond to wait conditions must have access to CloudFormation , specific Amazon Simple Storage Service ( Amazon S3 ) buckets. Resources must send wait condition responses to a presigned Amazon S3 URL. If they can't send responses to Amazon S3 , CloudFormation won't receive a response and the stack operation fails. For more information, see Setting up VPC endpoints for AWS CloudFormation .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.core.*;
 CfnWaitCondition cfnWaitCondition = CfnWaitCondition.Builder.create(this, "MyCfnWaitCondition")
         .count(123)
         .handle("handle")
         .timeout("timeout")
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnWaitCondition

      protected CfnWaitCondition(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnWaitCondition

      protected CfnWaitCondition(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnWaitCondition

      @Stability(Stable) public CfnWaitCondition(@NotNull Construct scope, @NotNull String id, @Nullable CfnWaitConditionProps props)
      Create a new AWS::CloudFormation::WaitCondition.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
    • CfnWaitCondition

      @Stability(Stable) public CfnWaitCondition(@NotNull Construct scope, @NotNull String id)
      Create a new AWS::CloudFormation::WaitCondition.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrData

      @Stability(Stable) @NotNull public IResolvable getAttrData()
      A JSON object that contains the UniqueId and Data values from the wait condition signal(s) for the specified wait condition.

      For more information about wait condition signals, see Wait condition signal JSON format .

      Example return value for a wait condition with 2 signals:

      { "Signal1" : "Step 1 complete." , "Signal2" : "Step 2 complete." }

    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getCount

      @Stability(Stable) @Nullable public Number getCount()
      The number of success signals that CloudFormation must receive before it continues the stack creation process.

      When the wait condition receives the requisite number of success signals, CloudFormation resumes the creation of the stack. If the wait condition doesn't receive the specified number of success signals before the Timeout period expires, CloudFormation assumes that the wait condition has failed and rolls the stack back.

      Updates aren't supported.

    • setCount

      @Stability(Stable) public void setCount(@Nullable Number value)
      The number of success signals that CloudFormation must receive before it continues the stack creation process.

      When the wait condition receives the requisite number of success signals, CloudFormation resumes the creation of the stack. If the wait condition doesn't receive the specified number of success signals before the Timeout period expires, CloudFormation assumes that the wait condition has failed and rolls the stack back.

      Updates aren't supported.

    • getHandle

      @Stability(Stable) @Nullable public String getHandle()
      A reference to the wait condition handle used to signal this wait condition.

      Use the Ref intrinsic function to specify an AWS::CloudFormation::WaitConditionHandle resource.

      Anytime you add a WaitCondition resource during a stack update, you must associate the wait condition with a new WaitConditionHandle resource. Don't reuse an old wait condition handle that has already been defined in the template. If you reuse a wait condition handle, the wait condition might evaluate old signals from a previous create or update stack command.

      Updates aren't supported.

    • setHandle

      @Stability(Stable) public void setHandle(@Nullable String value)
      A reference to the wait condition handle used to signal this wait condition.

      Use the Ref intrinsic function to specify an AWS::CloudFormation::WaitConditionHandle resource.

      Anytime you add a WaitCondition resource during a stack update, you must associate the wait condition with a new WaitConditionHandle resource. Don't reuse an old wait condition handle that has already been defined in the template. If you reuse a wait condition handle, the wait condition might evaluate old signals from a previous create or update stack command.

      Updates aren't supported.

    • getTimeout

      @Stability(Stable) @Nullable public String getTimeout()
      The length of time (in seconds) to wait for the number of signals that the Count property specifies.

      Timeout is a minimum-bound property, meaning the timeout occurs no sooner than the time you specify, but can occur shortly thereafter. The maximum time that can be specified for this property is 12 hours (43200 seconds).

      Updates aren't supported.

    • setTimeout

      @Stability(Stable) public void setTimeout(@Nullable String value)
      The length of time (in seconds) to wait for the number of signals that the Count property specifies.

      Timeout is a minimum-bound property, meaning the timeout occurs no sooner than the time you specify, but can occur shortly thereafter. The maximum time that can be specified for this property is 12 hours (43200 seconds).

      Updates aren't supported.