Интерполяция Terraform join не присоединяется к последнему элементу - PullRequest
0 голосов
/ 06 июля 2018

У меня есть фрагмент, который создает список машин 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 Ответ

0 голосов
/ 09 июля 2018

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

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))}"

С уважением Sudhakar

...