---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.5.0
  name: cephobjectzones.ceph.rook.io
spec:
  group: ceph.rook.io
  names:
    kind: CephObjectZone
    listKind: CephObjectZoneList
    plural: cephobjectzones
    singular: cephobjectzone
  scope: Namespaced
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        properties:
          apiVersion:
            type: string
          kind:
            type: string
          metadata:
            type: object
          spec:
            properties:
              dataPool:
                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: 1
                        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
              metadataPool:
                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: 1
                        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
              zoneGroup:
                type: string
            required:
            - dataPool
            - metadataPool
            - zoneGroup
            type: object
          status:
            properties:
              phase:
                type: string
            type: object
            x-kubernetes-preserve-unknown-fields: true
        required:
        - metadata
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
