循环
Ansible的循环也与编程语言中的类似,循环可以帮你重复做一件事,直到它收到某一个特定结果。
标准循环
- 简写重复的任务
|
|
- 变量中使用 YAML 列表123456789101112131415// 在变量中使用 YAML 列表with_itm_items: "{{ somelist }}"// 等同于- name: add_user testuser1user: name=testuser1 state=present group=wheel- name: add_user testuser2user: name=testuser2 state=present group=wheel// 支持哈希列表- name: add serveral useruser: name={{ item.name }} state=present groups={{ item.groups }}with_itm_items:- { name: 'testuser1', groups: 'wheel' }- { name: 'testuser2', groups: 'root'}
嵌套循环
|
|
或者
对哈希表使用循环
使用 with_dict
来循环哈希表中的元素,下面打印用户名和电话号码
对文件列表使用循环
使用 with_fileglob
可以以非递归的方式来匹配单个目录的文件
对并行数据使用循环
|
|
对子元素使用循环
|
|
对子元素使用循环
根据mysql hosts以及预先给定的privs subkey列表,我们也可以在嵌套的subkey中迭代列表
对整数数组使用循环
with-sequence
可以以升序拍了生成一组序列,可以指定起始、终止及步长
随机选择
random_choice
可以随机获取值
Do-Until 循环
|
|
直到结果的stdout输出包含all systems go
或者经过重复 5 次任务
查找匹配文件
|
|
可以用于搜索路径
迭代执行结果
|
|
循环列表
|
|
循环配置文件
|
|
在循环中是用注册器
|
|