mirror of
https://github.com/ansible-collections/google.cloud.git
synced 2025-07-26 22:51:30 -07:00
parent
5c97cc1da0
commit
d64785e811
80 changed files with 14198 additions and 13862 deletions
|
@ -32,103 +32,105 @@ DOCUMENTATION = '''
|
|||
---
|
||||
module: gcp_compute_route
|
||||
description:
|
||||
- Represents a Route resource.
|
||||
- A route is a rule that specifies how certain packets should be handled by the virtual
|
||||
network. Routes are associated with virtual machines by tag, and the set of routes
|
||||
for a particular virtual machine is called its routing table. For each packet leaving
|
||||
a virtual machine, the system searches that virtual machine's routing table for
|
||||
a single best matching route.
|
||||
- Routes match packets by destination IP address, preferring smaller or more specific
|
||||
ranges over larger ones. If there is a tie, the system selects the route with the
|
||||
smallest priority value. If there is still a tie, it uses the layer three and four
|
||||
packet headers to select just one of the remaining matching routes. The packet is
|
||||
then forwarded as specified by the next_hop field of the winning route -- either
|
||||
to another virtual machine destination, a virtual machine gateway or a Compute Engine-operated
|
||||
gateway. Packets that do not match any route in the sending virtual machine's routing
|
||||
table will be dropped.
|
||||
- A Route resource must have exactly one specification of either nextHopGateway, nextHopInstance,
|
||||
nextHopIp, or nextHopVpnTunnel.
|
||||
- Represents a Route resource.
|
||||
- A route is a rule that specifies how certain packets should be handled by the virtual
|
||||
network. Routes are associated with virtual machines by tag, and the set of routes
|
||||
for a particular virtual machine is called its routing table. For each packet leaving
|
||||
a virtual machine, the system searches that virtual machine's routing table for
|
||||
a single best matching route.
|
||||
- Routes match packets by destination IP address, preferring smaller or more specific
|
||||
ranges over larger ones. If there is a tie, the system selects the route with the
|
||||
smallest priority value. If there is still a tie, it uses the layer three and four
|
||||
packet headers to select just one of the remaining matching routes. The packet is
|
||||
then forwarded as specified by the next_hop field of the winning route -- either
|
||||
to another virtual machine destination, a virtual machine gateway or a Compute Engine-operated
|
||||
gateway. Packets that do not match any route in the sending virtual machine's routing
|
||||
table will be dropped.
|
||||
- A Route resource must have exactly one specification of either nextHopGateway, nextHopInstance,
|
||||
nextHopIp, or nextHopVpnTunnel.
|
||||
short_description: Creates a GCP Route
|
||||
version_added: 2.6
|
||||
author: Google Inc. (@googlecloudplatform)
|
||||
requirements:
|
||||
- python >= 2.6
|
||||
- requests >= 2.18.4
|
||||
- google-auth >= 1.3.0
|
||||
- python >= 2.6
|
||||
- requests >= 2.18.4
|
||||
- google-auth >= 1.3.0
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in GCP
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
dest_range:
|
||||
description:
|
||||
- The destination range of outgoing packets that this route applies to.
|
||||
- Only IPv4 is supported.
|
||||
required: true
|
||||
state:
|
||||
description:
|
||||
description:
|
||||
- An optional description of this resource. Provide this property when you create
|
||||
the resource.
|
||||
required: false
|
||||
version_added: 2.7
|
||||
name:
|
||||
description:
|
||||
- Name of the resource. Provided by the client when the resource is created. The name
|
||||
must be 1-63 characters long, and comply with RFC1035. Specifically, the name must
|
||||
be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
|
||||
which means the first character must 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
|
||||
network:
|
||||
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. You can add `register: name-of-resource` to a gcp_compute_network task
|
||||
and then set this network field to "{{ name-of-resource }}" Alternatively, you can
|
||||
set this network to a dictionary with the selfLink key where the value is the selfLink
|
||||
of your Network.'
|
||||
required: true
|
||||
priority:
|
||||
description:
|
||||
- The priority of this route. Priority is used to break ties in cases where there
|
||||
is more than one matching route of equal prefix length.
|
||||
- In the case of two routes with equal prefix length, the one with the lowest-numbered
|
||||
priority value wins.
|
||||
- Default value is 1000. Valid range is 0 through 65535.
|
||||
required: false
|
||||
tags:
|
||||
description:
|
||||
- A list of instance tags to which this route applies.
|
||||
required: false
|
||||
next_hop_gateway:
|
||||
description:
|
||||
- URL to a gateway that should handle matching packets.
|
||||
- 'Currently, you can only specify the internet gateway, using a full or partial valid
|
||||
URL: * U(https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway)
|
||||
* projects/project/global/gateways/default-internet-gateway * global/gateways/default-internet-gateway
|
||||
.'
|
||||
required: false
|
||||
next_hop_instance:
|
||||
description:
|
||||
- URL to an instance that should handle matching packets.
|
||||
- 'You can specify this as a full or partial URL. For example: * U(https://www.googleapis.com/compute/v1/projects/project/zones/zone/)
|
||||
instances/instance * projects/project/zones/zone/instances/instance * zones/zone/instances/instance
|
||||
.'
|
||||
required: false
|
||||
next_hop_ip:
|
||||
description:
|
||||
- Network IP address of an instance that should handle matching packets.
|
||||
required: false
|
||||
next_hop_vpn_tunnel:
|
||||
description:
|
||||
- URL to a VpnTunnel that should handle matching packets.
|
||||
required: false
|
||||
- Whether the given object should exist in GCP
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
dest_range:
|
||||
description:
|
||||
- The destination range of outgoing packets that this route applies to.
|
||||
- Only IPv4 is supported.
|
||||
required: true
|
||||
description:
|
||||
description:
|
||||
- An optional description of this resource. Provide this property when you create
|
||||
the resource.
|
||||
required: false
|
||||
version_added: 2.7
|
||||
name:
|
||||
description:
|
||||
- Name of the resource. Provided by the client when the resource is created. The
|
||||
name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
||||
name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
|
||||
which means the first character must 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
|
||||
network:
|
||||
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. You can add `register: name-of-resource` to a gcp_compute_network
|
||||
task and then set this network field to "{{ name-of-resource }}" Alternatively,
|
||||
you can set this network to a dictionary with the selfLink key where the value
|
||||
is the selfLink of your Network'
|
||||
required: true
|
||||
priority:
|
||||
description:
|
||||
- The priority of this route. Priority is used to break ties in cases where there
|
||||
is more than one matching route of equal prefix length.
|
||||
- In the case of two routes with equal prefix length, the one with the lowest-numbered
|
||||
priority value wins.
|
||||
- Default value is 1000. Valid range is 0 through 65535.
|
||||
required: false
|
||||
tags:
|
||||
description:
|
||||
- A list of instance tags to which this route applies.
|
||||
required: false
|
||||
next_hop_gateway:
|
||||
description:
|
||||
- URL to a gateway that should handle matching packets.
|
||||
- 'Currently, you can only specify the internet gateway, using a full or partial
|
||||
valid URL: * U(https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway)
|
||||
* projects/project/global/gateways/default-internet-gateway * global/gateways/default-internet-gateway
|
||||
.'
|
||||
required: false
|
||||
next_hop_instance:
|
||||
description:
|
||||
- URL to an instance that should handle matching packets.
|
||||
- 'You can specify this as a full or partial URL. For example: * U(https://www.googleapis.com/compute/v1/projects/project/zones/zone/)
|
||||
instances/instance * projects/project/zones/zone/instances/instance * zones/zone/instances/instance
|
||||
.'
|
||||
required: false
|
||||
next_hop_ip:
|
||||
description:
|
||||
- Network IP address of an instance that should handle matching packets.
|
||||
required: false
|
||||
next_hop_vpn_tunnel:
|
||||
description:
|
||||
- URL to a VpnTunnel that should handle matching packets.
|
||||
required: false
|
||||
extends_documentation_fragment: gcp
|
||||
notes:
|
||||
- "API Reference: U(https://cloud.google.com/compute/docs/reference/rest/v1/routes)"
|
||||
- "Using Routes: U(https://cloud.google.com/vpc/docs/using-routes)"
|
||||
- 'API Reference: U(https://cloud.google.com/compute/docs/reference/rest/v1/routes)'
|
||||
- 'Using Routes: U(https://cloud.google.com/vpc/docs/using-routes)'
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
@ -157,79 +159,79 @@ EXAMPLES = '''
|
|||
'''
|
||||
|
||||
RETURN = '''
|
||||
destRange:
|
||||
description:
|
||||
- The destination range of outgoing packets that this route applies to.
|
||||
- Only IPv4 is supported.
|
||||
returned: success
|
||||
type: str
|
||||
description:
|
||||
description:
|
||||
- An optional description of this resource. Provide this property when you create
|
||||
the resource.
|
||||
returned: success
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the resource. Provided by the client when the resource is created. The name
|
||||
must be 1-63 characters long, and comply with RFC1035. Specifically, the name must
|
||||
be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
|
||||
which means the first character must 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.
|
||||
returned: success
|
||||
type: str
|
||||
network:
|
||||
description:
|
||||
- The network that this route applies to.
|
||||
returned: success
|
||||
type: dict
|
||||
priority:
|
||||
description:
|
||||
- The priority of this route. Priority is used to break ties in cases where there
|
||||
is more than one matching route of equal prefix length.
|
||||
- In the case of two routes with equal prefix length, the one with the lowest-numbered
|
||||
priority value wins.
|
||||
- Default value is 1000. Valid range is 0 through 65535.
|
||||
returned: success
|
||||
type: int
|
||||
tags:
|
||||
description:
|
||||
- A list of instance tags to which this route applies.
|
||||
returned: success
|
||||
type: list
|
||||
nextHopGateway:
|
||||
description:
|
||||
- URL to a gateway that should handle matching packets.
|
||||
- 'Currently, you can only specify the internet gateway, using a full or partial valid
|
||||
URL: * U(https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway)
|
||||
* projects/project/global/gateways/default-internet-gateway * global/gateways/default-internet-gateway
|
||||
.'
|
||||
returned: success
|
||||
type: str
|
||||
nextHopInstance:
|
||||
description:
|
||||
- URL to an instance that should handle matching packets.
|
||||
- 'You can specify this as a full or partial URL. For example: * U(https://www.googleapis.com/compute/v1/projects/project/zones/zone/)
|
||||
instances/instance * projects/project/zones/zone/instances/instance * zones/zone/instances/instance
|
||||
.'
|
||||
returned: success
|
||||
type: str
|
||||
nextHopIp:
|
||||
description:
|
||||
- Network IP address of an instance that should handle matching packets.
|
||||
returned: success
|
||||
type: str
|
||||
nextHopVpnTunnel:
|
||||
description:
|
||||
- URL to a VpnTunnel that should handle matching packets.
|
||||
returned: success
|
||||
type: str
|
||||
nextHopNetwork:
|
||||
description:
|
||||
- URL to a Network that should handle matching packets.
|
||||
returned: success
|
||||
type: str
|
||||
destRange:
|
||||
description:
|
||||
- The destination range of outgoing packets that this route applies to.
|
||||
- Only IPv4 is supported.
|
||||
returned: success
|
||||
type: str
|
||||
description:
|
||||
description:
|
||||
- An optional description of this resource. Provide this property when you create
|
||||
the resource.
|
||||
returned: success
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the resource. Provided by the client when the resource is created. The
|
||||
name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
||||
name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
|
||||
which means the first character must 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.
|
||||
returned: success
|
||||
type: str
|
||||
network:
|
||||
description:
|
||||
- The network that this route applies to.
|
||||
returned: success
|
||||
type: dict
|
||||
priority:
|
||||
description:
|
||||
- The priority of this route. Priority is used to break ties in cases where there
|
||||
is more than one matching route of equal prefix length.
|
||||
- In the case of two routes with equal prefix length, the one with the lowest-numbered
|
||||
priority value wins.
|
||||
- Default value is 1000. Valid range is 0 through 65535.
|
||||
returned: success
|
||||
type: int
|
||||
tags:
|
||||
description:
|
||||
- A list of instance tags to which this route applies.
|
||||
returned: success
|
||||
type: list
|
||||
nextHopGateway:
|
||||
description:
|
||||
- URL to a gateway that should handle matching packets.
|
||||
- 'Currently, you can only specify the internet gateway, using a full or partial
|
||||
valid URL: * U(https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway)
|
||||
* projects/project/global/gateways/default-internet-gateway * global/gateways/default-internet-gateway
|
||||
.'
|
||||
returned: success
|
||||
type: str
|
||||
nextHopInstance:
|
||||
description:
|
||||
- URL to an instance that should handle matching packets.
|
||||
- 'You can specify this as a full or partial URL. For example: * U(https://www.googleapis.com/compute/v1/projects/project/zones/zone/)
|
||||
instances/instance * projects/project/zones/zone/instances/instance * zones/zone/instances/instance
|
||||
.'
|
||||
returned: success
|
||||
type: str
|
||||
nextHopIp:
|
||||
description:
|
||||
- Network IP address of an instance that should handle matching packets.
|
||||
returned: success
|
||||
type: str
|
||||
nextHopVpnTunnel:
|
||||
description:
|
||||
- URL to a VpnTunnel that should handle matching packets.
|
||||
returned: success
|
||||
type: str
|
||||
nextHopNetwork:
|
||||
description:
|
||||
- URL to a Network that should handle matching packets.
|
||||
returned: success
|
||||
type: str
|
||||
'''
|
||||
|
||||
################################################################################
|
||||
|
@ -425,8 +427,6 @@ def wait_for_completion(status, op_result, module):
|
|||
while status != 'DONE':
|
||||
raise_if_errors(op_result, ['error', 'errors'], 'message')
|
||||
time.sleep(1.0)
|
||||
if status not in ['PENDING', 'RUNNING', 'DONE']:
|
||||
module.fail_json(msg="Invalid result %s" % status)
|
||||
op_result = fetch_resource(module, op_uri, 'compute#operation')
|
||||
status = navigate_hash(op_result, ['status'])
|
||||
return op_result
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue