在执行角色时,正确的YAML文件是否足以提供正确的ansible剧本、语法?

在执行角色时,正确的YAML文件是否足以提供正确的ansible剧本、语法?,ansible,ansible-role,Ansible,Ansible Role,剧本(apt.yml),包括: ERROR! "unexpected parameter type in action: class 'ansible.parsing.yaml.objects.AnsibleSequence'" The error appears to be in '/home/ansible/march/roles/apache/tasks/apt.yml': line 2, column 3, but may be elsewhere in the file depend

剧本(apt.yml),包括:

ERROR!
"unexpected parameter type in action: class 'ansible.parsing.yaml.objects.AnsibleSequence'"

The error appears to be in '/home/ansible/march/roles/apache/tasks/apt.yml': line 2, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:
---
- hosts: all
  ^ here
Q:“错误出现在/home/ansible/march/roles/apache/tasks/apt.yml中:第2行,…”

答:指令
hosts
tasks
在A中是有效的关键字,但在A中不是


问:“一个正确的YAML文件是否足以作为一个正确的Ansible剧本…”

A:显然不是。问题中提出的剧本在语法上是正确的
ansible lint apt.yml
yamlint apt.yml
,以及
ansible playbook apt.yml——语法检查
报告无错误

使用清单对剧本进行了测试

- hosts: all
  become: yes
  tasks:
剧本按预期运行

shell> cat hosts
linux:
  hosts:
    test_01:
      ansible_host: 10.1.0.11
Q:“错误出现在/home/ansible/march/roles/apache/tasks/apt.yml中:第2行,…”

答:指令
hosts
tasks
在A中是有效的关键字,但在A中不是


问:“一个正确的YAML文件是否足以作为一个正确的Ansible剧本…”

A:显然不是。问题中提出的剧本在语法上是正确的
ansible lint apt.yml
yamlint apt.yml
,以及
ansible playbook apt.yml——语法检查
报告无错误

使用清单对剧本进行了测试

- hosts: all
  become: yes
  tasks:
剧本按预期运行

shell> cat hosts
linux:
  hosts:
    test_01:
      ansible_host: 10.1.0.11
“执行角色?”
你在谈论哪个角色?
“执行角色?”
你在谈论哪个角色?