Ansible-将一些计算的属性添加到字典列表

时间:2019-10-21 10:18:26

标签: ansible

我使用字典列表来声明一些要在Web服务器上配置的网站。 有一些我不想每次都需要重新声明的计算属性,因此在使用它之前,我做了一个循环,声明所有计算/缺失的属性以获取适当的网站列表(字典)。

这是我现在正在做的

- name: Set server vhosts
  set_fact:
    websites: "{{ websites|default([]) + [item | combine({'vhost': '200-' + item.name, 'path': path_vhosts + '/' + item.name, 'domain': app_hosts[item.name]})] }}"
  with_items: "{{ vhosts }}"

但是,这是非常有限的,如果要设置的属性太多,它将不可读。 我如何改进它以正确构建它?

以最佳方式,没有可变的虚拟主机,我们只是使用网站并替换它。

1 个答案:

答案 0 :(得分:0)

  

Q:“如果要设置的属性太多,将无法读取。如何改进它以正确构建它?”

     

A:构建正确。格式化可能会有所帮助。见下文

- name: Set server vhosts
  set_fact:
    websites: "{{ websites|default([]) + [item|
                  combine({'vhost': '200-' + item.name,
                           'path': path_vhosts + '/' + item.name,
                           'domain': app_hosts[item.name]
                           }) ] }}"
  loop: "{{ vhosts }}"