【问题标题】:GCP Terraform Conditional on Public AddressGCP Terraform 以公共地址为条件
【发布时间】:2020-01-31 01:45:42
【问题描述】:

我有一个创建 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 = {}
  }
}

对此的任何帮助或指导将不胜感激!

谢谢。

【问题讨论】:

标签: google-cloud-platform terraform terraform-provider-gcp


【解决方案1】:

一种替代方法可能是创建单独的公共子网和私有子网,并改为通过条件指定将 VM 部署到的子网。这将完成同样的事情,并避免在同一子网中同时拥有公共和私有 VM 的混乱情况。

【讨论】:

    猜你喜欢
    • 2019-08-17
    • 1970-01-01
    • 2022-01-18
    • 2021-02-20
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 2017-06-25
    • 1970-01-01
    相关资源
    最近更新 更多