Skip to content

Commit 0959657

Browse files
authored
feat: added new input metrics_router_settings to the instances DA. If not set, metrcis routing settings will be configured so that the primary meatadata region matches the region of region input in the DA, and backup region is eu-de (#290)
1 parent a3aa1fb commit 0959657

File tree

4 files changed

+50
-0
lines changed

4 files changed

+50
-0
lines changed

ibm_catalog.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,9 @@
476476
},
477477
{
478478
"key": "metrics_router_routes"
479+
},
480+
{
481+
"key": "metrics_router_settings"
479482
}
480483
],
481484
"architecture": {

solutions/instances/main.tf

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,13 @@ locals {
6969
inclusion_filters = []
7070
}]
7171
}] : []
72+
metrics_router_settings = {
73+
default_targets = []
74+
primary_metadata_region = var.region
75+
backup_metadata_region = "eu-de"
76+
permitted_target_regions = []
77+
private_api_endpoint_only = false
78+
}
7279

7380
archive_bucket_config = var.manage_log_archive_cos_bucket ? {
7481
class = var.log_archive_cos_bucket_class
@@ -325,6 +332,8 @@ module "observability_instance" {
325332
] : []
326333

327334
metrics_router_routes = var.enable_metrics_routing_to_cloud_monitoring ? (length(var.metrics_router_routes) != 0 ? var.metrics_router_routes : local.default_metrics_router_route) : []
335+
336+
metrics_router_settings = var.enable_metrics_routing_to_cloud_monitoring ? (var.metrics_router_settings != null ? var.metrics_router_settings : local.metrics_router_settings) : null
328337
}
329338

330339
resource "time_sleep" "wait_for_atracker_cos_authorization_policy" {

solutions/instances/variables.tf

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,20 @@ variable "enable_metrics_routing_to_cloud_monitoring" {
229229
default = true
230230
}
231231

232+
variable "metrics_router_settings" {
233+
type = object({
234+
permitted_target_regions = optional(list(string))
235+
primary_metadata_region = optional(string)
236+
backup_metadata_region = optional(string)
237+
private_api_endpoint_only = optional(bool, false)
238+
default_targets = optional(list(object({
239+
id = string
240+
})))
241+
})
242+
description = "Global settings for Metrics Routing"
243+
default = null
244+
}
245+
232246
##############################################################################
233247
# Cloud Monitoring Variables
234248
##############################################################################

tests/pr_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@ func TestInstancesInSchematics(t *testing.T) {
7272
Tags: []string{"test-schematic"},
7373
DeleteWorkspaceOnFail: false,
7474
WaitJobCompleteMinutes: 60,
75+
IgnoreUpdates: testhelper.Exemptions{
76+
List: []string{
77+
// Need to ignore this since primary_metadata_region might be updating in the dev account due to tests using different regions
78+
"module.observability_instance.module.metric_routing.ibm_metrics_router_settings.metrics_router_settings[0]",
79+
},
80+
},
7581
})
7682

7783
options.TerraformVars = []testschematic.TestSchematicTerraformVar{
@@ -103,6 +109,12 @@ func TestRunUpgradeSolutionInstances(t *testing.T) {
103109
TerraformDir: solutionInstanceDADir,
104110
Region: region,
105111
Prefix: "obs-ins-upg",
112+
IgnoreUpdates: testhelper.Exemptions{
113+
List: []string{
114+
// Need to ignore this since primary_metadata_region might be updating in the dev account due to tests using different regions
115+
"module.observability_instance.module.metric_routing.ibm_metrics_router_settings.metrics_router_settings[0]",
116+
},
117+
},
106118
})
107119

108120
options.TerraformVars = map[string]interface{}{
@@ -290,6 +302,12 @@ func TestRunExistingResourcesInstancesSchematics(t *testing.T) {
290302
DeleteWorkspaceOnFail: false,
291303
WaitJobCompleteMinutes: 60,
292304
Region: region,
305+
IgnoreUpdates: testhelper.Exemptions{
306+
List: []string{
307+
// Need to ignore this since primary_metadata_region might be updating in the dev account due to tests using different regions
308+
"module.observability_instance.module.metric_routing.ibm_metrics_router_settings.metrics_router_settings[0]",
309+
},
310+
},
293311
})
294312

295313
options.TerraformVars = []testschematic.TestSchematicTerraformVar{
@@ -331,6 +349,12 @@ func TestRunExistingResourcesInstancesSchematics(t *testing.T) {
331349
DeleteWorkspaceOnFail: false,
332350
WaitJobCompleteMinutes: 60,
333351
Region: region,
352+
IgnoreUpdates: testhelper.Exemptions{
353+
List: []string{
354+
// Need to ignore this since primary_metadata_region might be updating in the dev account due to tests using different regions
355+
"module.observability_instance.module.metric_routing.ibm_metrics_router_settings.metrics_router_settings[0]",
356+
},
357+
},
334358
})
335359

336360
options2.TerraformVars = []testschematic.TestSchematicTerraformVar{

0 commit comments

Comments
 (0)