schema¶
schema
规则根据 JSON schema 验证 Ansible 元数据文件。这些 schema 确保跨版本的 Ansible 语法内容的兼容性。
此 schema
规则是**强制性**的。您不能使用内联 noqa
注释来忽略它。
Ansible-lint 在处理其他规则之前验证 schema
规则。这可以防止意外的语法触发多个规则冲突。
验证的 schema¶
Ansible-lint 目前验证多个 schema,这些 schema 在单独的项目中维护,并独立于 ansible-lint 更新。
与 schema 相关的错误报告应在其各自的存储库中报告,而不是在 ansible-lint 项目中报告。
在 ansible-lint 项目中维护
schema[ansible-lint-config]
验证 ansible-lint 配置schema[role-arg-spec]
验证 角色参数规范,它与模块参数规范略有不同。schema[execution-environment]
验证 执行环境schema[galaxy]
验证 集合元数据。schema[inventory]
验证匹配inventory/*.yml
的 清单文件。schema[meta-runtime]
验证匹配meta/runtime.yml
的 运行时信息schema[meta]
验证匹配meta/main.yml
的角色的元数据。有关详细信息,请参阅 角色依赖项 或 role/metadata.py)。schema[playbook]
验证 Ansible playbook。schema[requirements]
验证匹配requirements.yml
的 Ansible 需求 文件。schema[tasks]
验证匹配tasks/**/*.yml
的 Ansible 任务文件。schema[vars]
验证匹配vars/*.yml
和defaults/*.yml
的 Ansible 变量。
在 ansible-navigator 项目中维护
schema[ansible-navigator]
验证 ansible-navigator 配置
schema[meta]¶
对于 meta/main.yml
文件,Ansible-lint 需要一个 galaxy_info.standalone
属性,以明确角色是旧的独立角色还是新的基于集合的角色
Ansible-lint 要求使用 standalone
键以避免混淆并提供更具体的错误消息。例如,meta
schema 将仅对独立角色要求某些属性,或阻止使用集合不支持的某些属性。
您不能使用空的 meta/main.yml
文件或仅在 meta/main.yml
文件中使用注释。
schema[moves]¶
这些错误通常看起来像 “foo 在 2.10 中被移动到 bar”,并表示 Ansible 版本之间的模块移动。