github.com/openebs/node-disk-manager@v1.9.1-0.20230225014141-4531f06ffa1e/deploy/crds/openebs.io_blockdevices.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: blockdevices.openebs.io
    10  spec:
    11    group: openebs.io
    12    names:
    13      kind: BlockDevice
    14      listKind: BlockDeviceList
    15      plural: blockdevices
    16      shortNames:
    17      - bd
    18      singular: blockdevice
    19    scope: Namespaced
    20    versions:
    21    - additionalPrinterColumns:
    22      - jsonPath: .spec.nodeAttributes.nodeName
    23        name: NodeName
    24        type: string
    25      - jsonPath: .spec.path
    26        name: Path
    27        priority: 1
    28        type: string
    29      - jsonPath: .spec.filesystem.fsType
    30        name: FSType
    31        priority: 1
    32        type: string
    33      - jsonPath: .spec.capacity.storage
    34        name: Size
    35        type: string
    36      - jsonPath: .status.claimState
    37        name: ClaimState
    38        type: string
    39      - jsonPath: .status.state
    40        name: Status
    41        type: string
    42      - jsonPath: .metadata.creationTimestamp
    43        name: Age
    44        type: date
    45      name: v1alpha1
    46      schema:
    47        openAPIV3Schema:
    48          description: BlockDevice is the Schema for the blockdevices API
    49          properties:
    50            apiVersion:
    51              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'
    52              type: string
    53            kind:
    54              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'
    55              type: string
    56            metadata:
    57              type: object
    58            spec:
    59              description: DeviceSpec defines the properties and runtime status of a BlockDevice
    60              properties:
    61                aggregateDevice:
    62                  description: AggregateDevice was intended to store the hierarchical information in cases of LVM. However this is currently not implemented and may need to be re-looked into for better design. To be deprecated
    63                  type: string
    64                capacity:
    65                  description: Capacity
    66                  properties:
    67                    logicalSectorSize:
    68                      description: LogicalSectorSize is blockdevice logical-sector size in bytes
    69                      format: int32
    70                      type: integer
    71                    physicalSectorSize:
    72                      description: PhysicalSectorSize is blockdevice physical-Sector size in bytes
    73                      format: int32
    74                      type: integer
    75                    storage:
    76                      description: Storage is the blockdevice capacity in bytes
    77                      format: int64
    78                      type: integer
    79                  required:
    80                  - storage
    81                  type: object
    82                claimRef:
    83                  description: ClaimRef is the reference to the BDC which has claimed this BD
    84                  properties:
    85                    apiVersion:
    86                      description: API version of the referent.
    87                      type: string
    88                    fieldPath:
    89                      description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
    90                      type: string
    91                    kind:
    92                      description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    93                      type: string
    94                    name:
    95                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
    96                      type: string
    97                    namespace:
    98                      description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
    99                      type: string
   100                    resourceVersion:
   101                      description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   102                      type: string
   103                    uid:
   104                      description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   105                      type: string
   106                  type: object
   107                details:
   108                  description: Details contain static attributes of BD like model,serial, and so forth
   109                  properties:
   110                    compliance:
   111                      description: Compliance is standards/specifications version implemented by device firmware  such as SPC-1, SPC-2, etc
   112                      type: string
   113                    deviceType:
   114                      description: DeviceType represents the type of device like sparse, disk, partition, lvm, crypt
   115                      enum:
   116                      - disk
   117                      - partition
   118                      - sparse
   119                      - loop
   120                      - lvm
   121                      - crypt
   122                      - dm
   123                      - mpath
   124                      type: string
   125                    driveType:
   126                      description: DriveType is the type of backing drive, HDD/SSD
   127                      enum:
   128                      - HDD
   129                      - SSD
   130                      - Unknown
   131                      - ""
   132                      type: string
   133                    firmwareRevision:
   134                      description: FirmwareRevision is the disk firmware revision
   135                      type: string
   136                    hardwareSectorSize:
   137                      description: HardwareSectorSize is the hardware sector size in bytes
   138                      format: int32
   139                      type: integer
   140                    logicalBlockSize:
   141                      description: LogicalBlockSize is the logical block size in bytes reported by /sys/class/block/sda/queue/logical_block_size
   142                      format: int32
   143                      type: integer
   144                    model:
   145                      description: Model is model of disk
   146                      type: string
   147                    physicalBlockSize:
   148                      description: PhysicalBlockSize is the physical block size in bytes reported by /sys/class/block/sda/queue/physical_block_size
   149                      format: int32
   150                      type: integer
   151                    serial:
   152                      description: Serial is serial number of disk
   153                      type: string
   154                    vendor:
   155                      description: Vendor is vendor of disk
   156                      type: string
   157                  type: object
   158                devlinks:
   159                  description: DevLinks contains soft links of a block device like /dev/by-id/... /dev/by-uuid/...
   160                  items:
   161                    description: DeviceDevLink holds the mapping between type and links like by-id type or by-path type link
   162                    properties:
   163                      kind:
   164                        description: Kind is the type of link like by-id or by-path.
   165                        enum:
   166                        - by-id
   167                        - by-path
   168                        type: string
   169                      links:
   170                        description: Links are the soft links
   171                        items:
   172                          type: string
   173                        type: array
   174                    type: object
   175                  type: array
   176                filesystem:
   177                  description: FileSystem contains mountpoint and filesystem type
   178                  properties:
   179                    fsType:
   180                      description: Type represents the FileSystem type of the block device
   181                      type: string
   182                    mountPoint:
   183                      description: MountPoint represents the mountpoint of the block device.
   184                      type: string
   185                  type: object
   186                nodeAttributes:
   187                  description: NodeAttributes has the details of the node on which BD is attached
   188                  properties:
   189                    nodeName:
   190                      description: NodeName is the name of the Kubernetes node resource on which the device is attached
   191                      type: string
   192                  type: object
   193                parentDevice:
   194                  description: "ParentDevice was intended to store the UUID of the parent Block Device as is the case for partitioned block devices. \n For example: /dev/sda is the parent for /dev/sda1 To be deprecated"
   195                  type: string
   196                partitioned:
   197                  description: Partitioned represents if BlockDevice has partitions or not (Yes/No) Currently always default to No. To be deprecated
   198                  enum:
   199                  - "Yes"
   200                  - "No"
   201                  type: string
   202                path:
   203                  description: Path contain devpath (e.g. /dev/sdb)
   204                  type: string
   205              required:
   206              - capacity
   207              - devlinks
   208              - nodeAttributes
   209              - path
   210              type: object
   211            status:
   212              description: DeviceStatus defines the observed state of BlockDevice
   213              properties:
   214                claimState:
   215                  description: ClaimState represents the claim state of the block device
   216                  enum:
   217                  - Claimed
   218                  - Unclaimed
   219                  - Released
   220                  type: string
   221                state:
   222                  description: State is the current state of the blockdevice (Active/Inactive/Unknown)
   223                  enum:
   224                  - Active
   225                  - Inactive
   226                  - Unknown
   227                  type: string
   228              required:
   229              - claimState
   230              - state
   231              type: object
   232          type: object
   233      served: true
   234      storage: true
   235      subresources: {}
   236  status:
   237    acceptedNames:
   238      kind: ""
   239      plural: ""
   240    conditions: []
   241    storedVersions: []