@@ -62,18 +62,34 @@ var (
6262 "is_notifications_per_metric_dimension_enabled" : acctest.Representation {RepType : acctest .Required , Create : `true` , Update : `true` },
6363 "message_format" : acctest.Representation {RepType : acctest .Optional , Create : `ONS_OPTIMIZED` , Update : `PRETTY_JSON` },
6464 "metric_compartment_id_in_subtree" : acctest.Representation {RepType : acctest .Optional , Create : `false` , Update : `true` },
65+ "notification_version" : acctest.Representation {RepType : acctest .Optional , Create : `1.X` , Update : `2.X` },
66+ "overrides" : []acctest.RepresentationGroup {{RepType : acctest .Optional , Group : MonitoringAlarmOverrideRepresentation1 }, {RepType : acctest .Optional , Group : MonitoringAlarmOverrideRepresentation2 }},
6567 "pending_duration" : acctest.Representation {RepType : acctest .Optional , Create : `PT5M` , Update : `PT10M` },
6668 "repeat_notification_duration" : acctest.Representation {RepType : acctest .Optional , Create : `PT2H` , Update : `PT10M` },
6769 "resolution" : acctest.Representation {RepType : acctest .Optional , Create : `1m` },
6870 "resource_group" : acctest.Representation {RepType : acctest .Optional , Create : `resourceGroup` , Update : `resourceGroup2` },
71+ "rule_name" : acctest.Representation {RepType : acctest .Optional , Create : `BASE` , Update : `BASE2` },
6972 "suppression" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : MonitoringAlarmSuppressionRepresentation },
7073 }
74+ MonitoringAlarmOverrideRepresentation1 = map [string ]interface {}{
75+ "body" : acctest.Representation {RepType : acctest .Optional , Create : `90% CPU utilization.` , Update : `95% CPU utilization.` },
76+ "pending_duration" : acctest.Representation {RepType : acctest .Optional , Create : `PT15M` , Update : `PT10M` },
77+ "query" : acctest.Representation {RepType : acctest .Optional , Create : `CPUUtilization[1m].mean() > 90` , Update : `CPUUtilization[1m].mean() > 95` },
78+ "rule_name" : acctest.Representation {RepType : acctest .Optional , Create : `RULE1` , Update : `RULE3` },
79+ "severity" : acctest.Representation {RepType : acctest .Optional , Create : `WARNING` , Update : `CRITICAL` },
80+ }
81+ MonitoringAlarmOverrideRepresentation2 = map [string ]interface {}{
82+ "body" : acctest.Representation {RepType : acctest .Optional , Create : `98% CPU utilization.` , Update : `99% CPU utilization.` },
83+ "pending_duration" : acctest.Representation {RepType : acctest .Optional , Create : `PT10M` , Update : `PT5M` },
84+ "query" : acctest.Representation {RepType : acctest .Optional , Create : `CPUUtilization[1m].mean() > 98` , Update : `CPUUtilization[1m].mean() > 99` },
85+ "rule_name" : acctest.Representation {RepType : acctest .Optional , Create : `RULE2` , Update : `RULE4` },
86+ "severity" : acctest.Representation {RepType : acctest .Optional , Create : `WARNING` , Update : `CRITICAL` },
87+ }
7188 MonitoringAlarmSuppressionRepresentation = map [string ]interface {}{
7289 "time_suppress_from" : acctest.Representation {RepType : acctest .Required , Create : `2126-02-01T18:00:00.001Z` , Update : `2125-12-01T18:00:00.001Z` },
7390 "time_suppress_until" : acctest.Representation {RepType : acctest .Required , Create : `2126-02-01T19:00:00.001Z` , Update : `2125-12-01T19:00:00.001Z` },
7491 "description" : acctest.Representation {RepType : acctest .Optional , Create : `System Maintenance` , Update : `description2` },
7592 }
76-
7793 MonitoringAlarmResourceDependencies = DefinedTagsDependencies +
7894 acctest .GenerateResourceFromRepresentationMap ("oci_ons_notification_topic" , "test_notification_topic" , acctest .Required , acctest .Create , getONSTopicRepresentationCopyWithRandomNameOrHttpReplayValue (10 , "talarm1" )) +
7995 acctest .GenerateResourceFromRepresentationMap ("oci_ons_notification_topic" , "test_notification_topic2" , acctest .Required , acctest .Create , getONSTopicRepresentationCopyWithRandomNameOrHttpReplayValue (10 , "talarm2" ))
@@ -151,11 +167,24 @@ func TestMonitoringAlarmResource_basic(t *testing.T) {
151167 resource .TestCheckResourceAttrSet (resourceName , "metric_compartment_id" ),
152168 resource .TestCheckResourceAttr (resourceName , "metric_compartment_id_in_subtree" , "false" ),
153169 resource .TestCheckResourceAttr (resourceName , "namespace" , "oci_computeagent" ),
170+ resource .TestCheckResourceAttr (resourceName , "notification_version" , "1.X" ),
171+ resource .TestCheckResourceAttr (resourceName , "overrides.#" , "2" ),
172+ resource .TestCheckResourceAttr (resourceName , "overrides.0.body" , "90% CPU utilization." ),
173+ resource .TestCheckResourceAttr (resourceName , "overrides.0.pending_duration" , "PT15M" ),
174+ resource .TestCheckResourceAttr (resourceName , "overrides.0.query" , "CPUUtilization[1m].mean() > 90" ),
175+ resource .TestCheckResourceAttr (resourceName , "overrides.0.rule_name" , "RULE1" ),
176+ resource .TestCheckResourceAttr (resourceName , "overrides.0.severity" , "WARNING" ),
177+ resource .TestCheckResourceAttr (resourceName , "overrides.1.body" , "98% CPU utilization." ),
178+ resource .TestCheckResourceAttr (resourceName , "overrides.1.pending_duration" , "PT10M" ),
179+ resource .TestCheckResourceAttr (resourceName , "overrides.1.query" , "CPUUtilization[1m].mean() > 98" ),
180+ resource .TestCheckResourceAttr (resourceName , "overrides.1.rule_name" , "RULE2" ),
181+ resource .TestCheckResourceAttr (resourceName , "overrides.1.severity" , "WARNING" ),
154182 resource .TestCheckResourceAttr (resourceName , "pending_duration" , "PT5M" ),
155183 resource .TestCheckResourceAttr (resourceName , "query" , "CpuUtilization[10m].percentile(0.9) < 85" ),
156184 resource .TestCheckResourceAttr (resourceName , "repeat_notification_duration" , "PT2H" ),
157185 resource .TestCheckResourceAttr (resourceName , "resolution" , "1m" ),
158186 resource .TestCheckResourceAttr (resourceName , "resource_group" , "resourceGroup" ),
187+ resource .TestCheckResourceAttr (resourceName , "rule_name" , "BASE" ),
159188 resource .TestCheckResourceAttr (resourceName , "severity" , "WARNING" ),
160189 resource .TestCheckResourceAttrSet (resourceName , "state" ),
161190 resource .TestCheckResourceAttr (resourceName , "suppression.#" , "1" ),
@@ -197,11 +226,19 @@ func TestMonitoringAlarmResource_basic(t *testing.T) {
197226 resource .TestCheckResourceAttrSet (resourceName , "metric_compartment_id" ),
198227 resource .TestCheckResourceAttr (resourceName , "metric_compartment_id_in_subtree" , "false" ),
199228 resource .TestCheckResourceAttr (resourceName , "namespace" , "oci_computeagent" ),
229+ resource .TestCheckResourceAttr (resourceName , "notification_version" , "1.X" ),
230+ resource .TestCheckResourceAttr (resourceName , "overrides.#" , "2" ),
231+ resource .TestCheckResourceAttr (resourceName , "overrides.0.body" , "90% CPU utilization." ),
232+ resource .TestCheckResourceAttr (resourceName , "overrides.0.pending_duration" , "PT15M" ),
233+ resource .TestCheckResourceAttr (resourceName , "overrides.0.query" , "CPUUtilization[1m].mean() > 90" ),
234+ resource .TestCheckResourceAttr (resourceName , "overrides.0.rule_name" , "RULE1" ),
235+ resource .TestCheckResourceAttr (resourceName , "overrides.0.severity" , "WARNING" ),
200236 resource .TestCheckResourceAttr (resourceName , "pending_duration" , "PT5M" ),
201237 resource .TestCheckResourceAttr (resourceName , "query" , "CpuUtilization[10m].percentile(0.9) < 85" ),
202238 resource .TestCheckResourceAttr (resourceName , "repeat_notification_duration" , "PT2H" ),
203239 resource .TestCheckResourceAttr (resourceName , "resolution" , "1m" ),
204240 resource .TestCheckResourceAttr (resourceName , "resource_group" , "resourceGroup" ),
241+ resource .TestCheckResourceAttr (resourceName , "rule_name" , "BASE" ),
205242 resource .TestCheckResourceAttr (resourceName , "severity" , "WARNING" ),
206243 resource .TestCheckResourceAttrSet (resourceName , "state" ),
207244 resource .TestCheckResourceAttr (resourceName , "suppression.#" , "1" ),
@@ -239,11 +276,24 @@ func TestMonitoringAlarmResource_basic(t *testing.T) {
239276 resource .TestCheckResourceAttrSet (resourceName , "metric_compartment_id" ),
240277 resource .TestCheckResourceAttr (resourceName , "metric_compartment_id_in_subtree" , "true" ),
241278 resource .TestCheckResourceAttr (resourceName , "namespace" , "oci_lbaas" ),
279+ resource .TestCheckResourceAttr (resourceName , "notification_version" , "2.X" ),
280+ resource .TestCheckResourceAttr (resourceName , "overrides.#" , "2" ),
281+ resource .TestCheckResourceAttr (resourceName , "overrides.0.body" , "95% CPU utilization." ),
282+ resource .TestCheckResourceAttr (resourceName , "overrides.0.pending_duration" , "PT10M" ),
283+ resource .TestCheckResourceAttr (resourceName , "overrides.0.query" , "CPUUtilization[1m].mean() > 95" ),
284+ resource .TestCheckResourceAttr (resourceName , "overrides.0.rule_name" , "RULE3" ),
285+ resource .TestCheckResourceAttr (resourceName , "overrides.0.severity" , "CRITICAL" ),
286+ resource .TestCheckResourceAttr (resourceName , "overrides.1.body" , "99% CPU utilization." ),
287+ resource .TestCheckResourceAttr (resourceName , "overrides.1.pending_duration" , "PT5M" ),
288+ resource .TestCheckResourceAttr (resourceName , "overrides.1.query" , "CPUUtilization[1m].mean() > 99" ),
289+ resource .TestCheckResourceAttr (resourceName , "overrides.1.rule_name" , "RULE4" ),
290+ resource .TestCheckResourceAttr (resourceName , "overrides.1.severity" , "CRITICAL" ),
242291 resource .TestCheckResourceAttr (resourceName , "pending_duration" , "PT10M" ),
243292 resource .TestCheckResourceAttr (resourceName , "query" , "AcceptedConnections[10m].count() <= 0" ),
244293 resource .TestCheckResourceAttr (resourceName , "repeat_notification_duration" , "PT10M" ),
245294 resource .TestCheckResourceAttr (resourceName , "resolution" , "1m" ),
246295 resource .TestCheckResourceAttr (resourceName , "resource_group" , "resourceGroup2" ),
296+ resource .TestCheckResourceAttr (resourceName , "rule_name" , "BASE2" ),
247297 resource .TestCheckResourceAttr (resourceName , "severity" , "INFO" ),
248298 resource .TestCheckResourceAttrSet (resourceName , "state" ),
249299 resource .TestCheckResourceAttr (resourceName , "suppression.#" , "1" ),
@@ -266,8 +316,7 @@ func TestMonitoringAlarmResource_basic(t *testing.T) {
266316 {
267317 Config : config +
268318 acctest .GenerateDataSourceFromRepresentationMap ("oci_monitoring_alarms" , "test_alarms" , acctest .Optional , acctest .Update , MonitoringAlarmDataSourceRepresentation ) +
269- compartmentIdVariableStr + MonitoringAlarmResourceDependencies +
270- acctest .GenerateResourceFromRepresentationMap ("oci_monitoring_alarm" , "test_alarm" , acctest .Optional , acctest .Update , MonitoringAlarmRepresentation ),
319+ compartmentIdVariableStr + MonitoringAlarmResourceConfig ,
271320 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
272321 resource .TestCheckResourceAttr (datasourceName , "compartment_id" , compartmentId ),
273322 resource .TestCheckResourceAttr (datasourceName , "compartment_id_in_subtree" , "false" ),
@@ -284,7 +333,15 @@ func TestMonitoringAlarmResource_basic(t *testing.T) {
284333 resource .TestCheckResourceAttr (datasourceName , "alarms.0.is_notifications_per_metric_dimension_enabled" , "true" ),
285334 resource .TestCheckResourceAttrSet (datasourceName , "alarms.0.metric_compartment_id" ),
286335 resource .TestCheckResourceAttr (datasourceName , "alarms.0.namespace" , "oci_lbaas" ),
336+ resource .TestCheckResourceAttr (datasourceName , "alarms.0.notification_version" , "2.X" ),
337+ resource .TestCheckResourceAttr (datasourceName , "alarms.0.overrides.#" , "2" ),
338+ resource .TestCheckResourceAttr (datasourceName , "alarms.0.overrides.0.body" , "95% CPU utilization." ),
339+ resource .TestCheckResourceAttr (datasourceName , "alarms.0.overrides.0.pending_duration" , "PT10M" ),
340+ resource .TestCheckResourceAttr (datasourceName , "alarms.0.overrides.0.query" , "CPUUtilization[1m].mean() > 95" ),
341+ resource .TestCheckResourceAttr (datasourceName , "alarms.0.overrides.0.rule_name" , "RULE3" ),
342+ resource .TestCheckResourceAttr (datasourceName , "alarms.0.overrides.0.severity" , "CRITICAL" ),
287343 resource .TestCheckResourceAttr (datasourceName , "alarms.0.query" , "AcceptedConnections[10m].count() <= 0" ),
344+ resource .TestCheckResourceAttr (datasourceName , "alarms.0.rule_name" , "BASE2" ),
288345 resource .TestCheckResourceAttr (datasourceName , "alarms.0.severity" , "INFO" ),
289346 resource .TestCheckResourceAttrSet (datasourceName , "alarms.0.state" ),
290347 resource .TestCheckResourceAttr (datasourceName , "alarms.0.suppression.#" , "1" ),
@@ -313,11 +370,19 @@ func TestMonitoringAlarmResource_basic(t *testing.T) {
313370 resource .TestCheckResourceAttr (singularDatasourceName , "message_format" , "PRETTY_JSON" ),
314371 resource .TestCheckResourceAttr (singularDatasourceName , "metric_compartment_id_in_subtree" , "true" ),
315372 resource .TestCheckResourceAttr (singularDatasourceName , "namespace" , "oci_lbaas" ),
373+ resource .TestCheckResourceAttr (singularDatasourceName , "notification_version" , "2.X" ),
374+ resource .TestCheckResourceAttr (singularDatasourceName , "overrides.#" , "2" ),
375+ resource .TestCheckResourceAttr (singularDatasourceName , "overrides.1.body" , "99% CPU utilization." ),
376+ resource .TestCheckResourceAttr (singularDatasourceName , "overrides.1.pending_duration" , "PT5M" ),
377+ resource .TestCheckResourceAttr (singularDatasourceName , "overrides.1.query" , "CPUUtilization[1m].mean() > 99" ),
378+ resource .TestCheckResourceAttr (singularDatasourceName , "overrides.1.rule_name" , "RULE4" ),
379+ resource .TestCheckResourceAttr (singularDatasourceName , "overrides.1.severity" , "CRITICAL" ),
316380 resource .TestCheckResourceAttr (singularDatasourceName , "pending_duration" , "PT10M" ),
317381 resource .TestCheckResourceAttr (singularDatasourceName , "query" , "AcceptedConnections[10m].count() <= 0" ),
318382 resource .TestCheckResourceAttr (singularDatasourceName , "repeat_notification_duration" , "PT10M" ),
319383 resource .TestCheckResourceAttr (singularDatasourceName , "resolution" , "1m" ),
320384 resource .TestCheckResourceAttr (singularDatasourceName , "resource_group" , "resourceGroup2" ),
385+ resource .TestCheckResourceAttr (singularDatasourceName , "rule_name" , "BASE2" ),
321386 resource .TestCheckResourceAttr (singularDatasourceName , "severity" , "INFO" ),
322387 resource .TestCheckResourceAttrSet (singularDatasourceName , "state" ),
323388 resource .TestCheckResourceAttr (singularDatasourceName , "suppression.#" , "1" ),
0 commit comments