io.k8s.api.storage.v1

Type members

Classlikes

final case class CSIDriver(spec: CSIDriverSpec, metadata: Option[ObjectMeta]) extends KObject

CSIDriver captures information about a Container Storage Interface (CSI) volume driver deployed on the cluster. Kubernetes attach detach controller uses this object to determine whether attach is required. Kubelet uses this object to determine whether pod information needs to be passed on mount. CSIDriver objects are non-namespaced.

CSIDriver captures information about a Container Storage Interface (CSI) volume driver deployed on the cluster. Kubernetes attach detach controller uses this object to determine whether attach is required. Kubelet uses this object to determine whether pod information needs to be passed on mount. CSIDriver objects are non-namespaced.

Companion:
object
Source:
CSIDriver.scala
object CSIDriver
Companion:
class
Source:
CSIDriver.scala
final case class CSIDriverList(items: Seq[CSIDriver], metadata: Option[ListMeta]) extends KObject

CSIDriverList is a collection of CSIDriver objects.

CSIDriverList is a collection of CSIDriver objects.

Companion:
object
Source:
CSIDriverList.scala
final case class CSIDriverSpec(volumeLifecycleModes: Option[Seq[String]], podInfoOnMount: Option[Boolean], attachRequired: Option[Boolean], requiresRepublish: Option[Boolean], fsGroupPolicy: Option[String], storageCapacity: Option[Boolean], tokenRequests: Option[Seq[TokenRequest]], seLinuxMount: Option[Boolean])

CSIDriverSpec is the specification of a CSIDriver.

CSIDriverSpec is the specification of a CSIDriver.

Companion:
object
Source:
CSIDriverSpec.scala
final case class CSINode(spec: CSINodeSpec, metadata: Option[ObjectMeta]) extends KObject

CSINode holds information about all CSI drivers installed on a node. CSI drivers do not need to create the CSINode object directly. As long as they use the node-driver-registrar sidecar container, the kubelet will automatically populate the CSINode object for the CSI driver as part of kubelet plugin registration. CSINode has the same name as a node. If the object is missing, it means either there are no CSI Drivers available on the node, or the Kubelet version is low enough that it doesn't create this object. CSINode has an OwnerReference that points to the corresponding node object.

CSINode holds information about all CSI drivers installed on a node. CSI drivers do not need to create the CSINode object directly. As long as they use the node-driver-registrar sidecar container, the kubelet will automatically populate the CSINode object for the CSI driver as part of kubelet plugin registration. CSINode has the same name as a node. If the object is missing, it means either there are no CSI Drivers available on the node, or the Kubelet version is low enough that it doesn't create this object. CSINode has an OwnerReference that points to the corresponding node object.

Companion:
object
Source:
CSINode.scala
object CSINode
Companion:
class
Source:
CSINode.scala
final case class CSINodeDriver(name: String, nodeID: String, allocatable: Option[VolumeNodeResources], topologyKeys: Option[Seq[String]])

CSINodeDriver holds information about the specification of one CSI driver installed on a node

CSINodeDriver holds information about the specification of one CSI driver installed on a node

Companion:
object
Source:
CSINodeDriver.scala
final case class CSINodeList(items: Seq[CSINode], metadata: Option[ListMeta]) extends KObject

CSINodeList is a collection of CSINode objects.

CSINodeList is a collection of CSINode objects.

Companion:
object
Source:
CSINodeList.scala
Companion:
class
Source:
CSINodeList.scala
final case class CSINodeSpec(drivers: Seq[CSINodeDriver])

CSINodeSpec holds information about the specification of all CSI drivers installed on a node

CSINodeSpec holds information about the specification of all CSI drivers installed on a node

Companion:
object
Source:
CSINodeSpec.scala
Companion:
class
Source:
CSINodeSpec.scala
final case class CSIStorageCapacity(storageClassName: String, maximumVolumeSize: Option[Quantity], nodeTopology: Option[LabelSelector], metadata: Option[ObjectMeta], capacity: Option[Quantity]) extends KObject

CSIStorageCapacity stores the result of one CSI GetCapacity call. For a given StorageClass, this describes the available capacity in a particular topology segment. This can be used when considering where to instantiate new PersistentVolumes.

CSIStorageCapacity stores the result of one CSI GetCapacity call. For a given StorageClass, this describes the available capacity in a particular topology segment. This can be used when considering where to instantiate new PersistentVolumes.

For example this can express things like: - StorageClass "standard" has "1234 GiB" available in "topology.kubernetes.io/zone=us-east1" - StorageClass "localssd" has "10 GiB" available in "kubernetes.io/hostname=knode-abc123"

The following three cases all imply that no capacity is available for a certain combination: - no object exists with suitable topology and storage class name - such an object exists, but the capacity is unset - such an object exists, but the capacity is zero

The producer of these objects can decide which approach is more suitable.

They are consumed by the kube-scheduler when a CSI driver opts into capacity-aware scheduling with CSIDriverSpec.StorageCapacity. The scheduler compares the MaximumVolumeSize against the requested size of pending volumes to filter out unsuitable nodes. If MaximumVolumeSize is unset, it falls back to a comparison against the less precise Capacity. If that is also unset, the scheduler assumes that capacity is insufficient and tries some other node.

Companion:
object
Source:
CSIStorageCapacity.scala
final case class CSIStorageCapacityList(items: Seq[CSIStorageCapacity], metadata: Option[ListMeta]) extends KObject

CSIStorageCapacityList is a collection of CSIStorageCapacity objects.

CSIStorageCapacityList is a collection of CSIStorageCapacity objects.

Companion:
object
Source:
CSIStorageCapacityList.scala
final case class StorageClass(provisioner: String, mountOptions: Option[Seq[String]], reclaimPolicy: Option[String], volumeBindingMode: Option[String], metadata: Option[ObjectMeta], allowVolumeExpansion: Option[Boolean], allowedTopologies: Option[Seq[TopologySelectorTerm]], parameters: Option[Map[String, String]]) extends KObject

StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.

StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.

StorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.

Companion:
object
Source:
StorageClass.scala
Companion:
class
Source:
StorageClass.scala
final case class StorageClassList(items: Seq[StorageClass], metadata: Option[ListMeta]) extends KObject

StorageClassList is a collection of storage classes.

StorageClassList is a collection of storage classes.

Companion:
object
Source:
StorageClassList.scala
final case class TokenRequest(audience: String, expirationSeconds: Option[Int])

TokenRequest contains parameters of a service account token.

TokenRequest contains parameters of a service account token.

Companion:
object
Source:
TokenRequest.scala
Companion:
class
Source:
TokenRequest.scala
final case class VolumeAttachment(spec: VolumeAttachmentSpec, status: Option[VolumeAttachmentStatus], metadata: Option[ObjectMeta]) extends KObject

VolumeAttachment captures the intent to attach or detach the specified volume to/from the specified node.

VolumeAttachment captures the intent to attach or detach the specified volume to/from the specified node.

VolumeAttachment objects are non-namespaced.

Companion:
object
Source:
VolumeAttachment.scala
final case class VolumeAttachmentList(items: Seq[VolumeAttachment], metadata: Option[ListMeta]) extends KObject

VolumeAttachmentList is a collection of VolumeAttachment objects.

VolumeAttachmentList is a collection of VolumeAttachment objects.

Companion:
object
Source:
VolumeAttachmentList.scala
final case class VolumeAttachmentSource(inlineVolumeSpec: Option[PersistentVolumeSpec], persistentVolumeName: Option[String])

VolumeAttachmentSource represents a volume that should be attached. Right now only PersistenVolumes can be attached via external attacher, in future we may allow also inline volumes in pods. Exactly one member can be set.

VolumeAttachmentSource represents a volume that should be attached. Right now only PersistenVolumes can be attached via external attacher, in future we may allow also inline volumes in pods. Exactly one member can be set.

Companion:
object
Source:
VolumeAttachmentSource.scala
final case class VolumeAttachmentSpec(attacher: String, nodeName: String, source: VolumeAttachmentSource)

VolumeAttachmentSpec is the specification of a VolumeAttachment request.

VolumeAttachmentSpec is the specification of a VolumeAttachment request.

Companion:
object
Source:
VolumeAttachmentSpec.scala
final case class VolumeAttachmentStatus(attached: Boolean, attachError: Option[VolumeError], attachmentMetadata: Option[Map[String, String]], detachError: Option[VolumeError])

VolumeAttachmentStatus is the status of a VolumeAttachment request.

VolumeAttachmentStatus is the status of a VolumeAttachment request.

Companion:
object
Source:
VolumeAttachmentStatus.scala
final case class VolumeError(message: Option[String], time: Option[Time])

VolumeError captures an error encountered during a volume operation.

VolumeError captures an error encountered during a volume operation.

Companion:
object
Source:
VolumeError.scala
Companion:
class
Source:
VolumeError.scala
final case class VolumeNodeResources(count: Option[Int])

VolumeNodeResources is a set of resource limits for scheduling of volumes.

VolumeNodeResources is a set of resource limits for scheduling of volumes.

Companion:
object
Source:
VolumeNodeResources.scala