Skip to content

Update alicloud_cms_alarm deprecated settings #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
157 changes: 136 additions & 21 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,34 @@ resource "alicloud_cms_alarm" "cpu_utilization" {
instanceId = local.this_instance_id
device = "/dev/vda1,/dev/vdb1"
}
statistics = var.alarm_rule_statistics
dynamic "escalations_critical" {
for_each = var.alarm_escalation_level == "critical" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
dynamic "escalations_warn" {
for_each = var.alarm_escalation_level == "warn" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
dynamic "escalations_info" {
for_each = var.alarm_escalation_level == "info" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
period = var.alarm_rule_period
operator = var.alarm_rule_operator
threshold = var.alarm_rule_threshold
triggered_count = var.alarm_rule_triggered_count
contact_groups = var.alarm_rule_contact_groups
silence_time = var.alarm_rule_silence_time
effective_interval = var.alarm_rule_effective_interval
Expand All @@ -59,11 +82,34 @@ resource "alicloud_cms_alarm" "memory_utilization" {
instanceId = local.this_instance_id
device = "/dev/vda1,/dev/vdb1"
}
statistics = var.alarm_rule_statistics
dynamic "escalations_critical" {
for_each = var.alarm_escalation_level == "critical" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
dynamic "escalations_warn" {
for_each = var.alarm_escalation_level == "warn" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
dynamic "escalations_info" {
for_each = var.alarm_escalation_level == "info" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
period = var.alarm_rule_period
operator = var.alarm_rule_operator
threshold = var.alarm_rule_threshold
triggered_count = var.alarm_rule_triggered_count
contact_groups = var.alarm_rule_contact_groups
silence_time = var.alarm_rule_silence_time
effective_interval = var.alarm_rule_effective_interval
Expand All @@ -78,11 +124,34 @@ resource "alicloud_cms_alarm" "disk_utilization" {
instanceId = local.this_instance_id
device = "/dev/vda1,/dev/vdb1"
}
statistics = var.alarm_rule_statistics
dynamic "escalations_critical" {
for_each = var.alarm_escalation_level == "critical" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
dynamic "escalations_warn" {
for_each = var.alarm_escalation_level == "warn" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
dynamic "escalations_info" {
for_each = var.alarm_escalation_level == "info" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
period = var.alarm_rule_period
operator = var.alarm_rule_operator
threshold = var.alarm_rule_threshold
triggered_count = var.alarm_rule_triggered_count
contact_groups = var.alarm_rule_contact_groups
silence_time = var.alarm_rule_silence_time
effective_interval = var.alarm_rule_effective_interval
Expand All @@ -97,11 +166,34 @@ resource "alicloud_cms_alarm" "intranet_in" {
instanceId = local.this_instance_id
device = "/dev/vda1,/dev/vdb1"
}
statistics = var.alarm_rule_statistics
dynamic "escalations_critical" {
for_each = var.alarm_escalation_level == "critical" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
dynamic "escalations_warn" {
for_each = var.alarm_escalation_level == "warn" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
dynamic "escalations_info" {
for_each = var.alarm_escalation_level == "info" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
period = var.alarm_rule_period
operator = var.alarm_rule_operator
threshold = var.alarm_rule_threshold
triggered_count = var.alarm_rule_triggered_count
contact_groups = var.alarm_rule_contact_groups
silence_time = var.alarm_rule_silence_time
effective_interval = var.alarm_rule_effective_interval
Expand All @@ -116,12 +208,35 @@ resource "alicloud_cms_alarm" "intranet_out" {
instanceId = local.this_instance_id
device = "/dev/vda1,/dev/vdb1"
}
statistics = var.alarm_rule_statistics
dynamic "escalations_critical" {
for_each = var.alarm_escalation_level == "critical" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
dynamic "escalations_warn" {
for_each = var.alarm_escalation_level == "warn" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
dynamic "escalations_info" {
for_each = var.alarm_escalation_level == "info" ? [{}] : []
content {
statistics = var.alarm_rule_statistics
comparison_operator = var.alarm_rule_comparison_operator
threshold = var.alarm_rule_threshold
times = var.alarm_rule_times
}
}
period = var.alarm_rule_period
operator = var.alarm_rule_operator
threshold = var.alarm_rule_threshold
triggered_count = var.alarm_rule_triggered_count
contact_groups = var.alarm_rule_contact_groups
silence_time = var.alarm_rule_silence_time
effective_interval = var.alarm_rule_effective_interval
}
}
10 changes: 8 additions & 2 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ variable "enable_alarm_rule" {
default = true
}

variable "alarm_escalation_level" {
description = "Whether alarm level is 'critical', 'warn', or 'info'. Default is 'critical'."
type = string
default = "critical"
}

variable "alarm_rule_name" {
description = "The alarm rule name. "
type = string
Expand All @@ -52,7 +58,7 @@ variable "alarm_rule_statistics" {
default = "Average"
}

variable "alarm_rule_operator" {
variable "alarm_rule_comparison_operator" {
description = "Alarm comparison operator. Valid values: ['<=', '<', '>', '>=', '==', '!=']. Default to '=='. "
type = string
default = "=="
Expand All @@ -64,7 +70,7 @@ variable "alarm_rule_threshold" {
default = ""
}

variable "alarm_rule_triggered_count" {
variable "alarm_rule_times" {
description = "Number of consecutive times it has been detected that the values exceed the threshold. Default to 3. "
type = number
default = 3
Expand Down