Terraform Heredoc,带有可变字符串和“:”

时间:2019-09-05 18:28:11

标签: terraform

在我的可变字符串中,terraform似乎很难使用“:”。我尝试使用“ \”转义,但错误仍然存​​在。只需删除“:”即可使错误消失。如何在变量字符串Heredoc中使用“:”?

::: variables.tf :::
variable "values" {
  type    = "string" 
  default = "<<EOF
    key:
      key:
        key: value
    EOF"
}

$ terraform apply
...
Error loading modules: module testmodule: Error parsing .terraform/modules/9f0444507ebf595a0777cb4d34430176/variables.tf: At 4:8: illegal char

1 个答案:

答案 0 :(得分:1)

问题是语法,如果您在双引号内写入 <<EOF ,则它将被标识为单行字符串。多行字符串应以<<EOF而不是"<<EOF

开头

将其重写为

variable "values" {
  type    = string 
  default = <<EOF
    key:
      key:
        key: value
    EOF
}

它将起作用