Ansible:如何获取数组中的值在条件下使用

标签 ansible

我的角色有变量

component: [ mouse, keyboard, cpu ]

在我的角色中,我需要根据组件变量导入任务

- import_tasks: cpu.yml
  when: '"cpu" in component'

如果组件中只有一个值,那么我如何循环组件var并在when条件下使用它

最佳答案

我不确定我是否理解这个用例。您想循环所有项目吗?

vars:
  component: [ mouse, keyboard, cpu ]
tasks:
  - import_tasks: "{{ item }}.yml"
    loop: component

或者,您只想导入选定的组件吗?

vars:
  component: [ mouse, keyboard, cpu ]
  selected: [ mouse, cpu ]
tasks:
  - import_tasks: "{{ item }}.yml"
    loop: selected
    when: item in component

(未测试)

关于Ansible:如何获取数组中的值在条件下使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55282377/

相关文章:

docker - Ansible Docker 容器 - 克隆私有(private)仓库

Ansible - 找不到 pip

ansible - 如何在 ansible 1.9.4 中使用 --ask-become-pass

ansible - 在jinja2循环中使用hostvars的动态变量

javascript - 将 Karma 测试用例集成到 Jenkins 中,配置为运行 ansible 脚本

android - ansible android更新sdk给找不到sdkmanager.jar

当主机无法访问时 ansible 跳过失败模块

ansible - 可能以某种方式在剧本中使用通配符(或任何解决方法)?

redis - 在 CentOS 7 中使用 ansible 从 iptables 迁移到 firewalld 设置

macos - 无法在 Mac 上找到使用 pip 安装的 Ansible