Настройте необязательное использование DHCP в Terraform для vSphere - PullRequest
0 голосов
/ 01 декабря 2018

Используя Terraform для настройки vSphere vms, я хотел бы иметь возможность предоставить IP-адрес (и шлюз и маску сети) в файле tfvars, но по умолчанию vm использует DHCP, если значения не указаны.Я знаю, что он будет использовать DHCP, если блок 'customize' ресурсов 'vsphere_virtual_machine' содержит пустой блок 'network_interface'.Я надеялся, что установив значение по умолчанию "" для параметров в файле variables.tf, я мог бы установить значения, если они есть, и использовать DHCP, если нет, но я получаю сообщение об ошибке:

Ошибка: module.vm.vsphere_virtual_machine.node: clone.0.customize.0.network_interface.0.ipv4_netmask: невозможно проанализировать '' как int: strconv.ParseInt: синтаксический анализ "": неверный синтаксис

Итаквставка пустой строки не будет анализироваться, и она не будет просто оставлять весь network_interface пустым, если значения будут пустыми.

Я не могу использовать COUNT для подресурса, поэтому единственное, что я имеюдо сих пор получается поместить два целых, почти идентичных ресурса vsphere_virtual_machine в мой модуль, а затем поместить операторы COUNT в оба, так что создается только один, в зависимости от того, предоставлены сетевые настройки или нет, но это делает man,кажется уродливым ...?

1 Ответ

0 голосов
/ 03 декабря 2018

Я думаю, тебе повезло.Я ждал, когда эта почти та же проблема будет решена почти год назад.

И вот, Terraform v0.12.0-alpha1: Теперь они поддерживают определения динамических блоков, а не только статические

Наслаждайтесь, пока я выброшупара сотен строк хаков, как и тот, который вы упомянули ...

...