Вы можете создать собственную 'среду' для этого.Давайте назовем его 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}"
}