Terraform variables: Difference between revisions

From wikinotes
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
= Documentation =
<blockquote>
{| class="wikitable"
|-
| variable types || https://www.terraform.io/language/expressions/references
|-
|}
</blockquote><!-- Documentation -->


= Resources / Scope =
= Scope =
<blockquote>
== Resources Variables ==
<blockquote>
<blockquote>
Within terraform, exposed variables are exposed via '''resources'''.
Within terraform, exposed variables are exposed via '''resources'''.
Line 6: Line 16:
<syntaxhighlight lang="tf">
<syntaxhighlight lang="tf">
# variables
# variables
var.input_variable    # input variables are defined in a 'variable {}' block, set in modules or CLI
var.${input_variable}   # input variables are defined in a 'variable {}' block, set in modules or CLI
local.value          # local values are defined in a 'locals {}' block
local.${value}           # local values are defined in a 'locals {}' block
module.output        # module outputs are defined in 'module {}' blocks
module.${output}         # module outputs are defined in 'module {}' blocks
data.type.source     # data sources are defined in 'data {}' blocks
data.${type}.${source# data sources are defined in 'data {}' blocks


# global resources
# global resources
Line 15: Line 25:
terraform.workspace
terraform.workspace
</syntaxhighlight>
</syntaxhighlight>
</blockquote><!-- Resource Variables -->
== Block Local Variables ==
<blockquote>
<syntaxhighlight lang="tf">
self
count.index
each.key
</syntaxhighlight>
</blockquote><!-- Block Local Variables -->
</blockquote><!-- Scope -->
</blockquote><!-- Scope -->

Latest revision as of 16:16, 25 September 2022

Documentation

variable types https://www.terraform.io/language/expressions/references

Scope

Resources Variables

Within terraform, exposed variables are exposed via resources.

# variables
var.${input_variable}    # input variables are defined in a 'variable {}' block, set in modules or CLI
local.${value}           # local values are defined in a 'locals {}' block
module.${output}         # module outputs are defined in 'module {}' blocks
data.${type}.${source}   # data sources are defined in 'data {}' blocks

# global resources
path.cwd
terraform.workspace

Block Local Variables

self
count.index
each.key