Output Variables
Output variables are like return values for a module. They are declared using the keyword output. Output variables can expose certain information. They can be used by a root module to output certain values after running the terraform apply/output command, or by a child module to expose a subset of its resource attributes to a parent module.
Declaring Output Variables
By convention, output variables are defined in a file named variables.tf. Output variables are declared using the keyword output.
output "ecs_address" { description = "The private IP address of my ECS" }
The label immediately after the output keyword is the name, which must be a valid identifier. The output block contains the following arguments:
- value (mandatory): value of the output variable. Any valid expression is allowed as an output value.
- description: describes the usage of an output variable.
output "vpc_id" { description = "Check out the VPC ID" }
- sensitive: marks output variables as sensitive and hides the output variable values on the CLI.
output "vpc_id" { description = "Check out the VPC ID" sensitive = true } $ terraform output vpc_id = <sensitive>
Note: Output variables marked as sensitive are automatically hidden during output, but their output values can still display in the following ways:
- The values of output variables are recorded in the state file and are visible to anyone who can access the file.
- The sensitive output variable values in a child module can be invoked by its parent module and displayed on the CLI after being referenced by the related outputs and resources of the parent module.
- depends_on: specifies the dependency of an output variable. Since output variables are only a means of exporting data, you do not need to set the dependencies between output variables and other resources or data.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.