156 lines
7.4 KiB
YAML
156 lines
7.4 KiB
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
|