A library to wrap primarily the main AWSSDK CloudFormation operations CreateStack, CreateChangeset, UpdateStack and DeleteStack.
These SDK methods all return immediately once the command has been accepted by AWS CloudFormation, and it is up to the caller to manage polling the operation to see when it is complete. Additionally, each of these methods have myriad options that are only valid in certain combinations.
- Implements a builder pattern to set up the required options for a stack operation in a logical and fluent manner.
- Manages automatic upload of oversize content, i.e. local template files/content > 51,200 bytes to S3. The caller manages the detail of the upload by providing an implementation of the IS3Util interface.
- Option to return immediately as per the AWS SDK or to wait (follow) until the operation completes.
- If waiting, then stack is polled for events. The polling includes the events generated by any level of nested stacks and are reported in chronological order across all levels.
- Pass an implemetation of the ILogger interface to the builder to receive stack events, changeset data and other information.
- If a modification on a stack is in progess when you make an update call and elect to wait for in progess update, then you will receive stack events for the in-progress operation until completion before your change is submitted.
- Pass any of a path to a local file, a string containing a template in JSON or YAML, or the URI of a template in S3 (s3 or https schema) to the WithTemplateLocation method of the builder, and it will do the right thing!
- Public interface to the template parsers and resolvers, allowing implementation of things like
aws cloudformation package
- Full support for resource import.
API documentation is available here.