メインコンテンツにスキップ

は、設定内で値を参照または計算します。最も単純な式は、"hello"5のようなリテラル値ですが、OpenTofu言語では、リソースによってエクスポートされたデータへの参照、算術演算、条件付き評価、および多数の組み込み関数などの、より複雑な式も使用できます。

式は、OpenTofu言語の多くの場所で使用できますが、特定の型のリテラル値を要求したり、リソース属性への参照を禁止するなど、一部のコンテキストでは、許可される式構造が制限されます。各言語機能のドキュメントでは、式に課せられる制限について説明しています。

OpenTofuの式動作は、tofu consoleコマンドを実行することで、OpenTofuの式コンソールから試すことができます。

このセクションの他のページでは、OpenTofuの式構文の機能について説明します。

  • 型と値では、OpenTofu式が解決できるデータ型と、それらの型の値のリテラル構文について説明します。

  • 文字列とテンプレートでは、文字列リテラル(補間シーケンスやテンプレートディレクティブを含む)の構文について説明します。

  • 値への参照では、変数やリソース属性などの名前付きの値を参照する方法について説明します。

  • 演算子では、算術、比較、論理演算子について説明します。

  • 関数呼び出しでは、OpenTofuの組み込み関数を呼び出すための構文について説明します。

  • 条件式では、ブール条件に基づいて2つの値を選択する、<CONDITION> ? <TRUE VAL> : <FALSE VAL>式について説明します。

  • For式では、[for s in var.list : upper(s)]のような式について説明します。これにより、複雑な型の値を別の複雑な型の値に変換できます。

  • スプラット式では、var.list[*].idのような式について説明します。これにより、複雑な式からより単純なコレクションを抽出できます。

  • 動的ブロックでは、リソースまたはその他の構造内で、複数の反復可能なネストされたブロックを作成する方法について説明します。

  • 型制約では、その型の値ではなく、型を参照するための構文について説明します。入力変数は、そのtype引数でこの構文を想定します。

  • バージョン制約では、許可されるソフトウェアバージョンのセットを定義する特殊な文字列の構文について説明します。OpenTofuでは、いくつかの場所でバージョン制約を使用します。