【问题标题】:Configure optional DHCP usage in Terraform for vSphere在 Terraform for vSphere 中配置可选的 DHCP 使用
【发布时间】:2018-12-01 17:58:46
【问题描述】:

使用 Terraform 配置 vSphere vms,我希望能够在 tfvars 文件中提供 IP 地址(以及网关和网络掩码),但如果未提供值,则让 vm 默认使用 DHCP。我知道如果'vsphere_virtual_machine'资源''customize'块包含一个空的'network_interface'块,它将使用DHCP。我希望为 variables.tf 文件中的设置提供默认值“”,如果存在,我可以设置值,如果不存在,则使用 DHCP,但我收到一条错误消息:

错误:module.vm.vsphere_virtual_machine.node: clone.0.customize.0.network_interface.0.ipv4_netmask:无法解析“” as int: strconv.ParseInt: parsing "": 无效语法

所以输入一个空白字符串不会解析,如果值为空白,它不会只是将整个 network_interface 留空。

我不能在子资源上使用 COUNT,所以到目前为止我唯一想到的就是将两个完整的、几乎相同的“vsphere_virtual_machine”资源放入我的模块中,然后在这两个资源上都放置 COUNT 语句创建一个,取决于是否提供了网络设置,但是伙计,这看起来很丑吗...?

【问题讨论】:

    标签: terraform vsphere


    【解决方案1】:

    我认为你很幸运。将近一年以来,我一直在等待解决这个完全相同的问题。

    你瞧,Terraform v0.12.0-alpha1: They now support dynamic block definitions instead of just static ones

    享受吧,虽然我要扔掉价值几百行的 hack,就像你提到的那样......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      • 2020-12-13
      • 1970-01-01
      • 2021-07-07
      • 2020-03-18
      • 1970-01-01
      相关资源
      最近更新 更多