/tf-cfn-provider

Transform to add support for all Terraform providers as CloudFormation resources.

Primary LanguagePythonMIT LicenseMIT

Terraform CloudFormation Resource Provider

Deploy over 2,000 new resource types with CloudFormation.

CAUTION: This project is currently in beta stages. Some resources may not work as expected and fields may not be validated.

Installation

Click the above link to deploy the stack which is required to deploy the Transform and Custom Resource handler. This is required to be in place for any future stack deployments.

If you prefer, you can also manually upsert the custom_resource.yaml stack from source and compile your own copy of the Lambda source. Please note that if you do this, the Python requirements must be vendored along with a copy of the Terraform binary.

Usage

Once the handler stack is created, you may use the below resources by adding the Terraform transform to your stack. This will transform your input template to convert the Terraform:: resources into Custom Resources that will handle the lifecycle within that provider.

Most providers will require you to store credentials and/or other provider-specific settings within AWS Secrets Manager in order to access their services, generally in the secret name format terraform/provider-name-lowercase. You can also use template metadata to override these settings.

Providers

Below is the list of supported providers. Click through to see provider resources and configuration details:

Acknowledgements

This project would not be possible without the work from the Terraform providers and the Terraform core product.