From ddc2adc0acd1d72c8450fe76a148678f11beb104 Mon Sep 17 00:00:00 2001 From: The Magician Date: Wed, 3 Apr 2019 10:31:46 -0700 Subject: [PATCH] Bug fixes for GCP modules (#54762) --- .../modules/cloud/google/gcp_compute_image.py | 11 ++-- .../cloud/google/gcp_compute_image_facts.py | 2 +- .../cloud/google/gcp_compute_instance.py | 48 ++++++++++-------- .../google/gcp_compute_instance_facts.py | 8 +-- .../google/gcp_compute_instance_group.py | 24 +++++---- .../gcp_compute_instance_group_facts.py | 4 +- .../gcp_compute_instance_group_manager.py | 16 +++--- ...cp_compute_instance_group_manager_facts.py | 4 +- .../google/gcp_compute_instance_template.py | 50 ++++++++++--------- .../gcp_compute_instance_template_facts.py | 8 +-- .../gcp_compute_interconnect_attachment.py | 11 ++-- ...p_compute_interconnect_attachment_facts.py | 2 +- .../cloud/google/gcp_compute_region_disk.py | 11 ++-- .../google/gcp_compute_region_disk_facts.py | 2 +- .../modules/cloud/google/gcp_compute_route.py | 33 ++++++------ .../cloud/google/gcp_compute_route_facts.py | 6 +-- 16 files changed, 127 insertions(+), 113 deletions(-) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_image.py b/lib/ansible/modules/cloud/google/gcp_compute_image.py index fc6baa19e2d..f8db6b43084 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_image.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_image.py @@ -153,9 +153,10 @@ options: - You must provide either this property or the rawDisk.source property but not both to create an image. - 'This field represents a link to a Disk resource in GCP. It can be specified - in two ways. First, you can place in the selfLink of the resource here as a - string Alternatively, you can add `register: name-of-resource` to a gcp_compute_disk - task and then set this source_disk field to "{{ name-of-resource }}"' + in two ways. First, you can place a dictionary with key ''selfLink'' and value + of your resource''s selfLink Alternatively, you can add `register: name-of-resource` + to a gcp_compute_disk task and then set this source_disk field to "{{ name-of-resource + }}"' required: false source_disk_encryption_key: description: @@ -384,7 +385,7 @@ sourceDisk: - You must provide either this property or the rawDisk.source property but not both to create an image. returned: success - type: str + type: dict sourceDiskEncryptionKey: description: - The customer-supplied encryption key of the source disk. Required if the source @@ -451,7 +452,7 @@ def main(): type='dict', options=dict(container_type=dict(type='str', choices=['TAR']), sha1_checksum=dict(type='str'), source=dict(required=True, type='str')), ), - source_disk=dict(), + source_disk=dict(type='dict'), source_disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'))), source_disk_id=dict(type='str'), source_type=dict(type='str', choices=['RAW']), diff --git a/lib/ansible/modules/cloud/google/gcp_compute_image_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_image_facts.py index bcf494a7b8e..e6f19b09e26 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_image_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_image_facts.py @@ -244,7 +244,7 @@ items: - You must provide either this property or the rawDisk.source property but not both to create an image. returned: success - type: str + type: dict sourceDiskEncryptionKey: description: - The customer-supplied encryption key of the source disk. Required if the source diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance.py b/lib/ansible/modules/cloud/google/gcp_compute_instance.py index e5790c2d8d6..2b922c69baf 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance.py @@ -176,9 +176,10 @@ options: - If desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks. - 'This field represents a link to a Disk resource in GCP. It can be specified - in two ways. First, you can place in the selfLink of the resource here as - a string Alternatively, you can add `register: name-of-resource` to a gcp_compute_disk - task and then set this source field to "{{ name-of-resource }}"' + in two ways. First, you can place a dictionary with key ''selfLink'' and + value of your resource''s selfLink Alternatively, you can add `register: + name-of-resource` to a gcp_compute_disk task and then set this source field + to "{{ name-of-resource }}"' required: false type: description: @@ -261,10 +262,10 @@ options: address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. - 'This field represents a link to a Address resource in GCP. It can be - specified in two ways. First, you can place in the address of the resource - here as a string Alternatively, you can add `register: name-of-resource` - to a gcp_compute_address task and then set this nat_ip field to "{{ - name-of-resource }}"' + specified in two ways. First, you can place a dictionary with key ''address'' + and value of your resource''s address Alternatively, you can add `register: + name-of-resource` to a gcp_compute_address task and then set this nat_ip + field to "{{ name-of-resource }}"' required: false type: description: @@ -299,9 +300,10 @@ options: global/networks/default is used; if the network is not specified but the subnetwork is specified, the network is inferred. - 'This field represents a link to a Network resource in GCP. It can be specified - in two ways. First, you can place in the selfLink of the resource here as - a string Alternatively, you can add `register: name-of-resource` to a gcp_compute_network - task and then set this network field to "{{ name-of-resource }}"' + in two ways. First, you can place a dictionary with key ''selfLink'' and + value of your resource''s selfLink Alternatively, you can add `register: + name-of-resource` to a gcp_compute_network task and then set this network + field to "{{ name-of-resource }}"' required: false network_ip: description: @@ -316,10 +318,10 @@ options: If the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. - 'This field represents a link to a Subnetwork resource in GCP. It can be - specified in two ways. First, you can place in the selfLink of the resource - here as a string Alternatively, you can add `register: name-of-resource` - to a gcp_compute_subnetwork task and then set this subnetwork field to "{{ - name-of-resource }}"' + specified in two ways. First, you can place a dictionary with key ''selfLink'' + and value of your resource''s selfLink Alternatively, you can add `register: + name-of-resource` to a gcp_compute_subnetwork task and then set this subnetwork + field to "{{ name-of-resource }}"' required: false scheduling: description: @@ -617,7 +619,7 @@ disks: - If desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks. returned: success - type: str + type: dict type: description: - Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, @@ -713,7 +715,7 @@ networkInterfaces: address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. returned: success - type: str + type: dict type: description: - The type of configuration. The default and only option is ONE_TO_ONE_NAT. @@ -755,7 +757,7 @@ networkInterfaces: is used; if the network is not specified but the subnetwork is specified, the network is inferred. returned: success - type: str + type: dict networkIP: description: - An IPv4 internal network address to assign to the instance for this network @@ -770,7 +772,7 @@ networkInterfaces: the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. returned: success - type: str + type: dict scheduling: description: - Sets the scheduling options for this instance. @@ -901,7 +903,7 @@ def main(): ), interface=dict(type='str', choices=['SCSI', 'NVME']), mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']), - source=dict(), + source=dict(type='dict'), type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']), ), ), @@ -918,12 +920,14 @@ def main(): access_configs=dict( type='list', elements='dict', - options=dict(name=dict(required=True, type='str'), nat_ip=dict(), type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT'])), + options=dict( + name=dict(required=True, type='str'), nat_ip=dict(type='dict'), type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT']) + ), ), alias_ip_ranges=dict(type='list', elements='dict', options=dict(ip_cidr_range=dict(type='str'), subnetwork_range_name=dict(type='str'))), - network=dict(), + network=dict(type='dict'), network_ip=dict(type='str'), - subnetwork=dict(), + subnetwork=dict(type='dict'), ), ), scheduling=dict( diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_facts.py index dbc04312925..950d95a4883 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_facts.py @@ -226,7 +226,7 @@ items: - If desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks. returned: success - type: str + type: dict type: description: - Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, @@ -324,7 +324,7 @@ items: IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. returned: success - type: str + type: dict type: description: - The type of configuration. The default and only option is ONE_TO_ONE_NAT. @@ -366,7 +366,7 @@ items: global/networks/default is used; if the network is not specified but the subnetwork is specified, the network is inferred. returned: success - type: str + type: dict networkIP: description: - An IPv4 internal network address to assign to the instance for this network @@ -381,7 +381,7 @@ items: If the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. returned: success - type: str + type: dict scheduling: description: - Sets the scheduling options for this instance. diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_group.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_group.py index 7c7b9d73497..228cd8de38a 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_group.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_group.py @@ -83,9 +83,10 @@ options: description: - The network to which all instances in the instance group belong. - 'This field represents a link to a Network resource in GCP. It can be specified - in two ways. First, you can place in the selfLink of the resource here as a - string Alternatively, you can add `register: name-of-resource` to a gcp_compute_network - task and then set this network field to "{{ name-of-resource }}"' + in two ways. First, you can place a dictionary with key ''selfLink'' and value + of your resource''s selfLink Alternatively, you can add `register: name-of-resource` + to a gcp_compute_network task and then set this network field to "{{ name-of-resource + }}"' required: false region: description: @@ -95,9 +96,10 @@ options: description: - The subnetwork to which all instances in the instance group belong. - 'This field represents a link to a Subnetwork resource in GCP. It can be specified - in two ways. First, you can place in the selfLink of the resource here as a - string Alternatively, you can add `register: name-of-resource` to a gcp_compute_subnetwork - task and then set this subnetwork field to "{{ name-of-resource }}"' + in two ways. First, you can place a dictionary with key ''selfLink'' and value + of your resource''s selfLink Alternatively, you can add `register: name-of-resource` + to a gcp_compute_subnetwork task and then set this subnetwork field to "{{ name-of-resource + }}"' required: false zone: description: @@ -188,7 +190,7 @@ network: description: - The network to which all instances in the instance group belong. returned: success - type: str + type: dict region: description: - The region where the instance group is located (for regional resources). @@ -198,7 +200,7 @@ subnetwork: description: - The subnetwork to which all instances in the instance group belong. returned: success - type: str + type: dict zone: description: - A reference to the zone where the instance group resides. @@ -238,11 +240,11 @@ def main(): description=dict(type='str'), name=dict(type='str'), named_ports=dict(type='list', elements='dict', options=dict(name=dict(type='str'), port=dict(type='int'))), - network=dict(), + network=dict(type='dict'), region=dict(type='str'), - subnetwork=dict(), + subnetwork=dict(type='dict'), zone=dict(required=True, type='str'), - instances=dict(type='list'), + instances=dict(type='list', elements='dict'), ) ) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_facts.py index a875420c5da..890758f2d38 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_facts.py @@ -118,7 +118,7 @@ items: description: - The network to which all instances in the instance group belong. returned: success - type: str + type: dict region: description: - The region where the instance group is located (for regional resources). @@ -128,7 +128,7 @@ items: description: - The subnetwork to which all instances in the instance group belong. returned: success - type: str + type: dict zone: description: - A reference to the zone where the instance group resides. diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager.py index 6153fc3a1f6..cca5ee042e2 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager.py @@ -70,10 +70,10 @@ options: group uses this template to create all new instances in the managed instance group. - 'This field represents a link to a InstanceTemplate resource in GCP. It can - be specified in two ways. First, you can place in the selfLink of the resource - here as a string Alternatively, you can add `register: name-of-resource` to - a gcp_compute_instance_template task and then set this instance_template field - to "{{ name-of-resource }}"' + be specified in two ways. First, you can place a dictionary with key ''selfLink'' + and value of your resource''s selfLink Alternatively, you can add `register: + name-of-resource` to a gcp_compute_instance_template task and then set this + instance_template field to "{{ name-of-resource }}"' required: true name: description: @@ -261,13 +261,13 @@ instanceGroup: description: - The instance group being managed. returned: success - type: str + type: dict instanceTemplate: description: - The instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. returned: success - type: str + type: dict name: description: - The name of the managed instance group. The name must be 1-63 characters long, @@ -339,10 +339,10 @@ def main(): state=dict(default='present', choices=['present', 'absent'], type='str'), base_instance_name=dict(required=True, type='str'), description=dict(type='str'), - instance_template=dict(required=True), + instance_template=dict(required=True, type='dict'), name=dict(required=True, type='str'), named_ports=dict(type='list', elements='dict', options=dict(name=dict(type='str'), port=dict(type='int'))), - target_pools=dict(type='list'), + target_pools=dict(type='list', elements='dict'), target_size=dict(type='int'), zone=dict(required=True, type='str'), ) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager_facts.py index 0d13073cfbc..4f0d703ce1f 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager_facts.py @@ -162,14 +162,14 @@ items: description: - The instance group being managed. returned: success - type: str + type: dict instanceTemplate: description: - The instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. returned: success - type: str + type: dict name: description: - The name of the managed instance group. The name must be 1-63 characters long, diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_template.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_template.py index 68ffdabbce2..566efea58de 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_template.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_template.py @@ -201,10 +201,10 @@ options: - Note that for InstanceTemplate, specify the disk name, not the URL for the disk. - 'This field represents a link to a Disk resource in GCP. It can be specified - in two ways. First, you can place in the name of the resource here as - a string Alternatively, you can add `register: name-of-resource` to - a gcp_compute_disk task and then set this source field to "{{ name-of-resource - }}"' + in two ways. First, you can place a dictionary with key ''name'' and + value of your resource''s name Alternatively, you can add `register: + name-of-resource` to a gcp_compute_disk task and then set this source + field to "{{ name-of-resource }}"' required: false type: description: @@ -273,10 +273,10 @@ options: IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. - 'This field represents a link to a Address resource in GCP. It can - be specified in two ways. First, you can place in the address of - the resource here as a string Alternatively, you can add `register: - name-of-resource` to a gcp_compute_address task and then set this - nat_ip field to "{{ name-of-resource }}"' + be specified in two ways. First, you can place a dictionary with + key ''address'' and value of your resource''s address Alternatively, + you can add `register: name-of-resource` to a gcp_compute_address + task and then set this nat_ip field to "{{ name-of-resource }}"' required: false type: description: @@ -312,10 +312,10 @@ options: network global/networks/default is used; if the network is not specified but the subnetwork is specified, the network is inferred. - 'This field represents a link to a Network resource in GCP. It can be - specified in two ways. First, you can place in the selfLink of the resource - here as a string Alternatively, you can add `register: name-of-resource` - to a gcp_compute_network task and then set this network field to "{{ - name-of-resource }}"' + specified in two ways. First, you can place a dictionary with key ''selfLink'' + and value of your resource''s selfLink Alternatively, you can add `register: + name-of-resource` to a gcp_compute_network task and then set this network + field to "{{ name-of-resource }}"' required: false network_ip: description: @@ -330,10 +330,10 @@ options: If the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. - 'This field represents a link to a Subnetwork resource in GCP. It can - be specified in two ways. First, you can place in the selfLink of the - resource here as a string Alternatively, you can add `register: name-of-resource` - to a gcp_compute_subnetwork task and then set this subnetwork field - to "{{ name-of-resource }}"' + be specified in two ways. First, you can place a dictionary with key + ''selfLink'' and value of your resource''s selfLink Alternatively, you + can add `register: name-of-resource` to a gcp_compute_subnetwork task + and then set this subnetwork field to "{{ name-of-resource }}"' required: false scheduling: description: @@ -626,7 +626,7 @@ properties: - Note that for InstanceTemplate, specify the disk name, not the URL for the disk. returned: success - type: str + type: dict type: description: - Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, @@ -699,7 +699,7 @@ properties: IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. returned: success - type: str + type: dict type: description: - The type of configuration. The default and only option is ONE_TO_ONE_NAT. @@ -741,7 +741,7 @@ properties: global/networks/default is used; if the network is not specified but the subnetwork is specified, the network is inferred. returned: success - type: str + type: dict networkIP: description: - An IPv4 internal network address to assign to the instance for this network @@ -756,7 +756,7 @@ properties: If the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. returned: success - type: str + type: dict scheduling: description: - Sets the scheduling options for this instance. @@ -877,7 +877,7 @@ def main(): ), interface=dict(type='str', choices=['SCSI', 'NVME']), mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']), - source=dict(), + source=dict(type='dict'), type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']), ), ), @@ -893,15 +893,17 @@ def main(): type='list', elements='dict', options=dict( - name=dict(required=True, type='str'), nat_ip=dict(), type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT']) + name=dict(required=True, type='str'), + nat_ip=dict(type='dict'), + type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT']), ), ), alias_ip_ranges=dict( type='list', elements='dict', options=dict(ip_cidr_range=dict(type='str'), subnetwork_range_name=dict(type='str')) ), - network=dict(), + network=dict(type='dict'), network_ip=dict(type='str'), - subnetwork=dict(), + subnetwork=dict(type='dict'), ), ), scheduling=dict( diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_template_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_template_facts.py index b6f57d9aca6..612027490f2 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_template_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_template_facts.py @@ -251,7 +251,7 @@ items: - Note that for InstanceTemplate, specify the disk name, not the URL for the disk. returned: success - type: str + type: dict type: description: - Specifies the type of the disk, either SCRATCH or PERSISTENT. If not @@ -327,7 +327,7 @@ items: ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. returned: success - type: str + type: dict type: description: - The type of configuration. The default and only option is ONE_TO_ONE_NAT. @@ -371,7 +371,7 @@ items: network global/networks/default is used; if the network is not specified but the subnetwork is specified, the network is inferred. returned: success - type: str + type: dict networkIP: description: - An IPv4 internal network address to assign to the instance for this @@ -387,7 +387,7 @@ items: optional. If the network is in custom subnet mode, then this field should be specified. returned: success - type: str + type: dict scheduling: description: - Sets the scheduling options for this instance. diff --git a/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment.py b/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment.py index 3ce52d47075..92b951e35f2 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment.py @@ -82,9 +82,10 @@ options: will automatically connect the Interconnect to the network & region within which the Cloud Router is configured. - 'This field represents a link to a Router resource in GCP. It can be specified - in two ways. First, you can place in the selfLink of the resource here as a - string Alternatively, you can add `register: name-of-resource` to a gcp_compute_router - task and then set this router field to "{{ name-of-resource }}"' + in two ways. First, you can place a dictionary with key ''selfLink'' and value + of your resource''s selfLink Alternatively, you can add `register: name-of-resource` + to a gcp_compute_router task and then set this router field to "{{ name-of-resource + }}"' required: true name: description: @@ -214,7 +215,7 @@ router: automatically connect the Interconnect to the network & region within which the Cloud Router is configured. returned: success - type: str + type: dict creationTimestamp: description: - Creation timestamp in RFC3339 text format. @@ -282,7 +283,7 @@ def main(): description=dict(type='str'), edge_availability_domain=dict(type='str'), type=dict(type='str', choices=['DEDICATED', 'PARTNER', 'PARTNER_PROVIDER']), - router=dict(required=True), + router=dict(required=True, type='dict'), name=dict(required=True, type='str'), candidate_subnets=dict(type='list', elements='str'), vlan_tag8021q=dict(type='int'), diff --git a/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment_facts.py index 2d43ab07dd8..b374f4f0e86 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment_facts.py @@ -154,7 +154,7 @@ items: will automatically connect the Interconnect to the network & region within which the Cloud Router is configured. returned: success - type: str + type: dict creationTimestamp: description: - Creation timestamp in RFC3339 text format. diff --git a/lib/ansible/modules/cloud/google/gcp_compute_region_disk.py b/lib/ansible/modules/cloud/google/gcp_compute_region_disk.py index f789eaca299..12beabc7503 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_region_disk.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_region_disk.py @@ -131,9 +131,10 @@ options: - The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. - 'This field represents a link to a Snapshot resource in GCP. It can be specified - in two ways. First, you can place in the selfLink of the resource here as a - string Alternatively, you can add `register: name-of-resource` to a gcp_compute_snapshot - task and then set this source_snapshot field to "{{ name-of-resource }}"' + in two ways. First, you can place a dictionary with key ''selfLink'' and value + of your resource''s selfLink Alternatively, you can add `register: name-of-resource` + to a gcp_compute_snapshot task and then set this source_snapshot field to "{{ + name-of-resource }}"' required: false source_snapshot_encryption_key: description: @@ -293,7 +294,7 @@ sourceSnapshot: - The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. returned: success - type: str + type: dict sourceSnapshotEncryptionKey: description: - The customer-supplied encryption key of the source snapshot. Required if the source @@ -354,7 +355,7 @@ def main(): type=dict(type='str'), region=dict(required=True, type='str'), disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'))), - source_snapshot=dict(), + source_snapshot=dict(type='dict'), source_snapshot_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'))), ) ) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_region_disk_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_region_disk_facts.py index d571944e002..4ce0dfe5b80 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_region_disk_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_region_disk_facts.py @@ -194,7 +194,7 @@ items: - The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. returned: success - type: str + type: dict sourceSnapshotEncryptionKey: description: - The customer-supplied encryption key of the source snapshot. Required if the diff --git a/lib/ansible/modules/cloud/google/gcp_compute_route.py b/lib/ansible/modules/cloud/google/gcp_compute_route.py index e0b47593de2..8f62a2fe9eb 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_route.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_route.py @@ -86,9 +86,10 @@ options: description: - The network that this route applies to. - 'This field represents a link to a Network resource in GCP. It can be specified - in two ways. First, you can place in the selfLink of the resource here as a - string Alternatively, you can add `register: name-of-resource` to a gcp_compute_network - task and then set this network field to "{{ name-of-resource }}"' + in two ways. First, you can place a dictionary with key ''selfLink'' and value + of your resource''s selfLink Alternatively, you can add `register: name-of-resource` + to a gcp_compute_network task and then set this network field to "{{ name-of-resource + }}"' required: true priority: description: @@ -117,9 +118,10 @@ options: instances/instance * projects/project/zones/zone/instances/instance * zones/zone/instances/instance .' - 'This field represents a link to a Instance resource in GCP. It can be specified - in two ways. First, you can place in the selfLink of the resource here as a - string Alternatively, you can add `register: name-of-resource` to a gcp_compute_instance - task and then set this next_hop_instance field to "{{ name-of-resource }}"' + in two ways. First, you can place a dictionary with key ''selfLink'' and value + of your resource''s selfLink Alternatively, you can add `register: name-of-resource` + to a gcp_compute_instance task and then set this next_hop_instance field to + "{{ name-of-resource }}"' required: false next_hop_ip: description: @@ -129,9 +131,10 @@ options: description: - URL to a VpnTunnel that should handle matching packets. - 'This field represents a link to a VpnTunnel resource in GCP. It can be specified - in two ways. First, you can place in the selfLink of the resource here as a - string Alternatively, you can add `register: name-of-resource` to a gcp_compute_vpn_tunnel - task and then set this next_hop_vpn_tunnel field to "{{ name-of-resource }}"' + in two ways. First, you can place a dictionary with key ''selfLink'' and value + of your resource''s selfLink Alternatively, you can add `register: name-of-resource` + to a gcp_compute_vpn_tunnel task and then set this next_hop_vpn_tunnel field + to "{{ name-of-resource }}"' required: false extends_documentation_fragment: gcp notes: @@ -191,7 +194,7 @@ network: description: - The network that this route applies to. returned: success - type: str + type: dict priority: description: - The priority of this route. Priority is used to break ties in cases where there @@ -222,7 +225,7 @@ nextHopInstance: instances/instance * projects/project/zones/zone/instances/instance * zones/zone/instances/instance .' returned: success - type: str + type: dict nextHopIp: description: - Network IP address of an instance that should handle matching packets. @@ -232,7 +235,7 @@ nextHopVpnTunnel: description: - URL to a VpnTunnel that should handle matching packets. returned: success - type: str + type: dict nextHopNetwork: description: - URL to a Network that should handle matching packets. @@ -262,13 +265,13 @@ def main(): dest_range=dict(required=True, type='str'), description=dict(type='str'), name=dict(required=True, type='str'), - network=dict(required=True), + network=dict(required=True, type='dict'), priority=dict(type='int'), tags=dict(type='list', elements='str'), next_hop_gateway=dict(type='str'), - next_hop_instance=dict(), + next_hop_instance=dict(type='dict'), next_hop_ip=dict(type='str'), - next_hop_vpn_tunnel=dict(), + next_hop_vpn_tunnel=dict(type='dict'), ) ) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_route_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_route_facts.py index 34de7c0e6ea..9e3fc2bb19b 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_route_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_route_facts.py @@ -91,7 +91,7 @@ items: description: - The network that this route applies to. returned: success - type: str + type: dict priority: description: - The priority of this route. Priority is used to break ties in cases where @@ -122,7 +122,7 @@ items: instances/instance * projects/project/zones/zone/instances/instance * zones/zone/instances/instance .' returned: success - type: str + type: dict nextHopIp: description: - Network IP address of an instance that should handle matching packets. @@ -132,7 +132,7 @@ items: description: - URL to a VpnTunnel that should handle matching packets. returned: success - type: str + type: dict nextHopNetwork: description: - URL to a Network that should handle matching packets.