我尝试运行这段代码
---
- hosts: my-host
- vsphere_guest:
vcenter_hostname: vcenter.mydomain.local
username: myuser
password: mypass
guest: newvm001
vmware_guest_facts: yes
但我一直收到这个错误。
ERROR!加载YAML时出现语法错误。
错误似乎已经存在 '/Users/Desktop/Ansible/createvms.yml':第3行,第3列, 但可能在文件的其他位置,具体取决于确切的语法 问题
违规行似乎是:
- hosts: my-host - vsphere_guest: ^ here
有人可以帮助解释发生的事情
答案 0 :(得分:3)
我可以试试。 :-)当你编写- hosts: my-host
时,这将启动一个包含一个带有一个键值对(hosts
的dict的新列表,它被设置为一个字符串值)。然后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