@@ -1219,6 +1219,25 @@ resource "sumologic_monitor" "test" {
12191219 return resourceText
12201220}
12211221
1222+ func exampleSloMonitorWithTriggerCondition (
1223+ testName string ,
1224+ trigger string ) string {
1225+ var resourceText = fmt .Sprintf (`
1226+ resource "sumologic_monitor" "test" {
1227+ name = "%s"
1228+ description = "terraform_test_monitor_description"
1229+ type = "MonitorsLibraryMonitor"
1230+ is_disabled = false
1231+ content_type = "Monitor"
1232+ monitor_type = "Slo"
1233+ trigger_conditions {
1234+ %s
1235+ }
1236+ playbook = "This is a test playbook"
1237+ }` , testName , trigger )
1238+ return resourceText
1239+ }
1240+
12221241var exampleLogsStaticTriggerConditionBlock = `
12231242 logs_static_condition {
12241243 critical {
@@ -1319,6 +1338,31 @@ var exampleMetricsMissingDataTriggerConditionBlock = `
13191338 trigger_source = "AnyTimeSeries"
13201339 }`
13211340
1341+ var exampleSloSliTriggerConditionBlock = `
1342+ slo_sli_condition {
1343+ critical {
1344+ sli_threshold = 90
1345+ }
1346+ }`
1347+
1348+ var exampleSloBurnRateTriggerConditionBlock = `
1349+ slo_burn_rate_condition {
1350+ critical {
1351+ burn_rate_threshold = 20
1352+ time_range = "1d"
1353+ }
1354+ warning {
1355+ burn_rate {
1356+ burn_rate_threshold = 20
1357+ time_range = "2d"
1358+ }
1359+ burn_rate {
1360+ burn_rate_threshold = 20
1361+ time_range = "2d"
1362+ }
1363+ }
1364+ }`
1365+
13221366func exampleLogsStaticMonitor (testName string ) string {
13231367 query := "error | timeslice 1m | count as field by _timeslice"
13241368 return exampleMonitorWithTriggerCondition (testName , "Logs" , query ,
@@ -1367,6 +1411,14 @@ func exampleMetricsMissingDataMonitor(testName string) string {
13671411 exampleMetricsMissingDataTriggerConditionBlock , []string {"MissingData" , "ResolvedMissingData" })
13681412}
13691413
1414+ func exampleSloSliMonitor (testName string ) string {
1415+ return exampleSloMonitorWithTriggerCondition (testName , exampleSloSliTriggerConditionBlock )
1416+ }
1417+
1418+ func exampleSloBurnRateMonitor (testName string ) string {
1419+ return exampleSloMonitorWithTriggerCondition (testName , exampleSloBurnRateTriggerConditionBlock )
1420+ }
1421+
13701422var allExampleMonitors = []func (testName string ) string {
13711423 exampleLogsStaticMonitor ,
13721424 exampleLogsStaticMonitorWithResolutionWindow ,
@@ -1376,6 +1428,8 @@ var allExampleMonitors = []func(testName string) string{
13761428 exampleMetricsOutlierMonitor ,
13771429 exampleLogsMissingDataMonitor ,
13781430 exampleMetricsMissingDataMonitor ,
1431+ exampleSloSliMonitor ,
1432+ exampleSloBurnRateMonitor ,
13791433}
13801434
13811435func testAccSumologicMonitorsLibraryMonitorWithInvalidTriggerCondition (testName string , triggerCondition string ) string {
@@ -1462,7 +1516,6 @@ func exampleMetricsMissingDataTriggerCondition(triggerType string) TriggerCondit
14621516
14631517func exampleSloSliTriggerCondition (triggerType string , threshold float64 ) TriggerCondition {
14641518 return TriggerCondition {
1465- TimeRange : "30m" ,
14661519 SLIThreshold : threshold ,
14671520 TriggerType : triggerType ,
14681521 DetectionMethod : "SloSliCondition" ,
@@ -1578,6 +1631,8 @@ var allInvalidTriggerConditionMonitorResources = []func(testName string) string{
15781631 invalidExampleWithNoTriggerCondition ,
15791632 invalidExampleWithEmptyLogStaticTriggerCondition ,
15801633 invalidExampleWithEmptyMetricsStaticTriggerCondition ,
1634+ invalidExampleWithEmptySloSliTriggerCondition ,
1635+ invalidExampleWithEmptySloSliTriggerCondition ,
15811636}
15821637
15831638func invalidExampleWithNoTriggerCondition (testName string ) string {
@@ -1595,3 +1650,11 @@ func invalidExampleWithEmptyMetricsStaticTriggerCondition(testName string) strin
15951650 return exampleMonitorWithTriggerCondition (testName , "Logs" , query ,
15961651 `metrics_static_condition {}` , []string {"Critical" , "ResolvedCritical" })
15971652}
1653+
1654+ func invalidExampleWithEmptySloSliTriggerCondition (testName string ) string {
1655+ return exampleSloMonitorWithTriggerCondition (testName , `slo_sli_condition {}` )
1656+ }
1657+
1658+ func invalidExampleWithEmptySloBurnRateTriggerCondition (testName string ) string {
1659+ return exampleSloMonitorWithTriggerCondition (testName , `slo_burn_rate_condition {}` )
1660+ }
0 commit comments