Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform/config:引用了未知变量_Terraform - Fatal编程技术网

Terraform/config:引用了未知变量

Terraform/config:引用了未知变量,terraform,Terraform,我在pt plan目录中有.tf文件,其中包含以下表达式: ${lookup(var.prod, var.pt)} 此外,我还有以下terraform.tfvars文件: variable "prod" { type = "map" default = { pt = "https://pt:9200" } } 当我跑步时: /terraform plan pt plan,它写道: unknown variable referenced: 'prod'. define it

我在pt plan目录中有.tf文件,其中包含以下表达式:

${lookup(var.prod, var.pt)}
此外,我还有以下
terraform.tfvars
文件:

variable "prod" {
  type = "map"
  default = {
    pt = "https://pt:9200"
  }
}
当我跑步时:

/terraform plan pt plan
,它写道:

unknown variable referenced: 'prod'. define it with 'variable' blocks
unknown variable referenced: 'pt'. define it with 'variable' blocks
我做错了什么?

尝试以下语法:

“${var.prod[“pt”]}”

或者这个:

“${lookup(var.prod,“pt”)}”

而不是:

“${lookup(var.prod,var.pt)}”


上述“pt”之前的[
var.
]是多余的,也必须引用“pt”。

这不是terraform.tfvars文件中定义变量的方式。这需要位于目录中的.tf文件中。这将不起作用,因为查找映射需要位于.tf文件而不是.tfvars文件中。是的,这也是:.tfvars文件只是提供现有变量的实际值,而不是变量的声明。声明必须位于.tf文件中。但是仍然必须遵循上面提供的语法。