Ansible When有条件的运行任务
When 条件表达式
- == < > <= >= != or and
- vars is defined # 变量存在
- vars is not defined # 变量不存在
- vars in list # 变量在列表中
When 四种register结果判断
- when: result is failed #执行失败
- when: result is success #执行成功
- when: result is skipped #被跳过执行
- when: result is changed #是否修改
示例1 bool判断
--- - name: when test hosts: dev vars: run_debug: true tasks: - name: debug debug: msg: "hello world" when: run_debug |bool
示例2 defined
--- - name: when test hosts: dev vars: run_service: firewalld tasks: - name: "{{ run_service}} service" service: name: "{{ run_service }}" state: started when: run_service is defined
示例3 in list
--- - name: when test hosts: dev vars: support_os: - RedHat - CentOS tasks: - name: "OS Type" debug: msg: "The os type is {{ ansible_distribution }}" when: ansible_distribution in support_os # ansible_distribution是ansible_facts中的变量
示例4 when + register
--- - name: when test hosts: dev tasks: - name: start chronyd service service: name: chronyd state: started ignore_errors: true register: result- name: debug debug: msg: "{{ result.failed }}" when: result is success # 也可以使用 result.failed == false
示例4 loop + when (将对Loop中每项都执行when)
--- - name: when test hosts: dev tasks: - name: debug debug: msg: "{{ item }}" loop: "{{ ansible_mounts }}" when: item.mount == "/" and item.size_available > 300000000
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2019-04-01 SpringBoot 简单集成ActiveMQ
2019-04-01 Centos7 ActiveMQ 安装并配置为开机启动
2017-04-01 Ansible 实战之部署Web架构
2017-04-01 Ansible Ad-Hoc命令集
2017-04-01 Ansible 基础知识