ipapermission: Fix documentation sections and agument spec

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. Needed
changes:

DOCUMENTATION section

- `type: str` needs to be set for string parameters
- `type: list` needs to be set for list parameters
- `elements: str` needs to be given for list of string parameters
- `aliases` tag needs to match `argument_spec`
- `choices` needs to match `argument_spec`
- `author` needs to be given with the github user also: `Name (@user)`

argument_spec

- `elements="str"` needs to be added to all list of string parameters

The `copyright` date is extended with `-2022`.
This commit is contained in:
Thomas Woerner
2022-09-30 17:41:04 +02:00
parent 07c8bb1efb
commit bf2eb2200d

View File

@@ -2,8 +2,9 @@
# Authors: # Authors:
# Seth Kress <kresss@gmail.com> # Seth Kress <kresss@gmail.com>
# Thomas Woerner <twoerner@redhat.com>
# #
# Copyright (C) 2020 Red Hat # Copyright (C) 2020-2022 Red Hat
# see file 'COPYING' for use and warranty information # see file 'COPYING' for use and warranty information
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@@ -39,6 +40,8 @@ extends_documentation_fragment:
options: options:
name: name:
description: The permission name string. description: The permission name string.
type: list
elements: str
required: true required: true
aliases: ["cn"] aliases: ["cn"]
right: right:
@@ -46,52 +49,64 @@ options:
required: false required: false
choices: ["read", "search", "compare", "write", "add", "delete", "all"] choices: ["read", "search", "compare", "write", "add", "delete", "all"]
type: list type: list
elements: str
aliases: ["ipapermright"] aliases: ["ipapermright"]
attrs: attrs:
description: All attributes to which the permission applies description: All attributes to which the permission applies
required: false required: false
type: list type: list
elements: str
bindtype: bindtype:
description: Bind rule type description: Bind rule type
required: false required: false
choices: ["permission", "all", "anonymous"] type: str
choices: ["permission", "all", "anonymous", "self"]
aliases: ["ipapermbindruletype"] aliases: ["ipapermbindruletype"]
subtree: subtree:
description: Subtree to apply permissions to description: Subtree to apply permissions to
type: str
required: false required: false
aliases: ["ipapermlocation"] aliases: ["ipapermlocation"]
filter: extra_target_filter:
description: Extra target filter description: Extra target filter
required: false required: false
type: list type: list
aliases: ["extratargetfilter"] elements: str
aliases: ["filter", "extratargetfilter"]
rawfilter: rawfilter:
description: All target filters description: All target filters
required: false required: false
type: list type: list
elements: str
aliases: ["ipapermtargetfilter"] aliases: ["ipapermtargetfilter"]
target: target:
description: Optional DN to apply the permission to description: Optional DN to apply the permission to
type: str
required: false required: false
aliases: ["ipapermtarget"] aliases: ["ipapermtarget"]
targetto: targetto:
description: Optional DN subtree where an entry can be moved to description: Optional DN subtree where an entry can be moved to
type: str
required: false required: false
aliases: ["ipapermtargetto"] aliases: ["ipapermtargetto"]
targetfrom: targetfrom:
description: Optional DN subtree from where an entry can be moved description: Optional DN subtree from where an entry can be moved
type: str
required: false required: false
aliases: ["ipapermtargetfrom"] aliases: ["ipapermtargetfrom"]
memberof: memberof:
description: Target members of a group (sets memberOf targetfilter) description: Target members of a group (sets memberOf targetfilter)
required: false required: false
type: list type: list
elements: str
targetgroup: targetgroup:
description: User group to apply permissions to (sets target) description: User group to apply permissions to (sets target)
type: str
required: false required: false
aliases: ["targetgroup"] aliases: ["targetgroup"]
object_type: object_type:
description: Type of IPA object (sets subtree and objectClass targetfilter) description: Type of IPA object (sets subtree and objectClass targetfilter)
type: str
required: false required: false
aliases: ["type"] aliases: ["type"]
no_members: no_members:
@@ -100,18 +115,24 @@ options:
type: bool type: bool
rename: rename:
description: Rename the permission object description: Rename the permission object
type: str
required: false required: false
aliases: ["new_name"] aliases: ["new_name"]
action: action:
description: Work on permission or member privilege level. description: Work on permission or member privilege level.
type: str
choices: ["permission", "member"] choices: ["permission", "member"]
default: permission default: permission
required: false required: false
state: state:
description: The state to ensure. description: The state to ensure.
type: str
choices: ["present", "absent", "renamed"] choices: ["present", "absent", "renamed"]
default: present default: present
required: true required: false
author:
- Seth Kress (@kresss)
- Thomas Woerner (@t-woerner)
""" """
EXAMPLES = """ EXAMPLES = """
@@ -203,24 +224,26 @@ def main():
ansible_module = IPAAnsibleModule( ansible_module = IPAAnsibleModule(
argument_spec=dict( argument_spec=dict(
# general # general
name=dict(type="list", aliases=["cn"], name=dict(type="list", elements="str", aliases=["cn"],
default=None, required=True), required=True),
# present # present
right=dict(type="list", aliases=["ipapermright"], default=None, right=dict(type="list", elements="str", aliases=["ipapermright"],
required=False, default=None, required=False,
choices=["read", "search", "compare", "write", "add", choices=["read", "search", "compare", "write", "add",
"delete", "all"]), "delete", "all"]),
attrs=dict(type="list", default=None, required=False), attrs=dict(type="list", elements="str", default=None,
required=False),
# Note: bindtype has a default of permission for Adds. # Note: bindtype has a default of permission for Adds.
bindtype=dict(type="str", aliases=["ipapermbindruletype"], bindtype=dict(type="str", aliases=["ipapermbindruletype"],
default=None, require=False, choices=["permission", default=None, required=False, choices=["permission",
"all", "anonymous", "self"]), "all", "anonymous", "self"]),
subtree=dict(type="str", aliases=["ipapermlocation"], default=None, subtree=dict(type="str", aliases=["ipapermlocation"], default=None,
required=False), required=False),
extra_target_filter=dict(type="list", aliases=["filter", extra_target_filter=dict(type="list", elements="str",
"extratargetfilter"], default=None, aliases=["filter", "extratargetfilter"],
required=False), default=None, required=False),
rawfilter=dict(type="list", aliases=["ipapermtargetfilter"], rawfilter=dict(type="list", elements="str",
aliases=["ipapermtargetfilter"],
default=None, required=False), default=None, required=False),
target=dict(type="str", aliases=["ipapermtarget"], default=None, target=dict(type="str", aliases=["ipapermtarget"], default=None,
required=False), required=False),
@@ -228,11 +251,12 @@ def main():
default=None, required=False), default=None, required=False),
targetfrom=dict(type="str", aliases=["ipapermtargetfrom"], targetfrom=dict(type="str", aliases=["ipapermtargetfrom"],
default=None, required=False), default=None, required=False),
memberof=dict(type="list", default=None, required=False), memberof=dict(type="list", elements="str", default=None,
required=False),
targetgroup=dict(type="str", default=None, required=False), targetgroup=dict(type="str", default=None, required=False),
object_type=dict(type="str", aliases=["type"], default=None, object_type=dict(type="str", aliases=["type"], default=None,
required=False), required=False),
no_members=dict(type=bool, default=None, require=False), no_members=dict(type="bool", default=None, required=False),
rename=dict(type="str", default=None, required=False, rename=dict(type="str", default=None, required=False,
aliases=["new_name"]), aliases=["new_name"]),
action=dict(type="str", default="permission", action=dict(type="str", default="permission",