我确实有这样定义的角色foo
:
# roles/foo/tasks/main.yml
---
- name: restart Apache
systemd:
name: apache2
state: restarted
daemon_reload: yes
当我启动请求此角色的剧本时,我会收到此错误:
ERROR! Syntax Error while loading YAML.
The error appears to have been in '/root/roles/foo/tasks/main.yml': line 4, column 12, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: restart Apache
systemd:
^ here
我不明白这里有什么问题,因为我在文件中找到了这样的样本...... (我遗漏了这个角色定义的其他部分并且运作良好)
答案 0 :(得分:1)
修复缩进:
---
- name: restart Apache
systemd:
name: apache2
state: restarted
daemon_reload: yes
我不明白这里有什么问题,因为我在文档中找到了这样的样本......
YAML中的缩进对于解释很重要。必须在同一级别定义某些元素。
请注意,systemd:
行以冒号结尾,后跟缩进块(整个块变为其值),而name:
在同一行中定义了值restart Apache