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

title: compute alpha ClientTlsSettings 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
  clientTlsContext:
    description: |-
      Configures the mechanism to obtain client-side security certificates and
      identity information. This field is only applicable when mode is set to
      MUTUAL.
    $ref: TlsContext.yaml
  mode:
    description: |-
      Indicates whether connections to this port should be secured using TLS.
      The value of this field determines how TLS is enforced. This can be set to
      one of the following values: DISABLE: Do not setup a TLS connection to the
      backends. SIMPLE: Originate a TLS connection to the backends. MUTUAL:
      Secure connections to the backends using mutual TLS by presenting client
      certificates for authentication.
    type: string
    enum:
    - DISABLE
    - INVALID
    - MUTUAL
    - SIMPLE
  sni:
    description: |-
      SNI string to present to the server during TLS handshake. This field is
      applicable only when mode is SIMPLE or MUTUAL.
    type: string
  subjectAltNames:
    description: |-
      A list of alternate names to verify the subject identity in the
      certificate.If specified, the proxy will verify that the server
      certificate's subject alt name matches one of the specified values. This
      field is applicable only when mode is SIMPLE or MUTUAL.
    type: array
    items:
      type: string
