Как сделать терраформный модуль источников данных? - PullRequest
0 голосов
/ 03 июня 2019

Я хочу сделать модуль источников данных, но я не уверен, как их объявить?Различные учетные записи будут использовать одно и то же, и они уже есть.

источники данных касаются iam и политик.Обычно я знаю, что вы делаете:

module "iam" {
source = "folder"
name = "blabla"
... }

Большое спасибо!

1 Ответ

0 голосов
/ 03 июня 2019

Вы можете создать собственную 'среду' для этого.Давайте назовем его general.

Если вы назначите ему собственный бэкэнд и сконфигурируете его для использования S3 bucket в качестве удаленного хранилища (рекомендуется в любом случае, если вы работаетес несколькими участниками), вы можете работать с terraform_remote_state.Просто импортируйте состояние general в свою среду с помощью

data "terraform_remote_state" "general" {
    backend = "s3"

    config {
        region = "..."   # e.g. "eu-central-1"
        bucket = "..."   # the remote-storage bucket name of 'general'
        key    = "..."   # e.g. "environments/general/terraform.tfstate" (as defined in the 'general' backend!
  }
}

Затем вы можете получить доступ к ресурсам из этого состояния с помощью ami = "${data.terraform_remote_state.general.ami}", если вы объявили их как выходную переменную :

output "ami" {
    description = "The ID of the default EC2 AMI"
    value       = "${var.ami}" 
}

Конечно, вы также можете выводить атрибуты ресурса:

output "vpc_id" {
    description = "The ID of the created VPC"
    value       = "${aws_vpc.vpc.id}"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...