0

新しく作成された aws_instance のスクリプトに変数を渡そうとしていますが、方法がわかりません。ここに私が持っているものがあります:

provisioner "file" {
    source      = "${path.module}/scripts/slave-provisioner.sh"
    destination = "/tmp/slave-provisioner.sh"
}

provisioner "remote-exec" {
    inline = [
        "chmod +x /tmp/slave-provisioner.sh",
        "sudo /tmp/slave-provisioner.sh ${split(",",var.zookeeper_ips_list)}"
    ]
}

Zookeeper_ips_list に正しい IP リストがあることを確認しました。

terraform apply を介して取得するエラーは次のとおりです。

 /tmp/terraform_939984059.sh: 5: /tmp/terraform_939984059.sh: 10.239.12.181: not found

したがって、基本的には、このマシンを作成し、IP のリストを渡されるプロビジョナー スクリプトを起動して、構成を実行できるようにしたいと考えています。

4

2 に答える 2

1

これは、無関係な bash のクリーンアップによって解決されました。Terraform の形式は正しく、期待どおりに動作していました。bash スクリプトで着信 IP アドレスを適切に処理していなかったため、失敗していました。

デバッグに関しては、Terraform は最も堅牢ではないため、これを追跡するのは少し困難でした。

于 2016-06-30T13:58:52.890 に答える