---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.5.1-0.20210420220833-f284e2e8098c
  name: cephclusters.ceph.rook.io
spec:
  group: ceph.rook.io
  names:
    kind: CephCluster
    listKind: CephClusterList
    plural: cephclusters
    singular: cephcluster
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: Directory used on the K8s nodes
      jsonPath: .spec.dataDirHostPath
      name: DataDirHostPath
      type: string
    - description: Number of MONs
      jsonPath: .spec.mon.count
      name: MonCount
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - description: Phase
      jsonPath: .status.phase
      name: Phase
      type: string
    - description: Message
      jsonPath: .status.message
      name: Message
      type: string
    - description: Ceph Health
      jsonPath: .status.ceph.health
      name: Health
      type: string
    - jsonPath: .spec.external.enable
      name: External
      type: boolean
    name: v1
    schema:
      openAPIV3Schema:
        properties:
          apiVersion:
            type: string
          kind:
            type: string
          metadata:
            type: object
          spec:
            properties:
              annotations:
                additionalProperties:
                  additionalProperties:
                    type: string
                  type: object
                nullable: true
                type: object
                x-kubernetes-preserve-unknown-fields: true
              cephVersion:
                nullable: true
                properties:
                  allowUnsupported:
                    type: boolean
                  image:
                    type: string
                type: object
              cleanupPolicy:
                nullable: true
                properties:
                  allowUninstallWithVolumes:
                    type: boolean
                  confirmation:
                    nullable: true
                    pattern: ^$|^yes-really-destroy-data$
                    type: string
                  sanitizeDisks:
                    nullable: true
                    properties:
                      dataSource:
                        enum:
                        - zero
                        - random
                        type: string
                      iteration:
                        format: int32
                        type: integer
                      method:
                        enum:
                        - complete
                        - quick
                        type: string
                    type: object
                type: object
              continueUpgradeAfterChecksEvenIfNotHealthy:
                type: boolean
              crashCollector:
                nullable: true
                properties:
                  daysToRetain:
                    type: integer
                  disable:
                    type: boolean
                type: object
              dashboard:
                nullable: true
                properties:
                  enabled:
                    type: boolean
                  port:
                    maximum: 65535
                    minimum: 0
                    type: integer
                  ssl:
                    type: boolean
                  urlPrefix:
                    type: string
                type: object
              dataDirHostPath:
                pattern: ^/(\S+)
                type: string
              disruptionManagement:
                nullable: true
                properties:
                  machineDisruptionBudgetNamespace:
                    type: string
                  manageMachineDisruptionBudgets:
                    type: boolean
                  managePodBudgets:
                    type: boolean
                  osdMaintenanceTimeout:
                    format: int64
                    type: integer
                  pgHealthCheckTimeout:
                    format: int64
                    type: integer
                type: object
              external:
                nullable: true
                properties:
                  enable:
                    type: boolean
                type: object
                x-kubernetes-preserve-unknown-fields: true
              healthCheck:
                nullable: true
                properties:
                  daemonHealth:
                    nullable: true
                    properties:
                      mon:
                        nullable: true
                        properties:
                          disabled:
                            type: boolean
                          interval:
                            type: string
                          timeout:
                            type: string
                        type: object
                      osd:
                        nullable: true
                        properties:
                          disabled:
                            type: boolean
                          interval:
                            type: string
                          timeout:
                            type: string
                        type: object
                      status:
                        nullable: true
                        properties:
                          disabled:
                            type: boolean
                          interval:
                            type: string
                          timeout:
                            type: string
                        type: object
                    type: object
                  livenessProbe:
                    additionalProperties:
                      properties:
                        disabled:
                          type: boolean
                        probe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                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
                      type: object
                    type: object
                type: object
              labels:
                additionalProperties:
                  additionalProperties:
                    type: string
                  type: object
                nullable: true
                type: object
                x-kubernetes-preserve-unknown-fields: true
              logCollector:
                nullable: true
                properties:
                  enabled:
                    type: boolean
                  periodicity:
                    type: string
                type: object
              mgr:
                nullable: true
                properties:
                  allowMultiplePerNode:
                    type: boolean
                  count:
                    maximum: 2
                    minimum: 0
                    type: integer
                  modules:
                    items:
                      properties:
                        enabled:
                          type: boolean
                        name:
                          type: string
                      type: object
                    nullable: true
                    type: array
                type: object
              mon:
                nullable: true
                properties:
                  allowMultiplePerNode:
                    type: boolean
                  count:
                    minimum: 0
                    type: integer
                  stretchCluster:
                    properties:
                      failureDomainLabel:
                        type: string
                      subFailureDomain:
                        type: string
                      zones:
                        items:
                          properties:
                            arbiter:
                              type: boolean
                            name:
                              type: string
                            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
                                    dataSource:
                                      properties:
                                        apiGroup:
                                          type: string
                                        kind:
                                          type: string
                                        name:
                                          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
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    storageClassName:
                                      type: string
                                    volumeMode:
                                      type: string
                                    volumeName:
                                      type: string
                                  type: object
                                status:
                                  properties:
                                    accessModes:
                                      items:
                                        type: string
                                      type: array
                                    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
                                    phase:
                                      type: string
                                  type: object
                              type: object
                              x-kubernetes-preserve-unknown-fields: true
                          type: object
                        nullable: true
                        type: array
                    type: object
                  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
                          dataSource:
                            properties:
                              apiGroup:
                                type: string
                              kind:
                                type: string
                              name:
                                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
                                  required:
                                  - key
                                  - operator
                                  type: object
                                type: array
                              matchLabels:
                                additionalProperties:
                                  type: string
                                type: object
                            type: object
                          storageClassName:
                            type: string
                          volumeMode:
                            type: string
                          volumeName:
                            type: string
                        type: object
                      status:
                        properties:
                          accessModes:
                            items:
                              type: string
                            type: array
                          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
                          phase:
                            type: string
                        type: object
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                type: object
              monitoring:
                nullable: true
                properties:
                  enabled:
                    type: boolean
                  externalMgrEndpoints:
                    items:
                      properties:
                        hostname:
                          type: string
                        ip:
                          type: string
                        nodeName:
                          type: string
                        targetRef:
                          properties:
                            apiVersion:
                              type: string
                            fieldPath:
                              type: string
                            kind:
                              type: string
                            name:
                              type: string
                            namespace:
                              type: string
                            resourceVersion:
                              type: string
                            uid:
                              type: string
                          type: object
                      required:
                      - ip
                      type: object
                    nullable: true
                    type: array
                  externalMgrPrometheusPort:
                    maximum: 65535
                    minimum: 0
                    type: integer
                  rulesNamespace:
                    type: string
                type: object
              network:
                nullable: true
                properties:
                  dualStack:
                    type: boolean
                  hostNetwork:
                    type: boolean
                  ipFamily:
                    default: IPv4
                    enum:
                    - IPv4
                    - IPv6
                    nullable: true
                    type: string
                  provider:
                    nullable: true
                    type: string
                  selectors:
                    additionalProperties:
                      type: string
                    nullable: true
                    type: object
                type: object
                x-kubernetes-preserve-unknown-fields: true
              placement:
                additionalProperties:
                  properties:
                    nodeAffinity:
                      properties:
                        preferredDuringSchedulingIgnoredDuringExecution:
                          items:
                            properties:
                              preference:
                                properties:
                                  matchExpressions:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        operator:
                                          type: string
                                        values:
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                  matchFields:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        operator:
                                          type: string
                                        values:
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - preference
                            - weight
                            type: object
                          type: array
                        requiredDuringSchedulingIgnoredDuringExecution:
                          properties:
                            nodeSelectorTerms:
                              items:
                                properties:
                                  matchExpressions:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        operator:
                                          type: string
                                        values:
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                  matchFields:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        operator:
                                          type: string
                                        values:
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                type: object
                              type: array
                          required:
                          - nodeSelectorTerms
                          type: object
                      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
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaceSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - podAffinityTerm
                            - weight
                            type: object
                          type: array
                        requiredDuringSchedulingIgnoredDuringExecution:
                          items:
                            properties:
                              labelSelector:
                                properties:
                                  matchExpressions:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        operator:
                                          type: string
                                        values:
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                  matchLabels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                type: object
                              namespaceSelector:
                                properties:
                                  matchExpressions:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        operator:
                                          type: string
                                        values:
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                  matchLabels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          type: array
                      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
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaceSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              weight:
                                format: int32
                                type: integer
                            required:
                            - podAffinityTerm
                            - weight
                            type: object
                          type: array
                        requiredDuringSchedulingIgnoredDuringExecution:
                          items:
                            properties:
                              labelSelector:
                                properties:
                                  matchExpressions:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        operator:
                                          type: string
                                        values:
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                  matchLabels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                type: object
                              namespaceSelector:
                                properties:
                                  matchExpressions:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        operator:
                                          type: string
                                        values:
                                          items:
                                            type: string
                                          type: array
                                      required:
                                      - key
                                      - operator
                                      type: object
                                    type: array
                                  matchLabels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                type: object
                              namespaces:
                                items:
                                  type: string
                                type: array
                              topologyKey:
                                type: string
                            required:
                            - topologyKey
                            type: object
                          type: array
                      type: object
                    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
                                  required:
                                  - key
                                  - operator
                                  type: object
                                type: array
                              matchLabels:
                                additionalProperties:
                                  type: string
                                type: object
                            type: object
                          maxSkew:
                            format: int32
                            type: integer
                          topologyKey:
                            type: string
                          whenUnsatisfiable:
                            type: string
                        required:
                        - maxSkew
                        - topologyKey
                        - whenUnsatisfiable
                        type: object
                      type: array
                  type: object
                nullable: true
                type: object
                x-kubernetes-preserve-unknown-fields: true
              priorityClassNames:
                additionalProperties:
                  type: string
                nullable: true
                type: object
                x-kubernetes-preserve-unknown-fields: true
              removeOSDsIfOutAndSafeToRemove:
                type: boolean
              resources:
                additionalProperties:
                  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
                nullable: true
                type: object
                x-kubernetes-preserve-unknown-fields: true
              security:
                nullable: true
                properties:
                  kms:
                    nullable: true
                    properties:
                      connectionDetails:
                        additionalProperties:
                          type: string
                        nullable: true
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      tokenSecretName:
                        type: string
                    type: object
                type: object
              skipUpgradeChecks:
                type: boolean
              storage:
                nullable: true
                properties:
                  config:
                    additionalProperties:
                      type: string
                    nullable: true
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                  deviceFilter:
                    type: string
                  devicePathFilter:
                    type: string
                  devices:
                    items:
                      properties:
                        config:
                          additionalProperties:
                            type: string
                          nullable: true
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        fullpath:
                          type: string
                        name:
                          type: string
                      type: object
                    nullable: true
                    type: array
                    x-kubernetes-preserve-unknown-fields: true
                  nodes:
                    items:
                      properties:
                        config:
                          additionalProperties:
                            type: string
                          nullable: true
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        deviceFilter:
                          type: string
                        devicePathFilter:
                          type: string
                        devices:
                          items:
                            properties:
                              config:
                                additionalProperties:
                                  type: string
                                nullable: true
                                type: object
                                x-kubernetes-preserve-unknown-fields: true
                              fullpath:
                                type: string
                              name:
                                type: string
                            type: object
                          nullable: true
                          type: array
                          x-kubernetes-preserve-unknown-fields: true
                        name:
                          type: string
                        resources:
                          nullable: true
                          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
                          x-kubernetes-preserve-unknown-fields: true
                        useAllDevices:
                          type: boolean
                        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
                                  dataSource:
                                    properties:
                                      apiGroup:
                                        type: string
                                      kind:
                                        type: string
                                      name:
                                        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
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  storageClassName:
                                    type: string
                                  volumeMode:
                                    type: string
                                  volumeName:
                                    type: string
                                type: object
                              status:
                                properties:
                                  accessModes:
                                    items:
                                      type: string
                                    type: array
                                  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
                                  phase:
                                    type: string
                                type: object
                            type: object
                          type: array
                      type: object
                    nullable: true
                    type: array
                  onlyApplyOSDPlacement:
                    type: boolean
                  storageClassDeviceSets:
                    items:
                      properties:
                        config:
                          additionalProperties:
                            type: string
                          nullable: true
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        count:
                          minimum: 1
                          type: integer
                        encrypted:
                          type: boolean
                        name:
                          type: string
                        placement:
                          nullable: true
                          properties:
                            nodeAffinity:
                              properties:
                                preferredDuringSchedulingIgnoredDuringExecution:
                                  items:
                                    properties:
                                      preference:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchFields:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                        type: object
                                      weight:
                                        format: int32
                                        type: integer
                                    required:
                                    - preference
                                    - weight
                                    type: object
                                  type: array
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  properties:
                                    nodeSelectorTerms:
                                      items:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchFields:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                        type: object
                                      type: array
                                  required:
                                  - nodeSelectorTerms
                                  type: object
                              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
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaceSelector:
                                            properties:
                                              matchExpressions:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    operator:
                                                      type: string
                                                    values:
                                                      items:
                                                        type: string
                                                      type: array
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaces:
                                            items:
                                              type: string
                                            type: array
                                          topologyKey:
                                            type: string
                                        required:
                                        - topologyKey
                                        type: object
                                      weight:
                                        format: int32
                                        type: integer
                                    required:
                                    - podAffinityTerm
                                    - weight
                                    type: object
                                  type: array
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  items:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  type: array
                              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
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaceSelector:
                                            properties:
                                              matchExpressions:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    operator:
                                                      type: string
                                                    values:
                                                      items:
                                                        type: string
                                                      type: array
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaces:
                                            items:
                                              type: string
                                            type: array
                                          topologyKey:
                                            type: string
                                        required:
                                        - topologyKey
                                        type: object
                                      weight:
                                        format: int32
                                        type: integer
                                    required:
                                    - podAffinityTerm
                                    - weight
                                    type: object
                                  type: array
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  items:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  type: array
                              type: object
                            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
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  maxSkew:
                                    format: int32
                                    type: integer
                                  topologyKey:
                                    type: string
                                  whenUnsatisfiable:
                                    type: string
                                required:
                                - maxSkew
                                - topologyKey
                                - whenUnsatisfiable
                                type: object
                              type: array
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        portable:
                          type: boolean
                        preparePlacement:
                          nullable: true
                          properties:
                            nodeAffinity:
                              properties:
                                preferredDuringSchedulingIgnoredDuringExecution:
                                  items:
                                    properties:
                                      preference:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchFields:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                        type: object
                                      weight:
                                        format: int32
                                        type: integer
                                    required:
                                    - preference
                                    - weight
                                    type: object
                                  type: array
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  properties:
                                    nodeSelectorTerms:
                                      items:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchFields:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                        type: object
                                      type: array
                                  required:
                                  - nodeSelectorTerms
                                  type: object
                              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
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaceSelector:
                                            properties:
                                              matchExpressions:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    operator:
                                                      type: string
                                                    values:
                                                      items:
                                                        type: string
                                                      type: array
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaces:
                                            items:
                                              type: string
                                            type: array
                                          topologyKey:
                                            type: string
                                        required:
                                        - topologyKey
                                        type: object
                                      weight:
                                        format: int32
                                        type: integer
                                    required:
                                    - podAffinityTerm
                                    - weight
                                    type: object
                                  type: array
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  items:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  type: array
                              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
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaceSelector:
                                            properties:
                                              matchExpressions:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    operator:
                                                      type: string
                                                    values:
                                                      items:
                                                        type: string
                                                      type: array
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaces:
                                            items:
                                              type: string
                                            type: array
                                          topologyKey:
                                            type: string
                                        required:
                                        - topologyKey
                                        type: object
                                      weight:
                                        format: int32
                                        type: integer
                                    required:
                                    - podAffinityTerm
                                    - weight
                                    type: object
                                  type: array
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  items:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  type: array
                              type: object
                            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
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  maxSkew:
                                    format: int32
                                    type: integer
                                  topologyKey:
                                    type: string
                                  whenUnsatisfiable:
                                    type: string
                                required:
                                - maxSkew
                                - topologyKey
                                - whenUnsatisfiable
                                type: object
                              type: array
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        resources:
                          nullable: true
                          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
                          x-kubernetes-preserve-unknown-fields: true
                        schedulerName:
                          type: string
                        tuneDeviceClass:
                          type: boolean
                        tuneFastDeviceClass:
                          type: boolean
                        volumeClaimTemplates:
                          items:
                            properties:
                              apiVersion:
                                type: string
                              kind:
                                type: string
                              metadata:
                                properties:
                                  annotations:
                                    additionalProperties:
                                      type: string
                                    type: object
                                    x-kubernetes-preserve-unknown-fields: true
                                  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
                                  dataSource:
                                    properties:
                                      apiGroup:
                                        type: string
                                      kind:
                                        type: string
                                      name:
                                        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
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  storageClassName:
                                    type: string
                                  volumeMode:
                                    type: string
                                  volumeName:
                                    type: string
                                type: object
                              status:
                                properties:
                                  accessModes:
                                    items:
                                      type: string
                                    type: array
                                  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
                                  phase:
                                    type: string
                                type: object
                            type: object
                          type: array
                      required:
                      - count
                      - name
                      - volumeClaimTemplates
                      type: object
                    nullable: true
                    type: array
                  useAllDevices:
                    type: boolean
                  useAllNodes:
                    type: boolean
                  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
                            dataSource:
                              properties:
                                apiGroup:
                                  type: string
                                kind:
                                  type: string
                                name:
                                  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
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            storageClassName:
                              type: string
                            volumeMode:
                              type: string
                            volumeName:
                              type: string
                          type: object
                        status:
                          properties:
                            accessModes:
                              items:
                                type: string
                              type: array
                            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
                            phase:
                              type: string
                          type: object
                      type: object
                    type: array
                type: object
              waitTimeoutForHealthyOSDInMinutes:
                format: int64
                type: integer
            type: object
          status:
            nullable: true
            properties:
              ceph:
                properties:
                  capacity:
                    properties:
                      bytesAvailable:
                        format: int64
                        type: integer
                      bytesTotal:
                        format: int64
                        type: integer
                      bytesUsed:
                        format: int64
                        type: integer
                      lastUpdated:
                        type: string
                    type: object
                  details:
                    additionalProperties:
                      properties:
                        message:
                          type: string
                        severity:
                          type: string
                      required:
                      - message
                      - severity
                      type: object
                    type: object
                  health:
                    type: string
                  lastChanged:
                    type: string
                  lastChecked:
                    type: string
                  previousHealth:
                    type: string
                  versions:
                    properties:
                      cephfs-mirror:
                        additionalProperties:
                          type: integer
                        type: object
                      mds:
                        additionalProperties:
                          type: integer
                        type: object
                      mgr:
                        additionalProperties:
                          type: integer
                        type: object
                      mon:
                        additionalProperties:
                          type: integer
                        type: object
                      osd:
                        additionalProperties:
                          type: integer
                        type: object
                      overall:
                        additionalProperties:
                          type: integer
                        type: object
                      rbd-mirror:
                        additionalProperties:
                          type: integer
                        type: object
                      rgw:
                        additionalProperties:
                          type: integer
                        type: object
                    type: object
                type: object
              conditions:
                items:
                  properties:
                    lastHeartbeatTime:
                      format: date-time
                      type: string
                    lastTransitionTime:
                      format: date-time
                      type: string
                    message:
                      type: string
                    reason:
                      type: string
                    status:
                      type: string
                    type:
                      type: string
                  type: object
                type: array
              message:
                type: string
              phase:
                type: string
              state:
                type: string
              storage:
                properties:
                  deviceClasses:
                    items:
                      properties:
                        name:
                          type: string
                      type: object
                    type: array
                type: object
              version:
                properties:
                  image:
                    type: string
                  version:
                    type: string
                type: object
            type: object
            x-kubernetes-preserve-unknown-fields: true
        required:
        - metadata
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
