1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Tidy up validations + bug fixes + deprecations (#1830) (#1846)

* fixed validation-modules for plugins/modules/database/misc/elasticsearch_plugin.py

* fixed validation-modules for plugins/modules/database/misc/kibana_plugin.py

* fixed validation-modules for plugins/modules/database/misc/riak.py

* fixed validation-modules for plugins/modules/database/vertica/vertica_info.py

* fixed validation-modules for plugins/modules/database/vertica/vertica_role.py

* fixed validation-modules for plugins/modules/database/vertica/vertica_schema.py

* fixed validation-modules for plugins/modules/database/vertica/vertica_user.py

* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_domain.py

* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_host_ports.py

* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_host.py

* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_pool.py

* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_vol.py

* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_vol_map.py

* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_host_ports.py

* fixed validation-modules for plugins/modules/system/runit.py

* fixed validation-modules for plugins/modules/source_control/bzr.py

* fixed validation-modules for plugins/modules/source_control/hg.py

* fixed validation-modules for plugins/modules/storage/emc/emc_vnx_sg_member.py

* fixed validation-modules for plugins/modules/identity/opendj/opendj_backendprop.py

* fixed validation-modules for plugins/modules/files/iso_extract.py

* fixed validation-modules for plugins/modules/monitoring/logstash_plugin.py

* fixed validation-modules for plugins/modules/database/aerospike/aerospike_migrations.py

* Tidy up a number of sanity checks for some modules

* added changelog fragment

* Some parameters in vertica_* had their aliases documented as the name, and sometimes vice-versa as well

* Adjustments per PR

* Rolled back sanity ignores for runit

* Update changelogs/fragments/1830-valmod_docmissingtype_batch1.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 3778eac1ba)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
This commit is contained in:
Felix Fontein 2021-02-17 07:16:16 +01:00 committed by GitHub
parent 1c5149c3de
commit 0aaa5e3d91
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 164 additions and 152 deletions

View file

@ -0,0 +1,7 @@
bugfixes:
- kibana_plugin - ``state`` parameter choices must use ``list()`` in python3 (https://github.com/ansible-collections/community.general/pull/1830).
- elasticsearch_plugin - ``state`` parameter choices must use ``list()`` in python3 (https://github.com/ansible-collections/community.general/pull/1830).
- riak - parameters ``wait_for_handoffs`` and ``wait_for_ring`` are ``int`` but the default value was ``false`` (https://github.com/ansible-collections/community.general/pull/1830).
- logstash_plugin - wrapped ``dict.keys()`` with ``list`` for use in ``choices`` setting (https://github.com/ansible-collections/community.general/pull/1830).
- iso_extract - use proper alias deprecation mechanism for ``thirsty`` alias of ``force`` (https://github.com/ansible-collections/community.general/pull/1830).
- runit - removed unused code, and passing command as ``list`` instead of ``str`` to ``run_command()`` (https://github.com/ansible-collections/community.general/pull/1830).

View file

@ -115,7 +115,6 @@ EXAMPLES = '''
local_only: False
# example playbook:
---
- name: Upgrade aerospike
hosts: all
become: true

View file

@ -22,11 +22,13 @@ options:
description:
- Name of the plugin to install.
required: True
type: str
state:
description:
- Desired state of a plugin.
choices: ["present", "absent"]
default: present
type: str
src:
description:
- Optionally set the source location to retrieve the plugin from. This can be a file://
@ -38,16 +40,19 @@ options:
effect.
- For ES 1.x use url.
required: False
type: str
url:
description:
- Set exact URL to download the plugin from (Only works for ES 1.x).
- For ES 2.x and higher, use src.
required: False
type: str
timeout:
description:
- "Timeout setting: 30s, 1m, 1h..."
- Only valid for Elasticsearch < 5.0. This option is ignored for Elasticsearch > 5.0.
default: 1m
type: str
force:
description:
- "Force batch mode when installing plugins. This is only necessary if a plugin requires additional permissions and console detection fails."
@ -57,20 +62,25 @@ options:
description:
- Location of the plugin binary. If this file is not found, the default plugin binaries will be used.
- The default changed in Ansible 2.4 to None.
type: path
plugin_dir:
description:
- Your configured plugin directory specified in Elasticsearch
default: /usr/share/elasticsearch/plugins/
type: path
proxy_host:
description:
- Proxy host to use during plugin installation
type: str
proxy_port:
description:
- Proxy port to use during plugin installation
type: str
version:
description:
- Version of the plugin to be installed.
If plugin exists with previous version, it will NOT be updated
type: str
'''
EXAMPLES = '''
@ -241,7 +251,7 @@ def main():
module = AnsibleModule(
argument_spec=dict(
name=dict(required=True),
state=dict(default="present", choices=PACKAGE_STATE_MAP.keys()),
state=dict(default="present", choices=list(PACKAGE_STATE_MAP.keys())),
src=dict(default=None),
url=dict(default=None),
timeout=dict(default="1m"),

View file

@ -22,31 +22,38 @@ options:
description:
- Name of the plugin to install.
required: True
type: str
state:
description:
- Desired state of a plugin.
choices: ["present", "absent"]
default: present
type: str
url:
description:
- Set exact URL to download the plugin from.
- For local file, prefix its absolute path with file://
type: str
timeout:
description:
- "Timeout setting: 30s, 1m, 1h etc."
default: 1m
type: str
plugin_bin:
description:
- Location of the Kibana binary.
default: /opt/kibana/bin/kibana
type: path
plugin_dir:
description:
- Your configured plugin directory specified in Kibana.
default: /opt/kibana/installedPlugins/
type: path
version:
description:
- Version of the plugin to be installed.
- If plugin exists with previous version, plugin will NOT be updated unless C(force) is set to yes.
type: str
force:
description:
- Delete and re-install the plugin. Can be useful for plugins update.
@ -209,7 +216,7 @@ def main():
module = AnsibleModule(
argument_spec=dict(
name=dict(required=True),
state=dict(default="present", choices=PACKAGE_STATE_MAP.keys()),
state=dict(default="present", choices=list(PACKAGE_STATE_MAP.keys())),
url=dict(default=None),
timeout=dict(default="1m"),
plugin_bin=dict(default="/opt/kibana/bin/kibana", type="path"),

View file

@ -23,28 +23,37 @@ options:
description:
- The command you would like to perform against the cluster.
choices: ['ping', 'kv_test', 'join', 'plan', 'commit']
type: str
config_dir:
description:
- The path to the riak configuration directory
default: /etc/riak
type: path
http_conn:
description:
- The ip address and port that is listening for Riak HTTP queries
default: 127.0.0.1:8098
type: str
target_node:
description:
- The target node for certain operations (join, ping)
default: riak@127.0.0.1
type: str
wait_for_handoffs:
description:
- Number of seconds to wait for handoffs to complete.
type: int
default: 0
wait_for_ring:
description:
- Number of seconds to wait for all nodes to agree on the ring.
type: int
default: 0
wait_for_service:
description:
- Waits for a riak service to come online before continuing.
choices: ['kv']
type: str
validate_certs:
description:
- If C(no), SSL certificates will not be validated. This should only be used
@ -93,8 +102,8 @@ def main():
config_dir=dict(default='/etc/riak', type='path'),
http_conn=dict(required=False, default='127.0.0.1:8098'),
target_node=dict(default='riak@127.0.0.1', required=False),
wait_for_handoffs=dict(default=False, type='int'),
wait_for_ring=dict(default=False, type='int'),
wait_for_handoffs=dict(default=0, type='int'),
wait_for_ring=dict(default=0, type='int'),
wait_for_service=dict(
required=False, default=None, choices=['kv']),
validate_certs=dict(default=True, type='bool'))

View file

@ -14,11 +14,11 @@ short_description: Updates Vertica configuration parameters.
description:
- Updates Vertica configuration parameters.
options:
name:
parameter:
description:
- Name of the parameter to update.
required: true
aliases: [parameter]
aliases: [name]
type: str
value:
description:

View file

@ -21,25 +21,30 @@ options:
description:
- Name of the cluster running the schema.
default: localhost
type: str
port:
description:
Database port to connect to.
default: 5433
type: str
db:
description:
- Name of the database running the schema.
type: str
login_user:
description:
- The username used to authenticate with.
default: dbadmin
type: str
login_password:
description:
- The password used to authenticate with.
type: str
notes:
- The default authentication assumes that you are either logging in as or sudo'ing
to the C(dbadmin) account on the host.
- This module uses C(pyodbc), a Python ODBC database adapter. You must ensure
that C(unixODBC) and C(pyodbc) is installed on the host and properly configured.
that C(unixODBC) and C(pyodbc) are installed on the host and properly configured.
- Configuring C(unixODBC) for Vertica requires C(Driver = /opt/vertica/lib64/libverticaodbc.so)
to be added to the C(Vertica) section of either C(/etc/odbcinst.ini) or C($HOME/.odbcinst.ini)
and both C(ErrorMessagesPath = /opt/vertica/lib64) and C(DriverManagerEncoding = UTF-16)

View file

@ -15,37 +15,46 @@ short_description: Adds or removes Vertica database roles and assigns roles to t
description:
- Adds or removes Vertica database role and, optionally, assign other roles.
options:
name:
role:
description:
- Name of the role to add or remove.
required: true
type: str
aliases: ['name']
assigned_roles:
description:
- Comma separated list of roles to assign to the role.
aliases: ['assigned_role']
type: str
state:
description:
- Whether to create C(present), drop C(absent) or lock C(locked) a role.
choices: ['present', 'absent']
default: present
type: str
db:
description:
- Name of the Vertica database.
type: str
cluster:
description:
- Name of the Vertica cluster.
default: localhost
type: str
port:
description:
- Vertica cluster port to connect to.
default: 5433
type: str
login_user:
description:
- The username used to authenticate with.
default: dbadmin
type: str
login_password:
description:
- The password used to authenticate with.
type: str
notes:
- The default authentication assumes that you are either logging in as or sudo'ing
to the C(dbadmin) account on the host.
@ -168,11 +177,11 @@ def main():
role=dict(required=True, aliases=['name']),
assigned_roles=dict(default=None, aliases=['assigned_role']),
state=dict(default='present', choices=['absent', 'present']),
db=dict(default=None),
db=dict(),
cluster=dict(default='localhost'),
port=dict(default='5433'),
login_user=dict(default='dbadmin'),
login_password=dict(default=None, no_log=True),
login_password=dict(no_log=True),
), supports_check_mode=True)
if not pyodbc_found:

View file

@ -20,44 +20,55 @@ description:
will fail and only remove roles created for the schema if they have
no dependencies.
options:
name:
schema:
description:
- Name of the schema to add or remove.
required: true
aliases: ['name']
type: str
usage_roles:
description:
- Comma separated list of roles to create and grant usage access to the schema.
aliases: ['usage_role']
type: str
create_roles:
description:
- Comma separated list of roles to create and grant usage and create access to the schema.
aliases: ['create_role']
type: str
owner:
description:
- Name of the user to set as owner of the schema.
type: str
state:
description:
- Whether to create C(present), or drop C(absent) a schema.
default: present
choices: ['present', 'absent']
type: str
db:
description:
- Name of the Vertica database.
type: str
cluster:
description:
- Name of the Vertica cluster.
default: localhost
type: str
port:
description:
- Vertica cluster port to connect to.
default: 5433
type: str
login_user:
description:
- The username used to authenticate with.
default: dbadmin
type: str
login_password:
description:
- The password used to authenticate with.
type: str
notes:
- The default authentication assumes that you are either logging in as or sudo'ing
to the C(dbadmin) account on the host.
@ -230,15 +241,15 @@ def main():
module = AnsibleModule(
argument_spec=dict(
schema=dict(required=True, aliases=['name']),
usage_roles=dict(default=None, aliases=['usage_role']),
create_roles=dict(default=None, aliases=['create_role']),
owner=dict(default=None),
usage_roles=dict(aliases=['usage_role']),
create_roles=dict(aliases=['create_role']),
owner=dict(),
state=dict(default='present', choices=['absent', 'present']),
db=dict(default=None),
db=dict(),
cluster=dict(default='localhost'),
port=dict(default='5433'),
login_user=dict(default='dbadmin'),
login_password=dict(default=None, no_log=True),
login_password=dict(no_log=True),
), supports_check_mode=True)
if not pyodbc_found:

View file

@ -17,22 +17,27 @@ description:
- In such a situation, if the module tries to remove the user it
will fail and only remove roles granted to the user.
options:
name:
user:
description:
- Name of the user to add or remove.
required: true
type: str
aliases: ['name']
profile:
description:
- Sets the user's profile.
type: str
resource_pool:
description:
- Sets the user's resource pool.
type: str
password:
description:
- The user's password encrypted by the MD5 algorithm.
- The password must be generated with the format C("md5" + md5[password + username]),
resulting in a total of 35 characters. An easy way to do this is by querying
the Vertica database with select 'md5'||md5('<user_password><user_name>').
type: str
expired:
description:
- Sets the user's password expiration.
@ -46,29 +51,36 @@ options:
description:
- Comma separated list of roles to assign to the user.
aliases: ['role']
type: str
state:
description:
- Whether to create C(present), drop C(absent) or lock C(locked) a user.
choices: ['present', 'absent', 'locked']
default: present
type: str
db:
description:
- Name of the Vertica database.
type: str
cluster:
description:
- Name of the Vertica cluster.
default: localhost
type: str
port:
description:
- Vertica cluster port to connect to.
default: 5433
type: str
login_user:
description:
- The username used to authenticate with.
default: dbadmin
type: str
login_password:
description:
- The password used to authenticate with.
type: str
notes:
- The default authentication assumes that you are either logging in as or sudo'ing
to the C(dbadmin) account on the host.
@ -282,18 +294,18 @@ def main():
module = AnsibleModule(
argument_spec=dict(
user=dict(required=True, aliases=['name']),
profile=dict(default=None),
resource_pool=dict(default=None),
password=dict(default=None, no_log=True),
expired=dict(type='bool', default=None),
ldap=dict(type='bool', default=None),
roles=dict(default=None, aliases=['role']),
profile=dict(),
resource_pool=dict(),
password=dict(no_log=True),
expired=dict(type='bool'),
ldap=dict(type='bool'),
roles=dict(aliases=['role']),
state=dict(default='present', choices=['absent', 'present', 'locked']),
db=dict(default=None),
db=dict(),
cluster=dict(default='localhost'),
port=dict(default='5433'),
login_user=dict(default='dbadmin'),
login_password=dict(default=None, no_log=True),
login_password=dict(no_log=True),
), supports_check_mode=True)
if not pyodbc_found:

View file

@ -59,8 +59,8 @@ options:
executable:
description:
- The path to the C(7z) executable to use for extracting files from the ISO.
- If not provided, it will assume the value C(7z).
type: path
default: '7z'
notes:
- Only the file checksum (content) is taken into account when extracting files
from the ISO image. If C(force=no), only checks the presence of the file.
@ -101,7 +101,8 @@ def main():
image=dict(type='path', required=True, aliases=['path', 'src']),
dest=dict(type='path', required=True),
files=dict(type='list', elements='str', required=True),
force=dict(type='bool', default=True, aliases=['thirsty']),
force=dict(type='bool', default=True, aliases=['thirsty'],
deprecated_aliases=[dict(name='thirsty', version='3.0.0', collection_name='community.general')]),
executable=dict(type='path'), # No default on purpose
),
supports_check_mode=True,
@ -112,10 +113,6 @@ def main():
force = module.params['force']
executable = module.params['executable']
if module.params.get('thirsty'):
module.deprecate('The alias "thirsty" has been deprecated and will be removed, use "force" instead',
version='3.0.0', collection_name='community.general') # was Ansible 2.13
result = dict(
changed=False,
dest=dest,

View file

@ -22,46 +22,56 @@ options:
- The path to the bin directory of OpenDJ.
required: false
default: /opt/opendj/bin
type: path
hostname:
description:
- The hostname of the OpenDJ server.
required: true
type: str
port:
description:
- The Admin port on which the OpenDJ instance is available.
required: true
type: str
username:
description:
- The username to connect to.
required: false
default: cn=Directory Manager
type: str
password:
description:
- The password for the cn=Directory Manager user.
- Either password or passwordfile is needed.
required: false
type: str
passwordfile:
description:
- Location to the password file which holds the password for the cn=Directory Manager user.
- Either password or passwordfile is needed.
required: false
type: path
backend:
description:
- The name of the backend on which the property needs to be updated.
required: true
type: str
name:
description:
- The configuration setting to update.
required: true
type: str
value:
description:
- The value for the configuration item.
required: true
type: str
state:
description:
- If configuration needs to be added/updated
required: false
default: "present"
type: str
'''
EXAMPLES = '''

View file

@ -138,11 +138,11 @@ def main():
module = AnsibleModule(
argument_spec=dict(
name=dict(required=True),
state=dict(default="present", choices=PACKAGE_STATE_MAP.keys()),
state=dict(default="present", choices=list(PACKAGE_STATE_MAP.keys())),
plugin_bin=dict(default="/usr/share/logstash/bin/logstash-plugin", type="path"),
proxy_host=dict(default=None),
proxy_port=dict(default=None),
version=dict(default=None)
proxy_host=dict(),
proxy_port=dict(),
version=dict()
),
supports_check_mode=True
)

View file

@ -22,15 +22,18 @@ options:
- SSH or HTTP protocol address of the parent branch.
aliases: [ parent ]
required: yes
type: str
dest:
description:
- Absolute path of where the branch should be cloned to.
required: yes
type: path
version:
description:
- What version of the branch to clone. This can be the
bzr revno or revid.
default: head
type: str
force:
description:
- If C(yes), any modified files in the working
@ -42,6 +45,7 @@ options:
description:
- Path to bzr executable to use. If not supplied,
the normal mechanism for resolving binary paths will be used.
type: str
'''
EXAMPLES = '''

View file

@ -21,15 +21,18 @@ options:
- The repository address.
required: yes
aliases: [ name ]
type: str
dest:
description:
- Absolute path of where the repository should be cloned to.
This parameter is required, unless clone and update are set to no
type: path
revision:
description:
- Equivalent C(-r) option in hg command which could be the changeset, revision number,
branch name or even tag.
aliases: [ version ]
type: str
force:
description:
- Discards uncommitted changes. Runs C(hg update -C). Prior to
@ -55,6 +58,7 @@ options:
description:
- Path to hg executable to use. If not supplied,
the normal mechanism for resolving binary paths will be used.
type: str
notes:
- This module does not support push capability. See U(https://github.com/ansible/ansible/issues/31156).
- "If the task seems to be hanging, first verify remote host is in C(known_hosts).

View file

@ -29,10 +29,12 @@ options:
description:
- Name of the Storage group to manage.
required: true
type: str
lunid:
description:
- Lun id to be added.
required: true
type: int
state:
description:
- Indicates the desired lunid state.
@ -40,6 +42,7 @@ options:
- C(absent) ensures specified lunid is absent from Storage Group.
default: present
choices: [ "present", "absent"]
type: str
author:

View file

@ -23,51 +23,63 @@ options:
description:
- Name of the domain to be managed.
required: true
type: str
state:
description:
- The desired state of the domain.
default: "present"
choices: [ "present", "absent" ]
type: str
ldap_id:
description:
- ldap id to add to the domain.
required: false
type: str
size:
description:
- Size of the domain.
required: false
type: str
hard_capacity:
description:
- Hard capacity of the domain.
required: false
type: str
soft_capacity:
description:
- Soft capacity of the domain.
required: false
type: str
max_cgs:
description:
- Number of max cgs.
required: false
type: str
max_dms:
description:
- Number of max dms.
required: false
type: str
max_mirrors:
description:
- Number of max_mirrors.
required: false
type: str
max_pools:
description:
- Number of max_pools.
required: false
type: str
max_volumes:
description:
- Number of max_volumes.
required: false
type: str
perf_class:
description:
- Add the domain to a performance class.
required: false
type: str
extends_documentation_fragment:
- community.general.ibm_storage

View file

@ -22,15 +22,18 @@ options:
description:
- Host name.
required: true
type: str
state:
description:
- Host state.
default: "present"
choices: [ "present", "absent" ]
type: str
cluster:
description:
- The name of the cluster to include the host.
required: false
type: str
domain:
description:
- The domains the cluster will be attached to.
@ -38,15 +41,18 @@ options:
separate domain names with commas.
To include all existing domains, use an asterisk ("*").
required: false
type: str
iscsi_chap_name:
description:
- The host's CHAP name identifier
required: false
type: str
iscsi_chap_secret:
description:
- The password of the initiator used to
authenticate to the system when CHAP is enable
required: false
type: str
extends_documentation_fragment:
- community.general.ibm_storage

View file

@ -23,28 +23,32 @@ options:
description:
- Host name.
required: true
type: str
state:
description:
- Host ports state.
default: "present"
choices: [ "present", "absent" ]
type: str
iscsi_name:
description:
- iSCSI initiator name.
required: false
type: str
fcaddress:
description:
- Fiber channel address.
required: false
type: str
num_of_visible_targets:
description:
- Number of visible targets.
required: false
type: str
extends_documentation_fragment:
- community.general.ibm_storage
author:
- Tzur Eliyahu (@tzure)
'''

View file

@ -22,27 +22,33 @@ options:
description:
- Pool name.
required: true
type: str
state:
description:
- Pool state.
default: "present"
choices: [ "present", "absent" ]
type: str
size:
description:
- Pool size in GB
required: false
type: str
snapshot_size:
description:
- Pool snapshot size in GB
required: false
type: str
domain:
description:
- Adds the pool to the specified domain.
required: false
type: str
perf_class:
description:
- Assigns a perf_class to the pool.
required: false
type: str
extends_documentation_fragment:
- community.general.ibm_storage

View file

@ -22,19 +22,23 @@ options:
description:
- Volume name.
required: true
type: str
pool:
description:
- Volume pool.
required: false
type: str
state:
description:
- Volume state.
default: "present"
choices: [ "present", "absent" ]
type: str
size:
description:
- Volume size.
required: false
type: str
extends_documentation_fragment:
- community.general.ibm_storage

View file

@ -24,29 +24,35 @@ options:
description:
- Volume name.
required: true
type: str
state:
default: "present"
choices: [ "present", "absent" ]
description:
- When the state is present the volume is mapped.
When the state is absent, the volume is meant to be unmapped.
type: str
cluster:
description:
- Maps the volume to a cluster.
required: false
type: str
host:
description:
- Maps the volume to a host.
required: false
type: str
lun:
description:
- The LUN identifier.
required: false
type: str
override:
description:
- Overrides the existing volume mapping.
required: false
type: str
extends_documentation_fragment:
- community.general.ibm_storage

View file

@ -87,34 +87,12 @@ from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native
def _load_dist_subclass(cls, *args, **kwargs): # @FIXME remove unused function?
'''
Used for derivative implementations
'''
subclass = None
distro = kwargs['module'].params['distro']
# get the most specific superclass for this platform
if distro is not None:
for sc in cls.__subclasses__():
if sc.distro is not None and sc.distro == distro:
subclass = sc
if subclass is None:
subclass = cls
return super(cls, subclass).__new__(subclass)
class Sv(object):
"""
Main class that handles daemontools, can be subclassed and overridden in case
we want to use a 'derivative' like encore, s6, etc
"""
# def __new__(cls, *args, **kwargs):
# return _load_dist_subclass(cls, args, kwargs)
def __init__(self, module):
self.extra_paths = []
self.report_vars = ['state', 'enabled', 'svc_full', 'src_full', 'pid', 'duration', 'full_state']
@ -220,10 +198,10 @@ class Sv(object):
def execute_command(self, cmd):
try:
(rc, out, err) = self.module.run_command(' '.join(cmd))
(rc, out, err) = self.module.run_command(cmd)
except Exception as e:
self.module.fail_json(msg="failed to execute: %s" % to_native(e))
return (rc, out, err)
return rc, out, err
def report(self):
self.get_status()
@ -253,7 +231,6 @@ def main():
sv = Sv(module)
changed = False
orig_state = sv.report()
if enabled is not None and enabled != sv.enabled:
changed = True

View file

@ -199,37 +199,16 @@ plugins/modules/clustering/consul/consul_session.py validate-modules:parameter-s
plugins/modules/clustering/etcd3.py validate-modules:parameter-type-not-in-doc
plugins/modules/clustering/znode.py validate-modules:doc-missing-type
plugins/modules/clustering/znode.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/aerospike/aerospike_migrations.py yamllint:unparsable-with-libyaml
plugins/modules/database/misc/elasticsearch_plugin.py validate-modules:doc-missing-type
plugins/modules/database/misc/elasticsearch_plugin.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/database/misc/elasticsearch_plugin.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/misc/kibana_plugin.py validate-modules:doc-missing-type
plugins/modules/database/misc/kibana_plugin.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/database/misc/kibana_plugin.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/misc/riak.py validate-modules:doc-default-does-not-match-spec
plugins/modules/database/misc/riak.py validate-modules:doc-missing-type
plugins/modules/database/misc/riak.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/postgresql/postgresql_db.py use-argspec-type-path
plugins/modules/database/postgresql/postgresql_db.py validate-modules:use-run-command-not-popen
plugins/modules/database/postgresql/postgresql_privs.py validate-modules:parameter-documented-multiple-times
plugins/modules/database/postgresql/postgresql_tablespace.py validate-modules:mutually_exclusive-unknown
plugins/modules/database/postgresql/postgresql_user.py validate-modules:doc-choices-do-not-match-spec
plugins/modules/database/vertica/vertica_info.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_role.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_role.py validate-modules:undocumented-parameter
plugins/modules/database/vertica/vertica_schema.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_schema.py validate-modules:undocumented-parameter
plugins/modules/database/vertica/vertica_user.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_user.py validate-modules:undocumented-parameter
plugins/modules/files/iso_extract.py validate-modules:doc-default-does-not-match-spec
plugins/modules/identity/opendj/opendj_backendprop.py validate-modules:doc-missing-type
plugins/modules/identity/opendj/opendj_backendprop.py validate-modules:parameter-type-not-in-doc
plugins/modules/monitoring/bigpanda.py validate-modules:invalid-argument-name
plugins/modules/monitoring/datadog/datadog_event.py validate-modules:parameter-list-no-elements
plugins/modules/monitoring/datadog/datadog_monitor.py validate-modules:invalid-argument-name
plugins/modules/monitoring/datadog/datadog_monitor.py validate-modules:parameter-list-no-elements
plugins/modules/monitoring/icinga2_host.py validate-modules:undocumented-parameter
plugins/modules/monitoring/logstash_plugin.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/monitoring/sensu/sensu_check.py validate-modules:parameter-list-no-elements
plugins/modules/monitoring/sensu/sensu_client.py validate-modules:parameter-list-no-elements
plugins/modules/monitoring/sensu/sensu_handler.py validate-modules:parameter-list-no-elements
@ -405,7 +384,6 @@ plugins/modules/remote_management/stacki/stacki_host.py validate-modules:doc-def
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:no-default-for-required-parameter
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:parameter-type-not-in-doc
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:undocumented-parameter
plugins/modules/source_control/bzr.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/git_config.py validate-modules:doc-missing-type
plugins/modules/source_control/git_config.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/github/github_deploy_key.py validate-modules:doc-missing-type
@ -419,19 +397,10 @@ plugins/modules/source_control/github/github_release.py validate-modules:doc-mis
plugins/modules/source_control/github/github_release.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/github/github_webhook.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/github/github_webhook_info.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/hg.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/emc/emc_vnx_sg_member.py validate-modules:doc-missing-type
plugins/modules/storage/emc/emc_vnx_sg_member.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/glusterfs/gluster_heal_info.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/glusterfs/gluster_peer.py validate-modules:parameter-list-no-elements
plugins/modules/storage/glusterfs/gluster_volume.py validate-modules:parameter-list-no-elements
plugins/modules/storage/glusterfs/gluster_volume.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/ibm/ibm_sa_domain.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_host.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_host_ports.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_pool.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_vol.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_vol_map.py validate-modules:doc-missing-type
plugins/modules/storage/netapp/na_cdot_aggregate.py validate-modules:doc-missing-type
plugins/modules/storage/netapp/na_cdot_aggregate.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/netapp/na_cdot_license.py validate-modules:incompatible-default-type

View file

@ -187,37 +187,16 @@ plugins/modules/clustering/consul/consul_session.py validate-modules:parameter-s
plugins/modules/clustering/etcd3.py validate-modules:parameter-type-not-in-doc
plugins/modules/clustering/znode.py validate-modules:doc-missing-type
plugins/modules/clustering/znode.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/aerospike/aerospike_migrations.py yamllint:unparsable-with-libyaml
plugins/modules/database/misc/elasticsearch_plugin.py validate-modules:doc-missing-type
plugins/modules/database/misc/elasticsearch_plugin.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/database/misc/elasticsearch_plugin.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/misc/kibana_plugin.py validate-modules:doc-missing-type
plugins/modules/database/misc/kibana_plugin.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/database/misc/kibana_plugin.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/misc/riak.py validate-modules:doc-default-does-not-match-spec
plugins/modules/database/misc/riak.py validate-modules:doc-missing-type
plugins/modules/database/misc/riak.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/postgresql/postgresql_db.py use-argspec-type-path
plugins/modules/database/postgresql/postgresql_db.py validate-modules:use-run-command-not-popen
plugins/modules/database/postgresql/postgresql_privs.py validate-modules:parameter-documented-multiple-times
plugins/modules/database/postgresql/postgresql_tablespace.py validate-modules:mutually_exclusive-unknown
plugins/modules/database/postgresql/postgresql_user.py validate-modules:doc-choices-do-not-match-spec
plugins/modules/database/vertica/vertica_info.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_role.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_role.py validate-modules:undocumented-parameter
plugins/modules/database/vertica/vertica_schema.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_schema.py validate-modules:undocumented-parameter
plugins/modules/database/vertica/vertica_user.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_user.py validate-modules:undocumented-parameter
plugins/modules/files/iso_extract.py validate-modules:doc-default-does-not-match-spec
plugins/modules/identity/opendj/opendj_backendprop.py validate-modules:doc-missing-type
plugins/modules/identity/opendj/opendj_backendprop.py validate-modules:parameter-type-not-in-doc
plugins/modules/monitoring/bigpanda.py validate-modules:invalid-argument-name
plugins/modules/monitoring/datadog/datadog_event.py validate-modules:parameter-list-no-elements
plugins/modules/monitoring/datadog/datadog_monitor.py validate-modules:invalid-argument-name
plugins/modules/monitoring/datadog/datadog_monitor.py validate-modules:parameter-list-no-elements
plugins/modules/monitoring/icinga2_host.py validate-modules:undocumented-parameter
plugins/modules/monitoring/logstash_plugin.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/monitoring/sensu/sensu_check.py validate-modules:parameter-list-no-elements
plugins/modules/monitoring/sensu/sensu_client.py validate-modules:parameter-list-no-elements
plugins/modules/monitoring/sensu/sensu_handler.py validate-modules:parameter-list-no-elements
@ -393,7 +372,6 @@ plugins/modules/remote_management/stacki/stacki_host.py validate-modules:doc-def
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:no-default-for-required-parameter
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:parameter-type-not-in-doc
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:undocumented-parameter
plugins/modules/source_control/bzr.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/git_config.py validate-modules:doc-missing-type
plugins/modules/source_control/git_config.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/github/github_deploy_key.py validate-modules:doc-missing-type
@ -407,19 +385,10 @@ plugins/modules/source_control/github/github_release.py validate-modules:doc-mis
plugins/modules/source_control/github/github_release.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/github/github_webhook.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/github/github_webhook_info.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/hg.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/emc/emc_vnx_sg_member.py validate-modules:doc-missing-type
plugins/modules/storage/emc/emc_vnx_sg_member.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/glusterfs/gluster_heal_info.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/glusterfs/gluster_peer.py validate-modules:parameter-list-no-elements
plugins/modules/storage/glusterfs/gluster_volume.py validate-modules:parameter-list-no-elements
plugins/modules/storage/glusterfs/gluster_volume.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/ibm/ibm_sa_domain.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_host.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_host_ports.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_pool.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_vol.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_vol_map.py validate-modules:doc-missing-type
plugins/modules/storage/netapp/na_cdot_aggregate.py validate-modules:doc-missing-type
plugins/modules/storage/netapp/na_cdot_aggregate.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/netapp/na_cdot_license.py validate-modules:incompatible-default-type

View file

@ -203,13 +203,6 @@ plugins/modules/clustering/consul/consul_kv.py validate-modules:parameter-type-n
plugins/modules/clustering/etcd3.py validate-modules:parameter-type-not-in-doc
plugins/modules/clustering/znode.py validate-modules:doc-missing-type
plugins/modules/clustering/znode.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/misc/elasticsearch_plugin.py validate-modules:doc-missing-type
plugins/modules/database/misc/elasticsearch_plugin.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/misc/kibana_plugin.py validate-modules:doc-missing-type
plugins/modules/database/misc/kibana_plugin.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/misc/riak.py validate-modules:doc-default-does-not-match-spec
plugins/modules/database/misc/riak.py validate-modules:doc-missing-type
plugins/modules/database/misc/riak.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/postgresql/postgresql_db.py use-argspec-type-path
plugins/modules/database/postgresql/postgresql_db.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/postgresql/postgresql_db.py validate-modules:use-run-command-not-popen
@ -217,17 +210,6 @@ plugins/modules/database/postgresql/postgresql_ext.py validate-modules:parameter
plugins/modules/database/postgresql/postgresql_schema.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/postgresql/postgresql_user.py validate-modules:doc-choices-do-not-match-spec
plugins/modules/database/postgresql/postgresql_user.py validate-modules:parameter-type-not-in-doc
plugins/modules/database/vertica/vertica_configuration.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_info.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_role.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_role.py validate-modules:undocumented-parameter
plugins/modules/database/vertica/vertica_schema.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_schema.py validate-modules:undocumented-parameter
plugins/modules/database/vertica/vertica_user.py validate-modules:doc-missing-type
plugins/modules/database/vertica/vertica_user.py validate-modules:undocumented-parameter
plugins/modules/files/iso_extract.py validate-modules:doc-default-does-not-match-spec
plugins/modules/identity/opendj/opendj_backendprop.py validate-modules:doc-missing-type
plugins/modules/identity/opendj/opendj_backendprop.py validate-modules:parameter-type-not-in-doc
plugins/modules/monitoring/icinga2_host.py validate-modules:undocumented-parameter
plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:deprecation-mismatch
plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:invalid-documentation
@ -369,7 +351,6 @@ plugins/modules/remote_management/stacki/stacki_host.py validate-modules:doc-def
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:no-default-for-required-parameter
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:parameter-type-not-in-doc
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:undocumented-parameter
plugins/modules/source_control/bzr.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/git_config.py validate-modules:doc-missing-type
plugins/modules/source_control/git_config.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/github/github_deploy_key.py validate-modules:doc-missing-type
@ -385,17 +366,8 @@ plugins/modules/source_control/github/github_release.py validate-modules:doc-mis
plugins/modules/source_control/github/github_release.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/github/github_webhook.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/github/github_webhook_info.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/hg.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/emc/emc_vnx_sg_member.py validate-modules:doc-missing-type
plugins/modules/storage/emc/emc_vnx_sg_member.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/glusterfs/gluster_heal_info.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/glusterfs/gluster_volume.py validate-modules:parameter-type-not-in-doc
plugins/modules/storage/ibm/ibm_sa_domain.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_host.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_host_ports.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_pool.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_vol.py validate-modules:doc-missing-type
plugins/modules/storage/ibm/ibm_sa_vol_map.py validate-modules:doc-missing-type
plugins/modules/storage/netapp/na_cdot_aggregate.py validate-modules:deprecation-mismatch
plugins/modules/storage/netapp/na_cdot_aggregate.py validate-modules:invalid-documentation
plugins/modules/storage/netapp/na_cdot_aggregate.py validate-modules:missing-main-call