Fixup elements related sanity failures

Change-Id: I6f2bba929af5a148a1f52df26916e00efcc14a07
This commit is contained in:
Mark Chappell 2020-03-16 15:49:49 +01:00
parent 63e444a324
commit e39c5d0a9a
11 changed files with 92 additions and 22 deletions

View File

@ -25,6 +25,7 @@ options:
required: false
default: []
type: list
elements: str
requirements: [ os-client-config ]
author: "Monty Taylor (@emonty)"
'''
@ -55,7 +56,7 @@ from ansible.module_utils.basic import AnsibleModule
def main():
module = AnsibleModule(argument_spec=dict(
clouds=dict(required=False, type='list', default=[]),
clouds=dict(required=False, type='list', default=[], elements='str'),
))
if not HAS_OS_CLIENT_CONFIG:

View File

@ -77,6 +77,12 @@ options:
- 'A list of network interface cards, eg, " - mac: aa:bb:cc:aa:bb:cc"'
required: true
type: list
elements: dict
suboptions:
mac:
description: The MAC address of the network interface card.
type: str
required: true
properties:
description:
- Definition of the physical characteristics of this server, used for scheduling purposes
@ -229,7 +235,7 @@ def main():
name=dict(required=False),
driver=dict(required=False),
driver_info=dict(type='dict', required=True),
nics=dict(type='list', required=True),
nics=dict(type='list', required=True, elements="dict"),
properties=dict(type='dict', default={}),
ironic_url=dict(required=False),
chassis_uuid=dict(required=False),

View File

@ -117,6 +117,7 @@ options:
description:
- The name or ID of the subnet the member service is
accessible from.
elements: dict
type: list
wait:
description:
@ -336,7 +337,7 @@ def main():
vip_subnet=dict(required=False),
vip_port=dict(required=False),
vip_address=dict(required=False),
listeners=dict(type='list', default=[]),
listeners=dict(type='list', default=[], elements='dict'),
public_ip_address=dict(required=False, default=None),
auto_public_ip=dict(required=False, default=False, type='bool'),
public_network=dict(required=False),

View File

@ -32,6 +32,15 @@ options:
- Desired IP and/or subnet for this port. Subnet is referenced by
subnet_id and IP is referenced by ip_address.
type: list
elements: dict
suboptions:
ip_address:
description: The fixed IP address to attempt to allocate.
required: true
type: str
subnet_id:
description: The subnet to attach the IP address to.
type: str
admin_state_up:
description:
- Sets admin state.
@ -45,6 +54,7 @@ options:
- Security group(s) ID(s) or name(s) associated with the port (comma
separated string or YAML list)
type: list
elements: str
no_security_groups:
description:
- Do not associate a security group with this port.
@ -59,6 +69,14 @@ options:
mac_address: ab:cd:ef:12:34:56
- ip_address: ..."
type: list
elements: dict
suboptions:
ip_address:
description: The IP address.
type: str
mac_address:
description: The MAC address.
type: str
extra_dhcp_opts:
description:
- "Extra dhcp options to be assigned to this port. Extra options are
@ -70,6 +88,20 @@ options:
ip_version: 4
- opt_name: ..."
type: list
elements: dict
suboptions:
opt_name:
description: The name of the DHCP option to set.
type: str
required: true
opt_value:
description: The value of the DHCP option to set.
type: str
required: true
ip_version:
description: The IP version this DHCP option is for.
type: int
required: true
device_owner:
description:
- The ID of the entity that uses this port.
@ -354,13 +386,13 @@ def main():
argument_spec = openstack_full_argument_spec(
network=dict(required=False),
name=dict(required=False),
fixed_ips=dict(type='list', default=None),
fixed_ips=dict(type='list', default=None, elements='dict'),
admin_state_up=dict(type='bool', default=None),
mac_address=dict(default=None),
security_groups=dict(default=None, type='list'),
security_groups=dict(default=None, type='list', elements='str'),
no_security_groups=dict(default=False, type='bool'),
allowed_address_pairs=dict(type='list', default=None),
extra_dhcp_opts=dict(type='list', default=None),
allowed_address_pairs=dict(type='list', default=None, elements='dict'),
extra_dhcp_opts=dict(type='list', default=None, elements='dict'),
device_owner=dict(default=None),
device_id=dict(default=None),
state=dict(default='present', choices=['absent', 'present']),

View File

@ -38,6 +38,7 @@ options:
- List of recordset definitions.
- Required when I(state=present).
type: list
elements: str
description:
description:
- Description of the recordset
@ -150,7 +151,7 @@ def main():
zone=dict(required=True),
name=dict(required=True),
recordset_type=dict(required=False),
records=dict(required=False, type='list'),
records=dict(required=False, type='list', elements='str'),
description=dict(required=False, default=None),
ttl=dict(required=False, default=None, type='int'),
state=dict(default='present', choices=['absent', 'present']),

View File

@ -55,6 +55,15 @@ options:
address to assign on the subnet (ip). If no IP is specified,
one is automatically assigned from that subnet.
type: list
elements: dict
suboptions:
ip:
description: The fixed IP address to attempt to allocate.
required: true
type: str
subnet:
description: The subnet to attach the IP address to.
type: str
interfaces:
description:
- List of subnets to attach to the router internal interface. Default
@ -62,12 +71,13 @@ options:
with the router's internal interface.
In order to provide an ip address different from the default
gateway,parameters are passed as dictionary with keys as network
name or ID(net), subnet name or ID (subnet) and the IP of
port (portip) from the network.
name or ID (I(net)), subnet name or ID (I(subnet)) and the IP of
port (I(portip)) from the network.
User defined portip is often required when a multiple router need
to be connected to a single subnet for which the default gateway has
been already used.
type: list
elements: raw
requirements:
- "python >= 3.6"
- "openstacksdk"
@ -377,8 +387,8 @@ def main():
admin_state_up=dict(type='bool', default=True),
enable_snat=dict(type='bool'),
network=dict(default=None),
interfaces=dict(type='list', default=None),
external_fixed_ips=dict(type='list', default=None),
interfaces=dict(type='list', default=None, elements='raw'),
external_fixed_ips=dict(type='list', default=None, elements='dict'),
project=dict(default=None)
)

View File

@ -72,6 +72,7 @@ options:
added. This may be a YAML list or a comma separated string.
type: list
default: ['default']
elements: str
network:
description:
- Name or ID of a network to attach this instance to. A simpler
@ -87,6 +88,7 @@ options:
Eg: nics: "net-id=uuid-1,port-name=myport"
Only one of network or nics should be supplied.'
type: list
elements: raw
suboptions:
tag:
description:
@ -102,10 +104,12 @@ options:
description:
- list of valid floating IPs that pre-exist to assign to this node
type: list
elements: str
floating_ip_pools:
description:
- Name of floating IP pool from which to choose a floating IP
type: list
elements: str
meta:
description:
- 'A list of key value pairs that should be provided as a metadata to
@ -160,6 +164,7 @@ options:
- A list of preexisting volumes names or ids to attach to the instance
default: []
type: list
elements: str
scheduler_hints:
description:
- Arbitrary key/value pairs to the scheduler for custom use
@ -628,20 +633,20 @@ class ServerModule(OpenStackModule):
flavor_ram=dict(default=None, type='int'),
flavor_include=dict(default=None),
key_name=dict(default=None),
security_groups=dict(default=['default'], type='list'),
security_groups=dict(default=['default'], type='list', elements='str'),
network=dict(default=None),
nics=dict(default=[], type='list'),
nics=dict(default=[], type='list', elements='raw'),
meta=dict(default=None, type='raw'),
userdata=dict(default=None, aliases=['user_data']),
config_drive=dict(default=False, type='bool'),
auto_ip=dict(default=True, type='bool', aliases=['auto_floating_ip', 'public_ip']),
floating_ips=dict(default=None, type='list'),
floating_ip_pools=dict(default=None, type='list'),
floating_ips=dict(default=None, type='list', elements='str'),
floating_ip_pools=dict(default=None, type='list', elements='str'),
volume_size=dict(default=None, type='int'),
boot_from_volume=dict(default=False, type='bool'),
boot_volume=dict(default=None, aliases=['root_volume']),
terminate_volume=dict(default=False, type='bool'),
volumes=dict(default=[], type='list'),
volumes=dict(default=[], type='list', elements='str'),
scheduler_hints=dict(default=None, type='dict'),
state=dict(default='present', choices=['absent', 'present']),
delete_fip=dict(default=False, type='bool'),

View File

@ -38,6 +38,7 @@ options:
and soft-affinity.
required: false
type: list
elements: str
requirements:
- "python >= 3.6"
- "openstacksdk"
@ -119,7 +120,7 @@ def _system_state_change(state, server_group):
def main():
argument_spec = openstack_full_argument_spec(
name=dict(required=True),
policies=dict(required=False, type='list'),
policies=dict(required=False, type='list', elements='str'),
state=dict(default='present', choices=['absent', 'present']),
)
module_kwargs = openstack_module_kwargs()

View File

@ -44,6 +44,7 @@ options:
description:
- List of environment files that should be used for the stack creation
type: list
elements: str
parameters:
description:
- Dictionary of parameters for the stack creation
@ -221,7 +222,7 @@ def main():
name=dict(required=True),
tag=dict(required=False, default=None),
template=dict(default=None),
environment=dict(default=None, type='list'),
environment=dict(default=None, type='list', elements='str'),
parameters=dict(default={}, type='dict'),
rollback=dict(default=False, type='bool'),
timeout=dict(default=3600, type='int'),

View File

@ -66,6 +66,7 @@ options:
description:
- List of DNS nameservers for this subnet.
type: list
elements: str
allocation_pool_start:
description:
- From the subnet pool the starting address from which the IP should
@ -80,6 +81,16 @@ options:
description:
- A list of host route dictionaries for the subnet.
type: list
elements: dict
suboptions:
destination:
description: The destination network (CIDR).
type: str
required: true
nexthop:
description: The next hop (aka gateway) for the I(destination).
type: str
required: true
ipv6_ra_mode:
description:
- IPv6 router advertisement mode
@ -239,10 +250,10 @@ def main():
enable_dhcp=dict(type='bool', default=True),
gateway_ip=dict(type='str'),
no_gateway_ip=dict(type='bool', default=False),
dns_nameservers=dict(type='list', default=None),
dns_nameservers=dict(type='list', default=None, elements='str'),
allocation_pool_start=dict(type='str'),
allocation_pool_end=dict(type='str'),
host_routes=dict(type='list', default=None),
host_routes=dict(type='list', default=None, elements='dict'),
ipv6_ra_mode=dict(type='str', choices=ipv6_mode_choices),
ipv6_address_mode=dict(type='str', choices=ipv6_mode_choices),
use_default_subnetpool=dict(type='bool', default=False),

View File

@ -44,6 +44,7 @@ options:
description:
- Master nameservers (only applies if zone_type is secondary)
type: list
elements: str
state:
description:
- Should the resource be present or absent.
@ -168,7 +169,7 @@ def main():
email=dict(required=False, default=None),
description=dict(required=False, default=None),
ttl=dict(required=False, default=None, type='int'),
masters=dict(required=False, default=None, type='list'),
masters=dict(required=False, default=None, type='list', elements='str'),
state=dict(default='present', choices=['absent', 'present']),
)