diff --git a/caas/kubernetes/ingress/vts/modules.tf b/caas/kubernetes/ingress/vts/modules.tf index 288bd39..dac7f45 100644 --- a/caas/kubernetes/ingress/vts/modules.tf +++ b/caas/kubernetes/ingress/vts/modules.tf @@ -6,7 +6,7 @@ module "filter-tags" { filter_tags_use_defaults = "${var.filter_tags_use_defaults}" filter_tags_custom = "${var.filter_tags_custom}" filter_tags_custom_excluded = "${var.filter_tags_custom_excluded}" - extra_tags = ["!upstream:upstream-default-backend"] + extra_tags_excluded = ["upstream:upstream-default-backend"] } module "filter-tags-5xx" { @@ -17,7 +17,8 @@ module "filter-tags-5xx" { filter_tags_use_defaults = "${var.filter_tags_use_defaults}" filter_tags_custom = "${var.filter_tags_custom}" filter_tags_custom_excluded = "${var.filter_tags_custom_excluded}" - extra_tags = ["!upstream:upstream-default-backend,status_code:5xx"] + extra_tags = ["status_code:5xx"] + extra_tags_excluded = ["upstream:upstream-default-backend"] } module "filter-tags-4xx" { @@ -28,5 +29,6 @@ module "filter-tags-4xx" { filter_tags_use_defaults = "${var.filter_tags_use_defaults}" filter_tags_custom = "${var.filter_tags_custom}" filter_tags_custom_excluded = "${var.filter_tags_custom_excluded}" - extra_tags = ["!upstream:upstream-default-backend,status_code:4xx"] + extra_tags = ["status_code:4xx"] + extra_tags_excluded = ["upstream:upstream-default-backend"] } diff --git a/caas/kubernetes/pod/modules.tf b/caas/kubernetes/pod/modules.tf index 9232867..72b5b69 100644 --- a/caas/kubernetes/pod/modules.tf +++ b/caas/kubernetes/pod/modules.tf @@ -16,7 +16,7 @@ module "filter-tags-phase" { filter_tags_use_defaults = "${var.filter_tags_use_defaults}" filter_tags_custom = "${var.filter_tags_custom}" filter_tags_custom_excluded = "${var.filter_tags_custom_excluded}" - extra_tags = ["!phase:pending,!phase:running,!phase:succeeded,!phase:unknown"] + extra_tags_excluded = ["phase:pending,phase:running,phase:succeeded,phase:unknown"] } module "filter-tags-nocrashloopbackoff" { @@ -27,7 +27,7 @@ module "filter-tags-nocrashloopbackoff" { filter_tags_use_defaults = "${var.filter_tags_use_defaults}" filter_tags_custom = "${var.filter_tags_custom}" filter_tags_custom_excluded = "${var.filter_tags_custom_excluded}" - extra_tags = ["!reason:crashloopbackoff"] + extra_tags_excluded = ["reason:crashloopbackoff"] } module "filter-tags-crashloopbackoff" { diff --git a/common/filter-tags/README.md b/common/filter-tags/README.md index f79e8c4..41fc271 100644 --- a/common/filter-tags/README.md +++ b/common/filter-tags/README.md @@ -29,7 +29,8 @@ Creates all kinds of filters tags patterns depending of the monitor type and dir | Name | Description | Type | Default | Required | |------|-------------|:----:|:-----:|:-----:| | environment | Architecture Environment | string | - | yes | -| extra_tags | Extra optional tags added for default filtering when filter_tags_use_defaults is true (i.e. ["tag1:val1", "tag2:val2"]) | list | `[]` | no | +| extra_tags | Extra optional tags added to include filtering in any case (i.e. [\"tag1:val1\", \"tag2:val2\"]) | list | `[]` | no | +| extra_tags_excluded | Extra optional tags added to exclude filtering in any case (i.e. [\"tag1:val1\", \"tag2:val2\"]) | list | `[]` | no | | filter_tags_custom | Tags used for custom filtering when filter_tags_use_defaults is false (i.e. "tag1:val1,tag2:val2") | string | `*` | no | | filter_tags_custom_excluded | Tags excluded for custom filtering when filter_tags_use_defaults is false (i.e. "tag1:val1,tag2:val2") | string | `` | no | | filter_tags_use_defaults | Use default filter tags convention | string | `true` | no | @@ -46,4 +47,5 @@ Creates all kinds of filters tags patterns depending of the monitor type and dir ## Related documentation Datadog API type of monitor: [https://docs.datadoghq.com/api/?lang=python#create-a-monitor](https://docs.datadoghq.com/api/?lang=python#create-a-monitor) +Terraform guide: [https://www.terraform.io/docs/configuration-0-11/interpolation.html](https://www.terraform.io/docs/configuration-0-11/interpolation.html) diff --git a/common/filter-tags/inputs.tf b/common/filter-tags/inputs.tf index 9c34609..c4b8283 100644 --- a/common/filter-tags/inputs.tf +++ b/common/filter-tags/inputs.tf @@ -24,7 +24,13 @@ variable "filter_tags_custom_excluded" { } variable "extra_tags" { - description = "Extra optional tags added for default filtering when filter_tags_use_defaults is true (i.e. [\"tag1:val1\", \"tag2:val2\"])" + description = "Extra optional tags added to include filtering in any case (i.e. [\"tag1:val1\", \"tag2:val2\"])" + type = "list" + default = [] +} + +variable "extra_tags_excluded" { + description = "Extra optional tags added to exclude filtering in any case (i.e. [\"tag1:val1\", \"tag2:val2\"])" type = "list" default = [] } diff --git a/common/filter-tags/locals.tf b/common/filter-tags/locals.tf index d153e77..1a3d95e 100644 --- a/common/filter-tags/locals.tf +++ b/common/filter-tags/locals.tf @@ -1,7 +1,8 @@ locals { including_default_list = "${compact(concat(split(",", format("dd_monitoring:enabled,dd_%s:enabled,env:%s", var.resource, var.environment)), compact(var.extra_tags)))}" - excluding_list = "${compact(split(",", var.filter_tags_use_defaults == "true" ? "" : join(",", split(",", "${var.filter_tags_custom_excluded}"))))}" + including_custom_list = "${compact(concat(split(",", var.filter_tags_custom), compact(var.extra_tags)))}" + excluding_list = "${compact(split(",", var.filter_tags_use_defaults == "true" ? join(",", compact(var.extra_tags_excluded)) : join(",", concat(split(",", var.filter_tags_custom_excluded), compact(var.extra_tags_excluded)))))}" - including_string = "${var.filter_tags_use_defaults == "true" ? join(",", local.including_default_list) : "${var.filter_tags_custom}"}" + including_string = "${var.filter_tags_use_defaults == "true" ? join(",", local.including_default_list) : join(",", local.including_custom_list)}" excluding_string = "${join(",", local.excluding_list)}" }