Ansible playbook循环执行任务时如何按遍历项动态设置变量值
Ansible 循环中按条目动态赋值变量配置方法
你只需要修改顶层playbook remove.yaml 里的变量定义逻辑即可,被引用的任务文件 helm_commands.yaml 不需要做任何调整。
核心修改是给extra_parameter变量加条件判断,匹配当前循环的条目值动态赋值,修改后的任务段配置如下:
- name: calling helm commands tasks include_tasks: helm_commands.yaml vars: name_spce: "sdn" extra_parameter: "{{ '--no-hooks' if item == 'dre' else '' }}" loop: ['dre','hju','cny','wer','guy']
逻辑说明
- 循环遍历到条目
dre时,判断条件成立,extra_parameter取值为"--no-hooks",最终执行的helm删除命令会携带该参数 - 循环遍历到其余条目时,判断条件不成立,
extra_parameter取值为空字符串'',执行命令时不会携带多余参数 - Ansible渲染shell命令时会自动合并空变量产生的多余空格,不会出现命令格式错误,不需要额外做空格兼容处理
内容的提问来源于stack exchange,提问作者user17508887
相关产品推荐
相关产品推荐

