summaryrefslogtreecommitdiff
path: root/lib/ansible/modules/cloud
diff options
context:
space:
mode:
authorThe Magician <magic-modules@google.com>2019-07-19 11:33:04 -0700
committerMatt Clay <mclay@redhat.com>2019-07-19 11:33:04 -0700
commitc5e26ab4daf1a01372bd7b41f7c5d7064ea0257a (patch)
tree13101489235f43fb6efd4c88823b3b0528681244 /lib/ansible/modules/cloud
parentb75e8d19beb215fd58f3db44fcbec2a52401ac48 (diff)
downloadansible-c5e26ab4daf1a01372bd7b41f7c5d7064ea0257a.tar.gz
Bug fixes for GCP (as of 2019-07-09T06:06:53Z) (#59172)
* Bug fixes for GCP modules * ignore syntax
Diffstat (limited to 'lib/ansible/modules/cloud')
-rw-r--r--lib/ansible/modules/cloud/google/gcp_compute_url_map.py19
-rw-r--r--lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel.py10
-rw-r--r--lib/ansible/modules/cloud/google/gcp_compute_vpn_tunnel_facts.py1
-rw-r--r--lib/ansible/modules/cloud/google/gcp_container_cluster.py48
-rw-r--r--lib/ansible/modules/cloud/google/gcp_container_cluster_facts.py1
-rw-r--r--lib/ansible/modules/cloud/google/gcp_container_node_pool.py33
-rw-r--r--lib/ansible/modules/cloud/google/gcp_container_node_pool_facts.py2
-rw-r--r--lib/ansible/modules/cloud/google/gcp_dns_managed_zone.py18
-rw-r--r--lib/ansible/modules/cloud/google/gcp_dns_resource_record_set.py5
-rw-r--r--lib/ansible/modules/cloud/google/gcp_dns_resource_record_set_facts.py1
-rw-r--r--lib/ansible/modules/cloud/google/gcp_iam_role.py5
-rw-r--r--lib/ansible/modules/cloud/google/gcp_iam_service_account.py2
-rw-r--r--lib/ansible/modules/cloud/google/gcp_iam_service_account_key.py4
-rw-r--r--lib/ansible/modules/cloud/google/gcp_pubsub_subscription.py10
-rw-r--r--lib/ansible/modules/cloud/google/gcp_pubsub_topic.py3
-rw-r--r--lib/ansible/modules/cloud/google/gcp_redis_instance.py14
-rw-r--r--lib/ansible/modules/cloud/google/gcp_redis_instance_facts.py1
17 files changed, 176 insertions, 1 deletions
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 74a68f29dd..d43176a6db 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 0e5f74561c..84e7ff2e7f 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 62cfe4a357..2d07d881ba 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 70a140db71..030094fee8 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 0e9aab5df6..c20357092f 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 4dee965428..fa0d250e8f 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 c04aa3fd57..a6d3c7c2a5 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 91b0d15544..c620ad7ea2 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 e23f4273ed..111514fd25 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 9c9ccb31fe..15b8c9500e 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 6a039654f7..ffd422c147 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 46674cb7ba..78bec7fc9a 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 4ad8cd4054..8891966796 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 7425a4a88d..ef1a8a51b9 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 017cc508d9..925fdbba87 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 7fa5e41ea8..87a3347aba 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 5d430423a3..4c8ea10e32 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
'''