new_module: Modify new_module and templates for Ansible 2.14

ansible-test with ansible-2.14 is adding a lot of new tests to ensure
that the documentation section and the agument spec is complete.

To aid the creation of new_modules that follow these rules, the
'new_module' script and its templates were modified to use the new
ansible-test rules. The 'new_module' script now requires a new
argument, github_user, and the code templates provide the required
fields (like 'type' and 'elements') to the provide examples.
This commit is contained in:
Rafael Guterres Jeffman
2022-10-04 17:55:34 -03:00
parent 1bf7fb7233
commit 9a8d756ad6
5 changed files with 44 additions and 23 deletions

View File

@@ -41,25 +41,35 @@ options:
name:
description: The list of $name name strings.
required: true
type: list
elements: str
aliases: ["API_PARAMETER_NAME"]
PARAMETER1:
description: DESCRIPTION
required: REQUIRED
required: false
default: None
type: TYPE
aliases: ["API_PARAMETER_NAME"]
PARAMETER2:
description: member DESCRIPTION
required: REQUIRED
required: false
type: list
elements: str
default: None
type: TYPE
aliases: ["API_PARAMETER_NAME"]
action:
description: Work on $name or member level.
choices: ["$name", "member"]
default: $name
required: false
type: str
state:
description: The state to ensure.
choices: ["present", "absent"]
default: present
required: true
type: str
author:
- $author (@$github)
"""
EXAMPLES = """
@@ -139,17 +149,18 @@ def main():
ansible_module = IPAAnsibleModule(
argument_spec=dict(
# general
name=dict(type="list", aliases=["API_PARAMETER_NAME"],
default=None, required=True),
name=dict(type="list", elements="str", required=True
aliases=["API_PARAMETER_NAME"]),
# present
PARAMETER1=dict(required=False, type='str',
aliases=["API_PARAMETER_NAME"], default=None),
PARAMETER2=dict(required=False, type='list',
aliases=["API_PARAMETER_NAME"], default=None),
action=dict(type="str", default="$name",
PARAMETER1=dict(required=False, type="str",
default=None, aliases=["API_PARAMETER_NAME"]),
PARAMETER2=dict(required=False, type='list', elements='str',
default=None, aliases=["API_PARAMETER_NAME"]),
# action
action=dict(type="str", default="$name", type="str",
choices=["member", "$name"]),
# state
state=dict(type="str", default="present",
state=dict(type="str", default="present", type="str",
choices=["present", "absent"]),
),
supports_check_mode=True,