Terraform午餐EC2条件基于计数



尝试基于条件("单个目标"(午餐1或2个实例

获取错误:

132:   target_id        = var.ec2-2
var.ec2-2 is empty tuple
Inappropriate value for attribute "target_id": string required.

该变量的使用:

resource "aws_lb_target_group_attachment" "b" {
target_id        = var.ec2-2
}

输出:

output "ec2-2_ot" {
value = aws_instance.ec2V2[*].id
description = "the value of the network module ec2-2 id"
}

变量:

variable "single-target" {
type=bool
default=false
}

main.tf:

module "network_module" {
ec2-2 = module.compute_module.ec2-2_ot
}

ec2发布:

resource "aws_instance" "ec2V2" {
count = var.single-target ? 0 : 1
ami                         = var.ec2_ami
instance_type               = var.ec2_type
associate_public_ip_address = true
key_name = var.key_pair
vpc_security_group_ids = [ var.vpc-sg ]
subnet_id = var.subnet-2
user_data = file("PATH/user-data.sh")

tags = {
Name = var.ec2-2_name
}
}

由于计数已设置为要创建的资源,因此需要通过本地形文档中提到的Splat Expression访问返回结果列表。

如果你需要从结果列表中选择特定的索引,那么你可以使用元素函数来完成

因此,在您的情况下,如果您需要输出EC2-id,则如下所示。

output "thisisoutput" {
value = aws_instance.ec2V2[*].arn
}

相关内容

  • 没有找到相关文章

最新更新