variables - 在另一个剧本中使用来自一个 yml 文件的变量
问题描述
我是 ansible 的新手,正在尝试在 playbook.yml 文件中使用 vars.yml 文件中的变量。
变量.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 }}"
推荐阅读
- javascript - 当我尝试在同一页面上创建两个滑块框时,它不起作用
- c++ - 使用模板进行堆栈实现;“名称后跟 :: 必须是类或命名空间”
- vb.net - 为什么我的 VB 程序抛出异常,抱怨 OleDbDataReader 已关闭,而它应该绝对打开?
- windows - 为什么我在任务计划程序中看不到我的任务
- css - 自动换行,分词 php html css
- python - Python groupby 在创建 bin 后返回 NaN 平均值
- c# - 下载许多视频后,HttpClient 中的 await httpClient.GetByteArrayAsync() 突然停止?
- curl - 清除 AWS Neptune 中的数据
- node.js - 如何使用带有 Express 的脚手架 Nuxt 应用程序测试服务器 api 端点?
- scala - 具有多行的 libraryDependencies