terraform-modules/terraform-alicloud-landing-zone-actiontrail-event-alert/main.tf (59 lines of code) (raw):

data "alicloud_log_alert_resource" "init" { type = "user" lang = var.lang == "en-US" ? "en" : "cn" } resource "alicloud_log_resource_record" "user" { for_each = { for user in var.users : user.id => user } provider = alicloud.log_resource_record resource_name = "sls.common.user" record_id = each.key tag = each.value.name value = <<EOF { "user_id": "${each.key}", "user_name": "${each.value.name}", "email": [ "${each.value.email}" ], "enabled": true } EOF } locals { user_ids = [ for user in var.users : user.id ] } resource "alicloud_log_resource_record" "user_group" { provider = alicloud.log_resource_record resource_name = "sls.common.user_group" record_id = var.user_group_id tag = var.user_group_name value = <<EOF { "user_group_id": "${var.user_group_id}", "user_group_name": "${var.user_group_name}", "enabled": true, "members": ${jsonencode(local.user_ids)} } EOF depends_on = [alicloud_log_resource_record.user] } resource "alicloud_log_resource_record" "action_policy" { provider = alicloud.log_resource_record resource_name = "sls.alert.action_policy" record_id = var.action_policy_id tag = var.action_policy_name value = <<EOF { "action_policy_id": "${var.action_policy_id}", "action_policy_name": "${var.action_policy_name}", "labels": {}, "is_default": false, "primary_policy_script": "fire(type=\"email\", groups=[\"${var.user_group_id}\"], template_id=\"${var.lang == "en-US" ? "sls.app.actiontrail.builtin.en" : "sls.app.actiontrail.builtin.cn"}\", period=\"${var.notification_period}\")" } EOF depends_on = [alicloud_log_resource_record.user_group] }