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

title: gkeonprem v1 BareMetalCluster export schema
description: A gcloud export/import command YAML validation schema.
type: object
required:
- adminClusterMembership
- bareMetalVersion
- controlPlane
- loadBalancer
- networkConfig
- storage
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 bare metal user cluster belongs to. This is the
      full resource name of the admin cluster's fleet membership.
    type: string
  annotations:
    description: |-
      Annotations on the bare metal 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
  bareMetalVersion:
    description: |-
      The Anthos clusters on bare metal version for your user cluster.
    type: string
  clusterOperations:
    description: Cluster operations configuration.
    $ref: BareMetalClusterOperationsConfig.yaml
  controlPlane:
    description: Control plane configuration.
    $ref: BareMetalControlPlaneConfig.yaml
  description:
    description: A human readable description of this bare metal user cluster.
    type: string
  loadBalancer:
    description: Load balancer configuration.
    $ref: BareMetalLoadBalancerConfig.yaml
  maintenanceConfig:
    description: Maintenance configuration.
    $ref: BareMetalMaintenanceConfig.yaml
  name:
    description: Immutable. The bare metal user cluster resource name.
    type: string
  networkConfig:
    description: Network configuration.
    $ref: BareMetalNetworkConfig.yaml
  nodeAccessConfig:
    description: Node access related configurations.
    $ref: BareMetalNodeAccessConfig.yaml
  nodeConfig:
    description: Workload node configuration.
    $ref: BareMetalWorkloadNodeConfig.yaml
  osEnvironmentConfig:
    description: OS environment related configurations.
    $ref: BareMetalOsEnvironmentConfig.yaml
  proxy:
    description: Proxy configuration.
    $ref: BareMetalProxyConfig.yaml
  securityConfig:
    description: Security related setting configuration.
    $ref: BareMetalSecurityConfig.yaml
  storage:
    description: Storage configuration.
    $ref: BareMetalStorageConfig.yaml
