Skip to content

Commit 17c93c2

Browse files
douwentaozshongyi
authored andcommitted
补充 cms template文档
1 parent 62c8af2 commit 17c93c2

3 files changed

+290
-128
lines changed

alibabacloudstack/resource_apsarastack_cms_metric_rule_template.go

+23-11
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package alibabacloudstack
22

33
import (
4+
"encoding/json"
45
"fmt"
56
"log"
67
"strconv"
@@ -9,6 +10,7 @@ import (
910
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
1011

1112
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
13+
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
1214
"github.com/aliyun/alibaba-cloud-sdk-go/services/cms"
1315
"github.com/aliyun/terraform-provider-alibabacloudstack/alibabacloudstack/connectivity"
1416
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -148,6 +150,10 @@ func resourceAlibabacloudCmsMetricRuleTemplate() *schema.Resource {
148150
Type: schema.TypeString,
149151
Optional: true,
150152
},
153+
"enable": {
154+
Type: schema.TypeBool,
155+
Optional: true,
156+
},
151157
"enable_end_time": {
152158
Type: schema.TypeString,
153159
Optional: true,
@@ -362,7 +368,8 @@ func resourceAlibabacloudCmsMetricRuleTemplateUpdate(d *schema.ResourceData, met
362368
"Product": "cms",
363369
"Department": client.Department,
364370
"ResourceGroup": client.ResourceGroup,
365-
"TemplateIds": fmt.Sprintf("[%s]", d.Id()),
371+
"TemplateId": "[]",
372+
"TemplateIds": d.Id(),
366373
"ResourceGroupId": client.ResourceGroup,
367374
"GroupId": client.ResourceGroup,
368375
"Overwrite": fmt.Sprintf("%t", d.Get("overwrite").(bool)),
@@ -380,7 +387,7 @@ func resourceAlibabacloudCmsMetricRuleTemplateUpdate(d *schema.ResourceData, met
380387
request.QueryParams["NotifyLevel"] = v.(string)
381388
}
382389
if v, ok := d.GetOk("silence_time"); ok {
383-
request.QueryParams["SilenceTime"] = v.(string)
390+
request.QueryParams["SilenceTime"] = fmt.Sprint(v)
384391

385392
}
386393
if v, ok := d.GetOk("webhook"); ok {
@@ -393,12 +400,17 @@ func resourceAlibabacloudCmsMetricRuleTemplateUpdate(d *schema.ResourceData, met
393400
if err != nil {
394401
return WrapErrorf(err, DataDefaultErrorMsg, "ApplyMetricRuleTemplate", request.GetActionName(), AlibabacloudStackSdkGoERROR)
395402
}
396-
response, _ := raw.(*cms.ApplyMetricRuleTemplateResponse)
397-
if response.Code != 200 {
398-
return WrapError(fmt.Errorf("%s", response.Message))
403+
bresponse, _ := raw.(*responses.CommonResponse)
404+
resource := make(map[string]interface{})
405+
err = json.Unmarshal(bresponse.GetHttpContentBytes(), &resource)
406+
if err != nil {
407+
return WrapErrorf(err, DataDefaultErrorMsg, "ApplyMetricRuleTemplate", request.GetActionName(), AlibabacloudStackSdkGoERROR)
408+
}
409+
if resource["Code"].(float64) != 200 {
410+
return WrapError(fmt.Errorf("ApplyMetricRuleTemplate Error: %v", resource))
399411
}
400412
d.Set("group_id", client.ResourceGroup)
401-
d.SetPartial("group_id")
413+
// d.SetPartial("group_id")
402414
}
403415
update = false
404416
modifyMetricRuleTemplateReq := cms.CreateModifyMetricRuleTemplateRequest()
@@ -481,14 +493,14 @@ func resourceAlibabacloudCmsMetricRuleTemplateUpdate(d *schema.ResourceData, met
481493
if err != nil {
482494
return WrapErrorf(err, DataDefaultErrorMsg, "ApplyMetricRuleTemplate", modifyMetricRuleTemplateReq.GetActionName(), AlibabacloudStackSdkGoERROR)
483495
}
484-
response, _ := raw.(*cms.ApplyMetricRuleTemplateResponse)
496+
response, _ := raw.(*cms.ModifyMetricRuleTemplateResponse)
485497
if response.Code != 200 {
486498
return WrapError(fmt.Errorf("%s", response.Message))
487499
}
488-
d.SetPartial("rest_version")
489-
d.SetPartial("alert_templates")
490-
d.SetPartial("description")
491-
d.SetPartial("metric_rule_template_name")
500+
// d.SetPartial("rest_version")
501+
// d.SetPartial("alert_templates")
502+
// d.SetPartial("description")
503+
// d.SetPartial("metric_rule_template_name")
492504
}
493505
d.Partial(false)
494506
return resourceAlibabacloudCmsMetricRuleTemplateRead(d, meta)

0 commit comments

Comments
 (0)