Terraform Basics - Variables and Outputs
This section is based on the configuration created in the previous section.
Variables
Define a variable in a file like this.
variables.tfvariable "container_name" { description = "name of the container" type = string default = "Container1" }
Update a resource to use a variable:
main.tfresource "docker_container" "nginx" { image = docker_image.nginx.image_id name = var.container_name ports { internal = 80 external = 8080 } }
Apply the updated configuration like this:
terraform apply
You can override a variable during apply like this:
terraform apply -var "container_name=container2"
Outputs
You can define outputs that will be exposed when creating infrastructure.
outputs.tfoutput "container_id" { description = "ID of the Docker container" value = docker_container.nginx.id } output "image_id" { description = "ID of the Docker image" value = docker_image.nginx.id }
You can also query the outputs with the following command after infrastructure has been built.
terraform output