jdo*_*doe 1 module amazon-web-services terraform
我正在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}"]?
}
Run Code Online (Sandbox Code Playgroud)
首先,在ec2模块中定义输出:
output "instance_ids" {
value = ["${aws_instance.web.*.id}"]
}
Run Code Online (Sandbox Code Playgroud)
注意:资源名称web是一个示例。请在模块中指定实际的资源名称。
接下来,在elb模块中声明list变量:
variable "instances" {
type = "list"
}
Run Code Online (Sandbox Code Playgroud)
最后,将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}"]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
525 次 |
| 最近记录: |