diff --git a/CN/user_groups/DT_APP_CoCo_CallServices_CN_View.user_group.tf b/CN/user_groups/DT_APP_CoCo_CallServices_CN_View.user_group.tf new file mode 100644 index 0000000..070b781 --- /dev/null +++ b/CN/user_groups/DT_APP_CoCo_CallServices_CN_View.user_group.tf @@ -0,0 +1,11 @@ +resource "dynatrace_user_group" "DT_APP_CoCo_CallServices_CN_View" { + name = "DT_APP_CoCo_CallServices_CN_View" + ldap_groups = [ "Connected Call Services - China View" ] + + permissions { + grant { + environments = ["b921f1b9-c00e-4031-b9d1-f5a0d530757b", "ab88c03b-b7fc-45f0-9115-9e9ecc0ced35"] + permission = "VIEWER" + } + } +} \ No newline at end of file diff --git a/CN/user_groups/__main.tf b/CN/user_groups/__main.tf new file mode 100644 index 0000000..9c0faef --- /dev/null +++ b/CN/user_groups/__main.tf @@ -0,0 +1,30 @@ +terraform { + required_providers { + dynatrace = { + version = ">=1.35.2" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate-prod" + key = "CN/user_groups/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + skip_credentials_validation = true + } + +} + +variable CN_PROD_ENV_URL {} +variable CN_PROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.CN_PROD_ENV_URL}" + dt_api_token = "${var.CN_PROD_API_TOKEN}" + + dt_cluster_url = "https://dynatracemgd-tsp.bmwgroup.net" + dt_cluster_api_token = "dt0c01.QDWLIJVYSCCEOQ4VZYWYOUPF.YUXE5PT7COKAOIVNKS3S5NMMX7ZC4M3RAWVQ6OAZRSNUNOR2H5JQFJPVYRVSSWQ6" +} \ No newline at end of file diff --git a/EMEA_NA/user_groups/DT_APP_CoCo_CallServices_EMEANA_View.iam_group.tf b/EMEA_NA/user_groups/DT_APP_CoCo_CallServices_EMEANA_View.iam_group.tf new file mode 100644 index 0000000..7162278 --- /dev/null +++ b/EMEA_NA/user_groups/DT_APP_CoCo_CallServices_EMEANA_View.iam_group.tf @@ -0,0 +1,28 @@ +resource "dynatrace_iam_group" "DT_APP_CoCo_CallServices_EMEANA_View" { + name = "DT_APP_CoCo_CallServices_EMEANA_View" + description = "Connected Call Services - EMEA NA View (preprod und prod)" + federated_attribute_values = [ "Connected Call Services - EMEA NA View" ] + + permissions { + permission { + name = "tenant-viewer" + type = "management-zone" + scope = "qqk70169:-7397798385772720776" + } + permission { + name = "tenant-viewer" + type = "management-zone" + scope = "xxu26128:-4112886493107181463" + } + permission { + name = "tenant-viewer" + type = "management-zone" + scope = "onb44935:-7026069985839972400" + } + permission { + name = "tenant-viewer" + type = "management-zone" + scope = "wgv50241:5889520147495275218" + } + } +} \ No newline at end of file diff --git a/EMEA_NA/user_groups/__main.tf b/EMEA_NA/user_groups/__main.tf new file mode 100644 index 0000000..5803a62 --- /dev/null +++ b/EMEA_NA/user_groups/__main.tf @@ -0,0 +1,30 @@ +terraform { + required_providers { + dynatrace = { + version = ">=1.35.2" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate-prod" + key = "EMEA_NA/user_groups/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable EMEA_PROD_ENV_URL {} +variable EMEA_PROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.EMEA_PROD_ENV_URL}" + dt_api_token = "${var.EMEA_PROD_API_TOKEN}" + + iam_client_id = "dt0s02.NL3JU7BN" + iam_account_id = "0d209e1f-8c3b-46b5-8437-aeca260ef22f" + iam_client_secret = "dt0s02.NL3JU7BN.ZAOPQRTISHJYJVBAHIJU5WKANFURBBU2YLQFBPFVNELALWMA47AELPPZ5KDXHR4W" +} \ No newline at end of file diff --git a/_dynatrace-base-modules/dynatrace-iam-group/_interface.tf b/_dynatrace-base-modules/dynatrace-iam-group/_interface.tf new file mode 100644 index 0000000..d56b673 --- /dev/null +++ b/_dynatrace-base-modules/dynatrace-iam-group/_interface.tf @@ -0,0 +1,7 @@ +## --- variables + +# IAM user group Variables +variable groupName {default = ""} +variable permissionName {default = "tenant-viewer"} +variable environment-id {default = ""} +variable managementzone-id {default = ""} diff --git a/_dynatrace-base-modules/dynatrace-iam-group/dynatrace-iam-group.tf b/_dynatrace-base-modules/dynatrace-iam-group/dynatrace-iam-group.tf new file mode 100644 index 0000000..d85cdd3 --- /dev/null +++ b/_dynatrace-base-modules/dynatrace-iam-group/dynatrace-iam-group.tf @@ -0,0 +1,16 @@ +terraform { +required_providers { + dynatrace = { + version = "1.35.2" + source = "dynatrace-oss/dynatrace" + } + } +} + +resource dynatrace_iam_group main { + permission { + name = "${var.groupName}" + type = "management-zone" + scope = "${var.environment-id}" + ":" + "${var. managementzone-id}" + } +} \ No newline at end of file diff --git a/_dynatrace-base-modules/dynatrace-user-group/_interface.tf b/_dynatrace-base-modules/dynatrace-user-group/_interface.tf new file mode 100644 index 0000000..d56b673 --- /dev/null +++ b/_dynatrace-base-modules/dynatrace-user-group/_interface.tf @@ -0,0 +1,7 @@ +## --- variables + +# IAM user group Variables +variable groupName {default = ""} +variable permissionName {default = "tenant-viewer"} +variable environment-id {default = ""} +variable managementzone-id {default = ""} diff --git a/_dynatrace-base-modules/dynatrace-user-group/dynatrace-user-group.tf b/_dynatrace-base-modules/dynatrace-user-group/dynatrace-user-group.tf new file mode 100644 index 0000000..5506250 --- /dev/null +++ b/_dynatrace-base-modules/dynatrace-user-group/dynatrace-user-group.tf @@ -0,0 +1,16 @@ +terraform { +required_providers { + dynatrace = { + version = "1.35.2" + source = "dynatrace-oss/dynatrace" + } + } +} + +resource dynatrace_user_group main { + permission { + name = "${var.groupName}" + type = "management-zone" + scope = "${var.environment-id}" + ":" + "${var. managementzone-id}" + } +} \ No newline at end of file