在角色名称中使用变量

时间:2016-11-24 18:52:43

标签: ansible ansible-playbook

当我运行这个剧本时:

vars_prompt:
  - name: "dessert"
    prompt: "What dessert would you like?"
    private: no

pre_tasks:
  - name: debug
    debug: msg="The variable {{ dessert }} was passed"

roles:
  - role-{{ dessert }}

我得到以下输出:

  

变量ICE CREAM被传递了   错误! '甜点'未定义

是否根本无法在剧本名称中使用变量?

1 个答案:

答案 0 :(得分:4)

AFAIK,只有在Ansible解析剧本之前定义的变量才有可能。

例如,这将有效:ansible-playbook -e role_name=myrole

- hosts: localhost
  gather_facts: no
  roles:
    - role: "{{ role_name }}"