k8s.api.storage.v1.CSIStorageCapacity1.1.1
- Module URI:
- package://pkg.pkl-lang.org/pkl-k8s/k8s@1.1.1#/api/storage/v1/CSIStorageCapacity.pklcontent_copy
- Pkl version:
- 0.25.0 or higher
- Source code:
- CSIStorageCapacity.pkl
- Known subtypes:
- Known usages:
- All versions:
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.
Properties(show inherited)
-
expand_morelinkhidden
The output of this module.
Defaults to all module properties rendered as either Pcf or the format specified on the command line.
-
expand_morelinkapiVersion: "storage.k8s.io/v1"Source
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
expand_morelinkkind: "CSIStorageCapacity"Source
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
expand_morelink
maximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.
This is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim.
-
expand_morelink
Standard object's metadata.
The name has no particular meaning. It must be a DNS subdomain (dots allowed, 253 characters). To ensure that there are no conflicts with other CSI drivers on the cluster, the recommendation is to use csisc-
, a generated name, or a reverse-domain name which ends with the unique CSI driver name. Objects are namespaced.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
-
expand_morelink
nodeTopology defines which nodes have access to the storage for which capacity was reported.
If not set, the storage is not accessible from any node in the cluster. If empty, the storage is accessible from all nodes. This field is immutable.
-
expand_morelink
storageClassName represents 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.
-
expand_morelink
capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.
The semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable.
Methods(show inherited)
-
-
-
-
-
-
-
-
-
expand_morelinkfunction
Returns the relative, descendent directory path between this module and
other
.Throws if no such path exists.
For example, if module
mod1
has path/dir1/mod1.pkl
, and modulemod2
has path/dir1/dir2/dir3/mod2.pkl
, thenmod1.relativePathTo(mod2)
will returnList("dir2", "dir3")
.A common use case is to compute the directory path between a template located at the root of a hierarchy (say
rootModule.pkl
) and the currently evaluated module (accessible via themodule
keyword):import "rootModule.pkl" // self-import path = rootModule.relativePathTo(module)
-
-
-
-
Classes(show inherited)
Type Aliases(show inherited)
-
expand_morelinktypealias
-
expand_morelinktypealias
-
-
-
expand_morelinktypealiasPortName = String(length <= 15, matches(Regex("[a-z0-9]+(-[a-z0-9]+)*")), contains(Regex("[a-z]"))) (k8s.K8sObject)
A port name conforming to RFC 6335 IANA service name syntax.
Contrary to the RFC, Kubernetes does not allow uppercase letters.
-
-
expand_morelinktypealiasRfc1123Label = String(length <= 63, matches(Regex("[a-z0-9]([-a-z0-9]*[a-z0-9])?"))) (k8s.K8sObject)
An RFC 1123 DNS label.
Contrary to the RFC, Kubernetes does not allow uppercase letters.
-
expand_morelinktypealiasRfc1123Hostname = String(length <= 253, matches(Regex("[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"))) (k8s.K8sObject)
An RFC 1123 hostname.
Contrary to the RFC, Kubernetes does not allow uppercase letters.
-
expand_morelinktypealiasApiRequestVerb = "get"|"list"|"watch"|"create"|"update"|"patch"|"delete"|"deletecollection"|"*"|"use"|"bind"|"escalate"|"impersonate"|String (k8s.K8sObject)
API verbs like
get
,list
,create
,update
,patch
,watch
,delete
, anddeletecollection
are used for resource requests.To determine the request verb for a resource API endpoint, see Determine the request verb. CRDs may use verbs outside of the predefined set.
-
linktypealiasHttpRequestVerb = "get"|"post"|"put"|"delete"|"patch"|"head"|"*" (k8s.K8sObject)
Lowercased HTTP methods like
get
,post
,put
, anddelete
are used for non-resource requests. -
expand_morelinktypealias
FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.
Each key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats:
- 'f:
', where is the name of a field in a struct, or key in a map - 'v:
', where is the exact json formatted value of a list item - 'i:
', where is position of a item in a list - 'k:
', where is a map of a list item's key fields to their unique values
If a key maps to an empty Fields value, the field that key represents is part of the set. The exact format is defined in sigs.k8s.io/structured-merge-diff.
- 'f:
-
CSIStorageCapacity stores the result of one CSI GetCapacity call.