如果指定的角色是一个没有main.yml的目录,是否有方法产生Ansible错误?

如果指定的角色是一个没有main.yml的目录,是否有方法产生Ansible错误?,ansible,ansible-role,Ansible,Ansible Role,我们只是被这件事咬了一口,我正在尝试研究一种方法,如果它发生了,我会做出一个可解释的错误,而不是毫无怨言地处理剧本 假设我有以下目录结构和文件: ROOT/ansible.cfg ROOT/ansible/playbook.yml ROOT/roles/nested/hw1/tasks/main.yml ROOT/roles/nested/hw2/tasks/main.yml 不会明确指出以下是错误,即使nested或nested/tasks目录中没有main.yml文件,以下也不会出错: -

我们只是被这件事咬了一口,我正在尝试研究一种方法,如果它发生了,我会做出一个可解释的错误,而不是毫无怨言地处理剧本

假设我有以下目录结构和文件:

ROOT/ansible.cfg
ROOT/ansible/playbook.yml
ROOT/roles/nested/hw1/tasks/main.yml
ROOT/roles/nested/hw2/tasks/main.yml
不会明确指出以下是错误,即使
nested
nested/tasks
目录中没有
main.yml
文件,以下也不会出错:

- hosts: all
  tasks:
    - include_role:
        name: nested

如果我说
name:hw2
,它将出错,因为它需要
name:nested/hw2
。如果
nested
目录中没有
main.yml
tasks/main.yml
文件,我希望能够配置Ansible(或者可能有一个自定义的linting规则?)使其出错。

我认为您可以为此添加一个