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 Share
providers.tfとversions.tfはルートディレクトリのみに配置する
https://www.tricrow.com/infrastructure/development-guidline/repository_structure.standard.providers.html
この記事を書いた人
T.Nakamura
T.Nakamura
SRE | セキュリティ前提の設計・運用・監査対応(PCI DSS) | ドキュメント整備と仕組み化で開発・運用を整えます | AWS SAP / 日商簿記一級フォローはこちら

カテゴリ

タグ