问题是module.super_queue_api-a.ec2-instance是一个数组,因为该模块正在创建多个实例,并且该模块的输出是一个具有所有实例ID的数组。
我已经修改了代码,因此它为每个实例创建了一个警报:
resource "aws_cloudwatch_metric_alarm" "queue_1" {
count = "${length(module.superb_queue_api-a.ec2-instance)}"
alarm_name = "sup-queue-api-a-${module.superb_queue_api-a.ec2-instance[count.index]}"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = "1"
metric_name = "CPUUtilization"
namespace = "AWS/EC2"
period = "120"
statistic = "Average"
threshold = "90"
dimensions {
InstanceId = "${module.superb_queue_api-a.ec2-instance[count.index]}"
}
alarm_description = "This metric monitors ec2 cpu utilization"
alarm_actions = ["${var.terraform_elb_name}"]
}