From 9f6202fbaa11f6b5bf136dd730dee7c97d60ea29 Mon Sep 17 00:00:00 2001 From: hellertang Date: Tue, 21 Dec 2021 20:52:57 +0800 Subject: [PATCH] fix alarm policy import error when has event condition --- .../resource_tc_monitor_alarm_policy.go | 47 +++++++++---------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/tencentcloud/resource_tc_monitor_alarm_policy.go b/tencentcloud/resource_tc_monitor_alarm_policy.go index d75387160a..531b17161c 100644 --- a/tencentcloud/resource_tc_monitor_alarm_policy.go +++ b/tencentcloud/resource_tc_monitor_alarm_policy.go @@ -614,15 +614,17 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac "unit": rule.Unit, "rule_type": rule.RuleType, } - if *rule.Filter.Type != "" || *rule.Filter.Dimensions != "" { - var filter = make([]interface{}, 0, 10) - alarmPolicyFilter := map[string]interface{}{ - "type": rule.Filter.Type, - "dimensions": rule.Filter.Dimensions, - } - filter = append(filter, alarmPolicyFilter) - if len(filter) > 0 { - m["filter"] = filter + if rule.Filter != nil { + if *rule.Filter.Type != "" || *rule.Filter.Dimensions != "" { + var filter = make([]interface{}, 0, 10) + alarmPolicyFilter := map[string]interface{}{ + "type": rule.Filter.Type, + "dimensions": rule.Filter.Dimensions, + } + filter = append(filter, alarmPolicyFilter) + if len(filter) > 0 { + m["filter"] = filter + } } } @@ -637,12 +639,6 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac eventConditions := make([]map[string]interface{}, 0, len(policy.EventCondition.Rules)) for _, eventRule := range policy.EventCondition.Rules { - var filter = make([]interface{}, 0, 10) - alarmPolicyFilter := map[string]interface{}{ - "type": eventRule.Filter.Type, - "dimensions": eventRule.Filter.Dimensions, - } - filter = append(filter, alarmPolicyFilter) m := make(map[string]interface{}, 5) m["metric_name"] = eventRule.MetricName @@ -656,16 +652,17 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac m["description"] = eventRule.Description m["unit"] = eventRule.Unit m["rule_type"] = eventRule.RuleType - - if *eventRule.Filter.Type != "" || *eventRule.Filter.Dimensions != "" { - var filter = make([]interface{}, 0, 10) - alarmPolicyFilter := map[string]interface{}{ - "type": eventRule.Filter.Type, - "dimensions": eventRule.Filter.Dimensions, - } - filter = append(filter, alarmPolicyFilter) - if len(filter) > 0 { - m["filter"] = filter + if eventRule.Filter != nil { + if *eventRule.Filter.Type != "" || *eventRule.Filter.Dimensions != "" { + var filter = make([]interface{}, 0, 10) + alarmPolicyFilter := map[string]interface{}{ + "type": eventRule.Filter.Type, + "dimensions": eventRule.Filter.Dimensions, + } + filter = append(filter, alarmPolicyFilter) + if len(filter) > 0 { + m["filter"] = filter + } } } eventConditions = append(eventConditions, m)