# Clarify documentation - argument\_specs.yml "author" - list or string?

**URL:** <https://forum.ansible.com/t/clarify-documentation-argument-specs-yml-author-list-or-string/3870>\
**Category:** Get Help\
**Tags:** documentation\
**Created:** [February 14, 2024, 2:42pm UTC](https://forum.ansible.com/t/clarify-documentation-argument-specs-yml-author-list-or-string/3870 "2024-02-14T14:42:06Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![jms1](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/jms1/32/2255_2.png) [@jms1](https://forum.ansible.com/u/jms1)\
**Post date:** [February 14, 2024, 2:42pm UTC](https://forum.ansible.com/t/clarify-documentation-argument-specs-yml-author-list-or-string/3870/1 "2024-02-14T14:42:06Z")

</div>

Looking at [this page](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html#role-argument-validation) in the documentation. The description of “entry-point-name → author” says to “Use a multi-line list if there is more than one author.”

**What exactly is a “multi-line list”?**

- Should it be an actual list, containing mutliple strings?

- Should be a multi-line string?

---

<div class="post-metadata">

**Author:** ![shertel](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/shertel/32/1241_2.png) [@shertel](https://forum.ansible.com/u/shertel)\
**Post date:** [February 14, 2024, 3:01pm UTC](https://forum.ansible.com/t/clarify-documentation-argument-specs-yml-author-list-or-string/3870/2 "2024-02-14T15:01:11Z")

</div>

It should be a string if there is 1 author, and a list for multiple. I’m guessing the multi-line recommendation is to deter from a comma-separated `name1, name1` or bracketed list `[name1, name2]` for readability.

---

<div class="post-metadata">

**Author:** ![jms1](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/jms1/32/2255_2.png) [@jms1](https://forum.ansible.com/u/jms1)\
**Post date:** [February 14, 2024, 3:23pm UTC](https://forum.ansible.com/t/clarify-documentation-argument-specs-yml-author-list-or-string/3870/3 "2024-02-14T15:23:29Z")

</div>

I’ll take your word for it. I’m not familiar enough with the code to know where to find the code which parses this file.

This is yet another case where Ansible’s documentation is lacking.

Actually, there’s another question: is there a way to manually TEST the contents of this file? Other than just `yamllint`, of course.

---

<div class="post-metadata">

**Author:** ![akira6592](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/akira6592/32/222_2.png) [@akira6592](https://forum.ansible.com/u/akira6592)\
**Post date:** [February 14, 2024, 3:35pm UTC](https://forum.ansible.com/t/clarify-documentation-argument-specs-yml-author-list-or-string/3870/5 "2024-02-14T15:35:38Z")

</div>

@shertel

for below topic?

> [@How to compare RPM versions](http://forum.ansible.com/t/how-to-compare-rpm-versions/3794):
>
> Is there a test, similar to ansible.builtin.version, which knows how to compare RPM version strings, using the same algorithm that the rpm and yum commands use? Or even better, the problem I’m hoping to solve with this … is there a way to make ansible.builtin.package support the idea of “version X or later”, so we can enforce required minimums in response to security notices?

---

<div class="post-metadata">

**Author:** ![shertel](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/shertel/32/1241_2.png) [@shertel](https://forum.ansible.com/u/shertel)\
**Post date:** [February 14, 2024, 3:38pm UTC](https://forum.ansible.com/t/clarify-documentation-argument-specs-yml-author-list-or-string/3870/6 "2024-02-14T15:38:29Z")

</div>

Oops, yes. Thank you.

---

<div class="post-metadata">

**Author:** ![shertel](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/shertel/32/1241_2.png) [@shertel](https://forum.ansible.com/u/shertel)\
**Post date:** [February 14, 2024, 3:42pm UTC](https://forum.ansible.com/t/clarify-documentation-argument-specs-yml-author-list-or-string/3870/7 "2024-02-14T15:42:27Z")

</div>

I’m not aware of any validation for `authors` in role argument spec. The argspec options are validated against the available variables when running the role.

Here’s the action plugin that parses the file [ansible.builtin.validate\_argument\_spec module – Validate role argument specs. — Ansible Documentation](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/validate_argument_spec_module.html).

---

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [February 14, 2024, 6:13pm UTC](https://forum.ansible.com/t/clarify-documentation-argument-specs-yml-author-list-or-string/3870/8 "2024-02-14T18:13:51Z")

</div>

Assuming the role is part of a collection: `antsibull-docs lint-collection-docs` does validation on the argument spec.

Ansible-lint also validates it, it probably also work with stand-alone roles outside collections.

---

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [February 14, 2024, 8:25pm UTC](https://forum.ansible.com/t/clarify-documentation-argument-specs-yml-author-list-or-string/3870/9 "2024-02-14T20:25:33Z")

</div>

I created a PR to improve the docs: [Improve role argspec documentation by felixfontein · Pull Request #1126 · ansible/ansible-documentation · GitHub](https://github.com/ansible/ansible-documentation/pull/1126)

(More infos on `antsibull-docs lint-collection-docs`: [Creating a collection docsite - antsibull-docs – Ansible Documentation Build Scripts](https://ansible.readthedocs.io/projects/antsibull-docs/collection-docs/#linting-collection-docs))
