$schema: "http://json-schema.org/draft-06/schema#"

title: networkservices v1 HttpRouteRouteAction 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.
    $ref: HttpRouteCorsPolicy.yaml
  destinations:
    description: The destination to which traffic should be forwarded.
    type: array
    items:
      $ref: HttpRouteDestination.yaml
  directResponse:
    description: |-
      Static HTTP Response object to be returned regardless of the request.
    $ref: HttpRouteHttpDirectResponse.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 on a percentage of requests before sending those
      requests to the backend service. Similarly requests from clients can
      be aborted for a percentage of requests. timeout and retry_policy will
      be ignored by clients that are configured with a
      fault_injection_policy
    $ref: HttpRouteFaultInjectionPolicy.yaml
  idleTimeout:
    description: |-
      Specifies the idle timeout for the selected route. The idle timeout is
      defined as the period in which there are no bytes sent or received on
      either the upstream or downstream connection. If not set, the default
      idle timeout is 1 hour. If set to 0s, the timeout will be disabled.
    type: string
  redirect:
    description: |-
      If set, the request is directed as configured by this field.
    $ref: HttpRouteRedirect.yaml
  requestHeaderModifier:
    description: |-
      The specification for modifying the headers of a matching request
      prior to delivery of the request to the destination. If
      HeaderModifiers are set on both the Destination and the RouteAction,
      they will be merged. Conflicts between the two will not be resolved on
      the configuration.
    $ref: HttpRouteHeaderModifier.yaml
  requestMirrorPolicy:
    description: |-
      Specifies the policy on how requests intended for the routes
      destination are shadowed to a separate mirrored destination. Proxy
      will not wait for the shadow destination to respond before returning
      the response. Prior to sending traffic to the shadow service, the
      host/authority header is suffixed with -shadow.
    $ref: HttpRouteRequestMirrorPolicy.yaml
  responseHeaderModifier:
    description: |-
      The specification for modifying the headers of a response prior to
      sending the response back to the client. If HeaderModifiers are set on
      both the Destination and the RouteAction, they will be merged.
      Conflicts between the two will not be resolved on the configuration.
    $ref: HttpRouteHeaderModifier.yaml
  retryPolicy:
    description: Specifies the retry policy associated with this route.
    $ref: HttpRouteRetryPolicy.yaml
  statefulSessionAffinity:
    description: Specifies cookie-based stateful session affinity.
    $ref: HttpRouteStatefulSessionAffinityPolicy.yaml
  timeout:
    description: |-
      Specifies the timeout for selected route. Timeout is computed from the
      time the request has been fully processed (i.e. end of stream) up
      until the response has been completely processed. Timeout includes all
      retries.
    type: string
  urlRewrite:
    description: |-
      The specification for rewrite URL before forwarding requests to the
      destination.
    $ref: HttpRouteURLRewrite.yaml
