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 fef3d1aab3..60cae6ce04 100644 --- a/plugins/modules/cloud/lxc/lxc_container.py +++ b/plugins/modules/cloud/lxc/lxc_container.py @@ -19,6 +19,7 @@ options: name: description: - Name of a container. + type: str required: true backing_store: choices: @@ -30,63 +31,80 @@ options: - 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 @@ options: 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 @@ options: 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 @@ options: 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 @@ options: description: - Type of compression to use when creating an archive of a running container. + type: str default: gzip state: choices: @@ -133,12 +147,14 @@ options: - 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 6839e3937c..151993c3b0 100644 --- a/plugins/modules/cloud/smartos/vmadm.py +++ b/plugins/modules/cloud/smartos/vmadm.py @@ -207,7 +207,7 @@ options: 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 d7cc7c1e2e..fd286af9ff 100644 --- a/plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py +++ b/plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py @@ -32,12 +32,9 @@ options: 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 @@ options: - (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 @@ options: 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 @@ options: - (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 109fde8642..db89bd46b6 100644 --- a/plugins/modules/cloud/univention/udm_dns_record.py +++ b/plugins/modules/cloud/univention/udm_dns_record.py @@ -39,11 +39,11 @@ options: - 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 6675b87dcc..2428650e90 100644 --- a/plugins/modules/cloud/univention/udm_dns_zone.py +++ b/plugins/modules/cloud/univention/udm_dns_zone.py @@ -29,9 +29,9 @@ options: - 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 25a6520cc3..3e8fb20792 100644 --- a/plugins/modules/cloud/univention/udm_share.py +++ b/plugins/modules/cloud/univention/udm_share.py @@ -27,267 +27,298 @@ options: 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 c59e4fd053..b86b4e0860 100644 --- a/plugins/modules/cloud/univention/udm_user.py +++ b/plugins/modules/cloud/univention/udm_user.py @@ -209,6 +209,7 @@ options: 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 14cd19fd46..7883842998 100644 --- a/plugins/modules/clustering/etcd3.py +++ b/plugins/modules/clustering/etcd3.py @@ -38,6 +38,7 @@ options: - 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 692a1a8eb3..156a63767b 100644 --- a/plugins/modules/clustering/znode.py +++ b/plugins/modules/clustering/znode.py @@ -27,9 +27,11 @@ options: 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 3bda21cbe2..1e37aee3b5 100644 --- a/plugins/modules/remote_management/hpilo/hpilo_boot.py +++ b/plugins/modules/remote_management/hpilo/hpilo_boot.py @@ -33,7 +33,7 @@ options: 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 b4870cd78f..6509ca21da 100644 --- a/plugins/modules/remote_management/ipmi/ipmi_boot.py +++ b/plugins/modules/remote_management/ipmi/ipmi_boot.py @@ -34,22 +34,31 @@ options: 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 d9c97f427f..4784015441 100644 --- a/plugins/modules/remote_management/ipmi/ipmi_power.py +++ b/plugins/modules/remote_management/ipmi/ipmi_power.py @@ -34,13 +34,14 @@ options: 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 62f3ead714..2e3c2fd132 100644 --- a/plugins/modules/remote_management/manageiq/manageiq_provider.py +++ b/plugins/modules/remote_management/manageiq/manageiq_provider.py @@ -157,7 +157,7 @@ options: 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 faffe12a23..3d896996ba 100644 --- a/plugins/modules/remote_management/stacki/stacki_host.py +++ b/plugins/modules/remote_management/stacki/stacki_host.py @@ -46,6 +46,11 @@ options: 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) ''' @@ -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 9da530a0e2..d1884e9961 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 9da530a0e2..d1884e9961 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 9b8ecf3f6b..a8c6cbc56c 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