File: //snap/google-cloud-cli/396/lib/googlecloudsdk/schemas/compute/alpha/HttpRouteAction.yaml
$schema: "http://json-schema.org/draft-06/schema#"
title: compute alpha HttpRouteAction 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
corsPolicy:
description: |-
The specification for allowing client-side cross-origin requests. For more
information about the W3C recommendation for cross- origin resource
sharing (CORS), see Fetch API Living Standard. Not supported when the URL
map is bound to a target gRPC proxy.
$ref: CorsPolicy.yaml
faultInjectionPolicy:
description: |-
The specification for fault injection introduced into traffic to test the
resiliency of clients to backend service failure. As part of fault
injection, when clients send requests to a backend service, delays can be
introduced by a load balancer on a percentage of requests before sending
those requests to the backend service. Similarly requests from clients can
be aborted by the load balancer for a percentage of requests. timeout and
retry_policy is ignored by clients that are configured with a
fault_injection_policy if: 1. The traffic is generated by fault injection
AND 2. The fault injection is not a delay fault injection. Fault injection
is not supported with the global external HTTP(S) load balancer (classic).
To see which load balancers support fault injection, see Load balancing:
Routing and traffic management features.
$ref: HttpFaultInjection.yaml
maxStreamDuration:
description: |-
Specifies the maximum duration (timeout) for streams on the selected
route. Unlike the timeout field where the timeout duration starts from the
time the request has been fully processed (known as *end-of-stream*), the
duration in this field is computed from the beginning of the stream until
the response has been processed, including all retries. A stream that does
not complete in this duration is closed. If not specified, this field uses
the maximum maxStreamDuration value among all backend services associated
with the route. This field is only allowed if the Url map is used with
backend services with loadBalancingScheme set to INTERNAL_SELF_MANAGED.
$ref: Duration.yaml
requestMirrorPolicy:
description: |-
Specifies the policy on how requests intended for the route's backends are
shadowed to a separate mirrored backend service. The load balancer does
not wait for responses from the shadow service. Before sending traffic to
the shadow service, the host / authority header is suffixed with -shadow.
Not supported when the URL map is bound to a target gRPC proxy that has
the validateForProxyless field set to true.
$ref: RequestMirrorPolicy.yaml
retryPolicy:
description: Specifies the retry policy associated with this route.
$ref: HttpRetryPolicy.yaml
timeout:
description: |-
Specifies the timeout for the selected route. Timeout is computed from the
time the request has been fully processed (known as *end-of- stream*) up
until the response has been processed. Timeout includes all retries. If
not specified, this field uses the largest timeout among all backend
services associated with the route. Not supported when the URL map is
bound to a target gRPC proxy that has validateForProxyless field set to
true.
$ref: Duration.yaml
urlRewrite:
description: |-
The spec to modify the URL of the request, before forwarding the request
to the matched service. urlRewrite is the only action supported in UrlMaps
for external HTTP(S) load balancers. Not supported when the URL map is
bound to a target gRPC proxy that has the validateForProxyless field set
to true.
$ref: UrlRewrite.yaml
weightedBackendServices:
description: |-
A list of weighted backend services to send traffic to when a route match
occurs. The weights determine the fraction of traffic that flows to their
corresponding backend service. If all traffic needs to go to a single
backend service, there must be one weightedBackendService with weight set
to a non-zero number. After a backend service is identified and before
forwarding the request to the backend service, advanced routing actions
such as URL rewrites and header transformations are applied depending on
additional settings specified in this HttpRouteAction.
type: array
items:
$ref: WeightedBackendService.yaml