Giter VIP home page Giter VIP logo

cloudformation-macro-waitconditionupdate's Introduction

Cloudformation WaitCondition Update Macro

The Cloudformation resources AWS::Cloudformation::WaitCondition and AWS::Cloudformation::WaitConditionHandle cannot currently be updated or recreated. To wait for resource signaling during a stack update a new WaitCondition resource needs to be created. This macro will create new WaitCondition resources based on changes to specified parameters.

Testing

# Unit Test
python3 -m unittest

Build

Note

S3 Bucket must already exist

Set any required AWS CLI env variables. http://docs.aws.amazon.com/cli/latest/userguide/cli-environment.html

./build.sh
aws cloudformation package \
  --template deploy-macro.yaml \
  --s3-bucket <YOUR S3 BUCKET> \
  --output-template-file packaged-deploy-macro.yaml

Deploy

aws cloudformation deploy \
  --template-file packaged-deploy-macro.yaml \
  --stack-name cloudformation-macro-WaitConditionUpdate \
  --capabilities CAPABILITY_IAM

How to Use

Your template must have contain the parameter WaitConditionUpdateParameters and Transform. When the parameters of WaitConditionUpdateParameters change the logical ids of all WaitCondition resources will be renamed.

Transform: ['WaitConditionUpdate']
Parameters:
  WaitConditionUpdateParameters:
    Description: Used by the WaitConditionUpdate transform macro to determine which
      parameter values will be used for naming any WaitCondition resources.  The 
      parameters must only be those which will trigger a recreation of the signaling
      resource when changed.
    Type: CommaDelimitedList
    Default: "PutDefaultsHere"

Example

Use a WaitCondition to get a signal when tasks are healthy in a ECS Service

example-ecs-service.yaml

cloudformation-macro-waitconditionupdate's People

Contributors

deuscapturus avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

kyleian

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.