You are a DevOps engineer with an organization that is rapidly adopting Terraform to automate their GCP infrastructure. A team has a CI/CD solution to create new VMs on demand; however, this rapid creation is causing concerns about cloud sprawl. You will need to work with the team to capture information about the infrastructure they are creating with Terraform and generate a report that is available on demand for stakeholders who want to know what is running. To accomplish this, you can make use of Terraform outputs, as well as template files and the local provider.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Create a ‘vm’ module and Deploy 2 VMs Based on the Module
- Create a
terraform
directory to work in. - Create a
modules
directory and, inside it, create avm
directory. - Create a
terraform/vm/main.tf
file. - Create a
terraform/main.tf
file. - Execute
terraform init
. - Execute
terraform apply
.
- Create a
- Create a CSV File with the IP Addresses for All VMs Using Terraform
- Create a
manifest.tftpl
template file. - Add template syntax to generate a CSV in the template file.
- Create a
local_file
resource. - Execute
terraform apply
. - Add another name to the
vm_names
variable. - Execute
terraform apply
.
- Create a