diff --git a/lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py b/lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py index 348c4df541..420016fbde 100644 --- a/lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py +++ b/lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py @@ -444,24 +444,24 @@ def create_scaling_policy(connection, module): def main(): argument_spec = ec2_argument_spec() - argument_spec.update(dict( - state=dict(required=True, choices=['present', 'absent'], type='str'), - policy_name=dict(required=True, type='str'), - service_namespace=dict(required=True, choices=['ecs', 'elasticmapreduce', 'ec2', 'appstream', 'dynamodb'], type='str'), - resource_id=dict(required=True, type='str'), - scalable_dimension=dict(required=True, choices=['ecs:service:DesiredCount', - 'ec2:spot-fleet-request:TargetCapacity', - 'elasticmapreduce:instancegroup:InstanceCount', - 'appstream:fleet:DesiredCapacity', - 'dynamodb:table:ReadCapacityUnits', - 'dynamodb:table:WriteCapacityUnits', - 'dynamodb:index:ReadCapacityUnits', - 'dynamodb:index:WriteCapacityUnits' - ], type='str'), - policy_type=dict(required=True, choices=['StepScaling', 'TargetTrackingScaling'], type='str'), - step_scaling_policy_configuration=dict(required=False, type='dict'), + argument_spec.update( + state=dict(type='str', required=True, choices=['present', 'absent']), + policy_name=dict(type='str', required=True), + service_namespace=dict(type='str', required=True, choices=['appstream', 'dynamodb', 'ec2', 'ecs', 'elasticmapreduce']), + resource_id=dict(type='str', required=True), + scalable_dimension=dict(type='str', + required=True, + choices=['ecs:service:DesiredCount', + 'ec2:spot-fleet-request:TargetCapacity', + 'elasticmapreduce:instancegroup:InstanceCount', + 'appstream:fleet:DesiredCapacity', + 'dynamodb:table:ReadCapacityUnits', + 'dynamodb:table:WriteCapacityUnits', + 'dynamodb:index:ReadCapacityUnits', + 'dynamodb:index:WriteCapacityUnits']), + policy_type=dict(type='str', required=True, choices=['StepScaling', 'TargetTrackingScaling']), + step_scaling_policy_configuration=dict(type='dict'), target_tracking_scaling_policy_configuration=dict( - required=False, type='dict', options=dict( CustomizedMetricSpecification=dict(type='dict'), @@ -472,10 +472,10 @@ def main(): TargetValue=dict(type='float'), ) ), - minimum_tasks=dict(required=False, type='int'), - maximum_tasks=dict(required=False, type='int'), - override_task_capacity=dict(required=False, type=bool) - )) + minimum_tasks=dict(type='int'), + maximum_tasks=dict(type='int'), + override_task_capacity=dict(type='bool'), + ) module = AnsibleAWSModule(argument_spec=argument_spec, supports_check_mode=True) diff --git a/lib/ansible/modules/cloud/amazon/ec2_elb_lb.py b/lib/ansible/modules/cloud/amazon/ec2_elb_lb.py index fab79b28ae..9eca41e799 100644 --- a/lib/ansible/modules/cloud/amazon/ec2_elb_lb.py +++ b/lib/ansible/modules/cloud/amazon/ec2_elb_lb.py @@ -25,115 +25,127 @@ options: state: description: - Create or destroy the ELB - choices: ["present", "absent"] + type: str + choices: [ absent, present ] required: true name: description: - The name of the ELB + type: str required: true listeners: description: - List of ports/protocols for this ELB to listen on (see example) - required: false + type: list purge_listeners: description: - Purge existing listeners on ELB that are not found in listeners type: bool - default: 'yes' + default: yes instance_ids: description: - List of instance ids to attach to this ELB - type: bool - default: 'no' + type: list version_added: "2.1" purge_instance_ids: description: - Purge existing instance ids on ELB that are not found in instance_ids type: bool - default: 'no' + default: no version_added: "2.1" zones: description: - List of availability zones to enable on this ELB - required: false + type: list purge_zones: description: - Purge existing availability zones on ELB that are not found in zones type: bool - default: 'no' + default: no security_group_ids: description: - A list of security groups to apply to the elb + type: list version_added: "1.6" security_group_names: description: - A list of security group names to apply to the elb + type: list version_added: "2.0" health_check: description: - An associative array of health check configuration settings (see example) + type: dict access_logs: description: - An associative array of access logs configuration settings (see example) + type: dict version_added: "2.0" subnets: description: - A list of VPC subnets to use when creating ELB. Zones should be empty if using this. + type: list version_added: "1.7" purge_subnets: description: - Purge existing subnet on ELB that are not found in subnets - default: 'no' - version_added: "1.7" type: bool + default: no + version_added: "1.7" scheme: description: - The scheme to use when creating the ELB. For a private VPC-visible ELB use 'internal'. If you choose to update your scheme with a different value the ELB will be destroyed and recreated. To update scheme you must use the option wait. + type: str choices: ["internal", "internet-facing"] default: 'internet-facing' version_added: "1.7" validate_certs: description: - - When set to "no", SSL certificates will not be validated for boto versions >= 2.6.0. + - When set to C(no), SSL certificates will not be validated for boto versions >= 2.6.0. type: bool - default: 'yes' + default: yes version_added: "1.5" connection_draining_timeout: description: - Wait a specified timeout allowing connections to drain before terminating an instance + type: int version_added: "1.8" idle_timeout: description: - ELB connections from clients and to servers are timed out after this amount of time + type: int version_added: "2.0" cross_az_load_balancing: description: - Distribute load across all configured Availability Zones type: bool - default: 'no' + default: no version_added: "1.8" stickiness: description: - An associative array of stickiness policy settings. Policy will be applied to all listeners ( see example ) + type: dict version_added: "2.0" wait: description: - When specified, Ansible will check the status of the load balancer to ensure it has been successfully removed from AWS. type: bool - default: 'no' + default: no version_added: "2.1" wait_timeout: description: - Used in conjunction with wait. Number of seconds to wait for the elb to be terminated. A maximum of 600 seconds (10 minutes) is allowed. + type: int default: 60 version_added: "2.1" tags: description: - An associative array of tags. To delete all tags, supply an empty dict. + type: dict version_added: "2.1" extends_documentation_fragment: diff --git a/lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint.py b/lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint.py index 6fc19878ff..ecbbc832a4 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint.py @@ -80,7 +80,7 @@ options: geo_mapping: description: - The list of countries/regions mapped to this endpoint when traffic manager profile has routing_method of C(geographic). - type: str + type: list state: description: - Assert the state of the Traffic Manager endpoint. Use C(present) to create or update a Traffic Manager endpoint and C(absent) to delete it. diff --git a/lib/ansible/modules/cloud/azure/azure_rm_webapp_facts.py b/lib/ansible/modules/cloud/azure/azure_rm_webapp_facts.py index dd23d23f90..c1ac0ff990 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_webapp_facts.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_webapp_facts.py @@ -167,12 +167,12 @@ class AzureRMWebAppFacts(AzureRMModuleBase): name=dict(type='str'), resource_group=dict(type='str'), tags=dict(type='list'), - return_publish_profile=dict(type=bool, default=False) + return_publish_profile=dict(type='bool', default=False), ) self.results = dict( changed=False, - webapps=[] + webapps=[], ) self.name = None diff --git a/lib/ansible/modules/cloud/azure/azure_rm_webappslot.py b/lib/ansible/modules/cloud/azure/azure_rm_webappslot.py index 901a865ccb..3fce3b8b26 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_webappslot.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_webappslot.py @@ -248,7 +248,7 @@ swap_spec = dict( type='str' ), preserve_vnet=dict( - type=bool, + type='bool', default=True ) ) diff --git a/lib/ansible/modules/cloud/lxc/lxc_container.py b/lib/ansible/modules/cloud/lxc/lxc_container.py index ffea85c83e..dc417a9778 100644 --- a/lib/ansible/modules/cloud/lxc/lxc_container.py +++ b/lib/ansible/modules/cloud/lxc/lxc_container.py @@ -99,8 +99,7 @@ options: description: - Name of the new cloned server. This is only used when state is clone. - type: bool - default: 'no' + type: str version_added: "2.0" clone_snapshot: choices: diff --git a/lib/ansible/modules/cloud/scaleway/scaleway_security_group_rule.py b/lib/ansible/modules/cloud/scaleway/scaleway_security_group_rule.py index 507dd65ec1..b692737398 100644 --- a/lib/ansible/modules/cloud/scaleway/scaleway_security_group_rule.py +++ b/lib/ansible/modules/cloud/scaleway/scaleway_security_group_rule.py @@ -235,16 +235,16 @@ def core(module): def main(): argument_spec = scaleway_argument_spec() - argument_spec.update(dict( - state=dict(default='present', choices=['absent', 'present']), - region=dict(required=True, choices=SCALEWAY_LOCATION.keys()), - protocol=dict(required=True, choices=['TCP', 'UDP', 'ICMP']), - port=dict(required=True, type=int), - ip_range=dict(default='0.0.0.0/0', type=lambda x: to_text(ip_network(to_text(x)))), - direction=dict(required=True, choices=['inbound', 'outbound']), - action=dict(required=True, choices=['accept', 'drop']), - security_group=dict(required=True), - )) + argument_spec.update( + state=dict(type='str', default='present', choices=['absent', 'present']), + region=dict(type='str', required=True, choices=SCALEWAY_LOCATION.keys()), + protocol=dict(type='str', required=True, choices=['TCP', 'UDP', 'ICMP']), + port=dict(type='int', required=True), + ip_range=dict(type='str', default='0.0.0.0/0'), + direction=dict(type='str', required=True, choices=['inbound', 'outbound']), + action=dict(type='str', required=True, choices=['accept', 'drop']), + security_group=dict(type='str', required=True), + ) module = AnsibleModule( argument_spec=argument_spec, supports_check_mode=True, diff --git a/lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py b/lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py index 94e14fbe17..daa39a4732 100644 --- a/lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py +++ b/lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py @@ -60,7 +60,7 @@ options: description: - Determines if the portgroup should be present or not. required: True - type: bool + type: str choices: - 'present' - 'absent' diff --git a/lib/ansible/modules/cloud/vmware/vmware_guest_disk.py b/lib/ansible/modules/cloud/vmware/vmware_guest_disk.py index cb8c7cad7a..9a7956d0b3 100644 --- a/lib/ansible/modules/cloud/vmware/vmware_guest_disk.py +++ b/lib/ansible/modules/cloud/vmware/vmware_guest_disk.py @@ -629,7 +629,7 @@ def main(): uuid=dict(type='str'), folder=dict(type='str'), datacenter=dict(type='str', required=True), - disk=dict(type=list, default=[]), + disk=dict(type='list', default=[]), ) module = AnsibleModule(argument_spec=argument_spec, required_one_of=[['name', 'uuid']]) diff --git a/lib/ansible/modules/cloud/vmware/vmware_host_ntp.py b/lib/ansible/modules/cloud/vmware/vmware_host_ntp.py index 3864383f5e..f4936e8f4a 100644 --- a/lib/ansible/modules/cloud/vmware/vmware_host_ntp.py +++ b/lib/ansible/modules/cloud/vmware/vmware_host_ntp.py @@ -46,7 +46,7 @@ options: description: - "IP or FQDN of NTP server(s)." - This accepts a list of NTP servers. For multiple servers, please look at the examples. - type: dict + type: list required: True state: description: diff --git a/lib/ansible/modules/crypto/openssh_cert.py b/lib/ansible/modules/crypto/openssh_cert.py index 3d3084ceff..33322d7b8b 100644 --- a/lib/ansible/modules/crypto/openssh_cert.py +++ b/lib/ansible/modules/crypto/openssh_cert.py @@ -510,22 +510,22 @@ def main(): module = AnsibleModule( argument_spec=dict( - state=dict(default='present', choices=['present', 'absent'], type='str'), - force=dict(default=False, type=bool), - type=dict(choices=['host', 'user'], type='str'), + state=dict(type='str', default='present', choices=['absent', 'present']), + force=dict(type='bool', default=False), + type=dict(type='str', choices=['host', 'user']), signing_key=dict(type='path'), public_key=dict(type='path'), - path=dict(required=True, type='path'), + path=dict(type='path', required=True), identifier=dict(type='str'), valid_from=dict(type='str'), valid_to=dict(type='str'), valid_at=dict(type='str'), - principals=dict(type=list), - options=dict(type=list), + principals=dict(type='list'), + options=dict(type='list'), ), supports_check_mode=True, add_file_common_args=True, - required_if=[('state', 'present', ['type', 'signing_key', 'public_key', 'valid_from', 'valid_to'])] + required_if=[('state', 'present', ['type', 'signing_key', 'public_key', 'valid_from', 'valid_to'])], ) def isBaseDir(path): diff --git a/lib/ansible/modules/files/archive.py b/lib/ansible/modules/files/archive.py index 5e74464ed9..defa8fde3f 100644 --- a/lib/ansible/modules/files/archive.py +++ b/lib/ansible/modules/files/archive.py @@ -46,7 +46,7 @@ options: exclude_path: description: - Remote absolute path, glob, or list of paths or globs for the file or files to exclude from the archive. - type: str + type: list version_added: '2.4' remove: description: diff --git a/lib/ansible/modules/files/synchronize.py b/lib/ansible/modules/files/synchronize.py index b5728efcd5..d3bd15b9ed 100644 --- a/lib/ansible/modules/files/synchronize.py +++ b/lib/ansible/modules/files/synchronize.py @@ -127,7 +127,7 @@ options: description: - Specify the rsync command to run on the remote host. See C(--rsync-path) on the rsync man page. - To specify the rsync command to run on the local host, you need to set this your task var C(ansible_rsync_path). - type: path + type: str rsync_timeout: description: - Specify a C(--timeout) for the rsync command in seconds. @@ -150,7 +150,7 @@ options: description: - Specify additional rsync options by passing in an array. - Note that an empty string in C(rsync_opts) will end up transfer the current working directory. - type: str + type: list default: version_added: "1.6" partial: @@ -173,7 +173,7 @@ options: link_dest: description: - Add a destination to hard link against during the rsync. - type: str + type: list default: version_added: "2.5" notes: diff --git a/lib/ansible/modules/net_tools/basics/get_url.py b/lib/ansible/modules/net_tools/basics/get_url.py index 2c3f8d8c67..7f9666d049 100644 --- a/lib/ansible/modules/net_tools/basics/get_url.py +++ b/lib/ansible/modules/net_tools/basics/get_url.py @@ -120,10 +120,10 @@ options: headers: description: - Add custom HTTP headers to a request in hash/dict format. - - The hash/dict format was added in 2.6. + - The hash/dict format was added in Ansible 2.6. - Previous versions used a C("key:value,key:value") string format. - The C("key:value,key:value") string format is deprecated and will be removed in version 2.10. - type: str + type: raw version_added: '2.0' url_username: description: @@ -154,13 +154,13 @@ options: description: - PEM formatted certificate chain file to be used for SSL client authentication. - This file can also include the key as well, and if the key is included, C(client_key) is not required. - type: str + type: path version_added: '2.4' client_key: description: - PEM formatted file that contains your private key to be used for SSL client authentication. - If C(client_cert) contains both the certificate and key, this option is not required. - type: str + type: path version_added: '2.4' # informational: requirements for nodes extends_documentation_fragment: diff --git a/lib/ansible/modules/net_tools/basics/uri.py b/lib/ansible/modules/net_tools/basics/uri.py index e45e7fb179..7898af25b0 100644 --- a/lib/ansible/modules/net_tools/basics/uri.py +++ b/lib/ansible/modules/net_tools/basics/uri.py @@ -101,7 +101,7 @@ options: status_code: description: - A list of valid, numeric, HTTP status codes that signifies success of the request. - type: int + type: list default: 200 timeout: description: diff --git a/lib/ansible/modules/network/aci/mso_schema_template_anp.py b/lib/ansible/modules/network/aci/mso_schema_template_anp.py index 975c01c143..ff5ddc532a 100644 --- a/lib/ansible/modules/network/aci/mso_schema_template_anp.py +++ b/lib/ansible/modules/network/aci/mso_schema_template_anp.py @@ -29,7 +29,7 @@ options: template: description: - The name of the template. - type: list + type: str required: yes anp: description: diff --git a/lib/ansible/modules/network/aci/mso_schema_template_anp_epg.py b/lib/ansible/modules/network/aci/mso_schema_template_anp_epg.py index f6a8fc3351..112f04225c 100644 --- a/lib/ansible/modules/network/aci/mso_schema_template_anp_epg.py +++ b/lib/ansible/modules/network/aci/mso_schema_template_anp_epg.py @@ -29,7 +29,7 @@ options: template: description: - The name of the template to change. - type: list + type: str required: yes anp: description: diff --git a/lib/ansible/modules/network/aci/mso_schema_template_anp_epg_contract.py b/lib/ansible/modules/network/aci/mso_schema_template_anp_epg_contract.py index d7b7815d58..5121962908 100644 --- a/lib/ansible/modules/network/aci/mso_schema_template_anp_epg_contract.py +++ b/lib/ansible/modules/network/aci/mso_schema_template_anp_epg_contract.py @@ -29,7 +29,7 @@ options: template: description: - The name of the template to change. - type: list + type: str required: yes anp: description: diff --git a/lib/ansible/modules/network/aci/mso_schema_template_anp_epg_subnet.py b/lib/ansible/modules/network/aci/mso_schema_template_anp_epg_subnet.py index bfa4196ec3..8d87e26171 100644 --- a/lib/ansible/modules/network/aci/mso_schema_template_anp_epg_subnet.py +++ b/lib/ansible/modules/network/aci/mso_schema_template_anp_epg_subnet.py @@ -29,7 +29,7 @@ options: template: description: - The name of the template to change. - type: list + type: str required: yes anp: description: diff --git a/lib/ansible/modules/network/aci/mso_schema_template_bd.py b/lib/ansible/modules/network/aci/mso_schema_template_bd.py index 57b01922e4..ef72b1eb06 100644 --- a/lib/ansible/modules/network/aci/mso_schema_template_bd.py +++ b/lib/ansible/modules/network/aci/mso_schema_template_bd.py @@ -29,7 +29,7 @@ options: template: description: - The name of the template. - type: list + type: str required: yes bd: description: @@ -43,7 +43,7 @@ options: vrf: description: - The VRF associated to this BD. - type: str + type: dict subnets: description: - The subnets associated to this BD. diff --git a/lib/ansible/modules/network/aci/mso_schema_template_bd_subnet.py b/lib/ansible/modules/network/aci/mso_schema_template_bd_subnet.py index 8751bf87f7..030a6656ec 100644 --- a/lib/ansible/modules/network/aci/mso_schema_template_bd_subnet.py +++ b/lib/ansible/modules/network/aci/mso_schema_template_bd_subnet.py @@ -29,7 +29,7 @@ options: template: description: - The name of the template to change. - type: list + type: str required: yes bd: description: diff --git a/lib/ansible/modules/network/aci/mso_schema_template_contract_filter.py b/lib/ansible/modules/network/aci/mso_schema_template_contract_filter.py index 5584050b58..af8434c049 100644 --- a/lib/ansible/modules/network/aci/mso_schema_template_contract_filter.py +++ b/lib/ansible/modules/network/aci/mso_schema_template_contract_filter.py @@ -29,7 +29,7 @@ options: template: description: - The name of the template. - type: list + type: str required: yes contract: description: diff --git a/lib/ansible/modules/network/aci/mso_schema_template_externalepg.py b/lib/ansible/modules/network/aci/mso_schema_template_externalepg.py index 4ab53fe1f5..fed687c9c0 100644 --- a/lib/ansible/modules/network/aci/mso_schema_template_externalepg.py +++ b/lib/ansible/modules/network/aci/mso_schema_template_externalepg.py @@ -29,7 +29,7 @@ options: template: description: - The name of the template. - type: list + type: str required: yes externalepg: description: @@ -43,7 +43,7 @@ options: vrf: description: - The VRF associated to this ANP. - type: str + type: dict state: description: - Use C(present) or C(absent) for adding or removing. diff --git a/lib/ansible/modules/network/aci/mso_schema_template_filter_entry.py b/lib/ansible/modules/network/aci/mso_schema_template_filter_entry.py index a3947aed23..3b527c082e 100644 --- a/lib/ansible/modules/network/aci/mso_schema_template_filter_entry.py +++ b/lib/ansible/modules/network/aci/mso_schema_template_filter_entry.py @@ -29,7 +29,7 @@ options: template: description: - The name of the template. - type: list + type: str required: yes filter: description: diff --git a/lib/ansible/modules/network/aci/mso_schema_template_l3out.py b/lib/ansible/modules/network/aci/mso_schema_template_l3out.py index ca6d422ff8..0feada6257 100644 --- a/lib/ansible/modules/network/aci/mso_schema_template_l3out.py +++ b/lib/ansible/modules/network/aci/mso_schema_template_l3out.py @@ -29,7 +29,7 @@ options: template: description: - The name of the template. - type: list + type: str required: yes l3out: description: @@ -43,7 +43,7 @@ options: vrf: description: - The VRF associated to this L3out. - type: str + type: dict state: description: - Use C(present) or C(absent) for adding or removing. diff --git a/lib/ansible/modules/network/aci/mso_schema_template_vrf.py b/lib/ansible/modules/network/aci/mso_schema_template_vrf.py index bd5e677201..4b876f2775 100644 --- a/lib/ansible/modules/network/aci/mso_schema_template_vrf.py +++ b/lib/ansible/modules/network/aci/mso_schema_template_vrf.py @@ -29,7 +29,7 @@ options: template: description: - The name of the template. - type: list + type: str required: yes vrf: description: diff --git a/lib/ansible/modules/network/checkpoint/checkpoint_access_rule.py b/lib/ansible/modules/network/checkpoint/checkpoint_access_rule.py index 131893e90b..104ed75c59 100644 --- a/lib/ansible/modules/network/checkpoint/checkpoint_access_rule.py +++ b/lib/ansible/modules/network/checkpoint/checkpoint_access_rule.py @@ -86,7 +86,7 @@ options: policy_package: description: - Package policy name to be installed. - type: bool + type: str default: 'standard' targets: description: diff --git a/lib/ansible/modules/network/checkpoint/checkpoint_host.py b/lib/ansible/modules/network/checkpoint/checkpoint_host.py index 6a4c76aad5..b90aaa0ad8 100644 --- a/lib/ansible/modules/network/checkpoint/checkpoint_host.py +++ b/lib/ansible/modules/network/checkpoint/checkpoint_host.py @@ -64,7 +64,7 @@ options: policy_package: description: - Package policy name to be installed. - type: bool + type: str default: 'standard' targets: description: diff --git a/lib/ansible/modules/network/meraki/meraki_ssid.py b/lib/ansible/modules/network/meraki/meraki_ssid.py index 84c4486489..a598447c67 100644 --- a/lib/ansible/modules/network/meraki/meraki_ssid.py +++ b/lib/ansible/modules/network/meraki/meraki_ssid.py @@ -26,27 +26,34 @@ options: state: description: - Specifies whether SNMP information should be queried or modified. - choices: ['absent', 'query', 'present'] + type: str + choices: [ absent, query, present ] default: present number: description: - SSID number within network. + type: int aliases: [ssid_number] name: description: - Name of SSID. + type: str org_name: description: - Name of organization. + type: str org_id: description: - ID of organization. + type: int net_name: description: - Name of network. + type: str net_id: description: - ID of network. + type: str enabled: description: - Enable or disable SSID network. @@ -54,22 +61,27 @@ options: auth_mode: description: - Set authentication mode of network. + type: str choices: [open, psk, open-with-radius, 8021x-meraki, 8021x-radius] encryption_mode: description: - Set encryption mode of network. + type: str choices: [wpa, eap, wpa-eap] psk: description: - Password for wireless network. - Requires auth_mode to be set to psk. + type: str wpa_encryption_mode: description: - Encryption mode within WPA2 specification. + type: str choices: [WPA1 and WPA2, WPA2 only] splash_page: description: - Set to enable splash page and specify type of splash. + type: str choices: ['None', 'Click-through splash page', 'Billing', @@ -85,16 +97,20 @@ options: radius_servers: description: - List of RADIUS servers. + type: list suboptions: host: description: - IP address or hostname of RADIUS server. + type: str port: description: - Port number RADIUS server is listening to. + type: int secret: description: - RADIUS password. + type: str radius_coa_enabled: description: - Enable or disable RADIUS CoA (Change of Authorization) on SSID. @@ -102,10 +118,12 @@ options: radius_failover_policy: description: - Set client access policy in case RADIUS servers aren't available. + type: str choices: [Deny access, Allow access] radius_load_balancing_policy: description: - Set load balancing policy when multiple RADIUS servers are specified. + type: str choices: [Strict priority order, Round robin] radius_accounting_enabled: description: @@ -114,19 +132,24 @@ options: radius_accounting_servers: description: - List of RADIUS servers for RADIUS accounting. + type: list suboptions: host: description: - IP address or hostname of RADIUS server. + type: str port: description: - Port number RADIUS server is listening to. + type: int secret: description: - RADIUS password. + type: str ip_assignment_mode: description: - Method of which SSID uses to assign IP addresses. + type: str choices: ['NAT mode', 'Bridge mode', 'Layer 3 roaming', @@ -139,19 +162,24 @@ options: default_vlan_id: description: - Default VLAN ID. + type: str vlan_id: description: - ID number of VLAN on SSID. + type: int ap_tags_vlan_ids: description: - List of VLAN tags. + type: list suboptions: tags: description: - List of AP tags. + type: list vlan_id: description: - Numerical identifier that is assigned to the VLAN. + type: int walled_garden_enabled: description: - Enable or disable walled garden functionality. @@ -159,23 +187,29 @@ options: walled_garden_ranges: description: - List of walled garden ranges. + type: list min_bitrate: description: - Minimum bitrate (Mbps) allowed on SSID. + type: float choices: [1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54] band_selection: description: - Set band selection mode. + type: str choices: ['Dual band operation', '5 GHz band only', 'Dual band operation with Band Steering'] per_client_bandwidth_limit_up: description: - Maximum bandwidth in Mbps devices on SSID can upload. + type: int per_client_bandwidth_limit_down: description: - Maximum bandwidth in Mbps devices on SSID can download. + type: int concentrator_network_id: description: - The concentrator to use for 'Layer 3 roaming with a concentrator' or 'VPN'. + type: str author: - Kevin Breit (@kbreit) extends_documentation_fragment: meraki diff --git a/lib/ansible/modules/network/nxos/nxos_vpc.py b/lib/ansible/modules/network/nxos/nxos_vpc.py index 018c8d9ad4..517f9c9c46 100644 --- a/lib/ansible/modules/network/nxos/nxos_vpc.py +++ b/lib/ansible/modules/network/nxos/nxos_vpc.py @@ -73,7 +73,7 @@ options: delay_restore: description: - manages delay restore command and config value in seconds - type: bool + type: str state: description: - Manages desired state of the resource diff --git a/lib/ansible/modules/network/nxos/nxos_vrf.py b/lib/ansible/modules/network/nxos/nxos_vrf.py index c5c92ed504..e351fdd23f 100644 --- a/lib/ansible/modules/network/nxos/nxos_vrf.py +++ b/lib/ansible/modules/network/nxos/nxos_vrf.py @@ -461,15 +461,15 @@ def main(): """ main entry point for module execution """ element_spec = dict( - name=dict(aliases=['vrf']), - description=dict(), - vni=dict(type=str), - rd=dict(type=str), - admin_state=dict(default='up', choices=['up', 'down']), + name=dict(type='str', aliases=['vrf']), + description=dict(type='str'), + vni=dict(type='str'), + rd=dict(type='str'), + admin_state=dict(type='str', default='up', choices=['up', 'down']), interfaces=dict(type='list'), associated_interfaces=dict(type='list'), - delay=dict(default=10, type='int'), - state=dict(default='present', choices=['present', 'absent']) + delay=dict(type='int', default=10), + state=dict(type='str', default='present', choices=['present', 'absent']), ) aggregate_spec = deepcopy(element_spec) @@ -479,7 +479,7 @@ def main(): argument_spec = dict( aggregate=dict(type='list', elements='dict', options=aggregate_spec), - purge=dict(default=False, type='bool') + purge=dict(type='bool', default=False), ) argument_spec.update(element_spec) diff --git a/lib/ansible/modules/packaging/language/cpanm.py b/lib/ansible/modules/packaging/language/cpanm.py index 1d43e68457..18886d1a06 100644 --- a/lib/ansible/modules/packaging/language/cpanm.py +++ b/lib/ansible/modules/packaging/language/cpanm.py @@ -32,45 +32,43 @@ options: description: - Do not run unit tests type: bool - default: 'no' + default: no locallib: description: - Specify the install base to install modules - type: bool - default: 'no' + type: path mirror: description: - Specifies the base URL for the CPAN mirror to use - type: bool - default: 'no' + type: str mirror_only: description: - Use the mirror's index file instead of the CPAN Meta DB type: bool - default: 'no' + default: no installdeps: description: - Only install dependencies type: bool - default: 'no' + default: no version_added: "2.0" version: description: - minimum version of perl module to consider acceptable - type: bool - default: 'no' + type: str version_added: "2.1" system_lib: description: - Use this if you want to install modules to the system perl include path. You must be root or have "passwordless" sudo for this to work. - This uses the cpanm commandline option '--sudo', which has nothing to do with ansible privilege escalation. type: bool - default: 'no' - version_added: "2.0" + default: no aliases: ['use_sudo'] + version_added: "2.0" executable: description: - Override the path to the cpanm executable + type: path version_added: "2.1" notes: - Please note that U(http://search.cpan.org/dist/App-cpanminus/bin/cpanm, cpanm) must be installed on the remote host. diff --git a/lib/ansible/modules/packaging/os/installp.py b/lib/ansible/modules/packaging/os/installp.py index f9d6fb15df..316126ab8e 100644 --- a/lib/ansible/modules/packaging/os/installp.py +++ b/lib/ansible/modules/packaging/os/installp.py @@ -263,7 +263,7 @@ def main(): module = AnsibleModule( argument_spec=dict( name=dict(type='list', required=True, aliases=['pkg']), - repository_path=dict(type='str'), + repository_path=dict(type='path'), accept_license=dict(type='bool', default=False), state=dict(type='str', default='present', choices=['absent', 'present']), ), diff --git a/lib/ansible/modules/packaging/os/rhn_register.py b/lib/ansible/modules/packaging/os/rhn_register.py index 6907590fa3..0a4b5caa19 100644 --- a/lib/ansible/modules/packaging/os/rhn_register.py +++ b/lib/ansible/modules/packaging/os/rhn_register.py @@ -13,14 +13,15 @@ ANSIBLE_METADATA = {'metadata_version': '1.1', 'supported_by': 'community'} -DOCUMENTATION = ''' +DOCUMENTATION = r''' --- module: rhn_register short_description: Manage Red Hat Network registration using the C(rhnreg_ks) command description: - Manage registration to the Red Hat Network. version_added: "1.2" -author: James Laska (@jlaska) +author: +- James Laska (@jlaska) notes: - This is for older Red Hat products. You probably want the M(redhat_subscription) module instead. - In order to register a system, rhnreg_ks requires either a username and password, or an activationkey. @@ -31,86 +32,93 @@ options: state: description: - whether to register (C(present)), or unregister (C(absent)) a system - choices: [ "present", "absent" ] - default: "present" + type: str + choices: [ absent, present ] + default: present username: description: - Red Hat Network username + type: str password: description: - Red Hat Network password + type: str server_url: description: - Specify an alternative Red Hat Network server URL - default: Current value of I(serverURL) from C(/etc/sysconfig/rhn/up2date) is the default + - The default is the current value of I(serverURL) from C(/etc/sysconfig/rhn/up2date). + type: str activationkey: description: - supply an activation key for use with registration + type: str profilename: description: - supply an profilename for use with registration + type: str version_added: "2.0" sslcacert: description: - supply a custom ssl CA certificate file for use with registration + type: str version_added: "2.1" systemorgid: description: - supply an organizational id for use with registration + type: str version_added: "2.1" channels: description: - - Optionally specify a list of comma-separated channels to subscribe to upon successful registration. + - Optionally specify a list of channels to subscribe to upon successful registration. + type: list default: [] enable_eus: description: - If C(no), extended update support will be requested. type: bool - default: 'no' + default: no nopackages: description: - If C(yes), the registered node will not upload its installed packages information to Satellite server type: bool - default: 'no' + default: no version_added: "2.5" ''' -EXAMPLES = ''' -# Unregister system from RHN. -- rhn_register: +EXAMPLES = r''' +- name: Unregister system from RHN + rhn_register: state: absent username: joe_user password: somepass -# Register as user (joe_user) with password (somepass) and auto-subscribe to available content. -- rhn_register: +- name: Register as user with password and auto-subscribe to available content + rhn_register: state: present username: joe_user password: somepass -# Register with activationkey (1-222333444) and enable extended update support. -- rhn_register: +- name: Register with activationkey and enable extended update support + rhn_register: state: present activationkey: 1-222333444 enable_eus: true -# Register with activationkey (1-222333444) and set a profilename which may differ from the hostname. -- rhn_register: +- name: Register with activationkey and set a profilename which may differ from the hostname + rhn_register: state: present activationkey: 1-222333444 profilename: host.example.com.custom -# Register as user (joe_user) with password (somepass) against a satellite -# server specified by (server_url). -- rhn_register: +- name: Register as user with password against a satellite server + rhn_register: state: present username: joe_user password: somepass' server_url: https://xmlrpc.my.satellite/XMLRPC -# Register as user (joe_user) with password (somepass) and enable -# channels (rhel-x86_64-server-6-foo-1) and (rhel-x86_64-server-6-bar-1). -- rhn_register: +- name: Register as user with password and enable channels + rhn_register: state: present username: joe_user password: somepass @@ -338,24 +346,24 @@ def main(): module = AnsibleModule( argument_spec=dict( - state=dict(default='present', choices=['present', 'absent']), - username=dict(default=None, required=False), - password=dict(default=None, required=False, no_log=True), - server_url=dict(default=None, required=False), - activationkey=dict(default=None, required=False, no_log=True), - profilename=dict(default=None, required=False), - sslcacert=dict(default=None, required=False, type='path'), - systemorgid=dict(default=None, required=False), - enable_eus=dict(default=False, type='bool'), - nopackages=dict(default=False, type='bool'), - channels=dict(default=[], type='list'), + state=dict(type='str', default='present', choices=['absent', 'present']), + username=dict(type='str'), + password=dict(type='str', no_log=True), + server_url=dict(type='str'), + activationkey=dict(type='str', no_log=True), + profilename=dict(type='str'), + sslcacert=dict(type='path'), + systemorgid=dict(type='str'), + enable_eus=dict(type='bool', default=False), + nopackages=dict(type='bool', default=False), + channels=dict(type='list', default=[]), ), # username/password is required for state=absent, or if channels is not empty # (basically anything that uses self.api requires username/password) but it doesnt # look like we can express that with required_if/required_together/mutually_exclusive # only username+password can be used for unregister - required_if=[['state', 'absent', ['username', 'password']]] + required_if=[['state', 'absent', ['username', 'password']]], ) if not HAS_UP2DATE_CLIENT: diff --git a/lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py b/lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py index e64adec39a..a91d9fc9bf 100644 --- a/lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py +++ b/lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py @@ -334,19 +334,19 @@ def _configure_virtual_drive(module, mo): def _virtual_drive_argument_spec(): return dict( - access_policy=dict(type=str, default='platform-default', + access_policy=dict(type='str', default='platform-default', choices=["blocked", "hidden", "platform-default", "read-only", "read-write", "transport-ready"]), - drive_cache=dict(type=str, default='platform-default', + drive_cache=dict(type='str', default='platform-default', choices=["disable", "enable", "no-change", "platform-default"]), - io_policy=dict(type=str, default='platform-default', + io_policy=dict(type='str', default='platform-default', choices=["cached", "direct", "platform-default"]), - read_policy=dict(type=str, default='platform-default', + read_policy=dict(type='str', default='platform-default', choices=["normal", "platform-default", "read-ahead"]), - strip_size=dict(type=str, default='platform-default', + strip_size=dict(type='str', default='platform-default', choices=["1024KB", "128KB", "16KB", "256KB", "32KB", "512KB", "64KB", "8KB", "platform-default"]), - write_cache_policy=dict(type=str, default='platform-default', + write_cache_policy=dict(type='str', default='platform-default', choices=["always-write-back", "platform-default", "write-back-good-bbu", "write-through"]), ) diff --git a/lib/ansible/modules/storage/netapp/na_elementsw_cluster.py b/lib/ansible/modules/storage/netapp/na_elementsw_cluster.py index 0b7454e81f..7176669062 100644 --- a/lib/ansible/modules/storage/netapp/na_elementsw_cluster.py +++ b/lib/ansible/modules/storage/netapp/na_elementsw_cluster.py @@ -114,20 +114,20 @@ class ElementSWCluster(object): def __init__(self): self.argument_spec = netapp_utils.ontap_sf_host_argument_spec() - self.argument_spec.update(dict( - management_virtual_ip=dict(required=True, type='str'), - storage_virtual_ip=dict(required=True, type='str'), - replica_count=dict(required=False, type='str', default='2'), - cluster_admin_username=dict(required=False, type='str'), - cluster_admin_password=dict(required=False, type='str', no_log=True), - accept_eula=dict(required=True, type='bool'), - nodes=dict(required=False, type=list, default=None), - attributes=dict(required=False, type=list, default=None) - )) + self.argument_spec.update( + management_virtual_ip=dict(type='str', required=True), + storage_virtual_ip=dict(type='str', required=True), + replica_count=dict(type='str', default='2'), + cluster_admin_username=dict(type='str'), + cluster_admin_password=dict(type='str', no_log=True), + accept_eula=dict(type='bool', required=True), + nodes=dict(type='list'), + attributes=dict(type='list'), + ) self.module = AnsibleModule( argument_spec=self.argument_spec, - supports_check_mode=True + supports_check_mode=True, ) input_params = self.module.params diff --git a/lib/ansible/modules/storage/netapp/na_elementsw_ldap.py b/lib/ansible/modules/storage/netapp/na_elementsw_ldap.py index a5dbb7a00a..58b87b7da8 100644 --- a/lib/ansible/modules/storage/netapp/na_elementsw_ldap.py +++ b/lib/ansible/modules/storage/netapp/na_elementsw_ldap.py @@ -116,23 +116,23 @@ class NetappElementLdap(object): def __init__(self): self.argument_spec = netapp_utils.ontap_sf_host_argument_spec() - self.argument_spec.update(dict( - state=dict(required=True, choices=['present', 'absent']), - authType=dict(required=False, choices=['DirectBind', 'SearchAndBind']), - groupSearchBaseDn=dict(required=False, type=str), - groupSearchType=dict(required=False, choices=['NoGroup', 'ActiveDirectory', 'MemberDN']), - serverURIs=dict(required=False, type=str), - userSearchBaseDN=dict(required=False, type=str), - searchBindDN=dict(required=False, type=str), - searchBindPassword=dict(required=False, type=str, no_log=True), - userSearchFilter=dict(required=False, type=str), - userDNTemplate=dict(required=False, type=str), - groupSearchCustomFilter=dict(required=False, type=str) - )) + self.argument_spec.update( + state=dict(type='str', required=True, choices=['absent', 'present']), + authType=dict(type='str', choices=['DirectBind', 'SearchAndBind']), + groupSearchBaseDn=dict(type='str'), + groupSearchType=dict(type='str', choices=['NoGroup', 'ActiveDirectory', 'MemberDN']), + serverURIs=dict(type='str'), + userSearchBaseDN=dict(type='str'), + searchBindDN=dict(type='str'), + searchBindPassword=dict(type='str', no_log=True), + userSearchFilter=dict(type='str'), + userDNTemplate=dict(type='str'), + groupSearchCustomFilter=dict(type='str'), + ) self.module = AnsibleModule( argument_spec=self.argument_spec, - supports_check_mode=True + supports_check_mode=True, ) param = self.module.params diff --git a/lib/ansible/modules/storage/netapp/na_elementsw_network_interfaces.py b/lib/ansible/modules/storage/netapp/na_elementsw_network_interfaces.py index 92ea50a12b..e855e1e160 100644 --- a/lib/ansible/modules/storage/netapp/na_elementsw_network_interfaces.py +++ b/lib/ansible/modules/storage/netapp/na_elementsw_network_interfaces.py @@ -176,28 +176,28 @@ class ElementSWNetworkInterfaces(object): def __init__(self): self.argument_spec = netapp_utils.ontap_sf_host_argument_spec() - self.argument_spec.update(dict( - method=dict(required=True, type='str', choices=['loopback', 'manual', 'dhcp', 'static']), - ip_address_1g=dict(required=True, type='str'), - ip_address_10g=dict(required=True, type='str'), - subnet_1g=dict(required=True, type='str'), - subnet_10g=dict(required=True, type='str'), - gateway_address_1g=dict(required=True, type='str'), - gateway_address_10g=dict(required=True, type='str'), - mtu_1g=dict(required=False, type='str', default='1500'), - mtu_10g=dict(required=False, type='str', default='1500'), - dns_nameservers=dict(required=False, type=list), - dns_search_domains=dict(required=False, type=list), - bond_mode_1g=dict(required=False, type='str', choices=['ActivePassive', 'ALB', 'LACP'], default='ActivePassive'), - bond_mode_10g=dict(required=False, type='str', choices=['ActivePassive', 'ALB', 'LACP'], default='ActivePassive'), - lacp_1g=dict(required=False, type='str', choices=['Fast', 'Slow'], default='Slow'), - lacp_10g=dict(required=False, type='str', choices=['Fast', 'Slow'], default='Slow'), - virtual_network_tag=dict(required=False, type='str') - )) + self.argument_spec.update( + method=dict(type='str', required=True, choices=['loopback', 'manual', 'dhcp', 'static']), + ip_address_1g=dict(type='str', required=True), + ip_address_10g=dict(type='str', required=True), + subnet_1g=dict(type='str', required=True), + subnet_10g=dict(type='str', required=True), + gateway_address_1g=dict(type='str', required=True), + gateway_address_10g=dict(type='str', required=True), + mtu_1g=dict(type='str', default='1500'), + mtu_10g=dict(type='str', default='1500'), + dns_nameservers=dict(type='list'), + dns_search_domains=dict(type='list'), + bond_mode_1g=dict(type='str', default='ActivePassive', choices=['ActivePassive', 'ALB', 'LACP']), + bond_mode_10g=dict(type='str', default='ActivePassive', choices=['ActivePassive', 'ALB', 'LACP']), + lacp_1g=dict(type='str', default='Slow', choices=['Fast', 'Slow']), + lacp_10g=dict(type='str', default='Slow', choices=['Fast', 'Slow']), + virtual_network_tag=dict(type='str'), + ) self.module = AnsibleModule( argument_spec=self.argument_spec, - supports_check_mode=True + supports_check_mode=True, ) input_params = self.module.params diff --git a/lib/ansible/modules/storage/netapp/na_ontap_interface.py b/lib/ansible/modules/storage/netapp/na_ontap_interface.py index 94668c47ef..2ae6a01720 100644 --- a/lib/ansible/modules/storage/netapp/na_ontap_interface.py +++ b/lib/ansible/modules/storage/netapp/na_ontap_interface.py @@ -155,27 +155,26 @@ class NetAppOntapInterface(object): def __init__(self): self.argument_spec = netapp_utils.na_ontap_host_argument_spec() - self.argument_spec.update(dict( - state=dict(required=False, choices=[ - 'present', 'absent'], default='present'), - interface_name=dict(required=True, type='str'), - home_node=dict(required=False, type='str', default=None), - home_port=dict(required=False, type='str'), - role=dict(required=False, type='str'), - address=dict(required=False, type='str'), - netmask=dict(required=False, type='str'), - vserver=dict(required=True, type='str'), - firewall_policy=dict(required=False, type='str', default=None), - failover_policy=dict(required=False, type='str', default=None), - admin_status=dict(required=False, choices=['up', 'down']), - subnet_name=dict(required=False, type='str'), - is_auto_revert=dict(required=False, type=bool, default=None), - protocols=dict(required=False, type='list') - )) + self.argument_spec.update( + state=dict(type='str', default='present', choices=['absent', 'present']), + interface_name=dict(type='str', required=True), + home_node=dict(type='str'), + home_port=dict(type='str'), + role=dict(type='str'), + address=dict(type='str'), + netmask=dict(type='str'), + vserver=dict(type='str', required=True), + firewall_policy=dict(type='str'), + failover_policy=dict(type='str'), + admin_status=dict(type='str', choices=['up', 'down']), + subnet_name=dict(type='str'), + is_auto_revert=dict(type='bool'), + protocols=dict(type='list'), + ) self.module = AnsibleModule( argument_spec=self.argument_spec, - supports_check_mode=True + supports_check_mode=True, ) self.na_helper = NetAppModule() self.parameters = self.na_helper.set_parameters(self.module.params) diff --git a/lib/ansible/modules/storage/zfs/zfs_delegate_admin.py b/lib/ansible/modules/storage/zfs/zfs_delegate_admin.py index f407d235e7..31f8032376 100644 --- a/lib/ansible/modules/storage/zfs/zfs_delegate_admin.py +++ b/lib/ansible/modules/storage/zfs/zfs_delegate_admin.py @@ -54,7 +54,7 @@ options: permissions: description: - The list of permission(s) to delegate (required if C(state) is C(present)). - type: str + type: list choices: [ allow, clone, create, destroy, mount, promote, readonly, receive, rename, rollback, send, share, snapshot, unallow ] local: description: diff --git a/lib/ansible/modules/system/aix_devices.py b/lib/ansible/modules/system/aix_devices.py index 0171effb72..f89c8005b5 100644 --- a/lib/ansible/modules/system/aix_devices.py +++ b/lib/ansible/modules/system/aix_devices.py @@ -26,7 +26,7 @@ options: attributes: description: - A list of device attributes. - type: list + type: dict device: description: - The name of the device. diff --git a/lib/ansible/modules/system/aix_filesystem.py b/lib/ansible/modules/system/aix_filesystem.py index 2f86029cee..e287e459f5 100644 --- a/lib/ansible/modules/system/aix_filesystem.py +++ b/lib/ansible/modules/system/aix_filesystem.py @@ -33,7 +33,7 @@ options: attributes: description: - Specifies attributes for files system separated by comma. - type: str + type: list default: agblksize='4096',isnapshot='no' auto_mount: description: diff --git a/lib/ansible/modules/system/aix_lvol.py b/lib/ansible/modules/system/aix_lvol.py index 7f47f17c35..f8494798d8 100644 --- a/lib/ansible/modules/system/aix_lvol.py +++ b/lib/ansible/modules/system/aix_lvol.py @@ -216,7 +216,7 @@ def main(): lv_type=dict(type='str', default='jfs2'), size=dict(type='str'), opts=dict(type='str', default=''), - copies=dict(type='str', default=1), + copies=dict(type='int', default=1), state=dict(type='str', default='present', choices=['absent', 'present']), policy=dict(type='str', default='maximum', choices=['maximum', 'minimum']), pvs=dict(type='list', default=list()) diff --git a/lib/ansible/modules/system/authorized_key.py b/lib/ansible/modules/system/authorized_key.py index 09d7c53249..df81627326 100644 --- a/lib/ansible/modules/system/authorized_key.py +++ b/lib/ansible/modules/system/authorized_key.py @@ -662,7 +662,7 @@ def main(): argument_spec=dict( user=dict(type='str', required=True), key=dict(type='str', required=True), - path=dict(type='str'), + path=dict(type='path'), manage_dir=dict(type='bool', default=True), state=dict(type='str', default='present', choices=['absent', 'present']), key_options=dict(type='str'), diff --git a/lib/ansible/modules/system/group.py b/lib/ansible/modules/system/group.py index bf0dfabfe9..923af4778a 100644 --- a/lib/ansible/modules/system/group.py +++ b/lib/ansible/modules/system/group.py @@ -443,7 +443,7 @@ def main(): argument_spec=dict( state=dict(type='str', default='present', choices=['absent', 'present']), name=dict(type='str', required=True), - gid=dict(type='str'), + gid=dict(type='int'), system=dict(type='bool', default=False), local=dict(type='bool', default=False) ), diff --git a/lib/ansible/modules/system/lvg.py b/lib/ansible/modules/system/lvg.py index abd8039656..994a402f16 100644 --- a/lib/ansible/modules/system/lvg.py +++ b/lib/ansible/modules/system/lvg.py @@ -37,7 +37,7 @@ options: description: - The size of the physical extent. pesize must be a power of 2, or multiple of 128KiB. - Since Ansible 2.6, pesize can be optionally suffixed by a UNIT (k/K/m/M/g/G), default unit is megabyte. - type: int + type: str default: 4 pv_options: description: diff --git a/lib/ansible/modules/system/svc.py b/lib/ansible/modules/system/svc.py index 813916b654..fad4ca2b29 100644 --- a/lib/ansible/modules/system/svc.py +++ b/lib/ansible/modules/system/svc.py @@ -50,12 +50,12 @@ options: service_dir: description: - Directory svscan watches for services - type: path + type: str default: /service service_src: description: - Directory where services are defined, the source of symlinks to service_dir. - type: path + type: str default: /etc/service ''' diff --git a/lib/ansible/modules/system/systemd.py b/lib/ansible/modules/system/systemd.py index f820c462af..87dd0a9e9b 100644 --- a/lib/ansible/modules/system/systemd.py +++ b/lib/ansible/modules/system/systemd.py @@ -47,13 +47,13 @@ options: - Run daemon-reload before doing any other operations, to make sure systemd has read any changes. - When set to C(yes), runs daemon-reload even if the module does not start or stop anything. type: bool - default: 'no' + default: no aliases: [ daemon-reload ] daemon_reexec: description: - Run daemon_reexec command before doing any other operations, the systemd manager will serialize the manager state. type: bool - default: 'no' + default: no aliases: [ daemon-reexec ] version_added: "2.8" user: @@ -62,7 +62,7 @@ options: of the system. - This option is deprecated and will eventually be removed in 2.11. The ``scope`` option should be used instead. type: bool - default: 'no' + default: no scope: description: - run systemctl within a given service manager scope, either as the default system scope (system), @@ -71,14 +71,13 @@ options: The user dbus process is normally started during normal login, but not during the run of Ansible tasks. Otherwise you will probably get a 'Failed to connect to bus: no such file or directory' error." choices: [ system, user, global ] - default: 'system' version_added: "2.7" no_block: description: - Do not synchronously wait for the requested operation to finish. Enqueued job will continue without Ansible blocking on its completion. type: bool - default: 'no' + default: no version_added: "2.3" notes: - Since 2.4, one of the following options is required 'state', 'enabled', 'masked', 'daemon_reload', and all except 'daemon_reload' also require 'name'. diff --git a/lib/ansible/modules/system/user.py b/lib/ansible/modules/system/user.py index e2f7d0e269..eb54b80374 100644 --- a/lib/ansible/modules/system/user.py +++ b/lib/ansible/modules/system/user.py @@ -2597,7 +2597,7 @@ def main(): argument_spec=dict( state=dict(type='str', default='present', choices=['absent', 'present']), name=dict(type='str', required=True, aliases=['user']), - uid=dict(type='str'), + uid=dict(type='int'), non_unique=dict(type='bool', default=False), group=dict(type='str'), groups=dict(type='list'), diff --git a/lib/ansible/modules/web_infrastructure/sophos_utm/utm_aaa_group.py b/lib/ansible/modules/web_infrastructure/sophos_utm/utm_aaa_group.py index 881f035b6a..129da1d094 100644 --- a/lib/ansible/modules/web_infrastructure/sophos_utm/utm_aaa_group.py +++ b/lib/ansible/modules/web_infrastructure/sophos_utm/utm_aaa_group.py @@ -31,6 +31,7 @@ options: name: description: - The name of the object. Will be used to identify the entry. + type: str required: true adirectory_groups: description: @@ -39,11 +40,11 @@ options: adirectory_groups_sids: description: - Dictionary of group sids. - type: list + type: dict backend_match: description: - The backend for the group. - default: none + type: str choices: - none - adirectory @@ -51,15 +52,16 @@ options: - radius - tacacs - ldap + default: none comment: description: - Comment that describes the AAA group. - default: '' type: str - required: false + default: '' dynamic: description: - Group type. Is static if none is selected. + type: str default: none choices: - none @@ -84,18 +86,22 @@ options: members: description: - A list of user ref names (aaa/user). + type: list default: [] network: description: - The network reference name. The objects contains the known ip addresses for the authentication object (network/aaa). + type: str default: "" radius_groups: description: - A list of radius group strings. + type: list default: [] tacacs_groups: description: - A list of tacacs group strings. + type: list default: [] extends_documentation_fragment: diff --git a/lib/ansible/plugins/doc_fragments/ce.py b/lib/ansible/plugins/doc_fragments/ce.py index 7a5f006ae8..9be12a90b8 100644 --- a/lib/ansible/plugins/doc_fragments/ce.py +++ b/lib/ansible/plugins/doc_fragments/ce.py @@ -62,6 +62,7 @@ options: remote device. The transport argument supports connectivity to the device over cli (ssh). required: true + choices: [ cli, netconf ] default: cli """ diff --git a/lib/ansible/plugins/doc_fragments/meraki.py b/lib/ansible/plugins/doc_fragments/meraki.py index 2b666331e9..3a817e3dd6 100644 --- a/lib/ansible/plugins/doc_fragments/meraki.py +++ b/lib/ansible/plugins/doc_fragments/meraki.py @@ -13,14 +13,14 @@ notes: options: auth_key: description: - - Authentication key provided by the dashboard. Required if environmental variable MERAKI_KEY is not set. + - Authentication key provided by the dashboard. Required if environmental variable C(MERAKI_KEY) is not set. type: str host: description: - Hostname for Meraki dashboard. - Only useful for internal Meraki developers. type: str - default: 'api.meraki.com' + default: api.meraki.com use_proxy: description: - If C(no), it will not use a proxy, even if one is defined in an environment variable on the target hosts. @@ -33,7 +33,7 @@ options: default: yes output_level: description: - - Set amount of debug output during module execution + - Set amount of debug output during module execution. type: str choices: [ debug, normal ] default: normal diff --git a/lib/ansible/plugins/doc_fragments/nxos.py b/lib/ansible/plugins/doc_fragments/nxos.py index 994d5a6ccf..c6b747d718 100644 --- a/lib/ansible/plugins/doc_fragments/nxos.py +++ b/lib/ansible/plugins/doc_fragments/nxos.py @@ -90,6 +90,7 @@ options: device over cli (ssh) or nxapi. type: str required: true + choices: [ cli, nxapi ] default: cli use_ssl: description: diff --git a/test/sanity/validate-modules/ignore.txt b/test/sanity/validate-modules/ignore.txt index 1f1e9b7f80..a7964c10a4 100644 --- a/test/sanity/validate-modules/ignore.txt +++ b/test/sanity/validate-modules/ignore.txt @@ -4,7 +4,6 @@ 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_direct_connect_gateway.py E322 lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py E324 @@ -30,7 +29,6 @@ lib/ansible/modules/cloud/amazon/ec2_eip.py E322 lib/ansible/modules/cloud/amazon/ec2_eip.py E324 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_lb.py E324 lib/ansible/modules/cloud/amazon/ec2_group.py E322 lib/ansible/modules/cloud/amazon/ec2_instance.py E324 lib/ansible/modules/cloud/amazon/ec2_lc.py E322 @@ -720,7 +718,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/cpanm.py E324 lib/ansible/modules/packaging/language/easy_install.py E324 lib/ansible/modules/packaging/language/maven_artifact.py E324 lib/ansible/modules/packaging/language/pear.py E322 @@ -762,7 +759,6 @@ lib/ansible/modules/packaging/os/pulp_repo.py E322 lib/ansible/modules/packaging/os/pulp_repo.py E324 lib/ansible/modules/packaging/os/rhn_channel.py E322 lib/ansible/modules/packaging/os/rhn_channel.py E326 -lib/ansible/modules/packaging/os/rhn_register.py E324 lib/ansible/modules/packaging/os/rhsm_repository.py E324 lib/ansible/modules/packaging/os/slackpkg.py E322 lib/ansible/modules/packaging/os/slackpkg.py E324 @@ -885,7 +881,6 @@ lib/ansible/modules/system/selinux_permissive.py E322 lib/ansible/modules/system/seport.py E324 lib/ansible/modules/system/service.py E323 lib/ansible/modules/system/service.py E210 -lib/ansible/modules/system/systemd.py E324 lib/ansible/modules/system/solaris_zone.py E324 lib/ansible/modules/system/ufw.py E322 lib/ansible/modules/system/ufw.py E326