函数
内置函数
OpenTofu 语言包含许多内置函数,您可以在表达式中调用这些函数来转换和组合值。函数调用的通用语法是函数名称后跟括号中以逗号分隔的参数
max(5, 12, 9)
有关语法的更多详细信息,请参阅表达式部分中的 函数调用。
您可以通过运行 tofu console
命令,在 OpenTofu 表达式控制台中试验 OpenTofu 内置函数的行为。
> max(5, 12, 9)
12
每个函数文档中的示例都使用控制台输出来说明使用不同参数调用函数的结果。
提供程序定义的函数
从 OpenTofu 1.7.0 开始,提供程序可以定义自己的函数,以便在执行期间使用。
OpenTofu 遍历 required_providers 块,并查询指定的提供程序以获取他们希望注册的任何函数。函数将添加到当前模块的上下文中,位于 provider::<provider_name>::<function_name>
下。提供程序别名也在 provider::<provider_name>::<provider_alias>::<function_name>
下受支持。函数的作用域限定为需要提供程序的模块,并且不会被子模块继承。
示例:
terraform {
required_providers {
myhelper = {
# yantrio/helpers registers a function named "echo"
source = "yantrio/helpers"
}
}
}
locals {
myval = provider::myhelper::echo("Hello Functions!")
}