@@ -67,6 +67,12 @@ func ResourceTencentCloudClsAlarm() *schema.Resource {
6767 Required : true ,
6868 Description : "logset id." ,
6969 },
70+ "syntax_rule" : {
71+ Type : schema .TypeInt ,
72+ Optional : true ,
73+ Computed : true ,
74+ Description : "Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0." ,
75+ },
7076 },
7177 },
7278 },
@@ -221,13 +227,13 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
221227 defer tccommon .LogElapsed ("resource.tencentcloud_cls_alarm.create" )()
222228 defer tccommon .InconsistentCheck (d , meta )()
223229
224- logId := tccommon .GetLogId (tccommon .ContextNil )
225-
226230 var (
231+ logId = tccommon .GetLogId (tccommon .ContextNil )
227232 request = cls .NewCreateAlarmRequest ()
228233 response = cls .NewCreateAlarmResponse ()
229234 alarmId string
230235 )
236+
231237 if v , ok := d .GetOk ("name" ); ok {
232238 request .Name = helper .String (v .(string ))
233239 }
@@ -239,21 +245,31 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
239245 if v , ok := dMap ["topic_id" ]; ok {
240246 alarmTarget .TopicId = helper .String (v .(string ))
241247 }
248+
242249 if v , ok := dMap ["query" ]; ok {
243250 alarmTarget .Query = helper .String (v .(string ))
244251 }
252+
245253 if v , ok := dMap ["number" ]; ok {
246254 alarmTarget .Number = helper .IntInt64 (v .(int ))
247255 }
256+
248257 if v , ok := dMap ["start_time_offset" ]; ok {
249258 alarmTarget .StartTimeOffset = helper .IntInt64 (v .(int ))
250259 }
260+
251261 if v , ok := dMap ["end_time_offset" ]; ok {
252262 alarmTarget .EndTimeOffset = helper .IntInt64 (v .(int ))
253263 }
264+
254265 if v , ok := dMap ["logset_id" ]; ok {
255266 alarmTarget .LogsetId = helper .String (v .(string ))
256267 }
268+
269+ if v , ok := dMap ["syntax_rule" ]; ok {
270+ alarmTarget .SyntaxRule = helper .IntUint64 (v .(int ))
271+ }
272+
257273 request .AlarmTargets = append (request .AlarmTargets , & alarmTarget )
258274 }
259275 }
@@ -263,9 +279,11 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
263279 if v , ok := dMap ["type" ]; ok {
264280 monitorTime .Type = helper .String (v .(string ))
265281 }
282+
266283 if v , ok := dMap ["time" ]; ok {
267284 monitorTime .Time = helper .IntInt64 (v .(int ))
268285 }
286+
269287 request .MonitorTime = & monitorTime
270288 }
271289
@@ -307,13 +325,15 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
307325 if v , ok := dMap ["body" ]; ok {
308326 callBackInfo .Body = helper .String (v .(string ))
309327 }
328+
310329 if v , ok := dMap ["headers" ]; ok {
311330 headersSet := v .(* schema.Set ).List ()
312331 for i := range headersSet {
313332 headers := headersSet [i ].(string )
314333 callBackInfo .Headers = append (callBackInfo .Headers , & headers )
315334 }
316335 }
336+
317337 request .CallBack = & callBackInfo
318338 }
319339
@@ -324,25 +344,31 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
324344 if v , ok := dMap ["name" ]; ok {
325345 analysisDimensional .Name = helper .String (v .(string ))
326346 }
347+
327348 if v , ok := dMap ["type" ]; ok {
328349 analysisDimensional .Type = helper .String (v .(string ))
329350 }
351+
330352 if v , ok := dMap ["content" ]; ok {
331353 analysisDimensional .Content = helper .String (v .(string ))
332354 }
355+
333356 if v , ok := dMap ["config_info" ]; ok {
334357 for _ , item := range v .([]interface {}) {
335358 configInfoMap := item .(map [string ]interface {})
336359 alarmAnalysisConfig := cls.AlarmAnalysisConfig {}
337360 if v , ok := configInfoMap ["key" ]; ok {
338361 alarmAnalysisConfig .Key = helper .String (v .(string ))
339362 }
363+
340364 if v , ok := configInfoMap ["value" ]; ok {
341365 alarmAnalysisConfig .Value = helper .String (v .(string ))
342366 }
367+
343368 analysisDimensional .ConfigInfo = append (analysisDimensional .ConfigInfo , & alarmAnalysisConfig )
344369 }
345370 }
371+
346372 request .Analysis = append (request .Analysis , & analysisDimensional )
347373 }
348374 }
@@ -354,9 +380,11 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
354380 } else {
355381 log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), result .ToJsonString ())
356382 }
383+
357384 response = result
358385 return nil
359386 })
387+
360388 if err != nil {
361389 log .Printf ("[CRITAL]%s create cls alarm failed, reason:%+v" , logId , err )
362390 return err
@@ -382,13 +410,12 @@ func resourceTencentCloudClsAlarmRead(d *schema.ResourceData, meta interface{})
382410 defer tccommon .LogElapsed ("resource.tencentcloud_cls_alarm.read" )()
383411 defer tccommon .InconsistentCheck (d , meta )()
384412
385- logId := tccommon .GetLogId (tccommon .ContextNil )
386-
387- ctx := context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
388-
389- service := ClsService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
390-
391- alarmId := d .Id ()
413+ var (
414+ logId = tccommon .GetLogId (tccommon .ContextNil )
415+ ctx = context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
416+ service = ClsService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
417+ alarmId = d .Id ()
418+ )
392419
393420 alarm , err := service .DescribeClsAlarmById (ctx , alarmId )
394421 if err != nil {
@@ -434,6 +461,10 @@ func resourceTencentCloudClsAlarmRead(d *schema.ResourceData, meta interface{})
434461 alarmTargetsMap ["logset_id" ] = alarmTarget .LogsetId
435462 }
436463
464+ if alarmTarget .SyntaxRule != nil {
465+ alarmTargetsMap ["syntax_rule" ] = alarmTarget .SyntaxRule
466+ }
467+
437468 alarmTargetsList = append (alarmTargetsList , alarmTargetsMap )
438469 }
439470
@@ -546,6 +577,7 @@ func resourceTencentCloudClsAlarmRead(d *schema.ResourceData, meta interface{})
546577 if err != nil {
547578 return err
548579 }
580+
549581 _ = d .Set ("tags" , tags )
550582
551583 return nil
@@ -555,15 +587,14 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
555587 defer tccommon .LogElapsed ("resource.tencentcloud_cls_alarm.update" )()
556588 defer tccommon .InconsistentCheck (d , meta )()
557589
558- logId := tccommon .GetLogId (tccommon .ContextNil )
559- needChange := false
560-
561- request := cls .NewModifyAlarmRequest ()
562-
563- alarmId := d .Id ()
590+ var (
591+ logId = tccommon .GetLogId (tccommon .ContextNil )
592+ request = cls .NewModifyAlarmRequest ()
593+ alarmId = d .Id ()
594+ )
564595
596+ needChange := false
565597 request .AlarmId = & alarmId
566-
567598 mutableArgs := []string {
568599 "name" , "alarm_targets" , "monitor_time" , "condition" , "alarm_level" ,
569600 "trigger_count" , "alarm_period" , "alarm_notice_ids" ,
@@ -578,7 +609,6 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
578609 }
579610
580611 if needChange {
581-
582612 if v , ok := d .GetOk ("name" ); ok {
583613 request .Name = helper .String (v .(string ))
584614 }
@@ -590,21 +620,31 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
590620 if v , ok := dMap ["topic_id" ]; ok {
591621 alarmTarget .TopicId = helper .String (v .(string ))
592622 }
623+
593624 if v , ok := dMap ["query" ]; ok {
594625 alarmTarget .Query = helper .String (v .(string ))
595626 }
627+
596628 if v , ok := dMap ["number" ]; ok {
597629 alarmTarget .Number = helper .IntInt64 (v .(int ))
598630 }
631+
599632 if v , ok := dMap ["start_time_offset" ]; ok {
600633 alarmTarget .StartTimeOffset = helper .IntInt64 (v .(int ))
601634 }
635+
602636 if v , ok := dMap ["end_time_offset" ]; ok {
603637 alarmTarget .EndTimeOffset = helper .IntInt64 (v .(int ))
604638 }
639+
605640 if v , ok := dMap ["logset_id" ]; ok {
606641 alarmTarget .LogsetId = helper .String (v .(string ))
607642 }
643+
644+ if v , ok := dMap ["syntax_rule" ]; ok {
645+ alarmTarget .SyntaxRule = helper .IntUint64 (v .(int ))
646+ }
647+
608648 request .AlarmTargets = append (request .AlarmTargets , & alarmTarget )
609649 }
610650 }
@@ -614,9 +654,11 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
614654 if v , ok := dMap ["type" ]; ok {
615655 monitorTime .Type = helper .String (v .(string ))
616656 }
657+
617658 if v , ok := dMap ["time" ]; ok {
618659 monitorTime .Time = helper .IntInt64 (v .(int ))
619660 }
661+
620662 request .MonitorTime = & monitorTime
621663 }
622664
@@ -658,13 +700,15 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
658700 if v , ok := dMap ["body" ]; ok {
659701 callBackInfo .Body = helper .String (v .(string ))
660702 }
703+
661704 if v , ok := dMap ["headers" ]; ok {
662705 headersSet := v .(* schema.Set ).List ()
663706 for i := range headersSet {
664707 headers := headersSet [i ].(string )
665708 callBackInfo .Headers = append (callBackInfo .Headers , & headers )
666709 }
667710 }
711+
668712 request .CallBack = & callBackInfo
669713 }
670714
@@ -675,25 +719,31 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
675719 if v , ok := dMap ["name" ]; ok {
676720 analysisDimensional .Name = helper .String (v .(string ))
677721 }
722+
678723 if v , ok := dMap ["type" ]; ok {
679724 analysisDimensional .Type = helper .String (v .(string ))
680725 }
726+
681727 if v , ok := dMap ["content" ]; ok {
682728 analysisDimensional .Content = helper .String (v .(string ))
683729 }
730+
684731 if v , ok := dMap ["config_info" ]; ok {
685732 for _ , item := range v .([]interface {}) {
686733 configInfoMap := item .(map [string ]interface {})
687734 alarmAnalysisConfig := cls.AlarmAnalysisConfig {}
688735 if v , ok := configInfoMap ["key" ]; ok {
689736 alarmAnalysisConfig .Key = helper .String (v .(string ))
690737 }
738+
691739 if v , ok := configInfoMap ["value" ]; ok {
692740 alarmAnalysisConfig .Value = helper .String (v .(string ))
693741 }
742+
694743 analysisDimensional .ConfigInfo = append (analysisDimensional .ConfigInfo , & alarmAnalysisConfig )
695744 }
696745 }
746+
697747 request .Analysis = append (request .Analysis , & analysisDimensional )
698748 }
699749 }
@@ -705,8 +755,10 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
705755 } else {
706756 log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), result .ToJsonString ())
707757 }
758+
708759 return nil
709760 })
761+
710762 if err != nil {
711763 log .Printf ("[CRITAL]%s update cls alarm failed, reason:%+v" , logId , err )
712764 return err
@@ -732,11 +784,12 @@ func resourceTencentCloudClsAlarmDelete(d *schema.ResourceData, meta interface{}
732784 defer tccommon .LogElapsed ("resource.tencentcloud_cls_alarm.delete" )()
733785 defer tccommon .InconsistentCheck (d , meta )()
734786
735- logId := tccommon .GetLogId (tccommon .ContextNil )
736- ctx := context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
737-
738- service := ClsService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
739- alarmId := d .Id ()
787+ var (
788+ logId = tccommon .GetLogId (tccommon .ContextNil )
789+ ctx = context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
790+ service = ClsService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
791+ alarmId = d .Id ()
792+ )
740793
741794 if err := service .DeleteClsAlarmById (ctx , alarmId ); err != nil {
742795 return err
0 commit comments