私のterraformスクリプトのprovisioner "remote-exec"
ブロックに複数行の文字列を使用しようとしています。しかし、私がEOT
の文法をドキュメントやさまざまな例に記載されているように使用するときはいつでも、私には:invalid characters in heredoc anchor
という文句を言うエラーが出ます。ここでterraform:heredocアンカーの無効な文字
は(別途しようとしたときEOTの両方のタイプは、このエラーが発生した)このエラーを受け取った簡単なprovisioner "remote-exec"
の例である:
provisioner "remote-exec" {
inline = [
<< EOT
echo hi
EOT,
<< EOT
echo \
hi
EOT,
]
}
アップデート:ここでは実用的なソリューションで、あなたの場合は、慎重に読んでそれがEOFになるとテラフォームは非常にうるさいですので、この問題を持っている:あなたはEOFあなたがprovisioner "remote-exec"
ブロック内で使用するすべてのコマンドを使用したい場合はbでなければならないこと
provisioner "remote-exec" {
inline = [<<EOF
echo foo
echo bar
EOF
]
}
注意eをEOFの内側に配置します。 EOFと非EOFの両方を持つことはできません。 EOFの最初の行は次のように開始しなければならない、とあなたは<<EOF
後にこの行の空白を持つことができないか、そうでなければinvalid characters in heredoc anchor
を持っていることについて文句を言うでしょう
:
inline = [<<EOF
あなたのEOFはその後で、次のように終了する必要があります]
答えを受け入れるようにしてください。 – holms