Back to AWS Terraform templates index <–
AWS Account
Contains Terraform files which creates W01, W02, W03 VPC (incl Subnets, Security Groups, IGW, NAT etc) under Workspace Account for Testing, Acceptance and Production AWS account
Template Locations
Online documentation
Template reference
Service description
provision.sh
#!/bin/sh
set -e
export PATH=$PATH:`pwd`
action=$1
APP_ENV=$2
if [ -z $APP_ENV ]
then
echo "Execute as ./provision.sh <environment_name>"
exit 1
fi
case $APP_ENV in
prod)
export AWS_REGION=eu-west-1
export ACCOUNT_ID=
;;
acc)
export AWS_REGION=eu-west-1
export ACCOUNT_ID=
;;
test)
export AWS_REGION=eu-west-1
export ACCOUNT_ID=
;;
*)
export AWS_REGION=eu-west-1
export ACCOUNT_ID=
;;
esac
echo ">>> Configuring for account $ACCOUNT_ID"
echo ">>> Configuring for terraform state file $APP_ENV $"
echo ">>> Configuring for AWS Region $AWS_REGION $"
find . -name 'config.tf' -type f -exec sed -i -e "s/ACCOUNT_ID/$ACCOUNT_ID/g" -e "s/APP_ENV/$APP_ENV/g" -e "s/AWS_REGION/$AWS_REGION/g" {} \;
echo ">>> Running $action for account $ACCOUNT_ID"
rm -rf .terraform
echo "Fetching Terraform Modules"
#terraform get
terraform init
#terraform plan -var-file="config/$APP_ENV.tfvars"
#terraform $action -target=module.bastion -var-file="config/$APP_ENV.tfvars"
#terraform $action -target=module.elastic_search_server -var-file="config/$APP_ENV.tfvars"
#file="config/$APP_ENV.tfvars"
if [ $action = "apply" ]
then
terraform $action -input=false -auto-approve -var-file="config/$APP_ENV.tfvars"
elif [ $action = "plan" ]
then
terraform $action -var-file="config/$APP_ENV.tfvars"
elif [ $action = "destroy" ]
then
terraform $action -input=false -auto-approve -var-file="config/$APP_ENV.tfvars"
fi
find . -name 'config.tf' -type f -exec sed -i -e "s/$ACCOUNT_ID/ACCOUNT_ID/g" -e "s/$APP_ENV/APP_ENV/g" -e "s/$AWS_REGION/AWS_REGION/g" {} \;