##一.循环##
#循环迭代任务#
#1.简单循环#
loop: ##赋值列表
- value1
- value2
- ...
{{item}} ##迭代变量名称
[devops@westos_server .ansible]$ vim zcx1.yml
#2.循环散列或字典列表#
[devops@westos_server .ansible]$ vim zcx1.yml

loop和with_items的区别:
loop是平面循环 with_items是立体循环
[devops@westos_server .ansible]$ ansible-playbook zcx2.yml


##二.条件##
when:
- 条件1
- 条件2
| = | value == "字符串",value == 数字 |
| < | value < 数字 |
| > | value > 数字 |
| <= | value <= 数字 |
| >= | value >= 数字 |
| != | value != 数字 |
| is defined value | value is defined 变量存在 |
| is not defined | value is not defined 变量不存在 |
| in | value is in value 变量为 |
| not in | value is not in value 变量不为 |
| bool变量 为true | value value的值为true |
| bool变量 false | not value value的值为false value in value2 value的值在value2列表中 |


1为真(失败)
0为假(成功)
#多条条件组合#
when:
条件1 and 条件2
- 条件1
- 条件2
when: 条件1 or 条件2
when: >
条件1
or
条件2


##三.触发器##
notify: 触发器当遇到更改是触发handlers
handlers: 触发器触发后执行的动作
[devops@westos_server .ansible]$ vim westos4.yml
#四.处理失败任务#
#1.ignore_errors# 作用: 当play遇到任务失败是会终止
ignore_errors: yes 将会忽略任务失败使下面的任务继续运行
#2.force_handlers# 作用: #当任务失败后play被终止也会调用触发器进程
#3.changed_when# 作用: #控制任务在何时报告它已进行更改(无论是否改变都是视为发生变化)
#4.failed_when# (无论是否成功都是为失败)
#当符合条件时强制任务失败
#5.block#
block: ##定义要运行的任务
rescue: ##定义当block句子中出现失败任务后运行的任务
always: ##定义最终独立运行的任务
