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

title: networkservices v1 EdgeCacheService export schema
description: A gcloud export/import command YAML validation schema.
type: object
required:
- name
- routing
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
  disableHttp2:
    description: |-
      Disables HTTP/2. HTTP/2 (h2) is enabled by default and recommended for
      performance. HTTP/2 improves connection re-use and reduces connection
      setup overhead by sending multiple streams over the same connection. Some
      legacy HTTP clients might have issues with HTTP/2 connections due to
      broken HTTP/2 implementations. Setting this to `true` prevents HTTP/2 from
      being advertised and negotiated.
    type: boolean
  disableQuic:
    description: HTTP/3 (IETF QUIC) and Google QUIC are enabled by default.
    type: boolean
  edgeSecurityPolicy:
    description: |-
      The resource URL that points at the Cloud Armor edge security policy that
      is applied on each request against the EdgeCacheService resource.
    type: string
  edgeSslCertificates:
    description: |-
      Certificate resources that are used to authenticate connections between
      users and the EdgeCacheService resource. Note that only global
      certificates with a scope of `EDGE_CACHE` can be attached to an
      EdgeCacheService resource. The following are both valid paths to an
      `edge_ssl_certificates` resource: *
      `projects/project/locations/global/certificates/media-example-com-cert` *
      `media-example-com-cert` You can specify up to five SSL certificates.
    type: array
    items:
      type: string
  labels:
    description: |-
      A set of label tags associated with the `EdgeCacheService` resource.
    $ref: LabelsValue.yaml
  logConfig:
    description: |-
      The logging options for the traffic served by this service. If logging
      is enabled, logs are exported to Cloud Logging.
    $ref: LogConfig.yaml
  name:
    description: |-
      The name of the resource as provided by the client when the resource
      is created. The name must be 1-64 characters long, and match the
      regular expression `[a-zA-Z]([a-zA-Z0-9_-])*` which means the first
      character must be a letter, and all following characters must be a
      dash, an underscore, a letter, or a digit.
    type: string
  requireTls:
    description: |-
      Require TLS (HTTPS) for all clients connecting to this service.
      Clients who connect over HTTP (port 80) see an `HTTP 301` response to
      the same URL over HTTPS (port 443). You must have at least one
      edge_ssl_certificates specified to enable this.
    type: boolean
  routing:
    description: |-
      Defines how requests are routed, modified, and cached, and which
      origin the content is filled from.
    $ref: Routing.yaml
