从多个值创建一个字符串

时间:2017-08-21 20:11:52

标签: ansible

如何创建"字符串"来自字典中的值? 我有以下host_vars:

host_info:
    fqdn.hostname.a: 
        listen_ip: 12.34.56.78
        name: service-a
        domain: a.my.domain.com

    fqdn.hostname.b: 
        listen_ip: 23.45.67.89
        name: service-b
        domain: b.my.domain.com

在我的目标配置文件中,我有以下内容:

TrustedHosts

127.0.0.1
funkyDomain.com
{{trusted_hosts}}

我怎样才能将listen_ip指令带到"汇编"进入trusted_hosts,以便输出如下所示:

127.0.0.1
funkyDomain.com
12.34.56.78
23.45.67.89

我已经四处寻找建筑阵列,但我认为这不是正确的方法。

1 个答案:

答案 0 :(得分:1)

您需要先将两个词典合并。

host_info:
  fqdn.hostname.a:
    listen_ip: 12.34.56.78
    name: service-a
    domain: a.my.domain.com
  fqdn.hostname.b:
    listen_ip: 23.45.67.89
    name: service-b
    domain: b.my.domain.com

然后你可以在你的目标配置文件的jinja模板中循环组合字典(看起来你已经开始了)。

127.0.0.1
funkyDomain.com
{% for value in host_info.values() %}
{{ value.listen_ip }}
{% endfor %}