Improve validation of module return values (#63411)

* Add contains: validation for return values.

* Only require returned: on top level.

* Fix various return value problems.

* Update ignore.txt.

* Two more.
This commit is contained in:
Felix Fontein 2019-10-18 17:01:52 +02:00 committed by John R Barker
parent 4de516d35f
commit 04252cf90d
19 changed files with 149 additions and 37 deletions

View file

@ -468,7 +468,8 @@ instances:
security_groups:
description: One or more security groups for the instance.
returned: always
type: list of complex
type: list
elements: dict
contains:
group_id:
description: The ID of the security group.

View file

@ -309,7 +309,8 @@ instances:
security_groups:
description: One or more security groups for the instance.
returned: always
type: list of complex
type: list
elements: dict
contains:
group_id:
description: The ID of the security group.

View file

@ -210,7 +210,8 @@ step_scaling_policy_configuration:
step_adjustments:
description: A set of adjustments that enable you to scale based on the size of the alarm breach
returned: when state present and the policy type is StepScaling
type: list of complex
type: list
elements: dict
target_tracking_scaling_policy_configuration:
description: The target tracking policy.
returned: when state present and the policy type is TargetTrackingScaling

View file

@ -209,7 +209,8 @@ interface:
sample: Firewall network interface
groups:
description: list of security groups
type: list of dictionaries
type: list
elements: dict
sample: [ { "sg-f8a8a9da": "default" } ]
id:
description: network interface id
@ -229,7 +230,8 @@ interface:
sample: 10.20.30.40
private_ip_addresses:
description: list of all private ip addresses associated to this interface
type: list of dictionaries
type: list
elements: dict
sample: [ { "primary_address": true, "private_ip_address": "10.20.30.40" } ]
source_dest_check:
description: value of source/dest check flag

View file

@ -477,7 +477,8 @@ instances:
groups:
description: One or more security groups.
returned: always
type: list of complex
type: list
elements: dict
contains:
group_id:
description: The ID of the security group.
@ -522,7 +523,8 @@ instances:
private_ip_addresses:
description: The private IPv4 addresses associated with the network interface.
returned: always
type: list of complex
type: list
elements: dict
contains:
association:
description: The association information for an Elastic IP address (IPv4) associated with the network interface.
@ -607,7 +609,8 @@ instances:
product_codes:
description: One or more product codes.
returned: always
type: list of complex
type: list
elements: dict
contains:
product_code_id:
description: The product code.
@ -642,7 +645,8 @@ instances:
security_groups:
description: One or more security groups for the instance.
returned: always
type: list of complex
type: list
elements: dict
contains:
group_id:
description: The ID of the security group.

View file

@ -263,7 +263,8 @@ instances:
groups:
description: One or more security groups.
returned: always
type: list of complex
type: list
elements: dict
contains:
group_id:
description: The ID of the security group.
@ -308,7 +309,8 @@ instances:
private_ip_addresses:
description: The private IPv4 addresses associated with the network interface.
returned: always
type: list of complex
type: list
elements: dict
contains:
association:
description: The association information for an Elastic IP address (IPv4) associated with the network interface.
@ -393,7 +395,8 @@ instances:
product_codes:
description: One or more product codes.
returned: always
type: list of complex
type: list
elements: dict
contains:
product_code_id:
description: The product code.
@ -428,7 +431,8 @@ instances:
security_groups:
description: One or more security groups for the instance.
returned: always
type: list of complex
type: list
elements: dict
contains:
group_id:
description: The ID of the security group.

View file

@ -87,20 +87,23 @@ nacls:
subnets:
description: A list of subnet IDs that are associated with the NACL.
returned: always
type: list of string
type: list
elements: str
ingress:
description:
- A list of NACL ingress rules with the following format.
- "C([rule no, protocol, allow/deny, v4 or v6 cidr, icmp_type, icmp_code, port from, port to])"
returned: always
type: list of list
type: list
elements: list
sample: [[100, 'tcp', 'allow', '0.0.0.0/0', null, null, 22, 22]]
egress:
description:
- A list of NACL egress rules with the following format.
- "C([rule no, protocol, allow/deny, v4 or v6 cidr, icmp_type, icmp_code, port from, port to])"
returned: always
type: list of list
type: list
elements: list
sample: [[100, 'all', 'allow', '0.0.0.0/0', null, null, null, null]]
'''

View file

@ -94,7 +94,8 @@ attributes:
type: str
attributes:
description: list of attributes
type: list of complex
type: list
elements: dict
contains:
name:
description: name of the attribute

View file

@ -267,7 +267,8 @@ service:
deployments:
description: list of service deployments
returned: always
type: list of complex
type: list
elements: dict
deploymentConfiguration:
description: dictionary of deploymentConfiguration
returned: always
@ -284,11 +285,13 @@ service:
events:
description: list of service events
returned: always
type: list of complex
type: list
elements: dict
placementConstraints:
description: List of placement constraints objects
returned: always
type: list of complex
type: list
elements: dict
contains:
type:
description: The type of constraint. Valid values are distinctInstance and memberOf.
@ -302,7 +305,8 @@ service:
placementStrategy:
description: List of placement strategy objects
returned: always
type: list of complex
type: list
elements: dict
contains:
type:
description: The type of placement strategy. Valid values are random, spread and binpack.

View file

@ -125,11 +125,13 @@ services:
deployments:
description: list of service deployments
returned: always
type: list of complex
type: list
elements: dict
events:
description: list of service events
returned: when events is true
type: list of complex
type: list
elements: dict
''' # NOQA
try:

View file

@ -149,7 +149,8 @@ task:
overrides:
description: The container overrides set for this task.
returned: only when details is true
type: list of complex
type: list
elements: dict
lastStatus:
description: The last recorded status of the task.
returned: only when details is true
@ -161,7 +162,8 @@ task:
containers:
description: The container details.
returned: only when details is true
type: list of complex
type: list
elements: dict
startedBy:
description: The used who started the task.
returned: only when details is true

View file

@ -111,7 +111,8 @@ openstack_networks:
subnets:
description: Subnet(s) included in this network.
returned: success
type: list of strings
type: list
elements: str
tenant_id:
description: Tenant id associated with this network.
returned: success

View file

@ -127,11 +127,13 @@ stack:
sample: "test-stack/97a3f543-8136-4570-920e-fd7605c989d6"
links:
description: Links to the current Stack.
type: list of dict
type: list
elements: dict
sample: "[{'href': 'http://foo:8004/v1/7f6a/stacks/test-stack/97a3f543-8136-4570-920e-fd7605c989d6']"
outputs:
description: Output returned by the Stack.
type: list of dict
type: list
elements: dict
sample: "{'description': 'IP address of server1 in private network',
'output_key': 'server1_private_ip',
'output_value': '10.1.10.103'}"

View file

@ -130,11 +130,13 @@ openstack_subnets:
dns_nameservers:
description: DNS name servers for this subnet.
returned: success
type: list of strings
type: list
elements: str
allocation_pools:
description: Allocation pools associated with this subnet.
returned: success
type: list of dicts
type: list
elements: dict
'''
from ansible.module_utils.basic import AnsibleModule

View file

@ -250,12 +250,12 @@ data:
id:
description: URI of application category.
returned: success
type: string
type: str
sample: Email
name:
description: Descriptive name of application category.
returned: success
type: string
type: str
sample: layer7/category/1
'''

View file

@ -117,7 +117,8 @@ feature_result:
message:
description: Any messages returned from the feature subsystem that occurred during installation or removal of this feature.
returned: always
type: list of strings
type: list
elements: str
sample: []
reboot_required:
description: True when the target server requires a reboot as a result of installing or removing this feature.

View file

@ -216,7 +216,8 @@ updates:
kb:
description: A list of KB article IDs that apply to the update.
returned: always
type: list of strings
type: list
elements: str
sample: [ '3004365' ]
id:
description: Internal Windows Update GUID.
@ -231,7 +232,8 @@ updates:
categories:
description: A list of category strings for this update.
returned: always
type: list of strings
type: list
elements: str
sample: [ 'Critical Updates', 'Windows Server 2012 R2' ]
failure_hresult_code:
description: The HRESULT code from a failed update.

View file

@ -130,6 +130,30 @@ def return_contains(v):
return v
return_contains_schema = Any(
All(
Schema(
{
Required('description'): Any(list_string_types, *string_types),
'returned': Any(*string_types), # only returned on top level
Required('type'): Any('bool', 'complex', 'dict', 'float', 'int', 'list', 'str'),
'version_added': Any(float, *string_types),
'sample': Any(None, list, dict, int, float, *string_types),
'example': Any(None, list, dict, int, float, *string_types),
'contains': Any(None, *list({str_type: Self} for str_type in string_types)),
# in case of type='list' elements define type of individual item in list
'elements': Any(None, 'bits', 'bool', 'bytes', 'dict', 'float', 'int', 'json', 'jsonarg', 'list', 'path', 'raw', 'sid', 'str'),
}
),
Schema(return_contains)
),
Schema(type(None)),
)
# This generates list of dicts with keys from string_types and return_contains_schema value
# for example in Python 3: {str: return_contains_schema}
list_dict_return_contains_schema = [{str_type: return_contains_schema} for str_type in string_types]
return_schema = Any(
All(
Schema(
@ -141,7 +165,7 @@ return_schema = Any(
'version_added': Any(float, *string_types),
'sample': Any(None, list, dict, int, float, *string_types),
'example': Any(None, list, dict, int, float, *string_types),
'contains': object,
'contains': Any(None, *list_dict_return_contains_schema),
# in case of type='list' elements define type of individual item in list
'elements': Any(None, 'bits', 'bool', 'bytes', 'dict', 'float', 'int', 'json', 'jsonarg', 'list', 'path', 'raw', 'sid', 'str'),
}

View file

@ -567,6 +567,7 @@ lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:
lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py validate-modules:parameter-type-not-in-doc
@ -707,6 +708,7 @@ lib/ansible/modules/cloud/amazon/ec2_ami_copy.py validate-modules:doc-missing-ty
lib/ansible/modules/cloud/amazon/ec2_ami_info.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/ec2_ami_info.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/ec2_ami_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_ami_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/ec2_asg.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/ec2_asg.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/ec2_asg.py validate-modules:doc-default-does-not-match-spec
@ -724,6 +726,7 @@ lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py future-import-boilerpla
lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/ec2_customer_gateway_info.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/ec2_customer_gateway_info.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/ec2_customer_gateway_info.py validate-modules:parameter-type-not-in-doc
@ -757,7 +760,9 @@ lib/ansible/modules/cloud/amazon/ec2_group_info.py validate-modules:parameter-ty
lib/ansible/modules/cloud/amazon/ec2_instance.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/ec2_instance.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_instance.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ec2_instance.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/ec2_instance_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_instance_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/ec2_key.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_key.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ec2_launch_template.py validate-modules:nonexistent-parameter-documented
@ -771,10 +776,12 @@ lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:doc-default-does-not
lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/ec2_lc_find.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_lc_find.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ec2_lc_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_lc_info.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ec2_metadata_facts.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/ec2_metric_alarm.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/ec2_metric_alarm.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_metric_alarm.py validate-modules:doc-missing-type
@ -825,6 +832,7 @@ lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py validate-modules:doc-mis
lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_vpc_net.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_vpc_net.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ec2_vpc_net.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/ec2_vpc_net_info.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/ec2_vpc_net_info.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/ec2_vpc_net_info.py validate-modules:parameter-type-not-in-doc
@ -868,6 +876,7 @@ lib/ansible/modules/cloud/amazon/ecs_service.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/ecs_service.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/ecs_service.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ecs_service.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ecs_service.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:doc-missing-type
@ -892,6 +901,7 @@ lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:doc-missing-typ
lib/ansible/modules/cloud/amazon/elasticache_info.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/elasticache_info.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/elasticache_info.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/elasticache_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py validate-modules:doc-choices-do-not-match-spec
@ -933,6 +943,7 @@ lib/ansible/modules/cloud/amazon/elb_target_group.py validate-modules:doc-choice
lib/ansible/modules/cloud/amazon/elb_target_group.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/elb_target_group.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/elb_target_group_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/elb_target_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/execute_lambda.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/execute_lambda.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/execute_lambda.py validate-modules:doc-default-does-not-match-spec
@ -1034,6 +1045,7 @@ lib/ansible/modules/cloud/amazon/redshift_subnet_group.py validate-modules:doc-m
lib/ansible/modules/cloud/amazon/route53.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/cloud/amazon/route53.py validate-modules:doc-default-incompatible-type
lib/ansible/modules/cloud/amazon/route53.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/route53.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/route53_health_check.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/route53_health_check.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/route53_health_check.py validate-modules:doc-default-does-not-match-spec
@ -1060,6 +1072,7 @@ lib/ansible/modules/cloud/amazon/s3_sync.py validate-modules:parameter-type-not-
lib/ansible/modules/cloud/amazon/s3_sync.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/s3_website.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/s3_website.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/s3_website.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/sns.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/sns.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/sns_topic.py validate-modules:parameter-type-not-in-doc
@ -1100,6 +1113,7 @@ lib/ansible/modules/cloud/azure/azure_rm_azurefirewall.py validate-modules:missi
lib/ansible/modules/cloud/azure/azure_rm_batchaccount.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_cdnendpoint.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_cdnendpoint_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_cdnendpoint_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_cdnprofile.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_cdnprofile_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_containerinstance.py validate-modules:doc-type-does-not-match-spec
@ -1112,36 +1126,53 @@ lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount.py validate-modules:non
lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_deployment.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_deployment.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_deployment_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_deployment_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_devtestlab.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_devtestlab_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_devtestlabarmtemplate_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_devtestlabartifact_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_devtestlabartifactsource.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_devtestlabartifactsource_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_devtestlabcustomimage.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_devtestlabcustomimage_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_devtestlabenvironment.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_devtestlabenvironment_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_devtestlabpolicy.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_devtestlabpolicy_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_devtestlabschedule.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_devtestlabschedule_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine.py validate-modules:undocumented-parameter
lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine.py validate-modules:nonexistent-parameter-documented
lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualnetwork.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_dnszone.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_dnszone_info.py validate-modules:doc-type-does-not-match-spec
lib/ansible/modules/cloud/azure/azure_rm_dnszone_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_dnszone_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_functionapp.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_functionapp_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_galleryimage_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion.py validate-modules:doc-type-does-not-match-spec
lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_hdinsightcluster.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_hdinsightcluster_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_hdinsightcluster_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_image.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_image_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_image_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_keyvault.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/cloud/azure/azure_rm_keyvault.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_keyvault_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_keyvaultkey.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_keyvaultkey_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_keyvaultsecret.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py validate-modules:doc-choices-do-not-match-spec
@ -1151,18 +1182,23 @@ lib/ansible/modules/cloud/azure/azure_rm_loganalyticsworkspace.py validate-modul
lib/ansible/modules/cloud/azure/azure_rm_loganalyticsworkspace_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_manageddisk.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_manageddisk_info.py validate-modules:doc-type-does-not-match-spec
lib/ansible/modules/cloud/azure/azure_rm_manageddisk_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_mariadbconfiguration.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_mariadbconfiguration_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_mariadbdatabase.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_mariadbfirewallrule.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_mariadbserver.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_mysqlconfiguration.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_mysqlconfiguration_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_mysqldatabase.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_mysqlfirewallrule.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_mysqlserver.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/azure/azure_rm_networkinterface_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_networkinterface_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_postgresqlconfiguration.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_postgresqlconfiguration_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_postgresqldatabase.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_postgresqlfirewallrule.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_postgresqlserver.py validate-modules:parameter-type-not-in-doc
@ -1183,6 +1219,7 @@ lib/ansible/modules/cloud/azure/azure_rm_roledefinition.py validate-modules:inva
lib/ansible/modules/cloud/azure/azure_rm_roledefinition.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_roledefinition.py validate-modules:missing-suboption-docs
lib/ansible/modules/cloud/azure/azure_rm_roledefinition_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_roledefinition_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_route.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_routetable.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_routetable_info.py validate-modules:parameter-type-not-in-doc
@ -1207,6 +1244,7 @@ lib/ansible/modules/cloud/azure/azure_rm_sqlserver_info.py validate-modules:para
lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/azure/azure_rm_storageaccount_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_storageaccount_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/azure/azure_rm_storageblob.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_subnet.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/azure/azure_rm_subnet_info.py validate-modules:parameter-type-not-in-doc
@ -1476,12 +1514,14 @@ lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:undocumented-
lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/hcloud/hcloud_network_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/heroku/heroku_collaborator.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/kubevirt/kubevirt_cdi_upload.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/kubevirt/kubevirt_preset.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/kubevirt/kubevirt_preset.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/kubevirt/kubevirt_pvc.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/kubevirt/kubevirt_pvc.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/kubevirt/kubevirt_pvc.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/kubevirt/kubevirt_rs.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/kubevirt/kubevirt_rs.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/kubevirt/kubevirt_template.py validate-modules:doc-missing-type
@ -1529,6 +1569,7 @@ lib/ansible/modules/cloud/misc/proxmox_template.py validate-modules:doc-missing-
lib/ansible/modules/cloud/misc/terraform.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/misc/terraform.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/misc/terraform.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/misc/terraform.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/misc/virt.py validate-modules:undocumented-parameter
lib/ansible/modules/cloud/misc/virt.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/cloud/misc/virt.py validate-modules:parameter-type-not-in-doc
@ -1551,8 +1592,8 @@ lib/ansible/modules/cloud/oneandone/oneandone_server.py validate-modules:doc-cho
lib/ansible/modules/cloud/oneandone/oneandone_server.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/oneandone/oneandone_server.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/online/_online_server_facts.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/online/_online_user_facts.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/online/online_server_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/online/_online_user_facts.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/online/online_user_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/opennebula/one_host.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/opennebula/one_host.py validate-modules:doc-missing-type
@ -2164,14 +2205,17 @@ lib/ansible/modules/clustering/etcd3.py validate-modules:parameter-type-not-in-d
lib/ansible/modules/clustering/k8s/k8s.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/clustering/k8s/k8s.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/clustering/k8s/k8s.py validate-modules:doc-missing-type
lib/ansible/modules/clustering/k8s/k8s.py validate-modules:return-syntax-error
lib/ansible/modules/clustering/k8s/k8s_auth.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/clustering/k8s/k8s_auth.py validate-modules:doc-missing-type
lib/ansible/modules/clustering/k8s/k8s_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/clustering/k8s/k8s_info.py validate-modules:doc-missing-type
lib/ansible/modules/clustering/k8s/k8s_scale.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/clustering/k8s/k8s_scale.py validate-modules:doc-missing-type
lib/ansible/modules/clustering/k8s/k8s_scale.py validate-modules:return-syntax-error
lib/ansible/modules/clustering/k8s/k8s_service.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/clustering/k8s/k8s_service.py validate-modules:doc-missing-type
lib/ansible/modules/clustering/k8s/k8s_service.py validate-modules:return-syntax-error
lib/ansible/modules/clustering/pacemaker_cluster.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/clustering/znode.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/clustering/znode.py validate-modules:parameter-type-not-in-doc
@ -2180,6 +2224,7 @@ lib/ansible/modules/commands/command.py validate-modules:undocumented-parameter
lib/ansible/modules/commands/command.py validate-modules:nonexistent-parameter-documented
lib/ansible/modules/commands/command.py validate-modules:doc-missing-type
lib/ansible/modules/commands/expect.py validate-modules:doc-missing-type
lib/ansible/modules/crypto/acme/acme_account_info.py validate-modules:return-syntax-error
lib/ansible/modules/database/influxdb/influxdb_database.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/database/influxdb/influxdb_database.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/database/influxdb/influxdb_query.py validate-modules:doc-default-does-not-match-spec
@ -3607,6 +3652,7 @@ lib/ansible/modules/network/exos/exos_config.py validate-modules:parameter-type-
lib/ansible/modules/network/exos/exos_config.py validate-modules:doc-missing-type
lib/ansible/modules/network/f5/_bigip_asm_policy.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/f5/_bigip_asm_policy.py validate-modules:doc-missing-type
lib/ansible/modules/network/f5/bigip_device_info.py validate-modules:return-syntax-error
lib/ansible/modules/network/f5/_bigip_facts.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/f5/_bigip_gtm_facts.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/f5/_bigip_gtm_facts.py validate-modules:doc-missing-type
@ -3627,6 +3673,7 @@ lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:doc-choices
lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:doc-missing-type
lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:missing-suboption-docs
lib/ansible/modules/network/f5/bigiq_device_info.py validate-modules:return-syntax-error
lib/ansible/modules/network/fortimanager/fmgr_device.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/fortimanager/fmgr_device_config.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/fortimanager/fmgr_device_group.py validate-modules:parameter-type-not-in-doc
@ -3722,6 +3769,7 @@ lib/ansible/modules/network/illumos/ipadm_prop.py validate-modules:doc-choices-d
lib/ansible/modules/network/illumos/ipadm_prop.py validate-modules:doc-missing-type
lib/ansible/modules/network/ingate/ig_config.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/ingate/ig_config.py validate-modules:doc-missing-type
lib/ansible/modules/network/ingate/ig_config.py validate-modules:return-syntax-error
lib/ansible/modules/network/ingate/ig_unit_information.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/ios/ios_banner.py future-import-boilerplate
lib/ansible/modules/network/ios/ios_banner.py metaclass-boilerplate
@ -4019,8 +4067,10 @@ lib/ansible/modules/network/netconf/netconf_config.py validate-modules:doc-choic
lib/ansible/modules/network/netconf/netconf_config.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/netconf/netconf_config.py validate-modules:doc-missing-type
lib/ansible/modules/network/netconf/netconf_get.py validate-modules:doc-missing-type
lib/ansible/modules/network/netconf/netconf_get.py validate-modules:return-syntax-error
lib/ansible/modules/network/netconf/netconf_rpc.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/netconf/netconf_rpc.py validate-modules:doc-missing-type
lib/ansible/modules/network/netconf/netconf_rpc.py validate-modules:return-syntax-error
lib/ansible/modules/network/netscaler/netscaler_cs_action.py validate-modules:nonexistent-parameter-documented
lib/ansible/modules/network/netscaler/netscaler_cs_action.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/netscaler/netscaler_cs_policy.py validate-modules:parameter-type-not-in-doc
@ -4094,6 +4144,7 @@ lib/ansible/modules/network/nos/nos_command.py validate-modules:parameter-type-n
lib/ansible/modules/network/nos/nos_command.py validate-modules:doc-missing-type
lib/ansible/modules/network/nos/nos_config.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/nos/nos_config.py validate-modules:doc-missing-type
lib/ansible/modules/network/nso/nso_config.py validate-modules:return-syntax-error
lib/ansible/modules/network/nos/nos_facts.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/nso/nso_action.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/network/nso/nso_action.py validate-modules:doc-missing-type
@ -4971,6 +5022,7 @@ lib/ansible/modules/packaging/os/opkg.py validate-modules:parameter-invalid
lib/ansible/modules/packaging/os/opkg.py validate-modules:doc-missing-type
lib/ansible/modules/packaging/os/package_facts.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/packaging/os/package_facts.py validate-modules:doc-missing-type
lib/ansible/modules/packaging/os/package_facts.py validate-modules:return-syntax-error
lib/ansible/modules/packaging/os/pacman.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/packaging/os/pacman.py validate-modules:parameter-invalid
lib/ansible/modules/packaging/os/pacman.py validate-modules:parameter-type-not-in-doc
@ -5394,6 +5446,7 @@ lib/ansible/modules/storage/netapp/netapp_e_asup.py validate-modules:parameter-t
lib/ansible/modules/storage/netapp/netapp_e_auditlog.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/storage/netapp/netapp_e_auth.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/storage/netapp/netapp_e_auth.py validate-modules:doc-missing-type
lib/ansible/modules/storage/netapp/netapp_e_facts.py validate-modules:return-syntax-error
lib/ansible/modules/storage/netapp/netapp_e_flashcache.py validate-modules:undocumented-parameter
lib/ansible/modules/storage/netapp/netapp_e_flashcache.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/storage/netapp/netapp_e_flashcache.py validate-modules:parameter-type-not-in-doc
@ -5478,6 +5531,7 @@ lib/ansible/modules/system/mksysb.py validate-modules:doc-missing-type
lib/ansible/modules/system/modprobe.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/system/nosh.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/system/nosh.py validate-modules:doc-missing-type
lib/ansible/modules/system/nosh.py validate-modules:return-syntax-error
lib/ansible/modules/system/openwrt_init.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/system/openwrt_init.py validate-modules:doc-missing-type
lib/ansible/modules/system/pam_limits.py validate-modules:parameter-type-not-in-doc
@ -5593,6 +5647,7 @@ lib/ansible/modules/web_infrastructure/sophos_utm/utm_dns_host.py validate-modul
lib/ansible/modules/web_infrastructure/sophos_utm/utm_network_interface_address.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/web_infrastructure/sophos_utm/utm_network_interface_address_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_auth_profile.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_exception.py validate-modules:return-syntax-error
lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_frontend.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_frontend_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_location.py validate-modules:parameter-type-not-in-doc