在Terraform中为vSphere配置可选的DHCP使用

在Terraform中为vSphere配置可选的DHCP使用,terraform,vsphere,Terraform,Vsphere,使用Terraform来配置vSphere vm,我希望能够在tfvars文件中提供一个IP地址(以及网关和网络掩码),但是如果没有提供这些值,vm默认使用DHCP。我知道如果“vsphere\u virtual\u machine”资源“customize”块包含空的“network\u interface”块,它将使用DHCP。我希望为variables.tf文件中的设置提供默认值“”,如果存在,我可以设置值,如果没有,则使用DHCP,但我收到一个错误,说明: 错误:module.vm.vs

使用Terraform来配置vSphere vm,我希望能够在tfvars文件中提供一个IP地址(以及网关和网络掩码),但是如果没有提供这些值,vm默认使用DHCP。我知道如果“vsphere\u virtual\u machine”资源“customize”块包含空的“network\u interface”块,它将使用DHCP。我希望为variables.tf文件中的设置提供默认值“”,如果存在,我可以设置值,如果没有,则使用DHCP,但我收到一个错误,说明:

错误:module.vm.vsphere\u virtual\u machine.node: clone.0.customize.0.network_interface.0.ipv4_网络掩码:无法分析“” as int:strconv.ParseInt:parsing“”:无效语法

因此,输入一个空字符串不会进行解析,如果值为空,则不会将整个网络接口留空


我不能对子资源使用COUNT,所以到目前为止,我唯一想到的是将两个完全相同的“vsphere\u virtual\u machine”资源放入我的模块中,然后在这两个资源上都放入COUNT语句,以便只创建一个,这取决于是否提供了网络设置,那看起来难看吗…?

我想你很幸运。差不多一年以来,我一直在等待这个完全相同的问题得到解决

瞧,地形v0.12.0-alpha1:

享受吧,我会扔掉几百行的黑客代码,就像你提到的那样