既存のインフラストラクチャを更新した後にTerraformが作成した新しいインスタンスのIPのみを取得したいと思います。
次のリソースインスタンスがあります:
resource "aws_instance" "masters" {
count = "${var.masters_count}"
ami = "${var.aws_centos_ami}"
instance_type = "t2.medium"
......
availability_zone = "eu-west-1b"
root_block_device {
delete_on_termination = "${var.volume_delete_on_termination}"
}
tags {
Name = "master-${count.index}"
}
}
次の「local-exec」コマンドを使用すると、すべてのマスターインスタンスのIPがファイルに書き込まれます。
provisioner "local-exec" {
command = "echo \"${join("\n", aws_instance.masters.*.private_ip)}\" >> ../ansible-provision/inventory/hosts.ini"
}
このインフラストラクチャを5つのインスタンスでデプロイします。次に、さらに3つのインスタンスを追加したいので、「カウント」を8に変更します。
その3つの新しいインスタンスのIPを取得するにはどうすればよいですか?
解決:
実行されてべき等元にできないスクリプトがいくつかあるので、ansibleを使用して、スクリプトの条件付き実行で非べき等元要素の周りに追加の「足場」を配置するのは簡単で、1回だけ実行されます。
https://groups.google.com/forum/#!topic/terraform-tool/YVHReDbJ2Gw
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加