【问题标题】:Can I use custom variables when conditionally calling an Ansible role?我可以在有条件地调用 Ansible 角色时使用自定义变量吗?
【发布时间】:2017-06-01 21:13:19
【问题描述】:

根据 ansible 文档here,当变量“mdb_user”以 prod 开头时,我使用以下语法来触发角色。

- hosts: category_workstation
  gather_facts: False
  name: common workstation applications
  roles:
    - apps_workstation
    - { role: apps_workstation_production, when: mdb_user.startswith('prod') }

这很好用,但我想知道我是否可以做类似的事情来调整在不同条件下输入角色的变量。例如以下:

- hosts : category_workstation
  name: common workstation applications
  roles:
    - apps_workstation
    - { role: apps_workstation_production, vars={'user':'prod'}, when: mdb_user.startswith('prod')}

目前我不得不在调用角色之前使用 when 和 set_fact 来设置正确的变量,并且上面的这种方法(如果可能的话)看起来更简洁。

【问题讨论】:

    标签: ansible


    【解决方案1】:

    你可以试试这样的:

    - hosts : category_workstation
      name: common workstation applications
      roles:
        - apps_workstation
        - { role: apps_workstation_production, user: prod, when: mdb_user.startswith('prod')}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      • 2018-09-27
      • 1970-01-01
      相关资源
      最近更新 更多