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

title: gkeonprem v1 VmwareCluster export schema
description: A gcloud export/import command YAML validation schema.
type: object
required:
- adminClusterMembership
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
  adminClusterMembership:
    description: |-
      The admin cluster this VMware user cluster belongs to. This is the full
      resource name of the admin cluster's fleet membership. In the future,
      references to other resource types might be allowed if admin clusters are
      modeled as their own resources.
    type: string
  annotations:
    description: |-
      Annotations on the VMware user cluster. This field has the same
      restrictions as Kubernetes annotations. The total size of all keys and
      values combined is limited to 256k. Key can have 2 segments: prefix
      (optional) and name (required), separated by a slash (/). Prefix must be a
      DNS subdomain. Name must be 63 characters or less, begin and end with
      alphanumerics, with dashes (-), underscores (_), dots (.), and
      alphanumerics between.
    $ref: AnnotationsValue.yaml
  antiAffinityGroups:
    description: |-
      AAGConfig specifies whether to spread VMware user cluster nodes across at
      least three physical hosts in the datacenter.
    $ref: VmwareAAGConfig.yaml
  authorization:
    description: RBAC policy that will be applied and managed by GKE On- Prem.
    $ref: Authorization.yaml
  autoRepairConfig:
    description: Configuration for auto repairing.
    $ref: VmwareAutoRepairConfig.yaml
  controlPlaneNode:
    description: |-
      VMware user cluster control plane nodes must have either 1 or 3 replicas.
    $ref: VmwareControlPlaneNodeConfig.yaml
  dataplaneV2:
    description: |-
      VmwareDataplaneV2Config specifies configuration for Dataplane V2.
    $ref: VmwareDataplaneV2Config.yaml
  description:
    description: A human readable description of this VMware user cluster.
    type: string
  enableControlPlaneV2:
    description: Enable control plane V2. Default to false.
    type: boolean
  etag:
    description: |-
      This checksum is computed by the server based on the value of other
      fields, and may be sent on update and delete requests to ensure the client
      has an up-to-date value before proceeding. Allows clients to perform
      consistent read-modify-writes through optimistic concurrency control.
    type: string
  loadBalancer:
    description: Load Balancer configuration.
    $ref: VmwareLoadBalancerConfig.yaml
  name:
    description: Immutable. The VMware user cluster resource name.
    type: string
  networkConfig:
    description: The VMware user cluster network configuration.
    $ref: VmwareNetworkConfig.yaml
  onPremVersion:
    description: |-
      The Anthos clusters on the VMware version for your user cluster. Defaults
      to the admin cluster version.
    type: string
  storage:
    description: Storage configuration.
    $ref: VmwareStorageConfig.yaml
  vmTrackingEnabled:
    description: Enable VM tracking.
    type: boolean
