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

title: compute beta Backend 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
  balancingMode:
    description: |-
      Specifies how to determine whether the backend of a load balancer can
      handle additional traffic or is fully loaded. For usage guidelines, see
      Connection balancing mode. Backends must use compatible balancing modes.
      For more information, see Supported balancing modes and target capacity
      settings and Restrictions and guidance for instance groups. Note:
      Currently, if you use the API to configure incompatible balancing modes,
      the configuration might be accepted even though it has no impact and is
      ignored. Specifically, Backend.maxUtilization is ignored when
      Backend.balancingMode is RATE. In the future, this incompatible
      combination will be rejected.
    type: string
    enum:
    - CONNECTION
    - CUSTOM_METRICS
    - IN_FLIGHT
    - RATE
    - UTILIZATION
  capacityScaler:
    description: |-
      A multiplier applied to the backend's target capacity of its balancing
      mode. The default value is 1, which means the group serves up to 100% of
      its configured capacity (depending on balancingMode). A setting of 0 means
      the group is completely drained, offering 0% of its available capacity.
      The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting
      larger than 0 and smaller than 0.1. You cannot configure a setting of 0
      when there is only one backend attached to the backend service. Not
      available with backends that don't support using a balancingMode. This
      includes backends such as global internet NEGs, regional serverless NEGs,
      and PSC NEGs.
    type: number
  customMetrics:
    description: |-
      List of custom metrics that are used for CUSTOM_METRICS BalancingMode.
    type: array
    items:
      $ref: BackendCustomMetric.yaml
  description:
    description: |-
      An optional description of this resource. Provide this property when
      you create the resource.
    type: string
  failover:
    description: |-
      This field designates whether this is a failover backend. More than
      one failover backend can be configured for a given BackendService.
    type: boolean
  group:
    description: |-
      The fully-qualified URL of an instance group or network endpoint group
      (NEG) resource. To determine what types of backends a load balancer
      supports, see the [Backend services
      overview](https://cloud.google.com/load-balancing/docs/backend-
      service#backends). You must use the *fully-qualified* URL (starting
      with https://www.googleapis.com/) to specify the instance group or
      NEG. Partial URLs are not supported. If haPolicy is specified,
      backends must refer to NEG resources of type GCE_VM_IP.
    type: string
  maxConnections:
    description: |-
      Defines a target maximum number of simultaneous connections. For usage
      guidelines, see Connection balancing mode and Utilization balancing
      mode. Not available if the backend's balancingMode is RATE.
    type: integer
  maxConnectionsPerEndpoint:
    description: |-
      Defines a target maximum number of simultaneous connections. For usage
      guidelines, see Connection balancing mode and Utilization balancing
      mode. Not available if the backend's balancingMode is RATE.
    type: integer
  maxConnectionsPerInstance:
    description: |-
      Defines a target maximum number of simultaneous connections. For usage
      guidelines, see Connection balancing mode and Utilization balancing
      mode. Not available if the backend's balancingMode is RATE.
    type: integer
  maxInFlightRequests:
    description: |-
      Defines a maximum number of in-flight requests for the whole NEG or
      instance group. Not available if backend's balancingMode is RATE or
      CONNECTION.
    type: integer
  maxInFlightRequestsPerEndpoint:
    description: |-
      Defines a maximum number of in-flight requests for a single endpoint.
      Not available if backend's balancingMode is RATE or CONNECTION.
    type: integer
  maxInFlightRequestsPerInstance:
    description: |-
      Defines a maximum number of in-flight requests for a single VM. Not
      available if backend's balancingMode is RATE or CONNECTION.
    type: integer
  maxRate:
    description: |-
      Defines a maximum number of HTTP requests per second (RPS). For usage
      guidelines, see Rate balancing mode and Utilization balancing mode.
      Not available if the backend's balancingMode is CONNECTION.
    type: integer
  maxRatePerEndpoint:
    description: |-
      Defines a maximum target for requests per second (RPS). For usage
      guidelines, see Rate balancing mode and Utilization balancing mode.
      Not available if the backend's balancingMode is CONNECTION.
    type: number
  maxRatePerInstance:
    description: |-
      Defines a maximum target for requests per second (RPS). For usage
      guidelines, see Rate balancing mode and Utilization balancing mode.
      Not available if the backend's balancingMode is CONNECTION.
    type: number
  maxUtilization:
    description: |-
      Optional parameter to define a target capacity for the UTILIZATION
      balancing mode. The valid range is [0.0, 1.0]. For usage guidelines,
      see Utilization balancing mode.
    type: number
  preference:
    description: |-
      This field indicates whether this backend should be fully utilized
      before sending traffic to backends with default preference. The
      possible values are: - PREFERRED: Backends with this preference level
      will be filled up to their capacity limits first, based on RTT. -
    type: string
    enum:
    - DEFAULT
    - PREFERENCE_UNSPECIFIED
    - PREFERRED
  trafficDuration:
    description: A TrafficDurationValueValuesEnum attribute.
    type: string
    enum:
    - LONG
    - SHORT
    - TRAFFIC_DURATION_UNSPECIFIED
