天天看点

ansible循环

标准循环

例1:
- name: add several users 
user: name={{ item }} state=present groups=wheel 
with_items: 
- testuser1 
- testuser2 

例2:
- name: Disable and stop system service
  service: name={{ item }} state=stopped enabled=no
  with_items:
    - 'NetworkManager'
    - 'firewalld'
    - 'postfix'
    - 'chronyd'      

字典循环

例1
user: name={{ item.name }} state=present groups={{ item.groups }} 
with_items: 
- { name: 'testuser1', groups: 'wheel' } 
- { name: 'testuser2', groups: 'root' }

例2
- name:
  get_url: url={{ item.url }} dest={{ item.dest }}
  with_items:
    - url: "http://mirrors.aliyun.com/repo/Centos-7.repo"
      dest: "/etc/yum.repos.d/"
    - url: "http://mirrors.aliyun.com/repo/epel-7.repo"
      dest: "/etc/yum.repos.d/"      

嵌套循环

tasks: 
- name: give users access to multiple databases 
command: "echo name={{ item[0] }} priv={{ item[1] }} test={{ item[2] }}" 
with_nested: 
- [ 'alice', 'bob' ] 
- [ 'clientdb', 'employeedb', 'providerdb' ] 
- [ '1', '2', ]      
上一篇: Ansible介绍
下一篇: Ansible入门

继续阅读