好的,所以我需要用一个新值更新配置文件etc/letsencrypt/dnscloudflare.ini
中的一个标志,如果它还不存在,还要创建上述文件。
所以我用ini_file module编写了这个任务,如下所示,
- name: Update the "letsencrypt cloudflare plugin"'s config
ini_file:
path: /etc/letsencrypt/dnscloudflare.ini
section: null
option: "dns_cloudflare_api_key"
value: "my-key-here"
mode: 0600
backup: yes
create: yes
become: yes
become_user: root
现在,默认情况下该文件不存在,因此应该在此过程中创建它,但无论我做什么,文件都不会被创建。
注意:我发现this bug report,目前尚未合并的解决方案。
因此,作为一种解决方法,我现在手动创建一个文件,然后在下一个任务中更新该文件。
所以
答案 0 :(得分:0)
这是documented bug,讨论截止至2018年6月29日。
作为一种替代方案,您可以复制一个具有相同文件名的虚拟文件(如果不存在),然后继续进行更新,或者可以继续使用其他文件修改模块,例如lineinfile。