File: //snap/google-cloud-cli/396/lib/googlecloudsdk/schemas/compute/alpha/HttpRouteRule.yaml
$schema: "http://json-schema.org/draft-06/schema#"
title: compute alpha HttpRouteRule export schema
description: A gcloud export/import command YAML validation schema.
type: object
additionalProperties: false
properties:
COMMENT:
type: object
description: User specified info ignored by gcloud import.
additionalProperties: false
properties:
template-id:
type: string
region:
type: string
description:
type: string
date:
type: string
version:
type: string
UNKNOWN:
type: array
description: Unknown API fields that cannot be imported.
items:
type: string
customErrorResponsePolicy:
description: |-
customErrorResponsePolicy specifies how the Load Balancer returns error
responses when BackendServiceor BackendBucket responds with an error. If a
policy for an error code is not configured for the RouteRule, a policy for
the error code configured in pathMatcher.defaultCustomErrorResponsePolicy
is applied. If one is not specified in
pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in
UrlMap.defaultCustomErrorResponsePolicy takes effect. For example,
consider a UrlMap with the following configuration: -
UrlMap.defaultCustomErrorResponsePolicy are configured with policies for
5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the
error code 404. If the request is for www.myotherdomain.com and a 404 is
encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy
takes effect. If a 404 response is encountered for the request
www.example.com/current_events/, the pathMatcher's policy takes effect. If
however, the request for www.example.com/coming_soon/ encounters a 404,
the policy in RouteRule.customErrorResponsePolicy takes effect. If any of
the requests in this example encounter a 500 error code, the policy at
UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in
conjunction with routeRules.routeAction.retryPolicy, retries take
precedence. Only once all retries are exhausted, the
customErrorResponsePolicy is applied. While attempting a retry, if load
balancer is successful in reaching the service, the
customErrorResponsePolicy is ignored and the response from the service is
returned to the client. customErrorResponsePolicy is supported only for
Global External HTTP(S) load balancing.
$ref: CustomErrorResponsePolicy.yaml
description:
description: |-
The short description conveying the intent of this routeRule. The
description can have a maximum length of 1024 characters.
type: string
headerAction:
description: |-
Specifies changes to request and response headers that need to take effect
for the selected backendService. The headerAction value specified here is
applied before the matching pathMatchers[].headerAction and after
pathMatchers[].routeRules[].routeA
ction.weightedBackendService.backendServiceWeightAction[].headerAction
HeaderAction is not supported for load balancers that have their
loadBalancingScheme set to EXTERNAL. Not supported when the URL map is
bound to a target gRPC proxy that has validateForProxyless field set to
true.
$ref: HttpHeaderAction.yaml
httpFilterConfigs:
description: |-
Outbound route specific configuration for networkservices.HttpFilter
resources enabled by Traffic Director. httpFilterConfigs only applies for
load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
ForwardingRule for more details. Not supported when the URL map is bound
to a target gRPC proxy that has validateForProxyless field set to true.
type: array
items:
$ref: HttpFilterConfig.yaml
httpFilterMetadata:
description: |-
Outbound route specific metadata supplied to
networkservices.HttpFilter resources enabled by Traffic Director.
httpFilterMetadata only applies for load balancers with
loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule
for more details. The only configTypeUrl supported is
type.googleapis.com/google.protobuf.Struct Not supported when the URL
map is bound to a target gRPC proxy that has validateForProxyless
field set to true.
type: array
items:
$ref: HttpFilterConfig.yaml
matchRules:
description: |-
The list of criteria for matching attributes of a request to this
routeRule. This list has OR semantics: the request matches this
routeRule when any of the matchRules are satisfied. However
predicates within a given matchRule have AND semantics. All
predicates within a matchRule must match for the request to match
the rule.
type: array
items:
$ref: HttpRouteRuleMatch.yaml
priority:
description: |-
For routeRules within a given pathMatcher, priority determines
the order in which a load balancer interprets routeRules.
RouteRules are evaluated in order of priority, from the lowest
to highest number. The priority of a rule decreases as its
number increases (1, 2, 3, N+1). The first rule that matches
the request is applied. You cannot configure two or more
routeRules with the same priority. Priority for each rule must
be set to a number from 0 to 2147483647 inclusive. Priority
numbers can have gaps, which enable you to add or remove rules
in the future without affecting the rest of the rules. For
example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of
priority numbers to which you could add rules numbered from 6
to 8, 10 to 11, and 13 to 15 in the future without any impact
on existing rules.
type: integer
routeAction:
description: |-
In response to a matching matchRule, the load balancer
performs advanced routing actions, such as URL rewrites and
header transformations, before forwarding the request to the
selected backend. If routeAction specifies any
weightedBackendServices, service must not be set. Conversely
if service is set, routeAction cannot contain any
weightedBackendServices. Only one of urlRedirect, service or
routeAction.weightedBackendService must be set. URL maps for
Classic external HTTP(S) load balancers only support the
urlRewrite action within a route rule's routeAction.
$ref: HttpRouteAction.yaml
service:
description: |-
The full or partial URL of the backend service resource to
which traffic is directed if this rule is matched. If
routeAction is also specified, advanced routing actions, such
as URL rewrites, take effect before sending the request to the
backend. However, if service is specified, routeAction cannot
contain any weightedBackendServices. Conversely, if
routeAction specifies any weightedBackendServices, service
must not be specified. Only one of urlRedirect, service or
routeAction.weightedBackendService must be set.
type: string
urlRedirect:
description: |-
When this rule is matched, the request is redirected to a URL
specified by urlRedirect. If urlRedirect is specified, service
or routeAction must not be set. Not supported when the URL map
is bound to a target gRPC proxy.
$ref: HttpRedirectAction.yaml