You need to deploy an AWS stack in a repeatable manner across multiple environments. You have selected
CloudFormation as the right tool to accomplish this, but have found that there is a resource type you need to create and
model, but is unsupported by CloudFormation. How should you overcome this challenge?
Use a CloudFormation Custom Resource Template by selecting an API call to proxy for create, update, and delete actions.
CloudFormation will use the AWS SDK, CLI, or API method of your choosing as the state transition function for the resource type you
Submit a ticket to the AWS Forums. AWS extends CloudFormation Resource Types by releasing tooling to the AWS Labs organization
on GitHub. Their response time is usually 1 day, and they complete requests within a week or two.
Instead of depending on CloudFormation, use Chef, Puppet, or Ansible to author Heat templates, which are declarative stack resource
definitions that operate over the OpenStack hypervisor and cloud environment.
Create a CloudFormation Custom Resource Type by implementing create, update, and delete functionality, either by subscribing a
Custom Resource Provider to an SNS topic, or by implementing the logic in AWS Lambda.
Custom resources provide a way for you to write custom provisioning logic in AWS CloudFormation template and have
AWS CloudFormation run it during a stack operation, such as when you create, update or delete a stack. For more
information, see Custom Resources.