Geo*_*lin 5 postgresql jinja2 ansible
我的 ansible 剧本之一(enrise.postgresql)有问题。
它接受变量 postgresql_listen_addresses (/etc/postgresql/9.3/main/postgresql.conf 中的listen_addresses 值列表)。
我想使用值ansible_default_ipv4.address,但ansible提供的值不带引号,而postgress希望它带有单引号(如'192.168.0.1')。
我有这样的变量:
postgresql_listen_addresses: '{{ [ ansible_default_ipv4.address ] }}'
Run Code Online (Sandbox Code Playgroud)
当地址不带引号时,postgress 会抱怨不带引号的 IP 地址(语法错误)。
如何在 ansible_default_ipv4.address 的值周围添加引号?
谢谢。
更新:
我能够用这个丑陋的代码解决它。如果有人可以更好,请帮忙。
print_quotes: "'%s'"
postgresql_listen_addresses: [ "{{print_quotes|format(ansible_default_ipv4.address) }}"
Run Code Online (Sandbox Code Playgroud)
你已经尝试过这个了吗?
postgresql_listen_addresses: "[ '{{ansible_default_ipv4.address}}' ]"
Run Code Online (Sandbox Code Playgroud)
或者如果 postgress 需要双引号而不是单引号。
postgresql_listen_addresses: '[ "{{ansible_default_ipv4.address}}" ]'
Run Code Online (Sandbox Code Playgroud)
我没有简单的测试方法,所以我只希望支持这个理论......:-)
| 归档时间: |
|
| 查看次数: |
18581 次 |
| 最近记录: |