[英]GCP Terraform Conditional on Public Address
我有一个创建 VM 的模块。 作为模块的变量,我想要一个条件来选择是否将公共 IP 添加到 VM 接口。
这是我的 main.tf (精简)
module "vm_egress" {
source = "./modules/create_vm/"
vm_name = "my-vm"
vm_machine_type = "n1-standard-4"
vm_zone = "us-east-4a"
vm_subnetwork = "my-subnet"
vm_private_ip = "10.0.0.2"
# Conditional for public IP on network. If true, set access_config to {}.
apply_public_ip = "true"
}
这是我的模块(精简)
resource "google_compute_instance" "vmseries" {
name = "${var.vm_name}"
machine_type = "${var.vm_machine_type}"
zone = "${var.vm_zone}"
network_interface {
subnetwork = "${var.vm_subnetwork}"
network_ip = "${var.vm_private_ip"
# Set access_config based on boolean of "apply_public_ip"
access_config = {}
}
}
对此的任何帮助或指导将不胜感激!
谢谢。
一种替代方法可能是创建单独的公共子网和私有子网,并改为通过条件指定将 VM 部署到的子网。 这将完成同样的事情,并避免在同一子网中同时拥有公共和私有 VM 的混乱。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.