From 1849f8bd4750f1d5f40b95811a934b1547a1bde4 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Mon, 16 Mar 2020 12:38:42 +0100 Subject: [PATCH] Add missing type information to docs Change-Id: Iac23d54512b23f031460d1b7281ccb8d93e20cad --- plugins/modules/os_client_config.py | 1 + plugins/modules/os_coe_cluster.py | 20 ++++- plugins/modules/os_coe_cluster_template.py | 28 ++++++- plugins/modules/os_flavor_info.py | 11 ++- plugins/modules/os_floating_ip.py | 7 ++ plugins/modules/os_group.py | 4 + plugins/modules/os_image.py | 14 ++++ plugins/modules/os_image_info.py | 1 + plugins/modules/os_ironic.py | 9 ++ plugins/modules/os_ironic_inspect.py | 5 ++ plugins/modules/os_ironic_node.py | 27 ++++-- plugins/modules/os_keypair.py | 4 + plugins/modules/os_keystone_domain.py | 3 + plugins/modules/os_keystone_domain_info.py | 2 + plugins/modules/os_keystone_endpoint.py | 5 ++ plugins/modules/os_keystone_role.py | 2 + plugins/modules/os_keystone_service.py | 4 + plugins/modules/os_listener.py | 6 ++ plugins/modules/os_loadbalancer.py | 10 +++ plugins/modules/os_member.py | 7 ++ plugins/modules/os_network.py | 7 ++ plugins/modules/os_networks_info.py | 2 + plugins/modules/os_nova_flavor.py | 9 ++ plugins/modules/os_object.py | 5 ++ plugins/modules/os_pool.py | 7 ++ plugins/modules/os_port.py | 11 +++ plugins/modules/os_port_info.py | 2 + plugins/modules/os_project.py | 4 + plugins/modules/os_project_access.py | 4 + plugins/modules/os_project_info.py | 3 + plugins/modules/os_quota.py | 55 ++++++++++-- plugins/modules/os_recordset.py | 7 ++ plugins/modules/os_router.py | 6 ++ plugins/modules/os_routers_info.py | 3 +- plugins/modules/os_security_group.py | 4 + plugins/modules/os_security_group_rule.py | 28 +++++-- plugins/modules/os_server.py | 22 +++++ plugins/modules/os_server_action.py | 4 + plugins/modules/os_server_group.py | 3 + plugins/modules/os_server_info.py | 2 + plugins/modules/os_server_metadata.py | 4 + plugins/modules/os_server_volume.py | 4 + plugins/modules/os_stack.py | 7 ++ plugins/modules/os_subnet.py | 14 ++++ plugins/modules/os_subnets_info.py | 2 + plugins/modules/os_user.py | 8 ++ plugins/modules/os_user_group.py | 3 + plugins/modules/os_user_info.py | 3 + plugins/modules/os_user_role.py | 6 ++ plugins/modules/os_volume.py | 12 +++ plugins/modules/os_volume_snapshot.py | 4 + plugins/modules/os_zone.py | 7 ++ tests/sanity/ignore-2.10.txt | 98 ---------------------- tests/sanity/ignore-2.9.txt | 95 --------------------- 54 files changed, 395 insertions(+), 230 deletions(-) diff --git a/plugins/modules/os_client_config.py b/plugins/modules/os_client_config.py index 81437e83..476868d2 100644 --- a/plugins/modules/os_client_config.py +++ b/plugins/modules/os_client_config.py @@ -24,6 +24,7 @@ options: information on all configured clouds required: false default: [] + type: list requirements: [ os-client-config ] author: "Monty Taylor (@emonty)" ''' diff --git a/plugins/modules/os_coe_cluster.py b/plugins/modules/os_coe_cluster.py index 28b0b785..e9e6038c 100644 --- a/plugins/modules/os_coe_cluster.py +++ b/plugins/modules/os_coe_cluster.py @@ -18,49 +18,61 @@ description: - Add or Remove COE cluster from the OpenStack Container Infra service. options: cluster_template_id: - description: - - The template ID of cluster template. - required: true + description: + - The template ID of cluster template. + required: true + type: str discovery_url: - description: + description: - Url used for cluster node discovery + type: str docker_volume_size: description: - The size in GB of the docker volume + type: int flavor_id: description: - The flavor of the minion node for this ClusterTemplate + type: str keypair: description: - Name of the keypair to use. + type: str labels: description: - One or more key/value pairs + type: raw master_flavor_id: description: - The flavor of the master node for this ClusterTemplate + type: str master_count: description: - The number of master nodes for this cluster default: 1 + type: int name: description: - Name that has to be given to the cluster template required: true + type: str node_count: description: - The number of nodes for this cluster default: 1 + type: int state: description: - Indicate desired state of the resource. choices: [present, absent] default: present + type: str timeout: description: - Timeout for creating the cluster in minutes. Default to 60 mins if not set default: 60 + type: int requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_coe_cluster_template.py b/plugins/modules/os_coe_cluster_template.py index ff02fa0f..2ef2c67c 100644 --- a/plugins/modules/os_coe_cluster_template.py +++ b/plugins/modules/os_coe_cluster_template.py @@ -19,57 +19,71 @@ description: service. options: coe: - description: - - The Container Orchestration Engine for this clustertemplate - choices: [kubernetes, swarm, mesos] + description: + - The Container Orchestration Engine for this clustertemplate + choices: [kubernetes, swarm, mesos] + type: str dns_nameserver: description: - The DNS nameserver address default: '8.8.8.8' + type: str docker_storage_driver: description: - Docker storage driver choices: [devicemapper, overlay, overlay2] + type: str docker_volume_size: description: - The size in GB of the docker volume + type: int external_network_id: description: - The external network to attach to the Cluster + type: str fixed_network: description: - The fixed network name to attach to the Cluster + type: str fixed_subnet: description: - The fixed subnet name to attach to the Cluster + type: str flavor_id: description: - The flavor of the minion node for this ClusterTemplate + type: str floating_ip_enabled: description: - Indicates whether created clusters should have a floating ip or not type: bool - default: 'yes' + default: true keypair_id: description: - Name or ID of the keypair to use. + type: str image_id: description: - Image id the cluster will be based on + type: str labels: description: - One or more key/value pairs + type: raw http_proxy: description: - Address of a proxy that will receive all HTTP requests and relay them The format is a URL including a port number + type: str https_proxy: description: - Address of a proxy that will receive all HTTPS requests and relay them. The format is a URL including a port number + type: str master_flavor_id: description: - The flavor of the master node for this ClusterTemplate + type: str master_lb_enabled: description: - Indicates whether created clusters should have a load balancer @@ -80,14 +94,17 @@ options: description: - Name that has to be given to the cluster template required: true + type: str network_driver: description: - The name of the driver used for instantiating container networks choices: [flannel, calico, docker] + type: str no_proxy: description: - A comma separated list of IPs for which proxies should not be used in the cluster + type: str public: description: - Indicates whether the ClusterTemplate is public or not @@ -103,11 +120,13 @@ options: - Server type for this ClusterTemplate choices: [vm, bm] default: vm + type: str state: description: - Indicate desired state of the resource. choices: [present, absent] default: present + type: str tls_disabled: description: - Indicates whether the TLS should be disabled @@ -117,6 +136,7 @@ options: description: - The name of the driver used for instantiating container volumes choices: [cinder, rexray] + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_flavor_info.py b/plugins/modules/os_flavor_info.py index 114ca0db..bd5687c5 100644 --- a/plugins/modules/os_flavor_info.py +++ b/plugins/modules/os_flavor_info.py @@ -29,6 +29,7 @@ options: name: description: - A flavor name. Cannot be used with I(ram) or I(vcpus) or I(ephemeral). + type: str ram: description: - "A string used for filtering flavors based on the amount of RAM @@ -43,24 +44,22 @@ options: prefix the amount of RAM with one of these acceptable range values: '<', '>', '<=', '>='. These values represent less than, greater than, less than or equal to, and greater than or equal to, respectively." - type: bool - default: 'no' + type: str vcpus: description: - A string used for filtering flavors based on the number of virtual CPUs desired. Format is the same as the I(ram) parameter. - type: bool - default: 'no' + type: str limit: description: - Limits the number of flavors returned. All matching flavors are returned by default. + type: int ephemeral: description: - A string used for filtering flavors based on the amount of ephemeral storage. Format is the same as the I(ram) parameter - type: bool - default: 'no' + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_floating_ip.py b/plugins/modules/os_floating_ip.py index 2ccdcd02..44e06501 100644 --- a/plugins/modules/os_floating_ip.py +++ b/plugins/modules/os_floating_ip.py @@ -23,14 +23,17 @@ options: - The name or ID of the instance to which the IP address should be assigned. required: true + type: str network: description: - The name or ID of a neutron external network or a nova pool name. + type: str floating_ip_address: description: - A floating IP address to attach or to detach. Required only if I(state) is absent. When I(state) is present can be used to specify a IP address to attach. + type: str reuse: description: - When I(state) is present, and I(floating_ip_address) is not present, @@ -42,11 +45,13 @@ options: description: - To which fixed IP of server the floating IP address should be attached to. + type: str nat_destination: description: - The name or id of a neutron private network that the fixed IP to attach floating IP is on aliases: ["fixed_network", "internal_network"] + type: str wait: description: - When attaching a floating IP address, specify whether to wait for it to appear as attached. @@ -58,11 +63,13 @@ options: - Time to wait for an IP address to appear as attached. See wait. required: false default: 60 + type: int state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str purge: description: - When I(state) is absent, indicates whether or not to delete the floating diff --git a/plugins/modules/os_group.py b/plugins/modules/os_group.py index 6a28bab5..a616606a 100644 --- a/plugins/modules/os_group.py +++ b/plugins/modules/os_group.py @@ -21,17 +21,21 @@ options: description: - Group name required: true + type: str description: description: - Group description + type: str domain_id: description: - Domain id to create the group in if the cloud supports domains. + type: str state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_image.py b/plugins/modules/os_image.py index 03fa8b94..cd6ea116 100644 --- a/plugins/modules/os_image.py +++ b/plugins/modules/os_image.py @@ -24,29 +24,37 @@ options: description: - The name of the image when uploading - or the name/ID of the image if deleting required: true + type: str id: description: - The ID of the image when uploading an image + type: str checksum: description: - The checksum of the image + type: str disk_format: description: - The format of the disk that is getting uploaded default: qcow2 + type: str container_format: description: - The format of the container default: bare + type: str owner: description: - The owner of the image + type: str min_disk: description: - The minimum disk space (in GB) required to boot this image + type: int min_ram: description: - The minimum ram (in MB) required to boot this image + type: int is_public: description: - Whether the image can be accessed publicly. Note that publicizing an image requires admin role by default. @@ -60,25 +68,31 @@ options: filename: description: - The path to the file which has to be uploaded + type: str ramdisk: description: - The name of an existing ramdisk image that will be associated with this image + type: str kernel: description: - The name of an existing kernel image that will be associated with this image + type: str properties: description: - Additional properties to be associated with this image default: {} + type: dict state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str volume: description: - ID of a volume to create an image from. - The volume must be in AVAILABLE state. + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_image_info.py b/plugins/modules/os_image_info.py index ea48f2e8..7dce7efe 100644 --- a/plugins/modules/os_image_info.py +++ b/plugins/modules/os_image_info.py @@ -22,6 +22,7 @@ options: description: - Name or ID of the image required: false + type: str properties: description: - Dict of properties of the images used for query diff --git a/plugins/modules/os_ironic.py b/plugins/modules/os_ironic.py index c48522fe..84cb6a55 100644 --- a/plugins/modules/os_ironic.py +++ b/plugins/modules/os_ironic.py @@ -23,31 +23,38 @@ options: - Indicates desired state of the resource choices: ['present', 'absent'] default: present + type: str uuid: description: - globally unique identifier (UUID) to be given to the resource. Will be auto-generated if not specified, and name is specified. - Definition of a UUID will always take precedence to a name value. + type: str name: description: - unique name identifier to be given to the resource. + type: str driver: description: - The name of the Ironic Driver to use with this node. required: true + type: str chassis_uuid: description: - Associate the node with a pre-defined chassis. + type: str ironic_url: description: - If noauth mode is utilized, this is required to be set to the endpoint URL for the Ironic API. Use with "auth" and "auth_type" settings set to None. + type: str driver_info: description: - Information for this server's driver. Will vary based on which driver is in use. Any sub-field which is populated will be validated during creation. + type: dict suboptions: power: description: @@ -68,9 +75,11 @@ options: description: - 'A list of network interface cards, eg, " - mac: aa:bb:cc:aa:bb:cc"' required: true + type: list properties: description: - Definition of the physical characteristics of this server, used for scheduling purposes + type: dict suboptions: cpu_arch: description: diff --git a/plugins/modules/os_ironic_inspect.py b/plugins/modules/os_ironic_inspect.py index 34f973de..c7de8fd9 100644 --- a/plugins/modules/os_ironic_inspect.py +++ b/plugins/modules/os_ironic_inspect.py @@ -23,20 +23,25 @@ options: mac: description: - unique mac address that is used to attempt to identify the host. + type: str uuid: description: - globally unique identifier (UUID) to identify the host. + type: str name: description: - unique name identifier to identify the host in Ironic. + type: str ironic_url: description: - If noauth mode is utilized, this is required to be set to the endpoint URL for the Ironic API. Use with "auth" and "auth_type" settings set to None. + type: str timeout: description: - A timeout in seconds to tell the role to wait for the node to complete introspection if wait is set to True. default: 1200 + type: int requirements: - "python >= 3.6" diff --git a/plugins/modules/os_ironic_node.py b/plugins/modules/os_ironic_node.py index 3418fdd6..e7542f68 100644 --- a/plugins/modules/os_ironic_node.py +++ b/plugins/modules/os_ironic_node.py @@ -18,35 +18,44 @@ author: "Monty Taylor (@emonty)" description: - Deploy to nodes controlled by Ironic. options: + name: + description: + - Name of the node to create. + type: str state: description: - - Indicates desired state of the resource - choices: ['present', 'absent'] + - Indicates desired state of the resource. + - I(state) can be C('present'), C('absent'), C('maintenance') or C('off'). default: present + type: str deploy: description: - Indicates if the resource should be deployed. Allows for deployment logic to be disengaged and control of the node power or maintenance state to be changed. - type: bool + type: str default: 'yes' uuid: description: - globally unique identifier (UUID) to be given to the resource. + type: str ironic_url: description: - If noauth mode is utilized, this is required to be set to the endpoint URL for the Ironic API. Use with "auth" and "auth_type" settings set to None. + type: str config_drive: description: - A configdrive file or HTTP(S) URL that will be passed along to the node. + type: raw instance_info: description: - Definition of the instance information which is used to deploy the node. This information is only required when an instance is set to present. + type: dict suboptions: image_source: description: @@ -62,18 +71,20 @@ options: - A setting to allow power state to be asserted allowing nodes that are not yet deployed to be powered on, and nodes that are deployed to be powered off. - choices: ['present', 'absent'] + - I(power) can be C('present'), C('absent'), C('maintenance') or C('off'). default: present + type: str maintenance: description: - A setting to allow the direct control if a node is in maintenance mode. - type: bool - default: 'no' + - I(maintenance) can be C('yes'), C('no'), C('True'), or C('False'). + type: str maintenance_reason: description: - A string expression regarding the reason a node is in a maintenance mode. + type: str wait: description: - A boolean value instructing the module to wait for node @@ -84,6 +95,8 @@ options: description: - An integer value representing the number of seconds to wait for the node activation or deactivation to complete. + default: 1800 + type: int requirements: - "python >= 3.6" - "openstacksdk" @@ -230,7 +243,7 @@ def main(): maintenance=dict(required=False), maintenance_reason=dict(required=False), power=dict(required=False, default='present'), - deploy=dict(required=False, default=True), + deploy=dict(required=False, default='yes'), wait=dict(type='bool', required=False, default=False), timeout=dict(required=False, type='int', default=1800), ) diff --git a/plugins/modules/os_keypair.py b/plugins/modules/os_keypair.py index 3a483bbb..64536846 100644 --- a/plugins/modules/os_keypair.py +++ b/plugins/modules/os_keypair.py @@ -23,14 +23,17 @@ options: description: - Name that has to be given to the key pair required: true + type: str public_key: description: - The public key that would be uploaded to nova and injected into VMs upon creation. + type: str public_key_file: description: - Path to local file containing ssh public key. Mutually exclusive with public_key. + type: str state: description: - Should the resource be present or absent. If state is replace and @@ -38,6 +41,7 @@ options: with the new content. choices: [present, absent, replace] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_keystone_domain.py b/plugins/modules/os_keystone_domain.py index bdcbd45e..0d2dcae6 100644 --- a/plugins/modules/os_keystone_domain.py +++ b/plugins/modules/os_keystone_domain.py @@ -24,9 +24,11 @@ options: description: - Name that has to be given to the instance required: true + type: str description: description: - Description of the domain + type: str enabled: description: - Is the domain enabled @@ -37,6 +39,7 @@ options: - Should the resource be present or absent. choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_keystone_domain_info.py b/plugins/modules/os_keystone_domain_info.py index 29654ab3..45a8845a 100644 --- a/plugins/modules/os_keystone_domain_info.py +++ b/plugins/modules/os_keystone_domain_info.py @@ -21,10 +21,12 @@ options: name: description: - Name or ID of the domain + type: str filters: description: - A dictionary of meta data to use for further filtering. Elements of this dictionary may be additional dictionaries. + type: dict requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_keystone_endpoint.py b/plugins/modules/os_keystone_endpoint.py index d230aa09..1eb4c70a 100644 --- a/plugins/modules/os_keystone_endpoint.py +++ b/plugins/modules/os_keystone_endpoint.py @@ -24,18 +24,22 @@ options: description: - Name or id of the service. required: true + type: str endpoint_interface: description: - Interface of the service. choices: [admin, public, internal] required: true + type: str url: description: - URL of the service. required: true + type: str region: description: - Region that the service belongs to. Note that I(region_name) is used for authentication. + type: str enabled: description: - Is the service enabled. @@ -46,6 +50,7 @@ options: - Should the resource be C(present) or C(absent). choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk >= 0.13.0" diff --git a/plugins/modules/os_keystone_role.py b/plugins/modules/os_keystone_role.py index 7aaa1210..2987e9f6 100644 --- a/plugins/modules/os_keystone_role.py +++ b/plugins/modules/os_keystone_role.py @@ -22,11 +22,13 @@ options: description: - Role Name required: true + type: str state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_keystone_service.py b/plugins/modules/os_keystone_service.py index 585de8eb..6b86574b 100644 --- a/plugins/modules/os_keystone_service.py +++ b/plugins/modules/os_keystone_service.py @@ -22,9 +22,11 @@ options: description: - Name of the service required: true + type: str description: description: - Description of the service + type: str enabled: description: - Is the service enabled @@ -34,11 +36,13 @@ options: description: - The type of service required: true + type: str state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_listener.py b/plugins/modules/os_listener.py index 13e0ec33..a0c8b83e 100644 --- a/plugins/modules/os_listener.py +++ b/plugins/modules/os_listener.py @@ -20,24 +20,29 @@ options: description: - Name that has to be given to the listener required: true + type: str state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str loadbalancer: description: - The name or id of the load balancer that this listener belongs to. required: true + type: str protocol: description: - The protocol for the listener. choices: [HTTP, HTTPS, TCP, TERMINATED_HTTPS] default: HTTP + type: str protocol_port: description: - The protocol port number for the listener. default: 80 + type: int wait: description: - If the module should wait for the load balancer to be ACTIVE. @@ -48,6 +53,7 @@ options: - The amount of time the module should wait for the load balancer to get into ACTIVE state. default: 180 + type: int requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_loadbalancer.py b/plugins/modules/os_loadbalancer.py index 4e6b19f6..f7dcaaf1 100644 --- a/plugins/modules/os_loadbalancer.py +++ b/plugins/modules/os_loadbalancer.py @@ -21,32 +21,39 @@ options: description: - Name that has to be given to the load balancer required: true + type: str state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str vip_network: description: - The name or id of the network for the virtual IP of the load balancer. One of I(vip_network), I(vip_subnet), or I(vip_port) must be specified for creation. + type: str vip_subnet: description: - The name or id of the subnet for the virtual IP of the load balancer. One of I(vip_network), I(vip_subnet), or I(vip_port) must be specified for creation. + type: str vip_port: description: - The name or id of the load balancer virtual IP port. One of I(vip_network), I(vip_subnet), or I(vip_port) must be specified for creation. + type: str vip_address: description: - IP address of the load balancer virtual IP. + type: str public_ip_address: description: - Public IP address associated with the VIP. + type: str auto_public_ip: description: - Allocate a public IP address and associate with the VIP automatically. @@ -55,6 +62,7 @@ options: public_network: description: - The name or ID of a Neutron external network. + type: str delete_public_ip: description: - When C(state=absent) and this option is true, any public IP address @@ -109,6 +117,7 @@ options: description: - The name or ID of the subnet the member service is accessible from. + type: list wait: description: - If the module should wait for the load balancer to be created or @@ -119,6 +128,7 @@ options: description: - The amount of time the module should wait. default: 180 + type: int requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_member.py b/plugins/modules/os_member.py index 63aba11c..cc0631c3 100644 --- a/plugins/modules/os_member.py +++ b/plugins/modules/os_member.py @@ -20,25 +20,31 @@ options: description: - Name that has to be given to the member required: true + type: str state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str pool: description: - The name or id of the pool that this member belongs to. required: true + type: str protocol_port: description: - The protocol port number for the member. default: 80 + type: int address: description: - The IP address of the member. + type: str subnet_id: description: - The subnet ID the member service is accessible from. + type: str wait: description: - If the module should wait for the load balancer to be ACTIVE. @@ -49,6 +55,7 @@ options: - The amount of time the module should wait for the load balancer to get into ACTIVE state. default: 180 + type: int requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_network.py b/plugins/modules/os_network.py index 44d37dbd..66b6e773 100644 --- a/plugins/modules/os_network.py +++ b/plugins/modules/os_network.py @@ -22,6 +22,7 @@ options: description: - Name to be assigned to the network. required: true + type: str shared: description: - Whether this network is shared or not. @@ -42,21 +43,26 @@ options: - Indicate desired state of the resource. choices: ['present', 'absent'] default: present + type: str provider_physical_network: description: - The physical network where this network object is implemented. + type: str provider_network_type: description: - The type of physical network that maps to this network resource. + type: str provider_segmentation_id: description: - An isolated segment on the physical network. The I(network_type) attribute defines the segmentation model. For example, if the I(network_type) value is vlan, this ID is a vlan identifier. If the I(network_type) value is gre, this ID is a gre key. + type: int project: description: - Project name or ID containing the network (name admin-only) + type: str port_security_enabled: description: - Whether port security is enabled on the network or not. @@ -74,6 +80,7 @@ options: - The DNS domain value to set. Requires openstacksdk>=0.29. Network will use Openstack defaults if this option is not provided. + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_networks_info.py b/plugins/modules/os_networks_info.py index 56bc7cd8..68db1826 100644 --- a/plugins/modules/os_networks_info.py +++ b/plugins/modules/os_networks_info.py @@ -23,11 +23,13 @@ options: description: - Name or ID of the Network required: false + type: str filters: description: - A dictionary of meta data to use for further filtering. Elements of this dictionary may be additional dictionaries. required: false + type: dict requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_nova_flavor.py b/plugins/modules/os_nova_flavor.py index 41f8810f..86fe5b1a 100644 --- a/plugins/modules/os_nova_flavor.py +++ b/plugins/modules/os_nova_flavor.py @@ -24,16 +24,20 @@ options: default values for those parameters. choices: ['present', 'absent'] default: present + type: str name: description: - Flavor name. required: true + type: str ram: description: - Amount of memory, in MB. + type: int vcpus: description: - Number of virtual CPUs. + type: int disk: description: - Size of local disk, in GB. @@ -43,14 +47,17 @@ options: description: - Ephemeral space size, in GB. default: 0 + type: int swap: description: - Swap space size, in MB. default: 0 + type: int rxtx_factor: description: - RX/TX factor. default: 1.0 + type: float is_public: description: - Make flavor accessible to the public. @@ -61,9 +68,11 @@ options: - ID for the flavor. This is optional as a unique UUID will be assigned if a value is not specified. default: "auto" + type: str extra_specs: description: - Metadata dictionary + type: dict requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_object.py b/plugins/modules/os_object.py index 8d86bfdf..55895a5f 100644 --- a/plugins/modules/os_object.py +++ b/plugins/modules/os_object.py @@ -22,26 +22,31 @@ options: description: - The name of the container in which to create the object required: true + type: str name: description: - Name to be give to the object. If omitted, operations will be on the entire container required: false + type: str filename: description: - Path to local file to be uploaded. required: false + type: str container_access: description: - desired container access level. required: false choices: ['private', 'public'] default: private + type: str state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_pool.py b/plugins/modules/os_pool.py index c722b307..8aef196e 100644 --- a/plugins/modules/os_pool.py +++ b/plugins/modules/os_pool.py @@ -20,29 +20,35 @@ options: description: - Name that has to be given to the pool required: true + type: str state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str loadbalancer: description: - The name or id of the load balancer that this pool belongs to. Either loadbalancer or listener must be specified for pool creation. + type: str listener: description: - The name or id of the listener that this pool belongs to. Either loadbalancer or listener must be specified for pool creation. + type: str protocol: description: - The protocol for the pool. choices: [HTTP, HTTPS, PROXY, TCP, UDP] default: HTTP + type: str lb_algorithm: description: - The load balancing algorithm for the pool. choices: [LEAST_CONNECTIONS, ROUND_ROBIN, SOURCE_IP] default: ROUND_ROBIN + type: str wait: description: - If the module should wait for the pool to be ACTIVE. @@ -53,6 +59,7 @@ options: - The amount of time the module should wait for the pool to get into ACTIVE state. default: 180 + type: int requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_port.py b/plugins/modules/os_port.py index 82c58239..76f26d3d 100644 --- a/plugins/modules/os_port.py +++ b/plugins/modules/os_port.py @@ -22,13 +22,16 @@ options: description: - Network ID or name this port belongs to. required: true + type: str name: description: - Name that has to be given to the port. + type: str fixed_ips: description: - Desired IP and/or subnet for this port. Subnet is referenced by subnet_id and IP is referenced by ip_address. + type: list admin_state_up: description: - Sets admin state. @@ -36,10 +39,12 @@ options: mac_address: description: - MAC address of this port. + type: str security_groups: description: - Security group(s) ID(s) or name(s) associated with the port (comma separated string or YAML list) + type: list no_security_groups: description: - Do not associate a security group with this port. @@ -53,6 +58,7 @@ options: - ip_address: 10.1.0.12 mac_address: ab:cd:ef:12:34:56 - ip_address: ..." + type: list extra_dhcp_opts: description: - "Extra dhcp options to be assigned to this port. Extra options are @@ -63,21 +69,26 @@ options: opt_value: value1 ip_version: 4 - opt_name: ..." + type: list device_owner: description: - The ID of the entity that uses this port. + type: str device_id: description: - Device ID of device using this port. + type: str state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str vnic_type: description: - The type of the port that should be created choices: [normal, direct, direct-physical, macvtap, baremetal, virtio-forwarder] + type: str port_security_enabled: description: - Whether to enable or disable the port security on the network. diff --git a/plugins/modules/os_port_info.py b/plugins/modules/os_port_info.py index 3049ed30..4230b64f 100644 --- a/plugins/modules/os_port_info.py +++ b/plugins/modules/os_port_info.py @@ -21,12 +21,14 @@ options: port: description: - Unique name or ID of a port. + type: str filters: description: - A dictionary of meta data to use for further filtering. Elements of this dictionary will be matched against the returned port dictionaries. Matching is currently limited to strings within the port dictionary, or strings within nested dictionaries. + type: dict requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_project.py b/plugins/modules/os_project.py index 4d0dae9e..f1bffb3e 100644 --- a/plugins/modules/os_project.py +++ b/plugins/modules/os_project.py @@ -24,13 +24,16 @@ options: description: - Name for the project required: true + type: str description: description: - Description for the project + type: str domain_id: description: - Domain id to create the project in if the cloud supports domains. aliases: ['domain'] + type: str enabled: description: - Is the project enabled @@ -41,6 +44,7 @@ options: - Should the resource be present or absent. choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_project_access.py b/plugins/modules/os_project_access.py index 012f8d4b..95a92001 100644 --- a/plugins/modules/os_project_access.py +++ b/plugins/modules/os_project_access.py @@ -32,16 +32,20 @@ options: choices: ['present', 'absent'] required: false default: present + type: str target_project_id: description: - Project id. required: true + type: str resource_type: description: - The resource type (eg. nova_flavor, cinder_volume_type). + type: str resource_name: description: - The resource name (eg. tiny). + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_project_info.py b/plugins/modules/os_project_info.py index 52f6ad31..1beab135 100644 --- a/plugins/modules/os_project_info.py +++ b/plugins/modules/os_project_info.py @@ -22,13 +22,16 @@ options: description: - Name or ID of the project required: true + type: str domain: description: - Name or ID of the domain containing the project if the cloud supports domains + type: str filters: description: - A dictionary of meta data to use for further filtering. Elements of this dictionary may be additional dictionaries. + type: dict requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_quota.py b/plugins/modules/os_quota.py index 76ae89af..2f0b3037 100644 --- a/plugins/modules/os_quota.py +++ b/plugins/modules/os_quota.py @@ -22,76 +22,119 @@ options: description: - Name of the OpenStack Project to manage. required: true + type: str state: description: - A value of present sets the quota and a value of absent resets the quota to system defaults. default: present + type: str backup_gigabytes: description: Maximum size of backups in GB's. + type: int backups: description: Maximum number of backups allowed. + type: int cores: description: Maximum number of CPU's per project. + type: int fixed_ips: description: Number of fixed IP's to allow. + type: int floating_ips: description: Number of floating IP's to allow in Compute. aliases: ['compute_floating_ips'] + type: int floatingip: description: Number of floating IP's to allow in Network. aliases: ['network_floating_ips'] + type: int gigabytes: description: Maximum volume storage allowed for project. - gigabytes_lvm: - description: Maximum size in GB's of individual lvm volumes. + type: int + gigabytes_types: + description: + - Per driver volume storage quotas. Keys should be + prefixed with C(gigabytes_) values should be ints. + type: dict injected_file_size: description: Maximum file size in bytes. + type: int injected_files: description: Number of injected files to allow. + type: int injected_path_size: description: Maximum path size. + type: int instances: description: Maximum number of instances allowed. + type: int key_pairs: description: Number of key pairs to allow. + type: int loadbalancer: description: Number of load balancers to allow. + type: int network: description: Number of networks to allow. + type: int per_volume_gigabytes: description: Maximum size in GB's of individual volumes. + type: int pool: description: Number of load balancer pools to allow. + type: int port: description: Number of Network ports to allow, this needs to be greater than the instances limit. + type: int properties: description: Number of properties to allow. + type: int ram: description: Maximum amount of ram in MB to allow. + type: int rbac_policy: description: Number of policies to allow. + type: int router: description: Number of routers to allow. + type: int security_group_rule: description: Number of rules per security group to allow. + type: int security_group: description: Number of security groups to allow. + type: int server_group_members: description: Number of server group members to allow. + type: int server_groups: description: Number of server groups to allow. + type: int snapshots: description: Number of snapshots to allow. - snapshots_lvm: - description: Number of LVM snapshots to allow. + type: int + snapshots_types: + description: + - Per-driver volume snapshot quotas. Keys should be + prefixed with C(snapshots_) values should be ints. + type: dict subnet: description: Number of subnets to allow. + type: int subnetpool: description: Number of subnet pools to allow. + type: int volumes: description: Number of volumes to allow. - volumes_lvm: - description: Number of LVM volumes to allow. + type: int + volumes_types: + description: + - Per-driver volume count quotas. Keys should be + prefixed with C(gigabytes_) values should be ints. + type: dict + project: + description: Unused, kept for compatability + type: int requirements: - "python >= 3.6" diff --git a/plugins/modules/os_recordset.py b/plugins/modules/os_recordset.py index beacec0c..6faf90c4 100644 --- a/plugins/modules/os_recordset.py +++ b/plugins/modules/os_recordset.py @@ -22,29 +22,36 @@ options: description: - Zone managing the recordset required: true + type: str name: description: - Name of the recordset required: true + type: str recordset_type: description: - Recordset type required: true + type: str records: description: - List of recordset definitions required: true + type: list description: description: - Description of the recordset + type: str ttl: description: - TTL (Time To Live) value in seconds + type: int state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_router.py b/plugins/modules/os_router.py index 4c8b449d..18d57381 100644 --- a/plugins/modules/os_router.py +++ b/plugins/modules/os_router.py @@ -24,10 +24,12 @@ options: - Indicate desired state of the resource choices: ['present', 'absent'] default: present + type: str name: description: - Name to be give to the router required: true + type: str admin_state_up: description: - Desired admin state of the created or existing router. @@ -41,15 +43,18 @@ options: description: - Unique name or ID of the external gateway network. - required I(interfaces) or I(enable_snat) are provided. + type: str project: description: - Unique name or ID of the project. + type: str external_fixed_ips: description: - The IP address parameters for the external gateway network. Each is a dictionary with the subnet name or ID (subnet) and the IP address to assign on the subnet (ip). If no IP is specified, one is automatically assigned from that subnet. + type: list interfaces: description: - List of subnets to attach to the router internal interface. Default @@ -62,6 +67,7 @@ options: 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 requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_routers_info.py b/plugins/modules/os_routers_info.py index 3586f150..80c9c0b1 100644 --- a/plugins/modules/os_routers_info.py +++ b/plugins/modules/os_routers_info.py @@ -59,7 +59,8 @@ options: requirements: - "python >= 3.6" - "openstacksdk" -extends_documentation_fragment: openstack +extends_documentation_fragment: +- openstack.cloud.openstack ''' EXAMPLES = ''' diff --git a/plugins/modules/os_security_group.py b/plugins/modules/os_security_group.py index 989d8f61..bcd42032 100644 --- a/plugins/modules/os_security_group.py +++ b/plugins/modules/os_security_group.py @@ -23,18 +23,22 @@ options: - Name that has to be given to the security group. This module requires that security group names be unique. required: true + type: str description: description: - Long description of the purpose of the security group + type: str state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str project: description: - Unique name or ID of the project. required: false + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_security_group_rule.py b/plugins/modules/os_security_group_rule.py index 68cdbc3e..deb258ac 100644 --- a/plugins/modules/os_security_group_rule.py +++ b/plugins/modules/os_security_group_rule.py @@ -21,47 +21,57 @@ description: - Add or Remove rule from an existing security group options: security_group: - description: + description: - Name or ID of the security group - required: true + required: true + type: str protocol: description: - IP protocols ANY TCP UDP ICMP 112 (VRRP) 132 (SCTP) choices: ['any', 'tcp', 'udp', 'icmp', '112', '132', None] + type: str port_range_min: description: - Starting port + type: int port_range_max: description: - Ending port + type: int remote_ip_prefix: description: - Source IP address(es) in CIDR notation (exclusive with remote_group) + type: str remote_group: description: - Name or ID of the Security group to link (exclusive with remote_ip_prefix) + type: str ethertype: description: - Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress or egress rules. Not all providers support IPv6. choices: ['IPv4', 'IPv6'] default: IPv4 + type: str direction: - description: + description: - The direction in which the security group rule is applied. Not all providers support egress. - choices: ['egress', 'ingress'] - default: ingress + choices: ['egress', 'ingress'] + default: ingress + type: str state: - description: - - Should the resource be present or absent. - choices: [present, absent] - default: present + description: + - Should the resource be present or absent. + choices: [present, absent] + default: present + type: str project: description: - Unique name or ID of the project. required: false + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_server.py b/plugins/modules/os_server.py index e72efa9e..321512ef 100644 --- a/plugins/modules/os_server.py +++ b/plugins/modules/os_server.py @@ -27,44 +27,53 @@ options: - Name that has to be given to the instance. It is also possible to specify the ID of the instance instead of its name if I(state) is I(absent). required: true + type: str image: description: - The name or id of the base image to boot. required: true + type: str image_exclude: description: - Text to use to filter image names, for the case, such as HP, where there are multiple image names matching the common identifying portions. image_exclude is a negative match filter - it is text that may not exist in the image name. Defaults to "(deprecated)" + type: str flavor: description: - The name or id of the flavor in which the new instance has to be created. Mutually exclusive with flavor_ram default: 1 + type: str flavor_ram: description: - The minimum amount of ram in MB that the flavor in which the new instance has to be created must have. Mutually exclusive with flavor. default: 1 + type: int flavor_include: description: - Text to use to filter flavor names, for the case, such as Rackspace, where there are multiple flavors that have the same ram count. flavor_include is a positive match filter - it must exist in the flavor name. + type: str key_name: description: - The key pair name to be used when creating a instance + type: str security_groups: description: - Names of the security groups to which the instance should be added. This may be a YAML list or a comma separated string. + type: list network: description: - Name or ID of a network to attach this instance to. A simpler version of the nics parameter, only one of network or nics should be supplied. + type: str nics: description: - A list of networks to which the instance's interface should @@ -73,6 +82,7 @@ options: - 'Also this accepts a string containing a list of (net/port)-(id/name) Eg: nics: "net-id=uuid-1,port-name=myport" Only one of network or nics should be supplied.' + type: list suboptions: tag: description: @@ -87,14 +97,17 @@ options: floating_ips: description: - list of valid floating IPs that pre-exist to assign to this node + type: list floating_ip_pools: description: - Name of floating IP pool from which to choose a floating IP + type: list meta: description: - 'A list of key value pairs that should be provided as a metadata to the new instance or a string containing a list of key-value pairs. Eg: meta: "key1=value1,key2=value2"' + type: raw wait: description: - If the module should wait for the instance to be created. @@ -105,6 +118,7 @@ options: - The amount of time the module should wait for the instance to get into active state. default: 180 + type: int config_drive: description: - Whether to boot the server with config drive enabled @@ -113,6 +127,8 @@ options: userdata: description: - Opaque blob of data which is made available to the instance + type: str + aliases: ['user_data'] boot_from_volume: description: - Should the instance boot from a persistent volume created based on @@ -123,11 +139,13 @@ options: description: - The size of the volume to create in GB if booting from volume based on an image. + type: int boot_volume: description: - Volume name or id to use as the volume to boot from. Implies boot_from_volume. Mutually exclusive with image and boot_from_volume. aliases: ['root_volume'] + type: str terminate_volume: description: - If C(yes), delete volume when deleting instance (if booted from volume) @@ -137,15 +155,18 @@ options: description: - A list of preexisting volumes names or ids to attach to the instance default: [] + type: list scheduler_hints: description: - Arbitrary key/value pairs to the scheduler for custom use version_added: "2.1" + type: dict state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str delete_fip: description: - When I(state) is absent and this option is true, any floating IP @@ -168,6 +189,7 @@ options: availability_zone: description: - Availability zone in which to create the server. + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_server_action.py b/plugins/modules/os_server_action.py index 5f32e73a..732c0ef8 100644 --- a/plugins/modules/os_server_action.py +++ b/plugins/modules/os_server_action.py @@ -24,6 +24,7 @@ options: description: - Name or ID of the instance required: true + type: str wait: description: - If the module should wait for the instance action to be performed. @@ -34,6 +35,7 @@ options: - The amount of time the module should wait for the instance to perform the requested action. default: 180 + type: int action: description: - Perform the given action. The lock and unlock actions always return @@ -41,9 +43,11 @@ options: choices: [stop, start, pause, unpause, lock, unlock, suspend, resume, rebuild] default: present + type: str image: description: - Image the server should be rebuilt with + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_server_group.py b/plugins/modules/os_server_group.py index fa94cf93..a3542814 100644 --- a/plugins/modules/os_server_group.py +++ b/plugins/modules/os_server_group.py @@ -24,10 +24,12 @@ options: choices: ['present', 'absent'] required: false default: present + type: str name: description: - Server group name. required: true + type: str policies: description: - A list of one or more policy names to associate with the server @@ -35,6 +37,7 @@ options: valid policy names are anti-affinity, affinity, soft-anti-affinity and soft-affinity. required: false + type: list requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_server_info.py b/plugins/modules/os_server_info.py index 5e78d32b..868ddfd0 100644 --- a/plugins/modules/os_server_info.py +++ b/plugins/modules/os_server_info.py @@ -25,6 +25,7 @@ options: description: - restrict results to servers with names or UUID matching this glob expression (e.g., ). + type: str detailed: description: - when true, return additional detail about servers at the expense @@ -35,6 +36,7 @@ options: description: - restrict results to servers matching a dictionary of filters + type: dict all_projects: description: - Whether to list servers from all projects or just the current auth diff --git a/plugins/modules/os_server_metadata.py b/plugins/modules/os_server_metadata.py index 9062afa5..9d25debd 100644 --- a/plugins/modules/os_server_metadata.py +++ b/plugins/modules/os_server_metadata.py @@ -22,21 +22,25 @@ options: - Name of the instance to update the metadata required: true aliases: ['name'] + type: str meta: description: - 'A list of key value pairs that should be provided as a metadata to the instance or a string containing a list of key-value pairs. Eg: meta: "key1=value1,key2=value2"' required: true + type: dict state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str availability_zone: description: - Availability zone in which to create the snapshot. required: false + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_server_volume.py b/plugins/modules/os_server_volume.py index 4924d93e..92c2ccfc 100644 --- a/plugins/modules/os_server_volume.py +++ b/plugins/modules/os_server_volume.py @@ -24,17 +24,21 @@ options: choices: [present, absent] default: present required: false + type: str server: description: - Name or ID of server you want to attach a volume to required: true + type: str volume: description: - Name or id of volume you want to attach to a server required: true + type: str device: description: - Device you want to attach. Defaults to auto finding a device name. + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_stack.py b/plugins/modules/os_stack.py index 84319da6..1dc027f6 100644 --- a/plugins/modules/os_stack.py +++ b/plugins/modules/os_stack.py @@ -26,22 +26,28 @@ options: - Indicate desired state of the resource choices: ['present', 'absent'] default: present + type: str name: description: - Name of the stack that should be created, name could be char and digit, no space required: true + type: str tag: description: - Tag for the stack that should be created, name could be char and digit, no space + type: str template: description: - Path of the template file to use for the stack creation + type: str environment: description: - List of environment files that should be used for the stack creation + type: list parameters: description: - Dictionary of parameters for the stack creation + type: dict rollback: description: - Rollback stack creation @@ -51,6 +57,7 @@ options: description: - Maximum number of seconds to wait for the stack creation default: 3600 + type: int requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_subnet.py b/plugins/modules/os_subnet.py index a6db1e2d..4fc85854 100644 --- a/plugins/modules/os_subnet.py +++ b/plugins/modules/os_subnet.py @@ -23,25 +23,30 @@ options: - Indicate desired state of the resource choices: ['present', 'absent'] default: present + type: str network_name: description: - Name of the network to which the subnet should be attached - Required when I(state) is 'present' + type: str name: description: - The name of the subnet that should be created. Although Neutron allows for non-unique subnet names, this module enforces subnet name uniqueness. required: true + type: str cidr: description: - The CIDR representation of the subnet that should be assigned to the subnet. Required when I(state) is 'present' and a subnetpool is not specified. + type: str ip_version: description: - The IP version of the subnet 4 or 6 default: 4 + type: str enable_dhcp: description: - Whether DHCP should be enabled for this subnet. @@ -50,6 +55,7 @@ options: gateway_ip: description: - The ip that would be assigned to the gateway for this subnet + type: str no_gateway_ip: description: - The gateway IP would not be assigned for this subnet @@ -58,25 +64,31 @@ options: dns_nameservers: description: - List of DNS nameservers for this subnet. + type: list allocation_pool_start: description: - From the subnet pool the starting address from which the IP should be allocated. + type: str allocation_pool_end: description: - From the subnet pool the last IP that should be assigned to the virtual machines. + type: str host_routes: description: - A list of host route dictionaries for the subnet. + type: list ipv6_ra_mode: description: - IPv6 router advertisement mode choices: ['dhcpv6-stateful', 'dhcpv6-stateless', 'slaac'] + type: str ipv6_address_mode: description: - IPv6 address mode choices: ['dhcpv6-stateful', 'dhcpv6-stateless', 'slaac'] + type: str use_default_subnetpool: description: - Use the default subnetpool for I(ip_version) to obtain a CIDR. @@ -85,11 +97,13 @@ options: project: description: - Project name or ID containing the subnet (name admin-only) + type: str extra_specs: description: - Dictionary with extra key/value pairs passed to the API required: false default: {} + type: dict requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_subnets_info.py b/plugins/modules/os_subnets_info.py index 4e093d8c..fc11b948 100644 --- a/plugins/modules/os_subnets_info.py +++ b/plugins/modules/os_subnets_info.py @@ -25,11 +25,13 @@ options: - Alias 'subnet' added in version 2.8. required: false aliases: ['subnet'] + type: str filters: description: - A dictionary of meta data to use for further filtering. Elements of this dictionary may be additional dictionaries. required: false + type: dict requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_user.py b/plugins/modules/os_user.py index cd6f5952..d8b7211a 100644 --- a/plugins/modules/os_user.py +++ b/plugins/modules/os_user.py @@ -24,27 +24,34 @@ options: description: - Username for the user required: true + type: str password: description: - Password for the user + type: str update_password: required: false choices: ['always', 'on_create'] description: - C(always) will attempt to update password. C(on_create) will only set the password for newly created users. + type: str email: description: - Email address for the user + type: str description: description: - Description about the user + type: str default_project: description: - Project name or ID that the user should be associated with by default + type: str domain: description: - Domain to create the user in if the cloud supports domains + type: str enabled: description: - Is the user enabled @@ -55,6 +62,7 @@ options: - Should the resource be present or absent. choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_user_group.py b/plugins/modules/os_user_group.py index ad19bcfb..5c6f480f 100644 --- a/plugins/modules/os_user_group.py +++ b/plugins/modules/os_user_group.py @@ -20,15 +20,18 @@ options: description: - Name or id for the user required: true + type: str group: description: - Name or id for the group. required: true + type: str state: description: - Should the user be present or absent in the group choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_user_info.py b/plugins/modules/os_user_info.py index 74dbb4de..0be7c08d 100644 --- a/plugins/modules/os_user_info.py +++ b/plugins/modules/os_user_info.py @@ -22,13 +22,16 @@ options: description: - Name or ID of the user required: true + type: str domain: description: - Name or ID of the domain containing the user if the cloud supports domains + type: str filters: description: - A dictionary of meta data to use for further filtering. Elements of this dictionary may be additional dictionaries. + type: dict requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_user_role.py b/plugins/modules/os_user_role.py index 69175638..87b53058 100644 --- a/plugins/modules/os_user_role.py +++ b/plugins/modules/os_user_role.py @@ -21,28 +21,34 @@ options: description: - Name or ID for the role. required: true + type: str user: description: - Name or ID for the user. If I(user) is not specified, then I(group) is required. Both may not be specified. + type: str group: description: - Name or ID for the group. Valid only with keystone version 3. If I(group) is not specified, then I(user) is required. Both may not be specified. + type: str project: description: - Name or ID of the project to scope the role association to. If you are using keystone version 2, then this value is required. + type: str domain: description: - Name or ID of the domain to scope the role association to. Valid only with keystone version 3, and required if I(project) is not specified. + type: str state: description: - Should the roles be present or absent on the user. choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_volume.py b/plugins/modules/os_volume.py index 3eb82a35..9507dc28 100644 --- a/plugins/modules/os_volume.py +++ b/plugins/modules/os_volume.py @@ -21,25 +21,34 @@ options: description: - Size of volume in GB. This parameter is required when the I(state) parameter is 'present'. + type: int display_name: description: - Name of volume required: true + type: str + aliases: [name] display_description: description: - String describing the volume + type: str + aliases: [description] volume_type: description: - Volume type for volume + type: str image: description: - Image name or id for boot from volume + type: str snapshot_id: description: - Volume snapshot id to create from + type: str volume: description: - Volume name or id to create from + type: str bootable: description: - Bootable flag for volume. @@ -50,12 +59,15 @@ options: - Should the resource be present or absent. choices: [present, absent] default: present + type: str scheduler_hints: description: - Scheduler hints passed to volume API in form of dict + type: dict metadata: description: - Metadata for the volume + type: dict requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_volume_snapshot.py b/plugins/modules/os_volume_snapshot.py index 02976a4c..208a913d 100644 --- a/plugins/modules/os_volume_snapshot.py +++ b/plugins/modules/os_volume_snapshot.py @@ -22,14 +22,17 @@ options: - Name of the snapshot required: true aliases: ['name'] + type: str display_description: description: - String describing the snapshot aliases: ['description'] + type: str volume: description: - The volume name or id to create/delete the snapshot required: True + type: str force: description: - Allows or disallows snapshot of a volume to be created when the volume @@ -41,6 +44,7 @@ options: - Should the resource be present or absent. choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/plugins/modules/os_zone.py b/plugins/modules/os_zone.py index 2a5a8ca0..9b8a65d5 100644 --- a/plugins/modules/os_zone.py +++ b/plugins/modules/os_zone.py @@ -22,27 +22,34 @@ options: description: - Zone name required: true + type: str zone_type: description: - Zone type choices: [primary, secondary] + type: str email: description: - Email of the zone owner (only applies if zone_type is primary) + type: str description: description: - Zone description + type: str ttl: description: - TTL (Time To Live) value in seconds + type: int masters: description: - Master nameservers (only applies if zone_type is secondary) + type: list state: description: - Should the resource be present or absent. choices: [present, absent] default: present + type: str requirements: - "python >= 3.6" - "openstacksdk" diff --git a/tests/sanity/ignore-2.10.txt b/tests/sanity/ignore-2.10.txt index ab531535..491bddeb 100644 --- a/tests/sanity/ignore-2.10.txt +++ b/tests/sanity/ignore-2.10.txt @@ -1,123 +1,25 @@ plugins/module_utils/openstack.py future-import-boilerplate plugins/module_utils/openstack.py metaclass-boilerplate -plugins/modules/os_auth.py validate-modules:doc-missing-type -plugins/modules/os_client_config.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_coe_cluster.py validate-modules:doc-missing-type -plugins/modules/os_coe_cluster.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_coe_cluster_template.py validate-modules:doc-missing-type plugins/modules/os_coe_cluster_template.py validate-modules:doc-required-mismatch -plugins/modules/os_coe_cluster_template.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_flavor_info.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_flavor_info.py validate-modules:doc-missing-type -plugins/modules/os_flavor_info.py validate-modules:implied-parameter-type-mismatch -plugins/modules/os_flavor_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_floating_ip.py validate-modules:doc-missing-type -plugins/modules/os_group.py validate-modules:doc-missing-type plugins/modules/os_group_info.py validate-modules:doc-required-mismatch plugins/modules/os_image.py validate-modules:doc-choices-do-not-match-spec plugins/modules/os_image.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_image.py validate-modules:doc-missing-type -plugins/modules/os_image.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_image_info.py validate-modules:doc-missing-type plugins/modules/os_ironic.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/os_ironic.py validate-modules:doc-missing-type plugins/modules/os_ironic.py validate-modules:doc-required-mismatch -plugins/modules/os_ironic.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_ironic_inspect.py validate-modules:doc-missing-type -plugins/modules/os_ironic_node.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/os_ironic_node.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_ironic_node.py validate-modules:doc-missing-type -plugins/modules/os_ironic_node.py validate-modules:implied-parameter-type-mismatch -plugins/modules/os_ironic_node.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_ironic_node.py validate-modules:undocumented-parameter -plugins/modules/os_keypair.py validate-modules:doc-missing-type -plugins/modules/os_keystone_domain.py validate-modules:doc-missing-type -plugins/modules/os_keystone_domain_info.py validate-modules:doc-missing-type -plugins/modules/os_keystone_domain_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_keystone_endpoint.py validate-modules:doc-missing-type -plugins/modules/os_keystone_endpoint.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_keystone_endpoint.py validate-modules:undocumented-parameter -plugins/modules/os_keystone_role.py validate-modules:doc-missing-type -plugins/modules/os_keystone_service.py validate-modules:doc-missing-type -plugins/modules/os_listener.py validate-modules:doc-missing-type -plugins/modules/os_listener.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_loadbalancer.py validate-modules:doc-missing-type -plugins/modules/os_loadbalancer.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_member.py validate-modules:doc-missing-type -plugins/modules/os_member.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_network.py validate-modules:doc-missing-type -plugins/modules/os_network.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_networks_info.py validate-modules:doc-missing-type -plugins/modules/os_networks_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_nova_flavor.py validate-modules:doc-missing-type plugins/modules/os_nova_flavor.py validate-modules:doc-required-mismatch -plugins/modules/os_nova_flavor.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_object.py validate-modules:doc-missing-type -plugins/modules/os_pool.py validate-modules:doc-missing-type -plugins/modules/os_port.py validate-modules:doc-missing-type plugins/modules/os_port.py validate-modules:doc-required-mismatch -plugins/modules/os_port.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_port_info.py validate-modules:doc-missing-type -plugins/modules/os_port_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_project.py validate-modules:doc-missing-type -plugins/modules/os_project_access.py validate-modules:doc-missing-type plugins/modules/os_project_access.py validate-modules:doc-required-mismatch -plugins/modules/os_project_access.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_project_info.py validate-modules:doc-missing-type plugins/modules/os_project_info.py validate-modules:doc-required-mismatch -plugins/modules/os_project_info.py validate-modules:parameter-type-not-in-doc plugins/modules/os_quota.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/os_quota.py validate-modules:doc-missing-type -plugins/modules/os_quota.py validate-modules:nonexistent-parameter-documented -plugins/modules/os_quota.py validate-modules:parameter-type-not-in-doc plugins/modules/os_quota.py validate-modules:return-syntax-error -plugins/modules/os_quota.py validate-modules:undocumented-parameter -plugins/modules/os_recordset.py validate-modules:doc-missing-type plugins/modules/os_recordset.py validate-modules:doc-required-mismatch -plugins/modules/os_recordset.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_router.py validate-modules:doc-missing-type -plugins/modules/os_router.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_routers_info.py validate-modules:doc-missing-type -plugins/modules/os_routers_info.py validate-modules:undocumented-parameter -plugins/modules/os_security_group.py validate-modules:doc-missing-type -plugins/modules/os_security_group_rule.py validate-modules:doc-missing-type -plugins/modules/os_security_group_rule.py validate-modules:parameter-type-not-in-doc plugins/modules/os_server.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_server.py validate-modules:doc-missing-type plugins/modules/os_server.py validate-modules:doc-required-mismatch -plugins/modules/os_server.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_server.py validate-modules:undocumented-parameter plugins/modules/os_server_action.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_server_action.py validate-modules:doc-missing-type plugins/modules/os_server_action.py validate-modules:doc-required-mismatch -plugins/modules/os_server_group.py validate-modules:doc-missing-type -plugins/modules/os_server_group.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_server_info.py validate-modules:doc-missing-type -plugins/modules/os_server_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_server_metadata.py validate-modules:doc-missing-type -plugins/modules/os_server_metadata.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_server_volume.py validate-modules:doc-missing-type plugins/modules/os_stack.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_stack.py validate-modules:doc-missing-type -plugins/modules/os_stack.py validate-modules:parameter-type-not-in-doc plugins/modules/os_subnet.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/os_subnet.py validate-modules:doc-missing-type -plugins/modules/os_subnet.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_subnets_info.py validate-modules:doc-missing-type -plugins/modules/os_subnets_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_user.py validate-modules:doc-missing-type -plugins/modules/os_user.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_user_group.py validate-modules:doc-missing-type -plugins/modules/os_user_info.py validate-modules:doc-missing-type plugins/modules/os_user_info.py validate-modules:doc-required-mismatch -plugins/modules/os_user_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_user_role.py validate-modules:doc-missing-type -plugins/modules/os_volume.py validate-modules:doc-missing-type -plugins/modules/os_volume.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_volume.py validate-modules:undocumented-parameter -plugins/modules/os_volume_snapshot.py validate-modules:doc-missing-type -plugins/modules/os_zone.py validate-modules:doc-missing-type -plugins/modules/os_zone.py validate-modules:parameter-type-not-in-doc plugins/doc_fragments/openstack.py future-import-boilerplate plugins/doc_fragments/openstack.py metaclass-boilerplate tests/unit/mock/path.py future-import-boilerplate diff --git a/tests/sanity/ignore-2.9.txt b/tests/sanity/ignore-2.9.txt index b904e80a..98086807 100644 --- a/tests/sanity/ignore-2.9.txt +++ b/tests/sanity/ignore-2.9.txt @@ -1,112 +1,17 @@ plugins/module_utils/openstack.py future-import-boilerplate plugins/module_utils/openstack.py metaclass-boilerplate -plugins/modules/os_auth.py validate-modules:doc-missing-type -plugins/modules/os_client_config.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_coe_cluster.py validate-modules:doc-missing-type -plugins/modules/os_coe_cluster.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_coe_cluster_template.py validate-modules:doc-missing-type -plugins/modules/os_coe_cluster_template.py validate-modules:parameter-type-not-in-doc plugins/modules/os_flavor_info.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_flavor_info.py validate-modules:doc-missing-type -plugins/modules/os_flavor_info.py validate-modules:implied-parameter-type-mismatch -plugins/modules/os_flavor_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_floating_ip.py validate-modules:doc-missing-type -plugins/modules/os_group.py validate-modules:doc-missing-type plugins/modules/os_image.py validate-modules:doc-choices-do-not-match-spec plugins/modules/os_image.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_image.py validate-modules:doc-missing-type -plugins/modules/os_image.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_image_info.py validate-modules:doc-missing-type plugins/modules/os_ironic.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/os_ironic.py validate-modules:doc-missing-type -plugins/modules/os_ironic.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_ironic_inspect.py validate-modules:doc-missing-type plugins/modules/os_ironic_node.py validate-modules:doc-choices-do-not-match-spec plugins/modules/os_ironic_node.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_ironic_node.py validate-modules:doc-missing-type -plugins/modules/os_ironic_node.py validate-modules:implied-parameter-type-mismatch -plugins/modules/os_ironic_node.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_ironic_node.py validate-modules:undocumented-parameter -plugins/modules/os_keypair.py validate-modules:doc-missing-type -plugins/modules/os_keystone_domain.py validate-modules:doc-missing-type -plugins/modules/os_keystone_domain_info.py validate-modules:doc-missing-type -plugins/modules/os_keystone_domain_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_keystone_endpoint.py validate-modules:doc-missing-type -plugins/modules/os_keystone_endpoint.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_keystone_endpoint.py validate-modules:undocumented-parameter -plugins/modules/os_keystone_role.py validate-modules:doc-missing-type -plugins/modules/os_keystone_service.py validate-modules:doc-missing-type -plugins/modules/os_listener.py validate-modules:doc-missing-type -plugins/modules/os_listener.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_loadbalancer.py validate-modules:doc-missing-type -plugins/modules/os_loadbalancer.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_member.py validate-modules:doc-missing-type -plugins/modules/os_member.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_network.py validate-modules:doc-missing-type -plugins/modules/os_network.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_networks_info.py validate-modules:doc-missing-type -plugins/modules/os_networks_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_nova_flavor.py validate-modules:doc-missing-type -plugins/modules/os_nova_flavor.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_object.py validate-modules:doc-missing-type -plugins/modules/os_pool.py validate-modules:doc-missing-type -plugins/modules/os_port.py validate-modules:doc-missing-type -plugins/modules/os_port.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_port_info.py validate-modules:doc-missing-type -plugins/modules/os_port_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_project.py validate-modules:doc-missing-type -plugins/modules/os_project_access.py validate-modules:doc-missing-type -plugins/modules/os_project_access.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_project_info.py validate-modules:doc-missing-type -plugins/modules/os_project_info.py validate-modules:parameter-type-not-in-doc plugins/modules/os_quota.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/os_quota.py validate-modules:doc-missing-type -plugins/modules/os_quota.py validate-modules:nonexistent-parameter-documented -plugins/modules/os_quota.py validate-modules:parameter-type-not-in-doc plugins/modules/os_quota.py validate-modules:return-syntax-error -plugins/modules/os_quota.py validate-modules:undocumented-parameter -plugins/modules/os_recordset.py validate-modules:doc-missing-type -plugins/modules/os_recordset.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_router.py validate-modules:doc-missing-type -plugins/modules/os_router.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_routers_info.py validate-modules:doc-missing-type -plugins/modules/os_routers_info.py validate-modules:undocumented-parameter -plugins/modules/os_security_group.py validate-modules:doc-missing-type -plugins/modules/os_security_group_rule.py validate-modules:doc-missing-type -plugins/modules/os_security_group_rule.py validate-modules:parameter-type-not-in-doc plugins/modules/os_server.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_server.py validate-modules:doc-missing-type -plugins/modules/os_server.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_server.py validate-modules:undocumented-parameter plugins/modules/os_server_action.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_server_action.py validate-modules:doc-missing-type -plugins/modules/os_server_group.py validate-modules:doc-missing-type -plugins/modules/os_server_group.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_server_info.py validate-modules:doc-missing-type -plugins/modules/os_server_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_server_metadata.py validate-modules:doc-missing-type -plugins/modules/os_server_metadata.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_server_volume.py validate-modules:doc-missing-type plugins/modules/os_stack.py validate-modules:doc-default-does-not-match-spec -plugins/modules/os_stack.py validate-modules:doc-missing-type -plugins/modules/os_stack.py validate-modules:parameter-type-not-in-doc plugins/modules/os_subnet.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/os_subnet.py validate-modules:doc-missing-type -plugins/modules/os_subnet.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_subnets_info.py validate-modules:doc-missing-type -plugins/modules/os_subnets_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_user.py validate-modules:doc-missing-type -plugins/modules/os_user.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_user_group.py validate-modules:doc-missing-type -plugins/modules/os_user_info.py validate-modules:doc-missing-type -plugins/modules/os_user_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_user_role.py validate-modules:doc-missing-type -plugins/modules/os_volume.py validate-modules:doc-missing-type -plugins/modules/os_volume.py validate-modules:parameter-type-not-in-doc -plugins/modules/os_volume.py validate-modules:undocumented-parameter -plugins/modules/os_volume_snapshot.py validate-modules:doc-missing-type -plugins/modules/os_zone.py validate-modules:doc-missing-type -plugins/modules/os_zone.py validate-modules:parameter-type-not-in-doc plugins/doc_fragments/openstack.py future-import-boilerplate plugins/doc_fragments/openstack.py metaclass-boilerplate tests/unit/mock/path.py future-import-boilerplate