diff --git a/released/discovery_center/mission_3061/step1/main.tf b/released/discovery_center/mission_3061/step1/main.tf index d5fdd960..45a6aedc 100644 --- a/released/discovery_center/mission_3061/step1/main.tf +++ b/released/discovery_center/mission_3061/step1/main.tf @@ -71,24 +71,18 @@ data "btp_subaccount_environments" "all" { } # Take the landscape label from the first CF environment if no environment label is provided -resource "null_resource" "cache_target_environment" { - triggers = { - label = length(var.cf_landscape_label) > 0 ? var.cf_landscape_label : [for env in data.btp_subaccount_environments.all.values : env if env.service_name == "cloudfoundry" && env.environment_type == "cloudfoundry"][0].landscape_label - } - - lifecycle { - ignore_changes = all - } +resource "terraform_data" "cf_landscape_label" { + input = length(var.cf_landscape_label) > 0 ? var.cf_landscape_label : [for env in data.btp_subaccount_environments.all.values : env if env.service_name == "cloudfoundry" && env.environment_type == "cloudfoundry"][0].landscape_label } # Create the Cloud Foundry environment instance -resource "btp_subaccount_environment_instance" "cf_abap" { +resource "btp_subaccount_environment_instance" "cloudfoundry" { subaccount_id = btp_subaccount.abap_subaccount.id name = local.subaccount_cf_org environment_type = "cloudfoundry" service_name = "cloudfoundry" plan_name = var.cf_plan_name - landscape_label = null_resource.cache_target_environment.triggers.label + landscape_label = terraform_data.cf_landscape_label.output parameters = jsonencode({ instance_name = local.subaccount_cf_org @@ -108,8 +102,8 @@ resource "local_file" "output_vars_step1" { content = <<-EOT origin = "${var.origin}" - cf_api_url = "${jsondecode(btp_subaccount_environment_instance.cf_abap.labels)["API Endpoint"]}" - cf_org_id = "${btp_subaccount_environment_instance.cf_abap.platform_id}" + cf_api_url = "${jsondecode(btp_subaccount_environment_instance.cloudfoundry.labels)["API Endpoint"]}" + cf_org_id = "${btp_subaccount_environment_instance.cloudfoundry.platform_id}" cf_org_auditors = ${jsonencode(var.cf_org_auditors)} cf_org_billing_managers = ${jsonencode(var.cf_org_billing_managers)} diff --git a/released/discovery_center/mission_3061/step1/outputs.tf b/released/discovery_center/mission_3061/step1/outputs.tf index 748ec0ff..dd1ec05f 100644 --- a/released/discovery_center/mission_3061/step1/outputs.tf +++ b/released/discovery_center/mission_3061/step1/outputs.tf @@ -14,17 +14,17 @@ output "cf_org_name" { } output "cf_org_id" { - value = btp_subaccount_environment_instance.cf_abap.platform_id + value = btp_subaccount_environment_instance.cloudfoundry.platform_id description = "The ID of the Cloud Foundry org connected to the subaccount." } output "cf_api_url" { - value = lookup(jsondecode(btp_subaccount_environment_instance.cf_abap.labels), "API Endpoint", "not found") + value = lookup(jsondecode(btp_subaccount_environment_instance.cloudfoundry.labels), "API Endpoint", "not found") description = "API endpoint of the Cloud Foundry environment." } output "cf_landscape_label" { - value = btp_subaccount_environment_instance.cf_abap.landscape_label + value = btp_subaccount_environment_instance.cloudfoundry.landscape_label description = "Landscape label of the Cloud Foundry environment." } diff --git a/released/discovery_center/mission_3239/main.tf b/released/discovery_center/mission_3239/main.tf index 163a1b2c..192d50eb 100644 --- a/released/discovery_center/mission_3239/main.tf +++ b/released/discovery_center/mission_3239/main.tf @@ -42,18 +42,9 @@ resource "btp_subaccount_trust_configuration" "fully_customized" { # Creation of Cloud Foundry environment ############################################################################################### - -# ------------------------------------------------------------------------------------------------------ # Take the landscape label from the first CF environment if no environment label is provided -# ------------------------------------------------------------------------------------------------------ -resource "null_resource" "cache_target_environment" { - triggers = { - label = length(var.environment_label) > 0 ? var.environment_label : [for env in data.btp_subaccount_environments.all.values : env if env.service_name == "cloudfoundry" && env.environment_type == "cloudfoundry"][0].landscape_label - } - - lifecycle { - ignore_changes = all - } +resource "terraform_data" "cf_landscape_label" { + input = length(var.cf_landscape_label) > 0 ? var.cf_landscape_label : [for env in data.btp_subaccount_environments.all.values : env if env.service_name == "cloudfoundry" && env.environment_type == "cloudfoundry"][0].landscape_label } resource "btp_subaccount_environment_instance" "cf" { @@ -62,7 +53,7 @@ resource "btp_subaccount_environment_instance" "cf" { environment_type = "cloudfoundry" service_name = "cloudfoundry" plan_name = "standard" - landscape_label = null_resource.cache_target_environment.triggers.label + landscape_label = terraform_data.cf_landscape_label.output parameters = jsonencode({ instance_name = local.project_subaccount_cf_org diff --git a/released/discovery_center/mission_3239/variables.tf b/released/discovery_center/mission_3239/variables.tf index 55789383..87c26060 100644 --- a/released/discovery_center/mission_3239/variables.tf +++ b/released/discovery_center/mission_3239/variables.tf @@ -15,7 +15,6 @@ variable "subaccount_id" { default = "" } - variable "custom_idp" { type = string description = "Defines the custom IDP to be used for the subaccount" @@ -40,7 +39,7 @@ variable "org" { default = "org" } -variable "environment_label" { +variable "cf_landscape_label" { type = string description = "In case there are multiple environments available for a subaccount, you can use this label to choose with which one you want to go. If nothing is given, we take by default the first available." default = "" diff --git a/released/discovery_center/mission_3488/step1/main.tf b/released/discovery_center/mission_3488/step1/main.tf index 4c8fd870..15e28aa0 100644 --- a/released/discovery_center/mission_3488/step1/main.tf +++ b/released/discovery_center/mission_3488/step1/main.tf @@ -40,18 +40,18 @@ data "btp_subaccount_environments" "all" { } # Take the landscape label from the first CF environment if no environment label is provided -resource "terraform_data" "replacement" { +resource "terraform_data" "cf_landscape_label" { input = length(var.cf_landscape_label) > 0 ? var.cf_landscape_label : [for env in data.btp_subaccount_environments.all.values : env if env.service_name == "cloudfoundry" && env.environment_type == "cloudfoundry"][0].landscape_label } # Create the Cloud Foundry environment instance -resource "btp_subaccount_environment_instance" "cf_sac" { +resource "btp_subaccount_environment_instance" "cloudfoundry" { subaccount_id = btp_subaccount.dc_mission.id name = local.subaccount_cf_org environment_type = "cloudfoundry" service_name = "cloudfoundry" plan_name = var.cf_plan_name - landscape_label = terraform_data.replacement.output + landscape_label = terraform_data.cf_landscape_label.output parameters = jsonencode({ instance_name = local.subaccount_cf_org @@ -64,8 +64,8 @@ resource "local_file" "output_vars_step1" { content = <<-EOT origin = "${var.origin}" - cf_api_url = "${jsondecode(btp_subaccount_environment_instance.cf_sac.labels)["API Endpoint"]}" - cf_org_id = "${btp_subaccount_environment_instance.cf_sac.platform_id}" + cf_api_url = "${jsondecode(btp_subaccount_environment_instance.cloudfoundry.labels)["API Endpoint"]}" + cf_org_id = "${btp_subaccount_environment_instance.cloudfoundry.platform_id}" cf_org_auditors = ${jsonencode(var.cf_org_auditors)} cf_org_billing_managers = ${jsonencode(var.cf_org_billing_managers)} diff --git a/released/discovery_center/mission_3488/step1/outputs.tf b/released/discovery_center/mission_3488/step1/outputs.tf index 2ca0c372..543efa92 100644 --- a/released/discovery_center/mission_3488/step1/outputs.tf +++ b/released/discovery_center/mission_3488/step1/outputs.tf @@ -9,17 +9,17 @@ output "cf_org_name" { } output "cf_org_id" { - value = btp_subaccount_environment_instance.cf_sac.platform_id + value = btp_subaccount_environment_instance.cloudfoundry.platform_id description = "The ID of the Cloud Foundry org connected to the subaccount." } output "cf_api_url" { - value = lookup(jsondecode(btp_subaccount_environment_instance.cf_sac.labels), "API Endpoint", "not found") + value = lookup(jsondecode(btp_subaccount_environment_instance.cloudfoundry.labels), "API Endpoint", "not found") description = "API endpoint of the Cloud Foundry environment." } output "cf_landscape_label" { - value = btp_subaccount_environment_instance.cf_sac.landscape_label + value = btp_subaccount_environment_instance.cloudfoundry.landscape_label description = "Landscape label of the Cloud Foundry environment." } diff --git a/released/discovery_center/mission_3501/step1/main.tf b/released/discovery_center/mission_3501/step1/main.tf index 569cf3e2..80424d5a 100644 --- a/released/discovery_center/mission_3501/step1/main.tf +++ b/released/discovery_center/mission_3501/step1/main.tf @@ -51,15 +51,11 @@ resource "btp_subaccount_role_collection_assignment" "subaccount-service-admins" data "btp_subaccount_environments" "all" { subaccount_id = data.btp_subaccount.project.id } - -locals { - cf_landscape_labels = [ - for env in data.btp_subaccount_environments.all.values : env.landscape_label - if env.environment_type == "cloudfoundry" - ] +# Take the landscape label from the first CF environment if no environment label is provided +resource "terraform_data" "cf_landscape_label" { + input = length(var.cf_landscape_label) > 0 ? var.cf_landscape_label : [for env in data.btp_subaccount_environments.all.values : env if env.service_name == "cloudfoundry" && env.environment_type == "cloudfoundry"][0].landscape_label } - ###################################################################### # Creation of Cloud Foundry environment ###################################################################### @@ -69,7 +65,7 @@ resource "btp_subaccount_environment_instance" "cloudfoundry" { environment_type = "cloudfoundry" service_name = "cloudfoundry" plan_name = "standard" - landscape_label = local.cf_landscape_labels[0] + landscape_label = terraform_data.cf_landscape_label.output parameters = jsonencode({ instance_name = local.project_subaccount_cf_org }) diff --git a/released/discovery_center/mission_3501/step1/output.tf b/released/discovery_center/mission_3501/step1/outputs.tf similarity index 100% rename from released/discovery_center/mission_3501/step1/output.tf rename to released/discovery_center/mission_3501/step1/outputs.tf diff --git a/released/discovery_center/mission_3501/step1/variables.tf b/released/discovery_center/mission_3501/step1/variables.tf index 395d0f00..8a7d2e66 100644 --- a/released/discovery_center/mission_3501/step1/variables.tf +++ b/released/discovery_center/mission_3501/step1/variables.tf @@ -28,6 +28,13 @@ variable "cf_org_name" { default = "cloud-foundry" } +# cf landscape label +variable "cf_landscape_label" { + type = string + description = "The Cloud Foundry landscape (format example eu10-004)." + default = "" +} + # Region variable "region" { type = string diff --git a/released/discovery_center/mission_3501/step2/output.tf b/released/discovery_center/mission_3501/step2/outputs.tf similarity index 100% rename from released/discovery_center/mission_3501/step2/output.tf rename to released/discovery_center/mission_3501/step2/outputs.tf diff --git a/released/discovery_center/mission_3680/step1/output.tf b/released/discovery_center/mission_3680/step1/outputs.tf similarity index 89% rename from released/discovery_center/mission_3680/step1/output.tf rename to released/discovery_center/mission_3680/step1/outputs.tf index 9fcedb28..c6f4202a 100644 --- a/released/discovery_center/mission_3680/step1/output.tf +++ b/released/discovery_center/mission_3680/step1/outputs.tf @@ -13,6 +13,11 @@ output "cf_org_id" { description = "The Cloudfoundry org id." } +output "cf_landscape_label" { + value = btp_subaccount_environment_instance.cloudfoundry.landscape_label + description = "Landscape label of the Cloud Foundry environment." +} + output "event_mesh_url" { value = btp_subaccount_subscription.event_mesh_application.subscription_url description = "Event Mesh URL" diff --git a/released/discovery_center/mission_3680/step2/output.tf b/released/discovery_center/mission_3680/step2/outputs.tf similarity index 100% rename from released/discovery_center/mission_3680/step2/output.tf rename to released/discovery_center/mission_3680/step2/outputs.tf diff --git a/released/discovery_center/mission_3774/step1/outputs.tf b/released/discovery_center/mission_3774/step1/outputs.tf index 59a03685..11432189 100644 --- a/released/discovery_center/mission_3774/step1/outputs.tf +++ b/released/discovery_center/mission_3774/step1/outputs.tf @@ -18,6 +18,11 @@ output "cf_org_name" { description = "The Cloudfoundry org name." } +output "cf_landscape_label" { + value = btp_subaccount_environment_instance.cloudfoundry.landscape_label + description = "Landscape label of the Cloud Foundry environment." +} + output "cf_org_admins" { value = var.cf_org_admins description = "The Cloudfoundry org admins." diff --git a/released/discovery_center/mission_4172/step1/main.tf b/released/discovery_center/mission_4172/step1/main.tf index 0f4216f3..caa94721 100644 --- a/released/discovery_center/mission_4172/step1/main.tf +++ b/released/discovery_center/mission_4172/step1/main.tf @@ -52,14 +52,11 @@ data "btp_subaccount_environments" "all" { subaccount_id = data.btp_subaccount.project.id } -locals { - cf_landscape_labels = [ - for env in data.btp_subaccount_environments.all.values : env.landscape_label - if env.environment_type == "cloudfoundry" - ] +# Take the landscape label from the first CF environment if no environment label is provided +resource "terraform_data" "cf_landscape_label" { + input = length(var.cf_landscape_label) > 0 ? var.cf_landscape_label : [for env in data.btp_subaccount_environments.all.values : env if env.service_name == "cloudfoundry" && env.environment_type == "cloudfoundry"][0].landscape_label } - ###################################################################### # Creation of Cloud Foundry environment ###################################################################### @@ -69,7 +66,7 @@ resource "btp_subaccount_environment_instance" "cloudfoundry" { environment_type = "cloudfoundry" service_name = "cloudfoundry" plan_name = "standard" - landscape_label = local.cf_landscape_labels[0] + landscape_label = terraform_data.cf_landscape_label.output parameters = jsonencode({ instance_name = local.project_subaccount_cf_org }) diff --git a/released/discovery_center/mission_4172/step1/output.tf b/released/discovery_center/mission_4172/step1/outputs.tf similarity index 100% rename from released/discovery_center/mission_4172/step1/output.tf rename to released/discovery_center/mission_4172/step1/outputs.tf diff --git a/released/discovery_center/mission_4172/step1/variables.tf b/released/discovery_center/mission_4172/step1/variables.tf index 88540b91..3027e9e0 100644 --- a/released/discovery_center/mission_4172/step1/variables.tf +++ b/released/discovery_center/mission_4172/step1/variables.tf @@ -28,6 +28,13 @@ variable "cf_org_name" { default = "cloud-foundry" } +# cf landscape label +variable "cf_landscape_label" { + type = string + description = "The Cloud Foundry landscape (format example eu10-004)." + default = "" +} + # Region variable "region" { type = string diff --git a/released/discovery_center/mission_4172/step2/output.tf b/released/discovery_center/mission_4172/step2/outputs.tf similarity index 100% rename from released/discovery_center/mission_4172/step2/output.tf rename to released/discovery_center/mission_4172/step2/outputs.tf diff --git a/released/discovery_center/mission_4356/step1/output.tf b/released/discovery_center/mission_4356/step1/outputs.tf similarity index 94% rename from released/discovery_center/mission_4356/step1/output.tf rename to released/discovery_center/mission_4356/step1/outputs.tf index dcd4715b..2d717e04 100644 --- a/released/discovery_center/mission_4356/step1/output.tf +++ b/released/discovery_center/mission_4356/step1/outputs.tf @@ -9,7 +9,7 @@ output "cf_api_url" { } output "cf_landscape_label" { - value = terraform_data.cf_landscape_label.output + value = btp_subaccount_environment_instance.cloudfoundry.landscape_label description = "The Cloudfoundry landscape label." } diff --git a/released/discovery_center/mission_4356/step2/output.tf b/released/discovery_center/mission_4356/step2/outputs.tf similarity index 100% rename from released/discovery_center/mission_4356/step2/output.tf rename to released/discovery_center/mission_4356/step2/outputs.tf diff --git a/released/discovery_center/mission_4371/step1/main.tf b/released/discovery_center/mission_4371/step1/main.tf index 11737739..561a7cb9 100644 --- a/released/discovery_center/mission_4371/step1/main.tf +++ b/released/discovery_center/mission_4371/step1/main.tf @@ -174,7 +174,7 @@ data "btp_subaccount_environments" "all" { # Take the landscape label from the first CF environment if no environment label is provided # (this replaces the previous null_resource) # ------------------------------------------------------------------------------------------------------ -resource "terraform_data" "replacement" { +resource "terraform_data" "cf_landscape_label" { input = length(var.cf_landscape_label) > 0 ? var.cf_landscape_label : [for env in data.btp_subaccount_environments.all.values : env if env.service_name == "cloudfoundry" && env.environment_type == "cloudfoundry"][0].landscape_label } # ------------------------------------------------------------------------------------------------------ @@ -186,7 +186,7 @@ resource "btp_subaccount_environment_instance" "cloudfoundry" { environment_type = "cloudfoundry" service_name = "cloudfoundry" plan_name = "standard" - landscape_label = terraform_data.replacement.output + landscape_label = terraform_data.cf_landscape_label.output parameters = jsonencode({ instance_name = local.subaccount_cf_org }) diff --git a/released/discovery_center/mission_4371/step1/output.tf b/released/discovery_center/mission_4371/step1/outputs.tf similarity index 86% rename from released/discovery_center/mission_4371/step1/output.tf rename to released/discovery_center/mission_4371/step1/outputs.tf index a06388a1..309eacf1 100644 --- a/released/discovery_center/mission_4371/step1/output.tf +++ b/released/discovery_center/mission_4371/step1/outputs.tf @@ -9,7 +9,7 @@ output "cf_api_url" { } output "cf_landscape_label" { - value = terraform_data.replacement.output + value = btp_subaccount_environment_instance.cloudfoundry.landscape_label description = "The Cloudfoundry landscape label." } diff --git a/released/discovery_center/mission_4371/step2/output.tf b/released/discovery_center/mission_4371/step2/outputs.tf similarity index 100% rename from released/discovery_center/mission_4371/step2/output.tf rename to released/discovery_center/mission_4371/step2/outputs.tf diff --git a/released/discovery_center/mission_4441/step1/outputs.tf b/released/discovery_center/mission_4441/step1/outputs.tf index e119f441..ade64bd3 100644 --- a/released/discovery_center/mission_4441/step1/outputs.tf +++ b/released/discovery_center/mission_4441/step1/outputs.tf @@ -18,9 +18,8 @@ output "cf_api_url" { description = "The Cloudfoundry API URL." } - output "cf_landscape_label" { - value = terraform_data.cf_landscape_label.output + value = btp_subaccount_environment_instance.cloudfoundry.landscape_label description = "The Cloudfoundry landscape label." }