include vars module表示可以使用JSON文件加载变量。但是,当我尝试在我的playbook中使用该模块时,我收到YAML语法错误。
---
- hosts: my_hosts
- include_vars: out.json
- tasks:
command: hostname
语法错误是:
ERROR! ' include_vars'不是播放的有效属性
答案 0 :(得分:5)
如果你看错了,你就会误读它:
语法错误是ERROR! 'include_vars'不是Play
的有效属性
你的剧本目前有3个列表项目(在行的开头由-
表示为YAML),这些项目都代表在此上下文中播放。
所以Ansible正在阅读你的剧本,其中包含3个单行播放,一个只有一个主机行,一个带有include_vars行,一个带有任务。
相反,你应该只在这里玩一个游戏,你还应该注意在任务中使用模块(例如include_vars)。
所以你的剧本应该是这样的:
---
- hosts: my_hosts
tasks:
- name: include vars
include_vars: out.json
- name: hostname
command: hostname
请注意该游戏的tasks
属性如何具有自己的列表,每个属性代表另一个任务。