// StorageClassDevice returns device configuration type StorageClassDevice struct { // StorageClass name to use for set of matched devices StorageClassName string `json:"storageClassName"` // Volume mode. Raw or with file system // + optional VolumeMode PersistentVolumeMode `json:"volumeMode,omitempty"` // File system type // +optional FSType string `json:"fsType,omitempty"` // A list of device paths which would be chosen for local storage. // If specified along with AutoDiscovery option, device specified in devicePath // will be selected regardless of selection critirea mentioned in autoDiscovery // field. // For example - ["/dev/sda", "/dev/sdb", "/dev/disk/by-id/ata-crucial"] DevicePaths []string `json:"devicePaths,omitempty"` // AutoDiscovery can be used to discover all local devices // on the node and automatically create PVs. // +optional AutoDiscovery *LocalVolumeDiscoveryPolicy } type DeviceDiscoveryPolicy string const ( UseAllDevices DeviceDiscoveryPolicy = "UseAllDevices" UseOnlySSD DeviceDiscoveryPolicy = "UseOnlySSD" ) type LocalVolumeDiscoveryPolicy struct { // DeviceDiscoveryPolicy controls how devices are discovered by local-storage-operator DiscoveryPolicy DeviceDiscoveryPolicy // Device type that should be used for localvolumes. This would be type returned // by output of lsblk. Possible types are - crypt,raid1, raid4, raid5, raid10, multipath, disk, tape, printer, // processor, worm, rom, scanner, mo-disk, changer, comm, raid, enclosure, rbc, osd, and no-lun. // For example - ["part", "disk"] // +optional DeviceTypes []string // A list of regular expressions that will be used to exclude certain devices // For example - ["^rbd[0-9]+p?[0-9]{0,}$"] // +optional DeviceExclusionFilter []string }