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

リソースの provider メタ引数

provider メタ引数は、リソースに使用するプロバイダ構成を指定し、リソースタイプ名に基づいてプロバイダを選択する OpenTofu のデフォルトの動作をオーバーライドします。その値は、引用符で囲まれていない <PROVIDER>.<ALIAS> 参照である必要があります。

プロバイダ構成で説明されているように、必要に応じて、単一のプロバイダに対して複数の構成を作成できます (通常は、マルチリージョンサービスのさまざまなリージョンのリソースを管理するため)。各プロバイダは、1つのデフォルト構成と、追加の名前セグメント (または "エイリアス") を含む任意の数の代替構成を持つことができます。

デフォルトでは、OpenTofu はリソースタイプ名の最初の単語 (アンダースコアで区切られています) をプロバイダのローカル名として解釈し、そのプロバイダのデフォルト構成を使用します。たとえば、リソースタイプ google_compute_instance は、google という名前のプロバイダのデフォルト構成に自動的に関連付けられます。

provider メタ引数を使用すると、リソースの代替プロバイダ構成を選択できます。

コードブロック
# default configuration
provider "google" {
region = "us-central1"
}

# alternate configuration, whose alias is "europe"
provider "google" {
alias = "europe"
region = "europe-west1"
}

resource "google_compute_instance" "example" {
# This "provider" meta-argument selects the google provider
# configuration whose alias is "europe", rather than the
# default configuration.
provider = google.europe

# ...
}

リソースは、プロバイダが完全に構成されてからリソースアクションが実行されるようにするために、関連付けられているプロバイダに常に暗黙的な依存関係を持ちます。

provider メタ引数は、引用符で囲む必要のない <PROVIDER>.<ALIAS> 参照を予期しています。provider には任意の式は許可されていません。これは、OpenTofu が依存関係グラフを構築している間、式を評価する前に解決する必要があるためです。