簡體   English   中英

如何獲取 Ansible playbook 中使用的變量列表?

[英]How to get a list of variables used in Ansible playbook?

我想獲得 ansible playbook 中使用的變量列表。 我查看了設置和調試模塊,但我懷疑我能做到這一點。

有沒有通用的方法?

看看vars

    - debug: var=vars

你會看到所有的變量,其中一些作為hostvars屬性被復制

    - debug: var=hostvars

可以只列出不在主機變量中的變量。 例如,劇本

shell> cat playbook.yml
- hosts: test_01
  vars:
    var1: test
  tasks:
    - set_fact:
        my_vars: "{{ vars.keys()|
                     difference(hostvars[inventory_hostname].keys())|
                     list|
                     sort }}"
    - debug:
        var: my_vars

給(略)

ok: [test_01] => {
    "my_vars": [
        "ansible_dependent_role_names",
        "ansible_play_batch",
        "ansible_play_hosts",
        "ansible_play_hosts_all",
        "ansible_play_name",
        "ansible_play_role_names",
        "ansible_role_names",
        "environment",
        "hostvars",
        "play_hosts",
        "role_names",
        "var1"
    ]
}

您可以看到剩下的是Special 變量和變量var1 我不知道關於如何僅列出特殊變量的任何方法、過濾器或函數。 如果您創建這樣的列表,您可以創建差異並僅獲取您的變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM