#terraform #terragrunt
Вопрос:
До сих пор я устанавливал объявление поставщиков в разделе backend ( modules
) моего terraform
/ terragrunt
репо, т. Е. В каждом модуле есть providers.tf
файл, в котором, например aws
, был объявлен поставщик
provider "aws" {
version = "~> 3"
region = var.aws_region
profile = var.aws_profile
}
Однако большинство новейших terragrunt
образцов кода , с которыми я сталкиваюсь, похоже, выступают за перенос этого раздела в раздел front-end ( live
) и, в частности, в terragrunt.hcl
, как в:
# Generate an AWS provider block
generate "provider" {
path = "provider.tf"
if_exists = "overwrite_terragrunt"
contents = <<EOF
provider "aws" {
region = "${local.aws_region}"
}
EOF
}
Есть ли польза от этого?
Есть ли недостаток в том, чтобы хранить provider
декларацию в modules
разделе? В любом случае версия/профиль и т.д. Могут быть переопределены внешними переменными.