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

title: networkservices v1beta1 LbTrafficExtension export schema
description: A gcloud export/import command YAML validation schema.
type: object
required:
- extensionChains
- loadBalancingScheme
- name
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
  description:
    description: A human-readable description of the resource.
    type: string
  extensionChains:
    description: |-
      A set of ordered extension chains that contain the match conditions and
      extensions to execute. Match conditions for each extension chain are
      evaluated in sequence for a given request. The first extension chain that
      has a condition that matches the request is executed. Any subsequent
      extension chains do not execute. Limited to 5 extension chains per
      resource.
    type: array
    items:
      $ref: ExtensionChain.yaml
  forwardingRules:
    description: |-
      A list of references to the forwarding rules to which this service
      extension is attached. At least one forwarding rule is required. There
      can be only one `LBTrafficExtension` resource per forwarding rule.
    type: array
    items:
      type: string
  labels:
    description: |-
      Set of labels associated with the `LbTrafficExtension` resource.
      The format must comply with [the requirements for
      labels](https://cloud.google.com/compute/docs/labeling-
      resources#requirements) for Google Cloud resources.
    $ref: LabelsValue.yaml
  loadBalancingScheme:
    description: |-
      All backend services and forwarding rules referenced by this
      extension must share the same load balancing scheme. Supported
      values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more
      information, refer to [Backend services
      overview](https://cloud.google.com/load-balancing/docs/backend-
      service).
    type: string
    enum:
    - EXTERNAL_MANAGED
    - INTERNAL_MANAGED
    - LOAD_BALANCING_SCHEME_UNSPECIFIED
  metadata:
    description: |-
      The metadata provided here is included in the
      `ProcessingRequest.metadata_context.filter_metadata` map field.
      The metadata is available under the key
      `com.google.lb_traffic_extension.`. The following variables are
      supported in the metadata: `{forwarding_rule_id}` - substituted
      with the forwarding rule's fully qualified resource name. This
      field is not supported for plugin extensions. Setting it results
      in a validation error.
    type: object
  name:
    description: |-
      Identifier. Name of the `LbTrafficExtension` resource in the
      following format:
      `projects/{project}/locations/{location}/lbTraffic
      Extensions/{lb_traffic_extension}`.
    type: string
