在ansible playbook中包含带有include_vars模块的json文件

问题描述 投票:3回答:1

include vars module说JSON文件可用于加载变量。但是,当我尝试在我的playbook中使用该模块时,我收到YAML语法错误。

---
- hosts: my_hosts
- include_vars: out.json
- tasks:
    command: hostname

语法错误是:

错误! 'include_vars'不是Play的有效属性

json ansible
1个回答
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属性如何具有自己的列表,每个属性代表另一个任务。

© www.soinside.com 2019 - 2024. All rights reserved.