首页 > 解决方案 > Ansible 字典/哈希键作为特殊变量

问题描述

我正在尝试将 Ansible 事实设置为 dict/hash,但想使用特殊变量作为键。就我而言,我想使用特殊变量inventory_hostname。但是,当我尝试此操作时,该值将作为字符串返回,而不是主机名机器的实际名称。如何将键设置为特殊变量inventory_hosthame

我已经尝试了以下但无济于事。

设置事实:

  set_fact:
    result_dict:
      "{{inventory_hostname}}": 'Linux'

  set_fact:
    result_dict:
      inventory_hostname: 'Linux'

我只返回字符串值,而不是实际的inventory_hostname。

电流输出:

    ok: [host-a] => {
    "result_dict": {
        "{{inventory_hostname}}": "Linux"
    }
}

标签: pythonpython-3.xdictionaryansibleansible-facts

解决方案


你可以这样写你的任务:

- hosts: localhost
  tasks:
    - set_fact:
        result_dict: "{{ {inventory_hostname: 'Linux'} }}"

    - debug:
        var: result_dict

这似乎对我有用。


推荐阅读