/* data "external" "nlb-targetgroups" { program = ["bash", "${path.module}/list-nlb-targetgroups.sh"] query = { parameter = var.load-balancer } } */ module "nlb-targetgroups" { source = "../../util/resource-list" resource-type = "nlb-targetgroups" query-input = var.load-balancer } resource "aws_cloudwatch_metric_alarm" "nlb-HealthyHostCount" { for_each = module.nlb-targetgroups.result-set alarm_name = "NLBTG:HealthyHostCount:${split(":", each.value)[5]}" comparison_operator = "LessThanThreshold" evaluation_periods = "1" metric_name = "HealthyHostCount" period = "300" statistic = "Minimum" threshold = var.threshold-HealthHostCountMin alarm_description = "NLBTG:HealthyHostCount" namespace = "AWS/NetworkELB" insufficient_data_actions = [] actions_enabled = "true" alarm_actions = [var.alarm-actions-emergency] ok_actions = [var.alarm-actions-emergency] dimensions = { TargetGroup = split(":", each.value)[5] LoadBalancer = "net/${split("/", var.load-balancer)[2]}/${split("/", var.load-balancer)[3]}" } tags = var.default-tags lifecycle { ignore_changes = [tags] } }