【发布时间】: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 语句创建一个,取决于是否提供了网络设置,但是伙计,这看起来很丑吗...?
【问题讨论】: