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

title: networkservices v1 GrpcRouteRouteAction 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
  destinations:
    description: |-
      The destination services to which traffic should be forwarded. If multiple
      destinations are specified, traffic will be split between Backend
      Service(s) according to the weight field of these destinations.
    type: array
    items:
      $ref: GrpcRouteDestination.yaml
  faultInjectionPolicy:
    description: |-
      The specification for fault injection introduced into traffic to test
      the resiliency of clients to destination service failure. As part of
      fault injection, when clients send requests to a destination, delays
      can be introduced on a percentage of requests before sending those
      requests to the destination service. Similarly requests from clients
      can be aborted by for a percentage of requests. timeout and
      retry_policy will be ignored by clients that are configured with a
      fault_injection_policy
    $ref: GrpcRouteFaultInjectionPolicy.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
  retryPolicy:
    description: Specifies the retry policy associated with this route.
    $ref: GrpcRouteRetryPolicy.yaml
  statefulSessionAffinity:
    description: Specifies cookie-based stateful session affinity.
    $ref: GrpcRouteStatefulSessionAffinityPolicy.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
