2017-03-27 7 views
1

私は、次の急行とPT-計画ディレクトリ内.tfファイルを持っている:私はterraform.tfvarsファイルに加えてテラフォーム/設定:不明な変数が参照さ

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

次き:

variable "prod" { 
    type = "map" 
    default = { 
    pt = "https://pt:9200" 
    } 
} 

I実行:

/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ファイルでvarsを定義する方法ではありません。それはあなたのディレクトリの.tfファイルにある必要があります。 – ydaetskcoR

答えて

1

この構文を試してみてください:

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

またはこの:

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

の代わり:

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

[var.]上記の 'pt'が冗長である前に、 'pt'も引用符で囲む必要があります。

+0

ルックアップマップが.tfvarsファイルではなく.tfファイルにある必要があるため、これは機能しません。 – ydaetskcoR

+0

はい、それも.tfvarsファイルは、varの宣言ではなく、既存の変数の実際の値を提供するだけです。宣言は.tfファイルでなければなりません。しかし、上記のように構文を守らなければなりません。 – gevgev

関連する問題