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 parameters:
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, kind: String): CSIStorageCapacity
Implicitly added by Ops

Attach another resource as the owner of this one

Attach another resource as the owner of this one

Value parameters:
kind

Owner's resource kind

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
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
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
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 parameters:
OwnerT

Type of the owner resource

Value parameters:
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 parameters:
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
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 parameters:
OwnerT

Type of the owner

Value parameters:
owner

Owner resource

Returns:

Object with the attached owner described in its metadata

Inherited from:
K8sObjectOps

Concrete fields

override protected val impl: K8sObject[CSIStorageCapacity]
Implicitly added by Ops
protected val obj: CSIStorageCapacity
Implicitly added by Ops