関数
組み込み関数
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!")
}