1
1
package alibabacloudstack
2
2
3
3
import (
4
+ "encoding/json"
4
5
"fmt"
5
6
"log"
6
7
"strconv"
@@ -9,6 +10,7 @@ import (
9
10
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
10
11
11
12
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
13
+ "github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
12
14
"github.com/aliyun/alibaba-cloud-sdk-go/services/cms"
13
15
"github.com/aliyun/terraform-provider-alibabacloudstack/alibabacloudstack/connectivity"
14
16
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -148,6 +150,10 @@ func resourceAlibabacloudCmsMetricRuleTemplate() *schema.Resource {
148
150
Type : schema .TypeString ,
149
151
Optional : true ,
150
152
},
153
+ "enable" : {
154
+ Type : schema .TypeBool ,
155
+ Optional : true ,
156
+ },
151
157
"enable_end_time" : {
152
158
Type : schema .TypeString ,
153
159
Optional : true ,
@@ -362,7 +368,8 @@ func resourceAlibabacloudCmsMetricRuleTemplateUpdate(d *schema.ResourceData, met
362
368
"Product" : "cms" ,
363
369
"Department" : client .Department ,
364
370
"ResourceGroup" : client .ResourceGroup ,
365
- "TemplateIds" : fmt .Sprintf ("[%s]" , d .Id ()),
371
+ "TemplateId" : "[]" ,
372
+ "TemplateIds" : d .Id (),
366
373
"ResourceGroupId" : client .ResourceGroup ,
367
374
"GroupId" : client .ResourceGroup ,
368
375
"Overwrite" : fmt .Sprintf ("%t" , d .Get ("overwrite" ).(bool )),
@@ -380,7 +387,7 @@ func resourceAlibabacloudCmsMetricRuleTemplateUpdate(d *schema.ResourceData, met
380
387
request .QueryParams ["NotifyLevel" ] = v .(string )
381
388
}
382
389
if v , ok := d .GetOk ("silence_time" ); ok {
383
- request .QueryParams ["SilenceTime" ] = v .( string )
390
+ request .QueryParams ["SilenceTime" ] = fmt . Sprint ( v )
384
391
385
392
}
386
393
if v , ok := d .GetOk ("webhook" ); ok {
@@ -393,12 +400,17 @@ func resourceAlibabacloudCmsMetricRuleTemplateUpdate(d *schema.ResourceData, met
393
400
if err != nil {
394
401
return WrapErrorf (err , DataDefaultErrorMsg , "ApplyMetricRuleTemplate" , request .GetActionName (), AlibabacloudStackSdkGoERROR )
395
402
}
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 ))
399
411
}
400
412
d .Set ("group_id" , client .ResourceGroup )
401
- d .SetPartial ("group_id" )
413
+ // d.SetPartial("group_id")
402
414
}
403
415
update = false
404
416
modifyMetricRuleTemplateReq := cms .CreateModifyMetricRuleTemplateRequest ()
@@ -481,14 +493,14 @@ func resourceAlibabacloudCmsMetricRuleTemplateUpdate(d *schema.ResourceData, met
481
493
if err != nil {
482
494
return WrapErrorf (err , DataDefaultErrorMsg , "ApplyMetricRuleTemplate" , modifyMetricRuleTemplateReq .GetActionName (), AlibabacloudStackSdkGoERROR )
483
495
}
484
- response , _ := raw .(* cms.ApplyMetricRuleTemplateResponse )
496
+ response , _ := raw .(* cms.ModifyMetricRuleTemplateResponse )
485
497
if response .Code != 200 {
486
498
return WrapError (fmt .Errorf ("%s" , response .Message ))
487
499
}
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")
492
504
}
493
505
d .Partial (false )
494
506
return resourceAlibabacloudCmsMetricRuleTemplateRead (d , meta )
0 commit comments