Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Make Terraform resource key multiline

I am declaring a google_logging_metric resource in Terraform (using version 0.11.14)

I have the following declaration

resource "google_logging_metric" "my_metric" {
  description = "Check for logs of some cron job\t"
  name        = "mycj-logs"
  filter      = "resource.type=\"k8s_container\" AND resource.labels.cluster_name=\"${local.k8s_name}\" AND resource.labels.namespace_name=\"workable\" AND resource.labels.container_name=\"mycontainer-cronjob\" \nresource.labels.pod_name:\"my-pod\""
  project     = "${data.terraform_remote_state.gke_k8s_env.project_id}"

  metric_descriptor {
    metric_kind = "DELTA"
    value_type  = "INT64"
  }
}

Is there a way to make the filter field multiline?

The existence of the local variable "${local.k8s_name} makes it a bit challenging.

like image 602
pkaramol Avatar asked Mar 17 '20 12:03

pkaramol


1 Answers

From the docs

String values are simple and represent a basic key to value mapping where the key is the variable name. An example is:

variable "key" {
  type    = "string"
  default = "value"
}

A multi-line string value can be provided using heredoc syntax.

variable "long_key" {
  type = "string"
  default = <<EOF
This is a long key.
Running over several lines.
EOF
}
like image 192
Liam Avatar answered Nov 15 '22 08:11

Liam