列出提供给剧本的额外变量

时间:2019-08-20 18:40:35

标签: ansible

我遵循了按比例缩小版本的剧本,我需要找出传递给该剧本的extra-vars的列表。之所以需要这样做,是因为有时用户输入错误时会提供错误的extravar名称,并且剧本不会使用拼写错误的变量。因此,我需要确保用户提供Extravar`的正确名称。

---

- hosts: localhost
  vars:
    restart: 'on'
  tasks:

   - name: "WHEN CONDITION CHECK"
     shell: echo reboot
     when: "'off' in restart "

示例:

#This should run
ansible-playbook playbook.yml -e restart=off
#This should get detected, like some extra var is passed. 
ansible-playbook playbook.yml -e restarttt=off

注意:我已经知道restart is not defined的检查,我正在尝试查找变量列表。因为我也想使用默认值,所以不能使用未定义的检查。

我希望将以下内容打印为输出:

restart
restarttt

1 个答案:

答案 0 :(得分:0)

如果您运行以下代码

- hosts: all
  gather_facts: True

  tasks:

    - name: host
      debug: var=vars

您会在JSON结构中找到额外的变量,但似乎它到达了树的“根”和hostvars“分支”

希望有帮助。