@@ -614,15 +614,17 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac
614614 "unit" : rule .Unit ,
615615 "rule_type" : rule .RuleType ,
616616 }
617- if * rule .Filter .Type != "" || * rule .Filter .Dimensions != "" {
618- var filter = make ([]interface {}, 0 , 10 )
619- alarmPolicyFilter := map [string ]interface {}{
620- "type" : rule .Filter .Type ,
621- "dimensions" : rule .Filter .Dimensions ,
622- }
623- filter = append (filter , alarmPolicyFilter )
624- if len (filter ) > 0 {
625- m ["filter" ] = filter
617+ if rule .Filter != nil {
618+ if * rule .Filter .Type != "" || * rule .Filter .Dimensions != "" {
619+ var filter = make ([]interface {}, 0 , 10 )
620+ alarmPolicyFilter := map [string ]interface {}{
621+ "type" : rule .Filter .Type ,
622+ "dimensions" : rule .Filter .Dimensions ,
623+ }
624+ filter = append (filter , alarmPolicyFilter )
625+ if len (filter ) > 0 {
626+ m ["filter" ] = filter
627+ }
626628 }
627629 }
628630
@@ -637,12 +639,6 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac
637639
638640 eventConditions := make ([]map [string ]interface {}, 0 , len (policy .EventCondition .Rules ))
639641 for _ , eventRule := range policy .EventCondition .Rules {
640- var filter = make ([]interface {}, 0 , 10 )
641- alarmPolicyFilter := map [string ]interface {}{
642- "type" : eventRule .Filter .Type ,
643- "dimensions" : eventRule .Filter .Dimensions ,
644- }
645- filter = append (filter , alarmPolicyFilter )
646642
647643 m := make (map [string ]interface {}, 5 )
648644 m ["metric_name" ] = eventRule .MetricName
@@ -656,16 +652,17 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac
656652 m ["description" ] = eventRule .Description
657653 m ["unit" ] = eventRule .Unit
658654 m ["rule_type" ] = eventRule .RuleType
659-
660- if * eventRule .Filter .Type != "" || * eventRule .Filter .Dimensions != "" {
661- var filter = make ([]interface {}, 0 , 10 )
662- alarmPolicyFilter := map [string ]interface {}{
663- "type" : eventRule .Filter .Type ,
664- "dimensions" : eventRule .Filter .Dimensions ,
665- }
666- filter = append (filter , alarmPolicyFilter )
667- if len (filter ) > 0 {
668- m ["filter" ] = filter
655+ if eventRule .Filter != nil {
656+ if * eventRule .Filter .Type != "" || * eventRule .Filter .Dimensions != "" {
657+ var filter = make ([]interface {}, 0 , 10 )
658+ alarmPolicyFilter := map [string ]interface {}{
659+ "type" : eventRule .Filter .Type ,
660+ "dimensions" : eventRule .Filter .Dimensions ,
661+ }
662+ filter = append (filter , alarmPolicyFilter )
663+ if len (filter ) > 0 {
664+ m ["filter" ] = filter
665+ }
669666 }
670667 }
671668 eventConditions = append (eventConditions , m )
0 commit comments