Есть ли способ абстрагироваться от поставщика для всех модулей, определенных в проекте.
например у меня есть этот проект
├── modules
│ ├── RDS
│ └── VPC
└── stacks
├── production
│ └── main.tf
└── staging
└── main.tf
и он отлично работает ... проблема с определением модулей
├── RDS
│ ├── README.md
│ ├── main.tf
│ ├── providers.tf
│ └── variables.tf
└── VPC
├── README.md
├── main.tf
├── providers.tf
└── variables.tf
провайдер в обоих этих модулях точно такой же
# providers.tf
provider "aws" {
region = "${var.region}"
version = "~> 1.26"
}
и переменные в каждом модуле разные, но все они имеют переменную region
.
# variables.tf
variable "region" {
default = "eu-central-1"
description = "AWS region."
}
# other module dependent variables...
есть ли способ определить эти биты информации на уровне модулей, чтобы я получил что-то примерно такое
├── modules
│ ├── providers.tf <<< include the *shared* provider definition block
│ ├── variables.tf <<< include the *shared* region vaiable definition block
│ ├── RDS
│ │ ├── README.md
│ │ ├── main.tf
│ │ └── variables.tf
│ └── VPC
│ ├── README.md
│ ├── main.tf
│ └── variables.tf
И последнее: определения модулей в большинстве случаев имеют атрибут ресурса (извлечение модуля из реестра terraform ... поэтому я не знаю, возможно ли унаследовать как источник из реестра, так и базовый модуль)