with_items 迭代

目录

字符串

字典


当有需要重复性执行的任务时,可以使用迭代机制

对迭代项的引用,固定变量名为“item”

要在task中使用with_items给定要迭代的元素列表
 列表格式:
    字符串
    字典


字符串

[root@ansible ~]# vim item.yml
  
---
- hosts: web
  remote_user: root

  tasks:
   - name: create files
     file: name=/root/{{ item }} state=touch
     with_items:
      - ip.sh
      - var.yml
      - 111.txt

[root@ansible ~]# ansible-playbook  item.yml   

PLAY [web] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [192.168.60.4]
ok: [192.168.60.3]

TASK [create files] ************************************************************
changed: [192.168.60.3] => (item=ip.sh)
changed: [192.168.60.4] => (item=ip.sh)
changed: [192.168.60.4] => (item=var.yml)
changed: [192.168.60.3] => (item=var.yml)
changed: [192.168.60.4] => (item=111.txt)
changed: [192.168.60.3] => (item=111.txt)

PLAY RECAP *********************************************************************
192.168.60.3               : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
192.168.60.4               : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

字典

[root@ansible ~]# vim item2.yml                 
---
#this is item dictionary!
- hosts: web
  remote_user: root

  tasks:
   - name: create group
     group: name={{item}} state=present
     with_items:
      - app
      - web
   - name: create user
     user: name={{item.name}} group={{item.group}} state=present
     with_items:
      - {name: 'app',group: 'app'}
      - {name: 'web',group: 'web'}

[root@ansible ~]# ansible-playbook  item2.yml   

PLAY [web] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [192.168.60.4]
ok: [192.168.60.3]

TASK [create group] ************************************************************
changed: [192.168.60.4] => (item=app)
changed: [192.168.60.3] => (item=app)
changed: [192.168.60.4] => (item=web)
changed: [192.168.60.3] => (item=web)

TASK [create user] *************************************************************
changed: [192.168.60.4] => (item={u'group': u'app', u'name': u'app'})
changed: [192.168.60.3] => (item={u'group': u'app', u'name': u'app'})
changed: [192.168.60.3] => (item={u'group': u'web', u'name': u'web'})
changed: [192.168.60.4] => (item={u'group': u'web', u'name': u'web'})

PLAY RECAP *********************************************************************
192.168.60.3               : ok=3    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
192.168.60.4               : ok=3    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金牌收租佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值