We are pleased to announce that AWS CloudFormation now supports user-defined, custom resources. AWS CloudFormation makes it easy for you to provision and configure a set of related resources that includes both AWS resources and custom resources. Once you implement a custom resource type, your CloudFormation templates can fully describe the needs of your application including resources that are not supported natively or resources that exist behind a service provider API.
Many applications require interactions with external entities such as monitoring services or firewalled data stores. Custom resources allow you to provision and configure these dependent entities from within your version-controlled AWS CloudFormation template. Under the hood, CloudFormation calls these external services on your behalf and provides them with input parameters using a simple protocol. The services can then expose outputs that you can reference from within the template. For more details about how to leverage user-defined resources in your CloudFormation templates, visit the AWS CloudFormation User Guide.
Starting today, service providers and developers can implement a custom resource that can be used within a CloudFormation template. For details about how to create user-defined resources, visit the AWS CloudFormation User Guide.