本文へ移動

コマンド: state replace-provider

tofu state replace-providerコマンドは、OpenTofu状態内のリソースのプロバイダーを置き換えるために使用されます。

使用方法

使用方法: tofu state replace-provider [オプション] FROM_PROVIDER_FQN TO_PROVIDER_FQN

このコマンドは、「from」プロバイダーを使用するすべてのリソースを更新し、プロバイダーを指定された「to」プロバイダーに設定します。これにより、現在状態にリソースを持つプロバイダーのソースを変更できます。

このコマンドは、変更を保存する前に状態のバックアップコピーを出力します。バックアップを無効にすることはできません。このコマンドの破壊的な性質のため、バックアップが必要です。

このコマンドは、以下のオプションも受け付けます。

  • -auto-approve - 対話型の承認をスキップします。

  • -lock=false - 操作中に状態ロックを保持しません。他のユーザーが同じワークスペースに対してコマンドを同時に実行する可能性がある場合、これは危険です。

  • -lock-timeout=0s - 状態ロックを再試行する期間。

  • -var 'NAME=VALUE' - 設定のルートモジュールの入力変数の値を1つ設定します。複数の変数を設定するには、このオプションを複数回使用します。詳細については、コマンドラインでの入力変数を参照してください。

  • -var-file=FILENAME - "tfvars"ファイルの定義を使用して、設定のルートモジュールの複数の入力変数の値を設定します。複数のファイルの値を含めるには、このオプションを複数回使用します。

-varおよび-var-fileオプション以外にも、ルートモジュールの入力変数の値を設定する方法はいくつかあります。詳細については、ルートモジュールの変数への値の割り当てを参照してください。

cloudバックエンドまたはremoteバックエンドを使用する設定の場合のみ、tofu state replace-provider-ignore-remote-versionオプションも受け付けます。

local状態を使用する設定の場合のみ、tofu state replace-providerはレガシーオプション-state-state-out、および-backupも受け付けます。

以下の例では、hashicorp/awsプロバイダーを、registry.acme.corpのプライベートレジストリでホストされているacmeによるフォークに置き換えます。

コードブロック
$ tofu state replace-provider hashicorp/aws registry.acme.corp/acme/aws