Show / Hide Table of Contents

Class V1PersistentVolumeClaimStatus

PersistentVolumeClaimStatus is the current status of a persistent volume claim.

Inheritance
object
V1PersistentVolumeClaimStatus
Implements
IEquatable<V1PersistentVolumeClaimStatus>
Inherited Members
object.GetType()
object.MemberwiseClone()
object.Equals(object, object)
object.ReferenceEquals(object, object)
Namespace: k8s.Models
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
Type Name Description
V1PersistentVolumeClaimStatus original

Properties

View Source

AccessModes

accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

Declaration
[JsonPropertyName("accessModes")]
public IList<string> AccessModes { get; set; }
Property Value
Type Description
IList<string>
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:

  • Un-prefixed keys:
  • 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
Type Description
IDictionary<string, string>
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:

  • Un-prefixed keys:
  • 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
Type Description
IDictionary<string, ResourceQuantity>
View Source

Capacity

capacity represents the actual resources of the underlying volume.

Declaration
[JsonPropertyName("capacity")]
public IDictionary<string, ResourceQuantity> Capacity { get; set; }
Property Value
Type Description
IDictionary<string, ResourceQuantity>
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
Type Description
IList<V1PersistentVolumeClaimCondition>
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
Type Description
string
View Source

EqualityContract

Declaration
protected virtual Type EqualityContract { get; }
Property Value
Type Description
Type
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
Type Description
V1ModifyVolumeStatus
View Source

Phase

phase represents the current phase of PersistentVolumeClaim.

Declaration
[JsonPropertyName("phase")]
public string Phase { get; set; }
Property Value
Type Description
string

Methods

View Source

Equals(object?)

Declaration
public override bool Equals(object? obj)
Parameters
Type Name Description
object obj
Returns
Type Description
bool
Overrides
object.Equals(object)
View Source

Equals(V1PersistentVolumeClaimStatus?)

Declaration
public virtual bool Equals(V1PersistentVolumeClaimStatus? other)
Parameters
Type Name Description
V1PersistentVolumeClaimStatus other
Returns
Type Description
bool
View Source

GetHashCode()

Declaration
public override int GetHashCode()
Returns
Type Description
int
Overrides
object.GetHashCode()
View Source

PrintMembers(StringBuilder)

Declaration
protected virtual bool PrintMembers(StringBuilder builder)
Parameters
Type Name Description
StringBuilder builder
Returns
Type Description
bool
View Source

ToString()

Declaration
public override string ToString()
Returns
Type Description
string
Overrides
object.ToString()

Operators

View Source

operator ==(V1PersistentVolumeClaimStatus?, V1PersistentVolumeClaimStatus?)

Declaration
public static bool operator ==(V1PersistentVolumeClaimStatus? left, V1PersistentVolumeClaimStatus? right)
Parameters
Type Name Description
V1PersistentVolumeClaimStatus left
V1PersistentVolumeClaimStatus right
Returns
Type Description
bool
View Source

operator !=(V1PersistentVolumeClaimStatus?, V1PersistentVolumeClaimStatus?)

Declaration
public static bool operator !=(V1PersistentVolumeClaimStatus? left, V1PersistentVolumeClaimStatus? right)
Parameters
Type Name Description
V1PersistentVolumeClaimStatus left
V1PersistentVolumeClaimStatus right
Returns
Type Description
bool

Implements

IEquatable<T>
  • View Source
In this article
Back to top Generated by DocFX