Packages

case class CSIStorageCapacity(capacity: Optional[Quantity] = Optional.Absent, maximumVolumeSize: Optional[Quantity] = Optional.Absent, metadata: Optional[ObjectMeta] = Optional.Absent, nodeTopology: Optional[LabelSelector] = Optional.Absent, storageClassName: String) extends Product with Serializable

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.

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.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CSIStorageCapacity
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CSIStorageCapacity(capacity: Optional[Quantity] = Optional.Absent, maximumVolumeSize: Optional[Quantity] = Optional.Absent, metadata: Optional[ObjectMeta] = Optional.Absent, nodeTopology: Optional[LabelSelector] = Optional.Absent, storageClassName: String)

    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.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val capacity: Optional[Quantity]
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def getCapacity: IO[K8sFailure, Quantity]

    Gets capacity.

    Gets capacity.

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

  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def getMaximumVolumeSize: IO[K8sFailure, Quantity]

    Gets maximumVolumeSize.

    Gets maximumVolumeSize.

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

  11. def getMetadata: IO[K8sFailure, ObjectMeta]

    Gets metadata.

    Gets metadata.

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

  12. def getNodeTopology: IO[K8sFailure, LabelSelector]

    Gets nodeTopology.

    Gets nodeTopology.

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

  13. def getStorageClassName: IO[K8sFailure, String]

    The name of the StorageClass that the reported capacity applies to.

    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.

  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. val maximumVolumeSize: Optional[Quantity]
  16. val metadata: Optional[ObjectMeta]
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. val nodeTopology: Optional[LabelSelector]
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. val storageClassName: String
  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped