From 9ebd12675f177ece487723c9aa625317beea1216 Mon Sep 17 00:00:00 2001 From: hellertang Date: Thu, 16 Dec 2021 16:40:42 +0800 Subject: [PATCH] fix tencentcloud_monitor_alarm_policy bug and modify docs --- tencentcloud/resource_tc_ckafka_instance.go | 9 ++++- .../resource_tc_clb_customized_config.go | 2 +- .../resource_tc_monitor_alarm_policy.go | 40 +++++++++++-------- website/docs/r/ckafka_instance.html.markdown | 8 +++- .../r/clb_customized_config.html.markdown | 2 +- 5 files changed, 41 insertions(+), 20 deletions(-) diff --git a/tencentcloud/resource_tc_ckafka_instance.go b/tencentcloud/resource_tc_ckafka_instance.go index c208e5b105..062fa2cec0 100644 --- a/tencentcloud/resource_tc_ckafka_instance.go +++ b/tencentcloud/resource_tc_ckafka_instance.go @@ -1,6 +1,8 @@ /* Use this resource to create ckafka instance. +~> **NOTE:** It only support create profession ckafka instance. + Example Usage ```hcl @@ -10,7 +12,12 @@ resource "tencentcloud_ckafka_instance" "foo" { period = 1 vpc_id = "vpc-boi1ah65" subnet_id = "subnet-7ros461e" - msg_retention_time = 1440 + msg_retention_time = 1300 + renew_flag = 0 + kafka_version = "1.1.1" + disk_size = 500 + disk_type = "CLOUD_BASIC" + config { auto_create_topic_enable = true diff --git a/tencentcloud/resource_tc_clb_customized_config.go b/tencentcloud/resource_tc_clb_customized_config.go index fdbed09971..7039c826d3 100644 --- a/tencentcloud/resource_tc_clb_customized_config.go +++ b/tencentcloud/resource_tc_clb_customized_config.go @@ -5,7 +5,7 @@ Example Usage ```hcl resource "tencentcloud_clb_customized_config" "foo" { - config_content = "client_max_body_size 224M;" + config_content = "client_max_body_size 224M;\r\nclient_body_timeout 60s;" config_name = "helloWorld" load_balancer_ids = [ "${tencentcloud_clb_instance.internal_clb.id}", diff --git a/tencentcloud/resource_tc_monitor_alarm_policy.go b/tencentcloud/resource_tc_monitor_alarm_policy.go index 09bbe2ef2b..af86c52c7d 100644 --- a/tencentcloud/resource_tc_monitor_alarm_policy.go +++ b/tencentcloud/resource_tc_monitor_alarm_policy.go @@ -433,14 +433,16 @@ func resourceTencentMonitorAlarmPolicyCreate(d *schema.ResourceData, meta interf if m["is_power_notice"] != nil { alarmPolicyRule.IsPowerNotice = helper.IntInt64(m["is_power_notice"].(int)) } - if m["filter"] != nil { - filters := m["filter"].([]interface{}) - filter := filters[0].(map[string]interface{}) - alarmPolicyFilter := monitor.AlarmPolicyFilter{ - Type: helper.String(filter["type"].(string)), - Dimensions: helper.String(filter["dimensions"].(string)), + if v, ok := m["filter"]; ok { + filters := v.([]interface{}) + if len(filters) > 0 { + filter := filters[0].(map[string]interface{}) + alarmPolicyFilter := monitor.AlarmPolicyFilter{ + Type: helper.String(filter["type"].(string)), + Dimensions: helper.String(filter["dimensions"].(string)), + } + alarmPolicyRule.Filter = &alarmPolicyFilter } - alarmPolicyRule.Filter = &alarmPolicyFilter } if m["description"] != nil { @@ -486,12 +488,14 @@ func resourceTencentMonitorAlarmPolicyCreate(d *schema.ResourceData, meta interf } if m["filter"] != nil { filters := m["filter"].([]interface{}) - filter := filters[0].(map[string]interface{}) - alarmPolicyFilter := monitor.AlarmPolicyFilter{ - Type: helper.String(filter["type"].(string)), - Dimensions: helper.String(filter["dimensions"].(string)), + if len(filters) > 0 { + filter := filters[0].(map[string]interface{}) + alarmPolicyFilter := monitor.AlarmPolicyFilter{ + Type: helper.String(filter["type"].(string)), + Dimensions: helper.String(filter["dimensions"].(string)), + } + alarmPolicyRule.Filter = &alarmPolicyFilter } - alarmPolicyRule.Filter = &alarmPolicyFilter } if m["description"] != nil { alarmPolicyRule.Description = helper.String(m["description"].(string)) @@ -610,14 +614,16 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac "unit": rule.Unit, "rule_type": rule.RuleType, } - 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) - m["filter"] = filter + if len(filter) > 0 { + m["filter"] = filter + } } rules = append(rules, m) @@ -651,14 +657,16 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac m["unit"] = eventRule.Unit m["rule_type"] = eventRule.RuleType - 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) - m["filter"] = filter + if len(filter) > 0 { + m["filter"] = filter + } } eventConditions = append(eventConditions, m) } diff --git a/website/docs/r/ckafka_instance.html.markdown b/website/docs/r/ckafka_instance.html.markdown index 9726ab7bf9..aa04bc4f4c 100644 --- a/website/docs/r/ckafka_instance.html.markdown +++ b/website/docs/r/ckafka_instance.html.markdown @@ -11,6 +11,8 @@ description: |- Use this resource to create ckafka instance. +~> **NOTE:** It only support create profession ckafka instance. + ## Example Usage ```hcl @@ -20,7 +22,11 @@ resource "tencentcloud_ckafka_instance" "foo" { period = 1 vpc_id = "vpc-boi1ah65" subnet_id = "subnet-7ros461e" - msg_retention_time = 1440 + msg_retention_time = 1300 + renew_flag = 0 + kafka_version = "1.1.1" + disk_size = 500 + disk_type = "CLOUD_BASIC" config { auto_create_topic_enable = true diff --git a/website/docs/r/clb_customized_config.html.markdown b/website/docs/r/clb_customized_config.html.markdown index c20ad5777c..4a96432e68 100644 --- a/website/docs/r/clb_customized_config.html.markdown +++ b/website/docs/r/clb_customized_config.html.markdown @@ -15,7 +15,7 @@ Provides a resource to create a CLB customized config. ```hcl resource "tencentcloud_clb_customized_config" "foo" { - config_content = "client_max_body_size 224M;" + config_content = "client_max_body_size 224M;\r\nclient_body_timeout 60s;" config_name = "helloWorld" load_balancer_ids = [ "${tencentcloud_clb_instance.internal_clb.id}",