Skip to content

Commit 4a978bb

Browse files
author
hellertang
authored
fix import alarm policy missing conditions (#726)
1 parent f5aba3b commit 4a978bb

File tree

2 files changed

+27
-21
lines changed

2 files changed

+27
-21
lines changed

tencentcloud/internal/helper/transform.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ func PUint64(pointer *uint64) uint64 {
5555
return *pointer
5656
}
5757

58+
func PInt64(pointer *int64) int64 {
59+
return *pointer
60+
}
61+
5862
// Takes the result of flatmap.Expand for an array of strings
5963
// and returns a []string
6064
func InterfacesStrings(configured []interface{}) []string {

tencentcloud/resource_tc_monitor_alarm_policy.go

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ func resourceTencentMonitorAlarmPolicy() *schema.Resource {
173173
Type: schema.TypeList,
174174
Optional: true,
175175
MaxItems: 1,
176+
Computed: true,
176177
Description: "A list of metric trigger condition.",
177178
Elem: &schema.Resource{
178179
Schema: map[string]*schema.Schema{
@@ -196,6 +197,7 @@ func resourceTencentMonitorAlarmPolicy() *schema.Resource {
196197
"event_conditions": {
197198
Type: schema.TypeList,
198199
Optional: true,
200+
Computed: true,
199201
Description: "A list of event trigger condition.",
200202
Elem: &schema.Resource{
201203
Schema: AlarmPolicyRule(),
@@ -457,31 +459,32 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac
457459
d.Set("update_time", policy.UpdateTime),
458460
)
459461

460-
var conditions = map[string]interface{}{}
461-
conditions["is_union_rule"] = policy.Condition.IsUnionRule
462462
var rules = make([]interface{}, 0, 100)
463463
for _, rule := range policy.Condition.Rules {
464-
m := map[string]interface{}{}
465-
m["metrics_name"] = rule.MetricName
466-
m["period"] = rule.Period
467-
m["operator"] = rule.Operator
468-
m["value"] = rule.Value
469-
m["continue_period"] = rule.ContinuePeriod
470-
m["notice_frequency"] = rule.NoticeFrequency
471-
m["is_power_notice"] = rule.IsPowerNotice
472-
m["notice_frequency"] = rule.NoticeFrequency
473-
m["description"] = rule.Description
474-
m["unit"] = rule.Unit
475-
m["rule_type"] = rule.RuleType
464+
m := map[string]interface{}{
465+
"metric_name": rule.MetricName,
466+
"period": rule.Period,
467+
"operator": rule.Operator,
468+
"value": rule.Value,
469+
"continue_period": rule.ContinuePeriod,
470+
"notice_frequency": rule.NoticeFrequency,
471+
"description": rule.Description,
472+
"unit": rule.Unit,
473+
"rule_type": rule.RuleType,
474+
}
476475
rules = append(rules, m)
477476
}
478-
conditions["rules"] = rules
479-
errs = append(errs, d.Set("conditions", conditions))
480477

481-
var eventConditions = make([]interface{}, 0, 100)
478+
conditions := map[string]interface{}{
479+
"is_union_rule": policy.Condition.IsUnionRule,
480+
"rules": rules,
481+
}
482+
_ = d.Set("conditions", []interface{}{conditions})
483+
484+
eventConditions := make([]map[string]interface{}, 0, len(policy.EventCondition.Rules))
482485
for _, eventRule := range policy.EventCondition.Rules {
483-
m := map[string]interface{}{}
484-
m["metrics_name"] = eventRule.MetricName
486+
m := make(map[string]interface{}, 5)
487+
m["metric_name"] = eventRule.MetricName
485488
m["period"] = eventRule.Period
486489
m["operator"] = eventRule.Operator
487490
m["value"] = eventRule.Value
@@ -494,8 +497,7 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac
494497
m["rule_type"] = eventRule.RuleType
495498
eventConditions = append(eventConditions, m)
496499
}
497-
errs = append(errs, d.Set("event_conditions", eventConditions))
498-
500+
_ = d.Set("event_conditions", eventConditions)
499501
var noticeIds = make([]interface{}, 0, 100)
500502
for _, notice := range policy.NoticeIds {
501503
noticeIds = append(noticeIds, notice)

0 commit comments

Comments
 (0)