mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-10-15 07:27:15 +00:00
176 lines
5.9 KiB
Markdown
176 lines
5.9 KiB
Markdown
---
|
|
# ----------------------------------------------------------------------------
|
|
#
|
|
# *** AUTO GENERATED CODE *** AUTO GENERATED CODE ***
|
|
#
|
|
# ----------------------------------------------------------------------------
|
|
#
|
|
# This file is automatically generated by Magic Modules and manual
|
|
# changes will be clobbered when the file is regenerated.
|
|
#
|
|
# Please read more about how to change this file in
|
|
# .github/CONTRIBUTING.md.
|
|
#
|
|
# ----------------------------------------------------------------------------
|
|
layout: "google"
|
|
page_title: "Google: google_compute_route"
|
|
sidebar_current: "docs-google-compute-route"
|
|
description: |-
|
|
Represents a Route resource.
|
|
---
|
|
|
|
# google\_compute\_route
|
|
|
|
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.
|
|
|
|
To get more information about Route, see:
|
|
|
|
* [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/routes)
|
|
* How-to Guides
|
|
* [Using Routes](https://cloud.google.com/vpc/docs/using-routes)
|
|
|
|
## Example Usage
|
|
|
|
```hcl
|
|
resource "google_compute_network" "default" {
|
|
name = "compute-network"
|
|
}
|
|
|
|
resource "google_compute_subnetwork" "default" {
|
|
name = "compute-subnetwork"
|
|
ip_cidr_range = "10.0.0.0/16"
|
|
network = "${google_compute_network.default.self_link}"
|
|
region = "us-central1"
|
|
}
|
|
|
|
resource "google_compute_route" "default" {
|
|
name = "network-route"
|
|
dest_range = "15.0.0.0/24"
|
|
network = "${google_compute_network.foobar.name}"
|
|
next_hop_ip = "10.0.1.5"
|
|
priority = 100
|
|
}
|
|
```
|
|
|
|
## Argument Reference
|
|
|
|
The following arguments are supported:
|
|
|
|
* `dest_range` -
|
|
(Required)
|
|
The destination range of outgoing packets that this route applies to.
|
|
Only IPv4 is supported.
|
|
* `name` -
|
|
(Required)
|
|
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.
|
|
* `network` -
|
|
(Required)
|
|
The network that this route applies to.
|
|
|
|
|
|
- - -
|
|
|
|
* `description` -
|
|
(Optional)
|
|
An optional description of this resource. Provide this property
|
|
when you create the resource.
|
|
* `priority` -
|
|
(Optional)
|
|
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.
|
|
* `tags` -
|
|
(Optional)
|
|
A list of instance tags to which this route applies.
|
|
* `next_hop_gateway` -
|
|
(Optional)
|
|
URL to a gateway that should handle matching packets.
|
|
|
|
Currently, you can only specify the internet gateway, using a full or
|
|
partial valid URL:
|
|
|
|
* 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
|
|
You can also provide the string 'default-internet-gateway'.
|
|
* `next_hop_instance` -
|
|
(Optional)
|
|
URL to an instance that should handle matching packets.
|
|
You can specify this as a full or partial URL. For example:
|
|
|
|
* https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance
|
|
* projects/project/zones/zone/instances/instance
|
|
* zones/zone/instances/instance
|
|
You can also provide just the instance name, with the zone in
|
|
`next_hop_instance_zone`.
|
|
* `next_hop_ip` -
|
|
(Optional)
|
|
Network IP address of an instance that should handle matching packets.
|
|
* `next_hop_vpn_tunnel` -
|
|
(Optional)
|
|
URL to a VpnTunnel that should handle matching packets.
|
|
* `project` (Optional) The ID of the project in which the resource belongs.
|
|
If it is not provided, the provider project is used.
|
|
|
|
|
|
* `next_hop_instance_zone` - (Optional when `next_hop_instance` is
|
|
specified) The zone of the instance specified in
|
|
`next_hop_instance`. Omit if `next_hop_instance` is specified as
|
|
a URL.
|
|
## Attributes Reference
|
|
|
|
In addition to the arguments listed above, the following computed attributes are exported:
|
|
|
|
* `next_hop_network` -
|
|
URL to a Network that should handle matching packets.
|
|
* `self_link` - The URI of the created resource.
|
|
|
|
|
|
## Timeouts
|
|
|
|
This resource provides the following
|
|
[Timeouts](/docs/configuration/resources.html#timeouts) configuration options:
|
|
|
|
- `create` - Default is 4 minutes.
|
|
- `delete` - Default is 4 minutes.
|
|
|
|
## Import
|
|
|
|
Route can be imported using any of these accepted formats:
|
|
|
|
```
|
|
$ terraform import google_compute_route.default projects/{{project}}/global/routes/{{name}}
|
|
$ terraform import google_compute_route.default {{project}}/{{name}}
|
|
$ terraform import google_compute_route.default {{name}}
|
|
```
|