Show / Hide Table of Contents

Class 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, nextHopVpnTunnel, or nextHopIlb.

To get more information about Route, see:

  • API documentation
  • How-to Guides
  • Using Routes

Example Usage - Route Basic

using Pulumi;
using Gcp = Pulumi.Gcp;

class MyStack : Stack
{
public MyStack()
{
    var defaultNetwork = new Gcp.Compute.Network("defaultNetwork", new Gcp.Compute.NetworkArgs
    {
    });
    var defaultRoute = new Gcp.Compute.Route("defaultRoute", new Gcp.Compute.RouteArgs
    {
        DestRange = "15.0.0.0/24",
        Network = defaultNetwork.Name,
        NextHopIp = "10.132.1.5",
        Priority = 100,
    });
}

}
Inheritance
System.Object
Resource
CustomResource
Route
Inherited Members
CustomResource.Id
Resource.GetResourceType()
Resource.GetResourceName()
Resource.Urn
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Pulumi.Gcp.Compute
Assembly: Pulumi.Gcp.dll
Syntax
public class Route : CustomResource

Constructors

View Source

Route(String, RouteArgs, CustomResourceOptions)

Create a Route resource with the given unique name, arguments, and options.

Declaration
public Route(string name, RouteArgs args, CustomResourceOptions options = null)
Parameters
Type Name Description
System.String name

The unique name of the resource

RouteArgs args

The arguments used to populate this resource's properties

CustomResourceOptions options

A bag of options that control this resource's behavior

Properties

View Source

Description

An optional description of this resource. Provide this property when you create the resource.

Declaration
public Output<string> Description { get; }
Property Value
Type Description
Output<System.String>
View Source

DestRange

The destination range of outgoing packets that this route applies to. Only IPv4 is supported.

Declaration
public Output<string> DestRange { get; }
Property Value
Type Description
Output<System.String>
View Source

Name

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? 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.

Declaration
public Output<string> Name { get; }
Property Value
Type Description
Output<System.String>
View Source

Network

The network that this route applies to.

Declaration
public Output<string> Network { get; }
Property Value
Type Description
Output<System.String>
View Source

NextHopGateway

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
  • The string default-internet-gateway.
Declaration
public Output<string> NextHopGateway { get; }
Property Value
Type Description
Output<System.String>
View Source

NextHopIlb

The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets. You can only specify the forwarding rule as a partial or full URL. For example, the following are all valid URLs: https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule regions/region/forwardingRules/forwardingRule Note that this can only be used when the destinationRange is a public (non-RFC 1918) IP CIDR range.

Declaration
public Output<string> NextHopIlb { get; }
Property Value
Type Description
Output<System.String>
View Source

NextHopInstance

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
  • Just the instance name, with the zone in next_hop_instance_zone.
Declaration
public Output<string> NextHopInstance { get; }
Property Value
Type Description
Output<System.String>
View Source

NextHopInstanceZone

(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.

Declaration
public Output<string> NextHopInstanceZone { get; }
Property Value
Type Description
Output<System.String>
View Source

NextHopIp

Network IP address of an instance that should handle matching packets.

Declaration
public Output<string> NextHopIp { get; }
Property Value
Type Description
Output<System.String>
View Source

NextHopNetwork

URL to a Network that should handle matching packets.

Declaration
public Output<string> NextHopNetwork { get; }
Property Value
Type Description
Output<System.String>
View Source

NextHopVpnTunnel

URL to a VpnTunnel that should handle matching packets.

Declaration
public Output<string> NextHopVpnTunnel { get; }
Property Value
Type Description
Output<System.String>
View Source

Priority

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.

Declaration
public Output<int?> Priority { get; }
Property Value
Type Description
Output<System.Nullable<System.Int32>>
View Source

Project

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Declaration
public Output<string> Project { get; }
Property Value
Type Description
Output<System.String>
View Source

SelfLink

The URI of the created resource.

Declaration
public Output<string> SelfLink { get; }
Property Value
Type Description
Output<System.String>
View Source

Tags

A list of instance tags to which this route applies.

Declaration
public Output<ImmutableArray<string>> Tags { get; }
Property Value
Type Description
Output<System.Collections.Immutable.ImmutableArray<System.String>>

Methods

View Source

Get(String, Input<String>, RouteState, CustomResourceOptions)

Get an existing Route resource's state with the given name, ID, and optional extra properties used to qualify the lookup.

Declaration
public static Route Get(string name, Input<string> id, RouteState state = null, CustomResourceOptions options = null)
Parameters
Type Name Description
System.String name

The unique name of the resulting resource.

Input<System.String> id

The unique provider ID of the resource to lookup.

RouteState state

Any extra arguments used during the lookup.

CustomResourceOptions options

A bag of options that control this resource's behavior

Returns
Type Description
Route
  • View Source
Back to top Copyright 2016-2020, Pulumi Corporation.