apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.11.3 name: cephfilesystemsubvolumegroups.ceph.rook.io spec: group: ceph.rook.io names: kind: CephFilesystemSubVolumeGroup listKind: CephFilesystemSubVolumeGroupList plural: cephfilesystemsubvolumegroups singular: cephfilesystemsubvolumegroup scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .status.phase name: Phase type: string name: v1 schema: openAPIV3Schema: description: CephFilesystemSubVolumeGroup represents a Ceph Filesystem SubVolumeGroup 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: Spec represents the specification of a Ceph Filesystem SubVolumeGroup properties: filesystemName: description: FilesystemName is the name of Ceph Filesystem SubVolumeGroup volume name. Typically it's the name of the CephFilesystem CR. If not coming from the CephFilesystem CR, it can be retrieved from the list of Ceph Filesystem volumes with `ceph fs volume ls`. To learn more about Ceph Filesystem abstractions see https://docs.ceph.com/en/latest/cephfs/fs-volumes/#fs-volumes-and-subvolumes type: string x-kubernetes-validations: - message: filesystemName is immutable rule: self == oldSelf name: description: The name of the subvolume group. If not set, the default is the name of the subvolumeGroup CR. type: string x-kubernetes-validations: - message: name is immutable rule: self == oldSelf pinning: description: Pinning configuration of CephFilesystemSubVolumeGroup, reference https://docs.ceph.com/en/latest/cephfs/fs-volumes/#pinning-subvolumes-and-subvolume-groups only one out of (export, distributed, random) can be set at a time properties: distributed: maximum: 1 minimum: 0 nullable: true type: integer export: maximum: 256 minimum: -1 nullable: true type: integer random: maximum: 1 minimum: 0 nullable: true type: number type: object x-kubernetes-validations: - message: only one pinning type should be set rule: (has(self.export) && !has(self.distributed) && !has(self.random)) || (!has(self.export) && has(self.distributed) && !has(self.random)) || (!has(self.export) && !has(self.distributed) && has(self.random)) || (!has(self.export) && !has(self.distributed) && !has(self.random)) required: - filesystemName type: object status: description: Status represents the status of a CephFilesystem SubvolumeGroup properties: info: additionalProperties: type: string nullable: true type: object observedGeneration: description: ObservedGeneration is the latest generation observed by the controller. format: int64 type: integer phase: description: ConditionType represent a resource's status type: string type: object x-kubernetes-preserve-unknown-fields: true required: - metadata - spec type: object served: true storage: true subresources: status: {}