apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: clientprofiles.csi.ceph.io
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.2
  labels:
    helm.sh/chart: ceph-csi-operator-0.5.0
    app.kubernetes.io/name: ceph-csi
    app.kubernetes.io/instance: rook-ceph
    app.kubernetes.io/version: "v0.5.0"
    app.kubernetes.io/managed-by: Helm
spec:
  group: csi.ceph.io
  names:
    kind: ClientProfile
    listKind: ClientProfileList
    plural: clientprofiles
    singular: clientprofile
  scope: Namespaced
  versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: ClientProfile is the Schema for the clientprofiles API
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: |-
                ClientProfileSpec defines the desired state of Ceph CSI
                configuration for volumes and snapshots configured to use
                this profile
              properties:
                cephConnectionRef:
                  description: |-
                    LocalObjectReference contains enough information to let you locate the
                    referenced object inside the same namespace.
                  properties:
                    name:
                      default: ""
                      description: |-
                        Name of the referent.
                        This field is effectively required, but due to backwards compatibility is
                        allowed to be empty. Instances of this type with an empty value here are
                        almost certainly wrong.
                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                  x-kubernetes-validations:
                    - message: '''.name'' cannot be empty'
                      rule: self.name != ""
                cephFs:
                  description: CephFsConfigSpec defines the desired CephFs configuration
                  properties:
                    cephCsiSecrets:
                      description: |-
                        CephCsiSecretsSpec defines the secrets used by the client profile
                        to access the Ceph cluster and perform operations
                        on volumes.
                      properties:
                        controllerPublishSecret:
                          description: |-
                            SecretReference represents a Secret Reference. It has enough information to retrieve secret
                            in any namespace
                          properties:
                            name:
                              description: name is unique within a namespace to reference a secret resource.
                              type: string
                            namespace:
                              description: namespace defines the space within which the secret name must be unique.
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                      type: object
                    fuseMountOptions:
                      additionalProperties:
                        type: string
                      type: object
                    kernelMountOptions:
                      additionalProperties:
                        type: string
                      type: object
                    radosNamespace:
                      type: string
                      x-kubernetes-validations:
                        - message: field is immutable
                          rule: self == oldSelf
                    subVolumeGroup:
                      type: string
                  type: object
                nfs:
                  description: NfsConfigSpec cdefines the desired NFS configuration
                  type: object
                rbd:
                  description: RbdConfigSpec defines the desired RBD configuration
                  properties:
                    cephCsiSecrets:
                      description: |-
                        CephCsiSecretsSpec defines the secrets used by the client profile
                        to access the Ceph cluster and perform operations
                        on volumes.
                      properties:
                        controllerPublishSecret:
                          description: |-
                            SecretReference represents a Secret Reference. It has enough information to retrieve secret
                            in any namespace
                          properties:
                            name:
                              description: name is unique within a namespace to reference a secret resource.
                              type: string
                            namespace:
                              description: namespace defines the space within which the secret name must be unique.
                              type: string
                          type: object
                          x-kubernetes-map-type: atomic
                      type: object
                    radosNamespace:
                      type: string
                      x-kubernetes-validations:
                        - message: field is immutable
                          rule: self == oldSelf
                  type: object
              required:
                - cephConnectionRef
              type: object
            status:
              description: |-
                ClientProfileStatus defines the observed state of Ceph CSI
                configuration for volumes and snapshots configured to use
                this profile
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
    - deprecated: true
      deprecationWarning: v1alpha1 is deprecated, please use v1
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: ClientProfile is the Schema for the clientprofiles API
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: |-
                ClientProfileSpec defines the desired state of Ceph CSI
                configuration for volumes and snapshots configured to use
                this profile
              properties:
                cephConnectionRef:
                  description: |-
                    LocalObjectReference contains enough information to let you locate the
                    referenced object inside the same namespace.
                  properties:
                    name:
                      default: ""
                      description: |-
                        Name of the referent.
                        This field is effectively required, but due to backwards compatibility is
                        allowed to be empty. Instances of this type with an empty value here are
                        almost certainly wrong.
                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                  x-kubernetes-validations:
                    - message: '''.name'' cannot be empty'
                      rule: self.name != ""
                cephFs:
                  description: CephFsConfigSpec defines the desired CephFs configuration
                  properties:
                    fuseMountOptions:
                      additionalProperties:
                        type: string
                      type: object
                    kernelMountOptions:
                      additionalProperties:
                        type: string
                      type: object
                    radosNamespace:
                      type: string
                      x-kubernetes-validations:
                        - message: field is immutable
                          rule: self == oldSelf
                    subVolumeGroup:
                      type: string
                  type: object
                nfs:
                  description: NfsConfigSpec cdefines the desired NFS configuration
                  type: object
                rbd:
                  description: RbdConfigSpec defines the desired RBD configuration
                  properties:
                    radosNamespace:
                      type: string
                      x-kubernetes-validations:
                        - message: field is immutable
                          rule: self == oldSelf
                  type: object
              required:
                - cephConnectionRef
              type: object
            status:
              description: |-
                ClientProfileStatus defines the observed state of Ceph CSI
                configuration for volumes and snapshots configured to use
                this profile
              type: object
          type: object
      served: true
      storage: false
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
