我遵循了按比例缩小版本的剧本,我需要找出传递给该剧本的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
答案 0 :(得分:0)
如果您运行以下代码
- hosts: all
gather_facts: True
tasks:
- name: host
debug: var=vars
您会在JSON结构中找到额外的变量,但似乎它到达了树的“根”和hostvars
“分支”
希望有帮助。