@@ -67,6 +67,12 @@ func ResourceTencentCloudClsAlarm() *schema.Resource {
67
67
Required : true ,
68
68
Description : "logset id." ,
69
69
},
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
+ },
70
76
},
71
77
},
72
78
},
@@ -221,13 +227,13 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
221
227
defer tccommon .LogElapsed ("resource.tencentcloud_cls_alarm.create" )()
222
228
defer tccommon .InconsistentCheck (d , meta )()
223
229
224
- logId := tccommon .GetLogId (tccommon .ContextNil )
225
-
226
230
var (
231
+ logId = tccommon .GetLogId (tccommon .ContextNil )
227
232
request = cls .NewCreateAlarmRequest ()
228
233
response = cls .NewCreateAlarmResponse ()
229
234
alarmId string
230
235
)
236
+
231
237
if v , ok := d .GetOk ("name" ); ok {
232
238
request .Name = helper .String (v .(string ))
233
239
}
@@ -239,21 +245,31 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
239
245
if v , ok := dMap ["topic_id" ]; ok {
240
246
alarmTarget .TopicId = helper .String (v .(string ))
241
247
}
248
+
242
249
if v , ok := dMap ["query" ]; ok {
243
250
alarmTarget .Query = helper .String (v .(string ))
244
251
}
252
+
245
253
if v , ok := dMap ["number" ]; ok {
246
254
alarmTarget .Number = helper .IntInt64 (v .(int ))
247
255
}
256
+
248
257
if v , ok := dMap ["start_time_offset" ]; ok {
249
258
alarmTarget .StartTimeOffset = helper .IntInt64 (v .(int ))
250
259
}
260
+
251
261
if v , ok := dMap ["end_time_offset" ]; ok {
252
262
alarmTarget .EndTimeOffset = helper .IntInt64 (v .(int ))
253
263
}
264
+
254
265
if v , ok := dMap ["logset_id" ]; ok {
255
266
alarmTarget .LogsetId = helper .String (v .(string ))
256
267
}
268
+
269
+ if v , ok := dMap ["syntax_rule" ]; ok {
270
+ alarmTarget .SyntaxRule = helper .IntUint64 (v .(int ))
271
+ }
272
+
257
273
request .AlarmTargets = append (request .AlarmTargets , & alarmTarget )
258
274
}
259
275
}
@@ -263,9 +279,11 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
263
279
if v , ok := dMap ["type" ]; ok {
264
280
monitorTime .Type = helper .String (v .(string ))
265
281
}
282
+
266
283
if v , ok := dMap ["time" ]; ok {
267
284
monitorTime .Time = helper .IntInt64 (v .(int ))
268
285
}
286
+
269
287
request .MonitorTime = & monitorTime
270
288
}
271
289
@@ -307,13 +325,15 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
307
325
if v , ok := dMap ["body" ]; ok {
308
326
callBackInfo .Body = helper .String (v .(string ))
309
327
}
328
+
310
329
if v , ok := dMap ["headers" ]; ok {
311
330
headersSet := v .(* schema.Set ).List ()
312
331
for i := range headersSet {
313
332
headers := headersSet [i ].(string )
314
333
callBackInfo .Headers = append (callBackInfo .Headers , & headers )
315
334
}
316
335
}
336
+
317
337
request .CallBack = & callBackInfo
318
338
}
319
339
@@ -324,25 +344,31 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
324
344
if v , ok := dMap ["name" ]; ok {
325
345
analysisDimensional .Name = helper .String (v .(string ))
326
346
}
347
+
327
348
if v , ok := dMap ["type" ]; ok {
328
349
analysisDimensional .Type = helper .String (v .(string ))
329
350
}
351
+
330
352
if v , ok := dMap ["content" ]; ok {
331
353
analysisDimensional .Content = helper .String (v .(string ))
332
354
}
355
+
333
356
if v , ok := dMap ["config_info" ]; ok {
334
357
for _ , item := range v .([]interface {}) {
335
358
configInfoMap := item .(map [string ]interface {})
336
359
alarmAnalysisConfig := cls.AlarmAnalysisConfig {}
337
360
if v , ok := configInfoMap ["key" ]; ok {
338
361
alarmAnalysisConfig .Key = helper .String (v .(string ))
339
362
}
363
+
340
364
if v , ok := configInfoMap ["value" ]; ok {
341
365
alarmAnalysisConfig .Value = helper .String (v .(string ))
342
366
}
367
+
343
368
analysisDimensional .ConfigInfo = append (analysisDimensional .ConfigInfo , & alarmAnalysisConfig )
344
369
}
345
370
}
371
+
346
372
request .Analysis = append (request .Analysis , & analysisDimensional )
347
373
}
348
374
}
@@ -354,9 +380,11 @@ func resourceTencentCloudClsAlarmCreate(d *schema.ResourceData, meta interface{}
354
380
} else {
355
381
log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), result .ToJsonString ())
356
382
}
383
+
357
384
response = result
358
385
return nil
359
386
})
387
+
360
388
if err != nil {
361
389
log .Printf ("[CRITAL]%s create cls alarm failed, reason:%+v" , logId , err )
362
390
return err
@@ -382,13 +410,12 @@ func resourceTencentCloudClsAlarmRead(d *schema.ResourceData, meta interface{})
382
410
defer tccommon .LogElapsed ("resource.tencentcloud_cls_alarm.read" )()
383
411
defer tccommon .InconsistentCheck (d , meta )()
384
412
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
+ )
392
419
393
420
alarm , err := service .DescribeClsAlarmById (ctx , alarmId )
394
421
if err != nil {
@@ -434,6 +461,10 @@ func resourceTencentCloudClsAlarmRead(d *schema.ResourceData, meta interface{})
434
461
alarmTargetsMap ["logset_id" ] = alarmTarget .LogsetId
435
462
}
436
463
464
+ if alarmTarget .SyntaxRule != nil {
465
+ alarmTargetsMap ["syntax_rule" ] = alarmTarget .SyntaxRule
466
+ }
467
+
437
468
alarmTargetsList = append (alarmTargetsList , alarmTargetsMap )
438
469
}
439
470
@@ -546,6 +577,7 @@ func resourceTencentCloudClsAlarmRead(d *schema.ResourceData, meta interface{})
546
577
if err != nil {
547
578
return err
548
579
}
580
+
549
581
_ = d .Set ("tags" , tags )
550
582
551
583
return nil
@@ -555,15 +587,14 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
555
587
defer tccommon .LogElapsed ("resource.tencentcloud_cls_alarm.update" )()
556
588
defer tccommon .InconsistentCheck (d , meta )()
557
589
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
+ )
564
595
596
+ needChange := false
565
597
request .AlarmId = & alarmId
566
-
567
598
mutableArgs := []string {
568
599
"name" , "alarm_targets" , "monitor_time" , "condition" , "alarm_level" ,
569
600
"trigger_count" , "alarm_period" , "alarm_notice_ids" ,
@@ -578,7 +609,6 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
578
609
}
579
610
580
611
if needChange {
581
-
582
612
if v , ok := d .GetOk ("name" ); ok {
583
613
request .Name = helper .String (v .(string ))
584
614
}
@@ -590,21 +620,31 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
590
620
if v , ok := dMap ["topic_id" ]; ok {
591
621
alarmTarget .TopicId = helper .String (v .(string ))
592
622
}
623
+
593
624
if v , ok := dMap ["query" ]; ok {
594
625
alarmTarget .Query = helper .String (v .(string ))
595
626
}
627
+
596
628
if v , ok := dMap ["number" ]; ok {
597
629
alarmTarget .Number = helper .IntInt64 (v .(int ))
598
630
}
631
+
599
632
if v , ok := dMap ["start_time_offset" ]; ok {
600
633
alarmTarget .StartTimeOffset = helper .IntInt64 (v .(int ))
601
634
}
635
+
602
636
if v , ok := dMap ["end_time_offset" ]; ok {
603
637
alarmTarget .EndTimeOffset = helper .IntInt64 (v .(int ))
604
638
}
639
+
605
640
if v , ok := dMap ["logset_id" ]; ok {
606
641
alarmTarget .LogsetId = helper .String (v .(string ))
607
642
}
643
+
644
+ if v , ok := dMap ["syntax_rule" ]; ok {
645
+ alarmTarget .SyntaxRule = helper .IntUint64 (v .(int ))
646
+ }
647
+
608
648
request .AlarmTargets = append (request .AlarmTargets , & alarmTarget )
609
649
}
610
650
}
@@ -614,9 +654,11 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
614
654
if v , ok := dMap ["type" ]; ok {
615
655
monitorTime .Type = helper .String (v .(string ))
616
656
}
657
+
617
658
if v , ok := dMap ["time" ]; ok {
618
659
monitorTime .Time = helper .IntInt64 (v .(int ))
619
660
}
661
+
620
662
request .MonitorTime = & monitorTime
621
663
}
622
664
@@ -658,13 +700,15 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
658
700
if v , ok := dMap ["body" ]; ok {
659
701
callBackInfo .Body = helper .String (v .(string ))
660
702
}
703
+
661
704
if v , ok := dMap ["headers" ]; ok {
662
705
headersSet := v .(* schema.Set ).List ()
663
706
for i := range headersSet {
664
707
headers := headersSet [i ].(string )
665
708
callBackInfo .Headers = append (callBackInfo .Headers , & headers )
666
709
}
667
710
}
711
+
668
712
request .CallBack = & callBackInfo
669
713
}
670
714
@@ -675,25 +719,31 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
675
719
if v , ok := dMap ["name" ]; ok {
676
720
analysisDimensional .Name = helper .String (v .(string ))
677
721
}
722
+
678
723
if v , ok := dMap ["type" ]; ok {
679
724
analysisDimensional .Type = helper .String (v .(string ))
680
725
}
726
+
681
727
if v , ok := dMap ["content" ]; ok {
682
728
analysisDimensional .Content = helper .String (v .(string ))
683
729
}
730
+
684
731
if v , ok := dMap ["config_info" ]; ok {
685
732
for _ , item := range v .([]interface {}) {
686
733
configInfoMap := item .(map [string ]interface {})
687
734
alarmAnalysisConfig := cls.AlarmAnalysisConfig {}
688
735
if v , ok := configInfoMap ["key" ]; ok {
689
736
alarmAnalysisConfig .Key = helper .String (v .(string ))
690
737
}
738
+
691
739
if v , ok := configInfoMap ["value" ]; ok {
692
740
alarmAnalysisConfig .Value = helper .String (v .(string ))
693
741
}
742
+
694
743
analysisDimensional .ConfigInfo = append (analysisDimensional .ConfigInfo , & alarmAnalysisConfig )
695
744
}
696
745
}
746
+
697
747
request .Analysis = append (request .Analysis , & analysisDimensional )
698
748
}
699
749
}
@@ -705,8 +755,10 @@ func resourceTencentCloudClsAlarmUpdate(d *schema.ResourceData, meta interface{}
705
755
} else {
706
756
log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), result .ToJsonString ())
707
757
}
758
+
708
759
return nil
709
760
})
761
+
710
762
if err != nil {
711
763
log .Printf ("[CRITAL]%s update cls alarm failed, reason:%+v" , logId , err )
712
764
return err
@@ -732,11 +784,12 @@ func resourceTencentCloudClsAlarmDelete(d *schema.ResourceData, meta interface{}
732
784
defer tccommon .LogElapsed ("resource.tencentcloud_cls_alarm.delete" )()
733
785
defer tccommon .InconsistentCheck (d , meta )()
734
786
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
+ )
740
793
741
794
if err := service .DeleteClsAlarmById (ctx , alarmId ); err != nil {
742
795
return err
0 commit comments