サポートされている構成へのレガシー・プロバイダ・ソース構成の移行

プロバイダをレガシーのhashicorp/ociソース構成からoracle/ociに移行します。

Terraform構成ファイルrequired_providersブロックでは、レガシーhashicorp/ociソース構成が使用される場合があります。

次に例を示します:

terraform {
  required_providers {
    oci = {
      source = "hashicorp/oci"
      version = "4.55.0"
    }
  }
}

このレガシーhashicorp/ociソース構成は今後サポートされません。

レガシー・ソース構成を現在のoracle/ociソース構成に移行します。

  1. Terraform構成のrequired_providersブロックを更新します。

    次に例を示します:

    terraform {
      required_providers {
        oci = {
          source = "oracle/oci"
        }
      }
    }

    バージョンを指定するには、version行を追加します。

    例(バージョン4.55.0):

    terraform {
      required_providers {
        oci = {
          source = "oracle/oci"
          version = "4.55.0"
        }
      }
    }
  2. モジュールを使用する場合は、各モジュールに次のブロックを追加します。
    terraform {
      required_providers {
        oci = {
          source = "oracle/oci"
        }
      }
    }

    バージョンを指定するには、version行を追加します(前のステップの例を参照)。

    モジュール内のプロバイダの詳細は、モジュール内のプロバイダを参照してください。

  3. terraform initを実行します。

    移行試行の状態は、次のレスポンスで示されます。

    • 成功したコマンドは、移行が成功したことを示します。
    • 次のエラーは、移行の失敗を示しています。
      │ Error: Failed to load plugin schemas
      │
      │ Error while loading schemas for plugin components: Failed to obtain
      │ provider schema: Could not load the schema for provider
      │ registry.terraform.io/hashicorp/oci: failed to instantiate provider
      │ "registry.terraform.io/hashicorp/oci" to obtain schema: unavailable provider
      │ "registry.terraform.io/hashicorp/oci"..
  4. 移行が失敗した場合は、次を実行します。
    1. terraform state replace-provider -auto-approve hashicorp/oci oracle/ociを実行します。
    2. terraform initを実行します。