dtan4/terraforming hiện có 4.3k sao trên GitHub, viết chủ yếu bằng Ruby. Export existing AWS resources to Terraform style (tf, tfstate) / No longer actively maintained
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Project Status (2021-12-11): No longer actively maintained
Terraforming is no longer actively maintained.
If you want to generate Terraform configurations from existing cloud resources, consider using other tools, such as
Terraformer which supports many cloud providers not only AWS but also GCP, Azure, GitHub, Kubernetes, etc., and is able to generate configurations based on the latest provider's resource schema.
Terracognita
Thank you for your contributions and supports in the past 6 years.
Export existing AWS resources to Terraform style (tf, tfstate)
Supported version
Installation
Prerequisites
Usage
Export tf
Export tfstate
Example: Export all
Run as Docker container
Development
Contributing
Similar projects
License
Supported version
Ruby 2.3 or higher is required
Terraform v0.9.3 or higher is recommended
Some resources (e.g. iam_instance_profile) uses newer resource specification
You can force the AWS SDK to utilize the CA certificate that is bundled with the SDK for systems where the default OpenSSL certificate is not installed (e.g. Windows) by utilizing the --use-bundled-cert option.
PS C:\> terraforming ec2 --use-bundled-cert
Usage
$ terraforming
Commands:
terraforming alb # ALB
terraforming asg # AutoScaling Group
terraforming cwa # CloudWatch Alarm
terraforming dbpg # Database Parameter Group
terraforming dbsg # Database Security Group
terraforming dbsn # Database Subnet Group
terraforming ddb # DynamoDB
terraforming ec2 # EC2
terraforming ecc # ElastiCache Cluster
terraforming ecsn # ElastiCache Subnet Group
terraforming efs # EFS File System
terraforming eip # EIP
terraforming elb # ELB
terraforming help [COMMAND] # Describe available commands or one specific command
terraforming iamg # IAM Group
terraforming iamgm # IAM Group Membership
terraforming iamgp # IAM Group Policy
terraforming iamip # IAM Instance Profile
terraforming iamp # IAM Policy
terraforming iampa # IAM Policy Attachment
terraforming iamr # IAM Role
terraforming iamrp # IAM Role Policy
terraforming iamu # IAM User
terraforming iamup # IAM User Policy
terraforming igw # Internet Gateway
terraforming kmsa # KMS Key Alias
terraforming kmsk # KMS Key
terraforming lc # Launch Configuration
terraforming nacl # Network ACL
terraforming nat # NAT Gateway
terraforming nif # Network Interface
terraforming r53r # Route53 Record
terraforming r53z # Route53 Hosted Zone
terraforming rds # RDS
terraforming rs # Redshift
terraforming rt # Route Table
terraforming rta # Route Table Association
terraforming s3 # S3
terraforming sg # Security Group
terraforming sn # Subnet
terraforming snst # SNS Topic
terraforming snss # SNS Subscription
terraforming sqs # SQS
terraforming vgw # VPN Gateway
terraforming vpc # VPC
Options:
[--merge=MERGE] # tfstate file to merge
[--overwrite], [--no-overwrite] # Overwrite existng tfstate
[--tfstate], [--no-tfstate] # Generate tfstate
[--profile=PROFILE] # AWS credentials profile
[--region=REGION] # AWS region
[--use-bundled-cert], [--no-use-bundled-cert] # Use the bundled CA certificate from AWS SDK
If you want to merge exported tfstate to existing terraform.tfstate, specify --tfstate --merge=/path/to/terraform.tfstate option.
You can overwrite existing terraform.tfstate by specifying --overwrite option together.
After writing exported tf and tfstate to files, execute terraform plan and check the result.
There should be no diff.
$ terraform plan
No changes. Infrastructure is up-to-date. This means that Terraform
could not detect any differences between your configuration and
the real physical resources that exist. As a result, Terraform
doesn't need to do anything.
Example: Export all
Example assuming you want to export everything from us-west-2 and you are using ~/.aws/credentials with a default profile
export AWS_REGION=us-west-2
terraforming help | grep terraforming | grep -v help | awk '{print "terraforming", $2, "--profile", "default", ">", $2".tf";}' | bash
# find files that only have 1 empty line (likely nothing in AWS)
find . -type f -name '*.tf' | xargs wc -l | grep ' 1 .'
Caveats
terraforming kmsk does not export EXTERNAL origin key, bacause Terraform does not support it.
Run as Docker container
Terraforming Docker Image is available at quay.io/dtan4/terraforming and developed at dtan4/dockerfile-terraforming.
After checking out the repo, run script/setup to install dependencies. Then, run script/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Contributing
Please read Contribution Guide at first.
Fork it ( https://github.com/dtan4/terraforming/fork )
Create your feature branch (git checkout -b my-new-feature)
Commit your changes (git commit -am 'Add some feature')
Push to the branch (git push origin my-new-feature)
Create a new Pull Request
Similar projects
There are some similar tools to import your existing infrastructure to Terraform configuration.
dtan4/terraforming thuộc nhóm Developer Tools trên TopGit, cùng 4 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về dtan4/terraforming ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/dtan4/terraforming là nguồn chính thức.
dtan4/terraforming có phải mã nguồn mở không?
Có — dtan4/terraforming phát hành theo license MIT, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/dtan4/terraforming.
dtan4/terraforming là gì?
dtan4/terraforming (dtan4/terraforming) là dự án Ruby trên GitHub. Theo mô tả gốc: Export existing AWS resources to Terraform style (tf, tfstate) / No longer actively maintained
dtan4/terraforming so với các dự án Developer Tools khác thế nào?
dtan4/terraforming được TopGit xếp vào nhóm Developer Tools, với 4.3k sao GitHub và viết bằng Ruby. Xem trang chủ đề Developer Tools trên TopGit để so sánh với các dự án tương tự theo số sao và mức độ hoạt động.
Vì sao dtan4/terraforming được xếp vào nhóm Developer Tools?
TopGit xếp dtan4/terraforming vào nhóm Developer Tools dựa trên GitHub topics và mô tả của repo (gắn thẻ: "aws", "ruby-gem", "terraform"). Việc phân loại dựa trên metadata thật của repo, không phải đoán theo cảm tính biên tập.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về terraforming?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về terraforming.