Awesome
This repository contains content for my talk "Manage any AWS resource with Terraform".
Available types of AWS resources:
- Supported by Terraform AWS provider. See
1-terraform
. - Supported only by AWS CloudFormation, but not by Terraform AWS provider. See
2-cloudformation
. - Supported by AWS SDK/CLI and not in AWS CloudFormation. See
3-cli
. - Partially supported by Terraform AWS provider (some arguments are not supported). See
4-partial-terraform
. - Not supported in AWS CLI/SDK. Good luck with Selenium! or take a look at Ian's work with Puppeteer :trollface: :trollface: :trollface:
- New since 2024! AWS Cloud Control API (AWS CC). Potentially, better support than AWS CloudFormation.
Available solutions to manage AWS resources using Terraform include:
- Use
local-exec
provisioner withaws-cli
- Use
shell
provider - Patch the Terraform AWS provider using golang
Flow:
-
Import existing resources into state
-
Refactoring states:
- from/to module
- to another state-file
terraform state list | grep -v module..... | xargs -Ixx terraform state rm xx
- Migrate from AWS Cloudformation to Terraform
See also
- Talk "I Can’t Do This With Terraform, Now What?" by Patrick Conheady given at HashiTalks 2020. See this repository and this recording.