加载 YAML 文件时出错
Error while loading YAML file
我尝试运行这段代码
---
- hosts: my-host
- vsphere_guest:
vcenter_hostname: vcenter.mydomain.local
username: myuser
password: mypass
guest: newvm001
vmware_guest_facts: yes
但我一直收到此错误。
ERROR! Syntax Error while loading YAML.
错误似乎在
'/Users/Desktop/Ansible/createvms.yml':第 3 行,第 3 列,
但可能在文件的其他地方,具体取决于确切的语法
问题。
违规行似乎是:
- hosts: my-host
- vsphere_guest: ^ here
有人可以帮忙解释一下发生了什么吗
我可以试试。 :-) 当你写 - hosts: my-host
时,这会启动一个新列表,其中包含一个带有一个键值对的字典(hosts
,它被设置为一个字符串值)。然后 YAML 解析器看到 - vsphere_guest:
缩进了一级并且不太确定如何处理它。它不能将它嵌套在 hosts
下,因为它已经设置为字符串。它不能开始一个新列表,因为它是缩进的。所以它失败了。
我想你真正想要的是这样的:
---
- hosts: my-host
tasks:
- vsphere_guest:
vcenter_hostname: vcenter.mydomain.local
username: myuser
password: mypass
guest: newvm001
vmware_guest_facts: yes
我尝试运行这段代码
---
- hosts: my-host
- vsphere_guest:
vcenter_hostname: vcenter.mydomain.local
username: myuser
password: mypass
guest: newvm001
vmware_guest_facts: yes
但我一直收到此错误。
ERROR! Syntax Error while loading YAML.
错误似乎在 '/Users/Desktop/Ansible/createvms.yml':第 3 行,第 3 列, 但可能在文件的其他地方,具体取决于确切的语法 问题。
违规行似乎是:
- hosts: my-host - vsphere_guest: ^ here
有人可以帮忙解释一下发生了什么吗
我可以试试。 :-) 当你写 - hosts: my-host
时,这会启动一个新列表,其中包含一个带有一个键值对的字典(hosts
,它被设置为一个字符串值)。然后 YAML 解析器看到 - vsphere_guest:
缩进了一级并且不太确定如何处理它。它不能将它嵌套在 hosts
下,因为它已经设置为字符串。它不能开始一个新列表,因为它是缩进的。所以它失败了。
我想你真正想要的是这样的:
---
- hosts: my-host
tasks:
- vsphere_guest:
vcenter_hostname: vcenter.mydomain.local
username: myuser
password: mypass
guest: newvm001
vmware_guest_facts: yes