include vars module说JSON文件可用于加载变量。但是,当我尝试在我的playbook中使用该模块时,我收到YAML语法错误。
---
- hosts: my_hosts
- include_vars: out.json
- tasks:
command: hostname
语法错误是:
错误! 'include_vars'不是Play的有效属性
如果你看错误,你就会误读它:
语法错误是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
属性如何具有自己的列表,每个属性代表另一个任务。