# Source: https://raw.githubusercontent.com/minio/operator/refs/tags/v{version}/helm/operator/templates/minio.min.io_tenants.yaml
# Version: 7.1.1
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.2
    operator.min.io/version: v7.1.1
  name: tenants.minio.min.io
spec:
  group: minio.min.io
  names:
    kind: Tenant
    listKind: TenantList
    plural: tenants
    shortNames:
    - tenant
    singular: tenant
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.currentState
      name: State
      type: string
    - jsonPath: .status.healthStatus
      name: Health
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v2
    schema:
      openAPIV3Schema:
        properties:
          apiVersion:
            type: string
          kind:
            type: string
          metadata:
            type: object
          scheduler:
            properties:
              name:
                type: string
            required:
            - name
            type: object
          spec:
            properties:
              additionalVolumeMounts:
                items:
                  properties:
                    mountPath:
                      type: string
                    mountPropagation:
                      type: string
                    name:
                      type: string
                    readOnly:
                      type: boolean
                    recursiveReadOnly:
                      type: string
                    subPath:
                      type: string
                    subPathExpr:
                      type: string
                  required:
                  - mountPath
                  - name
                  type: object
                type: array
              additionalVolumes:
                items:
                  properties:
                    awsElasticBlockStore:
                      properties:
                        fsType:
                          type: string
                        partition:
                          format: int32
                          type: integer
                        readOnly:
                          type: boolean
                        volumeID:
                          type: string
                      required:
                      - volumeID
                      type: object
                    azureDisk:
                      properties:
                        cachingMode:
                          type: string
                        diskName:
                          type: string
                        diskURI:
                          type: string
                        fsType:
                          default: ext4
                          type: string
                        kind:
                          type: string
                        readOnly:
                          default: false
                          type: boolean
                      required:
                      - diskName
                      - diskURI
                      type: object
                    azureFile:
                      properties:
                        readOnly:
                          type: boolean
                        secretName:
                          type: string
                        shareName:
                          type: string
                      required:
                      - secretName
                      - shareName
                      type: object
                    cephfs:
                      properties:
                        monitors:
                          items:
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                        path:
                          type: string
                        readOnly:
                          type: boolean
                        secretFile:
                          type: string
                        secretRef:
                          properties:
                            name:
                              default: ""
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                        user:
                          type: string
                      required:
                      - monitors
                      type: object
                    cinder:
                      properties:
                        fsType:
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              default: ""
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                        volumeID:
                          type: string
                      required:
                      - volumeID
                      type: object
                    configMap:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        items:
                          items:
                            properties:
                              key:
                                type: string
                              mode:
                                format: int32
                                type: integer
                              path:
                                type: string
                            required:
                            - key
                            - path
                            type: object
                          type: array
                          x-kubernetes-list-type: atomic
                        name:
                          default: ""
                          type: string
                        optional:
                          type: boolean
                      type: object
                      x-kubernetes-map-type: atomic
                    csi:
                      properties:
                        driver:
                          type: string
                        fsType:
                          type: string
                        nodePublishSecretRef:
                          properties:
                            name:
                              default: ""
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                        readOnly:
                          type: boolean
                        volumeAttributes:
                          additionalProperties:
                            type: string
                          type: object
                      required:
                      - driver
                      type: object
                    downwardAPI:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        items:
                          items:
                            properties:
                              fieldRef:
                                properties:
                                  apiVersion:
                                    type: string
                                  fieldPath:
                                    type: string
                                required:
                                - fieldPath
                                type: object
                                x-kubernetes-map-type: atomic
                              mode:
                                format: int32
                                type: integer
                              path:
                                type: string
                              resourceFieldRef:
                                properties:
                                  containerName:
                                    type: string
                                  divisor:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  resource:
                                    type: string
                                required:
                                - resource
                                type: object
                                x-kubernetes-map-type: atomic
                            required:
                            - path
                            type: object
                          type: array
                          x-kubernetes-list-type: atomic
                      type: object
                    emptyDir:
                      properties:
                        medium:
                          type: string
                        sizeLimit:
                          anyOf:
                          - type: integer
                          - type: string
                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          x-kubernetes-int-or-string: true
                      type: object
                    ephemeral:
                      properties:
                        volumeClaimTemplate:
                          properties:
                            metadata:
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  type: object
                                finalizers:
                                  items:
                                    type: string
                                  type: array
                                labels:
                                  additionalProperties:
                                    type: string
                                  type: object
                                name:
                                  type: string
                                namespace:
                                  type: string
                              type: object
                            spec:
                              properties:
                                accessModes:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                                dataSource:
                                  properties:
                                    apiGroup:
                                      type: string
                                    kind:
                                      type: string
                                    name:
                                      type: string
                                  required:
                                  - kind
                                  - name
                                  type: object
                                  x-kubernetes-map-type: atomic
                                dataSourceRef:
                                  properties:
                                    apiGroup:
                                      type: string
                                    kind:
                                      type: string
                                    name:
                                      type: string
                                    namespace:
                                      type: string
                                  required:
                                  - kind
                                  - name
                                  type: object
                                resources:
                                  properties:
                                    limits:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      type: object
                                    requests:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                selector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                                storageClassName:
                                  type: string
                                volumeAttributesClassName:
                                  type: string
                                volumeMode:
                                  type: string
                                volumeName:
                                  type: string
                              type: object
                          required:
                          - spec
                          type: object
                      type: object
                    fc:
                      properties:
                        fsType:
                          type: string
                        lun:
                          format: int32
                          type: integer
                        readOnly:
                          type: boolean
                        targetWWNs:
                          items:
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                        wwids:
                          items:
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                      type: object
                    flexVolume:
                      properties:
                        driver:
                          type: string
                        fsType:
                          type: string
                        options:
                          additionalProperties:
                            type: string
                          type: object
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              default: ""
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                      required:
                      - driver
                      type: object
                    flocker:
                      properties:
                        datasetName:
                          type: string
                        datasetUUID:
                          type: string
                      type: object
                    gcePersistentDisk:
                      properties:
                        fsType:
                          type: string
                        partition:
                          format: int32
                          type: integer
                        pdName:
                          type: string
                        readOnly:
                          type: boolean
                      required:
                      - pdName
                      type: object
                    gitRepo:
                      properties:
                        directory:
                          type: string
                        repository:
                          type: string
                        revision:
                          type: string
                      required:
                      - repository
                      type: object
                    glusterfs:
                      properties:
                        endpoints:
                          type: string
                        path:
                          type: string
                        readOnly:
                          type: boolean
                      required:
                      - endpoints
                      - path
                      type: object
                    hostPath:
                      properties:
                        path:
                          type: string
                        type:
                          type: string
                      required:
                      - path
                      type: object
                    image:
                      properties:
                        pullPolicy:
                          type: string
                        reference:
                          type: string
                      type: object
                    iscsi:
                      properties:
                        chapAuthDiscovery:
                          type: boolean
                        chapAuthSession:
                          type: boolean
                        fsType:
                          type: string
                        initiatorName:
                          type: string
                        iqn:
                          type: string
                        iscsiInterface:
                          default: default
                          type: string
                        lun:
                          format: int32
                          type: integer
                        portals:
                          items:
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              default: ""
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                        targetPortal:
                          type: string
                      required:
                      - iqn
                      - lun
                      - targetPortal
                      type: object
                    name:
                      type: string
                    nfs:
                      properties:
                        path:
                          type: string
                        readOnly:
                          type: boolean
                        server:
                          type: string
                      required:
                      - path
                      - server
                      type: object
                    persistentVolumeClaim:
                      properties:
                        claimName:
                          type: string
                        readOnly:
                          type: boolean
                      required:
                      - claimName
                      type: object
                    photonPersistentDisk:
                      properties:
                        fsType:
                          type: string
                        pdID:
                          type: string
                      required:
                      - pdID
                      type: object
                    portworxVolume:
                      properties:
                        fsType:
                          type: string
                        readOnly:
                          type: boolean
                        volumeID:
                          type: string
                      required:
                      - volumeID
                      type: object
                    projected:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        sources:
                          items:
                            properties:
                              clusterTrustBundle:
                                properties:
                                  labelSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                  path:
                                    type: string
                                  signerName:
                                    type: string
                                required:
                                - path
                                type: object
                              configMap:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                      required:
                                      - key
                                      - path
                                      type: object
                                    type: array
                                    x-kubernetes-list-type: atomic
                                  name:
                                    default: ""
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                                x-kubernetes-map-type: atomic
                              downwardAPI:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        fieldRef:
                                          properties:
                                            apiVersion:
                                              type: string
                                            fieldPath:
                                              type: string
                                          required:
                                          - fieldPath
                                          type: object
                                          x-kubernetes-map-type: atomic
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                        resourceFieldRef:
                                          properties:
                                            containerName:
                                              type: string
                                            divisor:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            resource:
                                              type: string
                                          required:
                                          - resource
                                          type: object
                                          x-kubernetes-map-type: atomic
                                      required:
                                      - path
                                      type: object
                                    type: array
                                    x-kubernetes-list-type: atomic
                                type: object
                              secret:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                      required:
                                      - key
                                      - path
                                      type: object
                                    type: array
                                    x-kubernetes-list-type: atomic
                                  name:
                                    default: ""
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                                x-kubernetes-map-type: atomic
                              serviceAccountToken:
                                properties:
                                  audience:
                                    type: string
                                  expirationSeconds:
                                    format: int64
                                    type: integer
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                            type: object
                          type: array
                          x-kubernetes-list-type: atomic
                      type: object
                    quobyte:
                      properties:
                        group:
                          type: string
                        readOnly:
                          type: boolean
                        registry:
                          type: string
                        tenant:
                          type: string
                        user:
                          type: string
                        volume:
                          type: string
                      required:
                      - registry
                      - volume
                      type: object
                    rbd:
                      properties:
                        fsType:
                          type: string
                        image:
                          type: string
                        keyring:
                          default: /etc/ceph/keyring
                          type: string
                        monitors:
                          items:
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                        pool:
                          default: rbd
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              default: ""
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                        user:
                          default: admin
                          type: string
                      required:
                      - image
                      - monitors
                      type: object
                    scaleIO:
                      properties:
                        fsType:
                          default: xfs
                          type: string
                        gateway:
                          type: string
                        protectionDomain:
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              default: ""
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                        sslEnabled:
                          type: boolean
                        storageMode:
                          default: ThinProvisioned
                          type: string
                        storagePool:
                          type: string
                        system:
                          type: string
                        volumeName:
                          type: string
                      required:
                      - gateway
                      - secretRef
                      - system
                      type: object
                    secret:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        items:
                          items:
                            properties:
                              key:
                                type: string
                              mode:
                                format: int32
                                type: integer
                              path:
                                type: string
                            required:
                            - key
                            - path
                            type: object
                          type: array
                          x-kubernetes-list-type: atomic
                        optional:
                          type: boolean
                        secretName:
                          type: string
                      type: object
                    storageos:
                      properties:
                        fsType:
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              default: ""
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                        volumeName:
                          type: string
                        volumeNamespace:
                          type: string
                      type: object
                    vsphereVolume:
                      properties:
                        fsType:
                          type: string
                        storagePolicyID:
                          type: string
                        storagePolicyName:
                          type: string
                        volumePath:
                          type: string
                      required:
                      - volumePath
                      type: object
                  required:
                  - name
                  type: object
                type: array
              buckets:
                items:
                  properties:
                    name:
                      type: string
                    objectLock:
                      type: boolean
                    region:
                      type: string
                  type: object
                type: array
              certConfig:
                properties:
                  commonName:
                    type: string
                  dnsNames:
                    items:
                      type: string
                    type: array
                  organizationName:
                    items:
                      type: string
                    type: array
                type: object
              certExpiryAlertThreshold:
                format: int32
                type: integer
              configuration:
                properties:
                  name:
                    default: ""
                    type: string
                type: object
                x-kubernetes-map-type: atomic
              env:
                items:
                  properties:
                    name:
                      type: string
                    value:
                      type: string
                    valueFrom:
                      properties:
                        configMapKeyRef:
                          properties:
                            key:
                              type: string
                            name:
                              default: ""
                              type: string
                            optional:
                              type: boolean
                          required:
                          - key
                          type: object
                          x-kubernetes-map-type: atomic
                        fieldRef:
                          properties:
                            apiVersion:
                              type: string
                            fieldPath:
                              type: string
                          required:
                          - fieldPath
                          type: object
                          x-kubernetes-map-type: atomic
                        resourceFieldRef:
                          properties:
                            containerName:
                              type: string
                            divisor:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            resource:
                              type: string
                          required:
                          - resource
                          type: object
                          x-kubernetes-map-type: atomic
                        secretKeyRef:
                          properties:
                            key:
                              type: string
                            name:
                              default: ""
                              type: string
                            optional:
                              type: boolean
                          required:
                          - key
                          type: object
                          x-kubernetes-map-type: atomic
                      type: object
                  required:
                  - name
                  type: object
                type: array
              exposeServices:
                properties:
                  console:
                    type: boolean
                  minio:
                    type: boolean
                type: object
              externalCaCertSecret:
                items:
                  properties:
                    name:
                      type: string
                    type:
                      type: string
                  required:
                  - name
                  type: object
                type: array
              externalCertSecret:
                items:
                  properties:
                    name:
                      type: string
                    type:
                      type: string
                  required:
                  - name
                  type: object
                type: array
              externalClientCertSecret:
                properties:
                  name:
                    type: string
                  type:
                    type: string
                required:
                - name
                type: object
              externalClientCertSecrets:
                items:
                  properties:
                    name:
                      type: string
                    type:
                      type: string
                  required:
                  - name
                  type: object
                type: array
              features:
                properties:
                  bucketDNS:
                    type: boolean
                  domains:
                    properties:
                      console:
                        type: string
                      minio:
                        items:
                          type: string
                        type: array
                    type: object
                  enableSFTP:
                    type: boolean
                type: object
              image:
                type: string
              imagePullPolicy:
                type: string
              imagePullSecret:
                properties:
                  name:
                    default: ""
                    type: string
                type: object
                x-kubernetes-map-type: atomic
              initContainers:
                items:
                  properties:
                    args:
                      items:
                        type: string
                      type: array
                      x-kubernetes-list-type: atomic
                    command:
                      items:
                        type: string
                      type: array
                      x-kubernetes-list-type: atomic
                    env:
                      items:
                        properties:
                          name:
                            type: string
                          value:
                            type: string
                          valueFrom:
                            properties:
                              configMapKeyRef:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    default: ""
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                                x-kubernetes-map-type: atomic
                              fieldRef:
                                properties:
                                  apiVersion:
                                    type: string
                                  fieldPath:
                                    type: string
                                required:
                                - fieldPath
                                type: object
                                x-kubernetes-map-type: atomic
                              resourceFieldRef:
                                properties:
                                  containerName:
                                    type: string
                                  divisor:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  resource:
                                    type: string
                                required:
                                - resource
                                type: object
                                x-kubernetes-map-type: atomic
                              secretKeyRef:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    default: ""
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                                x-kubernetes-map-type: atomic
                            type: object
                        required:
                        - name
                        type: object
                      type: array
                      x-kubernetes-list-map-keys:
                      - name
                      x-kubernetes-list-type: map
                    envFrom:
                      items:
                        properties:
                          configMapRef:
                            properties:
                              name:
                                default: ""
                                type: string
                              optional:
                                type: boolean
                            type: object
                            x-kubernetes-map-type: atomic
                          prefix:
                            type: string
                          secretRef:
                            properties:
                              name:
                                default: ""
                                type: string
                              optional:
                                type: boolean
                            type: object
                            x-kubernetes-map-type: atomic
                        type: object
                      type: array
                      x-kubernetes-list-type: atomic
                    image:
                      type: string
                    imagePullPolicy:
                      type: string
                    lifecycle:
                      properties:
                        postStart:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            sleep:
                              properties:
                                seconds:
                                  format: int64
                                  type: integer
                              required:
                              - seconds
                              type: object
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                          type: object
                        preStop:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            sleep:
                              properties:
                                seconds:
                                  format: int64
                                  type: integer
                              required:
                              - seconds
                              type: object
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                          type: object
                      type: object
                    livenessProbe:
                      properties:
                        exec:
                          properties:
                            command:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                          type: object
                        failureThreshold:
                          format: int32
                          type: integer
                        grpc:
                          properties:
                            port:
                              format: int32
                              type: integer
                            service:
                              default: ""
                              type: string
                          required:
                          - port
                          type: object
                        httpGet:
                          properties:
                            host:
                              type: string
                            httpHeaders:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                            path:
                              type: string
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                            scheme:
                              type: string
                          required:
                          - port
                          type: object
                        initialDelaySeconds:
                          format: int32
                          type: integer
                        periodSeconds:
                          format: int32
                          type: integer
                        successThreshold:
                          format: int32
                          type: integer
                        tcpSocket:
                          properties:
                            host:
                              type: string
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                          required:
                          - port
                          type: object
                        terminationGracePeriodSeconds:
                          format: int64
                          type: integer
                        timeoutSeconds:
                          format: int32
                          type: integer
                      type: object
                    name:
                      type: string
                    ports:
                      items:
                        properties:
                          containerPort:
                            format: int32
                            type: integer
                          hostIP:
                            type: string
                          hostPort:
                            format: int32
                            type: integer
                          name:
                            type: string
                          protocol:
                            default: TCP
                            type: string
                        required:
                        - containerPort
                        type: object
                      type: array
                      x-kubernetes-list-map-keys:
                      - containerPort
                      - protocol
                      x-kubernetes-list-type: map
                    readinessProbe:
                      properties:
                        exec:
                          properties:
                            command:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                          type: object
                        failureThreshold:
                          format: int32
                          type: integer
                        grpc:
                          properties:
                            port:
                              format: int32
                              type: integer
                            service:
                              default: ""
                              type: string
                          required:
                          - port
                          type: object
                        httpGet:
                          properties:
                            host:
                              type: string
                            httpHeaders:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                            path:
                              type: string
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                            scheme:
                              type: string
                          required:
                          - port
                          type: object
                        initialDelaySeconds:
                          format: int32
                          type: integer
                        periodSeconds:
                          format: int32
                          type: integer
                        successThreshold:
                          format: int32
                          type: integer
                        tcpSocket:
                          properties:
                            host:
                              type: string
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                          required:
                          - port
                          type: object
                        terminationGracePeriodSeconds:
                          format: int64
                          type: integer
                        timeoutSeconds:
                          format: int32
                          type: integer
                      type: object
                    resizePolicy:
                      items:
                        properties:
                          resourceName:
                            type: string
                          restartPolicy:
                            type: string
                        required:
                        - resourceName
                        - restartPolicy
                        type: object
                      type: array
                      x-kubernetes-list-type: atomic
                    resources:
                      properties:
                        claims:
                          items:
                            properties:
                              name:
                                type: string
                              request:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - name
                          x-kubernetes-list-type: map
                        limits:
                          additionalProperties:
                            anyOf:
                            - type: integer
                            - type: string
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          type: object
                        requests:
                          additionalProperties:
                            anyOf:
                            - type: integer
                            - type: string
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          type: object
                      type: object
                    restartPolicy:
                      type: string
                    securityContext:
                      properties:
                        allowPrivilegeEscalation:
                          type: boolean
                        appArmorProfile:
                          properties:
                            localhostProfile:
                              type: string
                            type:
                              type: string
                          required:
                          - type
                          type: object
                        capabilities:
                          properties:
                            add:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            drop:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                          type: object
                        privileged:
                          type: boolean
                        procMount:
                          type: string
                        readOnlyRootFilesystem:
                          type: boolean
                        runAsGroup:
                          format: int64
                          type: integer
                        runAsNonRoot:
                          type: boolean
                        runAsUser:
                          format: int64
                          type: integer
                        seLinuxOptions:
                          properties:
                            level:
                              type: string
                            role:
                              type: string
                            type:
                              type: string
                            user:
                              type: string
                          type: object
                        seccompProfile:
                          properties:
                            localhostProfile:
                              type: string
                            type:
                              type: string
                          required:
                          - type
                          type: object
                        windowsOptions:
                          properties:
                            gmsaCredentialSpec:
                              type: string
                            gmsaCredentialSpecName:
                              type: string
                            hostProcess:
                              type: boolean
                            runAsUserName:
                              type: string
                          type: object
                      type: object
                    startupProbe:
                      properties:
                        exec:
                          properties:
                            command:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                          type: object
                        failureThreshold:
                          format: int32
                          type: integer
                        grpc:
                          properties:
                            port:
                              format: int32
                              type: integer
                            service:
                              default: ""
                              type: string
                          required:
                          - port
                          type: object
                        httpGet:
                          properties:
                            host:
                              type: string
                            httpHeaders:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                            path:
                              type: string
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                            scheme:
                              type: string
                          required:
                          - port
                          type: object
                        initialDelaySeconds:
                          format: int32
                          type: integer
                        periodSeconds:
                          format: int32
                          type: integer
                        successThreshold:
                          format: int32
                          type: integer
                        tcpSocket:
                          properties:
                            host:
                              type: string
                            port:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                          required:
                          - port
                          type: object
                        terminationGracePeriodSeconds:
                          format: int64
                          type: integer
                        timeoutSeconds:
                          format: int32
                          type: integer
                      type: object
                    stdin:
                      type: boolean
                    stdinOnce:
                      type: boolean
                    terminationMessagePath:
                      type: string
                    terminationMessagePolicy:
                      type: string
                    tty:
                      type: boolean
                    volumeDevices:
                      items:
                        properties:
                          devicePath:
                            type: string
                          name:
                            type: string
                        required:
                        - devicePath
                        - name
                        type: object
                      type: array
                      x-kubernetes-list-map-keys:
                      - devicePath
                      x-kubernetes-list-type: map
                    volumeMounts:
                      items:
                        properties:
                          mountPath:
                            type: string
                          mountPropagation:
                            type: string
                          name:
                            type: string
                          readOnly:
                            type: boolean
                          recursiveReadOnly:
                            type: string
                          subPath:
                            type: string
                          subPathExpr:
                            type: string
                        required:
                        - mountPath
                        - name
                        type: object
                      type: array
                      x-kubernetes-list-map-keys:
                      - mountPath
                      x-kubernetes-list-type: map
                    workingDir:
                      type: string
                  required:
                  - name
                  type: object
                type: array
              kes:
                properties:
                  affinity:
                    properties:
                      nodeAffinity:
                        properties:
                          preferredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                preference:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    matchFields:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                  type: object
                                  x-kubernetes-map-type: atomic
                                weight:
                                  format: int32
                                  type: integer
                              required:
                              - preference
                              - weight
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                          requiredDuringSchedulingIgnoredDuringExecution:
                            properties:
                              nodeSelectorTerms:
                                items:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    matchFields:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                  type: object
                                  x-kubernetes-map-type: atomic
                                type: array
                                x-kubernetes-list-type: atomic
                            required:
                            - nodeSelectorTerms
                            type: object
                            x-kubernetes-map-type: atomic
                        type: object
                      podAffinity:
                        properties:
                          preferredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                podAffinityTerm:
                                  properties:
                                    labelSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    matchLabelKeys:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    mismatchLabelKeys:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    namespaceSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    topologyKey:
                                      type: string
                                  required:
                                  - topologyKey
                                  type: object
                                weight:
                                  format: int32
                                  type: integer
                              required:
                              - podAffinityTerm
                              - weight
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                          requiredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                labelSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                                matchLabelKeys:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                                mismatchLabelKeys:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                                namespaceSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                                namespaces:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                                topologyKey:
                                  type: string
                              required:
                              - topologyKey
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                        type: object
                      podAntiAffinity:
                        properties:
                          preferredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                podAffinityTerm:
                                  properties:
                                    labelSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    matchLabelKeys:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    mismatchLabelKeys:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    namespaceSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    topologyKey:
                                      type: string
                                  required:
                                  - topologyKey
                                  type: object
                                weight:
                                  format: int32
                                  type: integer
                              required:
                              - podAffinityTerm
                              - weight
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                          requiredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                labelSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                                matchLabelKeys:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                                mismatchLabelKeys:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                                namespaceSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                  x-kubernetes-map-type: atomic
                                namespaces:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                                topologyKey:
                                  type: string
                              required:
                              - topologyKey
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                        type: object
                    type: object
                  annotations:
                    additionalProperties:
                      type: string
                    type: object
                  clientCertSecret:
                    properties:
                      name:
                        type: string
                      type:
                        type: string
                    required:
                    - name
                    type: object
                  containerSecurityContext:
                    properties:
                      allowPrivilegeEscalation:
                        type: boolean
                      appArmorProfile:
                        properties:
                          localhostProfile:
                            type: string
                          type:
                            type: string
                        required:
                        - type
                        type: object
                      capabilities:
                        properties:
                          add:
                            items:
                              type: string
                            type: array
                            x-kubernetes-list-type: atomic
                          drop:
                            items:
                              type: string
                            type: array
                            x-kubernetes-list-type: atomic
                        type: object
                      privileged:
                        type: boolean
                      procMount:
                        type: string
                      readOnlyRootFilesystem:
                        type: boolean
                      runAsGroup:
                        format: int64
                        type: integer
                      runAsNonRoot:
                        type: boolean
                      runAsUser:
                        format: int64
                        type: integer
                      seLinuxOptions:
                        properties:
                          level:
                            type: string
                          role:
                            type: string
                          type:
                            type: string
                          user:
                            type: string
                        type: object
                      seccompProfile:
                        properties:
                          localhostProfile:
                            type: string
                          type:
                            type: string
                        required:
                        - type
                        type: object
                      windowsOptions:
                        properties:
                          gmsaCredentialSpec:
                            type: string
                          gmsaCredentialSpecName:
                            type: string
                          hostProcess:
                            type: boolean
                          runAsUserName:
                            type: string
                        type: object
                    type: object
                  env:
                    items:
                      properties:
                        name:
                          type: string
                        value:
                          type: string
                        valueFrom:
                          properties:
                            configMapKeyRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  default: ""
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                              x-kubernetes-map-type: atomic
                            fieldRef:
                              properties:
                                apiVersion:
                                  type: string
                                fieldPath:
                                  type: string
                              required:
                              - fieldPath
                              type: object
                              x-kubernetes-map-type: atomic
                            resourceFieldRef:
                              properties:
                                containerName:
                                  type: string
                                divisor:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                resource:
                                  type: string
                              required:
                              - resource
                              type: object
                              x-kubernetes-map-type: atomic
                            secretKeyRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  default: ""
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                              x-kubernetes-map-type: atomic
                          type: object
                      required:
                      - name
                      type: object
                    type: array
                  externalCertSecret:
                    properties:
                      name:
                        type: string
                      type:
                        type: string
                    required:
                    - name
                    type: object
                  gcpCredentialSecretName:
                    type: string
                  gcpWorkloadIdentityPool:
                    type: string
                  image:
                    type: string
                  imagePullPolicy:
                    type: string
                  kesSecret:
                    properties:
                      name:
                        default: ""
                        type: string
                    type: object
                    x-kubernetes-map-type: atomic
                  keyName:
                    type: string
                  labels:
                    additionalProperties:
                      type: string
                    type: object
                  nodeSelector:
                    additionalProperties:
                      type: string
                    type: object
                  replicas:
                    format: int32
                    type: integer
                  resources:
                    properties:
                      claims:
                        items:
                          properties:
                            name:
                              type: string
                            request:
                              type: string
                          required:
                          - name
                          type: object
                        type: array
                        x-kubernetes-list-map-keys:
                        - name
                        x-kubernetes-list-type: map
                      limits:
                        additionalProperties:
                          anyOf:
                          - type: integer
                          - type: string
                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          x-kubernetes-int-or-string: true
                        type: object
                      requests:
                        additionalProperties:
                          anyOf:
                          - type: integer
                          - type: string
                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          x-kubernetes-int-or-string: true
                        type: object
                    type: object
                  securityContext:
                    properties:
                      appArmorProfile:
                        properties:
                          localhostProfile:
                            type: string
                          type:
                            type: string
                        required:
                        - type
                        type: object
                      fsGroup:
                        format: int64
                        type: integer
                      fsGroupChangePolicy:
                        type: string
                      runAsGroup:
                        format: int64
                        type: integer
                      runAsNonRoot:
                        type: boolean
                      runAsUser:
                        format: int64
                        type: integer
                      seLinuxChangePolicy:
                        type: string
                      seLinuxOptions:
                        properties:
                          level:
                            type: string
                          role:
                            type: string
                          type:
                            type: string
                          user:
                            type: string
                        type: object
                      seccompProfile:
                        properties:
                          localhostProfile:
                            type: string
                          type:
                            type: string
                        required:
                        - type
                        type: object
                      supplementalGroups:
                        items:
                          format: int64
                          type: integer
                        type: array
                        x-kubernetes-list-type: atomic
                      supplementalGroupsPolicy:
                        type: string
                      sysctls:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                          required:
                          - name
                          - value
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      windowsOptions:
                        properties:
                          gmsaCredentialSpec:
                            type: string
                          gmsaCredentialSpecName:
                            type: string
                          hostProcess:
                            type: boolean
                          runAsUserName:
                            type: string
                        type: object
                    type: object
                  serviceAccountName:
                    type: string
                  tolerations:
                    items:
                      properties:
                        effect:
                          type: string
                        key:
                          type: string
                        operator:
                          type: string
                        tolerationSeconds:
                          format: int64
                          type: integer
                        value:
                          type: string
                      type: object
                    type: array
                  topologySpreadConstraints:
                    items:
                      properties:
                        labelSelector:
                          properties:
                            matchExpressions:
                              items:
                                properties:
                                  key:
                                    type: string
                                  operator:
                                    type: string
                                  values:
                                    items:
                                      type: string
                                    type: array
                                    x-kubernetes-list-type: atomic
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                            matchLabels:
                              additionalProperties:
                                type: string
                              type: object
                          type: object
                          x-kubernetes-map-type: atomic
                        matchLabelKeys:
                          items:
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                        maxSkew:
                          format: int32
                          type: integer
                        minDomains:
                          format: int32
                          type: integer
                        nodeAffinityPolicy:
                          type: string
                        nodeTaintsPolicy:
                          type: string
                        topologyKey:
                          type: string
                        whenUnsatisfiable:
                          type: string
                      required:
                      - maxSkew
                      - topologyKey
                      - whenUnsatisfiable
                      type: object
                    type: array
                required:
                - kesSecret
                type: object
              lifecycle:
                properties:
                  postStart:
                    properties:
                      exec:
                        properties:
                          command:
                            items:
                              type: string
                            type: array
                            x-kubernetes-list-type: atomic
                        type: object
                      httpGet:
                        properties:
                          host:
                            type: string
                          httpHeaders:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                              required:
                              - name
                              - value
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                          path:
                            type: string
                          port:
                            anyOf:
                            - type: integer
                            - type: string
                            x-kubernetes-int-or-string: true
                          scheme:
                            type: string
                        required:
                        - port
                        type: object
                      sleep:
                        properties:
                          seconds:
                            format: int64
                            type: integer
                        required:
                        - seconds
                        type: object
                      tcpSocket:
                        properties:
                          host:
                            type: string
                          port:
                            anyOf:
                            - type: integer
                            - type: string
                            x-kubernetes-int-or-string: true
                        required:
                        - port
                        type: object
                    type: object
                  preStop:
                    properties:
                      exec:
                        properties:
                          command:
                            items:
                              type: string
                            type: array
                            x-kubernetes-list-type: atomic
                        type: object
                      httpGet:
                        properties:
                          host:
                            type: string
                          httpHeaders:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                              required:
                              - name
                              - value
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                          path:
                            type: string
                          port:
                            anyOf:
                            - type: integer
                            - type: string
                            x-kubernetes-int-or-string: true
                          scheme:
                            type: string
                        required:
                        - port
                        type: object
                      sleep:
                        properties:
                          seconds:
                            format: int64
                            type: integer
                        required:
                        - seconds
                        type: object
                      tcpSocket:
                        properties:
                          host:
                            type: string
                          port:
                            anyOf:
                            - type: integer
                            - type: string
                            x-kubernetes-int-or-string: true
                        required:
                        - port
                        type: object
                    type: object
                type: object
              liveness:
                properties:
                  exec:
                    properties:
                      command:
                        items:
                          type: string
                        type: array
                        x-kubernetes-list-type: atomic
                    type: object
                  failureThreshold:
                    format: int32
                    type: integer
                  grpc:
                    properties:
                      port:
                        format: int32
                        type: integer
                      service:
                        default: ""
                        type: string
                    required:
                    - port
                    type: object
                  httpGet:
                    properties:
                      host:
                        type: string
                      httpHeaders:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                          required:
                          - name
                          - value
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      path:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      scheme:
                        type: string
                    required:
                    - port
                    type: object
                  initialDelaySeconds:
                    format: int32
                    type: integer
                  periodSeconds:
                    format: int32
                    type: integer
                  successThreshold:
                    format: int32
                    type: integer
                  tcpSocket:
                    properties:
                      host:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                    required:
                    - port
                    type: object
                  terminationGracePeriodSeconds:
                    format: int64
                    type: integer
                  timeoutSeconds:
                    format: int32
                    type: integer
                type: object
              logging:
                properties:
                  anonymous:
                    type: boolean
                  json:
                    type: boolean
                  quiet:
                    type: boolean
                type: object
              mountPath:
                type: string
              podManagementPolicy:
                type: string
              pools:
                items:
                  properties:
                    affinity:
                      properties:
                        nodeAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  preference:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      matchFields:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  weight:
                                    format: int32
                                    type: integer
                                required:
                                - preference
                                - weight
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                            requiredDuringSchedulingIgnoredDuringExecution:
                              properties:
                                nodeSelectorTerms:
                                  items:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      matchFields:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                              - nodeSelectorTerms
                              type: object
                              x-kubernetes-map-type: atomic
                          type: object
                        podAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  podAffinityTerm:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      matchLabelKeys:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      mismatchLabelKeys:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  weight:
                                    format: int32
                                    type: integer
                                required:
                                - podAffinityTerm
                                - weight
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                            requiredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  labelSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  matchLabelKeys:
                                    items:
                                      type: string
                                    type: array
                                    x-kubernetes-list-type: atomic
                                  mismatchLabelKeys:
                                    items:
                                      type: string
                                    type: array
                                    x-kubernetes-list-type: atomic
                                  namespaceSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                    x-kubernetes-list-type: atomic
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                          type: object
                        podAntiAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  podAffinityTerm:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      matchLabelKeys:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      mismatchLabelKeys:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  weight:
                                    format: int32
                                    type: integer
                                required:
                                - podAffinityTerm
                                - weight
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                            requiredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  labelSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  matchLabelKeys:
                                    items:
                                      type: string
                                    type: array
                                    x-kubernetes-list-type: atomic
                                  mismatchLabelKeys:
                                    items:
                                      type: string
                                    type: array
                                    x-kubernetes-list-type: atomic
                                  namespaceSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                              x-kubernetes-list-type: atomic
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                    x-kubernetes-list-type: atomic
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                          type: object
                      type: object
                    annotations:
                      additionalProperties:
                        type: string
                      type: object
                    containerSecurityContext:
                      properties:
                        allowPrivilegeEscalation:
                          type: boolean
                        appArmorProfile:
                          properties:
                            localhostProfile:
                              type: string
                            type:
                              type: string
                          required:
                          - type
                          type: object
                        capabilities:
                          properties:
                            add:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            drop:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                          type: object
                        privileged:
                          type: boolean
                        procMount:
                          type: string
                        readOnlyRootFilesystem:
                          type: boolean
                        runAsGroup:
                          format: int64
                          type: integer
                        runAsNonRoot:
                          type: boolean
                        runAsUser:
                          format: int64
                          type: integer
                        seLinuxOptions:
                          properties:
                            level:
                              type: string
                            role:
                              type: string
                            type:
                              type: string
                            user:
                              type: string
                          type: object
                        seccompProfile:
                          properties:
                            localhostProfile:
                              type: string
                            type:
                              type: string
                          required:
                          - type
                          type: object
                        windowsOptions:
                          properties:
                            gmsaCredentialSpec:
                              type: string
                            gmsaCredentialSpecName:
                              type: string
                            hostProcess:
                              type: boolean
                            runAsUserName:
                              type: string
                          type: object
                      type: object
                    labels:
                      additionalProperties:
                        type: string
                      type: object
                    name:
                      minLength: 1
                      type: string
                    nodeSelector:
                      additionalProperties:
                        type: string
                      type: object
                    resources:
                      properties:
                        claims:
                          items:
                            properties:
                              name:
                                type: string
                              request:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - name
                          x-kubernetes-list-type: map
                        limits:
                          additionalProperties:
                            anyOf:
                            - type: integer
                            - type: string
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          type: object
                        requests:
                          additionalProperties:
                            anyOf:
                            - type: integer
                            - type: string
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          type: object
                      type: object
                    runtimeClassName:
                      type: string
                    securityContext:
                      properties:
                        appArmorProfile:
                          properties:
                            localhostProfile:
                              type: string
                            type:
                              type: string
                          required:
                          - type
                          type: object
                        fsGroup:
                          format: int64
                          type: integer
                        fsGroupChangePolicy:
                          type: string
                        runAsGroup:
                          format: int64
                          type: integer
                        runAsNonRoot:
                          type: boolean
                        runAsUser:
                          format: int64
                          type: integer
                        seLinuxChangePolicy:
                          type: string
                        seLinuxOptions:
                          properties:
                            level:
                              type: string
                            role:
                              type: string
                            type:
                              type: string
                            user:
                              type: string
                          type: object
                        seccompProfile:
                          properties:
                            localhostProfile:
                              type: string
                            type:
                              type: string
                          required:
                          - type
                          type: object
                        supplementalGroups:
                          items:
                            format: int64
                            type: integer
                          type: array
                          x-kubernetes-list-type: atomic
                        supplementalGroupsPolicy:
                          type: string
                        sysctls:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                            required:
                            - name
                            - value
                            type: object
                          type: array
                          x-kubernetes-list-type: atomic
                        windowsOptions:
                          properties:
                            gmsaCredentialSpec:
                              type: string
                            gmsaCredentialSpecName:
                              type: string
                            hostProcess:
                              type: boolean
                            runAsUserName:
                              type: string
                          type: object
                      type: object
                    servers:
                      format: int32
                      type: integer
                      x-kubernetes-validations:
                      - message: servers is immutable
                        rule: self == oldSelf
                    tolerations:
                      items:
                        properties:
                          effect:
                            type: string
                          key:
                            type: string
                          operator:
                            type: string
                          tolerationSeconds:
                            format: int64
                            type: integer
                          value:
                            type: string
                        type: object
                      type: array
                    topologySpreadConstraints:
                      items:
                        properties:
                          labelSelector:
                            properties:
                              matchExpressions:
                                items:
                                  properties:
                                    key:
                                      type: string
                                    operator:
                                      type: string
                                    values:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                  required:
                                  - key
                                  - operator
                                  type: object
                                type: array
                                x-kubernetes-list-type: atomic
                              matchLabels:
                                additionalProperties:
                                  type: string
                                type: object
                            type: object
                            x-kubernetes-map-type: atomic
                          matchLabelKeys:
                            items:
                              type: string
                            type: array
                            x-kubernetes-list-type: atomic
                          maxSkew:
                            format: int32
                            type: integer
                          minDomains:
                            format: int32
                            type: integer
                          nodeAffinityPolicy:
                            type: string
                          nodeTaintsPolicy:
                            type: string
                          topologyKey:
                            type: string
                          whenUnsatisfiable:
                            type: string
                        required:
                        - maxSkew
                        - topologyKey
                        - whenUnsatisfiable
                        type: object
                      type: array
                    volumeClaimTemplate:
                      properties:
                        apiVersion:
                          type: string
                        kind:
                          type: string
                        metadata:
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          properties:
                            accessModes:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            dataSource:
                              properties:
                                apiGroup:
                                  type: string
                                kind:
                                  type: string
                                name:
                                  type: string
                              required:
                              - kind
                              - name
                              type: object
                              x-kubernetes-map-type: atomic
                            dataSourceRef:
                              properties:
                                apiGroup:
                                  type: string
                                kind:
                                  type: string
                                name:
                                  type: string
                                namespace:
                                  type: string
                              required:
                              - kind
                              - name
                              type: object
                            resources:
                              properties:
                                limits:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                                requests:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                              type: object
                            selector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            storageClassName:
                              type: string
                            volumeAttributesClassName:
                              type: string
                            volumeMode:
                              type: string
                            volumeName:
                              type: string
                          type: object
                        status:
                          properties:
                            accessModes:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            allocatedResourceStatuses:
                              additionalProperties:
                                type: string
                              type: object
                              x-kubernetes-map-type: granular
                            allocatedResources:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            capacity:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            conditions:
                              items:
                                properties:
                                  lastProbeTime:
                                    format: date-time
                                    type: string
                                  lastTransitionTime:
                                    format: date-time
                                    type: string
                                  message:
                                    type: string
                                  reason:
                                    type: string
                                  status:
                                    type: string
                                  type:
                                    type: string
                                required:
                                - status
                                - type
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - type
                              x-kubernetes-list-type: map
                            currentVolumeAttributesClassName:
                              type: string
                            modifyVolumeStatus:
                              properties:
                                status:
                                  type: string
                                targetVolumeAttributesClassName:
                                  type: string
                              required:
                              - status
                              type: object
                            phase:
                              type: string
                          type: object
                      type: object
                    volumesPerServer:
                      format: int32
                      type: integer
                      x-kubernetes-validations:
                      - message: volumesPerServer is immutable
                        rule: self == oldSelf
                  required:
                  - name
                  - servers
                  - volumeClaimTemplate
                  - volumesPerServer
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - name
                x-kubernetes-list-type: map
              poolsMetadata:
                properties:
                  annotations:
                    additionalProperties:
                      type: string
                    type: object
                  labels:
                    additionalProperties:
                      type: string
                    type: object
                type: object
              priorityClassName:
                type: string
              prometheusOperator:
                type: boolean
              prometheusOperatorScrapeMetricsPaths:
                items:
                  type: string
                type: array
              readiness:
                properties:
                  exec:
                    properties:
                      command:
                        items:
                          type: string
                        type: array
                        x-kubernetes-list-type: atomic
                    type: object
                  failureThreshold:
                    format: int32
                    type: integer
                  grpc:
                    properties:
                      port:
                        format: int32
                        type: integer
                      service:
                        default: ""
                        type: string
                    required:
                    - port
                    type: object
                  httpGet:
                    properties:
                      host:
                        type: string
                      httpHeaders:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                          required:
                          - name
                          - value
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      path:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      scheme:
                        type: string
                    required:
                    - port
                    type: object
                  initialDelaySeconds:
                    format: int32
                    type: integer
                  periodSeconds:
                    format: int32
                    type: integer
                  successThreshold:
                    format: int32
                    type: integer
                  tcpSocket:
                    properties:
                      host:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                    required:
                    - port
                    type: object
                  terminationGracePeriodSeconds:
                    format: int64
                    type: integer
                  timeoutSeconds:
                    format: int32
                    type: integer
                type: object
              requestAutoCert:
                type: boolean
              serviceAccountName:
                type: string
              serviceMetadata:
                properties:
                  consoleServiceAnnotations:
                    additionalProperties:
                      type: string
                    type: object
                  consoleServiceLabels:
                    additionalProperties:
                      type: string
                    type: object
                  kesServiceAnnotations:
                    additionalProperties:
                      type: string
                    type: object
                  kesServiceLabels:
                    additionalProperties:
                      type: string
                    type: object
                  minioServiceAnnotations:
                    additionalProperties:
                      type: string
                    type: object
                  minioServiceLabels:
                    additionalProperties:
                      type: string
                    type: object
                type: object
              sideCars:
                properties:
                  containers:
                    items:
                      properties:
                        args:
                          items:
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                        command:
                          items:
                            type: string
                          type: array
                          x-kubernetes-list-type: atomic
                        env:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        default: ""
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  fieldRef:
                                    properties:
                                      apiVersion:
                                        type: string
                                      fieldPath:
                                        type: string
                                    required:
                                    - fieldPath
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  resourceFieldRef:
                                    properties:
                                      containerName:
                                        type: string
                                      divisor:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      resource:
                                        type: string
                                    required:
                                    - resource
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  secretKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        default: ""
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                    x-kubernetes-map-type: atomic
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - name
                          x-kubernetes-list-type: map
                        envFrom:
                          items:
                            properties:
                              configMapRef:
                                properties:
                                  name:
                                    default: ""
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                                x-kubernetes-map-type: atomic
                              prefix:
                                type: string
                              secretRef:
                                properties:
                                  name:
                                    default: ""
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                                x-kubernetes-map-type: atomic
                            type: object
                          type: array
                          x-kubernetes-list-type: atomic
                        image:
                          type: string
                        imagePullPolicy:
                          type: string
                        lifecycle:
                          properties:
                            postStart:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                sleep:
                                  properties:
                                    seconds:
                                      format: int64
                                      type: integer
                                  required:
                                  - seconds
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                            preStop:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                sleep:
                                  properties:
                                    seconds:
                                      format: int64
                                      type: integer
                                  required:
                                  - seconds
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                          type: object
                        livenessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  default: ""
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        name:
                          type: string
                        ports:
                          items:
                            properties:
                              containerPort:
                                format: int32
                                type: integer
                              hostIP:
                                type: string
                              hostPort:
                                format: int32
                                type: integer
                              name:
                                type: string
                              protocol:
                                default: TCP
                                type: string
                            required:
                            - containerPort
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - containerPort
                          - protocol
                          x-kubernetes-list-type: map
                        readinessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  default: ""
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        resizePolicy:
                          items:
                            properties:
                              resourceName:
                                type: string
                              restartPolicy:
                                type: string
                            required:
                            - resourceName
                            - restartPolicy
                            type: object
                          type: array
                          x-kubernetes-list-type: atomic
                        resources:
                          properties:
                            claims:
                              items:
                                properties:
                                  name:
                                    type: string
                                  request:
                                    type: string
                                required:
                                - name
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - name
                              x-kubernetes-list-type: map
                            limits:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            requests:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        restartPolicy:
                          type: string
                        securityContext:
                          properties:
                            allowPrivilegeEscalation:
                              type: boolean
                            appArmorProfile:
                              properties:
                                localhostProfile:
                                  type: string
                                type:
                                  type: string
                              required:
                              - type
                              type: object
                            capabilities:
                              properties:
                                add:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                                drop:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              type: object
                            privileged:
                              type: boolean
                            procMount:
                              type: string
                            readOnlyRootFilesystem:
                              type: boolean
                            runAsGroup:
                              format: int64
                              type: integer
                            runAsNonRoot:
                              type: boolean
                            runAsUser:
                              format: int64
                              type: integer
                            seLinuxOptions:
                              properties:
                                level:
                                  type: string
                                role:
                                  type: string
                                type:
                                  type: string
                                user:
                                  type: string
                              type: object
                            seccompProfile:
                              properties:
                                localhostProfile:
                                  type: string
                                type:
                                  type: string
                              required:
                              - type
                              type: object
                            windowsOptions:
                              properties:
                                gmsaCredentialSpec:
                                  type: string
                                gmsaCredentialSpecName:
                                  type: string
                                hostProcess:
                                  type: boolean
                                runAsUserName:
                                  type: string
                              type: object
                          type: object
                        startupProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  default: ""
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        stdin:
                          type: boolean
                        stdinOnce:
                          type: boolean
                        terminationMessagePath:
                          type: string
                        terminationMessagePolicy:
                          type: string
                        tty:
                          type: boolean
                        volumeDevices:
                          items:
                            properties:
                              devicePath:
                                type: string
                              name:
                                type: string
                            required:
                            - devicePath
                            - name
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - devicePath
                          x-kubernetes-list-type: map
                        volumeMounts:
                          items:
                            properties:
                              mountPath:
                                type: string
                              mountPropagation:
                                type: string
                              name:
                                type: string
                              readOnly:
                                type: boolean
                              recursiveReadOnly:
                                type: string
                              subPath:
                                type: string
                              subPathExpr:
                                type: string
                            required:
                            - mountPath
                            - name
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - mountPath
                          x-kubernetes-list-type: map
                        workingDir:
                          type: string
                      required:
                      - name
                      type: object
                    type: array
                  resources:
                    properties:
                      claims:
                        items:
                          properties:
                            name:
                              type: string
                            request:
                              type: string
                          required:
                          - name
                          type: object
                        type: array
                        x-kubernetes-list-map-keys:
                        - name
                        x-kubernetes-list-type: map
                      limits:
                        additionalProperties:
                          anyOf:
                          - type: integer
                          - type: string
                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          x-kubernetes-int-or-string: true
                        type: object
                      requests:
                        additionalProperties:
                          anyOf:
                          - type: integer
                          - type: string
                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          x-kubernetes-int-or-string: true
                        type: object
                    type: object
                  volumeClaimTemplates:
                    items:
                      properties:
                        apiVersion:
                          type: string
                        kind:
                          type: string
                        metadata:
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            finalizers:
                              items:
                                type: string
                              type: array
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        spec:
                          properties:
                            accessModes:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            dataSource:
                              properties:
                                apiGroup:
                                  type: string
                                kind:
                                  type: string
                                name:
                                  type: string
                              required:
                              - kind
                              - name
                              type: object
                              x-kubernetes-map-type: atomic
                            dataSourceRef:
                              properties:
                                apiGroup:
                                  type: string
                                kind:
                                  type: string
                                name:
                                  type: string
                                namespace:
                                  type: string
                              required:
                              - kind
                              - name
                              type: object
                            resources:
                              properties:
                                limits:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                                requests:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                              type: object
                            selector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                  x-kubernetes-list-type: atomic
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                              x-kubernetes-map-type: atomic
                            storageClassName:
                              type: string
                            volumeAttributesClassName:
                              type: string
                            volumeMode:
                              type: string
                            volumeName:
                              type: string
                          type: object
                        status:
                          properties:
                            accessModes:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            allocatedResourceStatuses:
                              additionalProperties:
                                type: string
                              type: object
                              x-kubernetes-map-type: granular
                            allocatedResources:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            capacity:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            conditions:
                              items:
                                properties:
                                  lastProbeTime:
                                    format: date-time
                                    type: string
                                  lastTransitionTime:
                                    format: date-time
                                    type: string
                                  message:
                                    type: string
                                  reason:
                                    type: string
                                  status:
                                    type: string
                                  type:
                                    type: string
                                required:
                                - status
                                - type
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - type
                              x-kubernetes-list-type: map
                            currentVolumeAttributesClassName:
                              type: string
                            modifyVolumeStatus:
                              properties:
                                status:
                                  type: string
                                targetVolumeAttributesClassName:
                                  type: string
                              required:
                              - status
                              type: object
                            phase:
                              type: string
                          type: object
                      type: object
                    type: array
                  volumes:
                    items:
                      properties:
                        awsElasticBlockStore:
                          properties:
                            fsType:
                              type: string
                            partition:
                              format: int32
                              type: integer
                            readOnly:
                              type: boolean
                            volumeID:
                              type: string
                          required:
                          - volumeID
                          type: object
                        azureDisk:
                          properties:
                            cachingMode:
                              type: string
                            diskName:
                              type: string
                            diskURI:
                              type: string
                            fsType:
                              default: ext4
                              type: string
                            kind:
                              type: string
                            readOnly:
                              default: false
                              type: boolean
                          required:
                          - diskName
                          - diskURI
                          type: object
                        azureFile:
                          properties:
                            readOnly:
                              type: boolean
                            secretName:
                              type: string
                            shareName:
                              type: string
                          required:
                          - secretName
                          - shareName
                          type: object
                        cephfs:
                          properties:
                            monitors:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            path:
                              type: string
                            readOnly:
                              type: boolean
                            secretFile:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  default: ""
                                  type: string
                              type: object
                              x-kubernetes-map-type: atomic
                            user:
                              type: string
                          required:
                          - monitors
                          type: object
                        cinder:
                          properties:
                            fsType:
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  default: ""
                                  type: string
                              type: object
                              x-kubernetes-map-type: atomic
                            volumeID:
                              type: string
                          required:
                          - volumeID
                          type: object
                        configMap:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            items:
                              items:
                                properties:
                                  key:
                                    type: string
                                  mode:
                                    format: int32
                                    type: integer
                                  path:
                                    type: string
                                required:
                                - key
                                - path
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                            name:
                              default: ""
                              type: string
                            optional:
                              type: boolean
                          type: object
                          x-kubernetes-map-type: atomic
                        csi:
                          properties:
                            driver:
                              type: string
                            fsType:
                              type: string
                            nodePublishSecretRef:
                              properties:
                                name:
                                  default: ""
                                  type: string
                              type: object
                              x-kubernetes-map-type: atomic
                            readOnly:
                              type: boolean
                            volumeAttributes:
                              additionalProperties:
                                type: string
                              type: object
                          required:
                          - driver
                          type: object
                        downwardAPI:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            items:
                              items:
                                properties:
                                  fieldRef:
                                    properties:
                                      apiVersion:
                                        type: string
                                      fieldPath:
                                        type: string
                                    required:
                                    - fieldPath
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  mode:
                                    format: int32
                                    type: integer
                                  path:
                                    type: string
                                  resourceFieldRef:
                                    properties:
                                      containerName:
                                        type: string
                                      divisor:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      resource:
                                        type: string
                                    required:
                                    - resource
                                    type: object
                                    x-kubernetes-map-type: atomic
                                required:
                                - path
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                          type: object
                        emptyDir:
                          properties:
                            medium:
                              type: string
                            sizeLimit:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                          type: object
                        ephemeral:
                          properties:
                            volumeClaimTemplate:
                              properties:
                                metadata:
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    finalizers:
                                      items:
                                        type: string
                                      type: array
                                    labels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    name:
                                      type: string
                                    namespace:
                                      type: string
                                  type: object
                                spec:
                                  properties:
                                    accessModes:
                                      items:
                                        type: string
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    dataSource:
                                      properties:
                                        apiGroup:
                                          type: string
                                        kind:
                                          type: string
                                        name:
                                          type: string
                                      required:
                                      - kind
                                      - name
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    dataSourceRef:
                                      properties:
                                        apiGroup:
                                          type: string
                                        kind:
                                          type: string
                                        name:
                                          type: string
                                        namespace:
                                          type: string
                                      required:
                                      - kind
                                      - name
                                      type: object
                                    resources:
                                      properties:
                                        limits:
                                          additionalProperties:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          type: object
                                        requests:
                                          additionalProperties:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          type: object
                                      type: object
                                    selector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                                x-kubernetes-list-type: atomic
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                      x-kubernetes-map-type: atomic
                                    storageClassName:
                                      type: string
                                    volumeAttributesClassName:
                                      type: string
                                    volumeMode:
                                      type: string
                                    volumeName:
                                      type: string
                                  type: object
                              required:
                              - spec
                              type: object
                          type: object
                        fc:
                          properties:
                            fsType:
                              type: string
                            lun:
                              format: int32
                              type: integer
                            readOnly:
                              type: boolean
                            targetWWNs:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            wwids:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                          type: object
                        flexVolume:
                          properties:
                            driver:
                              type: string
                            fsType:
                              type: string
                            options:
                              additionalProperties:
                                type: string
                              type: object
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  default: ""
                                  type: string
                              type: object
                              x-kubernetes-map-type: atomic
                          required:
                          - driver
                          type: object
                        flocker:
                          properties:
                            datasetName:
                              type: string
                            datasetUUID:
                              type: string
                          type: object
                        gcePersistentDisk:
                          properties:
                            fsType:
                              type: string
                            partition:
                              format: int32
                              type: integer
                            pdName:
                              type: string
                            readOnly:
                              type: boolean
                          required:
                          - pdName
                          type: object
                        gitRepo:
                          properties:
                            directory:
                              type: string
                            repository:
                              type: string
                            revision:
                              type: string
                          required:
                          - repository
                          type: object
                        glusterfs:
                          properties:
                            endpoints:
                              type: string
                            path:
                              type: string
                            readOnly:
                              type: boolean
                          required:
                          - endpoints
                          - path
                          type: object
                        hostPath:
                          properties:
                            path:
                              type: string
                            type:
                              type: string
                          required:
                          - path
                          type: object
                        image:
                          properties:
                            pullPolicy:
                              type: string
                            reference:
                              type: string
                          type: object
                        iscsi:
                          properties:
                            chapAuthDiscovery:
                              type: boolean
                            chapAuthSession:
                              type: boolean
                            fsType:
                              type: string
                            initiatorName:
                              type: string
                            iqn:
                              type: string
                            iscsiInterface:
                              default: default
                              type: string
                            lun:
                              format: int32
                              type: integer
                            portals:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  default: ""
                                  type: string
                              type: object
                              x-kubernetes-map-type: atomic
                            targetPortal:
                              type: string
                          required:
                          - iqn
                          - lun
                          - targetPortal
                          type: object
                        name:
                          type: string
                        nfs:
                          properties:
                            path:
                              type: string
                            readOnly:
                              type: boolean
                            server:
                              type: string
                          required:
                          - path
                          - server
                          type: object
                        persistentVolumeClaim:
                          properties:
                            claimName:
                              type: string
                            readOnly:
                              type: boolean
                          required:
                          - claimName
                          type: object
                        photonPersistentDisk:
                          properties:
                            fsType:
                              type: string
                            pdID:
                              type: string
                          required:
                          - pdID
                          type: object
                        portworxVolume:
                          properties:
                            fsType:
                              type: string
                            readOnly:
                              type: boolean
                            volumeID:
                              type: string
                          required:
                          - volumeID
                          type: object
                        projected:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            sources:
                              items:
                                properties:
                                  clusterTrustBundle:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                                  x-kubernetes-list-type: atomic
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                      path:
                                        type: string
                                      signerName:
                                        type: string
                                    required:
                                    - path
                                    type: object
                                  configMap:
                                    properties:
                                      items:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            mode:
                                              format: int32
                                              type: integer
                                            path:
                                              type: string
                                          required:
                                          - key
                                          - path
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      name:
                                        default: ""
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  downwardAPI:
                                    properties:
                                      items:
                                        items:
                                          properties:
                                            fieldRef:
                                              properties:
                                                apiVersion:
                                                  type: string
                                                fieldPath:
                                                  type: string
                                              required:
                                              - fieldPath
                                              type: object
                                              x-kubernetes-map-type: atomic
                                            mode:
                                              format: int32
                                              type: integer
                                            path:
                                              type: string
                                            resourceFieldRef:
                                              properties:
                                                containerName:
                                                  type: string
                                                divisor:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                resource:
                                                  type: string
                                              required:
                                              - resource
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          required:
                                          - path
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                    type: object
                                  secret:
                                    properties:
                                      items:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            mode:
                                              format: int32
                                              type: integer
                                            path:
                                              type: string
                                          required:
                                          - key
                                          - path
                                          type: object
                                        type: array
                                        x-kubernetes-list-type: atomic
                                      name:
                                        default: ""
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                    x-kubernetes-map-type: atomic
                                  serviceAccountToken:
                                    properties:
                                      audience:
                                        type: string
                                      expirationSeconds:
                                        format: int64
                                        type: integer
                                      path:
                                        type: string
                                    required:
                                    - path
                                    type: object
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                          type: object
                        quobyte:
                          properties:
                            group:
                              type: string
                            readOnly:
                              type: boolean
                            registry:
                              type: string
                            tenant:
                              type: string
                            user:
                              type: string
                            volume:
                              type: string
                          required:
                          - registry
                          - volume
                          type: object
                        rbd:
                          properties:
                            fsType:
                              type: string
                            image:
                              type: string
                            keyring:
                              default: /etc/ceph/keyring
                              type: string
                            monitors:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            pool:
                              default: rbd
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  default: ""
                                  type: string
                              type: object
                              x-kubernetes-map-type: atomic
                            user:
                              default: admin
                              type: string
                          required:
                          - image
                          - monitors
                          type: object
                        scaleIO:
                          properties:
                            fsType:
                              default: xfs
                              type: string
                            gateway:
                              type: string
                            protectionDomain:
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  default: ""
                                  type: string
                              type: object
                              x-kubernetes-map-type: atomic
                            sslEnabled:
                              type: boolean
                            storageMode:
                              default: ThinProvisioned
                              type: string
                            storagePool:
                              type: string
                            system:
                              type: string
                            volumeName:
                              type: string
                          required:
                          - gateway
                          - secretRef
                          - system
                          type: object
                        secret:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            items:
                              items:
                                properties:
                                  key:
                                    type: string
                                  mode:
                                    format: int32
                                    type: integer
                                  path:
                                    type: string
                                required:
                                - key
                                - path
                                type: object
                              type: array
                              x-kubernetes-list-type: atomic
                            optional:
                              type: boolean
                            secretName:
                              type: string
                          type: object
                        storageos:
                          properties:
                            fsType:
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  default: ""
                                  type: string
                              type: object
                              x-kubernetes-map-type: atomic
                            volumeName:
                              type: string
                            volumeNamespace:
                              type: string
                          type: object
                        vsphereVolume:
                          properties:
                            fsType:
                              type: string
                            storagePolicyID:
                              type: string
                            storagePolicyName:
                              type: string
                            volumePath:
                              type: string
                          required:
                          - volumePath
                          type: object
                      required:
                      - name
                      type: object
                    type: array
                type: object
              startup:
                properties:
                  exec:
                    properties:
                      command:
                        items:
                          type: string
                        type: array
                        x-kubernetes-list-type: atomic
                    type: object
                  failureThreshold:
                    format: int32
                    type: integer
                  grpc:
                    properties:
                      port:
                        format: int32
                        type: integer
                      service:
                        default: ""
                        type: string
                    required:
                    - port
                    type: object
                  httpGet:
                    properties:
                      host:
                        type: string
                      httpHeaders:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                          required:
                          - name
                          - value
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      path:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      scheme:
                        type: string
                    required:
                    - port
                    type: object
                  initialDelaySeconds:
                    format: int32
                    type: integer
                  periodSeconds:
                    format: int32
                    type: integer
                  successThreshold:
                    format: int32
                    type: integer
                  tcpSocket:
                    properties:
                      host:
                        type: string
                      port:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                    required:
                    - port
                    type: object
                  terminationGracePeriodSeconds:
                    format: int64
                    type: integer
                  timeoutSeconds:
                    format: int32
                    type: integer
                type: object
              subPath:
                type: string
              users:
                items:
                  properties:
                    name:
                      default: ""
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                type: array
            required:
            - pools
            type: object
          status:
            properties:
              availableReplicas:
                format: int32
                type: integer
              certificates:
                nullable: true
                properties:
                  autoCertEnabled:
                    nullable: true
                    type: boolean
                  customCertificates:
                    nullable: true
                    properties:
                      client:
                        items:
                          properties:
                            certName:
                              type: string
                            domains:
                              items:
                                type: string
                              type: array
                            expiresIn:
                              type: string
                            expiry:
                              type: string
                            serialNo:
                              type: string
                          type: object
                        type: array
                      minio:
                        items:
                          properties:
                            certName:
                              type: string
                            domains:
                              items:
                                type: string
                              type: array
                            expiresIn:
                              type: string
                            expiry:
                              type: string
                            serialNo:
                              type: string
                          type: object
                        type: array
                      minioCAs:
                        items:
                          properties:
                            certName:
                              type: string
                            domains:
                              items:
                                type: string
                              type: array
                            expiresIn:
                              type: string
                            expiry:
                              type: string
                            serialNo:
                              type: string
                          type: object
                        type: array
                    type: object
                type: object
              currentState:
                type: string
              drivesHealing:
                format: int32
                type: integer
              drivesOffline:
                format: int32
                type: integer
              drivesOnline:
                format: int32
                type: integer
              healthMessage:
                type: string
              healthStatus:
                type: string
              pools:
                items:
                  properties:
                    legacySecurityContext:
                      type: boolean
                    ssName:
                      type: string
                    state:
                      type: string
                  required:
                  - ssName
                  - state
                  type: object
                nullable: true
                type: array
              provisionedBuckets:
                type: boolean
              provisionedUsers:
                type: boolean
              revision:
                format: int32
                type: integer
              syncVersion:
                type: string
              usage:
                properties:
                  capacity:
                    format: int64
                    type: integer
                  rawCapacity:
                    format: int64
                    type: integer
                  rawUsage:
                    format: int64
                    type: integer
                  tiers:
                    items:
                      properties:
                        Name:
                          type: string
                        Type:
                          type: string
                        totalSize:
                          format: int64
                          type: integer
                      required:
                      - Name
                      - totalSize
                      type: object
                    type: array
                  usage:
                    format: int64
                    type: integer
                type: object
              waitingOnReady:
                format: date-time
                type: string
              writeQuorum:
                format: int32
                type: integer
            required:
            - availableReplicas
            - certificates
            - currentState
            - pools
            - revision
            - syncVersion
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
