Ansible-使用“with_dict”时检查变量值
我目前正在使用一个自建的剧本来管理Web服务器。我已经指定了应该在另一个名为sites.yml的文件中创建的网站 到目前为止,一切都很顺利。除此之外,我想为我的网站添加Let's Encrypt支持,问题来了。。怎么做 我正在根据sites.yml文件的内容执行各种任务。但是我想启用让我们使用每个站点的变量进行加密 My sites.yml如下所示:Ansible-使用“with_dict”时检查变量值,ansible,lets-encrypt,Ansible,Lets Encrypt,我目前正在使用一个自建的剧本来管理Web服务器。我已经指定了应该在另一个名为sites.yml的文件中创建的网站 到目前为止,一切都很顺利。除此之外,我想为我的网站添加Let's Encrypt支持,问题来了。。怎么做 我正在根据sites.yml文件的内容执行各种任务。但是我想启用让我们使用每个站点的变量进行加密 My sites.yml如下所示: sites: site1: name: site1 server_name: site1.example.com do
sites:
site1:
name: site1
server_name: site1.example.com
document_root: /var/vhosts/site1.example.com
environment: staging
db_name: site1
db_password: password
site2:
name: site2
server_name: site2.example.com
document_root: /var/vhosts/site2.staging.sddev.nl
environment: staging
db_name: site2
db_password: password
我只想添加一个变量,如letsencrypt:true,以启用Let's Encrypt,但如何在with_dict循环中检查此变量?Letsencrypt任务只应在设置变量时执行
我想应该是这样的:
- name: LETSENCRYPT | Securing websites
command: --COMMAND FOR OBTAINING CERTIFICATE--
with_dict: "{{ sites }}"
when: "site.letsencrypt = true?"
有人能给我提供更多关于使用dict循环的信息吗?您可能需要查看文档。您可以使用item.value:
- name: LETSENCRYPT | Securing websites
command: --COMMAND FOR OBTAINING CERTIFICATE--
with_dict: "{{ sites }}"
when: item.value.letsencrypt | default(false) | bool