github.com/openebs/node-disk-manager@v1.9.1-0.20230225014141-4531f06ffa1e/deploy/crds/openebs.io_blockdeviceclaims.yaml (about) 1 2 --- 3 apiVersion: apiextensions.k8s.io/v1 4 kind: CustomResourceDefinition 5 metadata: 6 annotations: 7 controller-gen.kubebuilder.io/version: v0.5.0 8 creationTimestamp: null 9 name: blockdeviceclaims.openebs.io 10 spec: 11 group: openebs.io 12 names: 13 kind: BlockDeviceClaim 14 listKind: BlockDeviceClaimList 15 plural: blockdeviceclaims 16 shortNames: 17 - bdc 18 singular: blockdeviceclaim 19 scope: Namespaced 20 versions: 21 - additionalPrinterColumns: 22 - jsonPath: .spec.blockDeviceName 23 name: BlockDeviceName 24 type: string 25 - jsonPath: .status.phase 26 name: Phase 27 type: string 28 - jsonPath: .metadata.creationTimestamp 29 name: Age 30 type: date 31 name: v1alpha1 32 schema: 33 openAPIV3Schema: 34 description: BlockDeviceClaim is the Schema for the blockdeviceclaims API 35 properties: 36 apiVersion: 37 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' 38 type: string 39 kind: 40 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' 41 type: string 42 metadata: 43 type: object 44 spec: 45 description: DeviceClaimSpec defines the request details for a BlockDevice 46 properties: 47 blockDeviceName: 48 description: BlockDeviceName is the reference to the block-device backing this claim 49 type: string 50 blockDeviceNodeAttributes: 51 description: BlockDeviceNodeAttributes is the attributes on the node from which a BD should be selected for this claim. It can include nodename, failure domain etc. 52 properties: 53 hostName: 54 description: HostName represents the hostname of the Kubernetes node resource where the BD should be present 55 type: string 56 nodeName: 57 description: NodeName represents the name of the Kubernetes node resource where the BD should be present 58 type: string 59 type: object 60 deviceClaimDetails: 61 description: Details of the device to be claimed 62 properties: 63 allowPartition: 64 description: AllowPartition represents whether to claim a full block device or a device that is a partition 65 type: boolean 66 blockVolumeMode: 67 description: 'BlockVolumeMode represents whether to claim a device in Block mode or Filesystem mode. These are use cases of BlockVolumeMode: 1) Not specified: VolumeMode check will not be effective 2) VolumeModeBlock: BD should not have any filesystem or mountpoint 3) VolumeModeFileSystem: BD should have a filesystem and mountpoint. If DeviceFormat is specified then the format should match with the FSType in BD' 68 type: string 69 formatType: 70 description: Format of the device required, eg:ext4, xfs 71 type: string 72 type: object 73 deviceType: 74 description: DeviceType represents the type of drive like SSD, HDD etc., 75 nullable: true 76 type: string 77 hostName: 78 description: Node name from where blockdevice has to be claimed. To be deprecated. Use NodeAttributes.HostName instead 79 type: string 80 resources: 81 description: Resources will help with placing claims on Capacity, IOPS 82 properties: 83 requests: 84 additionalProperties: 85 anyOf: 86 - type: integer 87 - type: string 88 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 89 x-kubernetes-int-or-string: true 90 description: 'Requests describes the minimum resources required. eg: if storage resource of 10G is requested minimum capacity of 10G should be available TODO for validating' 91 type: object 92 required: 93 - requests 94 type: object 95 selector: 96 description: Selector is used to find block devices to be considered for claiming 97 properties: 98 matchExpressions: 99 description: matchExpressions is a list of label selector requirements. The requirements are ANDed. 100 items: 101 description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. 102 properties: 103 key: 104 description: key is the label key that the selector applies to. 105 type: string 106 operator: 107 description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. 108 type: string 109 values: 110 description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. 111 items: 112 type: string 113 type: array 114 required: 115 - key 116 - operator 117 type: object 118 type: array 119 matchLabels: 120 additionalProperties: 121 type: string 122 description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. 123 type: object 124 type: object 125 type: object 126 status: 127 description: DeviceClaimStatus defines the observed state of BlockDeviceClaim 128 properties: 129 phase: 130 description: Phase represents the current phase of the claim 131 type: string 132 required: 133 - phase 134 type: object 135 type: object 136 served: true 137 storage: true 138 subresources: {} 139 status: 140 acceptedNames: 141 kind: "" 142 plural: "" 143 conditions: [] 144 storedVersions: []