1、ansible-playbook 中的jinja表达式
jinja for循环中的索引
{% for xx in xxxs %}
loop.index --代表索引从1开始
loop.index0--代表索引从0开始
loop.last --值为 布尔 true代表是最后一个元素
loop.first --值为 布尔 true代表是最后一个原始
{% endfor %}
2、ansible-playbook 中特殊变量
1)groups 变量
groups是个对象,包括主机组的信息(hosts文件的信息),里面包括all[],ungrouped[] 这两个数组是默认有的, 其他组为自己定义的主机组的名称
2)获取本机ip的变量
ansible_default_ipv4.address
用法: { { ansible_default_ipv4.address }}
- name: "设置vip"
set_fact:
current_vip: "{
{ virtual_ipaddress[my_idx] }}"
loop: "{
{ groups | list | difference('[ungrouped,all]') }}"
loop_control:
index_var: my_idx
when: item == ansible_default_ipv4.address