Перемещение блока поставщика из модуля в живые файлы в terragrunt

#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 разделе? В любом случае версия/профиль и т.д. Могут быть переопределены внешними переменными.