【问题标题】:Make Terraform resource key multiline使 Terraform 资源键多行
【发布时间】:2020-06-28 12:17:49
【问题描述】:

我在 Terraform 中声明了一个 google_logging_metric 资源(使用版本 0.11.14

我有以下声明

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"
  }
}

有没有办法让filter 字段变成多行?

local 变量 "${local.k8s_name} 的存在使它有点挑战。

【问题讨论】:

标签: terraform terraform-provider-gcp


【解决方案1】:

来自the docs

字符串值很简单,表示值映射的基本键 其中键是变量名。一个例子是:

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

可以使用 heredoc 语法提供多行字符串值。

variable "long_key" {
  type = "string"
  default = <<EOF
This is a long key.
Running over several lines.
EOF
}

【讨论】:

    【解决方案2】:

    以下格式是推荐的方式。

    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
    }
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-18
      • 2018-06-30
      • 2021-11-06
      • 2021-12-19
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      相关资源
      最近更新 更多