2017-03-27 124 views
1

我在PT-plan目錄.tf文件有以下明確:Terraform /配置:未知變量引用

${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 

我做錯了什麼?

+2

這不是你如何在terraform.tfvars文件中定義變量。這需要位於目錄中的.tf文件中。 – ydaetskcoR

回答

1

試試這個語法:

"${var.prod["pt"]}"

或者這樣:

"${lookup(var.prod, "pt")}"

代替:

"${lookup(var.prod, var.pt)}"

的[var.]之前'pt'是多餘的,'pt'也必須被引用。

+0

這不起作用,因爲查找映射需要位於.tf文件而不是.tfvars文件。 – ydaetskcoR

+0

是的,也是如此:.tfvars文件只是爲現有變量提供實際值,而不是聲明var。聲明必須位於.tf文件中。但是仍然必須遵循上面提供的語法。 – gevgev