コマンド: apply
tofu applyコマンドは、OpenTofuプランで提案されたアクションを実行します。
使い方
使用方法: tofu apply [options] [plan file]
自動プランモード
保存されたプランファイルを渡さずにtofu applyを実行すると、OpenTofuはtofu planを実行したかのように自動的に新しい実行プランを作成し、そのプランを承認するように求め、指示されたアクションを実行します。 プランニングモードとプランニングオプションをすべて使用して、OpenTofuがプランを作成する方法をカスタマイズできます。
-auto-approveオプションを渡して、確認を求めずにプランを適用するようにOpenTofuに指示できます。
-auto-approveを使用する場合、OpenTofuワークフロー以外で誰もインフラストラクチャを変更できないようにすることをお勧めします。これにより、予測不可能な変更や構成ドリフトのリスクを最小限に抑えることができます。
保存されたプランモード
保存されたプランファイルをtofu applyに渡すと、OpenTofuは確認を求めることなく、保存されたプランのアクションを実行します。自動化でOpenTofuを実行する場合は、この2段階ワークフローを使用することをお勧めします。
適用する前に、tofu showを使用して、保存されたプランファイルを確認してください。
保存されたプランを使用する場合、追加のプランニングモードやオプションを指定することはできません。これらのオプションは、どのアクションを実行するかというOpenTofuの決定にのみ影響し、プランファイルにはそれらの決定の最終結果が含まれています。
プランオプション
保存されたプランファイルがない場合、tofu applyはtofu planで使用可能なすべてのプランニングモードとプランニングオプションをサポートします。
- プランニングモード: これには、すべてのリモートオブジェクトを破棄するプランを作成する
-destroy、およびOpenTofuの状態とルートモジュール出力値を更新するプランを作成する-refresh-onlyが含まれます。 - プランニングオプション: これには、OpenTofuが置き換えるリソースインスタンスの指定、OpenTofu入力変数の設定などが含まれます。
適用オプション
次のオプションは、適用コマンドの実行方法と適用操作に関するレポートを変更します。
-
-auto-approve- 適用前のプランのインタラクティブな承認をスキップします。このオプションは、OpenTofuがプランファイルを承認として渡し、その場合はプロンプトを表示しないため、以前に保存したプランファイルを渡す場合は無視されます。 -
-compact-warnings- 警告に少なくとも1つのエラーが伴い、その結果、エラーのコンテキストとして警告テキストが役立つ可能性がある場合を除き、要約メッセージのみを含むコンパクトな形式で警告メッセージを表示します。 -
-input=false- OpenTofuのインタラクティブなプロンプトをすべて無効にします。これは、OpenTofuがプランのインタラクティブな承認を求めるプロンプトを表示するのを防ぎ、OpenTofuはプランを適用したくないと控えめに推測し、操作が失敗することに注意してください。 -
-json- 機械可読JSON UI出力を有効にします。これは-input=falseを意味するため、構成には続行するための未割り当ての変数値を設定できません。このフラグを有効にするには、-auto-approveフラグを有効にするか、以前に保存したプランを指定する必要があります。 -
-lock=false- 操作中に状態ロックを保持しません。これは、他の人が同じワークスペースに対して同時にコマンドを実行する可能性がある場合は危険です。 -
-lock-timeout=DURATION--lock=falseでロックが無効にされていない限り、OpenTofuに、エラーを返す前にロックの取得を一定期間再試行するように指示します。期間の構文は、数字の後に時間単位文字が続きます。たとえば、3秒の場合は「3s」です。 -
-no-color- 出力のターミナル書式設定シーケンスを無効にします。ターミナル書式設定を解釈できないシステムで出力がレンダリングされるコンテキストでOpenTofuを実行している場合は、これを使用します。 -
-parallelism=n- OpenTofuがグラフをたどる際の同時操作数を制限します。デフォルトは10です。 -
tofu planのすべてのプランニングモードとプランニングオプション - OpenTofuがプランを作成する方法をカスタマイズします。保存されたプランファイルなしでtofu applyを実行する場合にのみ使用できます。
local バックエンド (ドキュメントはこちら) を使用する構成の場合のみ、tofu apply はレガシーオプション -state, -state-out, および -backup も受け付けます。
環境変数
環境変数を使用することで、apply コマンドの動作をさらにカスタマイズできます。たとえば、TF_STATE_PERSIST_INTERVAL 環境変数を使用すると、状態の永続化の間隔を指定できます。
別の構成ディレクトリの指定
ワークフローがルートモジュールディレクトリの上書きに依存している場合は、代わりに-chdir グローバルオプションを使用してください。これはすべてのコマンドで機能し、OpenTofu が通常現在の作業ディレクトリで読み書きするすべてのファイルを、指定されたディレクトリ内で一貫して検索するようにします。