【发布时间】:2020-11-17 01:58:00
【问题描述】:
我想创建一个文件 application.properties 文件并将其复制到特定位置。我使用相同的模板模块。但我想根据逗号分隔的输入 IP 地址计数/值创建文件内容
文件的内容应该在下面。
conf_pg_hba_replication.connection=主机复制oracle {{IP1}}/32 信任\n主机复制oracle {{IP2}}/32 信任\n主机复制oracle {{IP3}}/32......... ....
所以我希望使用基于逗号分隔的输入 IP 地址值的动态内容创建我的文件。
如果我输入的ip值为127.0.0.1,123.123.123.123 文件内容应该是
conf_pg_hba_replication.connection=主机复制 oracle 127.0.0.1/32 信任\n主机复制 oracle 123.123.123.123/32 信任
所以同样我需要创建文件的内容。
请帮帮我。
---
- name: pp
hosts: localhost
tasks:
- name: pp
template:
src: pp.j2
dest: pp.properties
newline_sequence: \n
-bash-4.2$ cat pp.j2
conf_pg_hba_replication.connection=host replication oracle {{slave_ip}}/32 trust
我通过一个变量将 ips 列表传递给 ansible playbook,如下所示 ansible-playbook postgres.yml -e "ips_list=ip1,ip2,ip3"
【问题讨论】:
-
如何加载ips列表?
-
我通过一个变量将它传递给 ansible playbook,ansible-playbook postgres.yml -e "ips_list=ip1,ip2,ip3"
-
这不应该是评论,而是对您的问题的编辑。当您使用它时,您还可以正确格式化您的第一个代码块以使其更具可读性。
-
谢谢,编辑了问题。我还没有开始编码,需要输入来编写 jinja2 模板来实现。
-
请正确格式化您的代码,无论是块还是内联。编辑器窗口顶部有格式按钮,屏幕右侧有帮助。另外,请注意,SO 往往以相反的方式发挥作用:您编写代码并展示您所做的工作,并就您在尝试制定解决方案时面临的特定问题提出问题。这里很短很容易,所以我还是决定回答。但请记住这一点,以备将来的问题。
标签: templates ansible jinja2 ansible-template dynamic-content