diff --git a/docs/docsite/rst/dev_guide/testing_validate-modules.rst b/docs/docsite/rst/dev_guide/testing_validate-modules.rst index 833d33a96f..0c1640a5e5 100644 --- a/docs/docsite/rst/dev_guide/testing_validate-modules.rst +++ b/docs/docsite/rst/dev_guide/testing_validate-modules.rst @@ -113,6 +113,10 @@ Errors 324 Value for "default" from the argument_spec does not match the documentation 325 argument_spec defines type="bool" but documentation does not 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 + 329 Default value from the argument_spec is not compatible with type defined in the argument_spec + 330 Choices value from the argument_spec is not compatible with type defined in the argument_spec .. --------- ------------------- **4xx** **Syntax** diff --git a/lib/ansible/plugins/filter/core.py b/lib/ansible/plugins/filter/core.py index 8b9ff7a4c9..f194482a91 100644 --- a/lib/ansible/plugins/filter/core.py +++ b/lib/ansible/plugins/filter/core.py @@ -34,7 +34,7 @@ import time import uuid import yaml -from collections import MutableMapping, MutableSequence +from collections import Mapping, MutableMapping, MutableSequence import datetime from functools import partial from random import Random, SystemRandom, shuffle @@ -326,7 +326,7 @@ def combine(*terms, **kwargs): dicts = [] for t in terms: - if isinstance(t, MutableMapping): + if isinstance(t, (MutableMapping, Mapping)): dicts.append(t) elif isinstance(t, list): dicts.append(combine(*t, **kwargs)) diff --git a/test/sanity/validate-modules/ignore.txt b/test/sanity/validate-modules/ignore.txt index c28fe3ba04..981715c622 100644 --- a/test/sanity/validate-modules/ignore.txt +++ b/test/sanity/validate-modules/ignore.txt @@ -4,13 +4,11 @@ lib/ansible/modules/cloud/amazon/aws_acm_facts.py E322 lib/ansible/modules/cloud/amazon/aws_acm_facts.py E323 lib/ansible/modules/cloud/amazon/aws_api_gateway.py E322 lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py E322 +lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py E324 lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py E326 -lib/ansible/modules/cloud/amazon/aws_batch_job_definition.py E324 -lib/ansible/modules/cloud/amazon/aws_direct_connect_connection.py E324 lib/ansible/modules/cloud/amazon/aws_direct_connect_connection.py E325 lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py E322 lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py E324 -lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py E324 lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py E325 lib/ansible/modules/cloud/amazon/aws_elasticbeanstalk_app.py E325 lib/ansible/modules/cloud/amazon/aws_kms_facts.py E325 @@ -19,11 +17,8 @@ lib/ansible/modules/cloud/amazon/aws_s3.py E324 lib/ansible/modules/cloud/amazon/aws_s3.py E325 lib/ansible/modules/cloud/amazon/aws_ssm_parameter_store.py E324 lib/ansible/modules/cloud/amazon/aws_ssm_parameter_store.py E325 -lib/ansible/modules/cloud/amazon/aws_waf_condition.py E324 lib/ansible/modules/cloud/amazon/aws_waf_condition.py E325 -lib/ansible/modules/cloud/amazon/aws_waf_rule.py E324 lib/ansible/modules/cloud/amazon/aws_waf_rule.py E325 -lib/ansible/modules/cloud/amazon/aws_waf_web_acl.py E324 lib/ansible/modules/cloud/amazon/aws_waf_web_acl.py E325 lib/ansible/modules/cloud/amazon/cloudformation.py E324 lib/ansible/modules/cloud/amazon/cloudformation.py E325 @@ -33,13 +28,13 @@ lib/ansible/modules/cloud/amazon/cloudfront_distribution.py E325 lib/ansible/modules/cloud/amazon/cloudfront_distribution.py E326 lib/ansible/modules/cloud/amazon/cloudfront_facts.py E323 lib/ansible/modules/cloud/amazon/cloudfront_facts.py E325 +lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py E324 lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py E324 lib/ansible/modules/cloud/amazon/cloudtrail.py E324 lib/ansible/modules/cloud/amazon/cloudtrail.py E325 -lib/ansible/modules/cloud/amazon/cloudwatchevent_rule.py E324 lib/ansible/modules/cloud/amazon/cloudwatchlogs_log_group.py E325 lib/ansible/modules/cloud/amazon/data_pipeline.py E322 -lib/ansible/modules/cloud/amazon/data_pipeline.py E324 +lib/ansible/modules/cloud/amazon/dynamodb_ttl.py E324 lib/ansible/modules/cloud/amazon/ec2.py E322 lib/ansible/modules/cloud/amazon/ec2.py E324 lib/ansible/modules/cloud/amazon/ec2.py E325 @@ -47,21 +42,19 @@ lib/ansible/modules/cloud/amazon/ec2.py E326 lib/ansible/modules/cloud/amazon/ec2_ami.py E324 lib/ansible/modules/cloud/amazon/ec2_ami.py E325 lib/ansible/modules/cloud/amazon/ec2_ami.py E326 -lib/ansible/modules/cloud/amazon/ec2_ami_copy.py E324 lib/ansible/modules/cloud/amazon/ec2_ami_copy.py E325 -lib/ansible/modules/cloud/amazon/ec2_ami_facts.py E324 lib/ansible/modules/cloud/amazon/ec2_ami_facts.py E325 lib/ansible/modules/cloud/amazon/ec2_ami_facts.py E326 lib/ansible/modules/cloud/amazon/ec2_asg.py E324 lib/ansible/modules/cloud/amazon/ec2_asg.py E325 lib/ansible/modules/cloud/amazon/ec2_asg.py E326 -lib/ansible/modules/cloud/amazon/ec2_customer_gateway_facts.py E324 +lib/ansible/modules/cloud/amazon/ec2_asg.py E327 +lib/ansible/modules/cloud/amazon/ec2_asg_lifecycle_hook.py E327 lib/ansible/modules/cloud/amazon/ec2_eip.py E322 lib/ansible/modules/cloud/amazon/ec2_eip.py E324 lib/ansible/modules/cloud/amazon/ec2_eip.py E325 lib/ansible/modules/cloud/amazon/ec2_elb.py E326 lib/ansible/modules/cloud/amazon/ec2_elb_facts.py E323 -lib/ansible/modules/cloud/amazon/ec2_elb_facts.py E324 lib/ansible/modules/cloud/amazon/ec2_elb_lb.py E324 lib/ansible/modules/cloud/amazon/ec2_elb_lb.py E325 lib/ansible/modules/cloud/amazon/ec2_eni.py E324 @@ -71,7 +64,6 @@ lib/ansible/modules/cloud/amazon/ec2_group.py E325 lib/ansible/modules/cloud/amazon/ec2_group.py E326 lib/ansible/modules/cloud/amazon/ec2_instance.py E324 lib/ansible/modules/cloud/amazon/ec2_instance.py E325 -lib/ansible/modules/cloud/amazon/ec2_instance_facts.py E324 lib/ansible/modules/cloud/amazon/ec2_key.py E325 lib/ansible/modules/cloud/amazon/ec2_lc.py E322 lib/ansible/modules/cloud/amazon/ec2_lc.py E324 @@ -79,124 +71,102 @@ 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 -lib/ansible/modules/cloud/amazon/ec2_snapshot.py E324 lib/ansible/modules/cloud/amazon/ec2_snapshot.py E325 lib/ansible/modules/cloud/amazon/ec2_snapshot.py E326 -lib/ansible/modules/cloud/amazon/ec2_snapshot_copy.py E324 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 E325 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 E324 lib/ansible/modules/cloud/amazon/ec2_vpc_dhcp_option_facts.py E325 lib/ansible/modules/cloud/amazon/ec2_vpc_endpoint.py E325 lib/ansible/modules/cloud/amazon/ec2_vpc_endpoint.py E326 -lib/ansible/modules/cloud/amazon/ec2_vpc_endpoint_facts.py E324 -lib/ansible/modules/cloud/amazon/ec2_vpc_igw.py E324 -lib/ansible/modules/cloud/amazon/ec2_vpc_igw_facts.py E324 -lib/ansible/modules/cloud/amazon/ec2_vpc_nacl.py E324 lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py E324 lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py E325 -lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway_facts.py E324 lib/ansible/modules/cloud/amazon/ec2_vpc_net.py E325 lib/ansible/modules/cloud/amazon/ec2_vpc_net.py E326 -lib/ansible/modules/cloud/amazon/ec2_vpc_net_facts.py E324 -lib/ansible/modules/cloud/amazon/ec2_vpc_peering_facts.py E324 -lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py E324 lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py E325 lib/ansible/modules/cloud/amazon/ec2_vpc_subnet.py E317 -lib/ansible/modules/cloud/amazon/ec2_vpc_subnet.py E324 -lib/ansible/modules/cloud/amazon/ec2_vpc_subnet_facts.py E324 lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py E322 lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py E323 lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py E324 lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py E325 -lib/ansible/modules/cloud/amazon/ec2_vpc_vgw_facts.py E324 -lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py E324 lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py E325 lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py E326 lib/ansible/modules/cloud/amazon/ecs_cluster.py E324 lib/ansible/modules/cloud/amazon/ecs_ecr.py E325 -lib/ansible/modules/cloud/amazon/ecs_service.py E324 +lib/ansible/modules/cloud/amazon/ecs_service_facts.py E324 lib/ansible/modules/cloud/amazon/ecs_service_facts.py E325 lib/ansible/modules/cloud/amazon/ecs_service_facts.py E326 -lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py E324 lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py E325 -lib/ansible/modules/cloud/amazon/efs.py E324 -lib/ansible/modules/cloud/amazon/efs_facts.py E324 lib/ansible/modules/cloud/amazon/elasticache.py E324 lib/ansible/modules/cloud/amazon/elasticache.py E326 -lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py E324 lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py E326 +lib/ansible/modules/cloud/amazon/elasticache_subnet_group.py E324 lib/ansible/modules/cloud/amazon/elb_application_lb.py E322 lib/ansible/modules/cloud/amazon/elb_application_lb.py E324 lib/ansible/modules/cloud/amazon/elb_application_lb.py E325 lib/ansible/modules/cloud/amazon/elb_application_lb.py E326 -lib/ansible/modules/cloud/amazon/elb_classic_lb.py E324 lib/ansible/modules/cloud/amazon/elb_classic_lb_facts.py E323 -lib/ansible/modules/cloud/amazon/elb_classic_lb_facts.py E324 lib/ansible/modules/cloud/amazon/elb_instance.py E326 -lib/ansible/modules/cloud/amazon/elb_target.py E324 lib/ansible/modules/cloud/amazon/elb_target.py E325 lib/ansible/modules/cloud/amazon/elb_target.py E326 +lib/ansible/modules/cloud/amazon/elb_target.py E327 lib/ansible/modules/cloud/amazon/elb_target_group.py E322 lib/ansible/modules/cloud/amazon/elb_target_group.py E324 lib/ansible/modules/cloud/amazon/elb_target_group.py E325 lib/ansible/modules/cloud/amazon/elb_target_group.py E326 +lib/ansible/modules/cloud/amazon/execute_lambda.py E324 lib/ansible/modules/cloud/amazon/iam.py E317 -lib/ansible/modules/cloud/amazon/iam.py E324 lib/ansible/modules/cloud/amazon/iam.py E326 lib/ansible/modules/cloud/amazon/iam_cert.py E325 -lib/ansible/modules/cloud/amazon/iam_group.py E324 lib/ansible/modules/cloud/amazon/iam_group.py E325 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 E324 -lib/ansible/modules/cloud/amazon/iam_policy.py E325 -lib/ansible/modules/cloud/amazon/iam_user.py E324 +lib/ansible/modules/cloud/amazon/iam_policy.py E327 lib/ansible/modules/cloud/amazon/iam_user.py E325 lib/ansible/modules/cloud/amazon/kinesis_stream.py E317 +lib/ansible/modules/cloud/amazon/kinesis_stream.py E324 lib/ansible/modules/cloud/amazon/kinesis_stream.py E325 lib/ansible/modules/cloud/amazon/kinesis_stream.py E326 lib/ansible/modules/cloud/amazon/lambda.py E323 -lib/ansible/modules/cloud/amazon/lambda.py E324 lib/ansible/modules/cloud/amazon/lambda_alias.py E317 -lib/ansible/modules/cloud/amazon/lambda_alias.py E324 lib/ansible/modules/cloud/amazon/lambda_event.py E317 -lib/ansible/modules/cloud/amazon/lambda_event.py E324 lib/ansible/modules/cloud/amazon/rds.py E322 +lib/ansible/modules/cloud/amazon/rds.py E327 lib/ansible/modules/cloud/amazon/rds_param_group.py E324 lib/ansible/modules/cloud/amazon/rds_param_group.py E325 lib/ansible/modules/cloud/amazon/rds_param_group.py E326 +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 E324 lib/ansible/modules/cloud/amazon/redshift.py E325 lib/ansible/modules/cloud/amazon/redshift.py E326 -lib/ansible/modules/cloud/amazon/route53.py E324 +lib/ansible/modules/cloud/amazon/redshift_subnet_group.py E324 lib/ansible/modules/cloud/amazon/route53.py E325 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_bucket.py E324 lib/ansible/modules/cloud/amazon/s3_bucket.py E325 lib/ansible/modules/cloud/amazon/s3_lifecycle.py E322 -lib/ansible/modules/cloud/amazon/s3_lifecycle.py E324 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 E324 lib/ansible/modules/cloud/amazon/s3_sync.py E325 lib/ansible/modules/cloud/amazon/s3_sync.py E326 +lib/ansible/modules/cloud/amazon/s3_website.py E324 lib/ansible/modules/cloud/amazon/sns_topic.py E325 lib/ansible/modules/cloud/amazon/sts_assume_role.py E317 lib/ansible/modules/cloud/atomic/atomic_container.py E317 -lib/ansible/modules/cloud/atomic/atomic_container.py E324 lib/ansible/modules/cloud/atomic/atomic_container.py E326 lib/ansible/modules/cloud/azure/_azure.py E324 lib/ansible/modules/cloud/azure/_azure.py E326 +lib/ansible/modules/cloud/azure/azure_rm_acs.py E324 lib/ansible/modules/cloud/azure/azure_rm_acs.py E325 lib/ansible/modules/cloud/azure/azure_rm_acs.py E326 +lib/ansible/modules/cloud/azure/azure_rm_availabilityset.py E324 lib/ansible/modules/cloud/azure/azure_rm_availabilityset_facts.py E322 +lib/ansible/modules/cloud/azure/azure_rm_availabilityset_facts.py E324 lib/ansible/modules/cloud/azure/azure_rm_containerinstance.py E324 lib/ansible/modules/cloud/azure/azure_rm_containerregistry.py E324 lib/ansible/modules/cloud/azure/azure_rm_deployment.py E322 @@ -208,10 +178,19 @@ lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py E325 lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset_facts.py E322 lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset_facts.py E324 lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset_facts.py E325 +lib/ansible/modules/cloud/azure/azure_rm_dnszone.py E324 +lib/ansible/modules/cloud/azure/azure_rm_dnszone_facts.py E324 lib/ansible/modules/cloud/azure/azure_rm_functionapp.py E322 lib/ansible/modules/cloud/azure/azure_rm_functionapp.py E324 lib/ansible/modules/cloud/azure/azure_rm_functionapp.py E325 +lib/ansible/modules/cloud/azure/azure_rm_functionapp_facts.py E324 lib/ansible/modules/cloud/azure/azure_rm_image.py E324 +lib/ansible/modules/cloud/azure/azure_rm_keyvault.py E324 +lib/ansible/modules/cloud/azure/azure_rm_keyvaultkey.py E324 +lib/ansible/modules/cloud/azure/azure_rm_keyvaultsecret.py E324 +lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py E324 +lib/ansible/modules/cloud/azure/azure_rm_loadbalancer_facts.py E324 +lib/ansible/modules/cloud/azure/azure_rm_managed_disk.py E324 lib/ansible/modules/cloud/azure/azure_rm_managed_disk_facts.py E322 lib/ansible/modules/cloud/azure/azure_rm_managed_disk_facts.py E324 lib/ansible/modules/cloud/azure/azure_rm_managed_disk_facts.py E325 @@ -222,6 +201,8 @@ lib/ansible/modules/cloud/azure/azure_rm_mysqldatabase.py E326 lib/ansible/modules/cloud/azure/azure_rm_mysqlserver.py E322 lib/ansible/modules/cloud/azure/azure_rm_mysqlserver.py E324 lib/ansible/modules/cloud/azure/azure_rm_mysqlserver.py E326 +lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py E324 +lib/ansible/modules/cloud/azure/azure_rm_networkinterface_facts.py E324 lib/ansible/modules/cloud/azure/azure_rm_postgresqldatabase.py E322 lib/ansible/modules/cloud/azure/azure_rm_postgresqldatabase.py E324 lib/ansible/modules/cloud/azure/azure_rm_postgresqldatabase.py E326 @@ -229,6 +210,13 @@ lib/ansible/modules/cloud/azure/azure_rm_postgresqlserver.py E322 lib/ansible/modules/cloud/azure/azure_rm_postgresqlserver.py E324 lib/ansible/modules/cloud/azure/azure_rm_postgresqlserver.py E326 lib/ansible/modules/cloud/azure/azure_rm_publicipaddress.py E322 +lib/ansible/modules/cloud/azure/azure_rm_publicipaddress.py E324 +lib/ansible/modules/cloud/azure/azure_rm_publicipaddress_facts.py E324 +lib/ansible/modules/cloud/azure/azure_rm_resourcegroup.py E324 +lib/ansible/modules/cloud/azure/azure_rm_resourcegroup_facts.py E324 +lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py E324 +lib/ansible/modules/cloud/azure/azure_rm_securitygroup_facts.py E324 +lib/ansible/modules/cloud/azure/azure_rm_sqldatabase.py E324 lib/ansible/modules/cloud/azure/azure_rm_sqlserver.py E322 lib/ansible/modules/cloud/azure/azure_rm_sqlserver.py E324 lib/ansible/modules/cloud/azure/azure_rm_sqlserver.py E326 @@ -238,23 +226,29 @@ lib/ansible/modules/cloud/azure/azure_rm_sqlserver_facts.py E325 lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py E322 lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py E324 lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py E325 +lib/ansible/modules/cloud/azure/azure_rm_storageaccount_facts.py E324 lib/ansible/modules/cloud/azure/azure_rm_storageblob.py E323 +lib/ansible/modules/cloud/azure/azure_rm_storageblob.py E324 lib/ansible/modules/cloud/azure/azure_rm_subnet.py E322 lib/ansible/modules/cloud/azure/azure_rm_subnet.py E324 lib/ansible/modules/cloud/azure/azure_rm_subnet.py E325 lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py E322 lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py E324 lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py E325 +lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_extension.py E324 lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_extension.py E325 lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py E322 lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py E324 lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py E325 lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset_facts.py E322 +lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset_facts.py E324 lib/ansible/modules/cloud/azure/azure_rm_virtualmachineimage_facts.py E322 lib/ansible/modules/cloud/azure/azure_rm_virtualmachineimage_facts.py E323 lib/ansible/modules/cloud/azure/azure_rm_virtualmachineimage_facts.py E324 lib/ansible/modules/cloud/azure/azure_rm_virtualmachineimage_facts.py E325 lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py E322 +lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py E324 +lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork_facts.py E324 lib/ansible/modules/cloud/centurylink/clc_aa_policy.py E326 lib/ansible/modules/cloud/centurylink/clc_alert_policy.py E317 lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py E326 @@ -279,11 +273,13 @@ lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py E325 lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule_member.py E322 lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule_member.py E324 lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule_member.py E325 +lib/ansible/modules/cloud/cloudstack/cs_network.py E324 lib/ansible/modules/cloud/cloudstack/cs_network_acl_rule.py E324 lib/ansible/modules/cloud/cloudstack/cs_network_acl_rule.py E326 lib/ansible/modules/cloud/cloudstack/cs_network_offering.py E322 lib/ansible/modules/cloud/cloudstack/cs_network_offering.py E325 lib/ansible/modules/cloud/cloudstack/cs_network_offering.py E326 +lib/ansible/modules/cloud/cloudstack/cs_portforward.py E324 lib/ansible/modules/cloud/cloudstack/cs_portforward.py E325 lib/ansible/modules/cloud/cloudstack/cs_project.py E322 lib/ansible/modules/cloud/cloudstack/cs_securitygroup_rule.py E325 @@ -291,6 +287,7 @@ 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_staticnat.py E324 lib/ansible/modules/cloud/cloudstack/cs_storage_pool.py E322 lib/ansible/modules/cloud/cloudstack/cs_storage_pool.py E325 lib/ansible/modules/cloud/cloudstack/cs_storage_pool.py E326 @@ -300,6 +297,7 @@ lib/ansible/modules/cloud/cloudstack/cs_template.py E326 lib/ansible/modules/cloud/cloudstack/cs_user.py E325 lib/ansible/modules/cloud/cloudstack/cs_vmsnapshot.py E325 lib/ansible/modules/cloud/cloudstack/cs_volume.py E322 +lib/ansible/modules/cloud/cloudstack/cs_volume.py E324 lib/ansible/modules/cloud/cloudstack/cs_volume.py E325 lib/ansible/modules/cloud/cloudstack/cs_vpc.py E325 lib/ansible/modules/cloud/cloudstack/cs_vpc_offering.py E325 @@ -318,7 +316,6 @@ 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 E325 lib/ansible/modules/cloud/dimensiondata/dimensiondata_network.py E326 -lib/ansible/modules/cloud/dimensiondata/dimensiondata_vlan.py E324 lib/ansible/modules/cloud/dimensiondata/dimensiondata_vlan.py E325 lib/ansible/modules/cloud/dimensiondata/dimensiondata_vlan.py E326 lib/ansible/modules/cloud/docker/docker_container.py E322 @@ -352,7 +349,6 @@ 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 E324 lib/ansible/modules/cloud/google/gce.py E326 lib/ansible/modules/cloud/google/gce_eip.py E322 lib/ansible/modules/cloud/google/gce_instance_template.py E322 @@ -365,7 +361,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 E324 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 @@ -394,15 +389,14 @@ 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 E324 lib/ansible/modules/cloud/lxc/lxc_container.py E326 lib/ansible/modules/cloud/lxd/lxd_container.py E322 lib/ansible/modules/cloud/lxd/lxd_container.py E324 lib/ansible/modules/cloud/lxd/lxd_container.py E325 lib/ansible/modules/cloud/lxd/lxd_profile.py E324 -lib/ansible/modules/cloud/misc/helm.py E324 lib/ansible/modules/cloud/misc/ovirt.py E322 lib/ansible/modules/cloud/misc/ovirt.py E326 -lib/ansible/modules/cloud/misc/proxmox.py E324 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 @@ -419,16 +413,13 @@ lib/ansible/modules/cloud/misc/virt_net.py E325 lib/ansible/modules/cloud/misc/virt_net.py E326 lib/ansible/modules/cloud/misc/virt_pool.py E325 lib/ansible/modules/cloud/misc/virt_pool.py E326 -lib/ansible/modules/cloud/oneandone/oneandone_firewall_policy.py E324 lib/ansible/modules/cloud/oneandone/oneandone_firewall_policy.py E325 lib/ansible/modules/cloud/oneandone/oneandone_firewall_policy.py E326 lib/ansible/modules/cloud/oneandone/oneandone_load_balancer.py E324 lib/ansible/modules/cloud/oneandone/oneandone_load_balancer.py E325 lib/ansible/modules/cloud/oneandone/oneandone_load_balancer.py E326 -lib/ansible/modules/cloud/oneandone/oneandone_monitoring_policy.py E324 lib/ansible/modules/cloud/oneandone/oneandone_monitoring_policy.py E325 lib/ansible/modules/cloud/oneandone/oneandone_monitoring_policy.py E326 -lib/ansible/modules/cloud/oneandone/oneandone_private_network.py E324 lib/ansible/modules/cloud/oneandone/oneandone_private_network.py E325 lib/ansible/modules/cloud/oneandone/oneandone_private_network.py E326 lib/ansible/modules/cloud/oneandone/oneandone_public_ip.py E324 @@ -440,7 +431,6 @@ 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 E324 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 @@ -452,14 +442,11 @@ lib/ansible/modules/cloud/openstack/os_keystone_endpoint.py E326 lib/ansible/modules/cloud/openstack/os_port.py E325 lib/ansible/modules/cloud/openstack/os_quota.py E322 lib/ansible/modules/cloud/openstack/os_quota.py E323 -lib/ansible/modules/cloud/openstack/os_quota.py E324 lib/ansible/modules/cloud/openstack/os_quota.py E326 -lib/ansible/modules/cloud/openstack/os_security_group.py E324 -lib/ansible/modules/cloud/openstack/os_security_group_rule.py E326 lib/ansible/modules/cloud/openstack/os_server.py E322 lib/ansible/modules/cloud/openstack/os_server.py E324 +lib/ansible/modules/cloud/openstack/os_server_action.py E324 lib/ansible/modules/cloud/openstack/os_stack.py E324 -lib/ansible/modules/cloud/openstack/os_subnet.py E324 lib/ansible/modules/cloud/openstack/os_subnet.py E326 lib/ansible/modules/cloud/openstack/os_subnets_facts.py E322 lib/ansible/modules/cloud/openstack/os_subnets_facts.py E323 @@ -470,9 +457,7 @@ lib/ansible/modules/cloud/ovirt/ovirt_affinity_group.py E325 lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py E317 lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py E324 lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_affinity_label_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_affinity_label_facts.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_api_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_api_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_auth.py E322 lib/ansible/modules/cloud/ovirt/ovirt_auth.py E324 @@ -482,18 +467,15 @@ lib/ansible/modules/cloud/ovirt/ovirt_cluster.py E322 lib/ansible/modules/cloud/ovirt/ovirt_cluster.py E324 lib/ansible/modules/cloud/ovirt/ovirt_cluster.py E325 lib/ansible/modules/cloud/ovirt/ovirt_cluster.py E326 -lib/ansible/modules/cloud/ovirt/ovirt_cluster_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_cluster_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_datacenter.py E317 lib/ansible/modules/cloud/ovirt/ovirt_datacenter.py E324 lib/ansible/modules/cloud/ovirt/ovirt_datacenter.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_datacenter_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_datacenter_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_disk.py E322 lib/ansible/modules/cloud/ovirt/ovirt_disk.py E324 lib/ansible/modules/cloud/ovirt/ovirt_disk.py E325 lib/ansible/modules/cloud/ovirt/ovirt_disk.py E326 -lib/ansible/modules/cloud/ovirt/ovirt_disk_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_disk_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py E317 lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py E322 @@ -501,11 +483,9 @@ lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py E324 lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py E325 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_external_provider_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_external_provider_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_group.py E324 lib/ansible/modules/cloud/ovirt/ovirt_group.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_group_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_group_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_host_networks.py E317 lib/ansible/modules/cloud/ovirt/ovirt_host_networks.py E322 @@ -514,12 +494,10 @@ lib/ansible/modules/cloud/ovirt/ovirt_host_networks.py E325 lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py E317 lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py E324 lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_host_storage_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_host_storage_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_hosts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_hosts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_hosts.py E326 -lib/ansible/modules/cloud/ovirt/ovirt_hosts_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_hosts_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_mac_pools.py E317 lib/ansible/modules/cloud/ovirt/ovirt_mac_pools.py E324 @@ -527,35 +505,28 @@ lib/ansible/modules/cloud/ovirt/ovirt_mac_pools.py E325 lib/ansible/modules/cloud/ovirt/ovirt_networks.py E317 lib/ansible/modules/cloud/ovirt/ovirt_networks.py E324 lib/ansible/modules/cloud/ovirt/ovirt_networks.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_networks_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_networks_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_nics.py E324 lib/ansible/modules/cloud/ovirt/ovirt_nics.py E325 lib/ansible/modules/cloud/ovirt/ovirt_nics.py E326 -lib/ansible/modules/cloud/ovirt/ovirt_nics_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_nics_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_permissions.py E324 lib/ansible/modules/cloud/ovirt/ovirt_permissions.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_permissions_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_permissions_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_quotas.py E322 lib/ansible/modules/cloud/ovirt/ovirt_quotas.py E324 lib/ansible/modules/cloud/ovirt/ovirt_quotas.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_quotas_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_quotas_facts.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_scheduling_policies_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_scheduling_policies_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_snapshots.py E322 lib/ansible/modules/cloud/ovirt/ovirt_snapshots.py E324 lib/ansible/modules/cloud/ovirt/ovirt_snapshots.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_snapshots_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_snapshots_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_storage_connections.py E324 lib/ansible/modules/cloud/ovirt/ovirt_storage_connections.py E325 lib/ansible/modules/cloud/ovirt/ovirt_storage_domains.py E324 lib/ansible/modules/cloud/ovirt/ovirt_storage_domains.py E325 lib/ansible/modules/cloud/ovirt/ovirt_storage_domains.py E326 -lib/ansible/modules/cloud/ovirt/ovirt_storage_domains_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_storage_domains_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_storage_templates_facts.py E322 lib/ansible/modules/cloud/ovirt/ovirt_storage_templates_facts.py E324 @@ -567,30 +538,25 @@ lib/ansible/modules/cloud/ovirt/ovirt_tags.py E317 lib/ansible/modules/cloud/ovirt/ovirt_tags.py E324 lib/ansible/modules/cloud/ovirt/ovirt_tags.py E325 lib/ansible/modules/cloud/ovirt/ovirt_tags_facts.py E323 -lib/ansible/modules/cloud/ovirt/ovirt_tags_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_tags_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_templates.py E322 lib/ansible/modules/cloud/ovirt/ovirt_templates.py E324 lib/ansible/modules/cloud/ovirt/ovirt_templates.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_templates_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_templates_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_users.py E322 lib/ansible/modules/cloud/ovirt/ovirt_users.py E324 lib/ansible/modules/cloud/ovirt/ovirt_users.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_users_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_users_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_vmpools.py E317 lib/ansible/modules/cloud/ovirt/ovirt_vmpools.py E322 lib/ansible/modules/cloud/ovirt/ovirt_vmpools.py E324 lib/ansible/modules/cloud/ovirt/ovirt_vmpools.py E325 -lib/ansible/modules/cloud/ovirt/ovirt_vmpools_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_vmpools_facts.py E325 lib/ansible/modules/cloud/ovirt/ovirt_vms.py E324 lib/ansible/modules/cloud/ovirt/ovirt_vms.py E325 lib/ansible/modules/cloud/ovirt/ovirt_vms.py E326 lib/ansible/modules/cloud/ovirt/ovirt_vms_facts.py E324 lib/ansible/modules/cloud/ovirt/ovirt_vms_facts.py E325 -lib/ansible/modules/cloud/packet/packet_device.py E324 lib/ansible/modules/cloud/packet/packet_device.py E325 lib/ansible/modules/cloud/packet/packet_sshkey.py E322 lib/ansible/modules/cloud/profitbricks/profitbricks.py E322 @@ -602,7 +568,6 @@ lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py E324 lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py E325 lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py E326 lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py E322 -lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py E324 lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py E325 lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py E326 lib/ansible/modules/cloud/profitbricks/profitbricks_volume_attachments.py E325 @@ -614,20 +579,28 @@ lib/ansible/modules/cloud/rackspace/rax.py E324 lib/ansible/modules/cloud/rackspace/rax.py E325 lib/ansible/modules/cloud/rackspace/rax_cbs.py E324 lib/ansible/modules/cloud/rackspace/rax_cbs.py E325 +lib/ansible/modules/cloud/rackspace/rax_cbs_attachments.py E324 lib/ansible/modules/cloud/rackspace/rax_cbs_attachments.py E325 lib/ansible/modules/cloud/rackspace/rax_cdb.py E324 lib/ansible/modules/cloud/rackspace/rax_cdb.py E325 lib/ansible/modules/cloud/rackspace/rax_cdb.py E326 +lib/ansible/modules/cloud/rackspace/rax_cdb_database.py E324 lib/ansible/modules/cloud/rackspace/rax_cdb_database.py E325 +lib/ansible/modules/cloud/rackspace/rax_cdb_user.py E324 lib/ansible/modules/cloud/rackspace/rax_cdb_user.py E325 lib/ansible/modules/cloud/rackspace/rax_clb.py E324 lib/ansible/modules/cloud/rackspace/rax_clb.py E325 lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py E322 +lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py E324 lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py E325 lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py E326 +lib/ansible/modules/cloud/rackspace/rax_clb_ssl.py E324 lib/ansible/modules/cloud/rackspace/rax_clb_ssl.py E325 +lib/ansible/modules/cloud/rackspace/rax_dns.py E324 lib/ansible/modules/cloud/rackspace/rax_dns.py E325 +lib/ansible/modules/cloud/rackspace/rax_dns_record.py E324 lib/ansible/modules/cloud/rackspace/rax_dns_record.py E325 +lib/ansible/modules/cloud/rackspace/rax_facts.py E324 lib/ansible/modules/cloud/rackspace/rax_facts.py E325 lib/ansible/modules/cloud/rackspace/rax_files.py E324 lib/ansible/modules/cloud/rackspace/rax_files.py E325 @@ -635,8 +608,10 @@ lib/ansible/modules/cloud/rackspace/rax_files.py E326 lib/ansible/modules/cloud/rackspace/rax_files_objects.py E323 lib/ansible/modules/cloud/rackspace/rax_files_objects.py E324 lib/ansible/modules/cloud/rackspace/rax_files_objects.py E325 +lib/ansible/modules/cloud/rackspace/rax_identity.py E324 lib/ansible/modules/cloud/rackspace/rax_identity.py E325 lib/ansible/modules/cloud/rackspace/rax_identity.py E326 +lib/ansible/modules/cloud/rackspace/rax_keypair.py E324 lib/ansible/modules/cloud/rackspace/rax_keypair.py E325 lib/ansible/modules/cloud/rackspace/rax_meta.py E324 lib/ansible/modules/cloud/rackspace/rax_meta.py E325 @@ -652,7 +627,9 @@ lib/ansible/modules/cloud/rackspace/rax_mon_notification.py E324 lib/ansible/modules/cloud/rackspace/rax_mon_notification.py E325 lib/ansible/modules/cloud/rackspace/rax_mon_notification_plan.py E324 lib/ansible/modules/cloud/rackspace/rax_mon_notification_plan.py E325 +lib/ansible/modules/cloud/rackspace/rax_network.py E324 lib/ansible/modules/cloud/rackspace/rax_network.py E325 +lib/ansible/modules/cloud/rackspace/rax_queue.py E324 lib/ansible/modules/cloud/rackspace/rax_queue.py E325 lib/ansible/modules/cloud/rackspace/rax_scaling_group.py E324 lib/ansible/modules/cloud/rackspace/rax_scaling_group.py E325 @@ -674,7 +651,6 @@ lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py E325 lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py E326 lib/ansible/modules/cloud/univention/udm_dns_record.py E326 lib/ansible/modules/cloud/univention/udm_dns_zone.py E322 -lib/ansible/modules/cloud/univention/udm_dns_zone.py E324 lib/ansible/modules/cloud/univention/udm_dns_zone.py E326 lib/ansible/modules/cloud/univention/udm_group.py E324 lib/ansible/modules/cloud/univention/udm_share.py E322 @@ -685,14 +661,13 @@ 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/_vsphere_guest.py E324 lib/ansible/modules/cloud/vmware/vca_fw.py E322 +lib/ansible/modules/cloud/vmware/vca_fw.py E324 lib/ansible/modules/cloud/vmware/vca_nat.py E322 lib/ansible/modules/cloud/vmware/vca_nat.py E324 lib/ansible/modules/cloud/vmware/vca_vapp.py E322 lib/ansible/modules/cloud/vmware/vca_vapp.py E324 lib/ansible/modules/cloud/vmware/vmware_guest.py E322 -lib/ansible/modules/cloud/vmware/vmware_guest.py E324 lib/ansible/modules/cloud/vmware/vsphere_copy.py E322 lib/ansible/modules/cloud/vultr/vr_account_facts.py E324 lib/ansible/modules/cloud/vultr/vr_dns_domain.py E323 @@ -717,7 +692,6 @@ 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/consul_session.py E324 lib/ansible/modules/clustering/etcd3.py E326 lib/ansible/modules/clustering/k8s/_kubernetes.py E322 lib/ansible/modules/clustering/k8s/_kubernetes.py E323 @@ -730,12 +704,9 @@ lib/ansible/modules/clustering/openshift/openshift_scale.py E321 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 E324 lib/ansible/modules/commands/command.py E325 lib/ansible/modules/commands/expect.py E325 -lib/ansible/modules/crypto/openssl_certificate.py E324 lib/ansible/modules/crypto/openssl_certificate.py E325 -lib/ansible/modules/crypto/openssl_csr.py E324 lib/ansible/modules/crypto/openssl_csr.py E325 lib/ansible/modules/crypto/openssl_csr.py E326 lib/ansible/modules/crypto/openssl_dhparam.py E325 @@ -762,19 +733,14 @@ lib/ansible/modules/database/mongodb/mongodb_parameter.py E326 lib/ansible/modules/database/mongodb/mongodb_user.py E322 lib/ansible/modules/database/mongodb/mongodb_user.py E324 lib/ansible/modules/database/mongodb/mongodb_user.py E325 -lib/ansible/modules/database/mssql/mssql_db.py E324 -lib/ansible/modules/database/mysql/mysql_db.py E324 -lib/ansible/modules/database/mysql/mysql_replication.py E324 lib/ansible/modules/database/mysql/mysql_replication.py E325 lib/ansible/modules/database/mysql/mysql_replication.py E326 lib/ansible/modules/database/mysql/mysql_user.py E322 -lib/ansible/modules/database/postgresql/postgresql_db.py E324 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 lib/ansible/modules/database/postgresql/postgresql_lang.py E326 lib/ansible/modules/database/postgresql/postgresql_privs.py E322 -lib/ansible/modules/database/postgresql/postgresql_privs.py E324 lib/ansible/modules/database/postgresql/postgresql_schema.py E322 lib/ansible/modules/database/postgresql/postgresql_schema.py E324 lib/ansible/modules/database/postgresql/postgresql_user.py E322 @@ -792,42 +758,39 @@ lib/ansible/modules/database/proxysql/proxysql_query_rules.py E325 lib/ansible/modules/database/proxysql/proxysql_replication_hostgroups.py E322 lib/ansible/modules/database/proxysql/proxysql_scheduler.py E322 lib/ansible/modules/database/proxysql/proxysql_scheduler.py E325 -lib/ansible/modules/database/vertica/vertica_configuration.py E324 -lib/ansible/modules/database/vertica/vertica_facts.py E324 lib/ansible/modules/database/vertica/vertica_role.py E322 -lib/ansible/modules/database/vertica/vertica_role.py E324 lib/ansible/modules/database/vertica/vertica_schema.py E322 -lib/ansible/modules/database/vertica/vertica_schema.py E324 lib/ansible/modules/database/vertica/vertica_user.py E322 -lib/ansible/modules/database/vertica/vertica_user.py E324 lib/ansible/modules/database/vertica/vertica_user.py E325 lib/ansible/modules/files/acl.py E322 -lib/ansible/modules/files/acl.py E324 lib/ansible/modules/files/acl.py E325 lib/ansible/modules/files/assemble.py E323 lib/ansible/modules/files/assemble.py E324 +lib/ansible/modules/files/blockinfile.py E324 lib/ansible/modules/files/blockinfile.py E326 lib/ansible/modules/files/copy.py E322 lib/ansible/modules/files/copy.py E323 +lib/ansible/modules/files/copy.py E324 lib/ansible/modules/files/file.py E322 lib/ansible/modules/files/file.py E324 -lib/ansible/modules/files/find.py E324 lib/ansible/modules/files/ini_file.py E323 +lib/ansible/modules/files/iso_extract.py E324 lib/ansible/modules/files/lineinfile.py E322 lib/ansible/modules/files/lineinfile.py E323 +lib/ansible/modules/files/lineinfile.py E324 lib/ansible/modules/files/lineinfile.py E326 lib/ansible/modules/files/patch.py E325 lib/ansible/modules/files/patch.py E326 lib/ansible/modules/files/replace.py E323 -lib/ansible/modules/files/replace.py E324 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 E322 lib/ansible/modules/files/unarchive.py E323 -lib/ansible/modules/files/unarchive.py E324 lib/ansible/modules/files/xml.py E324 +lib/ansible/modules/identity/cyberark/cyberark_user.py E324 lib/ansible/modules/identity/ipa/ipa_dnsrecord.py E325 lib/ansible/modules/identity/ipa/ipa_dnszone.py E325 lib/ansible/modules/identity/ipa/ipa_group.py E322 @@ -860,6 +823,7 @@ lib/ansible/modules/messaging/rabbitmq_exchange.py E325 lib/ansible/modules/messaging/rabbitmq_exchange.py E326 lib/ansible/modules/messaging/rabbitmq_policy.py E324 lib/ansible/modules/messaging/rabbitmq_queue.py E324 +lib/ansible/modules/messaging/rabbitmq_queue.py E327 lib/ansible/modules/messaging/rabbitmq_user.py E324 lib/ansible/modules/monitoring/airbrake_deployment.py E324 lib/ansible/modules/monitoring/airbrake_deployment.py E325 @@ -868,7 +832,9 @@ lib/ansible/modules/monitoring/bigpanda.py E322 lib/ansible/modules/monitoring/bigpanda.py E324 lib/ansible/modules/monitoring/bigpanda.py E325 lib/ansible/modules/monitoring/bigpanda.py E326 +lib/ansible/modules/monitoring/circonus_annotation.py E327 lib/ansible/modules/monitoring/datadog_event.py E324 +lib/ansible/modules/monitoring/datadog_event.py E327 lib/ansible/modules/monitoring/datadog_monitor.py E324 lib/ansible/modules/monitoring/datadog_monitor.py E325 lib/ansible/modules/monitoring/datadog_monitor.py E326 @@ -890,6 +856,8 @@ lib/ansible/modules/monitoring/pagerduty.py E324 lib/ansible/modules/monitoring/pingdom.py E326 lib/ansible/modules/monitoring/rollbar_deployment.py E325 lib/ansible/modules/monitoring/rollbar_deployment.py E326 +lib/ansible/modules/monitoring/sensu_check.py E324 +lib/ansible/modules/monitoring/sensu_client.py E324 lib/ansible/modules/monitoring/sensu_handler.py E326 lib/ansible/modules/monitoring/sensu_subscription.py E325 lib/ansible/modules/monitoring/sensu_subscription.py E326 @@ -906,11 +874,10 @@ lib/ansible/modules/net_tools/basics/uri.py E324 lib/ansible/modules/net_tools/basics/uri.py E325 lib/ansible/modules/net_tools/basics/uri.py E326 lib/ansible/modules/net_tools/cloudflare_dns.py E317 -lib/ansible/modules/net_tools/cloudflare_dns.py E324 lib/ansible/modules/net_tools/cloudflare_dns.py E325 -lib/ansible/modules/net_tools/dnsimple.py E324 +lib/ansible/modules/net_tools/cloudflare_dns.py E327 lib/ansible/modules/net_tools/dnsimple.py E325 -lib/ansible/modules/net_tools/dnsmadeeasy.py E324 +lib/ansible/modules/net_tools/dnsimple.py E327 lib/ansible/modules/net_tools/haproxy.py E317 lib/ansible/modules/net_tools/haproxy.py E324 lib/ansible/modules/net_tools/haproxy.py E325 @@ -918,56 +885,156 @@ lib/ansible/modules/net_tools/infinity/infinity.py E326 lib/ansible/modules/net_tools/ipify_facts.py E324 lib/ansible/modules/net_tools/ipify_facts.py E325 lib/ansible/modules/net_tools/ldap/ldap_attr.py E322 -lib/ansible/modules/net_tools/ldap/ldap_attr.py E324 -lib/ansible/modules/net_tools/ldap/ldap_entry.py E324 lib/ansible/modules/net_tools/nmcli.py E324 lib/ansible/modules/net_tools/omapi_host.py E317 lib/ansible/modules/net_tools/omapi_host.py E322 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.py E324 -lib/ansible/modules/network/a10/a10_server_axapi3.py E324 lib/ansible/modules/network/a10/a10_server_axapi3.py E326 -lib/ansible/modules/network/a10/a10_service_group.py E324 lib/ansible/modules/network/a10/a10_virtual_server.py E324 +lib/ansible/modules/network/aci/aci_aaa_user.py E324 +lib/ansible/modules/network/aci/aci_aaa_user.py E327 +lib/ansible/modules/network/aci/aci_aaa_user_certificate.py E324 +lib/ansible/modules/network/aci/aci_aaa_user_certificate.py E327 +lib/ansible/modules/network/aci/aci_access_port_to_interface_policy_leaf_profile.py E324 +lib/ansible/modules/network/aci/aci_access_port_to_interface_policy_leaf_profile.py E327 +lib/ansible/modules/network/aci/aci_aep.py E324 +lib/ansible/modules/network/aci/aci_aep.py E327 +lib/ansible/modules/network/aci/aci_aep_to_domain.py E324 +lib/ansible/modules/network/aci/aci_aep_to_domain.py E327 +lib/ansible/modules/network/aci/aci_ap.py E324 lib/ansible/modules/network/aci/aci_ap.py E326 +lib/ansible/modules/network/aci/aci_ap.py E327 +lib/ansible/modules/network/aci/aci_bd.py E324 lib/ansible/modules/network/aci/aci_bd.py E326 +lib/ansible/modules/network/aci/aci_bd.py E327 +lib/ansible/modules/network/aci/aci_bd_subnet.py E324 lib/ansible/modules/network/aci/aci_bd_subnet.py E326 +lib/ansible/modules/network/aci/aci_bd_subnet.py E327 +lib/ansible/modules/network/aci/aci_bd_subnet.py E328 +lib/ansible/modules/network/aci/aci_bd_to_l3out.py E324 lib/ansible/modules/network/aci/aci_bd_to_l3out.py E326 -lib/ansible/modules/network/aci/aci_config_snapshot.py E326 +lib/ansible/modules/network/aci/aci_bd_to_l3out.py E327 +lib/ansible/modules/network/aci/aci_config_rollback.py E324 +lib/ansible/modules/network/aci/aci_config_rollback.py E327 +lib/ansible/modules/network/aci/aci_config_snapshot.py E324 +lib/ansible/modules/network/aci/aci_config_snapshot.py E327 +lib/ansible/modules/network/aci/aci_config_snapshot.py E328 +lib/ansible/modules/network/aci/aci_contract.py E324 lib/ansible/modules/network/aci/aci_contract.py E326 +lib/ansible/modules/network/aci/aci_contract.py E327 +lib/ansible/modules/network/aci/aci_contract_subject.py E324 lib/ansible/modules/network/aci/aci_contract_subject.py E326 +lib/ansible/modules/network/aci/aci_contract_subject.py E327 +lib/ansible/modules/network/aci/aci_contract_subject_to_filter.py E324 lib/ansible/modules/network/aci/aci_contract_subject_to_filter.py E326 +lib/ansible/modules/network/aci/aci_contract_subject_to_filter.py E327 +lib/ansible/modules/network/aci/aci_domain.py E324 +lib/ansible/modules/network/aci/aci_domain.py E327 +lib/ansible/modules/network/aci/aci_domain_to_encap_pool.py E324 lib/ansible/modules/network/aci/aci_domain_to_encap_pool.py E326 +lib/ansible/modules/network/aci/aci_domain_to_encap_pool.py E327 +lib/ansible/modules/network/aci/aci_domain_to_vlan_pool.py E324 +lib/ansible/modules/network/aci/aci_domain_to_vlan_pool.py E327 +lib/ansible/modules/network/aci/aci_encap_pool.py E324 +lib/ansible/modules/network/aci/aci_encap_pool.py E327 +lib/ansible/modules/network/aci/aci_encap_pool_range.py E324 +lib/ansible/modules/network/aci/aci_encap_pool_range.py E327 +lib/ansible/modules/network/aci/aci_epg.py E324 lib/ansible/modules/network/aci/aci_epg.py E326 +lib/ansible/modules/network/aci/aci_epg.py E327 +lib/ansible/modules/network/aci/aci_epg_monitoring_policy.py E324 lib/ansible/modules/network/aci/aci_epg_monitoring_policy.py E326 +lib/ansible/modules/network/aci/aci_epg_monitoring_policy.py E327 +lib/ansible/modules/network/aci/aci_epg_to_contract.py E324 lib/ansible/modules/network/aci/aci_epg_to_contract.py E326 +lib/ansible/modules/network/aci/aci_epg_to_contract.py E327 +lib/ansible/modules/network/aci/aci_epg_to_domain.py E324 lib/ansible/modules/network/aci/aci_epg_to_domain.py E326 +lib/ansible/modules/network/aci/aci_epg_to_domain.py E327 +lib/ansible/modules/network/aci/aci_epg_to_domain.py E328 +lib/ansible/modules/network/aci/aci_fabric_node.py E324 +lib/ansible/modules/network/aci/aci_fabric_node.py E327 +lib/ansible/modules/network/aci/aci_filter.py E324 lib/ansible/modules/network/aci/aci_filter.py E326 +lib/ansible/modules/network/aci/aci_filter.py E327 +lib/ansible/modules/network/aci/aci_filter_entry.py E324 lib/ansible/modules/network/aci/aci_filter_entry.py E325 lib/ansible/modules/network/aci/aci_filter_entry.py E326 +lib/ansible/modules/network/aci/aci_filter_entry.py E327 +lib/ansible/modules/network/aci/aci_firmware_source.py E324 +lib/ansible/modules/network/aci/aci_firmware_source.py E327 +lib/ansible/modules/network/aci/aci_interface_policy_fc.py E324 lib/ansible/modules/network/aci/aci_interface_policy_fc.py E326 +lib/ansible/modules/network/aci/aci_interface_policy_fc.py E327 +lib/ansible/modules/network/aci/aci_interface_policy_l2.py E324 lib/ansible/modules/network/aci/aci_interface_policy_l2.py E326 +lib/ansible/modules/network/aci/aci_interface_policy_l2.py E327 +lib/ansible/modules/network/aci/aci_interface_policy_leaf_policy_group.py E324 +lib/ansible/modules/network/aci/aci_interface_policy_leaf_policy_group.py E327 +lib/ansible/modules/network/aci/aci_interface_policy_leaf_profile.py E324 +lib/ansible/modules/network/aci/aci_interface_policy_leaf_profile.py E327 +lib/ansible/modules/network/aci/aci_interface_policy_lldp.py E324 lib/ansible/modules/network/aci/aci_interface_policy_lldp.py E326 +lib/ansible/modules/network/aci/aci_interface_policy_lldp.py E327 +lib/ansible/modules/network/aci/aci_interface_policy_mcp.py E324 lib/ansible/modules/network/aci/aci_interface_policy_mcp.py E326 +lib/ansible/modules/network/aci/aci_interface_policy_mcp.py E327 +lib/ansible/modules/network/aci/aci_interface_policy_port_channel.py E324 lib/ansible/modules/network/aci/aci_interface_policy_port_channel.py E326 +lib/ansible/modules/network/aci/aci_interface_policy_port_channel.py E327 +lib/ansible/modules/network/aci/aci_interface_policy_port_channel.py E328 +lib/ansible/modules/network/aci/aci_interface_policy_port_security.py E324 lib/ansible/modules/network/aci/aci_interface_policy_port_security.py E326 +lib/ansible/modules/network/aci/aci_interface_policy_port_security.py E327 +lib/ansible/modules/network/aci/aci_interface_selector_to_switch_policy_leaf_profile.py E324 +lib/ansible/modules/network/aci/aci_interface_selector_to_switch_policy_leaf_profile.py E327 +lib/ansible/modules/network/aci/aci_l3out_route_tag_policy.py E324 lib/ansible/modules/network/aci/aci_l3out_route_tag_policy.py E326 -lib/ansible/modules/network/aci/aci_static_binding_to_epg.py E326 +lib/ansible/modules/network/aci/aci_l3out_route_tag_policy.py E327 +lib/ansible/modules/network/aci/aci_rest.py E324 +lib/ansible/modules/network/aci/aci_rest.py E327 +lib/ansible/modules/network/aci/aci_static_binding_to_epg.py E324 +lib/ansible/modules/network/aci/aci_static_binding_to_epg.py E327 +lib/ansible/modules/network/aci/aci_static_binding_to_epg.py E328 +lib/ansible/modules/network/aci/aci_switch_leaf_selector.py E324 +lib/ansible/modules/network/aci/aci_switch_leaf_selector.py E327 +lib/ansible/modules/network/aci/aci_switch_policy_leaf_profile.py E324 +lib/ansible/modules/network/aci/aci_switch_policy_leaf_profile.py E327 +lib/ansible/modules/network/aci/aci_switch_policy_vpc_protection_group.py E324 +lib/ansible/modules/network/aci/aci_switch_policy_vpc_protection_group.py E327 +lib/ansible/modules/network/aci/aci_taboo_contract.py E324 lib/ansible/modules/network/aci/aci_taboo_contract.py E326 +lib/ansible/modules/network/aci/aci_taboo_contract.py E327 +lib/ansible/modules/network/aci/aci_tenant.py E324 lib/ansible/modules/network/aci/aci_tenant.py E326 +lib/ansible/modules/network/aci/aci_tenant.py E327 +lib/ansible/modules/network/aci/aci_tenant_action_rule_profile.py E324 lib/ansible/modules/network/aci/aci_tenant_action_rule_profile.py E326 +lib/ansible/modules/network/aci/aci_tenant_action_rule_profile.py E327 +lib/ansible/modules/network/aci/aci_tenant_ep_retention_policy.py E324 lib/ansible/modules/network/aci/aci_tenant_ep_retention_policy.py E326 +lib/ansible/modules/network/aci/aci_tenant_ep_retention_policy.py E327 +lib/ansible/modules/network/aci/aci_tenant_span_dst_group.py E324 lib/ansible/modules/network/aci/aci_tenant_span_dst_group.py E326 +lib/ansible/modules/network/aci/aci_tenant_span_dst_group.py E327 +lib/ansible/modules/network/aci/aci_tenant_span_src_group.py E324 lib/ansible/modules/network/aci/aci_tenant_span_src_group.py E326 +lib/ansible/modules/network/aci/aci_tenant_span_src_group.py E327 +lib/ansible/modules/network/aci/aci_tenant_span_src_group_to_dst_group.py E324 lib/ansible/modules/network/aci/aci_tenant_span_src_group_to_dst_group.py E326 +lib/ansible/modules/network/aci/aci_tenant_span_src_group_to_dst_group.py E327 +lib/ansible/modules/network/aci/aci_vlan_pool.py E324 +lib/ansible/modules/network/aci/aci_vlan_pool.py E327 +lib/ansible/modules/network/aci/aci_vlan_pool_encap_block.py E324 +lib/ansible/modules/network/aci/aci_vlan_pool_encap_block.py E327 +lib/ansible/modules/network/aci/aci_vrf.py E324 lib/ansible/modules/network/aci/aci_vrf.py E326 -lib/ansible/modules/network/aos/_aos_asn_pool.py E324 +lib/ansible/modules/network/aci/aci_vrf.py E327 lib/ansible/modules/network/aos/_aos_blueprint_param.py E325 -lib/ansible/modules/network/aos/_aos_device.py E324 lib/ansible/modules/network/aos/_aos_device.py E325 lib/ansible/modules/network/aos/_aos_device.py E326 -lib/ansible/modules/network/aos/_aos_login.py E324 +lib/ansible/modules/network/asa/asa_config.py E324 lib/ansible/modules/network/bigswitch/bcf_switch.py E325 lib/ansible/modules/network/bigswitch/bcf_switch.py E326 lib/ansible/modules/network/bigswitch/bigmon_chain.py E325 @@ -985,6 +1052,7 @@ lib/ansible/modules/network/cloudengine/ce_bfd_global.py E322 lib/ansible/modules/network/cloudengine/ce_bfd_session.py E322 lib/ansible/modules/network/cloudengine/ce_bgp.py E322 lib/ansible/modules/network/cloudengine/ce_bgp_af.py E322 +lib/ansible/modules/network/cloudengine/ce_bgp_af.py E324 lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py E322 lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py E324 lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py E326 @@ -1003,10 +1071,10 @@ lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py E322 lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py E322 lib/ansible/modules/network/cloudengine/ce_evpn_global.py E322 lib/ansible/modules/network/cloudengine/ce_facts.py E322 -lib/ansible/modules/network/cloudengine/ce_facts.py E324 lib/ansible/modules/network/cloudengine/ce_file_copy.py E322 lib/ansible/modules/network/cloudengine/ce_info_center_debug.py E322 lib/ansible/modules/network/cloudengine/ce_info_center_global.py E322 +lib/ansible/modules/network/cloudengine/ce_info_center_global.py E324 lib/ansible/modules/network/cloudengine/ce_info_center_log.py E322 lib/ansible/modules/network/cloudengine/ce_info_center_trap.py E322 lib/ansible/modules/network/cloudengine/ce_interface.py E322 @@ -1015,11 +1083,12 @@ lib/ansible/modules/network/cloudengine/ce_interface_ospf.py E322 lib/ansible/modules/network/cloudengine/ce_ip_interface.py E322 lib/ansible/modules/network/cloudengine/ce_link_status.py E322 lib/ansible/modules/network/cloudengine/ce_mlag_config.py E322 +lib/ansible/modules/network/cloudengine/ce_mlag_config.py E324 lib/ansible/modules/network/cloudengine/ce_mlag_interface.py E322 +lib/ansible/modules/network/cloudengine/ce_mlag_interface.py E324 lib/ansible/modules/network/cloudengine/ce_mtu.py E322 lib/ansible/modules/network/cloudengine/ce_netconf.py E322 lib/ansible/modules/network/cloudengine/ce_netstream_aging.py E322 -lib/ansible/modules/network/cloudengine/ce_netstream_aging.py E324 lib/ansible/modules/network/cloudengine/ce_netstream_export.py E322 lib/ansible/modules/network/cloudengine/ce_netstream_global.py E322 lib/ansible/modules/network/cloudengine/ce_netstream_template.py E322 @@ -1044,6 +1113,7 @@ lib/ansible/modules/network/cloudengine/ce_snmp_user.py E322 lib/ansible/modules/network/cloudengine/ce_snmp_user.py E324 lib/ansible/modules/network/cloudengine/ce_snmp_user.py E326 lib/ansible/modules/network/cloudengine/ce_startup.py E322 +lib/ansible/modules/network/cloudengine/ce_startup.py E324 lib/ansible/modules/network/cloudengine/ce_static_route.py E322 lib/ansible/modules/network/cloudengine/ce_stp.py E322 lib/ansible/modules/network/cloudengine/ce_switchport.py E322 @@ -1052,6 +1122,7 @@ lib/ansible/modules/network/cloudengine/ce_vrf.py E322 lib/ansible/modules/network/cloudengine/ce_vrf_af.py E322 lib/ansible/modules/network/cloudengine/ce_vrf_interface.py E322 lib/ansible/modules/network/cloudengine/ce_vrrp.py E322 +lib/ansible/modules/network/cloudengine/ce_vrrp.py E324 lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py E322 lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py E322 lib/ansible/modules/network/cloudengine/ce_vxlan_global.py E322 @@ -1079,12 +1150,10 @@ lib/ansible/modules/network/cnos/cnos_template.py E326 lib/ansible/modules/network/cnos/cnos_vlag.py E326 lib/ansible/modules/network/cnos/cnos_vlan.py E326 lib/ansible/modules/network/cumulus/nclu.py E325 -lib/ansible/modules/network/edgeos/edgeos_facts.py E324 lib/ansible/modules/network/enos/enos_command.py E323 lib/ansible/modules/network/enos/enos_config.py E323 lib/ansible/modules/network/enos/enos_facts.py E323 -lib/ansible/modules/network/enos/enos_facts.py E324 -lib/ansible/modules/network/eos/eos_facts.py E324 +lib/ansible/modules/network/eos/eos_eapi.py E324 lib/ansible/modules/network/eos/eos_interface.py E325 lib/ansible/modules/network/eos/eos_l2_interface.py E326 lib/ansible/modules/network/eos/eos_linkagg.py E325 @@ -1101,9 +1170,11 @@ lib/ansible/modules/network/f5/bigip_configsync_action.py E325 lib/ansible/modules/network/f5/bigip_configsync_action.py E326 lib/ansible/modules/network/f5/bigip_device_connectivity.py E325 lib/ansible/modules/network/f5/bigip_device_connectivity.py E326 +lib/ansible/modules/network/f5/bigip_device_dns.py E324 lib/ansible/modules/network/f5/bigip_device_dns.py E326 lib/ansible/modules/network/f5/bigip_device_group.py E324 lib/ansible/modules/network/f5/bigip_device_httpd.py E326 +lib/ansible/modules/network/f5/bigip_device_ntp.py E324 lib/ansible/modules/network/f5/bigip_device_sshd.py E326 lib/ansible/modules/network/f5/bigip_facts.py E324 lib/ansible/modules/network/f5/bigip_facts.py E326 @@ -1112,20 +1183,21 @@ lib/ansible/modules/network/f5/bigip_gtm_pool.py E324 lib/ansible/modules/network/f5/bigip_gtm_pool.py E326 lib/ansible/modules/network/f5/bigip_gtm_server.py E326 lib/ansible/modules/network/f5/bigip_gtm_wide_ip.py E326 +lib/ansible/modules/network/f5/bigip_iapp_service.py E324 lib/ansible/modules/network/f5/bigip_iapp_service.py E325 lib/ansible/modules/network/f5/bigip_monitor_snmp_dca.py E326 lib/ansible/modules/network/f5/bigip_policy.py E324 lib/ansible/modules/network/f5/bigip_pool.py E326 lib/ansible/modules/network/f5/bigip_pool_member.py E325 lib/ansible/modules/network/f5/bigip_pool_member.py E326 +lib/ansible/modules/network/f5/bigip_profile_client_ssl.py E324 lib/ansible/modules/network/f5/bigip_provision.py E326 lib/ansible/modules/network/f5/bigip_qkview.py E324 lib/ansible/modules/network/f5/bigip_qkview.py E326 lib/ansible/modules/network/f5/bigip_routedomain.py E326 -lib/ansible/modules/network/f5/bigip_snmp_trap.py E326 +lib/ansible/modules/network/f5/bigip_selfip.py E324 lib/ansible/modules/network/f5/bigip_static_route.py E325 lib/ansible/modules/network/f5/bigip_sys_global.py E326 -lib/ansible/modules/network/f5/bigip_ucs.py E324 lib/ansible/modules/network/f5/bigip_ucs.py E325 lib/ansible/modules/network/f5/bigip_ucs.py E326 lib/ansible/modules/network/f5/bigip_user.py E324 @@ -1133,6 +1205,7 @@ lib/ansible/modules/network/f5/bigip_vcmp_guest.py E325 lib/ansible/modules/network/f5/bigip_virtual_server.py E326 lib/ansible/modules/network/f5/bigip_vlan.py E326 lib/ansible/modules/network/f5/bigiq_regkey_license.py E325 +lib/ansible/modules/network/fortimanager/fmgr_script.py E324 lib/ansible/modules/network/fortios/fortios_address.py E324 lib/ansible/modules/network/fortios/fortios_address.py E325 lib/ansible/modules/network/fortios/fortios_address.py E326 @@ -1144,6 +1217,7 @@ lib/ansible/modules/network/illumos/dladm_etherstub.py E325 lib/ansible/modules/network/illumos/dladm_etherstub.py E326 lib/ansible/modules/network/illumos/dladm_iptun.py E325 lib/ansible/modules/network/illumos/dladm_linkprop.py E317 +lib/ansible/modules/network/illumos/dladm_vlan.py E324 lib/ansible/modules/network/illumos/dladm_vlan.py E325 lib/ansible/modules/network/illumos/dladm_vnic.py E324 lib/ansible/modules/network/illumos/dladm_vnic.py E325 @@ -1160,26 +1234,25 @@ lib/ansible/modules/network/illumos/ipadm_ifprop.py E325 lib/ansible/modules/network/illumos/ipadm_ifprop.py E326 lib/ansible/modules/network/illumos/ipadm_prop.py E325 lib/ansible/modules/network/illumos/ipadm_prop.py E326 -lib/ansible/modules/network/ios/ios_facts.py E324 lib/ansible/modules/network/ios/ios_interface.py E324 lib/ansible/modules/network/ios/ios_interface.py E325 +lib/ansible/modules/network/ios/ios_l2_interface.py E324 lib/ansible/modules/network/ios/ios_linkagg.py E325 lib/ansible/modules/network/ios/ios_lldp.py E326 lib/ansible/modules/network/ios/ios_logging.py E324 +lib/ansible/modules/network/ios/ios_ping.py E324 lib/ansible/modules/network/ios/ios_vlan.py E325 lib/ansible/modules/network/ios/ios_vrf.py E325 lib/ansible/modules/network/iosxr/iosxr_command.py E322 -lib/ansible/modules/network/iosxr/iosxr_facts.py E324 lib/ansible/modules/network/iosxr/iosxr_logging.py E324 lib/ansible/modules/network/iosxr/iosxr_logging.py E326 lib/ansible/modules/network/iosxr/iosxr_system.py E324 lib/ansible/modules/network/ironware/ironware_command.py E323 lib/ansible/modules/network/ironware/ironware_config.py E323 lib/ansible/modules/network/ironware/ironware_facts.py E323 -lib/ansible/modules/network/junos/junos_config.py E324 +lib/ansible/modules/network/junos/junos_command.py E324 lib/ansible/modules/network/junos/junos_config.py E325 lib/ansible/modules/network/junos/junos_config.py E326 -lib/ansible/modules/network/junos/junos_facts.py E324 lib/ansible/modules/network/junos/junos_interface.py E324 lib/ansible/modules/network/junos/junos_interface.py E325 lib/ansible/modules/network/junos/junos_interface.py E326 @@ -1199,7 +1272,6 @@ lib/ansible/modules/network/junos/junos_logging.py E325 lib/ansible/modules/network/junos/junos_logging.py E326 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 E324 lib/ansible/modules/network/junos/junos_static_route.py E325 lib/ansible/modules/network/junos/junos_static_route.py E326 lib/ansible/modules/network/junos/junos_system.py E325 @@ -1230,6 +1302,7 @@ lib/ansible/modules/network/netscaler/netscaler_lb_vserver.py E323 lib/ansible/modules/network/netscaler/netscaler_lb_vserver.py E325 lib/ansible/modules/network/netscaler/netscaler_nitro_request.py E325 lib/ansible/modules/network/netscaler/netscaler_save_config.py E325 +lib/ansible/modules/network/netscaler/netscaler_server.py E324 lib/ansible/modules/network/netscaler/netscaler_server.py E325 lib/ansible/modules/network/netscaler/netscaler_service.py E323 lib/ansible/modules/network/netscaler/netscaler_service.py E325 @@ -1237,7 +1310,7 @@ lib/ansible/modules/network/netscaler/netscaler_servicegroup.py E325 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_cluster.py E325 -lib/ansible/modules/network/netvisor/pn_cluster.py E326 +lib/ansible/modules/network/netvisor/pn_cluster.py E328 lib/ansible/modules/network/netvisor/pn_ospf.py E324 lib/ansible/modules/network/netvisor/pn_ospfarea.py E325 lib/ansible/modules/network/netvisor/pn_show.py E324 @@ -1256,9 +1329,7 @@ lib/ansible/modules/network/netvisor/pn_vrouterif.py E324 lib/ansible/modules/network/netvisor/pn_vrouterif.py E325 lib/ansible/modules/network/netvisor/pn_vrouterif.py E326 lib/ansible/modules/network/netvisor/pn_vrouterlbif.py E324 -lib/ansible/modules/network/nso/nso_action.py E324 lib/ansible/modules/network/nso/nso_action.py E325 -lib/ansible/modules/network/nxos/_nxos_ip_interface.py E324 lib/ansible/modules/network/nxos/_nxos_portchannel.py E324 lib/ansible/modules/network/nxos/nxos_aaa_server.py E326 lib/ansible/modules/network/nxos/nxos_acl.py E326 @@ -1268,33 +1339,33 @@ lib/ansible/modules/network/nxos/nxos_bgp_af.py E324 lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py E325 lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py E326 lib/ansible/modules/network/nxos/nxos_command.py E326 +lib/ansible/modules/network/nxos/nxos_config.py E324 lib/ansible/modules/network/nxos/nxos_evpn_global.py E325 lib/ansible/modules/network/nxos/nxos_evpn_global.py E326 -lib/ansible/modules/network/nxos/nxos_facts.py E324 lib/ansible/modules/network/nxos/nxos_file_copy.py E324 lib/ansible/modules/network/nxos/nxos_gir.py E326 -lib/ansible/modules/network/nxos/nxos_hsrp.py E324 -lib/ansible/modules/network/nxos/nxos_igmp.py E324 -lib/ansible/modules/network/nxos/nxos_igmp_interface.py E324 lib/ansible/modules/network/nxos/nxos_igmp_interface.py E326 lib/ansible/modules/network/nxos/nxos_igmp_snooping.py E325 +lib/ansible/modules/network/nxos/nxos_interface.py E324 lib/ansible/modules/network/nxos/nxos_lldp.py E326 lib/ansible/modules/network/nxos/nxos_logging.py E325 lib/ansible/modules/network/nxos/nxos_ntp_options.py E324 +lib/ansible/modules/network/nxos/nxos_nxapi.py E324 lib/ansible/modules/network/nxos/nxos_nxapi.py E325 lib/ansible/modules/network/nxos/nxos_nxapi.py E326 lib/ansible/modules/network/nxos/nxos_pim_interface.py E326 lib/ansible/modules/network/nxos/nxos_pim_rp_address.py E326 lib/ansible/modules/network/nxos/nxos_reboot.py E325 lib/ansible/modules/network/nxos/nxos_smu.py E324 +lib/ansible/modules/network/nxos/nxos_snmp_community.py E324 lib/ansible/modules/network/nxos/nxos_system.py E325 lib/ansible/modules/network/nxos/nxos_vpc.py E324 lib/ansible/modules/network/nxos/nxos_vpc_interface.py E325 +lib/ansible/modules/network/nxos/nxos_vrrp.py E324 lib/ansible/modules/network/onyx/onyx_command.py E323 lib/ansible/modules/network/onyx/onyx_config.py E323 lib/ansible/modules/network/onyx/onyx_config.py E325 lib/ansible/modules/network/onyx/onyx_config.py E326 -lib/ansible/modules/network/onyx/onyx_facts.py E324 lib/ansible/modules/network/onyx/onyx_interface.py E323 lib/ansible/modules/network/onyx/onyx_l3_interface.py E326 lib/ansible/modules/network/onyx/onyx_linkagg.py E324 @@ -1308,7 +1379,6 @@ 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/ovs/openvswitch_port.py E324 lib/ansible/modules/network/panos/_panos_nat_policy.py E324 lib/ansible/modules/network/panos/_panos_security_policy.py E322 lib/ansible/modules/network/panos/_panos_security_policy.py E324 @@ -1317,6 +1387,7 @@ lib/ansible/modules/network/panos/panos_check.py E324 lib/ansible/modules/network/panos/panos_dag_tags.py E325 lib/ansible/modules/network/panos/panos_interface.py E325 lib/ansible/modules/network/panos/panos_lic.py E325 +lib/ansible/modules/network/panos/panos_match_rule.py E324 lib/ansible/modules/network/panos/panos_match_rule.py E326 lib/ansible/modules/network/panos/panos_nat_rule.py E322 lib/ansible/modules/network/panos/panos_nat_rule.py E324 @@ -1326,7 +1397,6 @@ lib/ansible/modules/network/panos/panos_object.py E326 lib/ansible/modules/network/panos/panos_query_rules.py E326 lib/ansible/modules/network/panos/panos_sag.py E322 lib/ansible/modules/network/panos/panos_sag.py E323 -lib/ansible/modules/network/panos/panos_sag.py E324 lib/ansible/modules/network/panos/panos_sag.py E326 lib/ansible/modules/network/panos/panos_security_rule.py E322 lib/ansible/modules/network/panos/panos_security_rule.py E324 @@ -1337,7 +1407,6 @@ lib/ansible/modules/network/radware/vdirect_file.py E321 lib/ansible/modules/network/radware/vdirect_runnable.py E321 lib/ansible/modules/network/sros/sros_config.py E323 lib/ansible/modules/network/sros/sros_config.py E326 -lib/ansible/modules/network/vyos/vyos_facts.py E324 lib/ansible/modules/network/vyos/vyos_interface.py E324 lib/ansible/modules/network/vyos/vyos_interface.py E325 lib/ansible/modules/network/vyos/vyos_linkagg.py E324 @@ -1372,7 +1441,6 @@ lib/ansible/modules/notification/sendgrid.py E322 lib/ansible/modules/notification/slack.py E324 lib/ansible/modules/notification/snow_record.py E317 lib/ansible/modules/packaging/language/bundler.py E324 -lib/ansible/modules/packaging/language/composer.py E324 lib/ansible/modules/packaging/language/composer.py E325 lib/ansible/modules/packaging/language/composer.py E326 lib/ansible/modules/packaging/language/cpanm.py E324 @@ -1389,6 +1457,7 @@ 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 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 @@ -1411,17 +1480,16 @@ lib/ansible/modules/packaging/os/opkg.py E322 lib/ansible/modules/packaging/os/opkg.py E324 lib/ansible/modules/packaging/os/opkg.py E325 lib/ansible/modules/packaging/os/opkg.py E326 +lib/ansible/modules/packaging/os/package_facts.py E324 lib/ansible/modules/packaging/os/package_facts.py E326 lib/ansible/modules/packaging/os/pacman.py E326 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/pkgng.py E324 lib/ansible/modules/packaging/os/pkgng.py E325 lib/ansible/modules/packaging/os/pkgng.py E326 lib/ansible/modules/packaging/os/pkgutil.py E325 lib/ansible/modules/packaging/os/portage.py E322 -lib/ansible/modules/packaging/os/portage.py E324 lib/ansible/modules/packaging/os/portage.py E325 lib/ansible/modules/packaging/os/portinstall.py E322 lib/ansible/modules/packaging/os/portinstall.py E325 @@ -1436,19 +1504,15 @@ lib/ansible/modules/packaging/os/slackpkg.py E322 lib/ansible/modules/packaging/os/slackpkg.py E324 lib/ansible/modules/packaging/os/slackpkg.py E325 lib/ansible/modules/packaging/os/slackpkg.py E326 -lib/ansible/modules/packaging/os/sorcery.py E324 -lib/ansible/modules/packaging/os/svr4pkg.py E324 lib/ansible/modules/packaging/os/svr4pkg.py E325 lib/ansible/modules/packaging/os/svr4pkg.py E326 lib/ansible/modules/packaging/os/swdepot.py E322 -lib/ansible/modules/packaging/os/swupd.py E324 lib/ansible/modules/packaging/os/swupd.py E325 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 E324 lib/ansible/modules/packaging/os/xbps.py E325 lib/ansible/modules/packaging/os/xbps.py E326 lib/ansible/modules/packaging/os/yum.py E322 @@ -1456,15 +1520,14 @@ lib/ansible/modules/packaging/os/yum.py E324 lib/ansible/modules/packaging/os/yum.py E325 lib/ansible/modules/packaging/os/yum.py E326 lib/ansible/modules/packaging/os/yum_repository.py E322 -lib/ansible/modules/packaging/os/yum_repository.py E326 +lib/ansible/modules/packaging/os/yum_repository.py E324 lib/ansible/modules/packaging/os/zypper.py E325 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 E324 lib/ansible/modules/remote_management/foreman/foreman.py E325 lib/ansible/modules/remote_management/foreman/katello.py E322 -lib/ansible/modules/remote_management/foreman/katello.py E324 lib/ansible/modules/remote_management/foreman/katello.py E325 +lib/ansible/modules/remote_management/hpilo/hpilo_boot.py E324 lib/ansible/modules/remote_management/hpilo/hpilo_boot.py E325 lib/ansible/modules/remote_management/hpilo/hpilo_boot.py E326 lib/ansible/modules/remote_management/ipmi/ipmi_boot.py E326 @@ -1508,21 +1571,18 @@ lib/ansible/modules/remote_management/stacki/stacki_host.py E324 lib/ansible/modules/remote_management/stacki/stacki_host.py E325 lib/ansible/modules/remote_management/stacki/stacki_host.py E326 lib/ansible/modules/remote_management/ucs/ucs_ip_pool.py E323 -lib/ansible/modules/remote_management/ucs/ucs_ip_pool.py E324 -lib/ansible/modules/remote_management/ucs/ucs_lan_connectivity.py E324 lib/ansible/modules/remote_management/ucs/ucs_mac_pool.py E323 -lib/ansible/modules/remote_management/ucs/ucs_mac_pool.py E324 lib/ansible/modules/remote_management/ucs/ucs_san_connectivity.py E322 lib/ansible/modules/remote_management/ucs/ucs_san_connectivity.py E323 lib/ansible/modules/remote_management/ucs/ucs_vhba_template.py E322 lib/ansible/modules/remote_management/ucs/ucs_vhba_template.py E323 -lib/ansible/modules/remote_management/ucs/ucs_vnic_template.py E324 lib/ansible/modules/remote_management/ucs/ucs_vnic_template.py E326 lib/ansible/modules/remote_management/ucs/ucs_vsans.py E322 lib/ansible/modules/remote_management/ucs/ucs_wwn_pool.py E322 lib/ansible/modules/remote_management/ucs/ucs_wwn_pool.py E323 lib/ansible/modules/source_control/github_hooks.py E325 lib/ansible/modules/source_control/github_hooks.py E326 +lib/ansible/modules/source_control/github_issue.py E324 lib/ansible/modules/source_control/github_issue.py E326 lib/ansible/modules/source_control/gitlab_group.py E325 lib/ansible/modules/source_control/gitlab_project.py E324 @@ -1530,12 +1590,13 @@ lib/ansible/modules/source_control/gitlab_project.py E326 lib/ansible/modules/source_control/gitlab_user.py E326 lib/ansible/modules/source_control/subversion.py E322 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/infinidat/infini_export_client.py E325 lib/ansible/modules/storage/infinidat/infini_export_client.py E326 lib/ansible/modules/storage/infinidat/infini_pool.py E325 lib/ansible/modules/storage/infinidat/infini_pool.py E326 -lib/ansible/modules/storage/netapp/na_cdot_license.py E324 +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 @@ -1554,7 +1615,6 @@ lib/ansible/modules/storage/netapp/netapp_e_flashcache.py E322 lib/ansible/modules/storage/netapp/netapp_e_flashcache.py E325 lib/ansible/modules/storage/netapp/netapp_e_flashcache.py E326 lib/ansible/modules/storage/netapp/netapp_e_host.py E322 -lib/ansible/modules/storage/netapp/netapp_e_host.py E324 lib/ansible/modules/storage/netapp/netapp_e_host.py E325 lib/ansible/modules/storage/netapp/netapp_e_host.py E326 lib/ansible/modules/storage/netapp/netapp_e_lun_mapping.py E325 @@ -1568,13 +1628,13 @@ lib/ansible/modules/storage/netapp/netapp_e_snapshot_volume.py E326 lib/ansible/modules/storage/netapp/netapp_e_storage_system.py E322 lib/ansible/modules/storage/netapp/netapp_e_storage_system.py E324 lib/ansible/modules/storage/netapp/netapp_e_storagepool.py E322 -lib/ansible/modules/storage/netapp/netapp_e_storagepool.py E324 lib/ansible/modules/storage/netapp/netapp_e_storagepool.py E325 lib/ansible/modules/storage/netapp/netapp_e_storagepool.py E326 lib/ansible/modules/storage/netapp/netapp_e_volume.py E322 lib/ansible/modules/storage/netapp/netapp_e_volume.py E324 lib/ansible/modules/storage/netapp/netapp_e_volume.py E325 lib/ansible/modules/storage/netapp/netapp_e_volume.py E326 +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 @@ -1587,47 +1647,47 @@ lib/ansible/modules/storage/netapp/sf_snapshot_schedule_manager.py E325 lib/ansible/modules/storage/netapp/sf_volume_access_group_manager.py E322 lib/ansible/modules/storage/netapp/sf_volume_manager.py E322 lib/ansible/modules/storage/netapp/sf_volume_manager.py E325 +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 E324 lib/ansible/modules/storage/zfs/zfs.py E325 lib/ansible/modules/storage/zfs/zfs_facts.py E323 -lib/ansible/modules/storage/zfs/zfs_facts.py E324 lib/ansible/modules/storage/zfs/zpool_facts.py E323 +lib/ansible/modules/system/aix_inittab.py E324 lib/ansible/modules/system/aix_inittab.py E326 -lib/ansible/modules/system/aix_lvol.py E324 lib/ansible/modules/system/authorized_key.py E322 lib/ansible/modules/system/authorized_key.py E324 lib/ansible/modules/system/authorized_key.py E325 +lib/ansible/modules/system/beadm.py E324 lib/ansible/modules/system/beadm.py E325 lib/ansible/modules/system/beadm.py E326 lib/ansible/modules/system/capabilities.py E322 +lib/ansible/modules/system/cron.py E324 +lib/ansible/modules/system/cronvar.py E324 +lib/ansible/modules/system/crypttab.py E324 lib/ansible/modules/system/debconf.py E326 lib/ansible/modules/system/firewalld.py E322 lib/ansible/modules/system/firewalld.py E324 lib/ansible/modules/system/firewalld.py E325 lib/ansible/modules/system/firewalld.py E326 lib/ansible/modules/system/gluster_volume.py E322 -lib/ansible/modules/system/gluster_volume.py E324 lib/ansible/modules/system/gluster_volume.py E326 lib/ansible/modules/system/group.py E325 -lib/ansible/modules/system/iptables.py E324 lib/ansible/modules/system/iptables.py E325 lib/ansible/modules/system/iptables.py E326 lib/ansible/modules/system/java_cert.py E324 lib/ansible/modules/system/java_cert.py E325 lib/ansible/modules/system/known_hosts.py E324 -lib/ansible/modules/system/lvg.py E324 lib/ansible/modules/system/lvol.py E324 lib/ansible/modules/system/make.py E317 lib/ansible/modules/system/mksysb.py E325 lib/ansible/modules/system/mksysb.py E326 +lib/ansible/modules/system/mount.py E324 lib/ansible/modules/system/mount.py E325 lib/ansible/modules/system/mount.py E326 lib/ansible/modules/system/nosh.py E325 lib/ansible/modules/system/nosh.py E326 lib/ansible/modules/system/open_iscsi.py E322 -lib/ansible/modules/system/open_iscsi.py E324 lib/ansible/modules/system/open_iscsi.py E325 lib/ansible/modules/system/open_iscsi.py E326 lib/ansible/modules/system/osx_defaults.py E322 @@ -1638,25 +1698,22 @@ lib/ansible/modules/system/pamd.py E324 lib/ansible/modules/system/pamd.py E326 lib/ansible/modules/system/parted.py E326 lib/ansible/modules/system/puppet.py E322 -lib/ansible/modules/system/puppet.py E324 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/selinux_permissive.py E324 +lib/ansible/modules/system/seport.py E324 lib/ansible/modules/system/service.py E323 -lib/ansible/modules/system/service.py E324 -lib/ansible/modules/system/setup.py E324 lib/ansible/modules/system/solaris_zone.py E324 lib/ansible/modules/system/svc.py E322 lib/ansible/modules/system/svc.py E324 lib/ansible/modules/system/timezone.py E326 lib/ansible/modules/system/ufw.py E322 -lib/ansible/modules/system/ufw.py E324 lib/ansible/modules/system/ufw.py E326 lib/ansible/modules/system/user.py E324 +lib/ansible/modules/system/user.py E327 lib/ansible/modules/system/vdo.py E324 lib/ansible/modules/system/vdo.py E326 lib/ansible/modules/web_infrastructure/ansible_tower/tower_credential.py E326 @@ -1664,7 +1721,6 @@ lib/ansible/modules/web_infrastructure/ansible_tower/tower_group.py E324 lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_cancel.py E325 lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_launch.py E323 lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_template.py E322 -lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_template.py E324 lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_template.py E325 lib/ansible/modules/web_infrastructure/ansible_tower/tower_team.py E322 lib/ansible/modules/web_infrastructure/apache2_mod_proxy.py E317 @@ -1684,5 +1740,4 @@ lib/ansible/modules/web_infrastructure/jenkins_job.py E325 lib/ansible/modules/web_infrastructure/jenkins_plugin.py E322 lib/ansible/modules/web_infrastructure/jenkins_plugin.py E324 lib/ansible/modules/web_infrastructure/jira.py E322 -lib/ansible/modules/web_infrastructure/jira.py E324 lib/ansible/modules/web_infrastructure/jira.py E325 diff --git a/test/sanity/validate-modules/main.py b/test/sanity/validate-modules/main.py index 785090cf59..fc9f81e00f 100755 --- a/test/sanity/validate-modules/main.py +++ b/test/sanity/validate-modules/main.py @@ -45,7 +45,7 @@ from module_args import AnsibleModuleImportError, get_argument_spec from schema import doc_schema, metadata_1_1_schema, return_schema -from utils import CaptureStd, compare_unordered_lists, maybe_convert_bool, parse_yaml +from utils import CaptureStd, NoArgsAnsibleModule, compare_unordered_lists, is_empty, parse_yaml from voluptuous.humanize import humanize_error from ansible.module_utils.six import PY3, with_metaclass @@ -1042,6 +1042,9 @@ class ModuleValidator(Validator): ) return + # Use this to access type checkers later + module = NoArgsAnsibleModule({}) + provider_args = set() args_from_argspec = set() deprecated_args_from_argspec = set() @@ -1072,14 +1075,46 @@ class ModuleValidator(Validator): # don't validate docs<->arg_spec checks below continue + _type = data.get('type', 'str') + if callable(_type): + _type_checker = _type + else: + _type_checker = module._CHECK_ARGUMENT_TYPES_DISPATCHER.get(_type) + # TODO: needs to recursively traverse suboptions - doc_default = docs.get('options', {}).get(arg, {}).get('default', None) - if data.get('type') == 'bool': - doc_default = maybe_convert_bool(doc_default) - arg_default = data.get('default') - if 'default' in data and data.get('type') == 'bool': - arg_default = maybe_convert_bool(data['default']) - if 'default' in data and arg_default != doc_default: + arg_default = None + if 'default' in data and not is_empty(data['default']): + try: + with CaptureStd(): + arg_default = _type_checker(data['default']) + except (Exception, SystemExit): + self.reporter.error( + path=self.object_path, + code=329, + msg=('Default value from the argument_spec (%r) is not compatible ' + 'with type %r defined in the argument_spec' % (data['default'], _type)) + ) + continue + elif data.get('default') is None and _type == 'bool' and 'options' not in data: + arg_default = False + try: + doc_default = None + doc_options_arg = docs.get('options', {}).get(arg, {}) + if 'default' in doc_options_arg and not is_empty(doc_options_arg['default']): + with CaptureStd(): + doc_default = _type_checker(doc_options_arg['default']) + elif doc_options_arg.get('default') is None and _type == 'bool' and 'suboptions' not in doc_options_arg: + doc_default = False + except (Exception, SystemExit): + self.reporter.error( + path=self.object_path, + code=327, + msg=('Default value from the documentation (%r) is not compatible ' + 'with type %r defined in the argument_spec' % (doc_options_arg.get('default'), _type)) + ) + continue + + if arg_default != doc_default: self.reporter.error( path=self.object_path, code=324, @@ -1097,13 +1132,46 @@ class ModuleValidator(Validator): ) # TODO: needs to recursively traverse suboptions - doc_choices = docs.get('options', {}).get(arg, {}).get('choices', []) - if not compare_unordered_lists(data.get('choices', []), doc_choices): + doc_choices = [] + try: + for choice in docs.get('options', {}).get(arg, {}).get('choices', []): + try: + with CaptureStd(): + doc_choices.append(_type_checker(choice)) + except (Exception, SystemExit): + self.reporter.error( + path=self.object_path, + code=328, + msg=('Choices value from the documentation (%r) is not compatible ' + 'with type %r defined in the argument_spec' % (choice, _type)) + ) + raise StopIteration() + except StopIteration: + continue + + arg_choices = [] + try: + for choice in data.get('choices', []): + try: + with CaptureStd(): + arg_choices.append(_type_checker(choice)) + except (Exception, SystemExit): + self.reporter.error( + path=self.object_path, + code=330, + msg=('Choices value from the argument_spec (%r) is not compatible ' + 'with type %r defined in the argument_spec' % (choice, _type)) + ) + raise StopIteration() + except StopIteration: + continue + + if not compare_unordered_lists(arg_choices, doc_choices): 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)' % (data.get('choices', []), arg, doc_choices)) + 'documentation (%r)' % (arg_choices, arg, doc_choices)) ) if docs: diff --git a/test/sanity/validate-modules/module_args.py b/test/sanity/validate-modules/module_args.py index df471b2d6f..bebd47dfa6 100644 --- a/test/sanity/validate-modules/module_args.py +++ b/test/sanity/validate-modules/module_args.py @@ -45,22 +45,14 @@ def add_mocks(filename): pre_sys_modules = list(sys.modules.keys()) module_mock = mock.MagicMock() - mocks = [] for module_class in MODULE_CLASSES: - mocks.append( - mock.patch('%s.__init__' % module_class, new=module_mock) - ) - for m in mocks: - p = m.start() + p = mock.patch('%s.__init__' % module_class, new=module_mock).start() p.side_effect = AnsibleModuleCallError('AnsibleModuleCallError') - mocks.append( - mock.patch('ansible.module_utils.basic._load_params').start() - ) + mock.patch('ansible.module_utils.basic._load_params').start() yield module_mock - for m in mocks: - m.stop() + mock.patch.stopall() # Clean up imports to prevent issues with mutable data being used in modules for k in list(sys.modules.keys()): diff --git a/test/sanity/validate-modules/utils.py b/test/sanity/validate-modules/utils.py index 5b024330ee..07ae5f8353 100644 --- a/test/sanity/validate-modules/utils.py +++ b/test/sanity/validate-modules/utils.py @@ -25,6 +25,7 @@ import yaml import yaml.reader from ansible.module_utils._text import to_text +from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.parsing.convert_bool import boolean @@ -117,15 +118,11 @@ def parse_yaml(value, lineno, module, name, load_all=False): return data, errors, traces -def maybe_convert_bool(value): - """Safe conversion to boolean, catching TypeError and returning the original result - - Only used in doc<->arg_spec comparisons - """ - try: - return boolean(value) - except TypeError: - return value +def is_empty(value): + """Evaluate null like values excluding False""" + if value is False: + return False + return not bool(value) def compare_unordered_lists(a, b): @@ -136,3 +133,11 @@ def compare_unordered_lists(a, b): - unhashable elements """ return len(a) == len(b) and all(x in b for x in a) + + +class NoArgsAnsibleModule(AnsibleModule): + """AnsibleModule that does not actually load params. This is used to get access to the + methods within AnsibleModule without having to fake a bunch of data + """ + def _load_params(self): + self.params = {}