ansible☞playbook-条件判断

阅读量: zyh 2020-05-04 16:59:44
Categories: > Tags:

关键词

运算符

ansible 某个 task 报错,会导致任务终止,而ignore_errors: true 可以忽略某个任务的条件不满足

is 语句 或者 is not 语句

tasks:
  - name: show is xxx
    debug:
      msg: "xxx is ok"
    when: var is xxx

判断文件

  • xxx 是 exists ,表示若 var 存在,条件为真
  • xxx 是 file, 表示若 var 是文件,条件为真
  • xxx 是 directory, 表示若 var 是目录,条件为真
  • xxx 是 link,表示若 var 是软连接,条件为真
  • xxx 是 mount,表示若 var 是挂载点,条件为真

判断变量

  • 若 xxx 是 defined, 表示若 var 已定义,条件为真
  • 若 xxx 是 undefined, 表示若 var 未定义,条件为真
  • 若 xxx 是 none, 表示若 var 是空,条件为真

判断任务状态

  • 若 xxx 是 success, 若 var 为某任务返回结果,则任务状态成功,条件为真
  • 若 xxx 是 failure, 若 var 为某任务返回结果,则任务状态失败,条件为真
  • 若 xxx 是 change,若 var 为某任务返回结果,则任务状态改变,条件为真
  • 若 xxx 是 skip, 若 var 为某任务返回结果,则任务被忽略,条件为真

判断字符串

  • 若 xxx 是 string,若 var 是字符串,条件为真

  • 若 xxx 是 lower,若 var 是纯小写,条件为真

  • 若 xxx 是 upper,若 var 是纯大写,条件为真

判断数字

  • 若 xxx 是 number, 若 var 是数字,条件为真。 var: “123” ,这里 var 是字符串,不是数字

  • 若 xxx 是 even,若 var 是偶数,条件为真

  • 若 xxx 是 odd, 若 var 是奇数,条件为真

  • 若 xxx 是 divisibleby(num), 若 var 可以被 num 整除,条件为真

判断集合

  • 若 xxx 是 subset(list),若 var 是 list 的子集,条件为真
  • 若 xxx 是 superset(list), 若 var 是 list 的父集,条件为真