Discover Resources on AWS Cloud
Prerequisites
Before proceeding with Cloud to Code CLI, you’ll need to meet the requirements listed below.
- Install Homebrew (macOS and Linux) and Terraform.
- Install
cloud2code
on your system. Check out OS-specific installation guides. - If you do not have AWS CLI installed, refer to the AWS documentation
Authenticate Your AWS CLI
-
Run the following command to authenticate your AWS CLI:
aws configure
-
Enter your Access Key, Secret Key, Region, and Output Format.
Follow the on-screen instructions to finish authenticating. Refer to the AWS documentation to learn more about CLI authentication.
Read Access to Regions
Ensure you have the necessary permissions to access your cloud regions and resources. If unsure, check with your cloud administrator or run the following command to verify your account details:
aws iam get-user
Create a Terraform State File
Follow these steps to create and import a tfstate
file:
- Use the command line to create a local Terraform folder and switch your directory to the local folder.
- Run the following command to create a terraform state file for S3 buckets and EC2 instances from a specified region. You will find your tfstate file in the directory specified in Step 1.
Usage
- macOS
- Windows-Docker
- Linux
cloud2code import aws --region <region> --include <resource_types> --output-dir
docker run --platform linux/arm64 --rm `
-e AWS_ACCESS_KEY_ID="***************" ` // access key id
-e AWS_SECRET_ACCESS_KEY="***************" ` // secret access key
-e AWS_SESSION_TOKEN="***************" ` // enter an aws session token
-v C:\Users\abc\output:/output `
ghcr.io/stackgenhq/cloud2code import aws --region us-east-1 --include aws_s3_bucket --output-dir /output
Docker Flags Explained
Option | Description |
---|---|
--platform | Ensures that ghcr.io/stackgenhq/cloud2code container runs using the ARM64 architecture, regardless of your host machine's architecture. |
-e | Sets the environment variables. |
-v | Used for volume mounting. C:\Users\username\output is the directory path on your local Windows machine, while /output is the directory path inside the Docker container. |
cloud2code import aws --region <region> --include <resource_types> --output-dir
cloud2code
Flags Explained
Flag | Description | Required |
---|---|---|
--region | The AWS region from which resources will be imported. | Yes |
--include | Comma-separated list of specific AWS resource types to import. | Yes |
--output-dir | Output Terraform state file path. | Yes |
Example:
cloud2code import aws --region us-east-1 --include aws_s3_bucket,aws_instance --output-dir “/Users/abc/Downloads/terraform”
The command above imports S3 buckets and EC2 instances from the us-east-1 region
into Terraform configuration files (.tf
).