providers.tfとversions.tfはルートディレクトリのみに配置する
ルール
Place providers.tf and versions.tf only in the root directory
(providers.tfとversions.tfはルートディレクトリのみに配置する)
解説
プロバイダーはルートモジュール(terraform apply を実行する場所。development/など。)で一元管理します。言い方を変えると、サブモジュールでプロバイダを設定してはいけません。
サンプルコード
# ./production/providers.tf (ルートモジュール)
provider "aws" {
region = "ap-northeast-1"
default_tags {
tags = {
Environment = "production"
ManagedBy = "Terraform"
}
}
}
# ./production/versions.tf (ルートモジュール)
terraform {
required_version = "= 1.9.8"
required_providers {
aws = {
source = "hashicorp/aws"
version = "= 5.75.1"
}
}
}
参考リンク
Show Text to Shareproviders.tfとversions.tfはルートディレクトリのみに配置する https://www.tricrow.com/infrastructure/development-guidline/repository_structure.standard.providers.html

