Интерполяция Terraform join не присоединяется к последнему элементу
У меня есть фрагмент, который создает список машин Vmware, как это..
resource "vsphere_virtual_machine" "os-lb" {
count = 3
А потом в моем файле я создаю список переменных для передачи в шаблон, например, так...
vm.tf
выдержка...
list_masters = join(format(".comapny.com %v", "openshift_node_labels=\"{'region': 'primary', 'zone': 'west'}\"\n"), vsphere_virtual_machine.os-lb.*.name)}
inventory.tpl
Отрывок..
# host group for etcd
[etcd]
${list_master}
Но представленный шаблон не добавляет желаемый .company.com
строка до последнего элемента. Смотрите приведенный ниже фрагмент от отрендеренного шаблона.
openshift-node-0.company.com openshift_node_labels="{'region': 'primary', 'zone': 'west'}"
openshift-node-1.company.com openshift_node_labels="{'region': 'primary', 'zone': 'west'}"
openshift-node-2
Я не уверен, что я должен делать по-другому, поэтому строка также добавляется к последнему элементу списка. Любая помощь будет оценена.
1 ответ
Нечто подобное сработало для меня. Если приведенное ниже не помогло, предоставьте мне отрывки, которых мне достаточно для воссоздания на моей машине.
static_routes = "${join("\n", formatlist("up route add -net %s.%s.0/24 gw %s dev %s", var.cluster_nets_prefix, openstack_compute_instance_v2.kube-worker.*.metadata.worker_number,openstack_compute_instance_v2.kube-worker.*.access_ip_v4, var.if_dev))}"
С уважением, Судхакар