---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.5.0
  name: cephblockpools.ceph.rook.io
spec:
  group: ceph.rook.io
  names:
    kind: CephBlockPool
    listKind: CephBlockPoolList
    plural: cephblockpools
    singular: cephblockpool
  scope: Namespaced
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        properties:
          apiVersion:
            type: string
          kind:
            type: string
          metadata:
            type: object
          spec:
            properties:
              compressionMode:
                default: none
                enum:
                - none
                - passive
                - aggressive
                - force
                - ""
                type: string
              crushRoot:
                type: string
              deviceClass:
                enum:
                - ssd
                - hdd
                - nvme
                - ""
                type: string
              enableRBDStats:
                type: boolean
              erasureCoded:
                properties:
                  algorithm:
                    type: string
                  codingChunks:
                    maximum: 9
                    minimum: 0
                    type: integer
                  dataChunks:
                    maximum: 9
                    minimum: 0
                    type: integer
                required:
                - codingChunks
                - dataChunks
                type: object
              failureDomain:
                type: string
              mirroring:
                properties:
                  enabled:
                    type: boolean
                  mode:
                    type: string
                  snapshotSchedules:
                    items:
                      properties:
                        interval:
                          type: string
                        startTime:
                          type: string
                      type: object
                    type: array
                type: object
              parameters:
                additionalProperties:
                  type: string
                nullable: true
                type: object
                x-kubernetes-preserve-unknown-fields: true
              quotas:
                nullable: true
                properties:
                  maxBytes:
                    format: int64
                    type: integer
                  maxObjects:
                    format: int64
                    type: integer
                  maxSize:
                    pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
                    type: string
                type: object
              replicated:
                properties:
                  replicasPerFailureDomain:
                    minimum: 1
                    type: integer
                  requireSafeReplicaSize:
                    type: boolean
                  size:
                    minimum: 0
                    type: integer
                  subFailureDomain:
                    type: string
                  targetSizeRatio:
                    type: number
                required:
                - size
                type: object
              statusCheck:
                properties:
                  mirror:
                    nullable: true
                    properties:
                      disabled:
                        type: boolean
                      interval:
                        type: string
                      timeout:
                        type: string
                    type: object
                type: object
                x-kubernetes-preserve-unknown-fields: true
            type: object
          status:
            properties:
              info:
                additionalProperties:
                  type: string
                nullable: true
                type: object
              mirroringInfo:
                properties:
                  details:
                    type: string
                  lastChanged:
                    type: string
                  lastChecked:
                    type: string
                  mode:
                    type: string
                  peers:
                    items:
                      properties:
                        client_name:
                          type: string
                        direction:
                          type: string
                        mirror_uuid:
                          type: string
                        site_name:
                          type: string
                        uuid:
                          type: string
                      type: object
                    type: array
                  site_name:
                    type: string
                type: object
              mirroringStatus:
                properties:
                  details:
                    type: string
                  lastChanged:
                    type: string
                  lastChecked:
                    type: string
                  summary:
                    properties:
                      daemon_health:
                        type: string
                      health:
                        type: string
                      image_health:
                        type: string
                      states:
                        nullable: true
                        properties:
                          error:
                            type: integer
                          replaying:
                            type: integer
                          starting_replay:
                            type: integer
                          stopped:
                            type: integer
                          stopping_replay:
                            type: integer
                          syncing:
                            type: integer
                          unknown:
                            type: integer
                        type: object
                    type: object
                type: object
              phase:
                type: string
              snapshotScheduleStatus:
                properties:
                  details:
                    type: string
                  lastChanged:
                    type: string
                  lastChecked:
                    type: string
                  snapshotSchedules:
                    items:
                      properties:
                        image:
                          type: string
                        items:
                          items:
                            properties:
                              interval:
                                type: string
                              start_time:
                                type: string
                            type: object
                          type: array
                        namespace:
                          type: string
                        pool:
                          type: string
                      type: object
                    nullable: true
                    type: array
                type: object
            type: object
            x-kubernetes-preserve-unknown-fields: true
        required:
        - metadata
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
