diff --git a/released/modules/roles/subaccount_role_app_id/README.md b/released/modules/roles/subaccount_role_app_id/README.md new file mode 100644 index 00000000..8371b246 --- /dev/null +++ b/released/modules/roles/subaccount_role_app_id/README.md @@ -0,0 +1,5 @@ +# Module: modules - roles - App ID of a Role on subaccount level + +## Content of setup + +The module returns the application ID needed to create custom role collections. diff --git a/released/modules/roles/subaccount_role_app_id/role_app_id.tf b/released/modules/roles/subaccount_role_app_id/role_app_id.tf new file mode 100644 index 00000000..9f7d9067 --- /dev/null +++ b/released/modules/roles/subaccount_role_app_id/role_app_id.tf @@ -0,0 +1,20 @@ +terraform { + required_providers { + btp = { + source = "SAP/btp" + version = "~> 1.9.0" + } + } +} + +data "btp_subaccount_roles" "all_roles" { + subaccount_id = var.subaccount_id +} + + +locals { + selected_role = [ + for role in data.btp_subaccount_roles.all_roles.values : role + if role.name == var.role_name && role.role_template_name == var.role_template_name + ] +} diff --git a/released/modules/roles/subaccount_role_app_id/role_app_id_outputs.tf b/released/modules/roles/subaccount_role_app_id/role_app_id_outputs.tf new file mode 100644 index 00000000..eb15096d --- /dev/null +++ b/released/modules/roles/subaccount_role_app_id/role_app_id_outputs.tf @@ -0,0 +1,4 @@ +output "role_app_id" { + value = local.selected_role[0].app_id + description = "The id of the application that provides the role template and the role." +} diff --git a/released/modules/roles/subaccount_role_app_id/role_app_id_variables.tf b/released/modules/roles/subaccount_role_app_id/role_app_id_variables.tf new file mode 100644 index 00000000..8e30a0f2 --- /dev/null +++ b/released/modules/roles/subaccount_role_app_id/role_app_id_variables.tf @@ -0,0 +1,14 @@ +variable "subaccount_id" { + type = string + description = "The ID of the SAP BTP subaccount" +} + +variable "role_name" { + type = string + description = "The name of the role" +} + +variable "role_template_name" { + type = string + description = "The name of the role template." +}