Ansible-将一些计算属性添加到dict列表中

Ansible-将一些计算属性添加到dict列表中,ansible,Ansible,我正在使用dict列表声明一些要在web服务器上配置的网站。 有一些计算属性我不想在每次需要时重新声明,所以在使用它之前,我做了一个循环,声明所有计算/缺少的属性,以获得一个合适的网站列表(dict) 这就是我现在正在做的 - name: Set server vhosts set_fact: websites: "{{ websites|default([]) + [item | combine({'vhost': '200-' + item.name, 'path': path_

我正在使用dict列表声明一些要在web服务器上配置的网站。 有一些计算属性我不想在每次需要时重新声明,所以在使用它之前,我做了一个循环,声明所有计算/缺少的属性,以获得一个合适的网站列表(dict)

这就是我现在正在做的

- 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 }}"
但这是非常有限的,如果有太多的属性需要设置,则无法读取。 我怎样才能改进它以正确地构建它

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

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

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