rob*_*djr 4 variables import ansible
我是 ansible 的新手,我试图在 playbook.yml 文件中使用 vars.yml 文件中的变量。
变量名
---
- firstvar:
    id: 1
    name: One
- secondvar:
    id: 2
    name: two
剧本.yml
---
- hosts: localhost
  tasks:
  - name: Import vars
    include_vars:
      file: ./vars.yml
      name: vardata
  - name: Use FirstVar
    iso_vlan:
      vlan_id: "{{ vardata.firstvar.id }}"
      name: "{{ vardata.firstvar.name }}"
      state: present
  - name: Use Secondvar
    iso_vlan:
      vlan_id: "{{ vardata.secondvar.id }}"
      name: "{{ vardata.secondvar.name }}"
      state: present
所以你可以在这里看到我将存储在 vardata 中的导入变量数据视为对象,并尝试在其他任务中调用它们中的每一个。我很确定这些在第一个任务中导入的变量只在那个任务中可用。我如何在其他任务中使用它?它将输出为每个任务未定义的变量。任何输入表示赞赏。
您的vars.yml文件格式不正确。
尝试这个:
---
firstvar:
  id: 1
  name: One
secondvar:
  id: 2
  name: two
我用它来测试它:
---
- hosts: localhost
  tasks:
    - name: Import vars
      include_vars:
        file: ./vars.yml
        name: vardata
    - name: debug
      debug:
        msg: "{{ vardata.firstvar.name }}"
    - name: more debug
      debug:
        msg: "{{ vardata.secondvar.id }}"