繁体   English   中英

GCP Terraform 以公共地址为条件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM