import * as pulumi from "@pulumi/pulumi"; /** * Creates a Route resource in the specified project using the data included in the request. */ export declare class Route extends pulumi.CustomResource { /** * Get an existing Route resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Route; /** * Returns true if the given object is an instance of Route. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Route; /** * Whether this route can conflict with existing subnetworks. Setting this to true allows this route to conflict with subnetworks that have already been configured on the corresponding network. */ readonly allowConflictingSubnetworks: pulumi.Output; /** * [Output Only] Creation timestamp in RFC3339 text format. */ readonly creationTimestamp: pulumi.Output; /** * An optional description of this resource. Provide this field when you create the resource. */ readonly description: pulumi.Output; /** * The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. */ readonly destRange: pulumi.Output; /** * [Output Only] Type of this resource. Always compute#routes for Route resources. */ readonly kind: pulumi.Output; /** * 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])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit. */ readonly name: pulumi.Output; /** * Fully-qualified URL of the network that this route applies to. */ readonly network: pulumi.Output; /** * The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL: projects/project/global/gateways/default-internet-gateway */ readonly nextHopGateway: pulumi.Output; /** * The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: * - 10.128.0.56 * - https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule * - regions/region/forwardingRules/forwardingRule */ readonly nextHopIlb: pulumi.Output; /** * The 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/ */ readonly nextHopInstance: pulumi.Output; /** * [Output Only] The URL to an InterconnectAttachment which is the next hop for the route. This field will only be populated for the dynamic routes generated by Cloud Router with a linked interconnectAttachment. */ readonly nextHopInterconnectAttachment: pulumi.Output; /** * The network IP address of an instance that should handle matching packets. Only IPv4 is supported. */ readonly nextHopIp: pulumi.Output; /** * The URL of the local network if it should handle matching packets. */ readonly nextHopNetwork: pulumi.Output; /** * [Output Only] The network peering name that should handle matching packets, which should conform to RFC1035. */ readonly nextHopPeering: pulumi.Output; /** * The URL to a VpnTunnel that should handle matching packets. */ readonly nextHopVpnTunnel: pulumi.Output; /** * 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 cases where multiple routes have equal prefix length, the one with the lowest-numbered priority value wins. The default value is `1000`. The priority value must be from `0` to `65535`, inclusive. */ readonly priority: pulumi.Output; /** * [Output Only] Server-defined fully-qualified URL for this resource. */ readonly selfLink: pulumi.Output; /** * [Output Only] Server-defined URL for this resource with the resource id. */ readonly selfLinkWithId: pulumi.Output; /** * A list of instance tags to which this route applies. */ readonly tags: pulumi.Output; /** * [Output Only] If potential misconfigurations are detected for this route, this field will be populated with warning messages. */ readonly warnings: pulumi.Output<{ [key: string]: string; }[]>; /** * Create a Route resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: RouteArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Route resource. */ export interface RouteArgs { /** * Whether this route can conflict with existing subnetworks. Setting this to true allows this route to conflict with subnetworks that have already been configured on the corresponding network. */ readonly allowConflictingSubnetworks?: pulumi.Input; /** * [Output Only] Creation timestamp in RFC3339 text format. */ readonly creationTimestamp?: pulumi.Input; /** * An optional description of this resource. Provide this field when you create the resource. */ readonly description?: pulumi.Input; /** * The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. */ readonly destRange?: pulumi.Input; /** * [Output Only] The unique identifier for the resource. This identifier is defined by the server. */ readonly id?: pulumi.Input; /** * [Output Only] Type of this resource. Always compute#routes for Route resources. */ readonly kind?: pulumi.Input; /** * 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])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit. */ readonly name?: pulumi.Input; /** * Fully-qualified URL of the network that this route applies to. */ readonly network?: pulumi.Input; /** * The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL: projects/project/global/gateways/default-internet-gateway */ readonly nextHopGateway?: pulumi.Input; /** * The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: * - 10.128.0.56 * - https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule * - regions/region/forwardingRules/forwardingRule */ readonly nextHopIlb?: pulumi.Input; /** * The 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/ */ readonly nextHopInstance?: pulumi.Input; /** * [Output Only] The URL to an InterconnectAttachment which is the next hop for the route. This field will only be populated for the dynamic routes generated by Cloud Router with a linked interconnectAttachment. */ readonly nextHopInterconnectAttachment?: pulumi.Input; /** * The network IP address of an instance that should handle matching packets. Only IPv4 is supported. */ readonly nextHopIp?: pulumi.Input; /** * The URL of the local network if it should handle matching packets. */ readonly nextHopNetwork?: pulumi.Input; /** * [Output Only] The network peering name that should handle matching packets, which should conform to RFC1035. */ readonly nextHopPeering?: pulumi.Input; /** * The URL to a VpnTunnel that should handle matching packets. */ readonly nextHopVpnTunnel?: pulumi.Input; /** * 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 cases where multiple routes have equal prefix length, the one with the lowest-numbered priority value wins. The default value is `1000`. The priority value must be from `0` to `65535`, inclusive. */ readonly priority?: pulumi.Input; readonly project: pulumi.Input; readonly route: pulumi.Input; /** * [Output Only] Server-defined fully-qualified URL for this resource. */ readonly selfLink?: pulumi.Input; /** * [Output Only] Server-defined URL for this resource with the resource id. */ readonly selfLinkWithId?: pulumi.Input; /** * A list of instance tags to which this route applies. */ readonly tags?: pulumi.Input[]>; /** * [Output Only] If potential misconfigurations are detected for this route, this field will be populated with warning messages. */ readonly warnings?: pulumi.Input; }>[]>; }