Ansible 加载YAML时出现语法错误

Ansible 加载YAML时出现语法错误,ansible,yaml,Ansible,Yaml,我的角色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 i

我的角色
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
我不明白这里出了什么问题,因为我在文档中发现了这样的示例…
(我省略了此角色中定义的其他部分,它们工作正常)

修复缩进:

---
- name: restart Apache
  systemd:
    name: apache2
    state: restarted
    daemon_reload: yes
我不明白这里出了什么问题,因为我在文档中发现了这样的样本

YAML中的缩进对解释有重要意义。某些元素必须在同一级别定义

请注意,
systemd:
行以冒号结尾,后面是缩进的块(其中整个块成为其值),而
name:
在同一行中定义了value
restart Apache