Class V1PersistentVolumeClaimStatus
PersistentVolumeClaimStatus is the current status of a persistent volume claim.
Inheritance
V1PersistentVolumeClaimStatus
Assembly: KubernetesClient.dll
Syntax
public record V1PersistentVolumeClaimStatus : IEquatable<V1PersistentVolumeClaimStatus>
Constructors
View Source
V1PersistentVolumeClaimStatus()
Declaration
public V1PersistentVolumeClaimStatus()
View Source
V1PersistentVolumeClaimStatus(V1PersistentVolumeClaimStatus)
Declaration
protected V1PersistentVolumeClaimStatus(V1PersistentVolumeClaimStatus original)
Parameters
Properties
View Source
AccessModes
Declaration
[JsonPropertyName("accessModes")]
public IList<string> AccessModes { get; set; }
Property Value
View Source
AllocatedResourceStatuses
allocatedResourceStatuses stores status of resource being resized for the given
PVC. Key names follow standard Kubernetes label syntax. Valid values are either:
- storage - the capacity of the volume.
- Custom resources must use implementation-defined prefixed names such as
"example.com/my-custom-resource"
Apart from above values - keys that are unprefixed or have kubernetes.io prefix
are considered reserved and hence may not be used.
ClaimResourceStatus can be in any of following states:
- ControllerResizeInProgress:
State set when resize controller starts resizing the volume in control-plane.
- ControllerResizeFailed:
State set when resize has failed in resize controller with a terminal error.
- NodeResizePending:
State set when resize controller has finished resizing the volume but further
resizing of
volume is needed on the node.
- NodeResizeInProgress:
State set when kubelet starts resizing the volume.
- NodeResizeFailed:
State set when resizing has failed in kubelet with a terminal error. Transient
errors don't set
NodeResizeFailed.
For example: if expanding a PVC for more capacity - this field can be one of the
following states:
- pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeInProgress"
- pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeFailed"
- pvc.status.allocatedResourceStatus['storage'] = "NodeResizePending"
- pvc.status.allocatedResourceStatus['storage'] = "NodeResizeInProgress"
- pvc.status.allocatedResourceStatus['storage'] = "NodeResizeFailed"
When this field is not set, it means that no resize operation is in progress for
the given PVC.
A controller that receives PVC update with previously unknown resourceName or
ClaimResourceStatus should ignore the update for the purpose it was designed.
For example - a controller that only is responsible for resizing capacity of the
volume, should ignore PVC updates that change other valid resources associated
with PVC.
This is an alpha field and requires enabling RecoverVolumeExpansionFailure
feature.
Declaration
[JsonPropertyName("allocatedResourceStatuses")]
public IDictionary<string, string> AllocatedResourceStatuses { get; set; }
Property Value
View Source
AllocatedResources
allocatedResources tracks the resources allocated to a PVC including its
capacity. Key names follow standard Kubernetes label syntax. Valid values are
either:
- storage - the capacity of the volume.
- Custom resources must use implementation-defined prefixed names such as
"example.com/my-custom-resource"
Apart from above values - keys that are unprefixed or have kubernetes.io prefix
are considered reserved and hence may not be used.
Capacity reported here may be larger than the actual capacity when a volume
expansion operation is requested. For storage quota, the larger value from
allocatedResources and PVC.spec.resources is used. If allocatedResources is not
set, PVC.spec.resources alone is used for quota calculation. If a volume
expansion capacity request is lowered, allocatedResources is only lowered if
there are no expansion operations in progress and if the actual volume capacity
is equal or lower than the requested capacity.
A controller that receives PVC update with previously unknown resourceName
should ignore the update for the purpose it was designed. For example - a
controller that only is responsible for resizing capacity of the volume, should
ignore PVC updates that change other valid resources associated with PVC.
This is an alpha field and requires enabling RecoverVolumeExpansionFailure
feature.
Declaration
[JsonPropertyName("allocatedResources")]
public IDictionary<string, ResourceQuantity> AllocatedResources { get; set; }
Property Value
View Source
Capacity
capacity represents the actual resources of the underlying volume.
Declaration
[JsonPropertyName("capacity")]
public IDictionary<string, ResourceQuantity> Capacity { get; set; }
Property Value
View Source
Conditions
conditions is the current Condition of persistent volume claim. If underlying
persistent volume is being resized then the Condition will be set to 'Resizing'.
Declaration
[JsonPropertyName("conditions")]
public IList<V1PersistentVolumeClaimCondition> Conditions { get; set; }
Property Value
View Source
CurrentVolumeAttributesClassName
currentVolumeAttributesClassName is the current name of the
VolumeAttributesClass the PVC is using. When unset, there is no
VolumeAttributeClass applied to this PersistentVolumeClaim
Declaration
[JsonPropertyName("currentVolumeAttributesClassName")]
public string CurrentVolumeAttributesClassName { get; set; }
Property Value
View Source
EqualityContract
Declaration
protected virtual Type EqualityContract { get; }
Property Value
View Source
ModifyVolumeStatus
ModifyVolumeStatus represents the status object of ControllerModifyVolume
operation. When this is unset, there is no ModifyVolume operation being
attempted.
Declaration
[JsonPropertyName("modifyVolumeStatus")]
public V1ModifyVolumeStatus ModifyVolumeStatus { get; set; }
Property Value
View Source
Phase
phase represents the current phase of PersistentVolumeClaim.
Declaration
[JsonPropertyName("phase")]
public string Phase { get; set; }
Property Value
Methods
View Source
Equals(object?)
Declaration
public override bool Equals(object? obj)
Parameters
| Type |
Name |
Description |
| object |
obj |
|
Returns
Overrides
View Source
Equals(V1PersistentVolumeClaimStatus?)
Declaration
public virtual bool Equals(V1PersistentVolumeClaimStatus? other)
Parameters
Returns
View Source
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Overrides
View Source
PrintMembers(StringBuilder)
Declaration
protected virtual bool PrintMembers(StringBuilder builder)
Parameters
Returns
View Source
ToString()
Declaration
public override string ToString()
Returns
Overrides
Operators
View Source
operator ==(V1PersistentVolumeClaimStatus?, V1PersistentVolumeClaimStatus?)
Declaration
public static bool operator ==(V1PersistentVolumeClaimStatus? left, V1PersistentVolumeClaimStatus? right)
Parameters
Returns
View Source
operator !=(V1PersistentVolumeClaimStatus?, V1PersistentVolumeClaimStatus?)
Declaration
public static bool operator !=(V1PersistentVolumeClaimStatus? left, V1PersistentVolumeClaimStatus? right)
Parameters
Returns
Implements