首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform:如果子网不存在,则将interface设置为null

Terraform:如果子网不存在,则将interface设置为null
EN

Stack Overflow用户
提问于 2019-05-12 01:52:59
回答 1查看 60关注 0票数 0

我正在创建一个在GCP中创建多nic虚拟机的自定义模块。在部署时,可能存在虚拟机不需要使用多个接口的情况。

如果子网不存在,是否可以将network_interface设置为空值?如果可能的话,我希望避免为每个接口计数创建多个模块。

代码语言:javascript
复制
resource "google_compute_instance" "vm" {
  name                      = "${var.vm_name}"
  machine_type              = "${var.machine_type}"
  zone                      = "${var.zone}"
  min_cpu_platform          = "${var.cpu_platform}"

  network_interface {
    subnetwork    = "${google_compute_subnetwork.subnetwork1.name}"
  }
  network_interface {
    subnetwork    = "${google_compute_subnetwork.subnetwork2.name}"
  }

  network_interface {

// PSEUDO CODE
    subnetwork   = if (subnetwork3 == true) {
                      "${google_compute_subnetwork.subnetwork3.name}"
                   else 
                      "do nothing or set null"
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-14 21:52:13

您可以将localscount结合使用吗

示例

代码语言:javascript
复制
locals {
  interface_num = "${var.is_subnetwork_3 ? 0 : 3}"
}

resource "google_whatever" "name" {
  count = "${local.interface_num}"
  // config
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56092909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档