diff --git a/lib/ansible/modules/cloud/google/gcp_compute_url_map.py b/lib/ansible/modules/cloud/google/gcp_compute_url_map.py index 74a68f29dd7..d43176a6dbc 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_url_map.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_url_map.py @@ -57,32 +57,38 @@ options: name-of-resource` to a gcp_compute_backend_service task and then set this default_service field to "{{ name-of-resource }}"' required: true + type: dict description: description: - An optional description of this resource. Provide this property when you create the resource. required: false + type: str host_rules: description: - The list of HostRules to use against the URL. required: false + type: list suboptions: description: description: - An optional description of this HostRule. Provide this property when you create the resource. required: false + type: str hosts: description: - The list of host patterns to match. They must be valid hostnames, except * will match any string of ([a-z0-9-.]*). In that case, * must be the first character and must be followed in the pattern by either - or . required: true + type: list path_matcher: description: - The name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion. required: true + type: str name: description: - Name of the resource. Provided by the client when the resource is created. The @@ -92,10 +98,12 @@ options: characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. required: true + type: str path_matchers: description: - The list of named PathMatchers to use against the URL. required: false + type: list suboptions: default_service: description: @@ -107,18 +115,22 @@ options: name-of-resource` to a gcp_compute_backend_service task and then set this default_service field to "{{ name-of-resource }}"' required: true + type: dict description: description: - An optional description of this resource. required: false + type: str name: description: - The name to which this PathMatcher is referred by the HostRule. required: true + type: str path_rules: description: - The list of path rules. required: false + type: list suboptions: paths: description: @@ -127,6 +139,7 @@ options: to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.' required: true + type: list service: description: - A reference to the BackendService resource if this rule is matched. @@ -136,24 +149,29 @@ options: you can add `register: name-of-resource` to a gcp_compute_backend_service task and then set this service field to "{{ name-of-resource }}"' required: true + type: dict tests: description: - The list of expected URL mappings. Requests to update this UrlMap will succeed only if all of the test cases pass. required: false + type: list suboptions: description: description: - Description of this test case. required: false + type: str host: description: - Host portion of the URL. required: true + type: str path: description: - Path portion of the URL. required: true + type: str service: description: - A reference to expected BackendService resource the given URL should be @@ -164,6 +182,7 @@ options: name-of-resource` to a gcp_compute_backend_service task and then set this service field to "{{ name-of-resource }}"' required: true + type: dict extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel.py b/lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel.py index 0e5f74561c0..84e7ff2e7f2 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel.py @@ -55,10 +55,12 @@ options: be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. required: true + type: str description: description: - An optional description of this resource. required: false + type: str target_vpn_gateway: description: - URL of the Target VPN gateway with which this VPN tunnel is associated. @@ -68,6 +70,7 @@ options: name-of-resource` to a gcp_compute_target_vpn_gateway task and then set this target_vpn_gateway field to "{{ name-of-resource }}"' required: false + type: dict router: description: - URL of router resource to be used for dynamic routing. @@ -77,21 +80,25 @@ options: to a gcp_compute_router task and then set this router field to "{{ name-of-resource }}"' required: false + type: dict peer_ip: description: - IP address of the peer VPN gateway. Only IPv4 is supported. required: false + type: str shared_secret: description: - Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway. required: true + type: str ike_version: description: - IKE protocol version to use when establishing the VPN tunnel with peer VPN gateway. - Acceptable IKE versions are 1 or 2. Default version is 2. required: false default: '2' + type: int local_traffic_selector: description: - Local traffic selector to use when establishing the VPN tunnel with peer VPN @@ -99,6 +106,7 @@ options: The ranges should be disjoint. - Only IPv4 is supported. required: false + type: list remote_traffic_selector: description: - Remote traffic selector to use when establishing the VPN tunnel with peer VPN @@ -106,10 +114,12 @@ options: The ranges should be disjoint. - Only IPv4 is supported. required: false + type: list region: description: - The region where the tunnel is located. required: true + type: str extends_documentation_fragment: gcp notes: - 'API Reference: U(https://cloud.google.com/compute/docs/reference/rest/v1/vpnTunnels)' diff --git a/lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel_facts.py index 62cfe4a357f..2d07d881ba7 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel_facts.py @@ -49,6 +49,7 @@ options: description: - The region where the tunnel is located. required: true + type: str extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_container_cluster.py b/lib/ansible/modules/cloud/google/gcp_container_cluster.py index 70a140db719..030094fee8f 100644 --- a/lib/ansible/modules/cloud/google/gcp_container_cluster.py +++ b/lib/ansible/modules/cloud/google/gcp_container_cluster.py @@ -53,10 +53,12 @@ options: and can be up to 40 characters. Must be Lowercase letters, numbers, and hyphens only. Must start with a letter. Must end with a number or a letter. required: false + type: str description: description: - An optional description of this cluster. required: false + type: str initial_node_count: description: - The number of nodes to create in this cluster. You must ensure that your Compute @@ -67,6 +69,7 @@ options: name. Do not use this and a nodePool at the same time. - This field has been deprecated. Please use nodePool.initial_node_count instead. required: false + type: int node_config: description: - Parameters used in creating the cluster's nodes. @@ -77,17 +80,20 @@ options: the node configuration of the first node pool. If unspecified, the defaults are used. required: false + type: dict suboptions: machine_type: description: - The name of a Google Compute Engine machine type (e.g. - n1-standard-1). If unspecified, the default machine type is n1-standard-1. required: false + type: str disk_size_gb: description: - Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB. required: false + type: int oauth_scopes: description: - The set of Google API scopes to be made available on all of the node VMs @@ -100,11 +106,13 @@ options: - If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. required: false + type: list service_account: description: - The Google Cloud Platform Service Account to be used by the node VMs. If no Service Account is specified, the "default" service account is used. required: false + type: str metadata: description: - The metadata key/value pairs assigned to instances in the cluster. @@ -120,11 +128,13 @@ options: - 'An object containing a list of "key": value pairs.' - 'Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.' required: false + type: dict image_type: description: - The image type to use for this node. Note that for a given image type, the latest version of it will be used. required: false + type: str labels: description: - 'The map of Kubernetes labels (key/value pairs) to be applied to each node. @@ -136,6 +146,7 @@ options: An object containing a list of "key": value pairs.' - 'Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.' required: false + type: dict local_ssd_count: description: - The number of local SSD disks to be attached to the node. @@ -143,6 +154,7 @@ options: available on a machine per zone. See: U(https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits) for more information.' required: false + type: int tags: description: - The list of instance tags applied to all nodes. Tags are used to identify @@ -150,6 +162,7 @@ options: client during cluster or node pool creation. Each tag within the list must comply with RFC1035. required: false + type: list preemptible: description: - 'Whether the nodes are created as preemptible VM instances. See: U(https://cloud.google.com/compute/docs/instances/preemptible) @@ -161,27 +174,32 @@ options: - A list of hardware accelerators to be attached to each node. See U(https://cloud.google.com/compute/docs/gpus) for more information about support for GPUs. required: false + type: list version_added: 2.9 suboptions: accelerator_count: description: - The number of accelerator cards exposed to an instance. required: false + type: str accelerator_type: description: - The accelerator type resource name. required: false + type: str disk_type: description: - Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd') If unspecified, the default disk type is 'pd-standard' . required: false + type: str version_added: 2.9 min_cpu_platform: description: - Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. required: false + type: str version_added: 2.9 taints: description: @@ -189,43 +207,51 @@ options: - 'For more information, including usage and the valid values, see: U(https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) .' required: false + type: list version_added: 2.9 suboptions: key: description: - Key for taint. required: false + type: str value: description: - Value for taint. required: false + type: str effect: description: - Effect for taint. - 'Some valid choices include: "EFFECT_UNSPECIFIED", "NO_SCHEDULE", "PREFER_NO_SCHEDULE", "NO_EXECUTE"' required: false + type: str master_auth: description: - The authentication information for accessing the master endpoint. required: false + type: dict suboptions: username: description: - The username to use for HTTP basic authentication to the master endpoint. required: false + type: str password: description: - The password to use for HTTP basic authentication to the master endpoint. Because the master endpoint is open to the Internet, you should create a strong password with a minimum of 16 characters. required: false + type: str client_certificate_config: description: - Configuration for client certificate authentication on the cluster. For clusters before v1.12, if no configuration is specified, a client certificate is issued. required: false + type: dict version_added: 2.9 suboptions: issue_client_certificate: @@ -241,6 +267,7 @@ options: - if left as an empty string,logging.googleapis.com will be used. - 'Some valid choices include: "logging.googleapis.com", "none"' required: false + type: str monitoring_service: description: - The monitoring service the cluster should use to write metrics. @@ -250,15 +277,18 @@ options: - if left as an empty string, monitoring.googleapis.com will be used. - 'Some valid choices include: "monitoring.googleapis.com", "none"' required: false + type: str network: description: - The name of the Google Compute Engine network to which the cluster is connected. If left unspecified, the default network will be used. required: false + type: str private_cluster_config: description: - Configuration for a private cluster. required: false + type: dict version_added: 2.8 suboptions: enable_private_nodes: @@ -280,22 +310,26 @@ options: set of masters, as well as the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network. required: false + type: str cluster_ipv4_cidr: description: - The IP address range of the container pods in this cluster, in CIDR notation (e.g. 10.96.0.0/14). Leave blank to have one automatically chosen or specify a /14 block in 10.0.0.0/8. required: false + type: str addons_config: description: - Configurations for the various addons available to run in the cluster. required: false + type: dict suboptions: http_load_balancing: description: - Configuration for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. required: false + type: dict suboptions: disabled: description: @@ -310,6 +344,7 @@ options: or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. required: false + type: dict suboptions: disabled: description: @@ -324,6 +359,7 @@ options: or not on the Master, it does not track whether network policy is enabled for the nodes. required: false + type: dict version_added: 2.9 suboptions: disabled: @@ -335,11 +371,13 @@ options: description: - The name of the Google Compute Engine subnetwork to which the cluster is connected. required: false + type: str locations: description: - The list of Google Compute Engine zones in which the cluster's nodes should be located. required: false + type: list aliases: - nodeLocations version_added: 2.9 @@ -348,11 +386,13 @@ options: - The resource labels for the cluster to use to annotate any related Google Compute Engine resources. required: false + type: dict version_added: 2.9 legacy_abac: description: - Configuration for the legacy ABAC authorization mode. required: false + type: dict version_added: 2.9 suboptions: enabled: @@ -367,6 +407,7 @@ options: description: - Configuration options for the NetworkPolicy feature. required: false + type: dict version_added: 2.9 suboptions: provider: @@ -374,6 +415,7 @@ options: - The selected network policy provider. - 'Some valid choices include: "PROVIDER_UNSPECIFIED", "CALICO"' required: false + type: str enabled: description: - Whether network policy is enabled on the cluster. @@ -385,12 +427,14 @@ options: on a node in the node pool of this cluster. - Only honored if cluster created with IP Alias support. required: false + type: dict version_added: 2.9 suboptions: max_pods_per_node: description: - Constraint enforced on the max num of pods per node. required: false + type: str enable_tpu: description: - Enable the ability to use Cloud TPUs in this cluster. @@ -401,11 +445,13 @@ options: description: - The IP address range of the Cloud TPUs in this cluster, in CIDR notation. required: false + type: str version_added: 2.9 location: description: - The location where the cluster is deployed. required: true + type: str aliases: - zone version_added: 2.8 @@ -416,12 +462,14 @@ options: - Any existing file at this path will be completely overwritten. - This requires the PyYaml library. required: false + type: str version_added: 2.9 kubectl_context: description: - The name of the context for the kubectl config file. Will default to the cluster name. required: false + type: str version_added: 2.9 extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_container_cluster_facts.py b/lib/ansible/modules/cloud/google/gcp_container_cluster_facts.py index 0e9aab5df6b..c20357092f7 100644 --- a/lib/ansible/modules/cloud/google/gcp_container_cluster_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_container_cluster_facts.py @@ -44,6 +44,7 @@ options: description: - The location where the cluster is deployed. required: true + type: str aliases: - region - zone diff --git a/lib/ansible/modules/cloud/google/gcp_container_node_pool.py b/lib/ansible/modules/cloud/google/gcp_container_node_pool.py index 4dee9654282..fa0d250e8fd 100644 --- a/lib/ansible/modules/cloud/google/gcp_container_node_pool.py +++ b/lib/ansible/modules/cloud/google/gcp_container_node_pool.py @@ -55,21 +55,25 @@ options: description: - The name of the node pool. required: false + type: str config: description: - The node configuration of the pool. required: false + type: dict suboptions: machine_type: description: - The name of a Google Compute Engine machine type (e.g. - n1-standard-1). If unspecified, the default machine type is n1-standard-1. required: false + type: str disk_size_gb: description: - Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB. required: false + type: int oauth_scopes: description: - The set of Google API scopes to be made available on all of the node VMs @@ -82,11 +86,13 @@ options: - If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. required: false + type: list service_account: description: - The Google Cloud Platform Service Account to be used by the node VMs. If no Service Account is specified, the "default" service account is used. required: false + type: str metadata: description: - The metadata key/value pairs assigned to instances in the cluster. @@ -102,11 +108,13 @@ options: - 'An object containing a list of "key": value pairs.' - 'Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.' required: false + type: dict image_type: description: - The image type to use for this node. Note that for a given image type, the latest version of it will be used. required: false + type: str labels: description: - 'The map of Kubernetes labels (key/value pairs) to be applied to each node. @@ -118,6 +126,7 @@ options: An object containing a list of "key": value pairs.' - 'Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.' required: false + type: dict local_ssd_count: description: - The number of local SSD disks to be attached to the node. @@ -125,6 +134,7 @@ options: available on a machine per zone. See: U(https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits) for more information.' required: false + type: int tags: description: - The list of instance tags applied to all nodes. Tags are used to identify @@ -132,6 +142,7 @@ options: client during cluster or node pool creation. Each tag within the list must comply with RFC1035. required: false + type: list preemptible: description: - 'Whether the nodes are created as preemptible VM instances. See: U(https://cloud.google.com/compute/docs/instances/preemptible) @@ -142,62 +153,74 @@ options: description: - A list of hardware accelerators to be attached to each node. required: false + type: list version_added: 2.9 suboptions: accelerator_count: description: - The number of the accelerator cards exposed to an instance. required: false + type: int accelerator_type: description: - The accelerator type resource name. required: false + type: str disk_type: description: - Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd') If unspecified, the default disk type is 'pd-standard' . required: false + type: str version_added: 2.9 min_cpu_platform: description: - Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform . required: false + type: str version_added: 2.9 taints: description: - List of kubernetes taints to be applied to each node. required: false + type: list version_added: 2.9 suboptions: key: description: - Key for taint. required: false + type: str value: description: - Value for taint. required: false + type: str effect: description: - Effect for taint. required: false + type: str initial_node_count: description: - The initial node count for the pool. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota. required: true + type: int version: description: - The version of the Kubernetes of this node. required: false + type: str version_added: 2.8 autoscaling: description: - Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present. required: false + type: dict suboptions: enabled: description: @@ -208,15 +231,18 @@ options: description: - Minimum number of nodes in the NodePool. Must be >= 1 and <= maxNodeCount. required: false + type: int max_node_count: description: - Maximum number of nodes in the NodePool. Must be >= minNodeCount. - There has to enough quota to scale up the cluster. required: false + type: int management: description: - Management configuration for this NodePool. required: false + type: dict suboptions: auto_upgrade: description: @@ -237,22 +263,26 @@ options: description: - Specifies the Auto Upgrade knobs for the node pool. required: false + type: dict suboptions: {} max_pods_constraint: description: - The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool. required: false + type: dict version_added: 2.9 suboptions: max_pods_per_node: description: - Constraint enforced on the max num of pods per node. required: false + type: int conditions: description: - Which conditions caused the current node pool state. required: false + type: list version_added: 2.9 suboptions: code: @@ -261,6 +291,7 @@ options: - 'Some valid choices include: "UNKNOWN", "GCE_STOCKOUT", "GKE_SERVICE_ACCOUNT_DELETED", "GCE_QUOTA_EXCEEDED", "SET_BY_OPERATOR"' required: false + type: str cluster: description: - The cluster this node pool belongs to. @@ -270,10 +301,12 @@ options: to a gcp_container_cluster task and then set this cluster field to "{{ name-of-resource }}"' required: true + type: dict location: description: - The location where the node pool is deployed. required: true + type: str aliases: - region - zone diff --git a/lib/ansible/modules/cloud/google/gcp_container_node_pool_facts.py b/lib/ansible/modules/cloud/google/gcp_container_node_pool_facts.py index c04aa3fd575..a6d3c7c2a5f 100644 --- a/lib/ansible/modules/cloud/google/gcp_container_node_pool_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_container_node_pool_facts.py @@ -44,6 +44,7 @@ options: description: - The location where the node pool is deployed. required: true + type: str aliases: - region - zone @@ -57,6 +58,7 @@ options: to a gcp_container_cluster task and then set this cluster field to "{{ name-of-resource }}"' required: true + type: dict extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_dns_managed_zone.py b/lib/ansible/modules/cloud/google/gcp_dns_managed_zone.py index 91b0d15544c..c620ad7ea27 100644 --- a/lib/ansible/modules/cloud/google/gcp_dns_managed_zone.py +++ b/lib/ansible/modules/cloud/google/gcp_dns_managed_zone.py @@ -53,14 +53,17 @@ options: - A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function. required: true + type: str dns_name: description: - The DNS name of this managed zone, for instance "example.com.". required: true + type: str dnssec_config: description: - DNSSEC configuration. required: false + type: dict version_added: 2.9 suboptions: kind: @@ -68,23 +71,27 @@ options: - Identifies what kind of resource this is. required: false default: dns#managedZoneDnsSecConfig + type: str non_existence: description: - Specifies the mechanism used to provide authenticated denial-of-existence responses. - 'Some valid choices include: "nsec", "nsec3"' required: false + type: str state: description: - Specifies whether DNSSEC is enabled, and what mode it is in. - 'Some valid choices include: "off", "on", "transfer"' required: false + type: str default_key_specs: description: - Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. If you provide a spec for keySigning or zoneSigning, you must also provide one for the other. required: false + type: list suboptions: algorithm: description: @@ -92,10 +99,12 @@ options: - 'Some valid choices include: "ecdsap256sha256", "ecdsap384sha384", "rsasha1", "rsasha256", "rsasha512"' required: false + type: str key_length: description: - Length of the keys in bits. required: false + type: int key_type: description: - Specifies whether this is a key signing key (KSK) or a zone signing @@ -105,26 +114,31 @@ options: and will be used to sign all other types of resource record sets. . - 'Some valid choices include: "keySigning", "zoneSigning"' required: false + type: str kind: description: - Identifies what kind of resource this is. required: false default: dns#dnsKeySpec + type: str name: description: - User assigned name for this resource. - Must be unique within the project. required: true + type: str name_server_set: description: - Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset. required: false + type: str labels: description: - A set of key/value label pairs to assign to this ManagedZone. required: false + type: dict version_added: 2.8 visibility: description: @@ -134,18 +148,21 @@ options: - 'Some valid choices include: "private", "public"' required: false default: public + type: str version_added: 2.8 private_visibility_config: description: - For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from. required: false + type: dict version_added: 2.8 suboptions: networks: description: - The list of VPC networks that can see this zone. required: false + type: list suboptions: network_url: description: @@ -153,6 +170,7 @@ options: - This should be formatted like `U(https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`) . required: false + type: str extends_documentation_fragment: gcp notes: - 'API Reference: U(https://cloud.google.com/dns/api/v1/managedZones)' diff --git a/lib/ansible/modules/cloud/google/gcp_dns_resource_record_set.py b/lib/ansible/modules/cloud/google/gcp_dns_resource_record_set.py index e23f4273ed1..111514fd256 100644 --- a/lib/ansible/modules/cloud/google/gcp_dns_resource_record_set.py +++ b/lib/ansible/modules/cloud/google/gcp_dns_resource_record_set.py @@ -55,20 +55,24 @@ options: description: - For example, U(www.example.com). required: true + type: str type: description: - One of valid DNS resource types. - 'Some valid choices include: "A", "AAAA", "CAA", "CNAME", "MX", "NAPTR", "NS", "PTR", "SOA", "SPF", "SRV", "TLSA", "TXT"' required: true + type: str ttl: description: - Number of seconds that this ResourceRecordSet can be cached by resolvers. required: false + type: int target: description: - As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) . required: false + type: list managed_zone: description: - Identifies the managed zone addressed by this request. @@ -78,6 +82,7 @@ options: to a gcp_dns_managed_zone task and then set this managed_zone field to "{{ name-of-resource }}"' required: true + type: dict extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_dns_resource_record_set_facts.py b/lib/ansible/modules/cloud/google/gcp_dns_resource_record_set_facts.py index 9c9ccb31feb..15b8c9500e5 100644 --- a/lib/ansible/modules/cloud/google/gcp_dns_resource_record_set_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_dns_resource_record_set_facts.py @@ -49,6 +49,7 @@ options: to a gcp_dns_managed_zone task and then set this managed_zone field to "{{ name-of-resource }}"' required: true + type: dict extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_iam_role.py b/lib/ansible/modules/cloud/google/gcp_iam_role.py index 6a039654f7c..ffd422c147b 100644 --- a/lib/ansible/modules/cloud/google/gcp_iam_role.py +++ b/lib/ansible/modules/cloud/google/gcp_iam_role.py @@ -51,25 +51,30 @@ options: description: - The name of the role. required: true + type: str title: description: - A human-readable title for the role. Typically this is limited to 100 UTF-8 bytes. required: false + type: str description: description: - Human-readable description for the role. required: false + type: str included_permissions: description: - Names of permissions this role grants when bound in an IAM policy. required: false + type: list stage: description: - The current launch stage of the role. - 'Some valid choices include: "ALPHA", "BETA", "GA", "DEPRECATED", "DISABLED", "EAP"' required: false + type: str extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_iam_service_account.py b/lib/ansible/modules/cloud/google/gcp_iam_service_account.py index 46674cb7ba9..78bec7fc9af 100644 --- a/lib/ansible/modules/cloud/google/gcp_iam_service_account.py +++ b/lib/ansible/modules/cloud/google/gcp_iam_service_account.py @@ -51,10 +51,12 @@ options: description: - The name of the service account. required: false + type: str display_name: description: - User specified description of service account. required: false + type: str extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_iam_service_account_key.py b/lib/ansible/modules/cloud/google/gcp_iam_service_account_key.py index 4ad8cd4054f..88919667966 100644 --- a/lib/ansible/modules/cloud/google/gcp_iam_service_account_key.py +++ b/lib/ansible/modules/cloud/google/gcp_iam_service_account_key.py @@ -52,11 +52,13 @@ options: - Output format for the service account key. - 'Some valid choices include: "TYPE_UNSPECIFIED", "TYPE_PKCS12_FILE", "TYPE_GOOGLE_CREDENTIALS_FILE"' required: false + type: str key_algorithm: description: - Specifies the algorithm for the key. - 'Some valid choices include: "KEY_ALG_UNSPECIFIED", "KEY_ALG_RSA_1024", "KEY_ALG_RSA_2048"' required: false + type: str service_account: description: - The name of the serviceAccount. @@ -66,12 +68,14 @@ options: to a gcp_iam_service_account task and then set this service_account field to "{{ name-of-resource }}"' required: false + type: dict path: description: - The full name of the file that will hold the service account private key. The management of this file will depend on the value of sync_file parameter. - File path must be absolute. required: false + type: path extends_documentation_fragment: gcp ''' diff --git a/lib/ansible/modules/cloud/google/gcp_pubsub_subscription.py b/lib/ansible/modules/cloud/google/gcp_pubsub_subscription.py index 7425a4a88d6..ef1a8a51b9a 100644 --- a/lib/ansible/modules/cloud/google/gcp_pubsub_subscription.py +++ b/lib/ansible/modules/cloud/google/gcp_pubsub_subscription.py @@ -52,6 +52,7 @@ options: description: - Name of the subscription. required: true + type: str topic: description: - A reference to a Topic resource. @@ -61,10 +62,12 @@ options: to a gcp_pubsub_topic task and then set this topic field to "{{ name-of-resource }}"' required: true + type: dict labels: description: - A set of key/value label pairs to assign to this Subscription. required: false + type: dict version_added: 2.8 push_config: description: @@ -72,12 +75,14 @@ options: it. An empty pushConfig signifies that the subscriber will pull and ack messages using API methods. required: false + type: dict suboptions: push_endpoint: description: - A URL locating the endpoint to which messages should be pushed. - For example, a Webhook endpoint might use "U(https://example.com/push"). required: true + type: str attributes: description: - Endpoint configuration attributes. @@ -97,6 +102,7 @@ options: defined in the v1beta1 Pub/Sub API.' - "- v1 or v1beta2: uses the push format defined in the v1 Pub/Sub API." required: false + type: dict ack_deadline_seconds: description: - This value is the maximum time after a subscriber receives a message before @@ -114,6 +120,7 @@ options: - If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. required: false + type: int message_retention_duration: description: - How long to retain unacknowledged messages in the subscription's backlog, from @@ -125,6 +132,7 @@ options: Example: `"600.5s"`.' required: false default: 604800s + type: str version_added: 2.8 retain_acked_messages: description: @@ -142,6 +150,7 @@ options: If expirationPolicy is not set, a default policy with ttl of 31 days will be used. The minimum allowed value for expirationPolicy.ttl is 1 day. required: false + type: dict version_added: 2.9 suboptions: ttl: @@ -154,6 +163,7 @@ options: - A duration in seconds with up to nine fractional digits, terminated by 's'. - Example - "3.5s". required: false + type: str extends_documentation_fragment: gcp notes: - 'API Reference: U(https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions)' diff --git a/lib/ansible/modules/cloud/google/gcp_pubsub_topic.py b/lib/ansible/modules/cloud/google/gcp_pubsub_topic.py index 017cc508d95..925fdbba870 100644 --- a/lib/ansible/modules/cloud/google/gcp_pubsub_topic.py +++ b/lib/ansible/modules/cloud/google/gcp_pubsub_topic.py @@ -51,6 +51,7 @@ options: description: - Name of the topic. required: true + type: str kms_key_name: description: - The resource name of the Cloud KMS CryptoKey to be used to protect access to @@ -58,11 +59,13 @@ options: must have `roles/cloudkms.cryptoKeyEncrypterDecrypter` to use this feature. - The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*` . required: false + type: str version_added: 2.9 labels: description: - A set of key/value label pairs to assign to this Topic. required: false + type: dict version_added: 2.8 extends_documentation_fragment: gcp notes: diff --git a/lib/ansible/modules/cloud/google/gcp_redis_instance.py b/lib/ansible/modules/cloud/google/gcp_redis_instance.py index 7fa5e41ea82..87a3347abaa 100644 --- a/lib/ansible/modules/cloud/google/gcp_redis_instance.py +++ b/lib/ansible/modules/cloud/google/gcp_redis_instance.py @@ -53,19 +53,23 @@ options: failures by provisioning it across two zones. - If provided, it must be a different zone from the one provided in [locationId]. required: false + type: str authorized_network: description: - The full name of the Google Compute Engine network to which the instance is connected. If left unspecified, the default network will be used. required: false + type: str display_name: description: - An arbitrary and optional user-provided name for the instance. required: false + type: str labels: description: - Resource labels to represent user provided metadata. required: false + type: dict redis_configs: description: - Redis configuration parameters, according to U(http://redis.io/topics/config). @@ -73,6 +77,7 @@ options: U(https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs) .' required: false + type: dict location_id: description: - The zone where the instance will be provisioned. If not provided, the service @@ -80,20 +85,24 @@ options: created across two zones for protection against zonal failures. If [alternativeLocationId] is also provided, it must be different from [locationId]. required: false + type: str name: description: - The ID of the instance or a fully qualified identifier for the instance. . required: true + type: str memory_size_gb: description: - Redis memory size in GiB. required: true + type: int redis_version: description: - The version of Redis software. If not provided, latest supported version will be used. Updating the version will perform an upgrade/downgrade to the new version. Currently, the supported values are REDIS_3_2 for Redis 3.2. required: false + type: str reserved_ip_range: description: - The CIDR range of internal addresses that are reserved for this instance. If @@ -101,6 +110,7 @@ options: or 192.168.0.0/29. Ranges must be unique and non-overlapping with existing subnets in an authorized network. required: false + type: str tier: description: - 'The service tier of the instance. Must be one of these values: - BASIC: standalone @@ -108,10 +118,12 @@ options: - 'Some valid choices include: "BASIC", "STANDARD_HA"' required: false default: BASIC + type: str region: description: - The name of the Redis region of the instance. required: true + type: str extends_documentation_fragment: gcp notes: - 'API Reference: U(https://cloud.google.com/memorystore/docs/redis/reference/rest/)' @@ -459,7 +471,7 @@ def wait_for_operation(module, response): return {} status = navigate_hash(op_result, ['done']) wait_done = wait_for_completion(status, op_result, module) - raise_if_errors(op_result, ['error'], module) + raise_if_errors(wait_done, ['error'], module) return navigate_hash(wait_done, ['response']) diff --git a/lib/ansible/modules/cloud/google/gcp_redis_instance_facts.py b/lib/ansible/modules/cloud/google/gcp_redis_instance_facts.py index 5d430423a39..4c8ea10e329 100644 --- a/lib/ansible/modules/cloud/google/gcp_redis_instance_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_redis_instance_facts.py @@ -44,6 +44,7 @@ options: description: - The name of the Redis region of the instance. required: true + type: str extends_documentation_fragment: gcp ''' diff --git a/test/sanity/validate-modules/ignore.txt b/test/sanity/validate-modules/ignore.txt index 41f5db8785e..46f4966f477 100644 --- a/test/sanity/validate-modules/ignore.txt +++ b/test/sanity/validate-modules/ignore.txt @@ -717,13 +717,10 @@ lib/ansible/modules/cloud/google/gcp_compute_url_map_facts.py E337 lib/ansible/modules/cloud/google/gcp_compute_url_map.py E337 lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel_facts.py E337 lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel.py E337 -lib/ansible/modules/cloud/google/gcp_container_cluster_facts.py E337 lib/ansible/modules/cloud/google/gcp_container_cluster.py E337 -lib/ansible/modules/cloud/google/gcp_container_node_pool_facts.py E337 lib/ansible/modules/cloud/google/gcp_container_node_pool.py E337 lib/ansible/modules/cloud/google/gcp_dns_managed_zone_facts.py E337 lib/ansible/modules/cloud/google/gcp_dns_managed_zone.py E337 -lib/ansible/modules/cloud/google/gcp_dns_resource_record_set_facts.py E337 lib/ansible/modules/cloud/google/gcp_dns_resource_record_set.py E337 lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py E322 lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py E324 @@ -739,7 +736,6 @@ lib/ansible/modules/cloud/google/gcp_iam_service_account_key.py E337 lib/ansible/modules/cloud/google/gcp_iam_service_account.py E337 lib/ansible/modules/cloud/google/gcp_pubsub_subscription.py E337 lib/ansible/modules/cloud/google/gcp_pubsub_topic.py E337 -lib/ansible/modules/cloud/google/gcp_redis_instance_facts.py E337 lib/ansible/modules/cloud/google/gcp_redis_instance.py E337 lib/ansible/modules/cloud/google/gcp_resourcemanager_project.py E337 lib/ansible/modules/cloud/google/gcp_sourcerepo_repository.py E337