diff --git a/_dynatrace-base-modules/dynatrace-alerting-profile/dynatrace-alerting-profile.tf b/_dynatrace-base-modules/dynatrace-alerting-profile/dynatrace-alerting-profile.tf index ba5b2e1..106167f 100644 --- a/_dynatrace-base-modules/dynatrace-alerting-profile/dynatrace-alerting-profile.tf +++ b/_dynatrace-base-modules/dynatrace-alerting-profile/dynatrace-alerting-profile.tf @@ -1,7 +1,7 @@ terraform { required_providers { dynatrace = { - version = "1.9.1" + version = "1.10.0" source = "dynatrace-oss/dynatrace" } } diff --git a/_dynatrace-base-modules/dynatrace-dashboard-sharing/_interface.tf b/_dynatrace-base-modules/dynatrace-dashboard-sharing/_interface.tf new file mode 100644 index 0000000..6fd93fb --- /dev/null +++ b/_dynatrace-base-modules/dynatrace-dashboard-sharing/_interface.tf @@ -0,0 +1,2 @@ +# ManagementZone Variables +variable "dashboard_id" { default = ""} diff --git a/_dynatrace-base-modules/dynatrace-dashboard-sharing/dynatrace-dashboard-sharing.tf b/_dynatrace-base-modules/dynatrace-dashboard-sharing/dynatrace-dashboard-sharing.tf new file mode 100644 index 0000000..fc0a96d --- /dev/null +++ b/_dynatrace-base-modules/dynatrace-dashboard-sharing/dynatrace-dashboard-sharing.tf @@ -0,0 +1,20 @@ +terraform { +required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } +} + +resource "dynatrace_dashboard_sharing" main { + enabled = true + preset = true + permissions { + permission { + type = "ALL" + level = "VIEW" + } + } + dashboard_id = "${var.dashboard_id}" +} diff --git a/_dynatrace-base-modules/dynatrace-dashboard/_interface.tf b/_dynatrace-base-modules/dynatrace-dashboard/_interface.tf new file mode 100644 index 0000000..735bf46 --- /dev/null +++ b/_dynatrace-base-modules/dynatrace-dashboard/_interface.tf @@ -0,0 +1,4 @@ +# ManagementZone Variables +variable "mzName" { default = "" } +variable "mzId" { default = "" } +variable "env" { default = ""} diff --git a/_dynatrace-base-modules/dynatrace-dashboard/dynatrace-dashboard.tf b/_dynatrace-base-modules/dynatrace-dashboard/dynatrace-dashboard.tf new file mode 100644 index 0000000..ffdcdf2 --- /dev/null +++ b/_dynatrace-base-modules/dynatrace-dashboard/dynatrace-dashboard.tf @@ -0,0 +1,340 @@ +terraform { +required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } +} + +resource dynatrace_dashboard main { + dashboard_metadata { + name = "${var.mzName} ${var.env}" + owner = "Arnel.Arnautovic@partner.bmw.de" + shared = true + tags = ["${var.mzName}"] + filter { + timeframe = "-24h to now" + } + } + tile { + name = "Custom chart" + configured = true + tile_type = "CUSTOM_CHARTING" + bounds { + height = 304 + left = 38 + top = 228 + width = 1064 + } + filter { + management_zone { + name = "${var.mzName}" + id = "${var.mzId}" + } + } + filter_config { + type = "MIXED" + custom_name = "Failure rate (HTTP 4xx/5xx errors)" + default_name = "Custom chart" + chart_config { + type = "TIMESERIES" + legend = true + result_metadata { + config { + custom_color = "#ff0000" + key = "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE" + last_modified = 1617956393463 + } + config { + custom_color = "#fff29a" + key = "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE" + last_modified = 1617956441725 + } + } + series { + type = "BAR" + aggregation = "AVG" + aggregation_rate = "TOTAL" + entity_type = "SERVICE" + metric = "builtin:service.errors.fourxx.rate" + # sort_ascending = false + # sort_column = false + } + series { + type = "BAR" + aggregation = "AVG" + aggregation_rate = "TOTAL" + entity_type = "SERVICE" + metric = "builtin:service.errors.fivexx.rate" + # sort_ascending = false + sort_column = true + } + } + filters { + filter { + entity_type = "SERVICE" + match { + key = "AUTO_TAGS" + values = ["Environment:${var.env}"] + } + } + } + } + } + tile { + name = "Problems" + configured = true + tile_type = "OPEN_PROBLEMS" + bounds { + height = 152 + left = 950 + top = 38 + width = 152 + } + filter { + management_zone { + name = "${var.mzName}" + id = "${var.mzId}" + } + } + } + tile { + name = "Overall Health" + configured = true + tile_type = "HEADER" + bounds { + height = 38 + left = 38 + top = 0 + width = 1064 + } + filter { + management_zone { + name = "${var.mzName}" + id = "${var.mzId}" + } + } + } + tile { + name = "Markdown" + configured = true + markdown = <<-EOT + --- + + EOT + tile_type = "MARKDOWN" + bounds { + height = 38 + left = 38 + top = 532 + width = 1064 + } + } + tile { + name = "Custom chart" + configured = true + tile_type = "CUSTOM_CHARTING" + bounds { + height = 304 + left = 38 + top = 570 + width = 1064 + } + filter { + management_zone { + name = "${var.mzName}" + id = "${var.mzId}" + } + } + filter_config { + type = "MIXED" + custom_name = "Response time, Request Count and Number of Errors" + default_name = "Custom chart" + chart_config { + type = "TIMESERIES" + legend = true + result_metadata { + config { + custom_color = "#008cdb" + key = "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE" + last_modified = 1595275720776 + } + config { + custom_color = "#b4e5f9" + key = "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE" + last_modified = 1595275686773 + } + config { + custom_color = "#ef651f" + key = "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE" + last_modified = 1595275955999 + } + } + series { + type = "LINE" + aggregation = "AVG" + aggregation_rate = "TOTAL" + entity_type = "SERVICE" + metric = "builtin:service.response.time" + # sort_ascending = false + # sort_column = false + } + series { + type = "BAR" + aggregation = "NONE" + aggregation_rate = "TOTAL" + entity_type = "SERVICE" + metric = "builtin:service.requestCount.total" + # sort_ascending = false + # sort_column = false + } + series { + type = "BAR" + aggregation = "NONE" + aggregation_rate = "TOTAL" + entity_type = "SERVICE" + metric = "builtin:service.errors.total.count" + # sort_ascending = false + sort_column = true + } + } + filters { + filter { + entity_type = "SERVICE" + match { + key = "AUTO_TAGS" + values = ["Environment:${var.env}"] + } + } + } + } + } + tile { + name = "Markdown" + configured = true + markdown = <<-EOT + --- + + EOT + tile_type = "MARKDOWN" + bounds { + height = 38 + left = 38 + top = 190 + width = 1064 + } + } + tile { + name = "" + chart_visible = true + configured = true + tile_type = "DATABASES_OVERVIEW" + bounds { + height = 152 + left = 646 + top = 38 + width = 190 + } + filter { + management_zone { + name = "${var.mzName}" + id = "${var.mzId}" + } + } + filter_config { + type = "DATABASE" + custom_name = "Databases" + default_name = "Databases" + chart_config { + type = "TIMESERIES" + legend = true + } + filters { + filter { + entity_type = "DATABASE" + match { + key = "AUTO_TAGS" + values = ["Environment:${var.env}"] + } + } + } + } + } + tile { + name = "" + chart_visible = true + configured = true + tile_type = "SERVICES" + bounds { + height = 152 + left = 342 + top = 38 + width = 190 + } + filter { + management_zone { + name = "${var.mzName}" + id = "${var.mzId}" + } + } + filter_config { + type = "SERVICE" + custom_name = "Services" + default_name = "Services" + chart_config { + type = "TIMESERIES" + legend = true + } + filters { + filter { + entity_type = "SERVICE" + match { + key = "AUTO_TAGS" + values = ["Environment:${var.env}"] + } + } + } + } + } + tile { + name = "" + chart_visible = true + configured = true + tile_type = "HOSTS" + bounds { + height = 152 + left = 38 + top = 38 + width = 190 + } + filter { + management_zone { + name = "${var.mzName}" + id = "${var.mzId}" + } + } + filter_config { + type = "HOST" + custom_name = "Hosts" + default_name = "Hosts" + chart_config { + type = "TIMESERIES" + legend = true + } + filters { + filter { + entity_type = "HOST" + match { + key = "AUTO_TAGS" + values = ["Environment:${var.env}"] + } + } + } + } + } +} + +output "id" { + value = dynatrace_dashboard.main.id +} diff --git a/_dynatrace-base-modules/dynatrace-management-zone/dynatrace-management-zone.tf b/_dynatrace-base-modules/dynatrace-management-zone/dynatrace-management-zone.tf index 1fc378a..6eb993b 100644 --- a/_dynatrace-base-modules/dynatrace-management-zone/dynatrace-management-zone.tf +++ b/_dynatrace-base-modules/dynatrace-management-zone/dynatrace-management-zone.tf @@ -1,7 +1,7 @@ terraform { required_providers { dynatrace = { - version = "1.9.1" + version = "1.10.0" source = "dynatrace-oss/dynatrace" } } diff --git a/_dynatrace-base-modules/dynatrace-service-level-objective/_interface.tf b/_dynatrace-base-modules/dynatrace-service-level-objective/_interface.tf new file mode 100644 index 0000000..5bd1d08 --- /dev/null +++ b/_dynatrace-base-modules/dynatrace-service-level-objective/_interface.tf @@ -0,0 +1,23 @@ +# ManagementZone Variables +variable "name" { default = "" } +variable "description" { default = "" } +variable "ownerMail" { default = "" } + +variable "evaluation" { default = "AGGREGATE" } //currently nothing else possible + +#Target and warning percentage of the SLO as integer +variable "target" { default = "98" } +variable "warning" { default = "99" } + +#Timeframe of the default evaluation timeframe +variable "timeframe" { default = "-1d" } + +#Metrics to be evaluated, must result in a percentage metric +variable "metric_expression" { default = "" } + + +##Optional Fields +variable "entitySelector" { default = "" } + + + diff --git a/_dynatrace-base-modules/dynatrace-service-level-objective/dynatrace-service-level-objective.tf b/_dynatrace-base-modules/dynatrace-service-level-objective/dynatrace-service-level-objective.tf new file mode 100644 index 0000000..fc805aa --- /dev/null +++ b/_dynatrace-base-modules/dynatrace-service-level-objective/dynatrace-service-level-objective.tf @@ -0,0 +1,26 @@ +terraform { +required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } +} + +resource dynatrace_slo main { + name = "${var.name}" + description = "${var.description}" + + evaluation = "${var.evaluation}" + timeframe = "${var.timeframe}" + target = "${var.target}" + warning = "${var.warning}" + + + metric_expression = "${var.metric_expression}" + filter = "${var.entitySelector}" +} + +output "id" { + value = dynatrace_slo.main.id +} diff --git a/cnpreprod/calculated_service_metrics/main.tf b/cnpreprod/calculated_service_metrics/main.tf new file mode 100644 index 0000000..ee1e73b --- /dev/null +++ b/cnpreprod/calculated_service_metrics/main.tf @@ -0,0 +1,26 @@ +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "cnpreprod/calculated_service_metrics/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable CNPREPROD_ENV_URL {} +variable CNPREPROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.CNPREPROD_ENV_URL}" + dt_api_token = "${var.CNPREPROD_API_TOKEN}" +} \ No newline at end of file diff --git a/cnpreprod/slo/main.tf b/cnpreprod/slo/main.tf new file mode 100644 index 0000000..0085e6e --- /dev/null +++ b/cnpreprod/slo/main.tf @@ -0,0 +1,25 @@ +variable CNPREPROD_ENV_URL {} +variable CNPREPROD_API_TOKEN {} + +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "cnpreprod/slo/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +provider "dynatrace" { + dt_env_url = "${var.CNPREPROD_ENV_URL}" + dt_api_token = "${var.CNPREPROD_API_TOKEN}" +} \ No newline at end of file diff --git a/cnprod/calculated_service_metrics/main.tf b/cnprod/calculated_service_metrics/main.tf new file mode 100644 index 0000000..50330b9 --- /dev/null +++ b/cnprod/calculated_service_metrics/main.tf @@ -0,0 +1,26 @@ +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "cnprod/calculated_service_metrics/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable CNPROD_ENV_URL {} +variable CNPROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.CNPROD_ENV_URL}" + dt_api_token = "${var.CNPROD_API_TOKEN}" +} \ No newline at end of file diff --git a/cnprod/slo/main.tf b/cnprod/slo/main.tf new file mode 100644 index 0000000..eda9cc4 --- /dev/null +++ b/cnprod/slo/main.tf @@ -0,0 +1,25 @@ +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "cnprod/slo/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable CNPROD_ENV_URL {} +variable CNPROD_API_TOKEN {} + +provider "dynatrace" { + dt_env_url = "${var.CNPROD_ENV_URL}" + dt_api_token = "${var.CNPROD_API_TOKEN}" +} \ No newline at end of file diff --git a/eupreprod/CD_ABC/_providers.tf b/eupreprod/CD_ABC/_providers.tf deleted file mode 100644 index 665dfbf..0000000 --- a/eupreprod/CD_ABC/_providers.tf +++ /dev/null @@ -1,22 +0,0 @@ -terraform { - required_providers { - dynatrace = { - version = "1.9.1" - source = "dynatrace-oss/dynatrace" - } - } - - backend "s3" { - bucket = "coco-dynatrace-tfstate" - key = "eupreprod/CD_ABC/terraform.tfstate" - region = "eu-central-1" - dynamodb_table = "coco-dynatrace-tfstate" - encrypt = true - } -} - -variable "EMEAPREPROD" {} -provider "dynatrace" { - dt_env_url = "https://qqk70169.live.dynatrace.com" - dt_api_token = "${var.EMEAPREPROD}" -} \ No newline at end of file diff --git a/eupreprod/CD_ABC/alerting-profile.tf b/eupreprod/CD_ABC/alerting-profile.tf deleted file mode 100644 index f33cf87..0000000 --- a/eupreprod/CD_ABC/alerting-profile.tf +++ /dev/null @@ -1,28 +0,0 @@ -module ap1 { - - source = "../../_dynatrace-base-modules/dynatrace-alerting-profile" - - mzId = module.mz1.id - alertingProfileName = "Test123" - delay_AVAILABILITY = 0 - delay_CUSTOM_ALERT = 10 - delay_ERROR = 30 - delay_MONITORING_UNAVAILABLE = 20 - delay_PERFORMANCE = 10 - delay_RESOURCE_CONTENTION = 0 - - #Tag Filters - include_mode = "INCLUDE_ALL" - tag_filters = [{ - context = "CONTEXTLESS" - key = "Environment" - value = "PROD" - }, - { - context = "CONTEXTLESS" - key = "ms-id" - value = "ABC" - } - ] - -} \ No newline at end of file diff --git a/eupreprod/CD_ABC/management-zone.tf b/eupreprod/CD_ABC/management-zone.tf deleted file mode 100644 index 93cb513..0000000 --- a/eupreprod/CD_ABC/management-zone.tf +++ /dev/null @@ -1,30 +0,0 @@ -module mz1 { - source = "../../_dynatrace-base-modules/dynatrace-management-zone" - - mzName = "ABsC" - app_meta_ms-id = "AsBC" - app_meta_compass-id = "AsBC" - app_meta_app-id = "AsBC" - app_meta_app-name = "ABsC" - - DatabaseSelector ="type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag(\"ms-id:am-proxy\",\"ms-id:am-cns\"))" - ServiceSelector ="type(Service),tag(\"ms-id:am-proxy\",\"ms-id:am-cns\")" - HostSelector ="type(HOST),tag(\"ms-id:am-proxy\",\"ms-id:am-cns\")" -} - -module mz2 { - source = "../../_dynatrace-base-modules/dynatrace-management-zone" - - - mzName = "CD" - app_meta_ms-id = "CD" - app_meta_compass-id = "CD" - app_meta_app-id = "CD" - app_meta_app-name = "CD" - - DatabaseSelector ="type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag(\"ms-id:am-proxy\",\"ms-id:am-cns\"))" - ServiceSelector ="type(Service),tag(\"ms-id:am-proxy\",\"ms-id:am-cns\")" - HostSelector ="type(HOST),tag(\"ms-id:am-proxy\",\"ms-id:am-cns\")" -} - - diff --git a/eupreprod/calculated_service_metrics/main.tf b/eupreprod/calculated_service_metrics/main.tf new file mode 100644 index 0000000..30baf04 --- /dev/null +++ b/eupreprod/calculated_service_metrics/main.tf @@ -0,0 +1,26 @@ +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "eupreprod/calculated_service_metrics/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable EUPREPROD_ENV_URL {} +variable EUPREPROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.EUPREPROD_ENV_URL}" + dt_api_token = "${var.EUPREPROD_API_TOKEN}" +} \ No newline at end of file diff --git a/eupreprod/main.tf b/eupreprod/main.tf deleted file mode 100644 index c0b2bca..0000000 --- a/eupreprod/main.tf +++ /dev/null @@ -1,27 +0,0 @@ - -locals {} - -terraform { -required_providers { - dynatrace = { - version = "1.9.1" - source = "dynatrace-oss/dynatrace" - } - } -} - - -module apps { - source = "./apps" - - mzName = "ABfdfC1" - app_meta_ms-id = "ABC2" - app_meta_compass-id = "ABC3" - app_meta_app-id = "ABC4" - app_meta_app-name = "ABC5" - - DatabaseSelector ="selector sdstatement" - ServiceSelector ="selector statement" - HostSelector ="selector statement" - -} \ No newline at end of file diff --git a/eupreprod/slo/main.tf b/eupreprod/slo/main.tf new file mode 100644 index 0000000..30baf04 --- /dev/null +++ b/eupreprod/slo/main.tf @@ -0,0 +1,26 @@ +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "eupreprod/calculated_service_metrics/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable EUPREPROD_ENV_URL {} +variable EUPREPROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.EUPREPROD_ENV_URL}" + dt_api_token = "${var.EUPREPROD_API_TOKEN}" +} \ No newline at end of file diff --git a/euprod/calculated_service_metrics/main.tf b/euprod/calculated_service_metrics/main.tf new file mode 100644 index 0000000..527e68e --- /dev/null +++ b/euprod/calculated_service_metrics/main.tf @@ -0,0 +1,26 @@ +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "euprod/calculated_service_metrics/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable EUPROD_ENV_URL {} +variable EUPROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.EUPROD_ENV_URL}" + dt_api_token = "${var.EUPROD_API_TOKEN}" +} \ No newline at end of file diff --git a/euprod/slo/main.tf b/euprod/slo/main.tf new file mode 100644 index 0000000..527e68e --- /dev/null +++ b/euprod/slo/main.tf @@ -0,0 +1,26 @@ +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "euprod/calculated_service_metrics/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable EUPROD_ENV_URL {} +variable EUPROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.EUPROD_ENV_URL}" + dt_api_token = "${var.EUPROD_API_TOKEN}" +} \ No newline at end of file diff --git a/napreprod/calculated_service_metrics/main.tf b/napreprod/calculated_service_metrics/main.tf new file mode 100644 index 0000000..4149e9c --- /dev/null +++ b/napreprod/calculated_service_metrics/main.tf @@ -0,0 +1,26 @@ +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "napreprod/calculated_service_metrics/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable NAPREPROD_ENV_URL {} +variable NAPREPROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.NAPREPROD_ENV_URL}" + dt_api_token = "${var.NAPREPROD_API_TOKEN}" +} \ No newline at end of file diff --git a/napreprod/slo/main.tf b/napreprod/slo/main.tf new file mode 100644 index 0000000..4149e9c --- /dev/null +++ b/napreprod/slo/main.tf @@ -0,0 +1,26 @@ +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "napreprod/calculated_service_metrics/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable NAPREPROD_ENV_URL {} +variable NAPREPROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.NAPREPROD_ENV_URL}" + dt_api_token = "${var.NAPREPROD_API_TOKEN}" +} \ No newline at end of file diff --git a/naprod/calculated_service_metrics/main.tf b/naprod/calculated_service_metrics/main.tf new file mode 100644 index 0000000..083e1b4 --- /dev/null +++ b/naprod/calculated_service_metrics/main.tf @@ -0,0 +1,26 @@ +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "naprod/calculated_service_metrics/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable NAPROD_ENV_URL {} +variable NAPROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.NAPROD_ENV_URL}" + dt_api_token = "${var.NAPROD_API_TOKEN}" +} \ No newline at end of file diff --git a/naprod/slo/main.tf b/naprod/slo/main.tf new file mode 100644 index 0000000..bccc353 --- /dev/null +++ b/naprod/slo/main.tf @@ -0,0 +1,26 @@ +terraform { + required_providers { + dynatrace = { + version = "1.10.0" + source = "dynatrace-oss/dynatrace" + } + } + + backend "s3" { + bucket = "coco-dynatrace-tfstate" + key = "naprod/slo/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "coco-dynatrace-tfstate" + encrypt = true + } + +} + +variable NAPROD_ENV_URL {} +variable NAPROD_API_TOKEN {} + + +provider "dynatrace" { + dt_env_url = "${var.NAPROD_ENV_URL}" + dt_api_token = "${var.NAPROD_API_TOKEN}" +} \ No newline at end of file