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 validate-modules:no-default-for-required-parameter and other cases (#1423) (#1429)

* Fixed validate-modules:mutually_exclusive-unknown for plugins/modules/packaging/os/redhat_subscription.py

* fixed validation-modules for plugins/modules/cloud/lxd/lxd_container.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_network_interface_address.py

* fixed validation-modules for plugins/modules/cloud/opennebula/one_host.py

* fixed validation-modules for plugins/modules/cloud/opennebula/one_image_info.py

* fixed validation-modules for plugins/modules/cloud/opennebula/one_image.py

* fixed validation-modules for plugins/modules/cloud/opennebula/one_service.py

* fixed validation-modules for plugins/modules/cloud/opennebula/one_vm.py

* fixed validation-modules for plugins/modules/net_tools/cloudflare_dns.py

* fixed validation-modules for plugins/modules/net_tools/ip_netns.py

* fixed validation-modules for plugins/modules/net_tools/ipinfoio_facts.py

* fixed validation-modules for plugins/modules/net_tools/netcup_dns.py

* fixed validation-modules for plugins/modules/remote_management/wakeonlan.py

* added types to plugins/modules/remote_management/stacki/stacki_host.py but still cannot remove ignore line

* added a couple of FIXME comments

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_provider.py

* fixed validation-modules for plugins/modules/notification/rocketchat.py

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

* fixed validation-modules for plugins/modules/identity/keycloak/keycloak_client.py

* fixed validation-modules for plugins/modules/identity/keycloak/keycloak_clienttemplate.py

* fixed validation-modules for plugins/modules/cloud/univention/udm_user.py

* fixed validation-modules for plugins/modules/cloud/univention/udm_group.py

* fixed validation-modules for plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py

* fixed validation-modules for plugins/modules/cloud/smartos/imgadm.py

* fixed validation-modules for plugins/modules/cloud/profitbricks/profitbricks_nic.py

* fixed validation-modules for plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py

* Tidy up validate-modules ignores no-default-for-required-parameter + couple of other cases

* Added changelog frag

* fixed validation-modules for plugins/modules/cloud/centurylink/clc_alert_policy.py

* fixed validation-modules for plugins/modules/cloud/centurylink/clc_firewall_policy.py

* fixed validation-modules for plugins/modules/cloud/lxd/lxd_profile.py

* Typos and small fixes

* fixed validation-modules for plugins/modules/net_tools/ldap/ldap_passwd.py

* Typos and small fixes, part 2

* Fixes from PR comments

* Update plugins/modules/cloud/profitbricks/profitbricks_nic.py

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

* Rolled back the mutually-exclusive-unknown in redhat_subscription

* Update changelogs/fragments/1423-valmod_multiple_cases.yml

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

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

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
This commit is contained in:
Felix Fontein 2020-12-01 22:13:54 +01:00 committed by GitHub
parent 32ac93fb16
commit 6470d3defe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 411 additions and 279 deletions

View file

@ -0,0 +1,6 @@
bugfixes:
- utm_network_interface_address - changed param type from invalid 'boolean' to valid 'bool' (https://github.com/ansible-collections/community.general/pull/1423).
- bigpanda - removed the dynamic default for ``host`` param (https://github.com/ansible-collections/community.general/pull/1423).
- udm_user - removed the dynamic default for ``userexpiry`` param (https://github.com/ansible-collections/community.general/pull/1423).
- profitbricks_nic - removed the dynamic default for ``name`` param (https://github.com/ansible-collections/community.general/pull/1423).
- profitbricks_nic - replaced code with ``required`` and ``required_if`` (https://github.com/ansible-collections/community.general/pull/1423).

View file

@ -217,18 +217,18 @@ class ClcAlertPolicy:
:return: argument spec dictionary :return: argument spec dictionary
""" """
argument_spec = dict( argument_spec = dict(
name=dict(default=None), # @FIXME default=None is redundant - remove all name=dict(),
id=dict(default=None), id=dict(),
alias=dict(required=True, default=None), alias=dict(required=True),
alert_recipients=dict(type='list', default=None), alert_recipients=dict(type='list'),
metric=dict( metric=dict(
choices=[ choices=[
'cpu', 'cpu',
'memory', 'memory',
'disk'], 'disk'],
default=None), default=None),
duration=dict(type='str', default=None), duration=dict(type='str'),
threshold=dict(type='int', default=None), threshold=dict(type='int'),
state=dict(default='present', choices=['present', 'absent']) state=dict(default='present', choices=['present', 'absent'])
) )
mutually_exclusive = [ mutually_exclusive = [

View file

@ -214,12 +214,12 @@ class ClcFirewallPolicy:
""" """
argument_spec = dict( argument_spec = dict(
location=dict(required=True), location=dict(required=True),
source_account_alias=dict(required=True, default=None), # @FIXME remove default=None source_account_alias=dict(required=True),
destination_account_alias=dict(default=None), destination_account_alias=dict(),
firewall_policy_id=dict(default=None), firewall_policy_id=dict(),
ports=dict(default=None, type='list'), ports=dict(type='list'),
source=dict(default=None, type='list'), source=dict(type='list'),
destination=dict(default=None, type='list'), destination=dict(type='list'),
wait=dict(default=True), # @FIXME type=bool wait=dict(default=True), # @FIXME type=bool
state=dict(default='present', choices=['present', 'absent']), state=dict(default='present', choices=['present', 'absent']),
enabled=dict(default=True, choices=[True, False]) enabled=dict(default=True, choices=[True, False])

View file

@ -19,11 +19,13 @@ options:
name: name:
description: description:
- Name of a container. - Name of a container.
type: str
required: true required: true
architecture: architecture:
description: description:
- The architecture for the container (e.g. "x86_64" or "i686"). - The architecture for the container (e.g. "x86_64" or "i686").
See U(https://github.com/lxc/lxd/blob/master/doc/rest-api.md#post-1) See U(https://github.com/lxc/lxd/blob/master/doc/rest-api.md#post-1)
type: str
required: false required: false
config: config:
description: description:
@ -37,12 +39,18 @@ options:
- The key starts with 'volatile.' are ignored for this comparison. - The key starts with 'volatile.' are ignored for this comparison.
- Not all config values are supported to apply the existing container. - Not all config values are supported to apply the existing container.
Maybe you need to delete and recreate a container. Maybe you need to delete and recreate a container.
type: dict
required: false required: false
profiles:
description:
- Profile to be used by the container
type: list
devices: devices:
description: description:
- 'The devices for the container - 'The devices for the container
(e.g. { "rootfs": { "path": "/dev/kvm", "type": "unix-char" }). (e.g. { "rootfs": { "path": "/dev/kvm", "type": "unix-char" }).
See U(https://github.com/lxc/lxd/blob/master/doc/rest-api.md#post-1)' See U(https://github.com/lxc/lxd/blob/master/doc/rest-api.md#post-1)'
type: dict
required: false required: false
ephemeral: ephemeral:
description: description:
@ -61,6 +69,7 @@ options:
- 'See U(https://github.com/lxc/lxd/blob/master/doc/rest-api.md#post-1) for complete API documentation.' - 'See U(https://github.com/lxc/lxd/blob/master/doc/rest-api.md#post-1) for complete API documentation.'
- 'Note that C(protocol) accepts two choices: C(lxd) or C(simplestreams)' - 'Note that C(protocol) accepts two choices: C(lxd) or C(simplestreams)'
required: false required: false
type: dict
state: state:
choices: choices:
- started - started
@ -72,6 +81,7 @@ options:
- Define the state of a container. - Define the state of a container.
required: false required: false
default: started default: started
type: str
target: target:
description: description:
- For cluster deployments. Will attempt to create a container on a target node. - For cluster deployments. Will attempt to create a container on a target node.
@ -88,6 +98,7 @@ options:
starting or restarting. starting or restarting.
required: false required: false
default: 30 default: 30
type: int
wait_for_ipv4_addresses: wait_for_ipv4_addresses:
description: description:
- If this is true, the C(lxd_container) waits until IPv4 addresses - If this is true, the C(lxd_container) waits until IPv4 addresses
@ -108,23 +119,27 @@ options:
- The unix domain socket path or the https URL for the LXD server. - The unix domain socket path or the https URL for the LXD server.
required: false required: false
default: unix:/var/lib/lxd/unix.socket default: unix:/var/lib/lxd/unix.socket
type: str
snap_url: snap_url:
description: description:
- The unix domain socket path when LXD is installed by snap package manager. - The unix domain socket path when LXD is installed by snap package manager.
required: false required: false
default: unix:/var/snap/lxd/common/lxd/unix.socket default: unix:/var/snap/lxd/common/lxd/unix.socket
type: str
client_key: client_key:
description: description:
- The client certificate key file path. - The client certificate key file path.
- If not specified, it defaults to C(${HOME}/.config/lxc/client.key).
required: false required: false
default: '"{}/.config/lxc/client.key" .format(os.environ["HOME"])'
aliases: [ key_file ] aliases: [ key_file ]
type: str
client_cert: client_cert:
description: description:
- The client certificate file path. - The client certificate file path.
- If not specified, it defaults to C(${HOME}/.config/lxc/client.crt).
required: false required: false
default: '"{}/.config/lxc/client.crt" .format(os.environ["HOME"])'
aliases: [ cert_file ] aliases: [ cert_file ]
type: str
trust_password: trust_password:
description: description:
- The client trusted password. - The client trusted password.
@ -135,6 +150,7 @@ options:
- If trust_password is set, this module send a request for - If trust_password is set, this module send a request for
authentication before sending any requests. authentication before sending any requests.
required: false required: false
type: str
notes: notes:
- Containers must have a unique name. If you attempt to create a container - Containers must have a unique name. If you attempt to create a container
with a name that already existed in the users namespace the module will with a name that already existed in the users namespace the module will
@ -356,8 +372,12 @@ class LXDContainerManagement(object):
self.addresses = None self.addresses = None
self.target = self.module.params['target'] self.target = self.module.params['target']
self.key_file = self.module.params.get('client_key', None) self.key_file = self.module.params.get('client_key')
self.cert_file = self.module.params.get('client_cert', None) if self.key_file is None:
self.key_file = '{0}/.config/lxc/client.key'.format(os.environ['HOME'])
self.cert_file = self.module.params.get('client_cert')
if self.cert_file is None:
self.cert_file = '{0}/.config/lxc/client.crt'.format(os.environ['HOME'])
self.debug = self.module._verbosity >= 4 self.debug = self.module._verbosity >= 4
try: try:
@ -671,12 +691,10 @@ def main():
), ),
client_key=dict( client_key=dict(
type='str', type='str',
default='{0}/.config/lxc/client.key'.format(os.environ['HOME']),
aliases=['key_file'] aliases=['key_file']
), ),
client_cert=dict( client_cert=dict(
type='str', type='str',
default='{0}/.config/lxc/client.crt'.format(os.environ['HOME']),
aliases=['cert_file'] aliases=['cert_file']
), ),
trust_password=dict(type='str', no_log=True) trust_password=dict(type='str', no_log=True)

View file

@ -20,9 +20,11 @@ options:
description: description:
- Name of a profile. - Name of a profile.
required: true required: true
type: str
description: description:
description: description:
- Description of the profile. - Description of the profile.
type: str
config: config:
description: description:
- 'The config for the container (e.g. {"limits.memory": "4GB"}). - 'The config for the container (e.g. {"limits.memory": "4GB"}).
@ -35,18 +37,21 @@ options:
- Not all config values are supported to apply the existing profile. - Not all config values are supported to apply the existing profile.
Maybe you need to delete and recreate a profile. Maybe you need to delete and recreate a profile.
required: false required: false
type: dict
devices: devices:
description: description:
- 'The devices for the profile - 'The devices for the profile
(e.g. {"rootfs": {"path": "/dev/kvm", "type": "unix-char"}). (e.g. {"rootfs": {"path": "/dev/kvm", "type": "unix-char"}).
See U(https://github.com/lxc/lxd/blob/master/doc/rest-api.md#patch-3)' See U(https://github.com/lxc/lxd/blob/master/doc/rest-api.md#patch-3)'
required: false required: false
type: dict
new_name: new_name:
description: description:
- A new name of a profile. - A new name of a profile.
- If this parameter is specified a profile will be renamed to this name. - If this parameter is specified a profile will be renamed to this name.
See U(https://github.com/lxc/lxd/blob/master/doc/rest-api.md#post-11) See U(https://github.com/lxc/lxd/blob/master/doc/rest-api.md#post-11)
required: false required: false
type: str
state: state:
choices: choices:
- present - present
@ -55,28 +60,33 @@ options:
- Define the state of a profile. - Define the state of a profile.
required: false required: false
default: present default: present
type: str
url: url:
description: description:
- The unix domain socket path or the https URL for the LXD server. - The unix domain socket path or the https URL for the LXD server.
required: false required: false
default: unix:/var/lib/lxd/unix.socket default: unix:/var/lib/lxd/unix.socket
type: str
snap_url: snap_url:
description: description:
- The unix domain socket path when LXD is installed by snap package manager. - The unix domain socket path when LXD is installed by snap package manager.
required: false required: false
default: unix:/var/snap/lxd/common/lxd/unix.socket default: unix:/var/snap/lxd/common/lxd/unix.socket
type: str
client_key: client_key:
description: description:
- The client certificate key file path. - The client certificate key file path.
- If not specified, it defaults to C($HOME/.config/lxc/client.key).
required: false required: false
default: '"{}/.config/lxc/client.key" .format(os.environ["HOME"])'
aliases: [ key_file ] aliases: [ key_file ]
type: str
client_cert: client_cert:
description: description:
- The client certificate file path. - The client certificate file path.
- If not specified, it defaults to C($HOME/.config/lxc/client.crt).
required: false required: false
default: '"{}/.config/lxc/client.crt" .format(os.environ["HOME"])'
aliases: [ cert_file ] aliases: [ cert_file ]
type: str
trust_password: trust_password:
description: description:
- The client trusted password. - The client trusted password.
@ -87,6 +97,7 @@ options:
- If trust_password is set, this module send a request for - If trust_password is set, this module send a request for
authentication before sending any requests. authentication before sending any requests.
required: false required: false
type: str
notes: notes:
- Profiles must have a unique name. If you attempt to create a profile - Profiles must have a unique name. If you attempt to create a profile
with a name that already existed in the users namespace the module will with a name that already existed in the users namespace the module will
@ -201,8 +212,12 @@ class LXDProfileManagement(object):
self.state = self.module.params['state'] self.state = self.module.params['state']
self.new_name = self.module.params.get('new_name', None) self.new_name = self.module.params.get('new_name', None)
self.key_file = self.module.params.get('client_key', None) self.key_file = self.module.params.get('client_key')
self.cert_file = self.module.params.get('client_cert', None) if self.key_file is None:
self.key_file = '{0}/.config/lxc/client.key'.format(os.environ['HOME'])
self.cert_file = self.module.params.get('client_cert')
if self.cert_file is None:
self.cert_file = '{0}/.config/lxc/client.crt'.format(os.environ['HOME'])
self.debug = self.module._verbosity >= 4 self.debug = self.module._verbosity >= 4
try: try:
@ -370,12 +385,10 @@ def main():
), ),
client_key=dict( client_key=dict(
type='str', type='str',
default='{0}/.config/lxc/client.key'.format(os.environ['HOME']),
aliases=['key_file'] aliases=['key_file']
), ),
client_cert=dict( client_cert=dict(
type='str', type='str',
default='{0}/.config/lxc/client.crt'.format(os.environ['HOME']),
aliases=['cert_file'] aliases=['cert_file']
), ),
trust_password=dict(type='str', no_log=True) trust_password=dict(type='str', no_log=True)

View file

@ -26,6 +26,7 @@ options:
description: description:
- Hostname of the machine to manage. - Hostname of the machine to manage.
required: true required: true
type: str
state: state:
description: description:
- Takes the host to the desired lifecycle state. - Takes the host to the desired lifecycle state.
@ -41,29 +42,36 @@ options:
- disabled - disabled
- offline - offline
default: present default: present
type: str
im_mad_name: im_mad_name:
description: description:
- The name of the information manager, this values are taken from the oned.conf with the tag name IM_MAD (name) - The name of the information manager, this values are taken from the oned.conf with the tag name IM_MAD (name)
default: kvm default: kvm
type: str
vmm_mad_name: vmm_mad_name:
description: description:
- The name of the virtual machine manager mad name, this values are taken from the oned.conf with the tag name VM_MAD (name) - The name of the virtual machine manager mad name, this values are taken from the oned.conf with the tag name VM_MAD (name)
default: kvm default: kvm
type: str
cluster_id: cluster_id:
description: description:
- The cluster ID. - The cluster ID.
default: 0 default: 0
type: int
cluster_name: cluster_name:
description: description:
- The cluster specified by name. - The cluster specified by name.
type: str
labels: labels:
description: description:
- The labels for this host. - The labels for this host.
type: list
template: template:
description: description:
- The template or attribute changes to merge into the host template. - The template or attribute changes to merge into the host template.
aliases: aliases:
- attributes - attributes
type: dict
extends_documentation_fragment: extends_documentation_fragment:
- community.general.opennebula - community.general.opennebula

View file

@ -39,20 +39,25 @@ options:
- It is recommended to use HTTPS so that the username/password are not - It is recommended to use HTTPS so that the username/password are not
- transferred over the network unencrypted. - transferred over the network unencrypted.
- If not set then the value of the C(ONE_URL) environment variable is used. - If not set then the value of the C(ONE_URL) environment variable is used.
type: str
api_username: api_username:
description: description:
- Name of the user to login into the OpenNebula RPC server. If not set - Name of the user to login into the OpenNebula RPC server. If not set
- then the value of the C(ONE_USERNAME) environment variable is used. - then the value of the C(ONE_USERNAME) environment variable is used.
type: str
api_password: api_password:
description: description:
- Password of the user to login into OpenNebula RPC server. If not set - Password of the user to login into OpenNebula RPC server. If not set
- then the value of the C(ONE_PASSWORD) environment variable is used. - then the value of the C(ONE_PASSWORD) environment variable is used.
type: str
id: id:
description: description:
- A C(id) of the image you would like to manage. - A C(id) of the image you would like to manage.
type: int
name: name:
description: description:
- A C(name) of the image you would like to manage. - A C(name) of the image you would like to manage.
type: str
state: state:
description: description:
- C(present) - state that is used to manage the image - C(present) - state that is used to manage the image
@ -61,6 +66,7 @@ options:
- C(renamed) - rename the image to the C(new_name) - C(renamed) - rename the image to the C(new_name)
choices: ["present", "absent", "cloned", "renamed"] choices: ["present", "absent", "cloned", "renamed"]
default: present default: present
type: str
enabled: enabled:
description: description:
- Whether the image should be enabled or disabled. - Whether the image should be enabled or disabled.
@ -69,6 +75,7 @@ options:
description: description:
- A name that will be assigned to the existing or new image. - A name that will be assigned to the existing or new image.
- In the case of cloning, by default C(new_name) will take the name of the origin image with the prefix 'Copy of'. - In the case of cloning, by default C(new_name) will take the name of the origin image with the prefix 'Copy of'.
type: str
author: author:
- "Milan Ilic (@ilicmilan)" - "Milan Ilic (@ilicmilan)"
''' '''

View file

@ -40,18 +40,22 @@ options:
- It is recommended to use HTTPS so that the username/password are not - It is recommended to use HTTPS so that the username/password are not
- transferred over the network unencrypted. - transferred over the network unencrypted.
- If not set then the value of the C(ONE_URL) environment variable is used. - If not set then the value of the C(ONE_URL) environment variable is used.
type: str
api_username: api_username:
description: description:
- Name of the user to login into the OpenNebula RPC server. If not set - Name of the user to login into the OpenNebula RPC server. If not set
- then the value of the C(ONE_USERNAME) environment variable is used. - then the value of the C(ONE_USERNAME) environment variable is used.
type: str
api_password: api_password:
description: description:
- Password of the user to login into OpenNebula RPC server. If not set - Password of the user to login into OpenNebula RPC server. If not set
- then the value of the C(ONE_PASSWORD) environment variable is used. - then the value of the C(ONE_PASSWORD) environment variable is used.
type: str
ids: ids:
description: description:
- A list of images ids whose facts you want to gather. - A list of images ids whose facts you want to gather.
aliases: ['id'] aliases: ['id']
type: list
name: name:
description: description:
- A C(name) of the image whose facts will be gathered. - A C(name) of the image whose facts will be gathered.
@ -59,6 +63,7 @@ options:
- which restricts the list of images (whose facts will be returned) whose names match specified regex. - which restricts the list of images (whose facts will be returned) whose names match specified regex.
- Also, if the C(name) begins with '~*' case-insensitive matching will be performed. - Also, if the C(name) begins with '~*' case-insensitive matching will be performed.
- See examples for more details. - See examples for more details.
type: str
author: author:
- "Milan Ilic (@ilicmilan)" - "Milan Ilic (@ilicmilan)"
- "Jan Meerkamp (@meerkampdvv)" - "Jan Meerkamp (@meerkampdvv)"

View file

@ -36,24 +36,31 @@ options:
- URL of the OpenNebula OneFlow API server. - URL of the OpenNebula OneFlow API server.
- It is recommended to use HTTPS so that the username/password are not transferred over the network unencrypted. - It is recommended to use HTTPS so that the username/password are not transferred over the network unencrypted.
- If not set then the value of the ONEFLOW_URL environment variable is used. - If not set then the value of the ONEFLOW_URL environment variable is used.
type: str
api_username: api_username:
description: description:
- Name of the user to login into the OpenNebula OneFlow API server. If not set then the value of the C(ONEFLOW_USERNAME) environment variable is used. - Name of the user to login into the OpenNebula OneFlow API server. If not set then the value of the C(ONEFLOW_USERNAME) environment variable is used.
type: str
api_password: api_password:
description: description:
- Password of the user to login into OpenNebula OneFlow API server. If not set then the value of the C(ONEFLOW_PASSWORD) environment variable is used. - Password of the user to login into OpenNebula OneFlow API server. If not set then the value of the C(ONEFLOW_PASSWORD) environment variable is used.
type: str
template_name: template_name:
description: description:
- Name of service template to use to create a new instance of a service - Name of service template to use to create a new instance of a service
type: str
template_id: template_id:
description: description:
- ID of a service template to use to create a new instance of a service - ID of a service template to use to create a new instance of a service
type: int
service_id: service_id:
description: description:
- ID of a service instance that you would like to manage - ID of a service instance that you would like to manage
type: int
service_name: service_name:
description: description:
- Name of a service instance that you would like to manage - Name of a service instance that you would like to manage
type: str
unique: unique:
description: description:
- Setting C(unique=yes) will make sure that there is only one service instance running with a name set with C(service_name) when - Setting C(unique=yes) will make sure that there is only one service instance running with a name set with C(service_name) when
@ -66,15 +73,19 @@ options:
- C(absent) - terminate an instance of a service specified with C(service_id)/C(service_name). - C(absent) - terminate an instance of a service specified with C(service_id)/C(service_name).
choices: ["present", "absent"] choices: ["present", "absent"]
default: present default: present
type: str
mode: mode:
description: description:
- Set permission mode of a service instance in octet format, e.g. C(600) to give owner C(use) and C(manage) and nothing to group and others. - Set permission mode of a service instance in octet format, e.g. C(600) to give owner C(use) and C(manage) and nothing to group and others.
type: str
owner_id: owner_id:
description: description:
- ID of the user which will be set as the owner of the service - ID of the user which will be set as the owner of the service
type: int
group_id: group_id:
description: description:
- ID of the group which will be set as the group of the service - ID of the group which will be set as the group of the service
type: int
wait: wait:
description: description:
- Wait for the instance to reach RUNNING state after DEPLOYING or COOLDOWN state after SCALING - Wait for the instance to reach RUNNING state after DEPLOYING or COOLDOWN state after SCALING
@ -84,16 +95,20 @@ options:
description: description:
- How long before wait gives up, in seconds - How long before wait gives up, in seconds
default: 300 default: 300
type: int
custom_attrs: custom_attrs:
description: description:
- Dictionary of key/value custom attributes which will be used when instantiating a new service. - Dictionary of key/value custom attributes which will be used when instantiating a new service.
default: {} default: {}
type: dict
role: role:
description: description:
- Name of the role whose cardinality should be changed - Name of the role whose cardinality should be changed
type: str
cardinality: cardinality:
description: description:
- Number of VMs for the specified role - Number of VMs for the specified role
type: int
force: force:
description: description:
- Force the new cardinality even if it is outside the limits - Force the new cardinality even if it is outside the limits

View file

@ -40,10 +40,12 @@ options:
- It is recommended to use HTTPS so that the username/password are not - It is recommended to use HTTPS so that the username/password are not
- transferred over the network unencrypted. - transferred over the network unencrypted.
- If not set then the value of the C(ONE_URL) environment variable is used. - If not set then the value of the C(ONE_URL) environment variable is used.
type: str
api_username: api_username:
description: description:
- Name of the user to login into the OpenNebula RPC server. If not set - Name of the user to login into the OpenNebula RPC server. If not set
- then the value of the C(ONE_USERNAME) environment variable is used. - then the value of the C(ONE_USERNAME) environment variable is used.
type: str
api_password: api_password:
description: description:
- Password of the user to login into OpenNebula RPC server. If not set - Password of the user to login into OpenNebula RPC server. If not set
@ -51,20 +53,25 @@ options:
- if both I(api_username) or I(api_password) are not set, then it will try - if both I(api_username) or I(api_password) are not set, then it will try
- authenticate with ONE auth file. Default path is "~/.one/one_auth". - authenticate with ONE auth file. Default path is "~/.one/one_auth".
- Set environment variable C(ONE_AUTH) to override this path. - Set environment variable C(ONE_AUTH) to override this path.
type: str
template_name: template_name:
description: description:
- Name of VM template to use to create a new instace - Name of VM template to use to create a new instace
type: str
template_id: template_id:
description: description:
- ID of a VM template to use to create a new instance - ID of a VM template to use to create a new instance
type: int
vm_start_on_hold: vm_start_on_hold:
description: description:
- Set to true to put vm on hold while creating - Set to true to put vm on hold while creating
default: False default: False
type: bool
instance_ids: instance_ids:
description: description:
- A list of instance ids used for states':' C(absent), C(running), C(rebooted), C(poweredoff) - A list of instance ids used for states':' C(absent), C(running), C(rebooted), C(poweredoff)
aliases: ['ids'] aliases: ['ids']
type: list
state: state:
description: description:
- C(present) - create instances from a template specified with C(template_id)/C(template_name). - C(present) - create instances from a template specified with C(template_id)/C(template_name).
@ -74,6 +81,7 @@ options:
- C(absent) - terminate instances - C(absent) - terminate instances
choices: ["present", "absent", "running", "rebooted", "poweredoff"] choices: ["present", "absent", "running", "rebooted", "poweredoff"]
default: present default: present
type: str
hard: hard:
description: description:
- Reboot, power-off or terminate instances C(hard) - Reboot, power-off or terminate instances C(hard)
@ -92,6 +100,7 @@ options:
description: description:
- How long before wait gives up, in seconds - How long before wait gives up, in seconds
default: 300 default: 300
type: int
attributes: attributes:
description: description:
- A dictionary of key/value attributes to add to new instances, or for - A dictionary of key/value attributes to add to new instances, or for
@ -104,61 +113,75 @@ options:
- When used with C(count_attributes) and C(exact_count) the module will - When used with C(count_attributes) and C(exact_count) the module will
- match the base name without the index part. - match the base name without the index part.
default: {} default: {}
type: dict
labels: labels:
description: description:
- A list of labels to associate with new instances, or for setting - A list of labels to associate with new instances, or for setting
- C(state) of instances with these labels. - C(state) of instances with these labels.
default: [] default: []
type: list
count_attributes: count_attributes:
description: description:
- A dictionary of key/value attributes that can only be used with - A dictionary of key/value attributes that can only be used with
- C(exact_count) to determine how many nodes based on a specific - C(exact_count) to determine how many nodes based on a specific
- attributes criteria should be deployed. This can be expressed in - attributes criteria should be deployed. This can be expressed in
- multiple ways and is shown in the EXAMPLES section. - multiple ways and is shown in the EXAMPLES section.
type: dict
count_labels: count_labels:
description: description:
- A list of labels that can only be used with C(exact_count) to determine - A list of labels that can only be used with C(exact_count) to determine
- how many nodes based on a specific labels criteria should be deployed. - how many nodes based on a specific labels criteria should be deployed.
- This can be expressed in multiple ways and is shown in the EXAMPLES - This can be expressed in multiple ways and is shown in the EXAMPLES
- section. - section.
type: list
count: count:
description: description:
- Number of instances to launch - Number of instances to launch
default: 1 default: 1
type: int
exact_count: exact_count:
description: description:
- Indicates how many instances that match C(count_attributes) and - Indicates how many instances that match C(count_attributes) and
- C(count_labels) parameters should be deployed. Instances are either - C(count_labels) parameters should be deployed. Instances are either
- created or terminated based on this value. - created or terminated based on this value.
- NOTE':' Instances with the least IDs will be terminated first. - NOTE':' Instances with the least IDs will be terminated first.
type: int
mode: mode:
description: description:
- Set permission mode of the instance in octet format, e.g. C(600) to give owner C(use) and C(manage) and nothing to group and others. - Set permission mode of the instance in octet format, e.g. C(600) to give owner C(use) and C(manage) and nothing to group and others.
type: str
owner_id: owner_id:
description: description:
- ID of the user which will be set as the owner of the instance - ID of the user which will be set as the owner of the instance
type: int
group_id: group_id:
description: description:
- ID of the group which will be set as the group of the instance - ID of the group which will be set as the group of the instance
type: int
memory: memory:
description: description:
- The size of the memory for new instances (in MB, GB, ...) - The size of the memory for new instances (in MB, GB, ...)
type: str
disk_size: disk_size:
description: description:
- The size of the disk created for new instances (in MB, GB, TB,...). - The size of the disk created for new instances (in MB, GB, TB,...).
- NOTE':' If The Template hats Multiple Disks the Order of the Sizes is - NOTE':' If The Template hats Multiple Disks the Order of the Sizes is
- matched against the order specified in C(template_id)/C(template_name). - matched against the order specified in C(template_id)/C(template_name).
type: list
cpu: cpu:
description: description:
- Percentage of CPU divided by 100 required for the new instance. Half a - Percentage of CPU divided by 100 required for the new instance. Half a
- processor is written 0.5. - processor is written 0.5.
type: float
vcpu: vcpu:
description: description:
- Number of CPUs (cores) new VM will have. - Number of CPUs (cores) new VM will have.
type: int
networks: networks:
description: description:
- A list of dictionaries with network parameters. See examples for more details. - A list of dictionaries with network parameters. See examples for more details.
default: [] default: []
type: list
disk_saveas: disk_saveas:
description: description:
- Creates an image from a VM disk. - Creates an image from a VM disk.
@ -167,6 +190,7 @@ options:
- I(NOTE)':' This operation will only be performed on the first VM (if more than one VM ID is passed) - I(NOTE)':' This operation will only be performed on the first VM (if more than one VM ID is passed)
- and the VM has to be in the C(poweredoff) state. - and the VM has to be in the C(poweredoff) state.
- Also this operation will fail if an image with specified C(name) already exists. - Also this operation will fail if an image with specified C(name) already exists.
type: dict
persistent: persistent:
description: description:
- Create a private persistent copy of the template plus any image defined in DISK, and instantiate that copy. - Create a private persistent copy of the template plus any image defined in DISK, and instantiate that copy.
@ -177,10 +201,12 @@ options:
description: description:
- Name of Datastore to use to create a new instace - Name of Datastore to use to create a new instace
version_added: '0.2.0' version_added: '0.2.0'
type: int
datastore_name: datastore_name:
description: description:
- Name of Datastore to use to create a new instace - Name of Datastore to use to create a new instace
version_added: '0.2.0' version_added: '0.2.0'
type: str
author: author:
- "Milan Ilic (@ilicmilan)" - "Milan Ilic (@ilicmilan)"
- "Jan Meerkamp (@meerkampdvv)" - "Jan Meerkamp (@meerkampdvv)"

View file

@ -43,9 +43,11 @@ options:
- "Type of the external provider." - "Type of the external provider."
choices: ['os_image', 'os_network', 'os_volume', 'foreman'] choices: ['os_image', 'os_network', 'os_volume', 'foreman']
required: true required: true
type: str
name: name:
description: description:
- "Name of the external provider, can be used as glob expression." - "Name of the external provider, can be used as glob expression."
type: str
extends_documentation_fragment: extends_documentation_fragment:
- community.general.ovirt_facts - community.general.ovirt_facts
@ -110,11 +112,8 @@ def main():
argument_spec = ovirt_info_full_argument_spec( argument_spec = ovirt_info_full_argument_spec(
name=dict(default=None, required=False), name=dict(default=None, required=False),
type=dict( type=dict(
default=None,
required=True, required=True,
choices=[ choices=['os_image', 'os_network', 'os_volume', 'foreman'],
'os_image', 'os_network', 'os_volume', 'foreman',
],
aliases=['provider'], aliases=['provider'],
), ),
) )

View file

@ -17,13 +17,16 @@ options:
description: description:
- The datacenter in which to operate. - The datacenter in which to operate.
type: str type: str
required: true
server: server:
description: description:
- The server name or ID. - The server name or ID.
type: str type: str
required: true
name: name:
description: description:
- The name or ID of the NIC. This is only required on deletes, but not on create. - The name or ID of the NIC. This is only required on deletes, but not on create.
- If not specified, it defaults to a value based on UUID4.
type: str type: str
lan: lan:
description: description:
@ -33,12 +36,12 @@ options:
description: description:
- The ProfitBricks username. Overrides the PB_SUBSCRIPTION_ID environment variable. - The ProfitBricks username. Overrides the PB_SUBSCRIPTION_ID environment variable.
type: str type: str
required: false required: true
subscription_password: subscription_password:
description: description:
- THe ProfitBricks password. Overrides the PB_PASSWORD environment variable. - THe ProfitBricks password. Overrides the PB_PASSWORD environment variable.
type: str type: str
required: false required: true
wait: wait:
description: description:
- wait for the operation to complete before returning - wait for the operation to complete before returning
@ -97,6 +100,10 @@ uuid_match = re.compile(
r'[\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12}', re.I) r'[\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12}', re.I)
def _make_default_name():
return str(uuid.uuid4()).replace('-', '')[:10]
def _wait_for_completion(profitbricks, promise, wait_timeout, msg): def _wait_for_completion(profitbricks, promise, wait_timeout, msg):
if not promise: if not promise:
return return
@ -134,6 +141,8 @@ def create_nic(module, profitbricks):
server = module.params.get('server') server = module.params.get('server')
lan = module.params.get('lan') lan = module.params.get('lan')
name = module.params.get('name') name = module.params.get('name')
if name is None:
name = _make_default_name()
wait = module.params.get('wait') wait = module.params.get('wait')
wait_timeout = module.params.get('wait_timeout') wait_timeout = module.params.get('wait_timeout')
@ -184,6 +193,8 @@ def delete_nic(module, profitbricks):
datacenter = module.params.get('datacenter') datacenter = module.params.get('datacenter')
server = module.params.get('server') server = module.params.get('server')
name = module.params.get('name') name = module.params.get('name')
if name is None:
name = _make_default_name()
# Locate UUID for Datacenter # Locate UUID for Datacenter
if not (uuid_match.match(datacenter)): if not (uuid_match.match(datacenter)):
@ -230,30 +241,25 @@ def delete_nic(module, profitbricks):
def main(): def main():
module = AnsibleModule( module = AnsibleModule(
argument_spec=dict( argument_spec=dict(
datacenter=dict(), datacenter=dict(required=True),
server=dict(), server=dict(required=True),
name=dict(default=str(uuid.uuid4()).replace('-', '')[:10]), # @FIXME please do not do that name=dict(),
lan=dict(), lan=dict(),
subscription_user=dict(), subscription_user=dict(required=True),
subscription_password=dict(no_log=True), subscription_password=dict(required=True, no_log=True),
wait=dict(type='bool', default=True), wait=dict(type='bool', default=True),
wait_timeout=dict(type='int', default=600), wait_timeout=dict(type='int', default=600),
state=dict(default='present'), state=dict(default='present'),
),
required_if=(
('state', 'absent', ['name']),
('state', 'present', ['lan']),
) )
) )
if not HAS_PB_SDK: if not HAS_PB_SDK:
module.fail_json(msg='profitbricks required for this module') module.fail_json(msg='profitbricks required for this module')
if not module.params.get('subscription_user'): # @ FIXME use required in argument_spec, same for lines below
module.fail_json(msg='subscription_user parameter is required')
if not module.params.get('subscription_password'):
module.fail_json(msg='subscription_password parameter is required')
if not module.params.get('datacenter'):
module.fail_json(msg='datacenter parameter is required')
if not module.params.get('server'):
module.fail_json(msg='server parameter is required')
subscription_user = module.params.get('subscription_user') subscription_user = module.params.get('subscription_user')
subscription_password = module.params.get('subscription_password') subscription_password = module.params.get('subscription_password')
@ -264,9 +270,6 @@ def main():
state = module.params.get('state') state = module.params.get('state')
if state == 'absent': if state == 'absent':
if not module.params.get('name'):
module.fail_json(msg='name parameter is required')
try: try:
(changed) = delete_nic(module, profitbricks) (changed) = delete_nic(module, profitbricks)
module.exit_json(changed=changed) module.exit_json(changed=changed)
@ -274,9 +277,6 @@ def main():
module.fail_json(msg='failed to set nic state: %s' % str(e)) module.fail_json(msg='failed to set nic state: %s' % str(e))
elif state == 'present': elif state == 'present':
if not module.params.get('lan'):
module.fail_json(msg='lan parameter is required')
try: try:
(nic_dict) = create_nic(module, profitbricks) (nic_dict) = create_nic(module, profitbricks)
module.exit_json(nics=nic_dict) # @FIXME changed not calculated? module.exit_json(nics=nic_dict) # @FIXME changed not calculated?

View file

@ -26,10 +26,12 @@ options:
default: zones default: zones
description: description:
- zpool to import to or delete images from. - zpool to import to or delete images from.
type: str
source: source:
required: false required: false
description: description:
- URI for the image source. - URI for the image source.
type: str
state: state:
required: true required: true
choices: [ present, absent, deleted, imported, updated, vacuumed ] choices: [ present, absent, deleted, imported, updated, vacuumed ]
@ -37,16 +39,22 @@ options:
- State the object operated on should be in. C(imported) is an alias for - State the object operated on should be in. C(imported) is an alias for
for C(present) and C(deleted) for C(absent). When set to C(vacuumed) for C(present) and C(deleted) for C(absent). When set to C(vacuumed)
and C(uuid) to C(*), it will remove all unused images. and C(uuid) to C(*), it will remove all unused images.
type: str
type: type:
required: false required: false
choices: [ imgapi, docker, dsapi ] choices: [ imgapi, docker, dsapi ]
default: imgapi default: imgapi
description: description:
- Type for image sources. - Type for image sources.
type: str
uuid: uuid:
required: false required: false
description: description:
- Image UUID. Can either be a full UUID or C(*) for all images. - Image UUID. Can either be a full UUID or C(*) for all images.
type: str
requirements: requirements:
- python >= 2.6 - python >= 2.6
''' '''
@ -260,12 +268,12 @@ class Imgadm(object):
def main(): def main():
module = AnsibleModule( module = AnsibleModule(
argument_spec=dict( argument_spec=dict(
force=dict(default=None, type='bool'), force=dict(type='bool'),
pool=dict(default='zones'), pool=dict(default='zones'),
source=dict(default=None), source=dict(),
state=dict(default=None, required=True, choices=['present', 'absent', 'deleted', 'imported', 'updated', 'vacuumed']), state=dict(required=True, choices=['present', 'absent', 'deleted', 'imported', 'updated', 'vacuumed']),
type=dict(default='imgapi', choices=['imgapi', 'docker', 'dsapi']), type=dict(default='imgapi', choices=['imgapi', 'docker', 'dsapi']),
uuid=dict(default=None) uuid=dict()
), ),
# This module relies largely on imgadm(1M) to enforce idempotency, which does not # This module relies largely on imgadm(1M) to enforce idempotency, which does not
# provide a "noop" (or equivalent) mode to do a dry-run. # provide a "noop" (or equivalent) mode to do a dry-run.

View file

@ -23,19 +23,22 @@ options:
credentials_path: credentials_path:
description: description:
- (String) Optional parameter that allows to set a non-default credentials path. - (Path) Optional parameter that allows to set a non-default credentials path.
Default is ~/.spotinst/credentials default: ~/.spotinst/credentials
type: path
account_id: account_id:
description: description:
- (String) Optional parameter that allows to set an account-id inside the module configuration - (String) Optional parameter that allows to set an account-id inside the module configuration
By default this is retrieved from the credentials path By default this is retrieved from the credentials path
type: str
availability_vs_cost: availability_vs_cost:
description: description:
- (String) The strategy orientation. - (String) The strategy orientation.
- "The choices available are: C(availabilityOriented), C(costOriented), C(balanced)." - "The choices available are: C(availabilityOriented), C(costOriented), C(balanced)."
required: true required: true
type: str
availability_zones: availability_zones:
description: description:
@ -46,6 +49,7 @@ options:
subnet_id (String), subnet_id (String),
placement_group_name (String), placement_group_name (String),
required: true required: true
type: list
block_device_mappings: block_device_mappings:
description: description:
@ -63,6 +67,7 @@ options:
snapshot_id(Integer), snapshot_id(Integer),
volume_type(String), volume_type(String),
volume_size(Integer)) volume_size(Integer))
type: list
chef: chef:
description: description:
@ -72,10 +77,12 @@ options:
user (String), user (String),
pem_key (String), pem_key (String),
chef_version (String) chef_version (String)
type: dict
draining_timeout: draining_timeout:
description: description:
- (Integer) Time for instance to be drained from incoming requests and deregistered from ELB before termination. - (Integer) Time for instance to be drained from incoming requests and deregistered from ELB before termination.
type: int
ebs_optimized: ebs_optimized:
description: description:
@ -90,61 +97,72 @@ options:
keys allowed are - keys allowed are -
volume_ids (List of Strings), volume_ids (List of Strings),
device_name (String) device_name (String)
type: list
ecs: ecs:
description: description:
- (Object) The ECS integration configuration.; - (Object) The ECS integration configuration.;
Expects the following key - Expects the following key -
cluster_name (String) cluster_name (String)
type: dict
elastic_ips: elastic_ips:
description: description:
- (List of Strings) List of ElasticIps Allocation Ids (Example C(eipalloc-9d4e16f8)) to associate to the group instances - (List of Strings) List of ElasticIps Allocation Ids (Example C(eipalloc-9d4e16f8)) to associate to the group instances
type: list
fallback_to_od: fallback_to_od:
description: description:
- (Boolean) In case of no spots available, Elastigroup will launch an On-demand instance instead - (Boolean) In case of no spots available, Elastigroup will launch an On-demand instance instead
type: bool type: bool
health_check_grace_period: health_check_grace_period:
description: description:
- (Integer) The amount of time, in seconds, after the instance has launched to start and check its health. - (Integer) The amount of time, in seconds, after the instance has launched to start and check its health.
default: 300 - If not specified, it defaults to C(300).
type: int
health_check_unhealthy_duration_before_replacement: health_check_unhealthy_duration_before_replacement:
description: description:
- (Integer) Minimal mount of time instance should be unhealthy for us to consider it unhealthy. - (Integer) Minimal mount of time instance should be unhealthy for us to consider it unhealthy.
type: int
health_check_type: health_check_type:
description: description:
- (String) The service to use for the health check. - (String) The service to use for the health check.
- "The choices available are: C(ELB), C(HCS), C(TARGET_GROUP), C(MLB), C(EC2)." - "The choices available are: C(ELB), C(HCS), C(TARGET_GROUP), C(MLB), C(EC2)."
type: str
iam_role_name: iam_role_name:
description: description:
- (String) The instance profile iamRole name - (String) The instance profile iamRole name
- Only use iam_role_arn, or iam_role_name - Only use iam_role_arn, or iam_role_name
type: str
iam_role_arn: iam_role_arn:
description: description:
- (String) The instance profile iamRole arn - (String) The instance profile iamRole arn
- Only use iam_role_arn, or iam_role_name - Only use iam_role_arn, or iam_role_name
type: str
id: id:
description: description:
- (String) The group id if it already exists and you want to update, or delete it. - (String) The group id if it already exists and you want to update, or delete it.
This will not work unless the uniqueness_by field is set to id. This will not work unless the uniqueness_by field is set to id.
When this is set, and the uniqueness_by field is set, the group will either be updated or deleted, but not created. When this is set, and the uniqueness_by field is set, the group will either be updated or deleted, but not created.
type: str
image_id: image_id:
description: description:
- (String) The image Id used to launch the instance.; - (String) The image Id used to launch the instance.;
In case of conflict between Instance type and image type, an error will be returned In case of conflict between Instance type and image type, an error will be returned
required: true required: true
type: str
key_pair: key_pair:
description: description:
- (String) Specify a Key Pair to attach to the instances - (String) Specify a Key Pair to attach to the instances
type: str
kubernetes: kubernetes:
description: description:
@ -152,39 +170,47 @@ options:
Expects the following keys - Expects the following keys -
api_server (String), api_server (String),
token (String) token (String)
type: dict
lifetime_period: lifetime_period:
description: description:
- (String) lifetime period - (Integer) lifetime period
type: int
load_balancers: load_balancers:
description: description:
- (List of Strings) List of classic ELB names - (List of Strings) List of classic ELB names
type: list
max_size: max_size:
description: description:
- (Integer) The upper limit number of instances that you can scale up to - (Integer) The upper limit number of instances that you can scale up to
required: true required: true
type: int
mesosphere: mesosphere:
description: description:
- (Object) The Mesosphere integration configuration. - (Object) The Mesosphere integration configuration.
Expects the following key - Expects the following key -
api_server (String) api_server (String)
type: dict
min_size: min_size:
description: description:
- (Integer) The lower limit number of instances that you can scale down to - (Integer) The lower limit number of instances that you can scale down to
required: true required: true
type: int
monitoring: monitoring:
description: description:
- (Boolean) Describes whether instance Enhanced Monitoring is enabled - (String) Describes whether instance Enhanced Monitoring is enabled
type: str
name: name:
description: description:
- (String) Unique name for elastigroup to be created, updated or deleted - (String) Unique name for elastigroup to be created, updated or deleted
required: true required: true
type: str
network_interfaces: network_interfaces:
description: description:
@ -202,22 +228,26 @@ options:
subnet_id (String), subnet_id (String),
associate_ipv6_address (Boolean), associate_ipv6_address (Boolean),
private_ip_addresses (List of Objects, Keys are privateIpAddress (String, required) and primary (Boolean)) private_ip_addresses (List of Objects, Keys are privateIpAddress (String, required) and primary (Boolean))
type: list
on_demand_count: on_demand_count:
description: description:
- (Integer) Required if risk is not set - (Integer) Required if risk is not set
- Number of on demand instances to launch. All other instances will be spot instances.; - Number of on demand instances to launch. All other instances will be spot instances.;
Either set this parameter or the risk parameter Either set this parameter or the risk parameter
type: int
on_demand_instance_type: on_demand_instance_type:
description: description:
- (String) On-demand instance type that will be provisioned - (String) On-demand instance type that will be provisioned
type: str
opsworks: opsworks:
description: description:
- (Object) The elastigroup OpsWorks integration configration.; - (Object) The elastigroup OpsWorks integration configration.;
Expects the following key - Expects the following key -
layer_id (String) layer_id (String)
type: dict
persistence: persistence:
description: description:
@ -226,12 +256,14 @@ options:
should_persist_root_device (Boolean), should_persist_root_device (Boolean),
should_persist_block_devices (Boolean), should_persist_block_devices (Boolean),
should_persist_private_ip (Boolean) should_persist_private_ip (Boolean)
type: dict
product: product:
description: description:
- (String) Operation system type. - (String) Operation system type.
- "Available choices are: C(Linux/UNIX), C(SUSE Linux), C(Windows), C(Linux/UNIX (Amazon VPC)), C(SUSE Linux (Amazon VPC))." - "Available choices are: C(Linux/UNIX), C(SUSE Linux), C(Windows), C(Linux/UNIX (Amazon VPC)), C(SUSE Linux (Amazon VPC))."
required: true required: true
type: str
rancher: rancher:
description: description:
@ -241,6 +273,7 @@ options:
access_key (String), access_key (String),
secret_key (String), secret_key (String),
master_host (String) master_host (String)
type: dict
right_scale: right_scale:
description: description:
@ -248,10 +281,12 @@ options:
Expects the following keys - Expects the following keys -
account_id (String), account_id (String),
refresh_token (String) refresh_token (String)
type: dict
risk: risk:
description: description:
- (Integer) required if on demand is not set. The percentage of Spot instances to launch (0 - 100). - (Integer) required if on demand is not set. The percentage of Spot instances to launch (0 - 100).
type: int
roll_config: roll_config:
description: description:
@ -261,6 +296,7 @@ options:
batch_size_percentage(Integer, Required), batch_size_percentage(Integer, Required),
grace_period - (Integer, Required), grace_period - (Integer, Required),
health_check_type(String, Optional) health_check_type(String, Optional)
type: dict
scheduled_tasks: scheduled_tasks:
description: description:
@ -278,17 +314,20 @@ options:
grace_period (Integer), grace_period (Integer),
task_type (String, required), task_type (String, required),
is_enabled (Boolean) is_enabled (Boolean)
type: list
security_group_ids: security_group_ids:
description: description:
- (List of Strings) One or more security group IDs. ; - (List of Strings) One or more security group IDs. ;
In case of update it will override the existing Security Group with the new given array In case of update it will override the existing Security Group with the new given array
required: true required: true
type: list
shutdown_script: shutdown_script:
description: description:
- (String) The Base64-encoded shutdown script that executes prior to instance termination. - (String) The Base64-encoded shutdown script that executes prior to instance termination.
Encode before setting. Encode before setting.
type: str
signals: signals:
description: description:
@ -296,15 +335,18 @@ options:
keys allowed are - keys allowed are -
name (String, required), name (String, required),
timeout (Integer) timeout (Integer)
type: list
spin_up_time: spin_up_time:
description: description:
- (Integer) spin up time, in seconds, for the instance - (Integer) spin up time, in seconds, for the instance
type: int
spot_instance_types: spot_instance_types:
description: description:
- (List of Strings) Spot instance type that will be provisioned. - (List of Strings) Spot instance type that will be provisioned.
required: true required: true
type: list
state: state:
choices: choices:
@ -312,33 +354,41 @@ options:
- absent - absent
description: description:
- (String) create or delete the elastigroup - (String) create or delete the elastigroup
default: present
type: str
tags: tags:
description: description:
- (List of tagKey:tagValue paris) a list of tags to configure in the elastigroup. Please specify list of keys and values (key colon value); - (List of tagKey:tagValue pairs) a list of tags to configure in the elastigroup. Please specify list of keys and values (key colon value);
type: list
target: target:
description: description:
- (Integer) The number of instances to launch - (Integer) The number of instances to launch
required: true required: true
type: int
target_group_arns: target_group_arns:
description: description:
- (List of Strings) List of target group arns instances should be registered to - (List of Strings) List of target group arns instances should be registered to
type: list
tenancy: tenancy:
description: description:
- (String) dedicated vs shared tenancy. - (String) dedicated vs shared tenancy.
- "The available choices are: C(default), C(dedicated)." - "The available choices are: C(default), C(dedicated)."
type: str
terminate_at_end_of_billing_hour: terminate_at_end_of_billing_hour:
description: description:
- (Boolean) terminate at the end of billing hour - (Boolean) terminate at the end of billing hour
type: bool type: bool
unit: unit:
description: description:
- (String) The capacity unit to launch instances by. - (String) The capacity unit to launch instances by.
- "The available choices are: C(instance), C(weight)." - "The available choices are: C(instance), C(weight)."
type: str
up_scaling_policies: up_scaling_policies:
description: description:
@ -362,7 +412,7 @@ options:
target (String), target (String),
maximum (String), maximum (String),
minimum (String) minimum (String)
type: list
down_scaling_policies: down_scaling_policies:
description: description:
@ -386,6 +436,7 @@ options:
target (String), target (String),
maximum (String), maximum (String),
minimum (String) minimum (String)
type: list
target_tracking_policies: target_tracking_policies:
description: description:
@ -400,6 +451,7 @@ options:
unit (String, required), unit (String, required),
cooldown (String, required), cooldown (String, required),
target (String, required) target (String, required)
type: list
uniqueness_by: uniqueness_by:
choices: choices:
@ -408,12 +460,13 @@ options:
description: description:
- (String) If your group names are not unique, you may use this feature to update or delete a specific group. - (String) If your group names are not unique, you may use this feature to update or delete a specific group.
Whenever this property is set, you must set a group_id in order to update or delete a group, otherwise a group will be created. Whenever this property is set, you must set a group_id in order to update or delete a group, otherwise a group will be created.
default: name
type: str
user_data: user_data:
description: description:
- (String) Base64-encoded MIME user data. Encode before setting the value. - (String) Base64-encoded MIME user data. Encode before setting the value.
type: str
utilize_reserved_instances: utilize_reserved_instances:
description: description:
@ -430,6 +483,7 @@ options:
description: description:
- (Integer) How long the module should wait for instances before failing the action.; - (Integer) How long the module should wait for instances before failing the action.;
Only works if wait_for_instances is True. Only works if wait_for_instances is True.
type: int
''' '''
EXAMPLES = ''' EXAMPLES = '''
@ -877,7 +931,6 @@ multai_fields = ('multai_token',)
def handle_elastigroup(client, module): def handle_elastigroup(client, module):
has_changed = False has_changed = False
should_create = False
group_id = None group_id = None
message = 'None' message = 'None'
@ -970,7 +1023,7 @@ def retrieve_group_instances(client, module, group_id):
healthy_instances = client.get_instance_healthiness(group_id=group_id) healthy_instances = client.get_instance_healthiness(group_id=group_id)
for healthy_instance in healthy_instances: for healthy_instance in healthy_instances:
if(healthy_instance.get('healthStatus') == 'HEALTHY'): if healthy_instance.get('healthStatus') == 'HEALTHY':
amount_of_fulfilled_instances += 1 amount_of_fulfilled_instances += 1
instances.append(healthy_instance) instances.append(healthy_instance)

View file

@ -27,27 +27,34 @@ options:
choices: [ present, absent ] choices: [ present, absent ]
description: description:
- Whether the group is present or not. - Whether the group is present or not.
type: str
name: name:
required: true required: true
description: description:
- Name of the posix group. - Name of the posix group.
type: str
description: description:
required: false required: false
description: description:
- Group description. - Group description.
type: str
position: position:
required: false required: false
description: description:
- define the whole ldap position of the group, e.g. - define the whole ldap position of the group, e.g.
C(cn=g123m-1A,cn=classes,cn=schueler,cn=groups,ou=schule,dc=example,dc=com). C(cn=g123m-1A,cn=classes,cn=schueler,cn=groups,ou=schule,dc=example,dc=com).
type: str
ou: ou:
required: false required: false
description: description:
- LDAP OU, e.g. school for LDAP OU C(ou=school,dc=example,dc=com). - LDAP OU, e.g. school for LDAP OU C(ou=school,dc=example,dc=com).
type: str
subpath: subpath:
required: false required: false
description: description:
- Subpath inside the OU, e.g. C(cn=classes,cn=students,cn=groups). - Subpath inside the OU, e.g. C(cn=classes,cn=students,cn=groups).
type: str
default: "cn=groups"
''' '''

View file

@ -27,203 +27,250 @@ options:
choices: [ present, absent ] choices: [ present, absent ]
description: description:
- Whether the user is present or not. - Whether the user is present or not.
type: str
username: username:
required: true required: true
description: description:
- User name - User name
aliases: ['name'] aliases: ['name']
type: str
firstname: firstname:
description: description:
- First name. Required if C(state=present). - First name. Required if C(state=present).
type: str
lastname: lastname:
description: description:
- Last name. Required if C(state=present). - Last name. Required if C(state=present).
type: str
password: password:
description: description:
- Password. Required if C(state=present). - Password. Required if C(state=present).
type: str
birthday: birthday:
description: description:
- Birthday - Birthday
type: str
city: city:
description: description:
- City of users business address. - City of users business address.
type: str
country: country:
description: description:
- Country of users business address. - Country of users business address.
type: str
department_number: department_number:
description: description:
- Department number of users business address. - Department number of users business address.
aliases: [ departmentNumber ] aliases: [ departmentNumber ]
type: str
description: description:
description: description:
- Description (not gecos) - Description (not gecos)
type: str
display_name: display_name:
description: description:
- Display name (not gecos) - Display name (not gecos)
aliases: [ displayName ] aliases: [ displayName ]
type: str
email: email:
default: [] default: ['']
description: description:
- A list of e-mail addresses. - A list of e-mail addresses.
type: list
employee_number: employee_number:
description: description:
- Employee number - Employee number
aliases: [ employeeNumber ] aliases: [ employeeNumber ]
type: str
employee_type: employee_type:
description: description:
- Employee type - Employee type
aliases: [ employeeType ] aliases: [ employeeType ]
type: str
gecos: gecos:
description: description:
- GECOS - GECOS
type: str
groups: groups:
default: [] default: []
description: description:
- "POSIX groups, the LDAP DNs of the groups will be found with the - "POSIX groups, the LDAP DNs of the groups will be found with the
LDAP filter for each group as $GROUP: LDAP filter for each group as $GROUP:
C((&(objectClass=posixGroup)(cn=$GROUP)))." C((&(objectClass=posixGroup)(cn=$GROUP)))."
type: list
home_share: home_share:
description: description:
- "Home NFS share. Must be a LDAP DN, e.g. - "Home NFS share. Must be a LDAP DN, e.g.
C(cn=home,cn=shares,ou=school,dc=example,dc=com)." C(cn=home,cn=shares,ou=school,dc=example,dc=com)."
aliases: [ homeShare ] aliases: [ homeShare ]
type: str
home_share_path: home_share_path:
description: description:
- Path to home NFS share, inside the homeShare. - Path to home NFS share, inside the homeShare.
aliases: [ homeSharePath ] aliases: [ homeSharePath ]
type: str
home_telephone_number: home_telephone_number:
default: [] default: []
description: description:
- List of private telephone numbers. - List of private telephone numbers.
aliases: [ homeTelephoneNumber ] aliases: [ homeTelephoneNumber ]
type: list
homedrive: homedrive:
description: description:
- Windows home drive, e.g. C("H:"). - Windows home drive, e.g. C("H:").
type: str
mail_alternative_address: mail_alternative_address:
default: [] default: []
description: description:
- List of alternative e-mail addresses. - List of alternative e-mail addresses.
aliases: [ mailAlternativeAddress ] aliases: [ mailAlternativeAddress ]
type: list
mail_home_server: mail_home_server:
description: description:
- FQDN of mail server - FQDN of mail server
aliases: [ mailHomeServer ] aliases: [ mailHomeServer ]
type: str
mail_primary_address: mail_primary_address:
description: description:
- Primary e-mail address - Primary e-mail address
aliases: [ mailPrimaryAddress ] aliases: [ mailPrimaryAddress ]
type: str
mobile_telephone_number: mobile_telephone_number:
default: [] default: []
description: description:
- Mobile phone number - Mobile phone number
aliases: [ mobileTelephoneNumber ] aliases: [ mobileTelephoneNumber ]
type: list
organisation: organisation:
description: description:
- Organisation - Organisation
aliases: [ organization ] aliases: [ organization ]
override_pw_history: type: str
overridePWHistory:
type: bool type: bool
default: 'no' default: 'no'
description: description:
- Override password history - Override password history
aliases: [ overridePWHistory ] aliases: [ override_pw_history ]
override_pw_length: overridePWLength:
type: bool type: bool
default: 'no' default: 'no'
description: description:
- Override password check - Override password check
aliases: [ overridePWLength ] aliases: [ override_pw_length ]
pager_telephonenumber: pager_telephonenumber:
default: [] default: []
description: description:
- List of pager telephone numbers. - List of pager telephone numbers.
aliases: [ pagerTelephonenumber ] aliases: [ pagerTelephonenumber ]
type: list
phone: phone:
description: description:
- List of telephone numbers. - List of telephone numbers.
type: list
postcode: postcode:
description: description:
- Postal code of users business address. - Postal code of users business address.
type: str
primary_group: primary_group:
default: cn=Domain Users,cn=groups,$LDAP_BASE_DN
description: description:
- Primary group. This must be the group LDAP DN. - Primary group. This must be the group LDAP DN.
- If not specified, it defaults to C(cn=Domain Users,cn=groups,$LDAP_BASE_DN).
aliases: [ primaryGroup ] aliases: [ primaryGroup ]
type: str
profilepath: profilepath:
description: description:
- Windows profile directory - Windows profile directory
type: str
pwd_change_next_login: pwd_change_next_login:
choices: [ '0', '1' ] choices: [ '0', '1' ]
description: description:
- Change password on next login. - Change password on next login.
aliases: [ pwdChangeNextLogin ] aliases: [ pwdChangeNextLogin ]
type: str
room_number: room_number:
description: description:
- Room number of users business address. - Room number of users business address.
aliases: [ roomNumber ] aliases: [ roomNumber ]
type: str
samba_privileges: samba_privileges:
description: description:
- "Samba privilege, like allow printer administration, do domain - "Samba privilege, like allow printer administration, do domain
join." join."
aliases: [ sambaPrivileges ] aliases: [ sambaPrivileges ]
type: list
samba_user_workstations: samba_user_workstations:
description: description:
- Allow the authentication only on this Microsoft Windows host. - Allow the authentication only on this Microsoft Windows host.
aliases: [ sambaUserWorkstations ] aliases: [ sambaUserWorkstations ]
type: list
sambahome: sambahome:
description: description:
- Windows home path, e.g. C('\\$FQDN\$USERNAME'). - Windows home path, e.g. C('\\$FQDN\$USERNAME').
type: str
scriptpath: scriptpath:
description: description:
- Windows logon script. - Windows logon script.
type: str
secretary: secretary:
default: [] default: []
description: description:
- A list of superiors as LDAP DNs. - A list of superiors as LDAP DNs.
type: list
serviceprovider: serviceprovider:
default: [] default: ['']
description: description:
- Enable user for the following service providers. - Enable user for the following service providers.
type: list
shell: shell:
default: '/bin/bash' default: '/bin/bash'
description: description:
- Login shell - Login shell
type: str
street: street:
description: description:
- Street of users business address. - Street of users business address.
type: str
title: title:
description: description:
- Title, e.g. C(Prof.). - Title, e.g. C(Prof.).
type: str
unixhome: unixhome:
default: '/home/$USERNAME'
description: description:
- Unix home directory - Unix home directory
- If not specified, it defaults to C(/home/$USERNAME).
type: str
userexpiry: userexpiry:
default: Today + 1 year
description: description:
- Account expiry date, e.g. C(1999-12-31). - Account expiry date, e.g. C(1999-12-31).
- If not specified, it defaults to the current day plus one year.
type: str
position: position:
default: '' default: ''
description: description:
- "Define the whole position of users object inside the LDAP tree, - "Define the whole position of users object inside the LDAP tree,
e.g. C(cn=employee,cn=users,ou=school,dc=example,dc=com)." e.g. C(cn=employee,cn=users,ou=school,dc=example,dc=com)."
type: str
update_password: update_password:
default: always default: always
choices: [ always, on_create ] choices: [ always, on_create ]
description: description:
- "C(always) will update passwords if they differ. - "C(always) will update passwords if they differ.
C(on_create) will only set the password for newly created users." C(on_create) will only set the password for newly created users."
type: str
ou: ou:
default: '' default: ''
description: description:
- "Organizational Unit inside the LDAP Base DN, e.g. C(school) for - "Organizational Unit inside the LDAP Base DN, e.g. C(school) for
LDAP OU C(ou=school,dc=example,dc=com)." LDAP OU C(ou=school,dc=example,dc=com)."
type: str
subpath: subpath:
default: 'cn=users' default: 'cn=users'
description: description:
- "LDAP subpath inside the organizational unit, e.g. - "LDAP subpath inside the organizational unit, e.g.
C(cn=teachers,cn=users) for LDAP container C(cn=teachers,cn=users) for LDAP container
C(cn=teachers,cn=users,dc=example,dc=com)." C(cn=teachers,cn=users,dc=example,dc=com)."
type: str
''' '''
@ -273,61 +320,44 @@ def main():
expiry = date.strftime(date.today() + timedelta(days=365), "%Y-%m-%d") expiry = date.strftime(date.today() + timedelta(days=365), "%Y-%m-%d")
module = AnsibleModule( module = AnsibleModule(
argument_spec=dict( argument_spec=dict(
birthday=dict(default=None, birthday=dict(type='str'),
type='str'), city=dict(type='str'),
city=dict(default=None, country=dict(type='str'),
type='str'), department_number=dict(type='str',
country=dict(default=None,
type='str'),
department_number=dict(default=None,
type='str',
aliases=['departmentNumber']), aliases=['departmentNumber']),
description=dict(default=None, description=dict(type='str'),
type='str'), display_name=dict(type='str',
display_name=dict(default=None,
type='str',
aliases=['displayName']), aliases=['displayName']),
email=dict(default=[''], email=dict(default=[''],
type='list'), type='list'),
employee_number=dict(default=None, employee_number=dict(type='str',
type='str',
aliases=['employeeNumber']), aliases=['employeeNumber']),
employee_type=dict(default=None, employee_type=dict(type='str',
type='str',
aliases=['employeeType']), aliases=['employeeType']),
firstname=dict(default=None, firstname=dict(type='str'),
type='str'), gecos=dict(type='str'),
gecos=dict(default=None,
type='str'),
groups=dict(default=[], groups=dict(default=[],
type='list'), type='list'),
home_share=dict(default=None, home_share=dict(type='str',
type='str',
aliases=['homeShare']), aliases=['homeShare']),
home_share_path=dict(default=None, home_share_path=dict(type='str',
type='str',
aliases=['homeSharePath']), aliases=['homeSharePath']),
home_telephone_number=dict(default=[], home_telephone_number=dict(default=[],
type='list', type='list',
aliases=['homeTelephoneNumber']), aliases=['homeTelephoneNumber']),
homedrive=dict(default=None, homedrive=dict(type='str'),
type='str'), lastname=dict(type='str'),
lastname=dict(default=None,
type='str'),
mail_alternative_address=dict(default=[], mail_alternative_address=dict(default=[],
type='list', type='list',
aliases=['mailAlternativeAddress']), aliases=['mailAlternativeAddress']),
mail_home_server=dict(default=None, mail_home_server=dict(type='str',
type='str',
aliases=['mailHomeServer']), aliases=['mailHomeServer']),
mail_primary_address=dict(default=None, mail_primary_address=dict(type='str',
type='str',
aliases=['mailPrimaryAddress']), aliases=['mailPrimaryAddress']),
mobile_telephone_number=dict(default=[], mobile_telephone_number=dict(default=[],
type='list', type='list',
aliases=['mobileTelephoneNumber']), aliases=['mobileTelephoneNumber']),
organisation=dict(default=None, organisation=dict(type='str',
type='str',
aliases=['organization']), aliases=['organization']),
overridePWHistory=dict(default=False, overridePWHistory=dict(default=False,
type='bool', type='bool',
@ -338,24 +368,18 @@ def main():
pager_telephonenumber=dict(default=[], pager_telephonenumber=dict(default=[],
type='list', type='list',
aliases=['pagerTelephonenumber']), aliases=['pagerTelephonenumber']),
password=dict(default=None, password=dict(type='str',
type='str',
no_log=True), no_log=True),
phone=dict(default=[], phone=dict(default=[],
type='list'), type='list'),
postcode=dict(default=None, postcode=dict(type='str'),
type='str'), primary_group=dict(type='str',
primary_group=dict(default=None,
type='str',
aliases=['primaryGroup']), aliases=['primaryGroup']),
profilepath=dict(default=None, profilepath=dict(type='str'),
type='str'), pwd_change_next_login=dict(type='str',
pwd_change_next_login=dict(default=None,
type='str',
choices=['0', '1'], choices=['0', '1'],
aliases=['pwdChangeNextLogin']), aliases=['pwdChangeNextLogin']),
room_number=dict(default=None, room_number=dict(type='str',
type='str',
aliases=['roomNumber']), aliases=['roomNumber']),
samba_privileges=dict(default=[], samba_privileges=dict(default=[],
type='list', type='list',
@ -363,24 +387,18 @@ def main():
samba_user_workstations=dict(default=[], samba_user_workstations=dict(default=[],
type='list', type='list',
aliases=['sambaUserWorkstations']), aliases=['sambaUserWorkstations']),
sambahome=dict(default=None, sambahome=dict(type='str'),
type='str'), scriptpath=dict(type='str'),
scriptpath=dict(default=None,
type='str'),
secretary=dict(default=[], secretary=dict(default=[],
type='list'), type='list'),
serviceprovider=dict(default=[''], serviceprovider=dict(default=[''],
type='list'), type='list'),
shell=dict(default='/bin/bash', shell=dict(default='/bin/bash',
type='str'), type='str'),
street=dict(default=None, street=dict(type='str'),
type='str'), title=dict(type='str'),
title=dict(default=None, unixhome=dict(type='str'),
type='str'), userexpiry=dict(type='str'),
unixhome=dict(default=None,
type='str'),
userexpiry=dict(default=expiry,
type='str'),
username=dict(required=True, username=dict(required=True,
aliases=['name'], aliases=['name'],
type='str'), type='str'),
@ -451,6 +469,8 @@ def main():
obj[k] = module.params[k] obj[k] = module.params[k]
# handle some special values # handle some special values
obj['e-mail'] = module.params['email'] obj['e-mail'] = module.params['email']
if 'userexpiry' in obj and obj.get('userexpiry') is None:
obj['userexpiry'] = expiry
password = module.params['password'] password = module.params['password']
if obj['password'] is None: if obj['password'] is None:
obj['password'] = password obj['password'] = password

View file

@ -37,10 +37,13 @@ options:
- On C(absent), the client will be removed if it exists - On C(absent), the client will be removed if it exists
choices: ['present', 'absent'] choices: ['present', 'absent']
default: 'present' default: 'present'
type: str
realm: realm:
description: description:
- The realm to create the client in. - The realm to create the client in.
type: str
default: master
client_id: client_id:
description: description:
@ -49,19 +52,23 @@ options:
This is 'clientId' in the Keycloak REST API. This is 'clientId' in the Keycloak REST API.
aliases: aliases:
- clientId - clientId
type: str
id: id:
description: description:
- Id of client to be worked on. This is usually an UUID. Either this or I(client_id) - Id of client to be worked on. This is usually an UUID. Either this or I(client_id)
is required. If you specify both, this takes precedence. is required. If you specify both, this takes precedence.
type: str
name: name:
description: description:
- Name of the client (this is not the same as I(client_id)) - Name of the client (this is not the same as I(client_id))
type: str
description: description:
description: description:
- Description of the client in Keycloak - Description of the client in Keycloak
type: str
root_url: root_url:
description: description:
@ -69,6 +76,7 @@ options:
This is 'rootUrl' in the Keycloak REST API. This is 'rootUrl' in the Keycloak REST API.
aliases: aliases:
- rootUrl - rootUrl
type: str
admin_url: admin_url:
description: description:
@ -76,6 +84,7 @@ options:
This is 'adminUrl' in the Keycloak REST API. This is 'adminUrl' in the Keycloak REST API.
aliases: aliases:
- adminUrl - adminUrl
type: str
base_url: base_url:
description: description:
@ -83,6 +92,7 @@ options:
This is 'baseUrl' in the Keycloak REST API. This is 'baseUrl' in the Keycloak REST API.
aliases: aliases:
- baseUrl - baseUrl
type: str
enabled: enabled:
description: description:
@ -100,6 +110,7 @@ options:
choices: ['client-secret', 'client-jwt'] choices: ['client-secret', 'client-jwt']
aliases: aliases:
- clientAuthenticatorType - clientAuthenticatorType
type: str
secret: secret:
description: description:
@ -107,6 +118,7 @@ options:
specify a secret here (otherwise one will be generated if it does not exit). If specify a secret here (otherwise one will be generated if it does not exit). If
changing this secret, the module will not register a change currently (but the changing this secret, the module will not register a change currently (but the
changed secret will be saved). changed secret will be saved).
type: str
registration_access_token: registration_access_token:
description: description:
@ -115,6 +127,7 @@ options:
This is 'registrationAccessToken' in the Keycloak REST API. This is 'registrationAccessToken' in the Keycloak REST API.
aliases: aliases:
- registrationAccessToken - registrationAccessToken
type: str
default_roles: default_roles:
description: description:
@ -123,6 +136,7 @@ options:
This is 'defaultRoles' in the Keycloak REST API. This is 'defaultRoles' in the Keycloak REST API.
aliases: aliases:
- defaultRoles - defaultRoles
type: list
redirect_uris: redirect_uris:
description: description:
@ -130,6 +144,7 @@ options:
This is 'redirectUris' in the Keycloak REST API. This is 'redirectUris' in the Keycloak REST API.
aliases: aliases:
- redirectUris - redirectUris
type: list
web_origins: web_origins:
description: description:
@ -137,11 +152,13 @@ options:
This is 'webOrigins' in the Keycloak REST API. This is 'webOrigins' in the Keycloak REST API.
aliases: aliases:
- webOrigins - webOrigins
type: list
not_before: not_before:
description: description:
- Revoke any tokens issued before this date for this client (this is a UNIX timestamp). - Revoke any tokens issued before this date for this client (this is a UNIX timestamp).
This is 'notBefore' in the Keycloak REST API. This is 'notBefore' in the Keycloak REST API.
type: int
aliases: aliases:
- notBefore - notBefore
@ -220,6 +237,7 @@ options:
protocol: protocol:
description: description:
- Type of client (either C(openid-connect) or C(saml). - Type of client (either C(openid-connect) or C(saml).
type: str
choices: ['openid-connect', 'saml'] choices: ['openid-connect', 'saml']
full_scope_allowed: full_scope_allowed:
@ -234,6 +252,7 @@ options:
description: description:
- Cluster node re-registration timeout for this client. - Cluster node re-registration timeout for this client.
This is 'nodeReRegistrationTimeout' in the Keycloak REST API. This is 'nodeReRegistrationTimeout' in the Keycloak REST API.
type: int
aliases: aliases:
- nodeReRegistrationTimeout - nodeReRegistrationTimeout
@ -242,6 +261,7 @@ options:
- dict of registered cluster nodes (with C(nodename) as the key and last registration - dict of registered cluster nodes (with C(nodename) as the key and last registration
time as the value). time as the value).
This is 'registeredNodes' in the Keycloak REST API. This is 'registeredNodes' in the Keycloak REST API.
type: dict
aliases: aliases:
- registeredNodes - registeredNodes
@ -250,6 +270,7 @@ options:
- Client template to use for this client. If it does not exist this field will silently - Client template to use for this client. If it does not exist this field will silently
be dropped. be dropped.
This is 'clientTemplate' in the Keycloak REST API. This is 'clientTemplate' in the Keycloak REST API.
type: str
aliases: aliases:
- clientTemplate - clientTemplate
@ -290,6 +311,7 @@ options:
- a data structure defining the authorization settings for this client. For reference, - a data structure defining the authorization settings for this client. For reference,
please see the Keycloak API docs at U(https://www.keycloak.org/docs-api/8.0/rest-api/index.html#_resourceserverrepresentation). please see the Keycloak API docs at U(https://www.keycloak.org/docs-api/8.0/rest-api/index.html#_resourceserverrepresentation).
This is 'authorizationSettings' in the Keycloak REST API. This is 'authorizationSettings' in the Keycloak REST API.
type: dict
aliases: aliases:
- authorizationSettings - authorizationSettings
@ -305,24 +327,29 @@ options:
consentRequired: consentRequired:
description: description:
- Specifies whether a user needs to provide consent to a client for this mapper to be active. - Specifies whether a user needs to provide consent to a client for this mapper to be active.
type: bool
consentText: consentText:
description: description:
- The human-readable name of the consent the user is presented to accept. - The human-readable name of the consent the user is presented to accept.
type: str
id: id:
description: description:
- Usually a UUID specifying the internal ID of this protocol mapper instance. - Usually a UUID specifying the internal ID of this protocol mapper instance.
type: str
name: name:
description: description:
- The name of this protocol mapper. - The name of this protocol mapper.
type: str
protocol: protocol:
description: description:
- This is either C(openid-connect) or C(saml), this specifies for which protocol this protocol mapper - This is either C(openid-connect) or C(saml), this specifies for which protocol this protocol mapper
is active. is active.
choices: ['openid-connect', 'saml'] choices: ['openid-connect', 'saml']
type: str
protocolMapper: protocolMapper:
description: description:
@ -354,6 +381,7 @@ options:
- An exhaustive list of available mappers on your installation can be obtained on - An exhaustive list of available mappers on your installation can be obtained on
the admin console by going to Server Info -> Providers and looking under the admin console by going to Server Info -> Providers and looking under
'protocol-mapper'. 'protocol-mapper'.
type: str
config: config:
description: description:
@ -362,6 +390,7 @@ options:
other than by the source of the mappers and its parent class(es). An example is given other than by the source of the mappers and its parent class(es). An example is given
below. It is easiest to obtain valid config values by dumping an already-existing below. It is easiest to obtain valid config values by dumping an already-existing
protocol mapper configuration through check-mode in the I(existing) field. protocol mapper configuration through check-mode in the I(existing) field.
type: dict
attributes: attributes:
description: description:
@ -370,6 +399,7 @@ options:
permissible options is not available; possible options as of Keycloak 3.4 are listed below. The Keycloak permissible options is not available; possible options as of Keycloak 3.4 are listed below. The Keycloak
API does not validate whether a given option is appropriate for the protocol used; if specified API does not validate whether a given option is appropriate for the protocol used; if specified
anyway, Keycloak will simply not use it. anyway, Keycloak will simply not use it.
type: dict
suboptions: suboptions:
saml.authnstatement: saml.authnstatement:
description: description:

View file

@ -36,27 +36,34 @@ options:
- On C(absent), the client template will be removed if it exists - On C(absent), the client template will be removed if it exists
choices: ['present', 'absent'] choices: ['present', 'absent']
default: 'present' default: 'present'
type: str
id: id:
description: description:
- Id of client template to be worked on. This is usually a UUID. - Id of client template to be worked on. This is usually a UUID.
type: str
realm: realm:
description: description:
- Realm this client template is found in. - Realm this client template is found in.
type: str
default: master
name: name:
description: description:
- Name of the client template - Name of the client template
type: str
description: description:
description: description:
- Description of the client template in Keycloak - Description of the client template in Keycloak
type: str
protocol: protocol:
description: description:
- Type of client template (either C(openid-connect) or C(saml). - Type of client template (either C(openid-connect) or C(saml).
choices: ['openid-connect', 'saml'] choices: ['openid-connect', 'saml']
type: str
full_scope_allowed: full_scope_allowed:
description: description:
@ -74,24 +81,29 @@ options:
consentRequired: consentRequired:
description: description:
- Specifies whether a user needs to provide consent to a client for this mapper to be active. - Specifies whether a user needs to provide consent to a client for this mapper to be active.
type: bool
consentText: consentText:
description: description:
- The human-readable name of the consent the user is presented to accept. - The human-readable name of the consent the user is presented to accept.
type: str
id: id:
description: description:
- Usually a UUID specifying the internal ID of this protocol mapper instance. - Usually a UUID specifying the internal ID of this protocol mapper instance.
type: str
name: name:
description: description:
- The name of this protocol mapper. - The name of this protocol mapper.
type: str
protocol: protocol:
description: description:
- is either 'openid-connect' or 'saml', this specifies for which protocol this protocol mapper - is either 'openid-connect' or 'saml', this specifies for which protocol this protocol mapper
is active. is active.
choices: ['openid-connect', 'saml'] choices: ['openid-connect', 'saml']
type: str
protocolMapper: protocolMapper:
description: description:
@ -123,6 +135,7 @@ options:
- An exhaustive list of available mappers on your installation can be obtained on - An exhaustive list of available mappers on your installation can be obtained on
the admin console by going to Server Info -> Providers and looking under the admin console by going to Server Info -> Providers and looking under
'protocol-mapper'. 'protocol-mapper'.
type: str
config: config:
description: description:
@ -131,12 +144,14 @@ options:
other than by the source of the mappers and its parent class(es). An example is given other than by the source of the mappers and its parent class(es). An example is given
below. It is easiest to obtain valid config values by dumping an already-existing below. It is easiest to obtain valid config values by dumping an already-existing
protocol mapper configuration through check-mode in the "existing" field. protocol mapper configuration through check-mode in the "existing" field.
type: dict
attributes: attributes:
description: description:
- A dict of further attributes for this client template. This can contain various - A dict of further attributes for this client template. This can contain various
configuration settings, though in the default installation of Keycloak as of 3.4, none configuration settings, though in the default installation of Keycloak as of 3.4, none
are documented or known, so this is usually empty. are documented or known, so this is usually empty.
type: dict
notes: notes:
- The Keycloak REST API defines further fields (namely I(bearerOnly), I(consentRequired), I(standardFlowEnabled), - The Keycloak REST API defines further fields (namely I(bearerOnly), I(consentRequired), I(standardFlowEnabled),

View file

@ -41,8 +41,8 @@ options:
type: str type: str
description: description:
- Name of affected host name. Can be a list. - Name of affected host name. Can be a list.
- If not specified, it defaults to the remote system's hostname.
required: false required: false
default: machine's hostname
aliases: ['host'] aliases: ['host']
env: env:
type: str type: str
@ -144,7 +144,7 @@ def main():
version=dict(required=True), version=dict(required=True),
token=dict(required=True, no_log=True), token=dict(required=True, no_log=True),
state=dict(required=True, choices=['started', 'finished', 'failed']), state=dict(required=True, choices=['started', 'finished', 'failed']),
hosts=dict(required=False, default=[socket.gethostname()], aliases=['host']), # @FIXME hosts=dict(required=False, aliases=['host']),
env=dict(required=False), env=dict(required=False),
owner=dict(required=False), owner=dict(required=False),
description=dict(required=False), description=dict(required=False),
@ -168,6 +168,8 @@ def main():
v = module.params[k] v = module.params[k]
if v is not None: if v is not None:
body[k] = v body[k] = v
if body.get('hosts') is None:
body['hosts'] = [socket.gethostname()]
if not isinstance(body['hosts'], list): if not isinstance(body['hosts'], list):
body['hosts'] = [body['hosts']] body['hosts'] = [body['hosts']]

View file

@ -71,6 +71,7 @@ options:
- Record priority. - Record priority.
- Required for C(type=MX) and C(type=SRV) - Required for C(type=MX) and C(type=SRV)
default: 1 default: 1
type: int
proto: proto:
description: description:
- Service protocol. Required for C(type=SRV) and C(type=TLSA). - Service protocol. Required for C(type=SRV) and C(type=TLSA).
@ -100,6 +101,7 @@ options:
description: description:
- Record service. - Record service.
- Required for C(type=SRV) - Required for C(type=SRV)
type: str
solo: solo:
description: description:
- Whether the record should be the only one for that record type and record name. - Whether the record should be the only one for that record type and record name.

View file

@ -31,12 +31,14 @@ options:
required: false required: false
description: description:
- Name of the namespace - Name of the namespace
type: str
state: state:
required: false required: false
default: "present" default: "present"
choices: [ present, absent ] choices: [ present, absent ]
description: description:
- Whether the namespace should exist - Whether the namespace should exist
type: str
''' '''
EXAMPLES = ''' EXAMPLES = '''

View file

@ -21,11 +21,13 @@ options:
- HTTP connection timeout in seconds - HTTP connection timeout in seconds
required: false required: false
default: 10 default: 10
type: int
http_agent: http_agent:
description: description:
- Set http user agent - Set http user agent
required: false required: false
default: "ansible-ipinfoio-module/0.0.1" default: "ansible-ipinfoio-module/0.0.1"
type: str
notes: notes:
- "Check http://ipinfo.io/ for more information" - "Check http://ipinfo.io/ for more information"
''' '''

View file

@ -31,6 +31,7 @@ options:
passwd: passwd:
description: description:
- The (plaintext) password to be set for I(dn). - The (plaintext) password to be set for I(dn).
type: str
extends_documentation_fragment: extends_documentation_fragment:
- community.general.ldap.documentation - community.general.ldap.documentation

View file

@ -20,32 +20,39 @@ options:
description: description:
- API key for authentication, must be obtained via the netcup CCP (U(https://ccp.netcup.net)) - API key for authentication, must be obtained via the netcup CCP (U(https://ccp.netcup.net))
required: True required: True
type: str
api_password: api_password:
description: description:
- API password for authentication, must be obtained via the netcup CCP (https://ccp.netcup.net) - API password for authentication, must be obtained via the netcup CCP (https://ccp.netcup.net)
required: True required: True
type: str
customer_id: customer_id:
description: description:
- Netcup customer id - Netcup customer id
required: True required: True
type: int
domain: domain:
description: description:
- Domainname the records should be added / removed - Domainname the records should be added / removed
required: True required: True
type: str
record: record:
description: description:
- Record to add or delete, supports wildcard (*). Default is C(@) (e.g. the zone name) - Record to add or delete, supports wildcard (*). Default is C(@) (e.g. the zone name)
default: "@" default: "@"
aliases: [ name ] aliases: [ name ]
type: str
type: type:
description: description:
- Record type - Record type
choices: ['A', 'AAAA', 'MX', 'CNAME', 'CAA', 'SRV', 'TXT', 'TLSA', 'NS', 'DS'] choices: ['A', 'AAAA', 'MX', 'CNAME', 'CAA', 'SRV', 'TXT', 'TLSA', 'NS', 'DS']
required: True required: True
type: str
value: value:
description: description:
- Record value - Record value
required: true required: true
type: str
solo: solo:
type: bool type: bool
default: False default: False
@ -56,12 +63,14 @@ options:
description: description:
- Record priority. Required for C(type=MX) - Record priority. Required for C(type=MX)
required: False required: False
type: int
state: state:
description: description:
- Whether the record should exist or not - Whether the record should exist or not
required: False required: False
default: present default: present
choices: [ 'present', 'absent' ] choices: [ 'present', 'absent' ]
type: str
requirements: requirements:
- "nc-dnsapi >= 0.1.3" - "nc-dnsapi >= 0.1.3"
author: "Nicolai Buchwitz (@nbuchwitz)" author: "Nicolai Buchwitz (@nbuchwitz)"

View file

@ -204,18 +204,18 @@ def do_notify_rocketchat(module, domain, token, protocol, payload):
def main(): def main():
module = AnsibleModule( module = AnsibleModule(
argument_spec=dict( argument_spec=dict(
domain=dict(type='str', required=True, default=None), domain=dict(type='str', required=True),
token=dict(type='str', required=True, no_log=True), token=dict(type='str', required=True, no_log=True),
protocol=dict(type='str', default='https', choices=['http', 'https']), protocol=dict(type='str', default='https', choices=['http', 'https']),
msg=dict(type='str', required=False, default=None), msg=dict(type='str', required=False),
channel=dict(type='str', default=None), channel=dict(type='str'),
username=dict(type='str', default='Ansible'), username=dict(type='str', default='Ansible'),
icon_url=dict(type='str', default='https://www.ansible.com/favicon.ico'), icon_url=dict(type='str', default='https://www.ansible.com/favicon.ico'),
icon_emoji=dict(type='str', default=None), icon_emoji=dict(type='str'),
link_names=dict(type='int', default=1, choices=[0, 1]), link_names=dict(type='int', default=1, choices=[0, 1]),
validate_certs=dict(default=True, type='bool'), validate_certs=dict(default=True, type='bool'),
color=dict(type='str', default='normal', choices=['normal', 'good', 'warning', 'danger']), color=dict(type='str', default='normal', choices=['normal', 'good', 'warning', 'danger']),
attachments=dict(type='list', required=False, default=None) attachments=dict(type='list', required=False)
) )
) )

View file

@ -815,7 +815,6 @@ def main():
['activationkey', 'consumer_id'], ['activationkey', 'consumer_id'],
['activationkey', 'environment'], ['activationkey', 'environment'],
['activationkey', 'autosubscribe'], ['activationkey', 'autosubscribe'],
['force', 'consumer_id'],
['pool', 'pool_ids']], ['pool', 'pool_ids']],
required_if=[['state', 'present', ['username', 'activationkey'], True]], required_if=[['state', 'present', ['username', 'activationkey'], True]],
) )

View file

@ -128,8 +128,7 @@ options:
description: The CA bundle string with custom certificates. defaults to None. description: The CA bundle string with custom certificates. defaults to None.
path: path:
type: str type: str
description: Database name for oVirt metrics. Defaults to ovirt_engine_history. description: Database name for oVirt metrics. Defaults to C(ovirt_engine_history).
default: ovirt_engine_history
alerts: alerts:
description: Alerts endpoint connection information. description: Alerts endpoint connection information.
@ -175,6 +174,12 @@ options:
auth_key: auth_key:
type: str type: str
description: SSH private key. description: SSH private key.
validate_certs:
description:
- Whether certificates should be verified for connections.
type: bool
default: yes
aliases: [ verify_ssl ]
''' '''
EXAMPLES = ''' EXAMPLES = '''

View file

@ -19,29 +19,36 @@ options:
description: description:
- Name of the host to be added to Stacki. - Name of the host to be added to Stacki.
required: True required: True
type: str
stacki_user: stacki_user:
description: description:
- Username for authenticating with Stacki API, but if not - Username for authenticating with Stacki API, but if not
specified, the environment variable C(stacki_user) is used instead. specified, the environment variable C(stacki_user) is used instead.
required: True required: True
type: str
stacki_password: stacki_password:
description: description:
- Password for authenticating with Stacki API, but if not - Password for authenticating with Stacki API, but if not
specified, the environment variable C(stacki_password) is used instead. specified, the environment variable C(stacki_password) is used instead.
required: True required: True
type: str
stacki_endpoint: stacki_endpoint:
description: description:
- URL for the Stacki API Endpoint. - URL for the Stacki API Endpoint.
required: True required: True
type: str
prim_intf_mac: prim_intf_mac:
description: description:
- MAC Address for the primary PXE boot network interface. - MAC Address for the primary PXE boot network interface.
type: str
prim_intf_ip: prim_intf_ip:
description: description:
- IP Address for the primary network interface. - IP Address for the primary network interface.
type: str
prim_intf: prim_intf:
description: description:
- Name of the primary network interface. - Name of the primary network interface.
type: str
force_install: force_install:
description: description:
- Set value to True to force node into install state if it already exists in stacki. - Set value to True to force node into install state if it already exists in stacki.

View file

@ -19,14 +19,17 @@ options:
description: description:
- MAC address to send Wake-on-LAN broadcast packet for. - MAC address to send Wake-on-LAN broadcast packet for.
required: true required: true
type: str
broadcast: broadcast:
description: description:
- Network broadcast address to use for broadcasting magic Wake-on-LAN packet. - Network broadcast address to use for broadcasting magic Wake-on-LAN packet.
default: 255.255.255.255 default: 255.255.255.255
type: str
port: port:
description: description:
- UDP port to use for magic Wake-on-LAN packet. - UDP port to use for magic Wake-on-LAN packet.
default: 7 default: 7
type: int
todo: todo:
- Add arping support to check whether the system is up (before and after) - Add arping support to check whether the system is up (before and after)
- Enable check-mode support (when we have arping support) - Enable check-mode support (when we have arping support)

View file

@ -87,7 +87,7 @@ from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native from ansible.module_utils._text import to_native
def _load_dist_subclass(cls, *args, **kwargs): def _load_dist_subclass(cls, *args, **kwargs): # @FIXME remove unused function?
''' '''
Used for derivative implementations Used for derivative implementations
''' '''
@ -239,7 +239,7 @@ def main():
name=dict(type='str', required=True), name=dict(type='str', required=True),
state=dict(type='str', choices=['killed', 'once', 'reloaded', 'restarted', 'started', 'stopped']), state=dict(type='str', choices=['killed', 'once', 'reloaded', 'restarted', 'started', 'stopped']),
enabled=dict(type='bool'), enabled=dict(type='bool'),
dist=dict(type='str', default='runit'), dist=dict(type='str', default='runit'), # @FIXME unused param?
service_dir=dict(type='str', default='/var/service'), service_dir=dict(type='str', default='/var/service'),
service_src=dict(type='str', default='/etc/sv'), service_src=dict(type='str', default='/etc/sv'),
), ),

View file

@ -41,9 +41,11 @@ options:
description: description:
- An optional comment to add to the object - An optional comment to add to the object
resolved: resolved:
type: bool
description: description:
- Whether or not the object is resolved - Whether or not the object is resolved
resolved6: resolved6:
type: bool
description: description:
- Whether or not the object is resolved - Whether or not the object is resolved
@ -118,8 +120,8 @@ def main():
address=dict(type='str', required=True), address=dict(type='str', required=True),
comment=dict(type='str', required=False, default=""), comment=dict(type='str', required=False, default=""),
address6=dict(type='str', required=False), address6=dict(type='str', required=False),
resolved=dict(type='boolean', required=False), # @FIXME bool instead of boolean resolved=dict(type='bool', required=False),
resolved6=dict(type='boolean', required=False), # @FIXME bool instead of boolean resolved6=dict(type='bool', required=False),
) )
) )
try: try:

View file

@ -4,10 +4,8 @@ plugins/module_utils/compat/ipaddress.py no-assert
plugins/module_utils/compat/ipaddress.py no-unicode-literals plugins/module_utils/compat/ipaddress.py no-unicode-literals
plugins/module_utils/_mount.py future-import-boilerplate plugins/module_utils/_mount.py future-import-boilerplate
plugins/module_utils/_mount.py metaclass-boilerplate plugins/module_utils/_mount.py metaclass-boilerplate
plugins/modules/cloud/centurylink/clc_alert_policy.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/centurylink/clc_alert_policy.py validate-modules:parameter-list-no-elements plugins/modules/cloud/centurylink/clc_alert_policy.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:parameter-list-no-elements plugins/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:parameter-list-no-elements plugins/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:parameter-list-no-elements plugins/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/centurylink/clc_modify_server.py validate-modules:parameter-list-no-elements plugins/modules/cloud/centurylink/clc_modify_server.py validate-modules:parameter-list-no-elements
@ -76,15 +74,8 @@ plugins/modules/cloud/lxc/lxc_container.py pylint:blacklisted-name
plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path
plugins/modules/cloud/lxc/lxc_container.py validate-modules:invalid-ansiblemodule-schema plugins/modules/cloud/lxc/lxc_container.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen
plugins/modules/cloud/lxd/lxd_container.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/lxd/lxd_container.py validate-modules:doc-missing-type
plugins/modules/cloud/lxd/lxd_container.py validate-modules:invalid-ansiblemodule-schema plugins/modules/cloud/lxd/lxd_container.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/cloud/lxd/lxd_container.py validate-modules:parameter-list-no-elements plugins/modules/cloud/lxd/lxd_container.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/lxd/lxd_container.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/lxd/lxd_container.py validate-modules:undocumented-parameter
plugins/modules/cloud/lxd/lxd_profile.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/lxd/lxd_profile.py validate-modules:doc-missing-type
plugins/modules/cloud/lxd/lxd_profile.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/misc/rhevm.py validate-modules:parameter-state-invalid-choice plugins/modules/cloud/misc/rhevm.py validate-modules:parameter-state-invalid-choice
plugins/modules/cloud/oneandone/oneandone_firewall_policy.py validate-modules:parameter-list-no-elements plugins/modules/cloud/oneandone/oneandone_firewall_policy.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/oneandone/oneandone_load_balancer.py validate-modules:parameter-list-no-elements plugins/modules/cloud/oneandone/oneandone_load_balancer.py validate-modules:parameter-list-no-elements
@ -95,15 +86,9 @@ plugins/modules/cloud/online/online_server_facts.py validate-modules:return-synt
plugins/modules/cloud/online/online_server_info.py validate-modules:return-syntax-error plugins/modules/cloud/online/online_server_info.py validate-modules:return-syntax-error
plugins/modules/cloud/online/online_user_facts.py validate-modules:return-syntax-error plugins/modules/cloud/online/online_user_facts.py validate-modules:return-syntax-error
plugins/modules/cloud/online/online_user_info.py validate-modules:return-syntax-error plugins/modules/cloud/online/online_user_info.py validate-modules:return-syntax-error
plugins/modules/cloud/opennebula/one_host.py validate-modules:doc-missing-type
plugins/modules/cloud/opennebula/one_host.py validate-modules:parameter-list-no-elements plugins/modules/cloud/opennebula/one_host.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/opennebula/one_host.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_image.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_image_info.py validate-modules:parameter-list-no-elements plugins/modules/cloud/opennebula/one_image_info.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/opennebula/one_image_info.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_service.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_vm.py validate-modules:parameter-list-no-elements plugins/modules/cloud/opennebula/one_vm.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/opennebula/one_vm.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/oracle/oci_vcn.py validate-modules:parameter-list-no-elements plugins/modules/cloud/oracle/oci_vcn.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:doc-missing-type plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:doc-missing-type
plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:parameter-list-no-elements plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:parameter-list-no-elements
@ -115,8 +100,6 @@ plugins/modules/cloud/ovirt/ovirt_datacenter_facts.py validate-modules:parameter
plugins/modules/cloud/ovirt/ovirt_disk_facts.py validate-modules:doc-missing-type plugins/modules/cloud/ovirt/ovirt_disk_facts.py validate-modules:doc-missing-type
plugins/modules/cloud/ovirt/ovirt_disk_facts.py validate-modules:parameter-list-no-elements plugins/modules/cloud/ovirt/ovirt_disk_facts.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/ovirt/ovirt_event_facts.py validate-modules:parameter-list-no-elements plugins/modules/cloud/ovirt/ovirt_event_facts.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:doc-missing-type
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:parameter-list-no-elements plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:undocumented-parameter plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:undocumented-parameter
plugins/modules/cloud/ovirt/ovirt_group_facts.py validate-modules:doc-missing-type plugins/modules/cloud/ovirt/ovirt_group_facts.py validate-modules:doc-missing-type
@ -165,7 +148,6 @@ plugins/modules/cloud/packet/packet_sshkey.py validate-modules:parameter-type-no
plugins/modules/cloud/packet/packet_sshkey.py validate-modules:undocumented-parameter plugins/modules/cloud/packet/packet_sshkey.py validate-modules:undocumented-parameter
plugins/modules/cloud/packet/packet_volume_attachment.py pylint:ansible-bad-function plugins/modules/cloud/packet/packet_volume_attachment.py pylint:ansible-bad-function
plugins/modules/cloud/profitbricks/profitbricks.py validate-modules:parameter-list-no-elements plugins/modules/cloud/profitbricks/profitbricks.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/profitbricks/profitbricks_nic.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:doc-missing-type plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:doc-missing-type
plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:parameter-list-no-elements plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:undocumented-parameter plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:undocumented-parameter
@ -196,15 +178,11 @@ plugins/modules/cloud/scaleway/scaleway_snapshot_facts.py validate-modules:retur
plugins/modules/cloud/scaleway/scaleway_snapshot_info.py validate-modules:return-syntax-error plugins/modules/cloud/scaleway/scaleway_snapshot_info.py validate-modules:return-syntax-error
plugins/modules/cloud/scaleway/scaleway_volume_facts.py validate-modules:return-syntax-error plugins/modules/cloud/scaleway/scaleway_volume_facts.py validate-modules:return-syntax-error
plugins/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:return-syntax-error plugins/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:return-syntax-error
plugins/modules/cloud/smartos/imgadm.py validate-modules:doc-missing-type
plugins/modules/cloud/smartos/imgadm.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/smartos/smartos_image_info.py validate-modules:doc-missing-type plugins/modules/cloud/smartos/smartos_image_info.py validate-modules:doc-missing-type
plugins/modules/cloud/smartos/vmadm.py validate-modules:parameter-list-no-elements plugins/modules/cloud/smartos/vmadm.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/smartos/vmadm.py validate-modules:parameter-type-not-in-doc plugins/modules/cloud/smartos/vmadm.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/smartos/vmadm.py validate-modules:undocumented-parameter plugins/modules/cloud/smartos/vmadm.py validate-modules:undocumented-parameter
plugins/modules/cloud/softlayer/sl_vm.py validate-modules:parameter-list-no-elements plugins/modules/cloud/softlayer/sl_vm.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-missing-type
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-list-no-elements plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-type-not-in-doc plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:undocumented-parameter plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:undocumented-parameter
@ -212,12 +190,8 @@ plugins/modules/cloud/univention/udm_dns_record.py validate-modules:parameter-ty
plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-list-no-elements plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-type-not-in-doc plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:undocumented-parameter plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:undocumented-parameter
plugins/modules/cloud/univention/udm_group.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/univention/udm_group.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/univention/udm_share.py validate-modules:parameter-list-no-elements plugins/modules/cloud/univention/udm_share.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/univention/udm_user.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/univention/udm_user.py validate-modules:parameter-list-no-elements plugins/modules/cloud/univention/udm_user.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/univention/udm_user.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/webfaction/webfaction_app.py validate-modules:doc-missing-type plugins/modules/cloud/webfaction/webfaction_app.py validate-modules:doc-missing-type
plugins/modules/cloud/webfaction/webfaction_db.py validate-modules:doc-missing-type plugins/modules/cloud/webfaction/webfaction_db.py validate-modules:doc-missing-type
plugins/modules/cloud/webfaction/webfaction_domain.py validate-modules:doc-missing-type plugins/modules/cloud/webfaction/webfaction_domain.py validate-modules:doc-missing-type
@ -267,17 +241,10 @@ plugins/modules/database/vertica/vertica_user.py validate-modules:doc-missing-ty
plugins/modules/database/vertica/vertica_user.py validate-modules:undocumented-parameter 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/files/iso_extract.py validate-modules:doc-default-does-not-match-spec
plugins/modules/files/xml.py validate-modules:parameter-list-no-elements plugins/modules/files/xml.py validate-modules:parameter-list-no-elements
plugins/modules/identity/keycloak/keycloak_client.py validate-modules:doc-default-does-not-match-spec
plugins/modules/identity/keycloak/keycloak_client.py validate-modules:doc-missing-type
plugins/modules/identity/keycloak/keycloak_client.py validate-modules:parameter-list-no-elements plugins/modules/identity/keycloak/keycloak_client.py validate-modules:parameter-list-no-elements
plugins/modules/identity/keycloak/keycloak_client.py validate-modules:parameter-type-not-in-doc
plugins/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:doc-default-does-not-match-spec
plugins/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:doc-missing-type
plugins/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:parameter-type-not-in-doc
plugins/modules/identity/onepassword_info.py validate-modules:parameter-list-no-elements plugins/modules/identity/onepassword_info.py validate-modules:parameter-list-no-elements
plugins/modules/identity/opendj/opendj_backendprop.py validate-modules:doc-missing-type 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/identity/opendj/opendj_backendprop.py validate-modules:parameter-type-not-in-doc
plugins/modules/monitoring/bigpanda.py validate-modules:doc-default-does-not-match-spec
plugins/modules/monitoring/bigpanda.py validate-modules:invalid-argument-name 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_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:invalid-argument-name
@ -291,19 +258,12 @@ plugins/modules/monitoring/sensu/sensu_client.py validate-modules:parameter-list
plugins/modules/monitoring/sensu/sensu_handler.py validate-modules:parameter-list-no-elements plugins/modules/monitoring/sensu/sensu_handler.py validate-modules:parameter-list-no-elements
plugins/modules/monitoring/statusio_maintenance.py pylint:blacklisted-name plugins/modules/monitoring/statusio_maintenance.py pylint:blacklisted-name
plugins/modules/monitoring/statusio_maintenance.py validate-modules:parameter-list-no-elements plugins/modules/monitoring/statusio_maintenance.py validate-modules:parameter-list-no-elements
plugins/modules/net_tools/cloudflare_dns.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/dnsimple.py validate-modules:parameter-list-no-elements plugins/modules/net_tools/dnsimple.py validate-modules:parameter-list-no-elements
plugins/modules/net_tools/ip_netns.py validate-modules:doc-missing-type
plugins/modules/net_tools/ipinfoio_facts.py validate-modules:doc-missing-type
plugins/modules/net_tools/ipinfoio_facts.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:parameter-type-not-in-doc # This triggers when a parameter is undocumented plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:parameter-type-not-in-doc # This triggers when a parameter is undocumented
plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:undocumented-parameter # Parameter removed but reason for removal is shown by custom code plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:undocumented-parameter # Parameter removed but reason for removal is shown by custom code
plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:doc-missing-type plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:doc-missing-type
plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:parameter-type-not-in-doc plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:undocumented-parameter # Parameter removed but reason for removal is shown by custom code plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:undocumented-parameter # Parameter removed but reason for removal is shown by custom code
plugins/modules/net_tools/ldap/ldap_passwd.py validate-modules:doc-missing-type
plugins/modules/net_tools/netcup_dns.py validate-modules:doc-missing-type
plugins/modules/net_tools/netcup_dns.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-default-does-not-match-spec plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-default-does-not-match-spec
plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-missing-type plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-missing-type
plugins/modules/net_tools/nios/nios_a_record.py validate-modules:invalid-ansiblemodule-schema plugins/modules/net_tools/nios/nios_a_record.py validate-modules:invalid-ansiblemodule-schema
@ -401,7 +361,6 @@ plugins/modules/notification/nexmo.py validate-modules:parameter-list-no-element
plugins/modules/notification/office_365_connector_card.py validate-modules:parameter-list-no-elements plugins/modules/notification/office_365_connector_card.py validate-modules:parameter-list-no-elements
plugins/modules/notification/pushbullet.py validate-modules:parameter-type-not-in-doc plugins/modules/notification/pushbullet.py validate-modules:parameter-type-not-in-doc
plugins/modules/notification/pushbullet.py validate-modules:undocumented-parameter plugins/modules/notification/pushbullet.py validate-modules:undocumented-parameter
plugins/modules/notification/rocketchat.py validate-modules:no-default-for-required-parameter
plugins/modules/notification/rocketchat.py validate-modules:parameter-list-no-elements plugins/modules/notification/rocketchat.py validate-modules:parameter-list-no-elements
plugins/modules/notification/sendgrid.py validate-modules:parameter-list-no-elements plugins/modules/notification/sendgrid.py validate-modules:parameter-list-no-elements
plugins/modules/notification/slack.py validate-modules:parameter-list-no-elements plugins/modules/notification/slack.py validate-modules:parameter-list-no-elements
@ -442,7 +401,6 @@ plugins/modules/remote_management/manageiq/manageiq_alert_profiles.py validate-m
plugins/modules/remote_management/manageiq/manageiq_policies.py validate-modules:parameter-list-no-elements plugins/modules/remote_management/manageiq/manageiq_policies.py validate-modules:parameter-list-no-elements
plugins/modules/remote_management/manageiq/manageiq_policies.py validate-modules:parameter-state-invalid-choice plugins/modules/remote_management/manageiq/manageiq_policies.py validate-modules:parameter-state-invalid-choice
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-choices-do-not-match-spec plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-choices-do-not-match-spec
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-default-does-not-match-spec
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-missing-type plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-missing-type
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:invalid-ansiblemodule-schema plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:parameter-type-not-in-doc plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:parameter-type-not-in-doc
@ -495,7 +453,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: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:parameter-type-not-in-doc
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:undocumented-parameter plugins/modules/remote_management/stacki/stacki_host.py validate-modules:undocumented-parameter
plugins/modules/remote_management/wakeonlan.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/bzr.py validate-modules:parameter-type-not-in-doc 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:doc-missing-type
plugins/modules/source_control/git_config.py validate-modules:parameter-type-not-in-doc plugins/modules/source_control/git_config.py validate-modules:parameter-type-not-in-doc
@ -596,7 +553,6 @@ plugins/modules/system/timezone.py pylint:blacklisted-name
plugins/modules/system/xfconf.py validate-modules:parameter-state-invalid-choice plugins/modules/system/xfconf.py validate-modules:parameter-state-invalid-choice
plugins/modules/web_infrastructure/jenkins_plugin.py use-argspec-type-path plugins/modules/web_infrastructure/jenkins_plugin.py use-argspec-type-path
plugins/modules/web_infrastructure/rundeck_acl_policy.py pylint:blacklisted-name plugins/modules/web_infrastructure/rundeck_acl_policy.py pylint:blacklisted-name
plugins/modules/web_infrastructure/sophos_utm/utm_network_interface_address.py validate-modules:parameter-type-not-in-doc
scripts/inventory/gce.py pylint:blacklisted-name scripts/inventory/gce.py pylint:blacklisted-name
tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py future-import-boilerplate tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py future-import-boilerplate
tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py metaclass-boilerplate tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py metaclass-boilerplate

View file

@ -4,10 +4,8 @@ plugins/module_utils/compat/ipaddress.py no-assert
plugins/module_utils/compat/ipaddress.py no-unicode-literals plugins/module_utils/compat/ipaddress.py no-unicode-literals
plugins/module_utils/_mount.py future-import-boilerplate plugins/module_utils/_mount.py future-import-boilerplate
plugins/module_utils/_mount.py metaclass-boilerplate plugins/module_utils/_mount.py metaclass-boilerplate
plugins/modules/cloud/centurylink/clc_alert_policy.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/centurylink/clc_alert_policy.py validate-modules:parameter-list-no-elements plugins/modules/cloud/centurylink/clc_alert_policy.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:parameter-list-no-elements plugins/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:parameter-list-no-elements plugins/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:parameter-list-no-elements plugins/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/centurylink/clc_modify_server.py validate-modules:parameter-list-no-elements plugins/modules/cloud/centurylink/clc_modify_server.py validate-modules:parameter-list-no-elements
@ -76,15 +74,8 @@ plugins/modules/cloud/lxc/lxc_container.py pylint:blacklisted-name
plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path
plugins/modules/cloud/lxc/lxc_container.py validate-modules:invalid-ansiblemodule-schema plugins/modules/cloud/lxc/lxc_container.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen
plugins/modules/cloud/lxd/lxd_container.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/lxd/lxd_container.py validate-modules:doc-missing-type
plugins/modules/cloud/lxd/lxd_container.py validate-modules:invalid-ansiblemodule-schema plugins/modules/cloud/lxd/lxd_container.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/cloud/lxd/lxd_container.py validate-modules:parameter-list-no-elements plugins/modules/cloud/lxd/lxd_container.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/lxd/lxd_container.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/lxd/lxd_container.py validate-modules:undocumented-parameter
plugins/modules/cloud/lxd/lxd_profile.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/lxd/lxd_profile.py validate-modules:doc-missing-type
plugins/modules/cloud/lxd/lxd_profile.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/misc/rhevm.py validate-modules:parameter-state-invalid-choice plugins/modules/cloud/misc/rhevm.py validate-modules:parameter-state-invalid-choice
plugins/modules/cloud/oneandone/oneandone_firewall_policy.py validate-modules:parameter-list-no-elements plugins/modules/cloud/oneandone/oneandone_firewall_policy.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/oneandone/oneandone_load_balancer.py validate-modules:parameter-list-no-elements plugins/modules/cloud/oneandone/oneandone_load_balancer.py validate-modules:parameter-list-no-elements
@ -95,15 +86,9 @@ plugins/modules/cloud/online/online_server_facts.py validate-modules:return-synt
plugins/modules/cloud/online/online_server_info.py validate-modules:return-syntax-error plugins/modules/cloud/online/online_server_info.py validate-modules:return-syntax-error
plugins/modules/cloud/online/online_user_facts.py validate-modules:return-syntax-error plugins/modules/cloud/online/online_user_facts.py validate-modules:return-syntax-error
plugins/modules/cloud/online/online_user_info.py validate-modules:return-syntax-error plugins/modules/cloud/online/online_user_info.py validate-modules:return-syntax-error
plugins/modules/cloud/opennebula/one_host.py validate-modules:doc-missing-type
plugins/modules/cloud/opennebula/one_host.py validate-modules:parameter-list-no-elements plugins/modules/cloud/opennebula/one_host.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/opennebula/one_host.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_image.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_image_info.py validate-modules:parameter-list-no-elements plugins/modules/cloud/opennebula/one_image_info.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/opennebula/one_image_info.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_service.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_vm.py validate-modules:parameter-list-no-elements plugins/modules/cloud/opennebula/one_vm.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/opennebula/one_vm.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/oracle/oci_vcn.py validate-modules:parameter-list-no-elements plugins/modules/cloud/oracle/oci_vcn.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:doc-missing-type plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:doc-missing-type
plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:parameter-list-no-elements plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:parameter-list-no-elements
@ -115,8 +100,6 @@ plugins/modules/cloud/ovirt/ovirt_datacenter_facts.py validate-modules:parameter
plugins/modules/cloud/ovirt/ovirt_disk_facts.py validate-modules:doc-missing-type plugins/modules/cloud/ovirt/ovirt_disk_facts.py validate-modules:doc-missing-type
plugins/modules/cloud/ovirt/ovirt_disk_facts.py validate-modules:parameter-list-no-elements plugins/modules/cloud/ovirt/ovirt_disk_facts.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/ovirt/ovirt_event_facts.py validate-modules:parameter-list-no-elements plugins/modules/cloud/ovirt/ovirt_event_facts.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:doc-missing-type
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:parameter-list-no-elements plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:undocumented-parameter plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:undocumented-parameter
plugins/modules/cloud/ovirt/ovirt_group_facts.py validate-modules:doc-missing-type plugins/modules/cloud/ovirt/ovirt_group_facts.py validate-modules:doc-missing-type
@ -165,7 +148,6 @@ plugins/modules/cloud/packet/packet_sshkey.py validate-modules:parameter-type-no
plugins/modules/cloud/packet/packet_sshkey.py validate-modules:undocumented-parameter plugins/modules/cloud/packet/packet_sshkey.py validate-modules:undocumented-parameter
plugins/modules/cloud/packet/packet_volume_attachment.py pylint:ansible-bad-function plugins/modules/cloud/packet/packet_volume_attachment.py pylint:ansible-bad-function
plugins/modules/cloud/profitbricks/profitbricks.py validate-modules:parameter-list-no-elements plugins/modules/cloud/profitbricks/profitbricks.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/profitbricks/profitbricks_nic.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:doc-missing-type plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:doc-missing-type
plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:parameter-list-no-elements plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:undocumented-parameter plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:undocumented-parameter
@ -196,15 +178,11 @@ plugins/modules/cloud/scaleway/scaleway_snapshot_facts.py validate-modules:retur
plugins/modules/cloud/scaleway/scaleway_snapshot_info.py validate-modules:return-syntax-error plugins/modules/cloud/scaleway/scaleway_snapshot_info.py validate-modules:return-syntax-error
plugins/modules/cloud/scaleway/scaleway_volume_facts.py validate-modules:return-syntax-error plugins/modules/cloud/scaleway/scaleway_volume_facts.py validate-modules:return-syntax-error
plugins/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:return-syntax-error plugins/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:return-syntax-error
plugins/modules/cloud/smartos/imgadm.py validate-modules:doc-missing-type
plugins/modules/cloud/smartos/imgadm.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/smartos/smartos_image_info.py validate-modules:doc-missing-type plugins/modules/cloud/smartos/smartos_image_info.py validate-modules:doc-missing-type
plugins/modules/cloud/smartos/vmadm.py validate-modules:parameter-list-no-elements plugins/modules/cloud/smartos/vmadm.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/smartos/vmadm.py validate-modules:parameter-type-not-in-doc plugins/modules/cloud/smartos/vmadm.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/smartos/vmadm.py validate-modules:undocumented-parameter plugins/modules/cloud/smartos/vmadm.py validate-modules:undocumented-parameter
plugins/modules/cloud/softlayer/sl_vm.py validate-modules:parameter-list-no-elements plugins/modules/cloud/softlayer/sl_vm.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-missing-type
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-list-no-elements plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-type-not-in-doc plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:undocumented-parameter plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:undocumented-parameter
@ -212,12 +190,8 @@ plugins/modules/cloud/univention/udm_dns_record.py validate-modules:parameter-ty
plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-list-no-elements plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-type-not-in-doc plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:undocumented-parameter plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:undocumented-parameter
plugins/modules/cloud/univention/udm_group.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/univention/udm_group.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/univention/udm_share.py validate-modules:parameter-list-no-elements plugins/modules/cloud/univention/udm_share.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/univention/udm_user.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/univention/udm_user.py validate-modules:parameter-list-no-elements plugins/modules/cloud/univention/udm_user.py validate-modules:parameter-list-no-elements
plugins/modules/cloud/univention/udm_user.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/webfaction/webfaction_app.py validate-modules:doc-missing-type plugins/modules/cloud/webfaction/webfaction_app.py validate-modules:doc-missing-type
plugins/modules/cloud/webfaction/webfaction_db.py validate-modules:doc-missing-type plugins/modules/cloud/webfaction/webfaction_db.py validate-modules:doc-missing-type
plugins/modules/cloud/webfaction/webfaction_domain.py validate-modules:doc-missing-type plugins/modules/cloud/webfaction/webfaction_domain.py validate-modules:doc-missing-type
@ -267,17 +241,10 @@ plugins/modules/database/vertica/vertica_user.py validate-modules:doc-missing-ty
plugins/modules/database/vertica/vertica_user.py validate-modules:undocumented-parameter 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/files/iso_extract.py validate-modules:doc-default-does-not-match-spec
plugins/modules/files/xml.py validate-modules:parameter-list-no-elements plugins/modules/files/xml.py validate-modules:parameter-list-no-elements
plugins/modules/identity/keycloak/keycloak_client.py validate-modules:doc-default-does-not-match-spec
plugins/modules/identity/keycloak/keycloak_client.py validate-modules:doc-missing-type
plugins/modules/identity/keycloak/keycloak_client.py validate-modules:parameter-list-no-elements plugins/modules/identity/keycloak/keycloak_client.py validate-modules:parameter-list-no-elements
plugins/modules/identity/keycloak/keycloak_client.py validate-modules:parameter-type-not-in-doc
plugins/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:doc-default-does-not-match-spec
plugins/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:doc-missing-type
plugins/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:parameter-type-not-in-doc
plugins/modules/identity/onepassword_info.py validate-modules:parameter-list-no-elements plugins/modules/identity/onepassword_info.py validate-modules:parameter-list-no-elements
plugins/modules/identity/opendj/opendj_backendprop.py validate-modules:doc-missing-type 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/identity/opendj/opendj_backendprop.py validate-modules:parameter-type-not-in-doc
plugins/modules/monitoring/bigpanda.py validate-modules:doc-default-does-not-match-spec
plugins/modules/monitoring/bigpanda.py validate-modules:invalid-argument-name 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_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:invalid-argument-name
@ -291,19 +258,12 @@ plugins/modules/monitoring/sensu/sensu_client.py validate-modules:parameter-list
plugins/modules/monitoring/sensu/sensu_handler.py validate-modules:parameter-list-no-elements plugins/modules/monitoring/sensu/sensu_handler.py validate-modules:parameter-list-no-elements
plugins/modules/monitoring/statusio_maintenance.py pylint:blacklisted-name plugins/modules/monitoring/statusio_maintenance.py pylint:blacklisted-name
plugins/modules/monitoring/statusio_maintenance.py validate-modules:parameter-list-no-elements plugins/modules/monitoring/statusio_maintenance.py validate-modules:parameter-list-no-elements
plugins/modules/net_tools/cloudflare_dns.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/dnsimple.py validate-modules:parameter-list-no-elements plugins/modules/net_tools/dnsimple.py validate-modules:parameter-list-no-elements
plugins/modules/net_tools/ip_netns.py validate-modules:doc-missing-type
plugins/modules/net_tools/ipinfoio_facts.py validate-modules:doc-missing-type
plugins/modules/net_tools/ipinfoio_facts.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:parameter-type-not-in-doc # This triggers when a parameter is undocumented plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:parameter-type-not-in-doc # This triggers when a parameter is undocumented
plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:undocumented-parameter # Parameter removed but reason for removal is shown by custom code plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:undocumented-parameter # Parameter removed but reason for removal is shown by custom code
plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:doc-missing-type plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:doc-missing-type
plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:parameter-type-not-in-doc plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:undocumented-parameter # Parameter removed but reason for removal is shown by custom code plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:undocumented-parameter # Parameter removed but reason for removal is shown by custom code
plugins/modules/net_tools/ldap/ldap_passwd.py validate-modules:doc-missing-type
plugins/modules/net_tools/netcup_dns.py validate-modules:doc-missing-type
plugins/modules/net_tools/netcup_dns.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-default-does-not-match-spec plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-default-does-not-match-spec
plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-missing-type plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-missing-type
plugins/modules/net_tools/nios/nios_a_record.py validate-modules:invalid-ansiblemodule-schema plugins/modules/net_tools/nios/nios_a_record.py validate-modules:invalid-ansiblemodule-schema
@ -401,7 +361,6 @@ plugins/modules/notification/nexmo.py validate-modules:parameter-list-no-element
plugins/modules/notification/office_365_connector_card.py validate-modules:parameter-list-no-elements plugins/modules/notification/office_365_connector_card.py validate-modules:parameter-list-no-elements
plugins/modules/notification/pushbullet.py validate-modules:parameter-type-not-in-doc plugins/modules/notification/pushbullet.py validate-modules:parameter-type-not-in-doc
plugins/modules/notification/pushbullet.py validate-modules:undocumented-parameter plugins/modules/notification/pushbullet.py validate-modules:undocumented-parameter
plugins/modules/notification/rocketchat.py validate-modules:no-default-for-required-parameter
plugins/modules/notification/rocketchat.py validate-modules:parameter-list-no-elements plugins/modules/notification/rocketchat.py validate-modules:parameter-list-no-elements
plugins/modules/notification/sendgrid.py validate-modules:parameter-list-no-elements plugins/modules/notification/sendgrid.py validate-modules:parameter-list-no-elements
plugins/modules/notification/slack.py validate-modules:parameter-list-no-elements plugins/modules/notification/slack.py validate-modules:parameter-list-no-elements
@ -442,7 +401,6 @@ plugins/modules/remote_management/manageiq/manageiq_alert_profiles.py validate-m
plugins/modules/remote_management/manageiq/manageiq_policies.py validate-modules:parameter-list-no-elements plugins/modules/remote_management/manageiq/manageiq_policies.py validate-modules:parameter-list-no-elements
plugins/modules/remote_management/manageiq/manageiq_policies.py validate-modules:parameter-state-invalid-choice plugins/modules/remote_management/manageiq/manageiq_policies.py validate-modules:parameter-state-invalid-choice
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-choices-do-not-match-spec plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-choices-do-not-match-spec
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-default-does-not-match-spec
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-missing-type plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-missing-type
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:invalid-ansiblemodule-schema plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:invalid-ansiblemodule-schema
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:parameter-type-not-in-doc plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:parameter-type-not-in-doc
@ -495,7 +453,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: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:parameter-type-not-in-doc
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:undocumented-parameter plugins/modules/remote_management/stacki/stacki_host.py validate-modules:undocumented-parameter
plugins/modules/remote_management/wakeonlan.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/bzr.py validate-modules:parameter-type-not-in-doc 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:doc-missing-type
plugins/modules/source_control/git_config.py validate-modules:parameter-type-not-in-doc plugins/modules/source_control/git_config.py validate-modules:parameter-type-not-in-doc
@ -596,7 +553,6 @@ plugins/modules/system/timezone.py pylint:blacklisted-name
plugins/modules/system/xfconf.py validate-modules:parameter-state-invalid-choice plugins/modules/system/xfconf.py validate-modules:parameter-state-invalid-choice
plugins/modules/web_infrastructure/jenkins_plugin.py use-argspec-type-path plugins/modules/web_infrastructure/jenkins_plugin.py use-argspec-type-path
plugins/modules/web_infrastructure/rundeck_acl_policy.py pylint:blacklisted-name plugins/modules/web_infrastructure/rundeck_acl_policy.py pylint:blacklisted-name
plugins/modules/web_infrastructure/sophos_utm/utm_network_interface_address.py validate-modules:parameter-type-not-in-doc
scripts/inventory/gce.py pylint:blacklisted-name scripts/inventory/gce.py pylint:blacklisted-name
tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py future-import-boilerplate tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py future-import-boilerplate
tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py metaclass-boilerplate tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py metaclass-boilerplate

View file

@ -4,8 +4,6 @@ plugins/module_utils/compat/ipaddress.py no-assert
plugins/module_utils/compat/ipaddress.py no-unicode-literals plugins/module_utils/compat/ipaddress.py no-unicode-literals
plugins/module_utils/_mount.py future-import-boilerplate plugins/module_utils/_mount.py future-import-boilerplate
plugins/module_utils/_mount.py metaclass-boilerplate plugins/module_utils/_mount.py metaclass-boilerplate
plugins/modules/cloud/centurylink/clc_alert_policy.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/docker/docker_container.py use-argspec-type-path # uses colon-separated paths, can't use type=path plugins/modules/cloud/docker/docker_container.py use-argspec-type-path # uses colon-separated paths, can't use type=path
plugins/modules/cloud/google/gcdns_record.py validate-modules:deprecation-mismatch plugins/modules/cloud/google/gcdns_record.py validate-modules:deprecation-mismatch
plugins/modules/cloud/google/gcdns_record.py validate-modules:invalid-documentation plugins/modules/cloud/google/gcdns_record.py validate-modules:invalid-documentation
@ -57,13 +55,6 @@ plugins/modules/cloud/linode/linode.py validate-modules:undocumented-parameter
plugins/modules/cloud/lxc/lxc_container.py pylint:blacklisted-name plugins/modules/cloud/lxc/lxc_container.py pylint:blacklisted-name
plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path
plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen
plugins/modules/cloud/lxd/lxd_container.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/lxd/lxd_container.py validate-modules:doc-missing-type
plugins/modules/cloud/lxd/lxd_container.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/lxd/lxd_container.py validate-modules:undocumented-parameter
plugins/modules/cloud/lxd/lxd_profile.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/lxd/lxd_profile.py validate-modules:doc-missing-type
plugins/modules/cloud/lxd/lxd_profile.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/misc/helm.py validate-modules:deprecation-mismatch plugins/modules/cloud/misc/helm.py validate-modules:deprecation-mismatch
plugins/modules/cloud/misc/helm.py validate-modules:invalid-documentation plugins/modules/cloud/misc/helm.py validate-modules:invalid-documentation
plugins/modules/cloud/misc/ovirt.py validate-modules:deprecation-mismatch plugins/modules/cloud/misc/ovirt.py validate-modules:deprecation-mismatch
@ -76,12 +67,6 @@ plugins/modules/cloud/online/online_user_facts.py validate-modules:deprecation-m
plugins/modules/cloud/online/online_user_facts.py validate-modules:invalid-documentation plugins/modules/cloud/online/online_user_facts.py validate-modules:invalid-documentation
plugins/modules/cloud/online/online_user_facts.py validate-modules:return-syntax-error plugins/modules/cloud/online/online_user_facts.py validate-modules:return-syntax-error
plugins/modules/cloud/online/online_user_info.py validate-modules:return-syntax-error plugins/modules/cloud/online/online_user_info.py validate-modules:return-syntax-error
plugins/modules/cloud/opennebula/one_host.py validate-modules:doc-missing-type
plugins/modules/cloud/opennebula/one_host.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_image.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_image_info.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_service.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/opennebula/one_vm.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:deprecation-mismatch plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:deprecation-mismatch
plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:doc-missing-type plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:doc-missing-type
plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:invalid-documentation plugins/modules/cloud/ovirt/ovirt_affinity_label_facts.py validate-modules:invalid-documentation
@ -99,9 +84,7 @@ plugins/modules/cloud/ovirt/ovirt_disk_facts.py validate-modules:invalid-documen
plugins/modules/cloud/ovirt/ovirt_event_facts.py validate-modules:deprecation-mismatch plugins/modules/cloud/ovirt/ovirt_event_facts.py validate-modules:deprecation-mismatch
plugins/modules/cloud/ovirt/ovirt_event_facts.py validate-modules:invalid-documentation plugins/modules/cloud/ovirt/ovirt_event_facts.py validate-modules:invalid-documentation
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:deprecation-mismatch plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:deprecation-mismatch
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:doc-missing-type
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:invalid-documentation plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:invalid-documentation
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:undocumented-parameter plugins/modules/cloud/ovirt/ovirt_external_provider_facts.py validate-modules:undocumented-parameter
plugins/modules/cloud/ovirt/ovirt_group_facts.py validate-modules:deprecation-mismatch plugins/modules/cloud/ovirt/ovirt_group_facts.py validate-modules:deprecation-mismatch
plugins/modules/cloud/ovirt/ovirt_group_facts.py validate-modules:doc-missing-type plugins/modules/cloud/ovirt/ovirt_group_facts.py validate-modules:doc-missing-type
@ -163,7 +146,6 @@ plugins/modules/cloud/packet/packet_device.py validate-modules:parameter-type-no
plugins/modules/cloud/packet/packet_sshkey.py validate-modules:doc-missing-type plugins/modules/cloud/packet/packet_sshkey.py validate-modules:doc-missing-type
plugins/modules/cloud/packet/packet_sshkey.py validate-modules:parameter-type-not-in-doc plugins/modules/cloud/packet/packet_sshkey.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/packet/packet_sshkey.py validate-modules:undocumented-parameter plugins/modules/cloud/packet/packet_sshkey.py validate-modules:undocumented-parameter
plugins/modules/cloud/profitbricks/profitbricks_nic.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:doc-missing-type plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:doc-missing-type
plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:undocumented-parameter plugins/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:undocumented-parameter
plugins/modules/cloud/rackspace/rax.py use-argspec-type-path plugins/modules/cloud/rackspace/rax.py use-argspec-type-path
@ -199,22 +181,14 @@ plugins/modules/cloud/scaleway/scaleway_volume_facts.py validate-modules:depreca
plugins/modules/cloud/scaleway/scaleway_volume_facts.py validate-modules:invalid-documentation plugins/modules/cloud/scaleway/scaleway_volume_facts.py validate-modules:invalid-documentation
plugins/modules/cloud/scaleway/scaleway_volume_facts.py validate-modules:return-syntax-error plugins/modules/cloud/scaleway/scaleway_volume_facts.py validate-modules:return-syntax-error
plugins/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:return-syntax-error plugins/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:return-syntax-error
plugins/modules/cloud/smartos/imgadm.py validate-modules:doc-missing-type
plugins/modules/cloud/smartos/imgadm.py validate-modules:no-default-for-required-parameter
plugins/modules/cloud/smartos/smartos_image_info.py validate-modules:doc-missing-type plugins/modules/cloud/smartos/smartos_image_info.py validate-modules:doc-missing-type
plugins/modules/cloud/smartos/vmadm.py validate-modules:parameter-type-not-in-doc plugins/modules/cloud/smartos/vmadm.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/smartos/vmadm.py validate-modules:undocumented-parameter plugins/modules/cloud/smartos/vmadm.py validate-modules:undocumented-parameter
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-missing-type
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-type-not-in-doc plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:undocumented-parameter plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:undocumented-parameter
plugins/modules/cloud/univention/udm_dns_record.py validate-modules:parameter-type-not-in-doc plugins/modules/cloud/univention/udm_dns_record.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-type-not-in-doc plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:undocumented-parameter plugins/modules/cloud/univention/udm_dns_zone.py validate-modules:undocumented-parameter
plugins/modules/cloud/univention/udm_group.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/univention/udm_group.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/univention/udm_user.py validate-modules:doc-default-does-not-match-spec
plugins/modules/cloud/univention/udm_user.py validate-modules:parameter-type-not-in-doc
plugins/modules/cloud/webfaction/webfaction_app.py validate-modules:doc-missing-type plugins/modules/cloud/webfaction/webfaction_app.py validate-modules:doc-missing-type
plugins/modules/cloud/webfaction/webfaction_db.py validate-modules:doc-missing-type plugins/modules/cloud/webfaction/webfaction_db.py validate-modules:doc-missing-type
plugins/modules/cloud/webfaction/webfaction_domain.py validate-modules:doc-missing-type plugins/modules/cloud/webfaction/webfaction_domain.py validate-modules:doc-missing-type
@ -256,21 +230,10 @@ plugins/modules/database/vertica/vertica_schema.py validate-modules:undocumented
plugins/modules/database/vertica/vertica_user.py validate-modules:doc-missing-type 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/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/files/iso_extract.py validate-modules:doc-default-does-not-match-spec
plugins/modules/identity/keycloak/keycloak_client.py validate-modules:doc-default-does-not-match-spec
plugins/modules/identity/keycloak/keycloak_client.py validate-modules:doc-missing-type
plugins/modules/identity/keycloak/keycloak_client.py validate-modules:parameter-type-not-in-doc
plugins/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:doc-default-does-not-match-spec
plugins/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:doc-missing-type
plugins/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:parameter-type-not-in-doc
plugins/modules/identity/opendj/opendj_backendprop.py validate-modules:doc-missing-type 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/identity/opendj/opendj_backendprop.py validate-modules:parameter-type-not-in-doc
plugins/modules/monitoring/bigpanda.py validate-modules:doc-default-does-not-match-spec
plugins/modules/monitoring/icinga2_host.py validate-modules:undocumented-parameter plugins/modules/monitoring/icinga2_host.py validate-modules:undocumented-parameter
plugins/modules/monitoring/statusio_maintenance.py pylint:blacklisted-name plugins/modules/monitoring/statusio_maintenance.py pylint:blacklisted-name
plugins/modules/net_tools/cloudflare_dns.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/ip_netns.py validate-modules:doc-missing-type
plugins/modules/net_tools/ipinfoio_facts.py validate-modules:doc-missing-type
plugins/modules/net_tools/ipinfoio_facts.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:deprecation-mismatch plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:deprecation-mismatch
plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:invalid-documentation plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:invalid-documentation
plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:parameter-type-not-in-doc plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:parameter-type-not-in-doc
@ -278,9 +241,6 @@ plugins/modules/net_tools/ldap/ldap_attr.py validate-modules:undocumented-parame
plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:doc-missing-type plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:doc-missing-type
plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:parameter-type-not-in-doc plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:undocumented-parameter # Parameter removed but reason for removal is shown by custom code plugins/modules/net_tools/ldap/ldap_entry.py validate-modules:undocumented-parameter # Parameter removed but reason for removal is shown by custom code
plugins/modules/net_tools/ldap/ldap_passwd.py validate-modules:doc-missing-type
plugins/modules/net_tools/netcup_dns.py validate-modules:doc-missing-type
plugins/modules/net_tools/netcup_dns.py validate-modules:parameter-type-not-in-doc
plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-default-does-not-match-spec plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-default-does-not-match-spec
plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-missing-type plugins/modules/net_tools/nios/nios_a_record.py validate-modules:doc-missing-type
plugins/modules/net_tools/nios/nios_a_record.py validate-modules:parameter-type-not-in-doc plugins/modules/net_tools/nios/nios_a_record.py validate-modules:parameter-type-not-in-doc
@ -350,7 +310,6 @@ plugins/modules/net_tools/nios/nios_zone.py validate-modules:undocumented-parame
plugins/modules/net_tools/nsupdate.py validate-modules:parameter-type-not-in-doc plugins/modules/net_tools/nsupdate.py validate-modules:parameter-type-not-in-doc
plugins/modules/notification/pushbullet.py validate-modules:parameter-type-not-in-doc plugins/modules/notification/pushbullet.py validate-modules:parameter-type-not-in-doc
plugins/modules/notification/pushbullet.py validate-modules:undocumented-parameter plugins/modules/notification/pushbullet.py validate-modules:undocumented-parameter
plugins/modules/notification/rocketchat.py validate-modules:no-default-for-required-parameter
plugins/modules/packaging/language/composer.py validate-modules:parameter-invalid plugins/modules/packaging/language/composer.py validate-modules:parameter-invalid
plugins/modules/packaging/language/maven_artifact.py validate-modules:parameter-type-not-in-doc plugins/modules/packaging/language/maven_artifact.py validate-modules:parameter-type-not-in-doc
plugins/modules/packaging/os/apt_rpm.py validate-modules:parameter-invalid plugins/modules/packaging/os/apt_rpm.py validate-modules:parameter-invalid
@ -381,7 +340,6 @@ plugins/modules/remote_management/ipmi/ipmi_power.py validate-modules:parameter-
plugins/modules/remote_management/lxca/lxca_cmms.py validate-modules:doc-missing-type plugins/modules/remote_management/lxca/lxca_cmms.py validate-modules:doc-missing-type
plugins/modules/remote_management/lxca/lxca_nodes.py validate-modules:doc-missing-type plugins/modules/remote_management/lxca/lxca_nodes.py validate-modules:doc-missing-type
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-choices-do-not-match-spec plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-choices-do-not-match-spec
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-default-does-not-match-spec
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-missing-type plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-missing-type
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:parameter-type-not-in-doc plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:parameter-type-not-in-doc
plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:undocumented-parameter plugins/modules/remote_management/manageiq/manageiq_provider.py validate-modules:undocumented-parameter
@ -421,7 +379,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: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:parameter-type-not-in-doc
plugins/modules/remote_management/stacki/stacki_host.py validate-modules:undocumented-parameter plugins/modules/remote_management/stacki/stacki_host.py validate-modules:undocumented-parameter
plugins/modules/remote_management/wakeonlan.py validate-modules:parameter-type-not-in-doc
plugins/modules/source_control/bzr.py validate-modules:parameter-type-not-in-doc 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:doc-missing-type
plugins/modules/source_control/git_config.py validate-modules:parameter-type-not-in-doc plugins/modules/source_control/git_config.py validate-modules:parameter-type-not-in-doc
@ -527,7 +484,6 @@ plugins/modules/web_infrastructure/jenkins_plugin.py use-argspec-type-path
plugins/modules/web_infrastructure/nginx_status_facts.py validate-modules:deprecation-mismatch plugins/modules/web_infrastructure/nginx_status_facts.py validate-modules:deprecation-mismatch
plugins/modules/web_infrastructure/nginx_status_facts.py validate-modules:invalid-documentation plugins/modules/web_infrastructure/nginx_status_facts.py validate-modules:invalid-documentation
plugins/modules/web_infrastructure/rundeck_acl_policy.py pylint:blacklisted-name plugins/modules/web_infrastructure/rundeck_acl_policy.py pylint:blacklisted-name
plugins/modules/web_infrastructure/sophos_utm/utm_network_interface_address.py validate-modules:parameter-type-not-in-doc
scripts/inventory/gce.py pylint:blacklisted-name scripts/inventory/gce.py pylint:blacklisted-name
tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py future-import-boilerplate tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py future-import-boilerplate
tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py metaclass-boilerplate tests/unit/plugins/modules/cloud/google/test_gcp_forwarding_rule.py metaclass-boilerplate