Class V1PersistentVolumeClaimSpec
PersistentVolumeClaimSpec describes the common attributes of storage devices and
allows a Source for provider-specific attributes
Inheritance
V1PersistentVolumeClaimSpec
Assembly: KubernetesClient.dll
Syntax
public record V1PersistentVolumeClaimSpec : IEquatable<V1PersistentVolumeClaimSpec>
Constructors
View Source
V1PersistentVolumeClaimSpec()
Declaration
public V1PersistentVolumeClaimSpec()
View Source
V1PersistentVolumeClaimSpec(V1PersistentVolumeClaimSpec)
Declaration
protected V1PersistentVolumeClaimSpec(V1PersistentVolumeClaimSpec original)
Parameters
Properties
View Source
AccessModes
Declaration
[JsonPropertyName("accessModes")]
public IList<string> AccessModes { get; set; }
Property Value
View Source
DataSource
dataSource field can be used to specify either: * An existing VolumeSnapshot
object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC
(PersistentVolumeClaim) If the provisioner or an external controller can support
the specified data source, it will create a new volume based on the contents of
the specified data source. When the AnyVolumeDataSource feature gate is enabled,
dataSource contents will be copied to dataSourceRef, and dataSourceRef contents
will be copied to dataSource when dataSourceRef.namespace is not specified. If
the namespace is specified, then dataSourceRef will not be copied to dataSource.
Declaration
[JsonPropertyName("dataSource")]
public V1TypedLocalObjectReference DataSource { get; set; }
Property Value
View Source
DataSourceRef
dataSourceRef specifies the object from which to populate the volume with data,
if a non-empty volume is desired. This may be any object from a non-empty API
group (non core object) or a PersistentVolumeClaim object. When this field is
specified, volume binding will only succeed if the type of the specified object
matches some installed volume populator or dynamic provisioner. This field will
replace the functionality of the dataSource field and as such if both fields are
non-empty, they must have the same value. For backwards compatibility, when
namespace isn't specified in dataSourceRef, both fields (dataSource and
dataSourceRef) will be set to the same value automatically if one of them is
empty and the other is non-empty. When namespace is specified in dataSourceRef,
dataSource isn't set to the same value and must be empty. There are three
important differences between dataSource and dataSourceRef: * While dataSource
only allows two specific types of objects, dataSourceRef
allows any non-core object, as well as PersistentVolumeClaim objects.
- While dataSource ignores disallowed values (dropping them), dataSourceRef
preserves all values, and generates an error if a disallowed value is
specified.
- While dataSource only allows local objects, dataSourceRef allows objects
in any namespaces.
(Beta) Using this field requires the AnyVolumeDataSource feature gate to be
enabled. (Alpha) Using the namespace field of dataSourceRef requires the
CrossNamespaceVolumeDataSource feature gate to be enabled.
Declaration
[JsonPropertyName("dataSourceRef")]
public V1TypedObjectReference DataSourceRef { get; set; }
Property Value
View Source
EqualityContract
Declaration
protected virtual Type EqualityContract { get; }
Property Value
View Source
Resources
resources represents the minimum resources the volume should have. If
RecoverVolumeExpansionFailure feature is enabled users are allowed to specify
resource requirements that are lower than previous value but must still be
higher than capacity recorded in the status field of the claim. More info:
https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
Declaration
[JsonPropertyName("resources")]
public V1VolumeResourceRequirements Resources { get; set; }
Property Value
View Source
Selector
selector is a label query over volumes to consider for binding.
Declaration
[JsonPropertyName("selector")]
public V1LabelSelector Selector { get; set; }
Property Value
View Source
StorageClassName
Declaration
[JsonPropertyName("storageClassName")]
public string StorageClassName { get; set; }
Property Value
View Source
VolumeAttributesClassName
volumeAttributesClassName may be used to set the VolumeAttributesClass used by
this claim. If specified, the CSI driver will create or update the volume with
the attributes defined in the corresponding VolumeAttributesClass. This has a
different purpose than storageClassName, it can be changed after the claim is
created. An empty string or nil value indicates that no VolumeAttributesClass
will be applied to the claim. If the claim enters an Infeasible error state,
this field can be reset to its previous value (including nil) to cancel the
modification. If the resource referred to by volumeAttributesClass does not
exist, this PersistentVolumeClaim will be set to a Pending state, as reflected
by the modifyVolumeStatus field, until such as a resource exists. More info:
https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
Declaration
[JsonPropertyName("volumeAttributesClassName")]
public string VolumeAttributesClassName { get; set; }
Property Value
View Source
VolumeMode
volumeMode defines what type of volume is required by the claim. Value of
Filesystem is implied when not included in claim spec.
Declaration
[JsonPropertyName("volumeMode")]
public string VolumeMode { get; set; }
Property Value
View Source
VolumeName
volumeName is the binding reference to the PersistentVolume backing this claim.
Declaration
[JsonPropertyName("volumeName")]
public string VolumeName { 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(V1PersistentVolumeClaimSpec?)
Declaration
public virtual bool Equals(V1PersistentVolumeClaimSpec? 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 ==(V1PersistentVolumeClaimSpec?, V1PersistentVolumeClaimSpec?)
Declaration
public static bool operator ==(V1PersistentVolumeClaimSpec? left, V1PersistentVolumeClaimSpec? right)
Parameters
Returns
View Source
operator !=(V1PersistentVolumeClaimSpec?, V1PersistentVolumeClaimSpec?)
Declaration
public static bool operator !=(V1PersistentVolumeClaimSpec? left, V1PersistentVolumeClaimSpec? right)
Parameters
Returns
Implements