CSIStorageCapacity

case
class CSIStorageCapacity(capacity: Optional[Quantity], maximumVolumeSize: Optional[Quantity], metadata: Optional[ObjectMeta], nodeTopology: Optional[LabelSelector], storageClassName: String)

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 if the CSIStorageCapacity beta feature gate is enabled there and a CSI driver opts into capacity-aware scheduling with CSIDriver.StorageCapacity.

Value Params
storageClassName

The name of the StorageClass that the reported capacity applies to. It must meet the same requirements as the name of a StorageClass object (non-empty, DNS subdomain). If that object no longer exists, the CSIStorageCapacity object is obsolete and should be removed by its creator. This field is immutable.

Companion
object
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

Gets capacity.

Gets capacity.

If the field is not present, fails with com.coralogix.zio.k8s.client.UndefinedField.

Gets maximumVolumeSize.

Gets maximumVolumeSize.

If the field is not present, fails with com.coralogix.zio.k8s.client.UndefinedField.

Gets metadata.

Gets metadata.

If the field is not present, fails with com.coralogix.zio.k8s.client.UndefinedField.

Gets nodeTopology.

Gets nodeTopology.

If the field is not present, fails with com.coralogix.zio.k8s.client.UndefinedField.

The name of the StorageClass that the reported capacity applies to. It must meet the same requirements as the name of a StorageClass object (non-empty, DNS subdomain). If that object no longer exists, the CSIStorageCapacity object is obsolete and should be removed by its creator. This field is immutable.

The name of the StorageClass that the reported capacity applies to. It must meet the same requirements as the name of a StorageClass object (non-empty, DNS subdomain). If that object no longer exists, the CSIStorageCapacity object is obsolete and should be removed by its creator. This field is immutable.

This effect always succeeds, it is safe to use the field storageClassName directly.

Inherited methods

def attachOwner(ownerName: String, ownerUid: String, ownerType: K8sResourceType): CSIStorageCapacity
Implicitly added by Ops

Attach another resource as the owner of this one

Attach another resource as the owner of this one

Value Params
ownerName

Owner's name

ownerType

Owner's resource type metadata

ownerUid

Owner's UID

Returns

Object with the attached owner described in its metadata

Inherited from
K8sObjectOps
def generation: Long
Implicitly added by Ops

Gets the geneation of the object or 0 if it is new

Gets the geneation of the object or 0 if it is new

Inherited from
K8sObjectOps
Implicitly added by Ops

Gets the metadata of the object and fail with com.coralogix.zio.k8s.client.UndefinedField if it is not present

Gets the metadata of the object and fail with com.coralogix.zio.k8s.client.UndefinedField if it is not present

Inherited from
K8sObjectOps
def getName: IO[K8sFailure, String]
Implicitly added by Ops

Gets the name of the object and fail with com.coralogix.zio.k8s.client.UndefinedField if it is not present

Gets the name of the object and fail with com.coralogix.zio.k8s.client.UndefinedField if it is not present

Inherited from
K8sObjectOps
def getUid: IO[K8sFailure, String]
Implicitly added by Ops

Gets the UID of the object and fail with com.coralogix.zio.k8s.client.UndefinedField if it is not present

Gets the UID of the object and fail with com.coralogix.zio.k8s.client.UndefinedField if it is not present

Inherited from
K8sObjectOps
def isOwnedBy[OwnerT : ResourceMetadata](owner: OwnerT): Boolean
Implicitly added by Ops

Verifies ownership between the resources

Verifies ownership between the resources

Type Params
OwnerT

Type of the owner resource

Value Params
owner

Possible owner of this resource

Returns

True if owner owns this resource

Inherited from
K8sObjectOps
Implicitly added by Ops

Creates a new object with its metadata modified by the given function f

Creates a new object with its metadata modified by the given function f

Value Params
f

Function to modify the object's metadata with

Returns

Object with modified metadata

Inherited from
K8sObjectOps
Implicitly added by Ops

Gets the metadata of the object

Gets the metadata of the object

Inherited from
K8sObjectOps
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
Implicitly added by Ops

Tries to attach another resource as the owner of this one. Can fail with com.coralogix.zio.k8s.client.UndefinedField if the owner does not have all the required metadata.

Tries to attach another resource as the owner of this one. Can fail with com.coralogix.zio.k8s.client.UndefinedField if the owner does not have all the required metadata.

Type Params
OwnerT

Type of the owner

Value Params
owner

Owner resource

Returns

Object with the attached owner described in its metadata

Inherited from
K8sObjectOps

Concrete fields

override protected
Implicitly added by Ops
protected
Implicitly added by Ops