Skip to content
Snippets Groups Projects
Commit 2621b311 authored by Thomas Woerner's avatar Thomas Woerner
Browse files

ipavault: 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: bool` needs to be set for bool parameters

- `type: list` needs to be set for list parameters
- `elements: str` needs to be given for list of string parameters
- `type: string` is not valid and needs to be replaced by `type: str`
- `required` tags need to be fixed according to the `argument_spec`
- `aliases` tag needs to match `argument_spec`
- `author` needs to be given with the github user also: `Name (@user)`
- `choices` needs to match `argument_spec`
- all parameters need to be defined

RETURN section

- `contains` needs to be used instead of `options` for dicts
- `type: string` is not valid and needs to be replaced by `type: str`

argument_spec

- `elements="str"` needs to be added to all list of string parameters
- `default=.*` needs to be dropped if `required=True` is also given

The `copyright` date is extended with `-2022`.
parent 9480841b
Branches
Tags
No related merge requests found
...@@ -2,8 +2,9 @@ ...@@ -2,8 +2,9 @@
# Authors: # Authors:
# Rafael Guterres Jeffman <rjeffman@redhat.com> # Rafael Guterres Jeffman <rjeffman@redhat.com>
# Thomas Woerner <twoerner@redhat.com>
# #
# Copyright (C) 2019 Red Hat # Copyright (C) 2019-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,123 +40,135 @@ extends_documentation_fragment: ...@@ -39,123 +40,135 @@ extends_documentation_fragment:
options: options:
name: name:
description: The vault name description: The vault name
type: list
elements: str
required: true required: true
aliases: ["cn"] aliases: ["cn"]
description: description:
description: The vault description description: The vault description
type: str
required: false required: false
public_key: vault_public_key:
description: Base64 encode public key. description: Base64 encode public key.
required: false required: false
type: string type: str
aliases: ["ipavaultpublickey", "vault_public_key"] aliases: ["ipavaultpublickey", "public_key", "new_public_key"]
public_key_file: vault_public_key_file:
description: Path to file with public key. description: Path to file with public key.
required: false required: false
type: string type: str
aliases: ["vault_public_key_file"] aliases: ["public_key_file", "new_public_key_file"]
private_key: private_key:
description: Base64 encode private key. description: Base64 encode private key.
required: false required: false
type: string type: str
aliases: ["ipavaultprivatekey", "vault_private_key"] aliases: ["ipavaultprivatekey", "vault_private_key"]
private_key_file: private_key_file:
description: Path to file with private key. description: Path to file with private key.
required: false required: false
type: string type: str
aliases: ["vault_private_key_file"] aliases: ["vault_private_key_file"]
password: password:
description: password to be used on symmetric vault. description: password to be used on symmetric vault.
required: false required: false
type: string type: str
aliases: ["ipavaultpassword", "vault_password", "old_password"] aliases: ["ipavaultpassword", "vault_password", "old_password"]
password_file: password_file:
description: file with password to be used on symmetric vault. description: file with password to be used on symmetric vault.
required: false required: false
type: string type: str
aliases: ["vault_password_file", "old_password_file"] aliases: ["vault_password_file", "old_password_file"]
new_password: new_password:
description: new password to be used on symmetric vault. description: new password to be used on symmetric vault.
required: false required: false
type: string type: str
new_password_file: new_password_file:
description: file with new password to be used on symmetric vault. description: file with new password to be used on symmetric vault.
required: false required: false
type: string type: str
salt: vault_salt:
description: Vault salt. description: Vault salt.
required: false required: false
type: list type: str
aliases: ["ipavaultsalt", "vault_salt"] aliases: ["ipavaultsalt", "salt"]
vault_type: vault_type:
description: Vault types are based on security level. description: Vault types are based on security level.
required: true type: str
default: symmetric required: false
choices: ["standard", "symmetric", "asymmetric"] choices: ["standard", "symmetric", "asymmetric"]
aliases: ["ipavaulttype"] aliases: ["ipavaulttype"]
service: service:
description: Any service can own one or more service vaults. description: Any service can own one or more service vaults.
required: false required: false
type: list type: str
username: username:
description: Any user can own one or more user vaults. description: Any user can own one or more user vaults.
required: false required: false
type: string type: str
aliases: ["user"] aliases: ["user"]
shared: shared:
description: Vault is shared. description: Vault is shared.
required: false required: false
type: boolean type: bool
users: users:
description: Users that are member of the vault. description: Users that are member of the vault.
required: false required: false
type: list type: list
elements: str
groups: groups:
description: Groups that are member of the vault. description: Groups that are member of the vault.
required: false required: false
type: list type: list
elements: str
owners: owners:
description: Users that are owners of the vault. description: Users that are owners of the vault.
required: false required: false
type: list type: list
elements: str
aliases: ["ownerusers"] aliases: ["ownerusers"]
ownergroups: ownergroups:
description: Groups that are owners of the vault. description: Groups that are owners of the vault.
required: false required: false
type: list type: list
elements: str
ownerservices: ownerservices:
description: Services that are owners of the vault. description: Services that are owners of the vault.
required: false required: false
type: list type: list
elements: str
services: services:
description: Services that are member of the container. description: Services that are member of the container.
required: false required: false
type: list type: list
elements: str
data: data:
description: Data to be stored in the vault. description: Data to be stored in the vault.
required: false required: false
type: string type: str
aliases: ["ipavaultdata", "vault_data"] aliases: ["ipavaultdata", "vault_data"]
in: in:
description: Path to file with data to be stored in the vault. description: Path to file with data to be stored in the vault.
required: false required: false
type: string type: str
aliases: ["datafile_in"] aliases: ["datafile_in"]
out: out:
description: Path to file to store data retrieved from the vault. description: Path to file to store data retrieved from the vault.
required: false required: false
type: string type: str
aliases: ["datafile_out"] aliases: ["datafile_out"]
action: action:
description: Work on vault or member level. description: Work on vault or member level.
type: str
default: vault default: vault
choices: ["vault", "member"] choices: ["vault", "data", "member"]
state: state:
description: State to ensure description: State to ensure
type: str
default: present default: present
choices: ["present", "absent", "retrieved"] choices: ["present", "absent", "retrieved"]
author: author:
- Rafael Jeffman - Rafael Guterres Jeffman (@rjeffman)
- Thomas Woerner (@t-woerner)
""" """
EXAMPLES = """ EXAMPLES = """
...@@ -307,11 +320,11 @@ vault: ...@@ -307,11 +320,11 @@ vault:
description: Vault dict with archived data. description: Vault dict with archived data.
returned: If state is `retrieved`. returned: If state is `retrieved`.
type: dict type: dict
options: contains:
data: data:
description: The vault data. description: The vault data.
returned: always returned: always
type: string type: str
""" """
import os import os
...@@ -587,7 +600,7 @@ def main(): ...@@ -587,7 +600,7 @@ def main():
ansible_module = IPAAnsibleModule( ansible_module = IPAAnsibleModule(
argument_spec=dict( argument_spec=dict(
# generalgroups # generalgroups
name=dict(type="list", aliases=["cn"], default=None, name=dict(type="list", elements="str", aliases=["cn"],
required=True), required=True),
description=dict(required=False, type="str", default=None), description=dict(required=False, type="str", default=None),
...@@ -614,13 +627,19 @@ def main(): ...@@ -614,13 +627,19 @@ def main():
service=dict(type="str", required=False, default=None), service=dict(type="str", required=False, default=None),
shared=dict(type="bool", required=False, default=None), shared=dict(type="bool", required=False, default=None),
users=dict(required=False, type='list', default=None), users=dict(required=False, type="list", elements="str",
groups=dict(required=False, type='list', default=None), default=None),
services=dict(required=False, type='list', default=None), groups=dict(required=False, type="list", elements="str",
owners=dict(required=False, type='list', default=None, default=None),
services=dict(required=False, type="list", elements="str",
default=None),
owners=dict(required=False, type="list", elements="str",
default=None,
aliases=['ownerusers']), aliases=['ownerusers']),
ownergroups=dict(required=False, type='list', default=None), ownergroups=dict(required=False, type="list", elements="str",
ownerservices=dict(required=False, type='list', default=None), default=None),
ownerservices=dict(required=False, type="list", elements="str",
default=None),
vault_data=dict(type="str", required=False, default=None, vault_data=dict(type="str", required=False, default=None,
no_log=True, aliases=['ipavaultdata', 'data']), no_log=True, aliases=['ipavaultdata', 'data']),
datafile_in=dict(type="str", required=False, default=None, datafile_in=dict(type="str", required=False, default=None,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment