如何将列表作为参数传递?

时间:2018-01-04 00:09:45

标签: terraform

此解决方案here对我不起作用。

// my tf file:
variable "myvar" {type = "list"}

module "my-module" {
  blah = "${var.myvar}"
  source = "path/to/module"
}

各种命令行尝试:

terraform plan -var myvar="zzzz"
should be type list, got string

terraform plan -var myvar=["zzzz"]
invalid value "myvar=[zzzz]" for flag -var: Cannot parse value for variable ("[zzzz]") as valid HCL: At 1:6: unexpected token while parsing list: IDENT

terraform plan -var 'myvar=["zzzz"]'
invalid value "myvar=[zzzz]" for flag -var: Cannot parse value for variable ("[zzzz]") as valid HCL: At 1:6: unexpected token while parsing list: IDENT

1 个答案:

答案 0 :(得分:2)

奇怪。

我使用了以下main.tf

variable "test" {
    type = "list"
}

并且正在运行:

$ terraform version
Terraform v0.11.1

$ terraform plan -var 'test=["vvv"]'

成功完成。

可能是文件/模块中的其他位置存在错误的IDENT。请尝试运行以下命令来验证除未设置变量之外的所有内容:

$ terraform validate -check-variables=false