Skip to content

Latest commit

 

History

History
 
 

terraform-aws-example

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Terraform AWS Example

This folder contains a simple Terraform module that deploys resources in AWS to demonstrate how you can use Terratest to write automated tests for your AWS Terraform code. This module deploys an EC2 Instance and gives that Instance a Name tag with the value specified in the instance_name variable.

Check out test/terraform_aws_example_test.go to see how you can write automated tests for this module.

Note that the EC2 Instance in this module doesn't actually do anything; it just runs a Vanilla Ubuntu 16.04 AMI for demonstration purposes. For slightly more complicated, real-world examples of Terraform modules, see terraform-http-example and terraform-ssh-example.

WARNING: This module and the automated tests for it deploy real resources into your AWS account which can cost you money. The resources are all part of the AWS Free Tier, so if you haven't used that up, it should be free, but you are completely responsible for all AWS charges.

Running this module manually

  1. Sign up for AWS.
  2. Configure your AWS credentials using one of the supported methods for AWS CLI tools, such as setting the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables. If you're using the ~/.aws/config file for profiles then export AWS_SDK_LOAD_CONFIG as "True".
  3. Set the AWS region you want to use as the environment variable AWS_DEFAULT_REGION.
  4. Install Terraform and make sure it's on your PATH.
  5. Run terraform init.
  6. Run terraform apply.
  7. When you're done, run terraform destroy.

Running automated tests against this module

  1. Sign up for AWS.
  2. Configure your AWS credentials using one of the supported methods for AWS CLI tools, such as setting the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables. If you're using the ~/.aws/config file for profiles then export AWS_SDK_LOAD_CONFIG as "True".
  3. Install Terraform and make sure it's on your PATH.
  4. Install Golang and make sure this code is checked out into your GOPATH.
  5. cd test
  6. dep ensure
  7. go test -v -run TestTerraformAwsExample