From cff8463882b2c958017db0377ea7d94b8d32005f Mon Sep 17 00:00:00 2001
From: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Date: Sat, 28 Nov 2020 09:16:47 +1300
Subject: [PATCH] Tidy up validate-modules:doc-choices-do-not-match-spec II:
 The Rebase (#1409)

* fixed validation-modules for plugins/modules/cloud/lxc/lxc_container.py

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

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

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

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

* fixed validation-modules for plugins/modules/cloud/lxc/lxc_container.py

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

* fixed validation-modules for plugins/modules/clustering/etcd3.py

* fixed validation-modules for plugins/modules/clustering/znode.py

* fixed validation-modules for plugins/modules/remote_management/hpilo/hpilo_boot.py

* fixed validation-modules for plugins/modules/remote_management/ipmi/ipmi_boot.py

* fixed validation-modules for plugins/modules/remote_management/ipmi/ipmi_power.py

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

* fixed validation-modules for plugins/modules/remote_management/stacki/stacki_host.py

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

* Removed validate-modules:doc-choices-do-not-match-spec from ignore files

* fixed alias samba_inherit_permissions in udm_share.py

* Rolled back a couple of lines

* Removed duplicate key in docs

* Rolled back a couple of troublesome lines

* Removed no-longer necessary ignore lines

* Removed no-longer necessary ignore lines on 2.11 as well

* Removed no-longer necessary ignore lines on 2.9 this time
---
 plugins/modules/cloud/lxc/lxc_container.py    |  40 ++-
 plugins/modules/cloud/smartos/vmadm.py        |   2 +-
 .../spotinst/spotinst_aws_elastigroup.py      |  32 +-
 .../cloud/univention/udm_dns_record.py        |   2 +-
 .../modules/cloud/univention/udm_dns_zone.py  |   2 +-
 plugins/modules/cloud/univention/udm_share.py | 273 ++++++++++--------
 plugins/modules/cloud/univention/udm_user.py  |   1 +
 plugins/modules/clustering/etcd3.py           |   1 +
 plugins/modules/clustering/znode.py           |   2 +
 .../remote_management/hpilo/hpilo_boot.py     |   2 +-
 .../remote_management/ipmi/ipmi_boot.py       |  29 +-
 .../remote_management/ipmi/ipmi_power.py      |  13 +-
 .../manageiq/manageiq_provider.py             |   2 +-
 .../remote_management/stacki/stacki_host.py   |   7 +-
 tests/sanity/ignore-2.10.txt                  |  18 --
 tests/sanity/ignore-2.11.txt                  |  18 --
 tests/sanity/ignore-2.9.txt                   |  18 --
 17 files changed, 228 insertions(+), 234 deletions(-)

diff --git a/plugins/modules/cloud/lxc/lxc_container.py b/plugins/modules/cloud/lxc/lxc_container.py
index fef3d1aab30..60cae6ce041 100644
--- a/plugins/modules/cloud/lxc/lxc_container.py
+++ b/plugins/modules/cloud/lxc/lxc_container.py
@@ -19,6 +19,7 @@
     name:
         description:
           - Name of a container.
+        type: str
         required: true
     backing_store:
         choices:
@@ -30,63 +31,80 @@
           - zfs
         description:
           - Backend storage type for the container.
+        type: str
         default: dir
     template:
         description:
           - Name of the template to use within an LXC create.
+        type: str
         default: ubuntu
     template_options:
         description:
           - Template options when building the container.
+        type: str
     config:
         description:
           - Path to the LXC configuration file.
+        type: path
     lv_name:
         description:
           - Name of the logical volume, defaults to the container name.
-        default: $CONTAINER_NAME
+          - If not specified, it defaults to C($CONTAINER_NAME).
+        type: str
     vg_name:
         description:
           - If Backend store is lvm, specify the name of the volume group.
+        type: str
         default: lxc
     thinpool:
         description:
           - Use LVM thin pool called TP.
+        type: str
     fs_type:
         description:
           - Create fstype TYPE.
+        type: str
         default: ext4
     fs_size:
         description:
           - File system Size.
+        type: str
         default: 5G
     directory:
         description:
           - Place rootfs directory under DIR.
+        type: path
     zfs_root:
         description:
           - Create zfs under given zfsroot.
+        type: str
     container_command:
         description:
           - Run a command within a container.
+        type: str
     lxc_path:
         description:
           - Place container under PATH
+        type: path
     container_log:
-        choices:
-          - true
-          - false
         description:
           - Enable a container log for host actions to the container.
         type: bool
         default: 'no'
     container_log_level:
         choices:
+          - Info
+          - info
           - INFO
+          - Error
+          - error
           - ERROR
+          - Debug
+          - debug
           - DEBUG
         description:
           - Set the log level for a container where *container_log* was set.
+        type: str
         required: false
         default: INFO
     clone_name:
@@ -95,9 +113,6 @@
             clone.
         type: str
     clone_snapshot:
-        choices:
-          - true
-          - false
         description:
           - Create a snapshot a container when cloning. This is not supported
             by all container storage backends. Enabling this may fail if the
@@ -105,9 +120,6 @@
         type: bool
         default: 'no'
     archive:
-        choices:
-          - true
-          - false
         description:
           - Create an archive of a container. This will create a tarball of the
             running container.
@@ -117,6 +129,7 @@
         description:
           - Path the save the archived container. If the path does not exist
             the archive method will attempt to create it.
+        type: path
     archive_compression:
         choices:
           - gzip
@@ -125,6 +138,7 @@
         description:
           - Type of compression to use when creating an archive of a running
             container.
+        type: str
         default: gzip
     state:
         choices:
@@ -133,12 +147,14 @@
           - restarted
           - absent
           - frozen
+          - clone
         description:
           - Define the state of a container. If you clone a container using
             `clone_name` the newly cloned container created in a stopped state.
             The running container will be stopped while the clone operation is
             happening and upon completion of the clone the original container
             state will be restored.
+        type: str
         default: started
     container_config:
         description:
@@ -1695,7 +1711,7 @@ def main():
             ),
             container_log=dict(
                 type='bool',
-                default='false'
+                default=False
             ),
             container_log_level=dict(
                 choices=[n for i in LXC_LOGGING_LEVELS.values() for n in i],
@@ -1711,7 +1727,7 @@ def main():
             ),
             archive=dict(
                 type='bool',
-                default='false'
+                default=False
             ),
             archive_path=dict(
                 type='path',
diff --git a/plugins/modules/cloud/smartos/vmadm.py b/plugins/modules/cloud/smartos/vmadm.py
index 6839e3937c7..151993c3b0e 100644
--- a/plugins/modules/cloud/smartos/vmadm.py
+++ b/plugins/modules/cloud/smartos/vmadm.py
@@ -207,7 +207,7 @@
         Please note this can be read from the Global Zone.
   state:
     required: true
-    choices: [ present, absent, stopped, restarted ]
+    choices: [ present, running, absent, deleted, stopped, created, restarted, rebooted ]
     description:
       - States for the VM to be in. Please note that C(present), C(stopped) and C(restarted)
         operate on a VM that is currently provisioned. C(present) means that the VM will be
diff --git a/plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py b/plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py
index d7cc7c1e2e3..fd286af9fff 100644
--- a/plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py
+++ b/plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py
@@ -32,12 +32,9 @@
        By default this is retrieved from the credentials path
 
   availability_vs_cost:
-    choices:
-      - availabilityOriented
-      - costOriented
-      - balanced
     description:
       - (String) The strategy orientation.
+      - "The choices available are: C(availabilityOriented), C(costOriented), C(balanced)."
     required: true
 
   availability_zones:
@@ -119,14 +116,9 @@
       - (Integer) Minimal mount of time instance should be unhealthy for us to consider it unhealthy.
 
   health_check_type:
-    choices:
-      - ELB
-      - HCS
-      - TARGET_GROUP
-      - MLB
-      - EC2
     description:
       - (String) The service to use for the health check.
+      - "The choices available are: C(ELB), C(HCS), C(TARGET_GROUP), C(MLB), C(EC2)."
 
   iam_role_name:
     description:
@@ -239,15 +231,9 @@
         should_persist_private_ip (Boolean)
 
   product:
-    choices:
-      - Linux/UNIX
-      - SUSE Linux
-      - Windows
-      - Linux/UNIX (Amazon VPC)
-      - SUSE Linux (Amazon VPC)
-      - Windows
     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))."
     required: true
 
   rancher:
@@ -344,22 +330,18 @@
       - (List of Strings) List of target group arns instances should be registered to
 
   tenancy:
-    choices:
-      - default
-      - dedicated
     description:
-      - (String) dedicated vs shared tenancy
+      - (String) dedicated vs shared tenancy.
+      - "The available choices are: C(default), C(dedicated)."
 
   terminate_at_end_of_billing_hour:
     description:
       - (Boolean) terminate at the end of billing hour
     type: bool
   unit:
-    choices:
-      - instance
-      - weight
     description:
       - (String) The capacity unit to launch instances by.
+      - "The available choices are: C(instance), C(weight)."
     required: true
 
   up_scaling_policies:
diff --git a/plugins/modules/cloud/univention/udm_dns_record.py b/plugins/modules/cloud/univention/udm_dns_record.py
index 109fde86421..db89bd46b63 100644
--- a/plugins/modules/cloud/univention/udm_dns_record.py
+++ b/plugins/modules/cloud/univention/udm_dns_record.py
@@ -39,11 +39,11 @@
             - Corresponding DNS zone for this record, e.g. example.com.
     type:
         required: true
-        choices: [ host_record, alias, ptr_record, srv_record, txt_record ]
         description:
             - "Define the record type. C(host_record) is a A or AAAA record,
                C(alias) is a CNAME, C(ptr_record) is a PTR record, C(srv_record)
                is a SRV record and C(txt_record) is a TXT record."
+            - "The available choices are: C(host_record), C(alias), C(ptr_record), C(srv_record), C(txt_record)."
     data:
         required: false
         default: []
diff --git a/plugins/modules/cloud/univention/udm_dns_zone.py b/plugins/modules/cloud/univention/udm_dns_zone.py
index 6675b87dcc9..2428650e903 100644
--- a/plugins/modules/cloud/univention/udm_dns_zone.py
+++ b/plugins/modules/cloud/univention/udm_dns_zone.py
@@ -29,9 +29,9 @@
             - Whether the dns zone is present or not.
     type:
         required: true
-        choices: [ forward_zone, reverse_zone ]
         description:
             - Define if the zone is a forward or reverse DNS zone.
+            - "The available choices are: C(forward_zone), C(reverse_zone)."
     zone:
         required: true
         description:
diff --git a/plugins/modules/cloud/univention/udm_share.py b/plugins/modules/cloud/univention/udm_share.py
index 25a6520cc32..3e8fb20792d 100644
--- a/plugins/modules/cloud/univention/udm_share.py
+++ b/plugins/modules/cloud/univention/udm_share.py
@@ -27,267 +27,298 @@
         choices: [ present, absent ]
         description:
             - Whether the share is present or not.
+        type: str
     name:
         required: true
         description:
             - Name
+        type: str
     host:
         required: false
         description:
             - Host FQDN (server which provides the share), e.g. C({{
               ansible_fqdn }}). Required if C(state=present).
+        type: str
     path:
         required: false
         description:
             - Directory on the providing server, e.g. C(/home). Required if C(state=present).
-    samba_name:
+        type: path
+    sambaName:
         required: false
         description:
             - Windows name. Required if C(state=present).
-        aliases: [ sambaName ]
+        type: str
+        aliases: [ samba_name ]
     ou:
         required: true
         description:
             - Organisational unit, inside the LDAP Base DN.
+        type: str
     owner:
-        default: 0
+        default: '0'
         description:
             - Directory owner of the share's root directory.
+        type: str
     group:
         default: '0'
         description:
             - Directory owner group of the share's root directory.
+        type: str
     directorymode:
         default: '00755'
         description:
             - Permissions for the share's root directory.
+        type: str
     root_squash:
-        default: '1'
-        choices: [ '0', '1' ]
+        default: true
         description:
             - Modify user ID for root user (root squashing).
+        type: bool
     subtree_checking:
-        default: '1'
-        choices: [ '0', '1' ]
+        default: true
         description:
             - Subtree checking.
+        type: bool
     sync:
         default: 'sync'
         description:
             - NFS synchronisation.
+        type: str
     writeable:
-        default: '1'
-        choices: [ '0', '1' ]
+        default: true
         description:
             - NFS write access.
-    samba_block_size:
+        type: bool
+    sambaBlockSize:
         description:
             - Blocking size.
-        aliases: [ sambaBlockSize ]
-    samba_blocking_locks:
-        default: '1'
-        choices: [ '0', '1' ]
+        type: str
+        aliases: [ samba_block_size ]
+    sambaBlockingLocks:
+        default: true
         description:
             - Blocking locks.
-        aliases: [ sambaBlockingLocks ]
+        type: bool
+        aliases: [ samba_blocking_locks ]
     sambaBrowseable:
         description:
         - Show in Windows network environment.
         type: bool
         default: True
         aliases: [ samba_browsable ]
-    samba_create_mode:
+    sambaCreateMode:
         default: '0744'
         description:
             - File mode.
-        aliases: [ sambaCreateMode ]
-    samba_csc_policy:
+        type: str
+        aliases: [ samba_create_mode ]
+    sambaCscPolicy:
         default: 'manual'
         description:
             - Client-side caching policy.
-        aliases: [ sambaCscPolicy ]
-    samba_custom_settings:
+        type: str
+        aliases: [ samba_csc_policy ]
+    sambaCustomSettings:
         default: []
         description:
             - Option name in smb.conf and its value.
-        aliases: [ sambaCustomSettings ]
-    samba_directory_mode:
+        type: list
+        aliases: [ samba_custom_settings ]
+    sambaDirectoryMode:
         default: '0755'
         description:
             - Directory mode.
-        aliases: [ sambaDirectoryMode ]
-    samba_directory_security_mode:
+        type: str
+        aliases: [ samba_directory_mode ]
+    sambaDirectorySecurityMode:
         default: '0777'
         description:
             - Directory security mode.
-        aliases: [ sambaDirectorySecurityMode ]
-    samba_dos_filemode:
-        default: '0'
-        choices: [ '0', '1' ]
+        type: str
+        aliases: [ samba_directory_security_mode ]
+    sambaDosFilemode:
+        default: false
         description:
             - Users with write access may modify permissions.
-        aliases: [ sambaDosFilemode ]
-    samba_fake_oplocks:
-        default: '0'
-        choices: [ '0', '1' ]
+        type: bool
+        aliases: [ samba_dos_filemode ]
+    sambaFakeOplocks:
+        default: false
         description:
             - Fake oplocks.
-        aliases: [ sambaFakeOplocks ]
-    samba_force_create_mode:
-        default: '0'
-        choices: [ '0', '1' ]
+        type: bool
+        aliases: [ samba_fake_oplocks ]
+    sambaForceCreateMode:
+        default: false
         description:
             - Force file mode.
-        aliases: [ sambaForceCreateMode ]
-    samba_force_directory_mode:
-        default: '0'
-        choices: [ '0', '1' ]
+        type: bool
+        aliases: [ samba_force_create_mode ]
+    sambaForceDirectoryMode:
+        default: false
         description:
             - Force directory mode.
-        aliases: [ sambaForceDirectoryMode ]
-    samba_force_directory_security_mode:
-        default: '0'
-        choices: [ '0', '1' ]
+        type: bool
+        aliases: [ samba_force_directory_mode ]
+    sambaForceDirectorySecurityMode:
+        default: false
         description:
             - Force directory security mode.
-        aliases: [ sambaForceDirectorySecurityMode ]
-    samba_force_group:
+        type: bool
+        aliases: [ samba_force_directory_security_mode ]
+    sambaForceGroup:
         description:
             - Force group.
-        aliases: [ sambaForceGroup ]
-    samba_force_security_mode:
-        default: '0'
-        choices: [ '0', '1' ]
+        type: str
+        aliases: [ samba_force_group ]
+    sambaForceSecurityMode:
+        default: false
         description:
             - Force security mode.
-        aliases: [ sambaForceSecurityMode ]
-    samba_force_user:
+        type: bool
+        aliases: [ samba_force_security_mode ]
+    sambaForceUser:
         description:
             - Force user.
-        aliases: [ sambaForceUser ]
-    samba_hide_files:
+        type: str
+        aliases: [ samba_force_user ]
+    sambaHideFiles:
         description:
             - Hide files.
-        aliases: [ sambaHideFiles ]
-    samba_hide_unreadable:
-        default: '0'
-        choices: [ '0', '1' ]
+        type: str
+        aliases: [ samba_hide_files ]
+    sambaHideUnreadable:
+        default: false
         description:
             - Hide unreadable files/directories.
-        aliases: [ sambaHideUnreadable ]
-    samba_hosts_allow:
+        type: bool
+        aliases: [ samba_hide_unreadable ]
+    sambaHostsAllow:
         default: []
         description:
             - Allowed host/network.
-        aliases: [ sambaHostsAllow ]
-    samba_hosts_deny:
+        type: list
+        aliases: [ samba_hosts_allow ]
+    sambaHostsDeny:
         default: []
         description:
             - Denied host/network.
-        aliases: [ sambaHostsDeny ]
-    samba_inherit_acls:
-        default: '1'
-        choices: [ '0', '1' ]
+        type: list
+        aliases: [ samba_hosts_deny ]
+    sambaInheritAcls:
+        default: true
         description:
             - Inherit ACLs.
-        aliases: [ sambaInheritAcls ]
-    samba_inherit_owner:
-        default: '0'
-        choices: [ '0', '1' ]
+        type: bool
+        aliases: [ samba_inherit_acls ]
+    sambaInheritOwner:
+        default: false
         description:
             - Create files/directories with the owner of the parent directory.
-        aliases: [ sambaInheritOwner ]
-    samba_inherit_permissions:
-        default: '0'
-        choices: [ '0', '1' ]
+        type: bool
+        aliases: [ samba_inherit_owner ]
+    sambaInheritPermissions:
+        default: false
         description:
             - Create files/directories with permissions of the parent directory.
-        aliases: [ sambaInheritPermissions ]
-    samba_invalid_users:
+        type: bool
+        aliases: [ samba_inherit_permissions ]
+    sambaInvalidUsers:
         description:
             - Invalid users or groups.
-        aliases: [ sambaInvalidUsers ]
-    samba_level_2_oplocks:
-        default: '1'
-        choices: [ '0', '1' ]
+        type: str
+        aliases: [ samba_invalid_users ]
+    sambaLevel2Oplocks:
+        default: true
         description:
             - Level 2 oplocks.
-        aliases: [ sambaLevel2Oplocks ]
-    samba_locking:
-        default: '1'
-        choices: [ '0', '1' ]
+        type: bool
+        aliases: [ samba_level_2_oplocks ]
+    sambaLocking:
+        default: true
         description:
             - Locking.
-        aliases: [ sambaLocking ]
-    samba_msdfs_root:
-        default: '0'
-        choices: [ '0', '1' ]
+        type: bool
+        aliases: [ samba_locking ]
+    sambaMSDFSRoot:
+        default: false
         description:
             - MSDFS root.
-        aliases: [ sambaMSDFSRoot ]
-    samba_nt_acl_support:
-        default: '1'
-        choices: [ '0', '1' ]
+        type: bool
+        aliases: [ samba_msdfs_root ]
+    sambaNtAclSupport:
+        default: true
         description:
             - NT ACL support.
-        aliases: [ sambaNtAclSupport ]
-    samba_oplocks:
-        default: '1'
-        choices: [ '0', '1' ]
+        type: bool
+        aliases: [ samba_nt_acl_support ]
+    sambaOplocks:
+        default: true
         description:
             - Oplocks.
-        aliases: [ sambaOplocks ]
-    samba_postexec:
+        type: bool
+        aliases: [ samba_oplocks ]
+    sambaPostexec:
         description:
             - Postexec script.
-        aliases: [ sambaPostexec ]
-    samba_preexec:
+        type: str
+        aliases: [ samba_postexec ]
+    sambaPreexec:
         description:
             - Preexec script.
-        aliases: [ sambaPreexec ]
-    samba_public:
-        default: '0'
-        choices: [ '0', '1' ]
+        type: str
+        aliases: [ samba_preexec ]
+    sambaPublic:
+        default: false
         description:
             - Allow anonymous read-only access with a guest user.
-        aliases: [ sambaPublic ]
-    samba_security_mode:
+        type: bool
+        aliases: [ samba_public ]
+    sambaSecurityMode:
         default: '0777'
         description:
             - Security mode.
-        aliases: [ sambaSecurityMode ]
-    samba_strict_locking:
+        type: str
+        aliases: [ samba_security_mode ]
+    sambaStrictLocking:
         default: 'Auto'
         description:
             - Strict locking.
-        aliases: [ sambaStrictLocking ]
-    samba_vfs_objects:
+        type: str
+        aliases: [ samba_strict_locking ]
+    sambaVFSObjects:
         description:
             - VFS objects.
-        aliases: [ sambaVFSObjects ]
-    samba_valid_users:
+        type: str
+        aliases: [ samba_vfs_objects ]
+    sambaValidUsers:
         description:
             - Valid users or groups.
-        aliases: [ sambaValidUsers ]
-    samba_write_list:
+        type: str
+        aliases: [ samba_valid_users ]
+    sambaWriteList:
         description:
             - Restrict write access to these users/groups.
-        aliases: [ sambaWriteList ]
-    samba_writeable:
-        default: '1'
-        choices: [ '0', '1' ]
+        type: str
+        aliases: [ samba_write_list ]
+    sambaWriteable:
+        default: true
         description:
             - Samba write access.
-        aliases: [ sambaWriteable ]
+        type: bool
+        aliases: [ samba_writeable ]
     nfs_hosts:
         default: []
         description:
             - Only allow access for this host, IP address or network.
-    nfs_custom_settings:
+        type: list
+    nfsCustomSettings:
         default: []
         description:
             - Option name in exports file.
-        aliases: [ nfsCustomSettings ]
+        type: list
+        aliases: [ nfs_custom_settings ]
 '''
 
 
diff --git a/plugins/modules/cloud/univention/udm_user.py b/plugins/modules/cloud/univention/udm_user.py
index c59e4fd053b..b86b4e0860a 100644
--- a/plugins/modules/cloud/univention/udm_user.py
+++ b/plugins/modules/cloud/univention/udm_user.py
@@ -209,6 +209,7 @@
                e.g. C(cn=employee,cn=users,ou=school,dc=example,dc=com)."
     update_password:
         default: always
+        choices: [ always, on_create ]
         description:
             - "C(always) will update passwords if they differ.
                C(on_create) will only set the password for newly created users."
diff --git a/plugins/modules/clustering/etcd3.py b/plugins/modules/clustering/etcd3.py
index 14cd19fd466..7883842998d 100644
--- a/plugins/modules/clustering/etcd3.py
+++ b/plugins/modules/clustering/etcd3.py
@@ -38,6 +38,7 @@
             - the state of the value for the key.
             - can be present or absent
         required: true
+        choices: [ present, absent ]
     user:
         description:
             - The etcd user to authenticate with.
diff --git a/plugins/modules/clustering/znode.py b/plugins/modules/clustering/znode.py
index 692a1a8eb37..156a63767bb 100644
--- a/plugins/modules/clustering/znode.py
+++ b/plugins/modules/clustering/znode.py
@@ -27,9 +27,11 @@
     op:
         description:
             - An operation to perform. Mutually exclusive with state.
+        choices: [ get, wait, list ]
     state:
         description:
             - The state to enforce. Mutually exclusive with op.
+        choices: [ present, absent ]
     timeout:
         description:
             - The amount of time to wait for a node to appear.
diff --git a/plugins/modules/remote_management/hpilo/hpilo_boot.py b/plugins/modules/remote_management/hpilo/hpilo_boot.py
index 3bda21cbe27..1e37aee3b5c 100644
--- a/plugins/modules/remote_management/hpilo/hpilo_boot.py
+++ b/plugins/modules/remote_management/hpilo/hpilo_boot.py
@@ -33,7 +33,7 @@
   media:
     description:
     - The boot media to boot the system from
-    choices: [ "cdrom", "floppy", "hdd", "network", "normal", "usb" ]
+    choices: [ "cdrom", "floppy", "rbsu", "hdd", "network", "normal", "usb" ]
   image:
     description:
     - The URL of a cdrom, floppy or usb boot media image.
diff --git a/plugins/modules/remote_management/ipmi/ipmi_boot.py b/plugins/modules/remote_management/ipmi/ipmi_boot.py
index b4870cd78f5..6509ca21dad 100644
--- a/plugins/modules/remote_management/ipmi/ipmi_boot.py
+++ b/plugins/modules/remote_management/ipmi/ipmi_boot.py
@@ -34,22 +34,31 @@
   bootdev:
     description:
       - Set boot device to use on next reboot
+      - "The choices for the device are:
+          - network -- Request network boot
+          - floppy -- Boot from floppy
+          - hd -- Boot from hard drive
+          - safe -- Boot from hard drive, requesting 'safe mode'
+          - optical -- boot from CD/DVD/BD drive
+          - setup -- Boot into setup utility
+          - default -- remove any IPMI directed boot device request"
     required: true
     choices:
-      - network -- Request network boot
-      - floppy -- Boot from floppy
-      - hd -- Boot from hard drive
-      - safe -- Boot from hard drive, requesting 'safe mode'
-      - optical -- boot from CD/DVD/BD drive
-      - setup -- Boot into setup utility
-      - default -- remove any IPMI directed boot device request
+      - network
+      - floppy
+      - hd
+      - safe
+      - optical
+      - setup
+      - default
   state:
     description:
       - Whether to ensure that boot devices is desired.
+      - "The choices for the state are:
+            - present -- Request system turn on
+            - absent -- Request system turn on"
     default: present
-    choices:
-        - present -- Request system turn on
-        - absent -- Request system turn on
+    choices: [ present, absent ]
   persistent:
     description:
       - If set, ask that system firmware uses this device beyond next boot.
diff --git a/plugins/modules/remote_management/ipmi/ipmi_power.py b/plugins/modules/remote_management/ipmi/ipmi_power.py
index d9c97f427fc..47840154411 100644
--- a/plugins/modules/remote_management/ipmi/ipmi_power.py
+++ b/plugins/modules/remote_management/ipmi/ipmi_power.py
@@ -34,13 +34,14 @@
   state:
     description:
       - Whether to ensure that the machine in desired state.
+      - "The choices for state are:
+            - on -- Request system turn on
+            - off -- Request system turn off without waiting for OS to shutdown
+            - shutdown -- Have system request OS proper shutdown
+            - reset -- Request system reset without waiting for OS
+            - boot -- If system is off, then 'on', else 'reset'"
+    choices: ['on', 'off', shutdown, reset, boot]
     required: true
-    choices:
-        - on -- Request system turn on
-        - off -- Request system turn off without waiting for OS to shutdown
-        - shutdown -- Have system request OS proper shutdown
-        - reset -- Request system reset without waiting for OS
-        - boot -- If system is off, then 'on', else 'reset'
   timeout:
     description:
       - Maximum number of seconds before interrupt request.
diff --git a/plugins/modules/remote_management/manageiq/manageiq_provider.py b/plugins/modules/remote_management/manageiq/manageiq_provider.py
index 62f3ead7146..2e3c2fd132a 100644
--- a/plugins/modules/remote_management/manageiq/manageiq_provider.py
+++ b/plugins/modules/remote_management/manageiq/manageiq_provider.py
@@ -157,7 +157,7 @@
         default: true
       security_protocol:
         type: str
-        choices: ['ssl-with-validation','ssl-with-validation-custom-ca','ssl-without-validation']
+        choices: ['ssl-with-validation','ssl-with-validation-custom-ca','ssl-without-validation', 'non-ssl']
         description: How SSL certificates should be used for HTTPS requests. defaults to None.
       certificate_authority:
         type: str
diff --git a/plugins/modules/remote_management/stacki/stacki_host.py b/plugins/modules/remote_management/stacki/stacki_host.py
index faffe12a231..3d896996ba3 100644
--- a/plugins/modules/remote_management/stacki/stacki_host.py
+++ b/plugins/modules/remote_management/stacki/stacki_host.py
@@ -46,6 +46,11 @@
     description:
      - Set value to True to force node into install state if it already exists in stacki.
     type: bool
+  state:
+    description:
+      - Set value to the desired state for the specified host.
+    type: str
+    choices: [ absent, present ]
 author:
 - Hugh Ma (@bbyhuy) <Hugh.Ma@flextronics.com>
 '''
@@ -250,7 +255,7 @@ def main():
                       'prim_intf_ip', 'network', 'prim_intf_mac']:
             if not module.params[param]:
                 missing_params.append(param)
-        if len(missing_params) > 0:
+        if len(missing_params) > 0:   # @FIXME replace with required_if
             module.fail_json(msg="missing required arguments: {0}".format(missing_params))
 
         stacki.stack_add(result)
diff --git a/tests/sanity/ignore-2.10.txt b/tests/sanity/ignore-2.10.txt
index 9da530a0e2d..d1884e99613 100644
--- a/tests/sanity/ignore-2.10.txt
+++ b/tests/sanity/ignore-2.10.txt
@@ -62,11 +62,7 @@ plugins/modules/cloud/linode/linode.py validate-modules:undocumented-parameter
 plugins/modules/cloud/linode/linode_v4.py validate-modules:parameter-list-no-elements
 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 validate-modules:doc-choices-do-not-match-spec
-plugins/modules/cloud/lxc/lxc_container.py validate-modules:doc-default-does-not-match-spec
-plugins/modules/cloud/lxc/lxc_container.py validate-modules:doc-missing-type
 plugins/modules/cloud/lxc/lxc_container.py validate-modules:invalid-ansiblemodule-schema
-plugins/modules/cloud/lxc/lxc_container.py validate-modules:parameter-type-not-in-doc
 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
@@ -198,33 +194,25 @@ plugins/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:return-s
 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/vmadm.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/cloud/smartos/vmadm.py validate-modules:doc-default-does-not-match-spec
 plugins/modules/cloud/smartos/vmadm.py validate-modules:doc-required-mismatch
 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:undocumented-parameter
 plugins/modules/cloud/softlayer/sl_vm.py validate-modules:parameter-list-no-elements
-plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-choices-do-not-match-spec
 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:doc-required-mismatch
 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:undocumented-parameter
-plugins/modules/cloud/univention/udm_dns_record.py validate-modules:doc-choices-do-not-match-spec
 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:doc-choices-do-not-match-spec
 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: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:doc-choices-do-not-match-spec
-plugins/modules/cloud/univention/udm_share.py validate-modules:doc-default-does-not-match-spec
 plugins/modules/cloud/univention/udm_share.py validate-modules:parameter-list-no-elements
-plugins/modules/cloud/univention/udm_share.py validate-modules:parameter-type-not-in-doc
-plugins/modules/cloud/univention/udm_user.py validate-modules:doc-choices-do-not-match-spec
 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-type-not-in-doc
@@ -252,11 +240,9 @@ plugins/modules/clustering/consul/consul_kv.py validate-modules:doc-required-mis
 plugins/modules/clustering/consul/consul_kv.py validate-modules:parameter-type-not-in-doc
 plugins/modules/clustering/consul/consul_session.py validate-modules:parameter-list-no-elements
 plugins/modules/clustering/consul/consul_session.py validate-modules:parameter-state-invalid-choice
-plugins/modules/clustering/etcd3.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/clustering/etcd3.py validate-modules:parameter-type-not-in-doc
 plugins/modules/clustering/pacemaker_cluster.py validate-modules:doc-required-mismatch
 plugins/modules/clustering/pacemaker_cluster.py validate-modules:parameter-type-not-in-doc
-plugins/modules/clustering/znode.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/clustering/znode.py validate-modules:doc-missing-type
 plugins/modules/clustering/znode.py validate-modules:parameter-type-not-in-doc
 plugins/modules/database/aerospike/aerospike_migrations.py yamllint:unparsable-with-libyaml
@@ -465,15 +451,12 @@ plugins/modules/remote_management/cobbler/cobbler_system.py validate-modules:par
 plugins/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:doc-missing-type
 plugins/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/dellemc/ome_device_info.py validate-modules:parameter-list-no-elements
-plugins/modules/remote_management/hpilo/hpilo_boot.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/hpilo/hpilo_boot.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/hpilo/hpilo_info.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/hpilo/hponcfg.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/imc/imc_rest.py validate-modules:parameter-type-not-in-doc
-plugins/modules/remote_management/ipmi/ipmi_boot.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/ipmi/ipmi_boot.py validate-modules:doc-missing-type
 plugins/modules/remote_management/ipmi/ipmi_boot.py validate-modules:parameter-type-not-in-doc
-plugins/modules/remote_management/ipmi/ipmi_power.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/ipmi/ipmi_power.py validate-modules:doc-missing-type
 plugins/modules/remote_management/ipmi/ipmi_power.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/lxca/lxca_cmms.py validate-modules:doc-missing-type
@@ -533,7 +516,6 @@ plugins/modules/remote_management/redfish/idrac_redfish_info.py validate-modules
 plugins/modules/remote_management/redfish/redfish_command.py validate-modules:parameter-list-no-elements
 plugins/modules/remote_management/redfish/redfish_config.py validate-modules:parameter-list-no-elements
 plugins/modules/remote_management/redfish/redfish_info.py validate-modules:parameter-list-no-elements
-plugins/modules/remote_management/stacki/stacki_host.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/stacki/stacki_host.py validate-modules:doc-default-does-not-match-spec
 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
diff --git a/tests/sanity/ignore-2.11.txt b/tests/sanity/ignore-2.11.txt
index 9da530a0e2d..d1884e99613 100644
--- a/tests/sanity/ignore-2.11.txt
+++ b/tests/sanity/ignore-2.11.txt
@@ -62,11 +62,7 @@ plugins/modules/cloud/linode/linode.py validate-modules:undocumented-parameter
 plugins/modules/cloud/linode/linode_v4.py validate-modules:parameter-list-no-elements
 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 validate-modules:doc-choices-do-not-match-spec
-plugins/modules/cloud/lxc/lxc_container.py validate-modules:doc-default-does-not-match-spec
-plugins/modules/cloud/lxc/lxc_container.py validate-modules:doc-missing-type
 plugins/modules/cloud/lxc/lxc_container.py validate-modules:invalid-ansiblemodule-schema
-plugins/modules/cloud/lxc/lxc_container.py validate-modules:parameter-type-not-in-doc
 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
@@ -198,33 +194,25 @@ plugins/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:return-s
 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/vmadm.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/cloud/smartos/vmadm.py validate-modules:doc-default-does-not-match-spec
 plugins/modules/cloud/smartos/vmadm.py validate-modules:doc-required-mismatch
 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:undocumented-parameter
 plugins/modules/cloud/softlayer/sl_vm.py validate-modules:parameter-list-no-elements
-plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-choices-do-not-match-spec
 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:doc-required-mismatch
 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:undocumented-parameter
-plugins/modules/cloud/univention/udm_dns_record.py validate-modules:doc-choices-do-not-match-spec
 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:doc-choices-do-not-match-spec
 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: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:doc-choices-do-not-match-spec
-plugins/modules/cloud/univention/udm_share.py validate-modules:doc-default-does-not-match-spec
 plugins/modules/cloud/univention/udm_share.py validate-modules:parameter-list-no-elements
-plugins/modules/cloud/univention/udm_share.py validate-modules:parameter-type-not-in-doc
-plugins/modules/cloud/univention/udm_user.py validate-modules:doc-choices-do-not-match-spec
 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-type-not-in-doc
@@ -252,11 +240,9 @@ plugins/modules/clustering/consul/consul_kv.py validate-modules:doc-required-mis
 plugins/modules/clustering/consul/consul_kv.py validate-modules:parameter-type-not-in-doc
 plugins/modules/clustering/consul/consul_session.py validate-modules:parameter-list-no-elements
 plugins/modules/clustering/consul/consul_session.py validate-modules:parameter-state-invalid-choice
-plugins/modules/clustering/etcd3.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/clustering/etcd3.py validate-modules:parameter-type-not-in-doc
 plugins/modules/clustering/pacemaker_cluster.py validate-modules:doc-required-mismatch
 plugins/modules/clustering/pacemaker_cluster.py validate-modules:parameter-type-not-in-doc
-plugins/modules/clustering/znode.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/clustering/znode.py validate-modules:doc-missing-type
 plugins/modules/clustering/znode.py validate-modules:parameter-type-not-in-doc
 plugins/modules/database/aerospike/aerospike_migrations.py yamllint:unparsable-with-libyaml
@@ -465,15 +451,12 @@ plugins/modules/remote_management/cobbler/cobbler_system.py validate-modules:par
 plugins/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:doc-missing-type
 plugins/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/dellemc/ome_device_info.py validate-modules:parameter-list-no-elements
-plugins/modules/remote_management/hpilo/hpilo_boot.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/hpilo/hpilo_boot.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/hpilo/hpilo_info.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/hpilo/hponcfg.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/imc/imc_rest.py validate-modules:parameter-type-not-in-doc
-plugins/modules/remote_management/ipmi/ipmi_boot.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/ipmi/ipmi_boot.py validate-modules:doc-missing-type
 plugins/modules/remote_management/ipmi/ipmi_boot.py validate-modules:parameter-type-not-in-doc
-plugins/modules/remote_management/ipmi/ipmi_power.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/ipmi/ipmi_power.py validate-modules:doc-missing-type
 plugins/modules/remote_management/ipmi/ipmi_power.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/lxca/lxca_cmms.py validate-modules:doc-missing-type
@@ -533,7 +516,6 @@ plugins/modules/remote_management/redfish/idrac_redfish_info.py validate-modules
 plugins/modules/remote_management/redfish/redfish_command.py validate-modules:parameter-list-no-elements
 plugins/modules/remote_management/redfish/redfish_config.py validate-modules:parameter-list-no-elements
 plugins/modules/remote_management/redfish/redfish_info.py validate-modules:parameter-list-no-elements
-plugins/modules/remote_management/stacki/stacki_host.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/stacki/stacki_host.py validate-modules:doc-default-does-not-match-spec
 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
diff --git a/tests/sanity/ignore-2.9.txt b/tests/sanity/ignore-2.9.txt
index 9b8ecf3f6ba..a8c6cbc56c0 100644
--- a/tests/sanity/ignore-2.9.txt
+++ b/tests/sanity/ignore-2.9.txt
@@ -25,10 +25,6 @@ plugins/modules/cloud/linode/linode.py validate-modules:parameter-type-not-in-do
 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 use-argspec-type-path
-plugins/modules/cloud/lxc/lxc_container.py validate-modules:doc-choices-do-not-match-spec
-plugins/modules/cloud/lxc/lxc_container.py validate-modules:doc-default-does-not-match-spec
-plugins/modules/cloud/lxc/lxc_container.py validate-modules:doc-missing-type
-plugins/modules/cloud/lxc/lxc_container.py validate-modules:parameter-type-not-in-doc
 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
@@ -175,26 +171,18 @@ plugins/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:return-s
 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/vmadm.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/cloud/smartos/vmadm.py validate-modules:doc-default-does-not-match-spec
 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/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-choices-do-not-match-spec
 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:undocumented-parameter
-plugins/modules/cloud/univention/udm_dns_record.py validate-modules:doc-choices-do-not-match-spec
 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:doc-choices-do-not-match-spec
 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_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:doc-choices-do-not-match-spec
-plugins/modules/cloud/univention/udm_share.py validate-modules:doc-default-does-not-match-spec
-plugins/modules/cloud/univention/udm_share.py validate-modules:parameter-type-not-in-doc
-plugins/modules/cloud/univention/udm_user.py validate-modules:doc-choices-do-not-match-spec
 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
@@ -212,10 +200,8 @@ plugins/modules/clustering/consul/consul.py validate-modules:doc-missing-type
 plugins/modules/clustering/consul/consul.py validate-modules:undocumented-parameter
 plugins/modules/clustering/consul/consul_acl.py validate-modules:doc-missing-type
 plugins/modules/clustering/consul/consul_kv.py validate-modules:parameter-type-not-in-doc
-plugins/modules/clustering/etcd3.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/clustering/etcd3.py validate-modules:parameter-type-not-in-doc
 plugins/modules/clustering/pacemaker_cluster.py validate-modules:parameter-type-not-in-doc
-plugins/modules/clustering/znode.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/clustering/znode.py validate-modules:doc-missing-type
 plugins/modules/clustering/znode.py validate-modules:parameter-type-not-in-doc
 plugins/modules/database/misc/elasticsearch_plugin.py validate-modules:doc-missing-type
@@ -348,15 +334,12 @@ plugins/modules/remote_management/cobbler/cobbler_sync.py validate-modules:param
 plugins/modules/remote_management/cobbler/cobbler_system.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:doc-missing-type
 plugins/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:parameter-type-not-in-doc
-plugins/modules/remote_management/hpilo/hpilo_boot.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/hpilo/hpilo_boot.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/hpilo/hpilo_info.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/hpilo/hponcfg.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/imc/imc_rest.py validate-modules:parameter-type-not-in-doc
-plugins/modules/remote_management/ipmi/ipmi_boot.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/ipmi/ipmi_boot.py validate-modules:doc-missing-type
 plugins/modules/remote_management/ipmi/ipmi_boot.py validate-modules:parameter-type-not-in-doc
-plugins/modules/remote_management/ipmi/ipmi_power.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/ipmi/ipmi_power.py validate-modules:doc-missing-type
 plugins/modules/remote_management/ipmi/ipmi_power.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/lxca/lxca_cmms.py validate-modules:doc-missing-type
@@ -398,7 +381,6 @@ plugins/modules/remote_management/oneview/oneview_san_manager.py validate-module
 plugins/modules/remote_management/oneview/oneview_san_manager.py validate-modules:undocumented-parameter
 plugins/modules/remote_management/oneview/oneview_san_manager_info.py validate-modules:parameter-type-not-in-doc
 plugins/modules/remote_management/oneview/oneview_san_manager_info.py validate-modules:undocumented-parameter
-plugins/modules/remote_management/stacki/stacki_host.py validate-modules:doc-choices-do-not-match-spec
 plugins/modules/remote_management/stacki/stacki_host.py validate-modules:doc-default-does-not-match-spec
 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