REST Resource: projects.locations.tlsRoutes

Resource: TlsRoute

TlsRoute defines how traffic should be routed based on SNI and other matching L3 attributes.

JSON representation
{
  "name": string,
  "selfLink": string,
  "createTime": string,
  "updateTime": string,
  "description": string,
  "rules": [
    {
      object (RouteRule)
    }
  ],
  "meshes": [
    string
  ],
  "gateways": [
    string
  ]
}
Fields
name

string

Required. Name of the TlsRoute resource. It matches pattern projects/*/locations/global/tlsRoutes/tls_route_name>.

createTime

string (Timestamp format)

Output only. The timestamp when the resource was created.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Output only. The timestamp when the resource was updated.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

description

string

Optional. A free-text description of the resource. Max length 1024 characters.

rules[]

object (RouteRule)

Required. Rules that define how traffic is routed and handled. At least one RouteRule must be supplied. If there are multiple rules then the action taken will be the first rule to match.

meshes[]

string

Optional. Meshes defines a list of meshes this TlsRoute is attached to, as one of the routing rules to route the requests served by the mesh.

Each mesh reference should match the pattern: projects/*/locations/global/meshes/<mesh_name>

The attached Mesh should be of a type SIDECAR

gateways[]

string

Optional. Gateways defines a list of gateways this TlsRoute is attached to, as one of the routing rules to route the requests served by the gateway.

Each gateway reference should match the pattern: projects/*/locations/global/gateways/<gateway_name>

RouteRule

Specifies how to match traffic and how to route traffic when traffic is matched.

JSON representation
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
Fields
matches[]

object (RouteMatch)

Required. RouteMatch defines the predicate used to match requests to a given action. Multiple match types are "OR"ed for evaluation.

action

object (RouteAction)

Required. The detailed rule defining how to route matched traffic.

RouteMatch

RouteMatch defines the predicate used to match requests to a given action. Multiple match types are "AND"ed for evaluation. If no routeMatch field is specified, this rule will unconditionally match traffic.

JSON representation
{
  "sniHost": [
    string
  ],
  "alpn": [
    string
  ]
}
Fields
sniHost[]

string

Optional. SNI (server name indicator) to match against. SNI will be matched against all wildcard domains, i.e. www.example.com will be first matched against www.example.com, then *.example.com, then *.com. Partial wildcards are not supported, and values like *w.example.com are invalid. At least one of sniHost and alpn is required. Up to 5 sni hosts across all matches can be set.

alpn[]

string

Optional. ALPN (Application-Layer Protocol Negotiation) to match against. Examples: "http/1.1", "h2". At least one of sniHost and alpn is required. Up to 5 alpns across all matches can be set.

RouteAction

The specifications for routing traffic and applying associated policies.

JSON representation
{
  "destinations": [
    {
      object (RouteDestination)
    }
  ]
}
Fields
destinations[]

object (RouteDestination)

Required. The destination services to which traffic should be forwarded. At least one destination service is required.

RouteDestination

Describe the destination for traffic to be routed to.

JSON representation
{
  "serviceName": string,
  "weight": integer
}
Fields
serviceName

string

Required. The URL of a BackendService to route traffic to.

weight

integer

Optional. Specifies the proportion of requests forwareded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in destinations) Weights in all destinations does not need to sum up to 100.

Methods

create

Creates a new TlsRoute in a given project and location.

delete

Deletes a single TlsRoute.

get

Gets details of a single TlsRoute.

list

Lists TlsRoute in a given project and location.

patch

Updates the parameters of a single TlsRoute.

setIamPolicy

Sets the access control policy on the specified resource.

testIamPermissions

Returns permissions that a caller has on the specified resource.