When、failed_when、changed_when.note

noteId: WEBa0be5d3b66a62e49d572d0a7d3eafed7 · 原始路径:/ALL/Ansible 自动化管理/Ansible 配置合集/Ansible 自动化管理-Network/常用的内置模块/When、failed_when、changed_when.note · 图片:5 · 附件待处理:0

 
 
一、When:
# 用于控制,when 达到某个条件时才执行task
例如这里判断,IOS设备域名为 testios.local,CSR设备域名为 testcsr1000.local
使用 when + ios_facts 模块
 
执行结果,能够输出设备型号:
 
最终剧本:
 
 
 
 
二、register + when:
上面也有 register + when 的组合用法,下面我们展示 Linux register + changed_when 来实现raw 伪幂等:
 
 
三、failed_when:
# 用于指定在什么条件下返回失败(fail),世赛肯定不会考,因为世赛ansible脚本不允许执行失败
 
 
四、changed_when:
控制在什么情况下返回changed,这个很熟,不过多解释