我有一个google_compute_target_pool
在gcp / gce google_compute_region_instance_group_manager
中对虚拟机进行了地形化和管理
resource "google_compute_target_pool" "my-target-pool" {
name = "${local.pre}-my-target-pool"
}
data "google_compute_region_instance_group" "my-group_data" {
self_link = "${google_compute_region_instance_group_manager.my-group-manager.instance_group}"
}
现在我要output
每个实例具有的所有外部IP(并且我检查了它们的外部IP!)
我尝试了几种方法,但是它们都不起作用,因为terraform总是抱怨某些对象没有这样的属性。
这里有一些尝试:
output jumpbox_ip {
# value = "${google_compute_region_instance_group_manager.my-group-manager.instance_group.instances.*.network_interface.0.access_config.0.nat_ip}"
# value = "${google_compute_region_instance_group.my-group_data.instances.*....
value = "${google_compute_target_pool.my-target-pool.instances.*....}"
}
如何输出目标池(或内部LB的后端服务)中所有VM的所有IP的列表?
答案 0 :(得分:0)
可能希望每个实例尝试使用google_compute_instance
数据资源:
data "google_compute_instance" "instances" {
count = "${length(data.google_compute_region_instance_group.my-group_data.instances)}"
name = "${data.google_compute_region_instance_group.my-group_data.instances[count.index]}"
}
output "instance_ids" {
value = "${data.google_compute_instance.instances.*.network_interface.0.access_config.0.nat_ip }"
}