Skip to content

Commit c7f92d0

Browse files
Adopt DC mission 4441 (SAP Build Code) to correspond to Booster (#261)
1 parent c687ab6 commit c7f92d0

File tree

4 files changed

+145
-60
lines changed

4 files changed

+145
-60
lines changed

released/discovery_center/mission_4441/step1/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ To deploy the resources you must:
5353
```bash
5454
terraform apply -var-file="sample.tfvars"
5555
```
56-
```
5756

5857
## In the end
5958

released/discovery_center/mission_4441/step1/main.tf

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,19 @@ resource "terraform_data" "cf_landscape_label" {
4040
# ------------------------------------------------------------------------------------------------------
4141
# Create the Cloud Foundry environment instance
4242
# ------------------------------------------------------------------------------------------------------
43+
resource "btp_subaccount_entitlement" "cloudfoundry" {
44+
subaccount_id = btp_subaccount.dc_mission.id
45+
service_name = "cloudfoundry"
46+
plan_name = "build-code"
47+
amount = 1
48+
}
49+
4350
resource "btp_subaccount_environment_instance" "cloudfoundry" {
4451
subaccount_id = btp_subaccount.dc_mission.id
4552
name = "cf-${random_uuid.uuid.result}"
4653
environment_type = "cloudfoundry"
4754
service_name = "cloudfoundry"
48-
plan_name = "standard"
55+
plan_name = "build-code"
4956
landscape_label = terraform_data.cf_landscape_label.output
5057

5158
parameters = jsonencode({
@@ -151,6 +158,7 @@ resource "btp_subaccount_entitlement" "build_code" {
151158
subaccount_id = btp_subaccount.dc_mission.id
152159
service_name = "build-code"
153160
plan_name = "standard"
161+
amount = 1
154162
}
155163
# Subscribe
156164
resource "btp_subaccount_subscription" "build_code" {
@@ -178,19 +186,19 @@ resource "btp_subaccount_subscription" "sapappstudio" {
178186
}
179187

180188
# ------------------------------------------------------------------------------------------------------
181-
# Setup SAPLaunchpad (SAP Build Work Zone, standard edition)
189+
# Setup SAPLaunchpad (SAP Build Work Zone, foundation edition)
182190
# ------------------------------------------------------------------------------------------------------
183191
# Entitle
184192
resource "btp_subaccount_entitlement" "sap_launchpad" {
185193
subaccount_id = btp_subaccount.dc_mission.id
186194
service_name = "SAPLaunchpad"
187-
plan_name = "standard"
195+
plan_name = "foundation"
188196
}
189197
# Subscribe
190198
resource "btp_subaccount_subscription" "sap_launchpad" {
191199
subaccount_id = btp_subaccount.dc_mission.id
192200
app_name = "SAPLaunchpad"
193-
plan_name = "standard"
201+
plan_name = "foundation"
194202
depends_on = [btp_subaccount_entitlement.sap_launchpad]
195203
}
196204

@@ -212,20 +220,20 @@ resource "btp_subaccount_subscription" "cicd_app" {
212220
}
213221

214222
# ------------------------------------------------------------------------------------------------------
215-
# Setup feature-flags-dashboard (Feature Flags Service)
223+
# Setup alm-ts (Cloud Transport Management)
216224
# ------------------------------------------------------------------------------------------------------
217225
# Entitle
218-
resource "btp_subaccount_entitlement" "feature_flags_dashboard" {
226+
resource "btp_subaccount_entitlement" "alm_ts" {
219227
subaccount_id = btp_subaccount.dc_mission.id
220-
service_name = "feature-flags-dashboard"
221-
plan_name = "dashboard"
228+
service_name = "alm-ts"
229+
plan_name = "build-code"
222230
}
223231
# Subscribe
224-
resource "btp_subaccount_subscription" "feature_flags_dashboard" {
232+
resource "btp_subaccount_subscription" "alm_ts" {
225233
subaccount_id = btp_subaccount.dc_mission.id
226-
app_name = "feature-flags-dashboard"
227-
plan_name = "dashboard"
228-
depends_on = [btp_subaccount_entitlement.feature_flags_dashboard]
234+
app_name = "alm-ts"
235+
plan_name = "build-code"
236+
depends_on = [btp_subaccount_subscription.build_code, btp_subaccount_entitlement.alm_ts]
229237
}
230238

231239
# ------------------------------------------------------------------------------------------------------
@@ -245,6 +253,23 @@ resource "btp_subaccount_subscription" "sdm-web" {
245253
depends_on = [btp_subaccount_subscription.build_code, btp_subaccount_entitlement.sdm-web]
246254
}
247255

256+
# ------------------------------------------------------------------------------------------------------
257+
# Setup feature-flags-dashboard (Feature Flags Service)
258+
# ------------------------------------------------------------------------------------------------------
259+
# Entitle
260+
resource "btp_subaccount_entitlement" "feature_flags_dashboard" {
261+
subaccount_id = btp_subaccount.dc_mission.id
262+
service_name = "feature-flags-dashboard"
263+
plan_name = "dashboard"
264+
}
265+
# Subscribe
266+
resource "btp_subaccount_subscription" "feature_flags_dashboard" {
267+
subaccount_id = btp_subaccount.dc_mission.id
268+
app_name = "feature-flags-dashboard"
269+
plan_name = "dashboard"
270+
depends_on = [btp_subaccount_entitlement.feature_flags_dashboard]
271+
}
272+
248273
# ------------------------------------------------------------------------------------------------------
249274
# USERS AND ROLES
250275
# ------------------------------------------------------------------------------------------------------
@@ -268,7 +293,7 @@ resource "btp_subaccount_role_collection" "build_code_administrator" {
268293
name = role.name
269294
role_template_app_id = role.app_id
270295
role_template_name = role.role_template_name
271-
} if contains(["Business_Application_Studio_Administrator", "Administrator", "FeatureFlags_Dashboard_Administrator", "RegistryAdmin"], role.role_template_name)
296+
} if contains(["Business_Application_Studio_Administrator", "Administrator", "FeatureFlags_Dashboard_Administrator", "RegistryAdmin", "SDM_Admin", "SDM_BusinessAdmin", "SDM_MigrationAdmin", "SuperAdmin", "SDMWeb_Admin", "SDMWeb_Migration"], role.role_template_name)
272297
]
273298
}
274299
# Assign users to the role collection "Build Code Administrator"
@@ -294,7 +319,7 @@ resource "btp_subaccount_role_collection" "build_code_developer" {
294319
name = role.name
295320
role_template_app_id = role.app_id
296321
role_template_name = role.role_template_name
297-
} if contains(["Business_Application_Studio_Developer", "Developer", "FeatureFlags_Dashboard_Auditor", "RegistryDeveloper"], role.role_template_name)
322+
} if contains(["Business_Application_Studio_Developer", "Developer", "FeatureFlags_Dashboard_Auditor", "RegistryDeveloper", "SDM_User", "Viewer", "Workzone_User", "SDMWeb_User"], role.role_template_name)
298323
]
299324
}
300325
# Assign users to the role collection "Build Code Developer"

released/discovery_center/mission_4441/step1/sample.tfvars

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ create_tfvars_file_for_step2 = true
2323
# ------------------------------------------------------------------------------------------------------
2424
subaccount_admins = ["[email protected]"]
2525
cf_org_admins = ["[email protected]"]
26-
cf_space_manager = ["[email protected]", "[email protected]"]
27-
cf_space_developer = ["[email protected]", "[email protected]"]
26+
cf_space_managers = ["[email protected]", "[email protected]"]
27+
cf_space_developers = ["[email protected]", "[email protected]"]
2828
build_code_admins = ["[email protected]", "[email protected]"]
2929
build_code_developers = ["[email protected]", "[email protected]"]

released/discovery_center/mission_4441/step2/main.tf

Lines changed: 104 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ resource "btp_subaccount_entitlement" "mobile_services" {
4646
subaccount_id = var.subaccount_id
4747
service_name = "mobile-services"
4848
plan_name = "build-code"
49+
amount = 1
4950
}
5051
# Create the service instance
5152
data "cloudfoundry_service" "mobile_services" {
@@ -68,90 +69,120 @@ resource "cloudfoundry_service_credential_binding" "mobile_services" {
6869
}
6970

7071
# ------------------------------------------------------------------------------------------------------
71-
# Setup cloud-logging
72+
# Setup transport (standard)
7273
# ------------------------------------------------------------------------------------------------------
7374
# Entitle
74-
resource "btp_subaccount_entitlement" "cloud_logging" {
75+
resource "btp_subaccount_entitlement" "transport_standard" {
7576
subaccount_id = var.subaccount_id
76-
service_name = "cloud-logging"
77-
plan_name = "build-code"
77+
service_name = "transport"
78+
plan_name = "standard"
7879
}
7980
# Create the service instance
80-
data "cloudfoundry_service" "cloud_logging" {
81-
name = "cloud-logging"
82-
depends_on = [btp_subaccount_entitlement.cloud_logging]
81+
data "cloudfoundry_service" "transport_standard" {
82+
name = "transport"
83+
depends_on = [btp_subaccount_entitlement.transport_standard]
8384
}
84-
resource "cloudfoundry_service_instance" "cloud_logging" {
85-
name = "default_cloud-logging"
85+
resource "cloudfoundry_service_instance" "transport_standard" {
86+
name = "default_transport_standard"
8687
space = cloudfoundry_space.dev.id
8788
type = "managed"
88-
service_plan = data.cloudfoundry_service.cloud_logging.service_plans["build-code"]
89-
depends_on = [cloudfoundry_space_role.space_manager, cloudfoundry_space_role.space_developer, cloudfoundry_org_role.organization_manager, btp_subaccount_entitlement.cloud_logging]
89+
service_plan = data.cloudfoundry_service.transport_standard.service_plans["standard"]
90+
depends_on = [cloudfoundry_space_role.space_manager, cloudfoundry_space_role.space_developer, cloudfoundry_org_role.organization_manager, btp_subaccount_entitlement.transport_standard]
9091
}
9192
# Create service key
92-
resource "random_uuid" "service_key_cloud_logging" {}
93-
resource "cloudfoundry_service_credential_binding" "cloud_logging" {
93+
resource "random_uuid" "service_key_transport_standard" {}
94+
resource "cloudfoundry_service_credential_binding" "transport_standard" {
9495
type = "key"
95-
name = join("_", ["defaultKey", random_uuid.service_key_cloud_logging.result])
96-
service_instance = cloudfoundry_service_instance.cloud_logging.id
96+
name = join("_", ["defaultKey", random_uuid.service_key_transport_standard.result])
97+
service_instance = cloudfoundry_service_instance.transport_standard.id
9798
}
9899

99100
# ------------------------------------------------------------------------------------------------------
100-
# Setup alert-notification
101+
# Setup transport (export)
101102
# ------------------------------------------------------------------------------------------------------
102103
# Entitle
103-
resource "btp_subaccount_entitlement" "alert_notification" {
104+
resource "btp_subaccount_entitlement" "transport_export" {
104105
subaccount_id = var.subaccount_id
105-
service_name = "alert-notification"
106-
plan_name = "build-code"
106+
service_name = "transport"
107+
plan_name = "export"
107108
}
108109
# Create the service instance
109-
data "cloudfoundry_service" "alert_notification" {
110-
name = "alert-notification"
111-
depends_on = [btp_subaccount_entitlement.alert_notification]
110+
data "cloudfoundry_service" "transport_export" {
111+
name = "transport"
112+
depends_on = [btp_subaccount_entitlement.transport_export]
112113
}
113-
resource "cloudfoundry_service_instance" "alert_notification" {
114-
name = "default_alert-notification"
114+
resource "cloudfoundry_service_instance" "transport_export" {
115+
name = "default_transport_export"
115116
space = cloudfoundry_space.dev.id
116117
type = "managed"
117-
service_plan = data.cloudfoundry_service.alert_notification.service_plans["build-code"]
118-
depends_on = [cloudfoundry_space_role.space_manager, cloudfoundry_space_role.space_developer, cloudfoundry_org_role.organization_manager, btp_subaccount_entitlement.alert_notification]
118+
service_plan = data.cloudfoundry_service.transport_export.service_plans["export"]
119+
depends_on = [cloudfoundry_space_role.space_manager, cloudfoundry_space_role.space_developer, cloudfoundry_org_role.organization_manager, btp_subaccount_entitlement.transport_export]
119120
}
120121
# Create service key
121-
resource "random_uuid" "service_key_alert_notification" {}
122-
resource "cloudfoundry_service_credential_binding" "alert_notification" {
122+
resource "random_uuid" "service_key_transport_export" {}
123+
resource "cloudfoundry_service_credential_binding" "transport_export" {
123124
type = "key"
124-
name = join("_", ["defaultKey", random_uuid.service_key_alert_notification.result])
125-
service_instance = cloudfoundry_service_instance.alert_notification.id
125+
name = join("_", ["defaultKey", random_uuid.service_key_transport_export.result])
126+
service_instance = cloudfoundry_service_instance.transport_export.id
126127
}
127128

128129
# ------------------------------------------------------------------------------------------------------
129-
# Setup transport
130+
# Setup transport (operator)
130131
# ------------------------------------------------------------------------------------------------------
131132
# Entitle
132-
resource "btp_subaccount_entitlement" "transport" {
133+
resource "btp_subaccount_entitlement" "transport_operator" {
133134
subaccount_id = var.subaccount_id
134135
service_name = "transport"
135-
plan_name = "standard"
136+
plan_name = "transport_operator"
136137
}
137138
# Create the service instance
138-
data "cloudfoundry_service" "transport" {
139+
data "cloudfoundry_service" "transport_operator" {
139140
name = "transport"
140-
depends_on = [btp_subaccount_entitlement.transport]
141+
depends_on = [btp_subaccount_entitlement.transport_operator]
142+
}
143+
resource "cloudfoundry_service_instance" "transport_operator" {
144+
name = "default_transport_operator"
145+
space = cloudfoundry_space.dev.id
146+
type = "managed"
147+
service_plan = data.cloudfoundry_service.transport_operator.service_plans["transport_operator"]
148+
depends_on = [cloudfoundry_space_role.space_manager, cloudfoundry_space_role.space_developer, cloudfoundry_org_role.organization_manager, btp_subaccount_entitlement.transport_operator]
149+
}
150+
# Create service key
151+
resource "random_uuid" "service_key_transport_operator" {}
152+
resource "cloudfoundry_service_credential_binding" "transport_operator" {
153+
type = "key"
154+
name = join("_", ["defaultKey", random_uuid.service_key_transport_operator.result])
155+
service_instance = cloudfoundry_service_instance.transport_operator.id
156+
}
157+
158+
# ------------------------------------------------------------------------------------------------------
159+
# Setup cloud-logging
160+
# ------------------------------------------------------------------------------------------------------
161+
# Entitle
162+
resource "btp_subaccount_entitlement" "cloud_logging" {
163+
subaccount_id = var.subaccount_id
164+
service_name = "cloud-logging"
165+
plan_name = "build-code"
166+
amount = 1
167+
}
168+
# Create the service instance
169+
data "cloudfoundry_service" "cloud_logging" {
170+
name = "cloud-logging"
171+
depends_on = [btp_subaccount_entitlement.cloud_logging]
141172
}
142-
resource "cloudfoundry_service_instance" "transport" {
143-
name = "default_transport"
173+
resource "cloudfoundry_service_instance" "cloud_logging" {
174+
name = "default_cloud-logging"
144175
space = cloudfoundry_space.dev.id
145176
type = "managed"
146-
service_plan = data.cloudfoundry_service.transport.service_plans["standard"]
147-
depends_on = [cloudfoundry_space_role.space_manager, cloudfoundry_space_role.space_developer, cloudfoundry_org_role.organization_manager, btp_subaccount_entitlement.transport]
177+
service_plan = data.cloudfoundry_service.cloud_logging.service_plans["build-code"]
178+
depends_on = [cloudfoundry_space_role.space_manager, cloudfoundry_space_role.space_developer, cloudfoundry_org_role.organization_manager, btp_subaccount_entitlement.cloud_logging]
148179
}
149180
# Create service key
150-
resource "random_uuid" "service_key_transport" {}
151-
resource "cloudfoundry_service_credential_binding" "transport" {
181+
resource "random_uuid" "service_key_cloud_logging" {}
182+
resource "cloudfoundry_service_credential_binding" "cloud_logging" {
152183
type = "key"
153-
name = join("_", ["defaultKey", random_uuid.service_key_transport.result])
154-
service_instance = cloudfoundry_service_instance.transport.id
184+
name = join("_", ["defaultKey", random_uuid.service_key_cloud_logging.result])
185+
service_instance = cloudfoundry_service_instance.cloud_logging.id
155186
}
156187

157188
# ------------------------------------------------------------------------------------------------------
@@ -205,6 +236,36 @@ resource "cloudfoundry_service_credential_binding" "feature_flags" {
205236
service_instance = cloudfoundry_service_instance.feature_flags.id
206237
}
207238

239+
# ------------------------------------------------------------------------------------------------------
240+
# Setup alert-notification
241+
# ------------------------------------------------------------------------------------------------------
242+
# Entitle
243+
resource "btp_subaccount_entitlement" "alert_notification" {
244+
subaccount_id = var.subaccount_id
245+
service_name = "alert-notification"
246+
plan_name = "build-code"
247+
amount = 1
248+
}
249+
# Create the service instance
250+
data "cloudfoundry_service" "alert_notification" {
251+
name = "alert-notification"
252+
depends_on = [btp_subaccount_entitlement.alert_notification]
253+
}
254+
resource "cloudfoundry_service_instance" "alert_notification" {
255+
name = "default_alert-notification"
256+
space = cloudfoundry_space.dev.id
257+
type = "managed"
258+
service_plan = data.cloudfoundry_service.alert_notification.service_plans["build-code"]
259+
depends_on = [cloudfoundry_space_role.space_manager, cloudfoundry_space_role.space_developer, cloudfoundry_org_role.organization_manager, btp_subaccount_entitlement.alert_notification]
260+
}
261+
# Create service key
262+
resource "random_uuid" "service_key_alert_notification" {}
263+
resource "cloudfoundry_service_credential_binding" "alert_notification" {
264+
type = "key"
265+
name = join("_", ["defaultKey", random_uuid.service_key_alert_notification.result])
266+
service_instance = cloudfoundry_service_instance.alert_notification.id
267+
}
268+
208269
# ------------------------------------------------------------------------------------------------------
209270
# USERS AND ROLES
210271
# ------------------------------------------------------------------------------------------------------

0 commit comments

Comments
 (0)