This project intends to provide a streamlined execution of Terrafrom commands especially when using AWS Role Assumption. Using this Docker container would provide a wrapper for Terraform CLI tools; in other words, any Terraform commands are a valid commands while using this container.
$ docker run --rm -v "$PWD":/terraform-src \
-e AWS_ACCESS_KEY_ID="YOUR_AWS_ACCESS_KEY_ID" \
-e AWS_SECRET_ACCESS_KEY="YOUR_AWS_SECRET_ACCESS_KEY" \
-e AWS_ROLE_ARN="YOUR_AWS_ROLE_ARN" \
-e TERRAFORM_WORKSPACE="WORKSPACE_NAME" \
minakhalil/docker-terraform terraform plan$ docker run --rm -v "$PWD":/terraform-src \
-e AWS_ACCESS_KEY_ID="YOUR_AWS_ACCESS_KEY_ID" \
-e AWS_SECRET_ACCESS_KEY="YOUR_AWS_SECRET_ACCESS_KEY" \
minakhalil/docker-terraform terraform plan- Creating new Worksapce
$ docker run --rm -v "$PWD":/terraform-src \
-e AWS_ACCESS_KEY="YOUR_AWS_ACCESS_KEY_ID" \
-e AWS_SECRET_ACCESS_KEY="YOUR_AWS_SECRET_ACCESS_KEY" \
minakhalil/docker-terraform terraform workspace new WORKSPACE_NAME- Applying Terraform changes
$ docker run --rm -v "$PWD":/terraform-src \
-e AWS_ACCESS_KEY="YOUR_AWS_ACCESS_KEY_ID" \
-e AWS_SECRET_ACCESS_KEY="YOUR_AWS_SECRET_ACCESS_KEY" \
minakhalil/docker-terraform terraform apply -auto-approve- Destroying Terraform stack
$ docker run --rm -v "$PWD":/terraform-src \
-e AWS_ACCESS_KEY="YOUR_AWS_ACCESS_KEY_ID" \
-e AWS_SECRET_ACCESS_KEY="YOUR_AWS_SECRET_ACCESS_KEY" \
minakhalil/docker-terraform terraform destroy -auto-approve