Skip to content

Commit 64500d9

Browse files
authored
feat: use existing resource group only + add COS member layer (#54)
1 parent abbafe1 commit 64500d9

File tree

4 files changed

+64
-41
lines changed

4 files changed

+64
-41
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"ibmcloud_api_key": $VALIDATION_APIKEY,
33
"prefix": $PREFIX,
4-
"resource_group_name": $PREFIX,
4+
"existing_resource_group_name": $RG_NAME,
55
"sm_service_plan": "trial",
66
"enable_platform_logs_metrics": false
77
}

ibm_catalog.json

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,6 @@
146146
"description": "An identifier prepended to resources that are provisioned. Must begin with a lowercase letter and end with a lowercase letter or number.",
147147
"required": true
148148
},
149-
{
150-
"key": "use_existing_resource_group",
151-
"type": "boolean",
152-
"default_value": false,
153-
"description": "Whether to use an existing resource group. If set to `false, a resource group is created.",
154-
"required": true
155-
},
156149
{
157150
"key": "region",
158151
"type": "string",
@@ -175,10 +168,20 @@
175168
]
176169
},
177170
{
178-
"key": "resource_group_name",
171+
"key": "existing_resource_group_name",
179172
"type": "string",
180-
"default_value": "__NULL__",
181-
"required": true
173+
"default_value": "Default",
174+
"description": "The name of an existing resource group to provision all resources to.",
175+
"display_name": "Existing resource group name",
176+
"required": true,
177+
"custom_config": {
178+
"type": "resource_group",
179+
"grouping": "deployment",
180+
"original_grouping": "deployment",
181+
"config_constraints": {
182+
"identifier": "rg_name"
183+
}
184+
}
182185
},
183186
{
184187
"key": "sm_service_plan",

stack_definition.json

Lines changed: 46 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,6 @@
99
"description": "The prefix to use for all resources deployed.",
1010
"custom_config": {}
1111
},
12-
{
13-
"name": "use_existing_resource_group",
14-
"required": true,
15-
"type": "boolean",
16-
"hidden": false,
17-
"default": false,
18-
"description": "Whether to use an existing resource group.",
19-
"custom_config": {}
20-
},
2112
{
2213
"name": "region",
2314
"required": true,
@@ -28,11 +19,11 @@
2819
"custom_config": {}
2920
},
3021
{
31-
"name": "resource_group_name",
22+
"name": "existing_resource_group_name",
3223
"required": true,
3324
"type": "string",
3425
"hidden": false,
35-
"default": "__NOT_SET__",
26+
"default": "Default",
3627
"custom_config": {}
3728
},
3829
{
@@ -88,11 +79,11 @@
8879
"inputs": [
8980
{
9081
"name": "resource_group_name",
91-
"value": "ref:../../inputs/resource_group_name"
82+
"value": "ref:../../inputs/existing_resource_group_name"
9283
},
9384
{
9485
"name": "use_existing_resource_group",
95-
"value": "ref:../../inputs/use_existing_resource_group"
86+
"value": true
9687
},
9788
{
9889
"name": "region",
@@ -103,14 +94,36 @@
10394
"value": "ref:../../inputs/prefix"
10495
}
10596
],
106-
"name": "1 - Key management",
97+
"name": "1a - Key management",
10798
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.e7f105c4-8af4-4238-a98d-e89999ff14c8-global"
10899
},
109100
{
110101
"inputs": [
111102
{
112103
"name": "resource_group_name",
113-
"value": "ref:../../members/1 - Key management/outputs/resource_group_name"
104+
"value": "ref:../../inputs/existing_resource_group_name"
105+
},
106+
{
107+
"name": "existing_resource_group",
108+
"value": true
109+
},
110+
{
111+
"name": "cos_instance_name",
112+
"value": "core-services"
113+
},
114+
{
115+
"name": "prefix",
116+
"value": "ref:../../inputs/prefix"
117+
}
118+
],
119+
"name": "1b - Object storage",
120+
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.16a46645-903b-417a-b32a-9c68dcb60d98-global"
121+
},
122+
{
123+
"inputs": [
124+
{
125+
"name": "resource_group_name",
126+
"value": "ref:../../inputs/existing_resource_group_name"
114127
},
115128
{
116129
"name": "use_existing_resource_group",
@@ -122,11 +135,11 @@
122135
},
123136
{
124137
"name": "existing_kms_instance_crn",
125-
"value": "ref:../../members/1 - Key management/outputs/kms_instance_crn"
138+
"value": "ref:../../members/1a - Key management/outputs/kms_instance_crn"
126139
},
127140
{
128-
"name": "cos_instance_name",
129-
"value": "secure-services"
141+
"name": "existing_cos_instance_crn",
142+
"value": "ref:../../members/1b - Object storage/outputs/cos_instance_id"
130143
},
131144
{
132145
"name": "kms_endpoint_type",
@@ -152,27 +165,27 @@
152165
"inputs": [
153166
{
154167
"name": "existing_cos_instance_crn",
155-
"value": "ref:../../members/2 - Observability/outputs/cos_instance_crn"
168+
"value": "ref:../../members/1b - Object storage/outputs/cos_instance_id"
156169
},
157170
{
158171
"name": "skip_cos_kms_auth_policy",
159172
"value": true
160173
},
161174
{
162175
"name": "kms_endpoint_url",
163-
"value": "ref:../../members/1 - Key management/outputs/kp_private_endpoint"
176+
"value": "ref:../../members/1a - Key management/outputs/kp_private_endpoint"
164177
},
165178
{
166179
"name": "existing_kms_instance_crn",
167-
"value": "ref:../../members/1 - Key management/outputs/kms_instance_crn"
180+
"value": "ref:../../members/1a - Key management/outputs/kms_instance_crn"
168181
},
169182
{
170183
"name": "kms_endpoint_type",
171184
"value": "private"
172185
},
173186
{
174187
"name": "resource_group_name",
175-
"value": "ref:../../members/1 - Key management/outputs/resource_group_name"
188+
"value": "ref:../../inputs/existing_resource_group_name"
176189
},
177190
{
178191
"name": "use_existing_resource_group",
@@ -185,6 +198,10 @@
185198
{
186199
"name": "prefix",
187200
"value": "ref:../../inputs/prefix"
201+
},
202+
{
203+
"name": "existing_monitoring_crn",
204+
"value": "ref:../../members/2 - Observability/outputs/cloud_monitoring_crn"
188205
}
189206
],
190207
"name": "3 - Event Notifications",
@@ -194,7 +211,7 @@
194211
"inputs": [
195212
{
196213
"name": "resource_group_name",
197-
"value": "ref:../../members/1 - Key management/outputs/resource_group_name"
214+
"value": "ref:../../inputs/existing_resource_group_name"
198215
},
199216
{
200217
"name": "use_existing_resource_group",
@@ -210,15 +227,15 @@
210227
},
211228
{
212229
"name": "existing_kms_instance_crn",
213-
"value": "ref:../../members/1 - Key management/outputs/kms_instance_crn"
230+
"value": "ref:../../members/1a - Key management/outputs/kms_instance_crn"
214231
},
215232
{
216233
"name": "existing_monitoring_crn",
217234
"value": "ref:../../members/2 - Observability/outputs/cloud_monitoring_crn"
218235
},
219236
{
220237
"name": "existing_cos_instance_crn",
221-
"value": "ref:../../members/2 - Observability/outputs/cos_instance_crn"
238+
"value": "ref:../../members/1b - Object storage/outputs/cos_instance_id"
222239
},
223240
{
224241
"name": "existing_en_crn",
@@ -252,7 +269,7 @@
252269
"inputs": [
253270
{
254271
"name": "resource_group_name",
255-
"value": "ref:../../members/1 - Key management/outputs/resource_group_name"
272+
"value": "ref:../../inputs/existing_resource_group_name"
256273
},
257274
{
258275
"name": "use_existing_resource_group",
@@ -268,7 +285,7 @@
268285
},
269286
{
270287
"name": "existing_kms_instance_crn",
271-
"value": "ref:../../members/1 - Key management/outputs/kms_instance_crn"
288+
"value": "ref:../../members/1a - Key management/outputs/kms_instance_crn"
272289
},
273290
{
274291
"name": "existing_event_notification_instance_crn",
@@ -290,7 +307,7 @@
290307
"outputs": [
291308
{
292309
"name": "key_management_service_instance_crn",
293-
"value": "ref:../../members/1 - Key management/outputs/kms_instance_crn"
310+
"value": "ref:../../members/1a - Key management/outputs/kms_instance_crn"
294311
},
295312
{
296313
"name": "secrets_manager_crn",
@@ -306,7 +323,7 @@
306323
},
307324
{
308325
"name": "cos_instance_crn",
309-
"value": "ref:../../members/2 - Observability/outputs/cos_instance_crn"
326+
"value": "ref:../../members/1b - Object storage/outputs/cos_instance_id"
310327
},
311328
{
312329
"name": "en_crn",

tests/pr_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import (
66
"testing"
77
)
88

9+
// Use existing resource group
10+
const resourceGroup = "geretain-test-resources"
11+
912
func TestProjectsFullTest(t *testing.T) {
1013

1114
options := testprojects.TestProjectOptionsDefault(&testprojects.TestProjectsOptions{
@@ -16,7 +19,7 @@ func TestProjectsFullTest(t *testing.T) {
1619

1720
options.StackInputs = map[string]interface{}{
1821
"prefix": options.Prefix,
19-
"resource_group_name": options.Prefix,
22+
"existing_resource_group_name": resourceGroup,
2023
"sm_service_plan": "trial",
2124
"use_existing_resource_group": false,
2225
"ibmcloud_api_key": options.RequiredEnvironmentVars["TF_VAR_ibmcloud_api_key"], // always required by the stack

0 commit comments

Comments
 (0)