gpt4 book ai didi

amazon-web-services - terraform aws 将实例列表从一个模块传递到另一个模块

转载 作者:行者123 更新时间:2023-12-02 08:13:43 25 4
gpt4 key购买 nike

我在 1 个模块中创建 2 个实例,现在我需要将这 2 个实例附加到使用另一个模块(同一文件)创建的 ELB - 如果不手动指定它们是否可行?

  module "instances" {
source = "../../../../modules/ec2"

ami = "ami...."
number_of_instances = 2
instance_type = "t2.micro"
}

module "elb" {
source = "../../../../modules//elb"

name = "some elb"
instances = ["???"] #something like ["${module.ec2.instances.id}"]?
}

最佳答案

首先,在您的 ec2 模块中定义输出:

output "instance_ids" {
value = ["${aws_instance.web.*.id}"]
}

注意:资源名称web 是一个例子。请在模块中指定实际的资源名称。

接下来,在您的 elb 模块中声明 list 变量:

variable "instances" {
type = "list"
}

最后将ec2模块的输出传递给elb模块:

module "instances" {
source = "../../../../modules/ec2"

ami = "ami...."
number_of_instances = 2
instance_type = "t2.micro"
}

module "elb" {
source = "../../../../modules/elb"

name = "some elb"
instances = ["${module.instances.instance_ids}"]
}

关于amazon-web-services - terraform aws 将实例列表从一个模块传递到另一个模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43850441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com