diff --git a/docs/docsite/rst/dev_guide/testing_validate-modules.rst b/docs/docsite/rst/dev_guide/testing_validate-modules.rst index d2288f9f119..7e325daa457 100644 --- a/docs/docsite/rst/dev_guide/testing_validate-modules.rst +++ b/docs/docsite/rst/dev_guide/testing_validate-modules.rst @@ -117,7 +117,7 @@ Errors 322 argument is listed in the argument_spec, but not documented in the module 323 argument is listed in DOCUMENTATION.options, but not accepted by the module 324 Value for "default" from the argument_spec does not match the documentation - 325 argument_spec defines type="bool" but documentation does not + 325 argument_spec defines type different than documentation does 326 Value for "choices" from the argument_spec does not match the documentation 327 Default value from the documentation is not compatible with type defined in the argument_spec 328 Choices value from the documentation is not compatible with type defined in the argument_spec @@ -127,6 +127,7 @@ Errors 332 ``AnsibleModule`` schema validation error 333 ``ANSIBLE_METADATA.status`` of deprecated or removed can't include other statuses 334 ``ANSIBLE_METADATA`` cannot be changed in a point release for a stable branch + 335 argument_spec implies type="str" but documentation defines it as different data type .. --------- ------------------- diff --git a/test/sanity/validate-modules/ignore.txt b/test/sanity/validate-modules/ignore.txt index c2347874053..02b8c0a69f2 100644 --- a/test/sanity/validate-modules/ignore.txt +++ b/test/sanity/validate-modules/ignore.txt @@ -33,7 +33,6 @@ lib/ansible/modules/cloud/amazon/ec2_group.py E322 lib/ansible/modules/cloud/amazon/ec2_instance.py E324 lib/ansible/modules/cloud/amazon/ec2_lc.py E322 lib/ansible/modules/cloud/amazon/ec2_lc.py E324 -lib/ansible/modules/cloud/amazon/ec2_lc.py E325 lib/ansible/modules/cloud/amazon/ec2_lc.py E326 lib/ansible/modules/cloud/amazon/ec2_metric_alarm.py E324 lib/ansible/modules/cloud/amazon/ec2_scaling_policy.py E324 @@ -41,7 +40,6 @@ lib/ansible/modules/cloud/amazon/ec2_vol.py E322 lib/ansible/modules/cloud/amazon/ec2_vol.py E324 lib/ansible/modules/cloud/amazon/ec2_vol.py E326 lib/ansible/modules/cloud/amazon/ec2_vpc_dhcp_option_facts.py E322 -lib/ansible/modules/cloud/amazon/ec2_vpc_dhcp_option_facts.py E325 lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py E324 lib/ansible/modules/cloud/amazon/ec2_vpc_subnet.py E317 lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py E323 @@ -64,7 +62,6 @@ lib/ansible/modules/cloud/amazon/iam.py E317 lib/ansible/modules/cloud/amazon/iam.py E326 lib/ansible/modules/cloud/amazon/iam_managed_policy.py E322 lib/ansible/modules/cloud/amazon/iam_managed_policy.py E324 -lib/ansible/modules/cloud/amazon/iam_managed_policy.py E325 lib/ansible/modules/cloud/amazon/iam_policy.py E317 lib/ansible/modules/cloud/amazon/iam_policy.py E327 lib/ansible/modules/cloud/amazon/kinesis_stream.py E317 @@ -78,29 +75,32 @@ lib/ansible/modules/cloud/amazon/rds.py E327 lib/ansible/modules/cloud/amazon/rds_param_group.py E324 lib/ansible/modules/cloud/amazon/rds_subnet_group.py E324 lib/ansible/modules/cloud/amazon/redshift.py E322 -lib/ansible/modules/cloud/amazon/redshift.py E325 lib/ansible/modules/cloud/amazon/redshift.py E326 lib/ansible/modules/cloud/amazon/redshift_subnet_group.py E324 lib/ansible/modules/cloud/amazon/route53.py E326 lib/ansible/modules/cloud/amazon/route53.py E327 lib/ansible/modules/cloud/amazon/route53_health_check.py E324 lib/ansible/modules/cloud/amazon/s3_lifecycle.py E322 -lib/ansible/modules/cloud/amazon/s3_lifecycle.py E325 lib/ansible/modules/cloud/amazon/s3_sync.py E322 lib/ansible/modules/cloud/amazon/s3_sync.py E326 lib/ansible/modules/cloud/amazon/s3_website.py E324 lib/ansible/modules/cloud/amazon/sts_assume_role.py E317 lib/ansible/modules/cloud/atomic/atomic_container.py E317 +lib/ansible/modules/cloud/azure/azure_rm_dnszone_facts.py E325 +lib/ansible/modules/cloud/azure/azure_rm_managed_disk_facts.py E325 +lib/ansible/modules/cloud/centurylink/clc_aa_policy.py E335 lib/ansible/modules/cloud/centurylink/clc_alert_policy.py E317 +lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py E335 lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py E317 lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py E324 lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py E326 +lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py E335 +lib/ansible/modules/cloud/centurylink/clc_server_snapshot.py E335 lib/ansible/modules/cloud/cloudstack/cs_cluster.py E326 lib/ansible/modules/cloud/cloudstack/cs_host.py E326 lib/ansible/modules/cloud/cloudstack/cs_iso.py E323 lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py E322 lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py E324 -lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py E325 lib/ansible/modules/cloud/cloudstack/cs_network.py E324 lib/ansible/modules/cloud/cloudstack/cs_network_offering.py E322 lib/ansible/modules/cloud/cloudstack/cs_network_offering.py E326 @@ -108,7 +108,6 @@ lib/ansible/modules/cloud/cloudstack/cs_portforward.py E324 lib/ansible/modules/cloud/cloudstack/cs_project.py E322 lib/ansible/modules/cloud/cloudstack/cs_service_offering.py E322 lib/ansible/modules/cloud/cloudstack/cs_service_offering.py E323 -lib/ansible/modules/cloud/cloudstack/cs_service_offering.py E325 lib/ansible/modules/cloud/cloudstack/cs_service_offering.py E326 lib/ansible/modules/cloud/cloudstack/cs_storage_pool.py E322 lib/ansible/modules/cloud/cloudstack/cs_storage_pool.py E326 @@ -116,20 +115,36 @@ lib/ansible/modules/cloud/cloudstack/cs_volume.py E322 lib/ansible/modules/cloud/cloudstack/cs_volume.py E324 lib/ansible/modules/cloud/cloudstack/cs_vpn_connection.py E322 lib/ansible/modules/cloud/cloudstack/cs_zone.py E322 -lib/ansible/modules/cloud/cloudstack/cs_zone.py E325 lib/ansible/modules/cloud/cloudstack/cs_zone.py E326 lib/ansible/modules/cloud/digital_ocean/_digital_ocean.py E322 lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py E322 lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py E324 -lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py E325 lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py E322 lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py E324 -lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py E325 lib/ansible/modules/cloud/dimensiondata/dimensiondata_network.py E326 lib/ansible/modules/cloud/dimensiondata/dimensiondata_vlan.py E326 +lib/ansible/modules/cloud/docker/docker_compose.py E325 +lib/ansible/modules/cloud/docker/docker_config.py E325 +lib/ansible/modules/cloud/docker/docker_container.py E325 +lib/ansible/modules/cloud/docker/docker_container_facts.py E325 +lib/ansible/modules/cloud/docker/docker_host_facts.py E325 +lib/ansible/modules/cloud/docker/docker_image.py E325 +lib/ansible/modules/cloud/docker/docker_image_facts.py E325 +lib/ansible/modules/cloud/docker/docker_login.py E325 +lib/ansible/modules/cloud/docker/docker_network.py E325 +lib/ansible/modules/cloud/docker/docker_network_facts.py E325 +lib/ansible/modules/cloud/docker/docker_node.py E325 +lib/ansible/modules/cloud/docker/docker_node_facts.py E325 +lib/ansible/modules/cloud/docker/docker_prune.py E325 +lib/ansible/modules/cloud/docker/docker_secret.py E325 +lib/ansible/modules/cloud/docker/docker_swarm.py E325 +lib/ansible/modules/cloud/docker/docker_swarm_facts.py E325 +lib/ansible/modules/cloud/docker/docker_swarm_service.py E325 +lib/ansible/modules/cloud/docker/docker_swarm_service.py E335 +lib/ansible/modules/cloud/docker/docker_volume.py E325 +lib/ansible/modules/cloud/docker/docker_volume_facts.py E325 lib/ansible/modules/cloud/google/gc_storage.py E322 lib/ansible/modules/cloud/google/gc_storage.py E324 -lib/ansible/modules/cloud/google/gc_storage.py E325 lib/ansible/modules/cloud/google/gc_storage.py E326 lib/ansible/modules/cloud/google/gce.py E326 lib/ansible/modules/cloud/google/gce_eip.py E322 @@ -142,7 +157,6 @@ lib/ansible/modules/cloud/google/gce_labels.py E326 lib/ansible/modules/cloud/google/gce_lb.py E323 lib/ansible/modules/cloud/google/gce_lb.py E326 lib/ansible/modules/cloud/google/gce_mig.py E322 -lib/ansible/modules/cloud/google/gce_mig.py E325 lib/ansible/modules/cloud/google/gce_net.py E323 lib/ansible/modules/cloud/google/gce_net.py E326 lib/ansible/modules/cloud/google/gce_pd.py E322 @@ -169,9 +183,9 @@ lib/ansible/modules/cloud/google/gcpubsub_facts.py E326 lib/ansible/modules/cloud/google/gcspanner.py E322 lib/ansible/modules/cloud/linode/linode.py E322 lib/ansible/modules/cloud/linode/linode.py E324 +lib/ansible/modules/cloud/lxc/lxc_container.py E210 lib/ansible/modules/cloud/lxc/lxc_container.py E324 lib/ansible/modules/cloud/lxc/lxc_container.py E326 -lib/ansible/modules/cloud/lxc/lxc_container.py E210 lib/ansible/modules/cloud/lxd/lxd_container.py E322 lib/ansible/modules/cloud/lxd/lxd_container.py E324 lib/ansible/modules/cloud/lxd/lxd_profile.py E324 @@ -179,10 +193,10 @@ lib/ansible/modules/cloud/misc/ovirt.py E322 lib/ansible/modules/cloud/misc/ovirt.py E326 lib/ansible/modules/cloud/misc/proxmox_kvm.py E322 lib/ansible/modules/cloud/misc/proxmox_kvm.py E324 -lib/ansible/modules/cloud/misc/proxmox_kvm.py E325 lib/ansible/modules/cloud/misc/proxmox_template.py E323 lib/ansible/modules/cloud/misc/rhevm.py E322 lib/ansible/modules/cloud/misc/rhevm.py E324 +lib/ansible/modules/cloud/misc/rhevm.py E335 lib/ansible/modules/cloud/misc/serverless.py E324 lib/ansible/modules/cloud/misc/terraform.py E324 lib/ansible/modules/cloud/misc/virt.py E322 @@ -194,15 +208,16 @@ lib/ansible/modules/cloud/oneandone/oneandone_public_ip.py E324 lib/ansible/modules/cloud/oneandone/oneandone_public_ip.py E326 lib/ansible/modules/cloud/oneandone/oneandone_server.py E326 lib/ansible/modules/cloud/openstack/os_flavor_facts.py E324 +lib/ansible/modules/cloud/openstack/os_flavor_facts.py E335 lib/ansible/modules/cloud/openstack/os_image.py E324 lib/ansible/modules/cloud/openstack/os_image.py E326 lib/ansible/modules/cloud/openstack/os_ironic.py E322 lib/ansible/modules/cloud/openstack/os_ironic.py E323 -lib/ansible/modules/cloud/openstack/os_ironic.py E325 lib/ansible/modules/cloud/openstack/os_ironic.py E326 lib/ansible/modules/cloud/openstack/os_ironic_node.py E322 lib/ansible/modules/cloud/openstack/os_ironic_node.py E324 lib/ansible/modules/cloud/openstack/os_ironic_node.py E326 +lib/ansible/modules/cloud/openstack/os_ironic_node.py E335 lib/ansible/modules/cloud/openstack/os_keystone_endpoint.py E322 lib/ansible/modules/cloud/openstack/os_keystone_endpoint.py E326 lib/ansible/modules/cloud/openstack/os_quota.py E322 @@ -230,6 +245,7 @@ lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py E322 lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py E324 lib/ansible/modules/cloud/ovirt/ovirt_external_provider_facts.py E317 lib/ansible/modules/cloud/ovirt/ovirt_external_provider_facts.py E322 +lib/ansible/modules/cloud/ovirt/ovirt_host.py E335 lib/ansible/modules/cloud/ovirt/ovirt_host_networks.py E317 lib/ansible/modules/cloud/ovirt/ovirt_host_networks.py E322 lib/ansible/modules/cloud/ovirt/ovirt_host_networks.py E324 @@ -314,7 +330,6 @@ lib/ansible/modules/cloud/rackspace/rax_scaling_policy.py E324 lib/ansible/modules/cloud/smartos/imgadm.py E317 lib/ansible/modules/cloud/smartos/vmadm.py E322 lib/ansible/modules/cloud/smartos/vmadm.py E324 -lib/ansible/modules/cloud/smartos/vmadm.py E325 lib/ansible/modules/cloud/smartos/vmadm.py E326 lib/ansible/modules/cloud/softlayer/sl_vm.py E324 lib/ansible/modules/cloud/softlayer/sl_vm.py E326 @@ -329,10 +344,8 @@ lib/ansible/modules/cloud/univention/udm_group.py E324 lib/ansible/modules/cloud/univention/udm_share.py E322 lib/ansible/modules/cloud/univention/udm_share.py E323 lib/ansible/modules/cloud/univention/udm_share.py E324 -lib/ansible/modules/cloud/univention/udm_share.py E325 lib/ansible/modules/cloud/univention/udm_share.py E326 lib/ansible/modules/cloud/univention/udm_user.py E324 -lib/ansible/modules/cloud/univention/udm_user.py E325 lib/ansible/modules/cloud/univention/udm_user.py E326 lib/ansible/modules/cloud/vmware/vca_fw.py E322 lib/ansible/modules/cloud/vmware/vca_fw.py E324 @@ -344,24 +357,19 @@ lib/ansible/modules/cloud/vmware/vmware_guest.py E322 lib/ansible/modules/cloud/vmware/vsphere_copy.py E322 lib/ansible/modules/clustering/consul.py E322 lib/ansible/modules/clustering/consul.py E324 -lib/ansible/modules/clustering/consul_acl.py E325 lib/ansible/modules/clustering/consul_kv.py E322 lib/ansible/modules/clustering/consul_kv.py E324 -lib/ansible/modules/clustering/consul_kv.py E325 lib/ansible/modules/clustering/consul_session.py E322 lib/ansible/modules/clustering/etcd3.py E326 lib/ansible/modules/clustering/k8s/_kubernetes.py E322 lib/ansible/modules/clustering/k8s/_kubernetes.py E323 lib/ansible/modules/clustering/k8s/_kubernetes.py E324 -lib/ansible/modules/clustering/k8s/_kubernetes.py E325 lib/ansible/modules/clustering/znode.py E326 lib/ansible/modules/commands/command.py E322 lib/ansible/modules/commands/command.py E323 -lib/ansible/modules/commands/command.py E325 lib/ansible/modules/database/influxdb/influxdb_database.py E324 lib/ansible/modules/database/influxdb/influxdb_query.py E324 lib/ansible/modules/database/influxdb/influxdb_retention_policy.py E324 -lib/ansible/modules/database/influxdb/influxdb_retention_policy.py E325 lib/ansible/modules/database/influxdb/influxdb_user.py E324 lib/ansible/modules/database/influxdb/influxdb_write.py E324 lib/ansible/modules/database/misc/riak.py E324 @@ -369,8 +377,9 @@ lib/ansible/modules/database/mongodb/mongodb_parameter.py E317 lib/ansible/modules/database/mongodb/mongodb_parameter.py E323 lib/ansible/modules/database/mongodb/mongodb_parameter.py E326 lib/ansible/modules/database/mongodb/mongodb_user.py E322 -lib/ansible/modules/database/mysql/mysql_user.py E322 lib/ansible/modules/database/mysql/mysql_db.py E210 +lib/ansible/modules/database/mysql/mysql_user.py E322 +lib/ansible/modules/database/postgresql/postgresql_db.py E210 lib/ansible/modules/database/postgresql/postgresql_ext.py E322 lib/ansible/modules/database/postgresql/postgresql_ext.py E324 lib/ansible/modules/database/postgresql/postgresql_lang.py E324 @@ -380,7 +389,6 @@ lib/ansible/modules/database/postgresql/postgresql_schema.py E324 lib/ansible/modules/database/postgresql/postgresql_user.py E322 lib/ansible/modules/database/postgresql/postgresql_user.py E324 lib/ansible/modules/database/postgresql/postgresql_user.py E326 -lib/ansible/modules/database/postgresql/postgresql_db.py E210 lib/ansible/modules/database/proxysql/proxysql_backend_servers.py E322 lib/ansible/modules/database/proxysql/proxysql_global_variables.py E322 lib/ansible/modules/database/proxysql/proxysql_manage_config.py E322 @@ -409,7 +417,6 @@ lib/ansible/modules/files/replace.py E323 lib/ansible/modules/files/synchronize.py E322 lib/ansible/modules/files/synchronize.py E323 lib/ansible/modules/files/synchronize.py E324 -lib/ansible/modules/files/synchronize.py E325 lib/ansible/modules/files/synchronize.py E327 lib/ansible/modules/files/unarchive.py E323 lib/ansible/modules/identity/cyberark/cyberark_user.py E324 @@ -468,8 +475,13 @@ lib/ansible/modules/net_tools/snmp_facts.py E322 lib/ansible/modules/net_tools/snmp_facts.py E324 lib/ansible/modules/network/a10/a10_server_axapi3.py E326 lib/ansible/modules/network/a10/a10_virtual_server.py E324 -lib/ansible/modules/network/aos/_aos_blueprint_param.py E325 +lib/ansible/modules/network/aci/aci_epg_to_domain.py E325 +lib/ansible/modules/network/aci/aci_interface_policy_l2.py E325 +lib/ansible/modules/network/aci/aci_interface_policy_lldp.py E325 +lib/ansible/modules/network/aci/aci_interface_policy_mcp.py E325 +lib/ansible/modules/network/aci/aci_tenant_span_src_group.py E325 lib/ansible/modules/network/asa/asa_config.py E324 +lib/ansible/modules/network/asa/asa_config.py E335 lib/ansible/modules/network/bigswitch/bigmon_policy.py E324 lib/ansible/modules/network/bigswitch/bigmon_policy.py E326 lib/ansible/modules/network/cloudengine/ce_aaa_server.py E322 @@ -581,6 +593,7 @@ lib/ansible/modules/network/eos/eos_eapi.py E324 lib/ansible/modules/network/eos/eos_l2_interface.py E326 lib/ansible/modules/network/eos/eos_lldp.py E326 lib/ansible/modules/network/eos/eos_logging.py E326 +lib/ansible/modules/network/f5/bigip_ucs.py E335 lib/ansible/modules/network/fortimanager/fmgr_script.py E324 lib/ansible/modules/network/fortios/fortios_address.py E324 lib/ansible/modules/network/illumos/dladm_linkprop.py E317 @@ -609,8 +622,14 @@ lib/ansible/modules/network/junos/junos_linkagg.py E324 lib/ansible/modules/network/junos/junos_logging.py E322 lib/ansible/modules/network/junos/junos_rpc.py E326 lib/ansible/modules/network/junos/junos_static_route.py E322 -lib/ansible/modules/network/junos/junos_static_route.py E325 lib/ansible/modules/network/junos/junos_vrf.py E324 +lib/ansible/modules/network/meraki/meraki_device.py E325 +lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py E325 +lib/ansible/modules/network/meraki/meraki_mx_l3_firewall.py E325 +lib/ansible/modules/network/meraki/meraki_network.py E325 +lib/ansible/modules/network/meraki/meraki_ssid.py E325 +lib/ansible/modules/network/meraki/meraki_switchport.py E325 +lib/ansible/modules/network/meraki/meraki_vlan.py E325 lib/ansible/modules/network/netact/netact_cm_command.py E326 lib/ansible/modules/network/netconf/netconf_config.py E326 lib/ansible/modules/network/netscaler/netscaler_cs_action.py E323 @@ -623,12 +642,10 @@ lib/ansible/modules/network/netscaler/netscaler_lb_monitor.py E326 lib/ansible/modules/network/netscaler/netscaler_lb_vserver.py E323 lib/ansible/modules/network/netscaler/netscaler_server.py E324 lib/ansible/modules/network/netscaler/netscaler_service.py E323 -lib/ansible/modules/network/netscaler/netscaler_ssl_certkey.py E325 lib/ansible/modules/network/netvisor/pn_cluster.py E324 lib/ansible/modules/network/netvisor/pn_ospf.py E324 lib/ansible/modules/network/netvisor/pn_show.py E324 lib/ansible/modules/network/netvisor/pn_trunk.py E324 -lib/ansible/modules/network/netvisor/pn_trunk.py E325 lib/ansible/modules/network/netvisor/pn_trunk.py E326 lib/ansible/modules/network/netvisor/pn_vlag.py E324 lib/ansible/modules/network/netvisor/pn_vlag.py E326 @@ -667,15 +684,13 @@ lib/ansible/modules/network/onyx/onyx_linkagg.py E326 lib/ansible/modules/network/onyx/onyx_mlag_vip.py E324 lib/ansible/modules/network/ordnance/ordnance_config.py E322 lib/ansible/modules/network/ordnance/ordnance_config.py E324 -lib/ansible/modules/network/ordnance/ordnance_config.py E325 lib/ansible/modules/network/ordnance/ordnance_facts.py E322 lib/ansible/modules/network/ordnance/ordnance_facts.py E324 -lib/ansible/modules/network/ordnance/ordnance_facts.py E325 lib/ansible/modules/network/ovs/openvswitch_bridge.py E326 lib/ansible/modules/network/panos/_panos_nat_policy.py E324 +lib/ansible/modules/network/panos/_panos_nat_policy.py E335 lib/ansible/modules/network/panos/_panos_security_policy.py E322 lib/ansible/modules/network/panos/_panos_security_policy.py E324 -lib/ansible/modules/network/panos/_panos_security_policy.py E325 lib/ansible/modules/network/panos/panos_check.py E324 lib/ansible/modules/network/panos/panos_match_rule.py E324 lib/ansible/modules/network/panos/panos_match_rule.py E326 @@ -721,7 +736,6 @@ lib/ansible/modules/packaging/language/pear.py E322 lib/ansible/modules/packaging/language/pear.py E326 lib/ansible/modules/packaging/language/pip.py E322 lib/ansible/modules/packaging/language/pip.py E324 -lib/ansible/modules/packaging/language/pip.py E325 lib/ansible/modules/packaging/os/apk.py E326 lib/ansible/modules/packaging/os/apt.py E322 lib/ansible/modules/packaging/os/apt.py E324 @@ -729,7 +743,6 @@ lib/ansible/modules/packaging/os/apt.py E326 lib/ansible/modules/packaging/os/apt_key.py E322 lib/ansible/modules/packaging/os/apt_repository.py E322 lib/ansible/modules/packaging/os/apt_repository.py E324 -lib/ansible/modules/packaging/os/apt_repository.py E325 lib/ansible/modules/packaging/os/apt_rpm.py E322 lib/ansible/modules/packaging/os/apt_rpm.py E324 lib/ansible/modules/packaging/os/apt_rpm.py E326 @@ -750,7 +763,6 @@ lib/ansible/modules/packaging/os/pkg5.py E326 lib/ansible/modules/packaging/os/pkgin.py E322 lib/ansible/modules/packaging/os/pkgng.py E322 lib/ansible/modules/packaging/os/portage.py E322 -lib/ansible/modules/packaging/os/portage.py E325 lib/ansible/modules/packaging/os/portinstall.py E322 lib/ansible/modules/packaging/os/pulp_repo.py E322 lib/ansible/modules/packaging/os/pulp_repo.py E324 @@ -763,19 +775,15 @@ lib/ansible/modules/packaging/os/slackpkg.py E326 lib/ansible/modules/packaging/os/swdepot.py E322 lib/ansible/modules/packaging/os/urpmi.py E322 lib/ansible/modules/packaging/os/urpmi.py E324 -lib/ansible/modules/packaging/os/urpmi.py E325 lib/ansible/modules/packaging/os/urpmi.py E326 lib/ansible/modules/packaging/os/xbps.py E322 -lib/ansible/modules/packaging/os/xbps.py E325 lib/ansible/modules/packaging/os/xbps.py E326 lib/ansible/modules/packaging/os/yum.py E322 lib/ansible/modules/packaging/os/yum.py E324 -lib/ansible/modules/packaging/os/yum.py E325 lib/ansible/modules/packaging/os/yum_repository.py E322 lib/ansible/modules/packaging/os/yum_repository.py E324 lib/ansible/modules/packaging/os/zypper.py E326 lib/ansible/modules/remote_management/foreman/foreman.py E322 -lib/ansible/modules/remote_management/foreman/foreman.py E325 lib/ansible/modules/remote_management/hpilo/hpilo_boot.py E326 lib/ansible/modules/remote_management/ipmi/ipmi_boot.py E326 lib/ansible/modules/remote_management/ipmi/ipmi_power.py E326 @@ -814,11 +822,10 @@ lib/ansible/modules/storage/infinidat/infini_export.py E323 lib/ansible/modules/storage/infinidat/infini_export.py E324 lib/ansible/modules/storage/infinidat/infini_export_client.py E323 lib/ansible/modules/storage/netapp/_na_cdot_license.py E329 -lib/ansible/modules/storage/netapp/_na_cdot_lun.py E325 lib/ansible/modules/storage/netapp/_na_cdot_volume.py E317 lib/ansible/modules/storage/netapp/_na_cdot_volume.py E322 lib/ansible/modules/storage/netapp/_na_cdot_volume.py E324 -lib/ansible/modules/storage/netapp/_na_cdot_volume.py E325 +lib/ansible/modules/storage/netapp/_sf_volume_manager.py E322 lib/ansible/modules/storage/netapp/netapp_e_amg.py E322 lib/ansible/modules/storage/netapp/netapp_e_amg_role.py E322 lib/ansible/modules/storage/netapp/netapp_e_flashcache.py E322 @@ -839,15 +846,11 @@ lib/ansible/modules/storage/netapp/netapp_e_volume.py E327 lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py E322 lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py E323 lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py E324 -lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py E325 lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py E326 -lib/ansible/modules/storage/netapp/_sf_snapshot_schedule_manager.py E325 -lib/ansible/modules/storage/netapp/_sf_volume_manager.py E322 -lib/ansible/modules/storage/netapp/_sf_volume_manager.py E325 +lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py E335 lib/ansible/modules/storage/purestorage/purefb_fs.py E324 lib/ansible/modules/storage/zfs/zfs.py E322 lib/ansible/modules/storage/zfs/zfs.py E323 -lib/ansible/modules/storage/zfs/zfs.py E325 lib/ansible/modules/storage/zfs/zfs_facts.py E323 lib/ansible/modules/storage/zfs/zpool_facts.py E323 lib/ansible/modules/system/aix_inittab.py E324 @@ -869,15 +872,14 @@ lib/ansible/modules/system/osx_defaults.py E324 lib/ansible/modules/system/pamd.py E324 lib/ansible/modules/system/pamd.py E326 lib/ansible/modules/system/puppet.py E322 -lib/ansible/modules/system/puppet.py E325 lib/ansible/modules/system/runit.py E322 lib/ansible/modules/system/runit.py E324 lib/ansible/modules/system/sefcontext.py E326 lib/ansible/modules/system/selinux.py E324 lib/ansible/modules/system/selinux_permissive.py E322 lib/ansible/modules/system/seport.py E324 -lib/ansible/modules/system/service.py E323 lib/ansible/modules/system/service.py E210 +lib/ansible/modules/system/service.py E323 lib/ansible/modules/system/solaris_zone.py E324 lib/ansible/modules/system/ufw.py E322 lib/ansible/modules/system/ufw.py E326 diff --git a/test/sanity/validate-modules/main.py b/test/sanity/validate-modules/main.py index b83cbc0e0f4..a6cfad385c6 100755 --- a/test/sanity/validate-modules/main.py +++ b/test/sanity/validate-modules/main.py @@ -1235,18 +1235,25 @@ class ModuleValidator(Validator): self.reporter.error( path=self.object_path, code=324, - msg=('Value for "default" from the argument_spec (%r) for "%s" does not match the ' - 'documentation (%r)' % (arg_default, arg, doc_default)) + msg=("argument_spec for '%s' defines default as '%s' but documentation defines default as '%s'" % (arg, arg_default, doc_default)) ) # TODO: needs to recursively traverse suboptions - doc_type = docs.get('options', {}).get(arg, {}).get('type', 'str') - if 'type' in data and data['type'] == 'bool' and doc_type != 'bool': - self.reporter.error( - path=self.object_path, - code=325, - msg='argument_spec for "%s" defines type="bool" but documentation does not' % (arg,) - ) + doc_type = docs.get('options', {}).get(arg, {}).get('type') + if 'type' in data: + if data['type'] != doc_type and doc_type is not None: + self.reporter.error( + path=self.object_path, + code=325, + msg="argument_spec for '%s' defines type as '%s' but documentation defines type as '%s'" % (arg, data['type'], doc_type) + ) + else: + if doc_type != 'str' and doc_type is not None: + self.reporter.error( + path=self.object_path, + code=335, + msg="argument_spec for '%s' implies type as 'str' but documentation defines as '%s'" % (arg, doc_type) + ) # TODO: needs to recursively traverse suboptions doc_choices = [] @@ -1287,8 +1294,7 @@ class ModuleValidator(Validator): self.reporter.error( path=self.object_path, code=326, - msg=('Value for "choices" from the argument_spec (%r) for "%s" does not match the ' - 'documentation (%r)' % (arg_choices, arg, doc_choices)) + msg=("argument_spec for '%s' defines choices as '%s' but documentation defines choices as '%s'" % (arg, arg_choices, doc_choices)) ) if docs: