- OpenTofu 语言
- 表达式
表达式
表达式 在配置中引用或计算值。最简单的表达式只是字面量值,如 "hello"
或 5
,但 OpenTofu 语言还允许更复杂的表达式,例如对资源导出的数据的引用、算术运算、条件评估以及许多内置函数。
表达式可以在 OpenTofu 语言的许多地方使用,但某些上下文会限制允许的表达式结构,例如要求特定类型的字面量值或禁止 对资源属性的引用。每个语言功能的文档都会描述它对表达式的任何限制。
您可以通过运行 tofu console
命令,从 OpenTofu 表达式控制台实验 OpenTofu 表达式的行为。
本节中的其他页面描述了 OpenTofu 表达式语法的功能。
-
类型和值 文档记录了 OpenTofu 表达式可以解析成的 数据类型,以及这些类型的值的字面量语法。
-
字符串和模板 文档记录了字符串字面量的语法,包括插值序列和模板指令。
-
对值的引用 文档记录了如何引用命名值,例如变量和资源属性。
-
运算符 文档记录了算术、比较和逻辑运算符。
-
函数调用 文档记录了调用 OpenTofu 内置函数的语法。
-
条件表达式 文档记录了
<CONDITION> ? <TRUE VAL> : <FALSE VAL>
表达式,该表达式根据布尔条件在两个值之间进行选择。 -
For 表达式 文档记录了类似
[for s in var.list : upper(s)]
的表达式,这些表达式可以将复杂类型的值转换为另一个复杂类型的值。 -
Splat 表达式 文档记录了类似
var.list[*].id
的表达式,这些表达式可以从更复杂的表达式中提取更简单的集合。 -
动态块 文档记录了一种在资源或其他结构中创建多个可重复嵌套块的方法。
-
类型约束 文档记录了引用类型(而不是该类型的值的语法)。输入变量在其
type
参数中需要此语法。 -
版本约束 文档记录了定义一组允许的软件版本的特殊字符串的语法。OpenTofu 在多个地方使用版本约束。