## VolumeAttributesClass

# Struct VolumeAttributesClass

Source

    pub struct VolumeAttributesClass {
        pub driver_name: String,
        pub metadata: ObjectMeta,
        pub parameters: Option<BTreeMap<String, String>>,
    }

Expand description

VolumeAttributesClass represents a specification of mutable volume attributes defined by the CSI driver. The class can be specified during dynamic provisioning of PersistentVolumeClaims, and changed in the PersistentVolumeClaim spec after provisioning.

## Fields§

§`driver_name: String`

Name of the CSI driver This field is immutable.

§`metadata: ObjectMeta`

Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

§`parameters: Option<BTreeMap<String, String>>`

parameters hold volume attributes defined by the CSI driver. These values are opaque to the Kubernetes and are passed directly to the CSI driver. The underlying storage provider supports changing these attributes on an existing volume, however the parameters field itself is immutable. To invoke a volume update, a new VolumeAttributesClass should be created with new parameters, and the PersistentVolumeClaim should be updated to reference the new VolumeAttributesClass.

This field is required and must contain at least one key/value pair. The keys cannot be empty, and the maximum number of parameters is 512, with a cumulative max size of 256K. If the CSI driver rejects invalid parameters, the target PersistentVolumeClaim will be set to an “Infeasible” state in the modifyVolumeStatus field.

## Trait Implementations§

Source§

### impl Clone for VolumeAttributesClass

Source§

#### fn clone(&self) -> VolumeAttributesClass

Returns a duplicate of the value. Read more
1.0.0 · Source§

#### fn clone_from(&mut self, source: &Self)

Performs copy-assignment from `source`. Read more
Source§

### impl Debug for VolumeAttributesClass

Source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

### impl DeepMerge for VolumeAttributesClass

Source§

#### fn merge_from(&mut self, other: Self)

Merge `other` into `self`.
Source§

### impl Default for VolumeAttributesClass

Source§

#### fn default() -> VolumeAttributesClass

Returns the “default value” for a type. Read more
Source§

### impl<'de> Deserialize<'de> for VolumeAttributesClass

Source§

#### fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

### impl ListableResource for VolumeAttributesClass

Source§

#### const LIST_KIND: &'static str = "VolumeAttributesClassList"

The kind of the list type of the resource. Read more
Source§

### impl Metadata for VolumeAttributesClass

Source§

#### type Ty = ObjectMeta

The type of the metadata object.
Source§

#### fn metadata(&self) -> &<Self as Metadata>::Ty

Gets a reference to the metadata of this resource value.
Source§

#### fn metadata_mut(&mut self) -> &mut <Self as Metadata>::Ty

Gets a mutable reference to the metadata of this resource value.
Source§

### impl PartialEq for VolumeAttributesClass

Source§

#### fn eq(&self, other: &VolumeAttributesClass) -> bool

Tests for `self` and `other` values to be equal, and is used by `==`.
1.0.0 · Source§

#### fn ne(&self, other: &Rhs) -> bool

Tests for `!=`. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

### impl Resource for VolumeAttributesClass

Source§

#### const API_VERSION: &'static str = "storage.k8s.io/v1"

The API version of the resource. This is a composite of `Resource::GROUP` and `Resource::VERSION` (eg `"apiextensions.k8s.io/v1beta1"`) or just the version for resources without a group (eg `"v1"`). Read more
Source§

#### const GROUP: &'static str = "storage.k8s.io"

The group of the resource, or the empty string if the resource doesn’t have a group.
Source§

#### const KIND: &'static str = "VolumeAttributesClass"

The kind of the resource. Read more
Source§

#### const VERSION: &'static str = "v1"

The version of the resource.
Source§

#### const URL_PATH_SEGMENT: &'static str = "volumeattributesclasses"

The URL path segment used to construct URLs related to this resource. Read more
Source§

#### type Scope = ClusterResourceScope

Indicates whether the resource is namespace-scoped or cluster-scoped or a subresource. Read more
Source§

### impl Serialize for VolumeAttributesClass

Source§

#### fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

### impl StructuralPartialEq for VolumeAttributesClass

## Auto Trait Implementations§

§

### impl Freeze for VolumeAttributesClass

§

### impl RefUnwindSafe for VolumeAttributesClass

§

### impl Send for VolumeAttributesClass

§

### impl Sync for VolumeAttributesClass

§

### impl Unpin for VolumeAttributesClass

§

### impl UnwindSafe for VolumeAttributesClass

## Blanket Implementations§

Source§

### impl<T> Any for T
where T: 'static + ?Sized,

Source§

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
Source§

### impl<T> Borrow<T> for T
where T: ?Sized,

Source§

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

### impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

### impl<T> CloneToUninit for T
where T: Clone,

Source§

#### unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (`clone_to_uninit`)
Performs copy-assignment from `self` to `dest`. Read more
Source§

### impl<T> From<T> for T

Source§

#### fn from(t: T) -> T

Returns the argument unchanged.

Source§

### impl<T, U> Into<U> for T
where U: From<T>,

Source§

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

Source§

### impl<T> ToOwned for T
where T: Clone,

Source§

#### type Owned = T

The resulting type after obtaining ownership.
Source§

#### fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

#### fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

### impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

#### type Error = Infallible

The type returned in the event of a conversion error.
Source§

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

### impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

### impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,