terraform-provider-google/website/docs/r/compute_route.html.markdown

176 lines
5.9 KiB
Markdown
Raw Normal View History

2014-08-26 21:50:29 +00:00
---
2018-06-14 20:22:02 +00:00
# ----------------------------------------------------------------------------
#
# *** 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.
#
# ----------------------------------------------------------------------------
2014-08-26 21:50:29 +00:00
layout: "google"
page_title: "Google: google_compute_route"
2018-06-14 20:22:02 +00:00
sidebar_current: "docs-google-compute-route"
2014-10-22 03:21:56 +00:00
description: |-
2018-06-14 20:22:02 +00:00
Represents a Route resource.
2014-08-26 21:50:29 +00:00
---
# google\_compute\_route
2018-06-14 20:22:02 +00:00
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)
2014-08-26 21:50:29 +00:00
## Example Usage
```hcl
2017-06-27 14:07:47 +00:00
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"
2014-08-26 21:50:29 +00:00
}
2017-06-27 14:07:47 +00:00
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
2014-08-26 21:50:29 +00:00
}
```
## Argument Reference
The following arguments are supported:
2018-06-14 20:22:02 +00:00
* `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.
- - -
2018-06-14 20:22:02 +00:00
* `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.
2018-07-06 21:53:00 +00:00
2018-06-14 20:22:02 +00:00
In the case of two routes with equal prefix length, the one with the
lowest-numbered priority value wins.
2018-07-06 21:53:00 +00:00
2018-06-14 20:22:02 +00:00
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.
2018-07-06 21:53:00 +00:00
2018-06-14 20:22:02 +00:00
Currently, you can only specify the internet gateway, using a full or
partial valid URL:
2018-07-06 21:53:00 +00:00
2018-06-14 20:22:02 +00:00
* 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:
2018-07-06 21:53:00 +00:00
2018-06-14 20:22:02 +00:00
* 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.
2018-07-06 21:53:00 +00:00
2018-06-14 20:22:02 +00:00
* `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
2018-06-14 20:22:02 +00:00
In addition to the arguments listed above, the following computed attributes are exported:
2014-08-26 21:50:29 +00:00
2018-06-14 20:22:02 +00:00
* `next_hop_network` -
URL to a Network that should handle matching packets.
* `self_link` - The URI of the created resource.
2014-08-26 21:50:29 +00:00
2018-07-06 21:53:00 +00:00
2018-06-14 20:22:02 +00:00
## Timeouts
2014-08-26 21:50:29 +00:00
2018-06-14 20:22:02 +00:00
This resource provides the following
[Timeouts](/docs/configuration/resources.html#timeouts) configuration options:
2018-06-14 20:22:02 +00:00
- `create` - Default is 4 minutes.
- `delete` - Default is 4 minutes.
2017-06-27 14:07:47 +00:00
## Import
2018-06-14 20:22:02 +00:00
Route can be imported using any of these accepted formats:
2017-06-27 14:07:47 +00:00
```
2018-06-14 20:22:02 +00:00
$ 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}}
2017-06-27 14:07:47 +00:00
```