Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/antonbabenko/terraform-aws-anything
Content for "Manage any AWS resource with Terraform"
https://github.com/antonbabenko/terraform-aws-anything
aws aws-cli aws-cloudformation terraform
Last synced: 15 days ago
JSON representation
Content for "Manage any AWS resource with Terraform"
- Host: GitHub
- URL: https://github.com/antonbabenko/terraform-aws-anything
- Owner: antonbabenko
- Created: 2020-02-21T21:10:56.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-05-21T20:27:15.000Z (over 4 years ago)
- Last Synced: 2024-10-04T12:59:08.625Z (about 1 month ago)
- Topics: aws, aws-cli, aws-cloudformation, terraform
- Language: HCL
- Size: 4.63 MB
- Stars: 24
- Watchers: 4
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# This repository contains content for my talk "Manage any AWS resource with Terraform".
## Available types of AWS resources:
1. Supported by Terraform AWS provider. See `1-terraform`.
2. Supported only by AWS CloudFormation, but not by Terraform AWS provider. See `2-cloudformation`.
3. Supported by AWS SDK/CLI and not in AWS CloudFormation. See `3-cli`.
4. Partially supported by Terraform AWS provider (some arguments are not supported). See `4-partial-terraform`.
5. Not supported in AWS CLI/SDK. [Good luck with Selenium!](https://aws.amazon.com/about-aws/whats-new/2020/01/aws-device-farm-announces-desktop-browser-testing-using-selenium/) or take a look at [Ian's work with Puppeteer](https://github.com/iann0036/aws-account-controller) :trollface: :trollface: :trollface:
6. New since 2024! AWS Cloud Control API (AWS CC). Potentially, better support than AWS CloudFormation.## Available solutions to manage AWS resources using Terraform include:
1. Use `local-exec` provisioner with `aws-cli`
2. Use [`shell` provider](https://github.com/scottwinkler/terraform-provider-shell)
3. Patch the [Terraform AWS provider](https://github.com/terraform-providers/terraform-provider-aws/) using golang## Flow:
1. Import existing resources into state
2. Refactoring states:
- from/to module
- to another state-file
- `terraform state list | grep -v module..... | xargs -Ixx terraform state rm xx`3. Migrate from AWS Cloudformation to Terraform
## See also
1. Talk "I Can’t Do This With Terraform, Now What?" by Patrick Conheady given at HashiTalks 2020. [See this repository](https://github.com/pacon-vib/tfcando) and [this recording](https://www.hashicorp.com/resources/i-can-t-do-this-with-terraform-now-what).