kubernetes reference apiVersion v1 weight 6 title PersistentVolumeClaim contenttype apireference apimetadata import k8s io api core v1 autogenerated true PersistentVolumeClaim is a user s request for and claim to a persistent volume kind PersistentVolumeClaim

Answer:
---
api_metadata:
  apiVersion: "v1"
  import: "k8s.io/api/core/v1"
  kind: "PersistentVolumeClaim"
content_type: "api_reference"
description: "PersistentVolumeClaim is a user's request for and claim to a persistent volume."
title: "PersistentVolumeClaim"
weight: 6
auto_generated: true
---

`apiVersion: v1`

`import "k8s.io/api/core/v1"`

## PersistentVolumeClaim {#PersistentVolumeClaim}

PersistentVolumeClaim is a user's request for and claim to a persistent volume

- **apiVersion**: v1

- **kind**: PersistentVolumeClaim

- **metadata** (ObjectMeta)

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

- **spec** (PersistentVolumeClaimSpec)

  spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

- **status** (PersistentVolumeClaimStatus)

  status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

## PersistentVolumeClaimSpec {#PersistentVolumeClaimSpec}

PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes

- **accessModes** ([]string)

  *Atomic: will be replaced during a merge*

  accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

- **selector** (LabelSelector)

  selector is a label query over volumes to consider for binding.

- **resources** (VolumeResourceRequirements)

  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

  *VolumeResourceRequirements describes the storage resource requirements for a volume.*

  - **resources.limits** (map[string]Quantity)

    Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

  - **resources.requests** (map[string]Quantity)

    Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

- **volumeName** (string)

  volumeName is the binding reference to the PersistentVolume backing this claim.

- **storageClassName** (string)

  storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

- **volumeMode** (string)

  volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.

### Beta level

- **dataSource** (TypedLocalObjectReference)

  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.

- **dataSourceRef** (TypedObjectReference)

  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.

  **

  - **dataSourceRef.kind** (string), required

    Kind is the type of resource being referenced

  - **dataSourceRef.name** (string), required

    Name is the name of resource being referenced

  - **dataSourceRef.apiGroup** (string)

    APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

  - **dataSourceRef.namespace** (string)

    Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.

- **volumeAttributesClassName** (string)

  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 value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. 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/ (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).

## PersistentVolumeClaimStatus {#PersistentVolumeClaimStatus}

PersistentVolumeClaimStatus is the current status of a persistent volume claim.

- **accessModes** ([]string)

  *Atomic: will be replaced during a merge*

  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

- **allocatedResourceStatuses** (map[string]string)

  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.

- **allocatedResources** (map[string]Quantity)

  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.

- **capacity** (map[string]Quantity)

  capacity represents the actual resources of the underlying volume.

- **conditions** ([]PersistentVolumeClaimCondition)

  *Patch strategy: merge on key `type`*

  *Map: unique values on key type will be kept during a merge*

  conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'Resizing'.

  *PersistentVolumeClaimCondition contains details about state of pvc*

  - **conditions.status** (string), required

  - **conditions.type** (string), required

  - **conditions.lastProbeTime** (Time)

    lastProbeTime is the time we probed the condition.

    *Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.*

  - **conditions.lastTransitionTime** (Time)

    lastTransitionTime is the time the condition transitioned from one status to another.

    *Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.*

  - **conditions.message** (string)

    message is the human-readable message indicating details about last transition.

  - **conditions.reason** (string)

    reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "Resizing" that means the underlying persistent volume is being resized.

- **currentVolumeAttributesClassName** (string)

  currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is a beta field and requires enabling VolumeAttributesClass feature (off by default).

- **modifyVolumeStatus** (ModifyVolumeStatus)

  ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is a beta field and requires enabling VolumeAttributesClass feature (off by default).

  *ModifyVolumeStatus represents the status object of ControllerModifyVolume operation*

  - **modifyVolumeStatus.status** (string), required

    status is the status of the ControllerModifyVolume operation. It can be in any of following states:
     - Pending
       Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as
       the specified VolumeAttributesClass not existing.
     - InProgress
       InProgress indicates that the volume is being modified.
     - Infeasible
      Infeasible indicates that the request has been rejected as invalid by the CSI driver. To
    	  resolve the error, a valid VolumeAttributesClass needs to be specified.
    Note: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately.

  - **modifyVolumeStatus.targetVolumeAttributesClassName** (string)

    targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled

- **phase** (string)

  phase represents the current phase of PersistentVolumeClaim.

## PersistentVolumeClaimList {#PersistentVolumeClaimList}

PersistentVolumeClaimList is a list of PersistentVolumeClaim items.

- **apiVersion**: v1

- **kind**: PersistentVolumeClaimList

- **metadata** (ListMeta)

  Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

- **items** ([]PersistentVolumeClaim), required

  items is a list of persistent volume claims. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

## Operations {#Operations}

### `get` read the specified PersistentVolumeClaim

#### HTTP Request

GET /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the PersistentVolumeClaim

- **namespace** (*in path*): string, required

  namespace

- **pretty** (*in query*): string

  pretty

#### Response

200 (PersistentVolumeClaim): OK

401: Unauthorized

### `get` read status of the specified PersistentVolumeClaim

#### HTTP Request

GET /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the PersistentVolumeClaim

- **namespace** (*in path*): string, required

  namespace

- **pretty** (*in query*): string

  pretty

#### Response

200 (PersistentVolumeClaim): OK

401: Unauthorized

### `list` list or watch objects of kind PersistentVolumeClaim

#### HTTP Request

GET /api/v1/namespaces/{namespace}/persistentvolumeclaims

#### Parameters

- **namespace** (*in path*): string, required

  namespace

- **allowWatchBookmarks** (*in query*): boolean

  allowWatchBookmarks

- **continue** (*in query*): string

  continue

- **fieldSelector** (*in query*): string

  fieldSelector

- **labelSelector** (*in query*): string

  labelSelector

- **limit** (*in query*): integer

  limit

- **pretty** (*in query*): string

  pretty

- **resourceVersion** (*in query*): string

  resourceVersion

- **resourceVersionMatch** (*in query*): string

  resourceVersionMatch

- **sendInitialEvents** (*in query*): boolean

  sendInitialEvents

- **timeoutSeconds** (*in query*): integer

  timeoutSeconds

- **watch** (*in query*): boolean

  watch

#### Response

200 (PersistentVolumeClaimList): OK

401: Unauthorized

### `list` list or watch objects of kind PersistentVolumeClaim

#### HTTP Request

GET /api/v1/persistentvolumeclaims

#### Parameters

- **allowWatchBookmarks** (*in query*): boolean

  allowWatchBookmarks

- **continue** (*in query*): string

  continue

- **fieldSelector** (*in query*): string

  fieldSelector

- **labelSelector** (*in query*): string

  labelSelector

- **limit** (*in query*): integer

  limit

- **pretty** (*in query*): string

  pretty

- **resourceVersion** (*in query*): string

  resourceVersion

- **resourceVersionMatch** (*in query*): string

  resourceVersionMatch

- **sendInitialEvents** (*in query*): boolean

  sendInitialEvents

- **timeoutSeconds** (*in query*): integer

  timeoutSeconds

- **watch** (*in query*): boolean

  watch

#### Response

200 (PersistentVolumeClaimList): OK

401: Unauthorized

### `create` create a PersistentVolumeClaim

#### HTTP Request

POST /api/v1/namespaces/{namespace}/persistentvolumeclaims

#### Parameters

- **namespace** (*in path*): string, required

  namespace

- **body**: PersistentVolumeClaim, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (PersistentVolumeClaim): OK

201 (PersistentVolumeClaim): Created

202 (PersistentVolumeClaim): Accepted

401: Unauthorized

### `update` replace the specified PersistentVolumeClaim

#### HTTP Request

PUT /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the PersistentVolumeClaim

- **namespace** (*in path*): string, required

  namespace

- **body**: PersistentVolumeClaim, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (PersistentVolumeClaim): OK

201 (PersistentVolumeClaim): Created

401: Unauthorized

### `update` replace status of the specified PersistentVolumeClaim

#### HTTP Request

PUT /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the PersistentVolumeClaim

- **namespace** (*in path*): string, required

  namespace

- **body**: PersistentVolumeClaim, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (PersistentVolumeClaim): OK

201 (PersistentVolumeClaim): Created

401: Unauthorized

### `patch` partially update the specified PersistentVolumeClaim

#### HTTP Request

PATCH /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the PersistentVolumeClaim

- **namespace** (*in path*): string, required

  namespace

- **body**: Patch, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **force** (*in query*): boolean

  force

- **pretty** (*in query*): string

  pretty

#### Response

200 (PersistentVolumeClaim): OK

201 (PersistentVolumeClaim): Created

401: Unauthorized

### `patch` partially update status of the specified PersistentVolumeClaim

#### HTTP Request

PATCH /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the PersistentVolumeClaim

- **namespace** (*in path*): string, required

  namespace

- **body**: Patch, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **force** (*in query*): boolean

  force

- **pretty** (*in query*): string

  pretty

#### Response

200 (PersistentVolumeClaim): OK

201 (PersistentVolumeClaim): Created

401: Unauthorized

### `delete` delete a PersistentVolumeClaim

#### HTTP Request

DELETE /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the PersistentVolumeClaim

- **namespace** (*in path*): string, required

  namespace

- **body**: DeleteOptions

- **dryRun** (*in query*): string

  dryRun

- **gracePeriodSeconds** (*in query*): integer

  gracePeriodSeconds

- **pretty** (*in query*): string

  pretty

- **propagationPolicy** (*in query*): string

  propagationPolicy

#### Response

200 (PersistentVolumeClaim): OK

202 (PersistentVolumeClaim): Accepted

401: Unauthorized

### `deletecollection` delete collection of PersistentVolumeClaim

#### HTTP Request

DELETE /api/v1/namespaces/{namespace}/persistentvolumeclaims

#### Parameters

- **namespace** (*in path*): string, required

  namespace

- **body**: DeleteOptions

- **continue** (*in query*): string

  continue

- **dryRun** (*in query*): string

  dryRun

- **fieldSelector** (*in query*): string

  fieldSelector

- **gracePeriodSeconds** (*in query*): integer

  gracePeriodSeconds

- **labelSelector** (*in query*): string

  labelSelector

- **limit** (*in query*): integer

  limit

- **pretty** (*in query*): string

  pretty

- **propagationPolicy** (*in query*): string

  propagationPolicy

- **resourceVersion** (*in query*): string

  resourceVersion

- **resourceVersionMatch** (*in query*): string

  resourceVersionMatch

- **sendInitialEvents** (*in query*): boolean

  sendInitialEvents

- **timeoutSeconds** (*in query*): integer

  timeoutSeconds

#### Response

200 (Status): OK

401: Unauthorized

api metadata    apiVersion   v1    import   k8s io api core v1    kind   PersistentVolumeClaim  content type   api reference  description   PersistentVolumeClaim is a user s request for and claim to a persistent volume   title   PersistentVolumeClaim  weight  6 auto generated  true           The file is auto generated from the Go source code of the component using a generic  generator  https   github com kubernetes sigs reference docs    To learn how to generate the reference documentation  please read  Contributing to the reference documentation   docs contribute generate ref docs    To update the reference content  please follow the   Contributing upstream   docs contribute generate ref docs contribute upstream   guide  You can file document formatting bugs against the  reference docs  https   github com kubernetes sigs reference docs   project        apiVersion  v1    import  k8s io api core v1        PersistentVolumeClaim   PersistentVolumeClaim   PersistentVolumeClaim is a user s request for and claim to a persistent volume   hr       apiVersion    v1       kind    PersistentVolumeClaim       metadata     a href    ObjectMeta  a      Standard object s metadata  More info  https   git k8s io community contributors devel sig architecture api conventions md metadata      spec     a href    PersistentVolumeClaimSpec  a      spec defines the desired characteristics of a volume requested by a pod author  More info  https   kubernetes io docs concepts storage persistent volumes persistentvolumeclaims      status     a href    PersistentVolumeClaimStatus  a      status represents the current information status of a persistent volume claim  Read only  More info  https   kubernetes io docs concepts storage persistent volumes persistentvolumeclaims         PersistentVolumeClaimSpec   PersistentVolumeClaimSpec   PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider specific attributes   hr       accessModes      string      Atomic  will be replaced during a merge       accessModes contains the desired access modes the volume should have  More info  https   kubernetes io docs concepts storage persistent volumes access modes 1      selector     a href    LabelSelector  a      selector is a label query over volumes to consider for binding       resources    VolumeResourceRequirements     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     a name  VolumeResourceRequirements    a     VolumeResourceRequirements describes the storage resource requirements for a volume          resources limits    map string  a href    Quantity  a        Limits describes the maximum amount of compute resources allowed  More info  https   kubernetes io docs concepts configuration manage resources containers         resources requests    map string  a href    Quantity  a        Requests describes the minimum amount of compute resources required  If Requests is omitted for a container  it defaults to Limits if that is explicitly specified  otherwise to an implementation defined value  Requests cannot exceed Limits  More info  https   kubernetes io docs concepts configuration manage resources containers       volumeName    string     volumeName is the binding reference to the PersistentVolume backing this claim       storageClassName    string     storageClassName is the name of the StorageClass required by the claim  More info  https   kubernetes io docs concepts storage persistent volumes class 1      volumeMode    string     volumeMode defines what type of volume is required by the claim  Value of Filesystem is implied when not included in claim spec         Beta level       dataSource     a href    TypedLocalObjectReference  a      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       dataSourceRef    TypedObjectReference     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      a name  TypedObjectReference    a              dataSourceRef kind    string   required      Kind is the type of resource being referenced        dataSourceRef name    string   required      Name is the name of resource being referenced        dataSourceRef apiGroup    string       APIGroup is the group for the resource being referenced  If APIGroup is not specified  the specified Kind must be in the core API group  For any other third party types  APIGroup is required         dataSourceRef namespace    string       Namespace is the namespace of resource being referenced Note that when a namespace is specified  a gateway networking k8s io ReferenceGrant object is required in the referent namespace to allow that namespace s owner to accept the reference  See the ReferenceGrant documentation for details   Alpha  This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled       volumeAttributesClassName    string     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 value means that no VolumeAttributesClass will be applied to the claim but it s not allowed to reset this field to empty string once it is set  If unspecified and the PersistentVolumeClaim is unbound  the default VolumeAttributesClass will be set by the persistentvolume controller if it exists  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   Beta  Using this field requires the VolumeAttributesClass feature gate to be enabled  off by default         PersistentVolumeClaimStatus   PersistentVolumeClaimStatus   PersistentVolumeClaimStatus is the current status of a persistent volume claim    hr       accessModes      string      Atomic  will be replaced during a merge       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      allocatedResourceStatuses    map string string     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       allocatedResources    map string  a href    Quantity  a      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       capacity    map string  a href    Quantity  a      capacity represents the actual resources of the underlying volume       conditions      PersistentVolumeClaimCondition      Patch strategy  merge on key  type         Map  unique values on key type will be kept during a merge       conditions is the current Condition of persistent volume claim  If underlying persistent volume is being resized then the Condition will be set to  Resizing       a name  PersistentVolumeClaimCondition    a     PersistentVolumeClaimCondition contains details about state of pvc         conditions status    string   required         conditions type    string   required         conditions lastProbeTime    Time       lastProbeTime is the time we probed the condition        a name  Time    a       Time is a wrapper around time Time which supports correct marshaling to YAML and JSON   Wrappers are provided for many of the factory methods that the time package offers          conditions lastTransitionTime    Time       lastTransitionTime is the time the condition transitioned from one status to another        a name  Time    a       Time is a wrapper around time Time which supports correct marshaling to YAML and JSON   Wrappers are provided for many of the factory methods that the time package offers          conditions message    string       message is the human readable message indicating details about last transition         conditions reason    string       reason is a unique  this should be a short  machine understandable string that gives the reason for condition s last transition  If it reports  Resizing  that means the underlying persistent volume is being resized       currentVolumeAttributesClassName    string     currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using  When unset  there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is a beta field and requires enabling VolumeAttributesClass feature  off by default        modifyVolumeStatus    ModifyVolumeStatus     ModifyVolumeStatus represents the status object of ControllerModifyVolume operation  When this is unset  there is no ModifyVolume operation being attempted  This is a beta field and requires enabling VolumeAttributesClass feature  off by default       a name  ModifyVolumeStatus    a     ModifyVolumeStatus represents the status object of ControllerModifyVolume operation         modifyVolumeStatus status    string   required      status is the status of the ControllerModifyVolume operation  It can be in any of following states         Pending        Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements  such as        the specified VolumeAttributesClass not existing         InProgress        InProgress indicates that the volume is being modified         Infeasible       Infeasible indicates that the request has been rejected as invalid by the CSI driver  To        resolve the error  a valid VolumeAttributesClass needs to be specified      Note  New statuses can be added in the future  Consumers should check for unknown statuses and fail appropriately         modifyVolumeStatus targetVolumeAttributesClassName    string       targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled      phase    string     phase represents the current phase of PersistentVolumeClaim          PersistentVolumeClaimList   PersistentVolumeClaimList   PersistentVolumeClaimList is a list of PersistentVolumeClaim items    hr       apiVersion    v1       kind    PersistentVolumeClaimList       metadata     a href    ListMeta  a      Standard list metadata  More info  https   git k8s io community contributors devel sig architecture api conventions md types kinds      items       a href    PersistentVolumeClaim  a    required    items is a list of persistent volume claims  More info  https   kubernetes io docs concepts storage persistent volumes persistentvolumeclaims         Operations   Operations      hr             get  read the specified PersistentVolumeClaim       HTTP Request  GET  api v1 namespaces  namespace  persistentvolumeclaims  name        Parameters       name     in path    string  required    name of the PersistentVolumeClaim       namespace     in path    string  required     a href    namespace  a        pretty     in query    string     a href    pretty  a          Response   200   a href    PersistentVolumeClaim  a    OK  401  Unauthorized        get  read status of the specified PersistentVolumeClaim       HTTP Request  GET  api v1 namespaces  namespace  persistentvolumeclaims  name  status       Parameters       name     in path    string  required    name of the PersistentVolumeClaim       namespace     in path    string  required     a href    namespace  a        pretty     in query    string     a href    pretty  a          Response   200   a href    PersistentVolumeClaim  a    OK  401  Unauthorized        list  list or watch objects of kind PersistentVolumeClaim       HTTP Request  GET  api v1 namespaces  namespace  persistentvolumeclaims       Parameters       namespace     in path    string  required     a href    namespace  a        allowWatchBookmarks     in query    boolean     a href    allowWatchBookmarks  a        continue     in query    string     a href    continue  a        fieldSelector     in query    string     a href    fieldSelector  a        labelSelector     in query    string     a href    labelSelector  a        limit     in query    integer     a href    limit  a        pretty     in query    string     a href    pretty  a        resourceVersion     in query    string     a href    resourceVersion  a        resourceVersionMatch     in query    string     a href    resourceVersionMatch  a        sendInitialEvents     in query    boolean     a href    sendInitialEvents  a        timeoutSeconds     in query    integer     a href    timeoutSeconds  a        watch     in query    boolean     a href    watch  a          Response   200   a href    PersistentVolumeClaimList  a    OK  401  Unauthorized        list  list or watch objects of kind PersistentVolumeClaim       HTTP Request  GET  api v1 persistentvolumeclaims       Parameters       allowWatchBookmarks     in query    boolean     a href    allowWatchBookmarks  a        continue     in query    string     a href    continue  a        fieldSelector     in query    string     a href    fieldSelector  a        labelSelector     in query    string     a href    labelSelector  a        limit     in query    integer     a href    limit  a        pretty     in query    string     a href    pretty  a        resourceVersion     in query    string     a href    resourceVersion  a        resourceVersionMatch     in query    string     a href    resourceVersionMatch  a        sendInitialEvents     in query    boolean     a href    sendInitialEvents  a        timeoutSeconds     in query    integer     a href    timeoutSeconds  a        watch     in query    boolean     a href    watch  a          Response   200   a href    PersistentVolumeClaimList  a    OK  401  Unauthorized        create  create a PersistentVolumeClaim       HTTP Request  POST  api v1 namespaces  namespace  persistentvolumeclaims       Parameters       namespace     in path    string  required     a href    namespace  a        body     a href    PersistentVolumeClaim  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    PersistentVolumeClaim  a    OK  201   a href    PersistentVolumeClaim  a    Created  202   a href    PersistentVolumeClaim  a    Accepted  401  Unauthorized        update  replace the specified PersistentVolumeClaim       HTTP Request  PUT  api v1 namespaces  namespace  persistentvolumeclaims  name        Parameters       name     in path    string  required    name of the PersistentVolumeClaim       namespace     in path    string  required     a href    namespace  a        body     a href    PersistentVolumeClaim  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    PersistentVolumeClaim  a    OK  201   a href    PersistentVolumeClaim  a    Created  401  Unauthorized        update  replace status of the specified PersistentVolumeClaim       HTTP Request  PUT  api v1 namespaces  namespace  persistentvolumeclaims  name  status       Parameters       name     in path    string  required    name of the PersistentVolumeClaim       namespace     in path    string  required     a href    namespace  a        body     a href    PersistentVolumeClaim  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    PersistentVolumeClaim  a    OK  201   a href    PersistentVolumeClaim  a    Created  401  Unauthorized        patch  partially update the specified PersistentVolumeClaim       HTTP Request  PATCH  api v1 namespaces  namespace  persistentvolumeclaims  name        Parameters       name     in path    string  required    name of the PersistentVolumeClaim       namespace     in path    string  required     a href    namespace  a        body     a href    Patch  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        force     in query    boolean     a href    force  a        pretty     in query    string     a href    pretty  a          Response   200   a href    PersistentVolumeClaim  a    OK  201   a href    PersistentVolumeClaim  a    Created  401  Unauthorized        patch  partially update status of the specified PersistentVolumeClaim       HTTP Request  PATCH  api v1 namespaces  namespace  persistentvolumeclaims  name  status       Parameters       name     in path    string  required    name of the PersistentVolumeClaim       namespace     in path    string  required     a href    namespace  a        body     a href    Patch  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        force     in query    boolean     a href    force  a        pretty     in query    string     a href    pretty  a          Response   200   a href    PersistentVolumeClaim  a    OK  201   a href    PersistentVolumeClaim  a    Created  401  Unauthorized        delete  delete a PersistentVolumeClaim       HTTP Request  DELETE  api v1 namespaces  namespace  persistentvolumeclaims  name        Parameters       name     in path    string  required    name of the PersistentVolumeClaim       namespace     in path    string  required     a href    namespace  a        body     a href    DeleteOptions  a            dryRun     in query    string     a href    dryRun  a        gracePeriodSeconds     in query    integer     a href    gracePeriodSeconds  a        pretty     in query    string     a href    pretty  a        propagationPolicy     in query    string     a href    propagationPolicy  a          Response   200   a href    PersistentVolumeClaim  a    OK  202   a href    PersistentVolumeClaim  a    Accepted  401  Unauthorized        deletecollection  delete collection of PersistentVolumeClaim       HTTP Request  DELETE  api v1 namespaces  namespace  persistentvolumeclaims       Parameters       namespace     in path    string  required     a href    namespace  a        body     a href    DeleteOptions  a            continue     in query    string     a href    continue  a        dryRun     in query    string     a href    dryRun  a        fieldSelector     in query    string     a href    fieldSelector  a        gracePeriodSeconds     in query    integer     a href    gracePeriodSeconds  a        labelSelector     in query    string     a href    labelSelector  a        limit     in query    integer     a href    limit  a        pretty     in query    string     a href    pretty  a        propagationPolicy     in query    string     a href    propagationPolicy  a        resourceVersion     in query    string     a href    resourceVersion  a        resourceVersionMatch     in query    string     a href    resourceVersionMatch  a        sendInitialEvents     in query    boolean     a href    sendInitialEvents  a        timeoutSeconds     in query    integer     a href    timeoutSeconds  a          Response   200   a href    Status  a    OK  401  Unauthorized


kubernetes reference kind VolumeAttachment title VolumeAttachment autogenerated true weight 11 contenttype apireference apimetadata apiVersion storage k8s io v1 VolumeAttachment captures the intent to attach or detach the specified volume to from the specified node import k8s io api storage v1

Answer:
---
api_metadata:
  apiVersion: "storage.k8s.io/v1"
  import: "k8s.io/api/storage/v1"
  kind: "VolumeAttachment"
content_type: "api_reference"
description: "VolumeAttachment captures the intent to attach or detach the specified volume to/from the specified node."
title: "VolumeAttachment"
weight: 11
auto_generated: true
---

`apiVersion: storage.k8s.io/v1`

`import "k8s.io/api/storage/v1"`

## VolumeAttachment {#VolumeAttachment}

VolumeAttachment captures the intent to attach or detach the specified volume to/from the specified node.

VolumeAttachment objects are non-namespaced.

- **apiVersion**: storage.k8s.io/v1

- **kind**: VolumeAttachment

- **metadata** (ObjectMeta)

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

- **spec** (VolumeAttachmentSpec), required

  spec represents specification of the desired attach/detach volume behavior. Populated by the Kubernetes system.

- **status** (VolumeAttachmentStatus)

  status represents status of the VolumeAttachment request. Populated by the entity completing the attach or detach operation, i.e. the external-attacher.

## VolumeAttachmentSpec {#VolumeAttachmentSpec}

VolumeAttachmentSpec is the specification of a VolumeAttachment request.

- **attacher** (string), required

  attacher indicates the name of the volume driver that MUST handle this request. This is the name returned by GetPluginName().

- **nodeName** (string), required

  nodeName represents the node that the volume should be attached to.

- **source** (VolumeAttachmentSource), required

  source represents the volume that should be attached.

  *VolumeAttachmentSource represents a volume that should be attached. Right now only PersistenVolumes can be attached via external attacher, in future we may allow also inline volumes in pods. Exactly one member can be set.*

  - **source.inlineVolumeSpec** (PersistentVolumeSpec)

    inlineVolumeSpec contains all the information necessary to attach a persistent volume defined by a pod's inline VolumeSource. This field is populated only for the CSIMigration feature. It contains translated fields from a pod's inline VolumeSource to a PersistentVolumeSpec. This field is beta-level and is only honored by servers that enabled the CSIMigration feature.

  - **source.persistentVolumeName** (string)

    persistentVolumeName represents the name of the persistent volume to attach.

## VolumeAttachmentStatus {#VolumeAttachmentStatus}

VolumeAttachmentStatus is the status of a VolumeAttachment request.

- **attached** (boolean), required

  attached indicates the volume is successfully attached. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.

- **attachError** (VolumeError)

  attachError represents the last error encountered during attach operation, if any. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.

  *VolumeError captures an error encountered during a volume operation.*

  - **attachError.message** (string)

    message represents the error encountered during Attach or Detach operation. This string may be logged, so it should not contain sensitive information.

  - **attachError.time** (Time)

    time represents the time the error was encountered.

    *Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.*

- **attachmentMetadata** (map[string]string)

  attachmentMetadata is populated with any information returned by the attach operation, upon successful attach, that must be passed into subsequent WaitForAttach or Mount calls. This field must only be set by the entity completing the attach operation, i.e. the external-attacher.

- **detachError** (VolumeError)

  detachError represents the last error encountered during detach operation, if any. This field must only be set by the entity completing the detach operation, i.e. the external-attacher.

  *VolumeError captures an error encountered during a volume operation.*

  - **detachError.message** (string)

    message represents the error encountered during Attach or Detach operation. This string may be logged, so it should not contain sensitive information.

  - **detachError.time** (Time)

    time represents the time the error was encountered.

    *Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.*

## VolumeAttachmentList {#VolumeAttachmentList}

VolumeAttachmentList is a collection of VolumeAttachment objects.

- **apiVersion**: storage.k8s.io/v1

- **kind**: VolumeAttachmentList

- **metadata** (ListMeta)

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

- **items** ([]VolumeAttachment), required

  items is the list of VolumeAttachments

## Operations {#Operations}

### `get` read the specified VolumeAttachment

#### HTTP Request

GET /apis/storage.k8s.io/v1/volumeattachments/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the VolumeAttachment

- **pretty** (*in query*): string

  pretty

#### Response

200 (VolumeAttachment): OK

401: Unauthorized

### `get` read status of the specified VolumeAttachment

#### HTTP Request

GET /apis/storage.k8s.io/v1/volumeattachments/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the VolumeAttachment

- **pretty** (*in query*): string

  pretty

#### Response

200 (VolumeAttachment): OK

401: Unauthorized

### `list` list or watch objects of kind VolumeAttachment

#### HTTP Request

GET /apis/storage.k8s.io/v1/volumeattachments

#### Parameters

- **allowWatchBookmarks** (*in query*): boolean

  allowWatchBookmarks

- **continue** (*in query*): string

  continue

- **fieldSelector** (*in query*): string

  fieldSelector

- **labelSelector** (*in query*): string

  labelSelector

- **limit** (*in query*): integer

  limit

- **pretty** (*in query*): string

  pretty

- **resourceVersion** (*in query*): string

  resourceVersion

- **resourceVersionMatch** (*in query*): string

  resourceVersionMatch

- **sendInitialEvents** (*in query*): boolean

  sendInitialEvents

- **timeoutSeconds** (*in query*): integer

  timeoutSeconds

- **watch** (*in query*): boolean

  watch

#### Response

200 (VolumeAttachmentList): OK

401: Unauthorized

### `create` create a VolumeAttachment

#### HTTP Request

POST /apis/storage.k8s.io/v1/volumeattachments

#### Parameters

- **body**: VolumeAttachment, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (VolumeAttachment): OK

201 (VolumeAttachment): Created

202 (VolumeAttachment): Accepted

401: Unauthorized

### `update` replace the specified VolumeAttachment

#### HTTP Request

PUT /apis/storage.k8s.io/v1/volumeattachments/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the VolumeAttachment

- **body**: VolumeAttachment, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (VolumeAttachment): OK

201 (VolumeAttachment): Created

401: Unauthorized

### `update` replace status of the specified VolumeAttachment

#### HTTP Request

PUT /apis/storage.k8s.io/v1/volumeattachments/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the VolumeAttachment

- **body**: VolumeAttachment, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (VolumeAttachment): OK

201 (VolumeAttachment): Created

401: Unauthorized

### `patch` partially update the specified VolumeAttachment

#### HTTP Request

PATCH /apis/storage.k8s.io/v1/volumeattachments/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the VolumeAttachment

- **body**: Patch, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **force** (*in query*): boolean

  force

- **pretty** (*in query*): string

  pretty

#### Response

200 (VolumeAttachment): OK

201 (VolumeAttachment): Created

401: Unauthorized

### `patch` partially update status of the specified VolumeAttachment

#### HTTP Request

PATCH /apis/storage.k8s.io/v1/volumeattachments/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the VolumeAttachment

- **body**: Patch, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **force** (*in query*): boolean

  force

- **pretty** (*in query*): string

  pretty

#### Response

200 (VolumeAttachment): OK

201 (VolumeAttachment): Created

401: Unauthorized

### `delete` delete a VolumeAttachment

#### HTTP Request

DELETE /apis/storage.k8s.io/v1/volumeattachments/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the VolumeAttachment

- **body**: DeleteOptions

- **dryRun** (*in query*): string

  dryRun

- **gracePeriodSeconds** (*in query*): integer

  gracePeriodSeconds

- **pretty** (*in query*): string

  pretty

- **propagationPolicy** (*in query*): string

  propagationPolicy

#### Response

200 (VolumeAttachment): OK

202 (VolumeAttachment): Accepted

401: Unauthorized

### `deletecollection` delete collection of VolumeAttachment

#### HTTP Request

DELETE /apis/storage.k8s.io/v1/volumeattachments

#### Parameters

- **body**: DeleteOptions

- **continue** (*in query*): string

  continue

- **dryRun** (*in query*): string

  dryRun

- **fieldSelector** (*in query*): string

  fieldSelector

- **gracePeriodSeconds** (*in query*): integer

  gracePeriodSeconds

- **labelSelector** (*in query*): string

  labelSelector

- **limit** (*in query*): integer

  limit

- **pretty** (*in query*): string

  pretty

- **propagationPolicy** (*in query*): string

  propagationPolicy

- **resourceVersion** (*in query*): string

  resourceVersion

- **resourceVersionMatch** (*in query*): string

  resourceVersionMatch

- **sendInitialEvents** (*in query*): boolean

  sendInitialEvents

- **timeoutSeconds** (*in query*): integer

  timeoutSeconds

#### Response

200 (Status): OK

401: Unauthorized

api metadata    apiVersion   storage k8s io v1    import   k8s io api storage v1    kind   VolumeAttachment  content type   api reference  description   VolumeAttachment captures the intent to attach or detach the specified volume to from the specified node   title   VolumeAttachment  weight  11 auto generated  true           The file is auto generated from the Go source code of the component using a generic  generator  https   github com kubernetes sigs reference docs    To learn how to generate the reference documentation  please read  Contributing to the reference documentation   docs contribute generate ref docs    To update the reference content  please follow the   Contributing upstream   docs contribute generate ref docs contribute upstream   guide  You can file document formatting bugs against the  reference docs  https   github com kubernetes sigs reference docs   project        apiVersion  storage k8s io v1    import  k8s io api storage v1        VolumeAttachment   VolumeAttachment   VolumeAttachment captures the intent to attach or detach the specified volume to from the specified node   VolumeAttachment objects are non namespaced    hr       apiVersion    storage k8s io v1       kind    VolumeAttachment       metadata     a href    ObjectMeta  a      Standard object metadata  More info  https   git k8s io community contributors devel sig architecture api conventions md metadata      spec     a href    VolumeAttachmentSpec  a    required    spec represents specification of the desired attach detach volume behavior  Populated by the Kubernetes system       status     a href    VolumeAttachmentStatus  a      status represents status of the VolumeAttachment request  Populated by the entity completing the attach or detach operation  i e  the external attacher          VolumeAttachmentSpec   VolumeAttachmentSpec   VolumeAttachmentSpec is the specification of a VolumeAttachment request    hr       attacher    string   required    attacher indicates the name of the volume driver that MUST handle this request  This is the name returned by GetPluginName         nodeName    string   required    nodeName represents the node that the volume should be attached to       source    VolumeAttachmentSource   required    source represents the volume that should be attached      a name  VolumeAttachmentSource    a     VolumeAttachmentSource represents a volume that should be attached  Right now only PersistenVolumes can be attached via external attacher  in future we may allow also inline volumes in pods  Exactly one member can be set          source inlineVolumeSpec     a href    PersistentVolumeSpec  a        inlineVolumeSpec contains all the information necessary to attach a persistent volume defined by a pod s inline VolumeSource  This field is populated only for the CSIMigration feature  It contains translated fields from a pod s inline VolumeSource to a PersistentVolumeSpec  This field is beta level and is only honored by servers that enabled the CSIMigration feature         source persistentVolumeName    string       persistentVolumeName represents the name of the persistent volume to attach          VolumeAttachmentStatus   VolumeAttachmentStatus   VolumeAttachmentStatus is the status of a VolumeAttachment request    hr       attached    boolean   required    attached indicates the volume is successfully attached  This field must only be set by the entity completing the attach operation  i e  the external attacher       attachError    VolumeError     attachError represents the last error encountered during attach operation  if any  This field must only be set by the entity completing the attach operation  i e  the external attacher      a name  VolumeError    a     VolumeError captures an error encountered during a volume operation          attachError message    string       message represents the error encountered during Attach or Detach operation  This string may be logged  so it should not contain sensitive information         attachError time    Time       time represents the time the error was encountered        a name  Time    a       Time is a wrapper around time Time which supports correct marshaling to YAML and JSON   Wrappers are provided for many of the factory methods that the time package offers        attachmentMetadata    map string string     attachmentMetadata is populated with any information returned by the attach operation  upon successful attach  that must be passed into subsequent WaitForAttach or Mount calls  This field must only be set by the entity completing the attach operation  i e  the external attacher       detachError    VolumeError     detachError represents the last error encountered during detach operation  if any  This field must only be set by the entity completing the detach operation  i e  the external attacher      a name  VolumeError    a     VolumeError captures an error encountered during a volume operation          detachError message    string       message represents the error encountered during Attach or Detach operation  This string may be logged  so it should not contain sensitive information         detachError time    Time       time represents the time the error was encountered        a name  Time    a       Time is a wrapper around time Time which supports correct marshaling to YAML and JSON   Wrappers are provided for many of the factory methods that the time package offers           VolumeAttachmentList   VolumeAttachmentList   VolumeAttachmentList is a collection of VolumeAttachment objects    hr       apiVersion    storage k8s io v1       kind    VolumeAttachmentList       metadata     a href    ListMeta  a      Standard list metadata More info  https   git k8s io community contributors devel sig architecture api conventions md metadata      items       a href    VolumeAttachment  a    required    items is the list of VolumeAttachments         Operations   Operations      hr             get  read the specified VolumeAttachment       HTTP Request  GET  apis storage k8s io v1 volumeattachments  name        Parameters       name     in path    string  required    name of the VolumeAttachment       pretty     in query    string     a href    pretty  a          Response   200   a href    VolumeAttachment  a    OK  401  Unauthorized        get  read status of the specified VolumeAttachment       HTTP Request  GET  apis storage k8s io v1 volumeattachments  name  status       Parameters       name     in path    string  required    name of the VolumeAttachment       pretty     in query    string     a href    pretty  a          Response   200   a href    VolumeAttachment  a    OK  401  Unauthorized        list  list or watch objects of kind VolumeAttachment       HTTP Request  GET  apis storage k8s io v1 volumeattachments       Parameters       allowWatchBookmarks     in query    boolean     a href    allowWatchBookmarks  a        continue     in query    string     a href    continue  a        fieldSelector     in query    string     a href    fieldSelector  a        labelSelector     in query    string     a href    labelSelector  a        limit     in query    integer     a href    limit  a        pretty     in query    string     a href    pretty  a        resourceVersion     in query    string     a href    resourceVersion  a        resourceVersionMatch     in query    string     a href    resourceVersionMatch  a        sendInitialEvents     in query    boolean     a href    sendInitialEvents  a        timeoutSeconds     in query    integer     a href    timeoutSeconds  a        watch     in query    boolean     a href    watch  a          Response   200   a href    VolumeAttachmentList  a    OK  401  Unauthorized        create  create a VolumeAttachment       HTTP Request  POST  apis storage k8s io v1 volumeattachments       Parameters       body     a href    VolumeAttachment  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    VolumeAttachment  a    OK  201   a href    VolumeAttachment  a    Created  202   a href    VolumeAttachment  a    Accepted  401  Unauthorized        update  replace the specified VolumeAttachment       HTTP Request  PUT  apis storage k8s io v1 volumeattachments  name        Parameters       name     in path    string  required    name of the VolumeAttachment       body     a href    VolumeAttachment  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    VolumeAttachment  a    OK  201   a href    VolumeAttachment  a    Created  401  Unauthorized        update  replace status of the specified VolumeAttachment       HTTP Request  PUT  apis storage k8s io v1 volumeattachments  name  status       Parameters       name     in path    string  required    name of the VolumeAttachment       body     a href    VolumeAttachment  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    VolumeAttachment  a    OK  201   a href    VolumeAttachment  a    Created  401  Unauthorized        patch  partially update the specified VolumeAttachment       HTTP Request  PATCH  apis storage k8s io v1 volumeattachments  name        Parameters       name     in path    string  required    name of the VolumeAttachment       body     a href    Patch  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        force     in query    boolean     a href    force  a        pretty     in query    string     a href    pretty  a          Response   200   a href    VolumeAttachment  a    OK  201   a href    VolumeAttachment  a    Created  401  Unauthorized        patch  partially update status of the specified VolumeAttachment       HTTP Request  PATCH  apis storage k8s io v1 volumeattachments  name  status       Parameters       name     in path    string  required    name of the VolumeAttachment       body     a href    Patch  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        force     in query    boolean     a href    force  a        pretty     in query    string     a href    pretty  a          Response   200   a href    VolumeAttachment  a    OK  201   a href    VolumeAttachment  a    Created  401  Unauthorized        delete  delete a VolumeAttachment       HTTP Request  DELETE  apis storage k8s io v1 volumeattachments  name        Parameters       name     in path    string  required    name of the VolumeAttachment       body     a href    DeleteOptions  a            dryRun     in query    string     a href    dryRun  a        gracePeriodSeconds     in query    integer     a href    gracePeriodSeconds  a        pretty     in query    string     a href    pretty  a        propagationPolicy     in query    string     a href    propagationPolicy  a          Response   200   a href    VolumeAttachment  a    OK  202   a href    VolumeAttachment  a    Accepted  401  Unauthorized        deletecollection  delete collection of VolumeAttachment       HTTP Request  DELETE  apis storage k8s io v1 volumeattachments       Parameters       body     a href    DeleteOptions  a            continue     in query    string     a href    continue  a        dryRun     in query    string     a href    dryRun  a        fieldSelector     in query    string     a href    fieldSelector  a        gracePeriodSeconds     in query    integer     a href    gracePeriodSeconds  a        labelSelector     in query    string     a href    labelSelector  a        limit     in query    integer     a href    limit  a        pretty     in query    string     a href    pretty  a        propagationPolicy     in query    string     a href    propagationPolicy  a        resourceVersion     in query    string     a href    resourceVersion  a        resourceVersionMatch     in query    string     a href    resourceVersionMatch  a        sendInitialEvents     in query    boolean     a href    sendInitialEvents  a        timeoutSeconds     in query    integer     a href    timeoutSeconds  a          Response   200   a href    Status  a    OK  401  Unauthorized


kubernetes reference autogenerated true apiVersion storagemigration k8s io v1alpha1 StorageVersionMigration represents a migration of stored data to the latest storage version contenttype apireference title StorageVersionMigration v1alpha1 import k8s io api storagemigration v1alpha1 apimetadata kind StorageVersionMigration weight 9

Answer:
---
api_metadata:
  apiVersion: "storagemigration.k8s.io/v1alpha1"
  import: "k8s.io/api/storagemigration/v1alpha1"
  kind: "StorageVersionMigration"
content_type: "api_reference"
description: "StorageVersionMigration represents a migration of stored data to the latest storage version."
title: "StorageVersionMigration v1alpha1"
weight: 9
auto_generated: true
---

`apiVersion: storagemigration.k8s.io/v1alpha1`

`import "k8s.io/api/storagemigration/v1alpha1"`

## StorageVersionMigration {#StorageVersionMigration}

StorageVersionMigration represents a migration of stored data to the latest storage version.

- **apiVersion**: storagemigration.k8s.io/v1alpha1

- **kind**: StorageVersionMigration

- **metadata** (ObjectMeta)

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

- **spec** (StorageVersionMigrationSpec)

  Specification of the migration.

- **status** (StorageVersionMigrationStatus)

  Status of the migration.

## StorageVersionMigrationSpec {#StorageVersionMigrationSpec}

Spec of the storage version migration.

- **continueToken** (string)

  The token used in the list options to get the next chunk of objects to migrate. When the .status.conditions indicates the migration is "Running", users can use this token to check the progress of the migration.

- **resource** (GroupVersionResource), required

  The resource that is being migrated. The migrator sends requests to the endpoint serving the resource. Immutable.

  *The names of the group, the version, and the resource.*

  - **resource.group** (string)

    The name of the group.

  - **resource.resource** (string)

    The name of the resource.

  - **resource.version** (string)

    The name of the version.

## StorageVersionMigrationStatus {#StorageVersionMigrationStatus}

Status of the storage version migration.

- **conditions** ([]MigrationCondition)

  *Patch strategy: merge on key `type`*

  *Map: unique values on key type will be kept during a merge*

  The latest available observations of the migration's current state.

  *Describes the state of a migration at a certain point.*

  - **conditions.status** (string), required

    Status of the condition, one of True, False, Unknown.

  - **conditions.type** (string), required

    Type of the condition.

  - **conditions.lastUpdateTime** (Time)

    The last time this condition was updated.

    *Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.*

  - **conditions.message** (string)

    A human readable message indicating details about the transition.

  - **conditions.reason** (string)

    The reason for the condition's last transition.

- **resourceVersion** (string)

  ResourceVersion to compare with the GC cache for performing the migration. This is the current resource version of given group, version and resource when kube-controller-manager first observes this StorageVersionMigration resource.

## StorageVersionMigrationList {#StorageVersionMigrationList}

StorageVersionMigrationList is a collection of storage version migrations.

- **apiVersion**: storagemigration.k8s.io/v1alpha1

- **kind**: StorageVersionMigrationList

- **metadata** (ListMeta)

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

- **items** ([]StorageVersionMigration), required

  *Patch strategy: merge on key `type`*

  *Map: unique values on key type will be kept during a merge*

  Items is the list of StorageVersionMigration

## Operations {#Operations}

### `get` read the specified StorageVersionMigration

#### HTTP Request

GET /apis/storagemigration.k8s.io/v1alpha1/storageversionmigrations/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the StorageVersionMigration

- **pretty** (*in query*): string

  pretty

#### Response

200 (StorageVersionMigration): OK

401: Unauthorized

### `get` read status of the specified StorageVersionMigration

#### HTTP Request

GET /apis/storagemigration.k8s.io/v1alpha1/storageversionmigrations/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the StorageVersionMigration

- **pretty** (*in query*): string

  pretty

#### Response

200 (StorageVersionMigration): OK

401: Unauthorized

### `list` list or watch objects of kind StorageVersionMigration

#### HTTP Request

GET /apis/storagemigration.k8s.io/v1alpha1/storageversionmigrations

#### Parameters

- **allowWatchBookmarks** (*in query*): boolean

  allowWatchBookmarks

- **continue** (*in query*): string

  continue

- **fieldSelector** (*in query*): string

  fieldSelector

- **labelSelector** (*in query*): string

  labelSelector

- **limit** (*in query*): integer

  limit

- **pretty** (*in query*): string

  pretty

- **resourceVersion** (*in query*): string

  resourceVersion

- **resourceVersionMatch** (*in query*): string

  resourceVersionMatch

- **sendInitialEvents** (*in query*): boolean

  sendInitialEvents

- **timeoutSeconds** (*in query*): integer

  timeoutSeconds

- **watch** (*in query*): boolean

  watch

#### Response

200 (StorageVersionMigrationList): OK

401: Unauthorized

### `create` create a StorageVersionMigration

#### HTTP Request

POST /apis/storagemigration.k8s.io/v1alpha1/storageversionmigrations

#### Parameters

- **body**: StorageVersionMigration, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (StorageVersionMigration): OK

201 (StorageVersionMigration): Created

202 (StorageVersionMigration): Accepted

401: Unauthorized

### `update` replace the specified StorageVersionMigration

#### HTTP Request

PUT /apis/storagemigration.k8s.io/v1alpha1/storageversionmigrations/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the StorageVersionMigration

- **body**: StorageVersionMigration, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (StorageVersionMigration): OK

201 (StorageVersionMigration): Created

401: Unauthorized

### `update` replace status of the specified StorageVersionMigration

#### HTTP Request

PUT /apis/storagemigration.k8s.io/v1alpha1/storageversionmigrations/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the StorageVersionMigration

- **body**: StorageVersionMigration, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **pretty** (*in query*): string

  pretty

#### Response

200 (StorageVersionMigration): OK

201 (StorageVersionMigration): Created

401: Unauthorized

### `patch` partially update the specified StorageVersionMigration

#### HTTP Request

PATCH /apis/storagemigration.k8s.io/v1alpha1/storageversionmigrations/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the StorageVersionMigration

- **body**: Patch, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **force** (*in query*): boolean

  force

- **pretty** (*in query*): string

  pretty

#### Response

200 (StorageVersionMigration): OK

201 (StorageVersionMigration): Created

401: Unauthorized

### `patch` partially update status of the specified StorageVersionMigration

#### HTTP Request

PATCH /apis/storagemigration.k8s.io/v1alpha1/storageversionmigrations/{name}/status

#### Parameters

- **name** (*in path*): string, required

  name of the StorageVersionMigration

- **body**: Patch, required

- **dryRun** (*in query*): string

  dryRun

- **fieldManager** (*in query*): string

  fieldManager

- **fieldValidation** (*in query*): string

  fieldValidation

- **force** (*in query*): boolean

  force

- **pretty** (*in query*): string

  pretty

#### Response

200 (StorageVersionMigration): OK

201 (StorageVersionMigration): Created

401: Unauthorized

### `delete` delete a StorageVersionMigration

#### HTTP Request

DELETE /apis/storagemigration.k8s.io/v1alpha1/storageversionmigrations/{name}

#### Parameters

- **name** (*in path*): string, required

  name of the StorageVersionMigration

- **body**: DeleteOptions

- **dryRun** (*in query*): string

  dryRun

- **gracePeriodSeconds** (*in query*): integer

  gracePeriodSeconds

- **pretty** (*in query*): string

  pretty

- **propagationPolicy** (*in query*): string

  propagationPolicy

#### Response

200 (Status): OK

202 (Status): Accepted

401: Unauthorized

### `deletecollection` delete collection of StorageVersionMigration

#### HTTP Request

DELETE /apis/storagemigration.k8s.io/v1alpha1/storageversionmigrations

#### Parameters

- **body**: DeleteOptions

- **continue** (*in query*): string

  continue

- **dryRun** (*in query*): string

  dryRun

- **fieldSelector** (*in query*): string

  fieldSelector

- **gracePeriodSeconds** (*in query*): integer

  gracePeriodSeconds

- **labelSelector** (*in query*): string

  labelSelector

- **limit** (*in query*): integer

  limit

- **pretty** (*in query*): string

  pretty

- **propagationPolicy** (*in query*): string

  propagationPolicy

- **resourceVersion** (*in query*): string

  resourceVersion

- **resourceVersionMatch** (*in query*): string

  resourceVersionMatch

- **sendInitialEvents** (*in query*): boolean

  sendInitialEvents

- **timeoutSeconds** (*in query*): integer

  timeoutSeconds

#### Response

200 (Status): OK

401: Unauthorized

api metadata    apiVersion   storagemigration k8s io v1alpha1    import   k8s io api storagemigration v1alpha1    kind   StorageVersionMigration  content type   api reference  description   StorageVersionMigration represents a migration of stored data to the latest storage version   title   StorageVersionMigration v1alpha1  weight  9 auto generated  true           The file is auto generated from the Go source code of the component using a generic  generator  https   github com kubernetes sigs reference docs    To learn how to generate the reference documentation  please read  Contributing to the reference documentation   docs contribute generate ref docs    To update the reference content  please follow the   Contributing upstream   docs contribute generate ref docs contribute upstream   guide  You can file document formatting bugs against the  reference docs  https   github com kubernetes sigs reference docs   project        apiVersion  storagemigration k8s io v1alpha1    import  k8s io api storagemigration v1alpha1        StorageVersionMigration   StorageVersionMigration   StorageVersionMigration represents a migration of stored data to the latest storage version    hr       apiVersion    storagemigration k8s io v1alpha1       kind    StorageVersionMigration       metadata     a href    ObjectMeta  a      Standard object metadata  More info  https   git k8s io community contributors devel sig architecture api conventions md metadata      spec     a href    StorageVersionMigrationSpec  a      Specification of the migration       status     a href    StorageVersionMigrationStatus  a      Status of the migration          StorageVersionMigrationSpec   StorageVersionMigrationSpec   Spec of the storage version migration    hr       continueToken    string     The token used in the list options to get the next chunk of objects to migrate  When the  status conditions indicates the migration is  Running   users can use this token to check the progress of the migration       resource    GroupVersionResource   required    The resource that is being migrated  The migrator sends requests to the endpoint serving the resource  Immutable      a name  GroupVersionResource    a     The names of the group  the version  and the resource          resource group    string       The name of the group         resource resource    string       The name of the resource         resource version    string       The name of the version          StorageVersionMigrationStatus   StorageVersionMigrationStatus   Status of the storage version migration    hr       conditions      MigrationCondition      Patch strategy  merge on key  type         Map  unique values on key type will be kept during a merge       The latest available observations of the migration s current state      a name  MigrationCondition    a     Describes the state of a migration at a certain point          conditions status    string   required      Status of the condition  one of True  False  Unknown         conditions type    string   required      Type of the condition         conditions lastUpdateTime    Time       The last time this condition was updated        a name  Time    a       Time is a wrapper around time Time which supports correct marshaling to YAML and JSON   Wrappers are provided for many of the factory methods that the time package offers          conditions message    string       A human readable message indicating details about the transition         conditions reason    string       The reason for the condition s last transition       resourceVersion    string     ResourceVersion to compare with the GC cache for performing the migration  This is the current resource version of given group  version and resource when kube controller manager first observes this StorageVersionMigration resource          StorageVersionMigrationList   StorageVersionMigrationList   StorageVersionMigrationList is a collection of storage version migrations    hr       apiVersion    storagemigration k8s io v1alpha1       kind    StorageVersionMigrationList       metadata     a href    ListMeta  a      Standard list metadata More info  https   git k8s io community contributors devel sig architecture api conventions md metadata      items       a href    StorageVersionMigration  a    required     Patch strategy  merge on key  type         Map  unique values on key type will be kept during a merge       Items is the list of StorageVersionMigration         Operations   Operations      hr             get  read the specified StorageVersionMigration       HTTP Request  GET  apis storagemigration k8s io v1alpha1 storageversionmigrations  name        Parameters       name     in path    string  required    name of the StorageVersionMigration       pretty     in query    string     a href    pretty  a          Response   200   a href    StorageVersionMigration  a    OK  401  Unauthorized        get  read status of the specified StorageVersionMigration       HTTP Request  GET  apis storagemigration k8s io v1alpha1 storageversionmigrations  name  status       Parameters       name     in path    string  required    name of the StorageVersionMigration       pretty     in query    string     a href    pretty  a          Response   200   a href    StorageVersionMigration  a    OK  401  Unauthorized        list  list or watch objects of kind StorageVersionMigration       HTTP Request  GET  apis storagemigration k8s io v1alpha1 storageversionmigrations       Parameters       allowWatchBookmarks     in query    boolean     a href    allowWatchBookmarks  a        continue     in query    string     a href    continue  a        fieldSelector     in query    string     a href    fieldSelector  a        labelSelector     in query    string     a href    labelSelector  a        limit     in query    integer     a href    limit  a        pretty     in query    string     a href    pretty  a        resourceVersion     in query    string     a href    resourceVersion  a        resourceVersionMatch     in query    string     a href    resourceVersionMatch  a        sendInitialEvents     in query    boolean     a href    sendInitialEvents  a        timeoutSeconds     in query    integer     a href    timeoutSeconds  a        watch     in query    boolean     a href    watch  a          Response   200   a href    StorageVersionMigrationList  a    OK  401  Unauthorized        create  create a StorageVersionMigration       HTTP Request  POST  apis storagemigration k8s io v1alpha1 storageversionmigrations       Parameters       body     a href    StorageVersionMigration  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    StorageVersionMigration  a    OK  201   a href    StorageVersionMigration  a    Created  202   a href    StorageVersionMigration  a    Accepted  401  Unauthorized        update  replace the specified StorageVersionMigration       HTTP Request  PUT  apis storagemigration k8s io v1alpha1 storageversionmigrations  name        Parameters       name     in path    string  required    name of the StorageVersionMigration       body     a href    StorageVersionMigration  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    StorageVersionMigration  a    OK  201   a href    StorageVersionMigration  a    Created  401  Unauthorized        update  replace status of the specified StorageVersionMigration       HTTP Request  PUT  apis storagemigration k8s io v1alpha1 storageversionmigrations  name  status       Parameters       name     in path    string  required    name of the StorageVersionMigration       body     a href    StorageVersionMigration  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        pretty     in query    string     a href    pretty  a          Response   200   a href    StorageVersionMigration  a    OK  201   a href    StorageVersionMigration  a    Created  401  Unauthorized        patch  partially update the specified StorageVersionMigration       HTTP Request  PATCH  apis storagemigration k8s io v1alpha1 storageversionmigrations  name        Parameters       name     in path    string  required    name of the StorageVersionMigration       body     a href    Patch  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        force     in query    boolean     a href    force  a        pretty     in query    string     a href    pretty  a          Response   200   a href    StorageVersionMigration  a    OK  201   a href    StorageVersionMigration  a    Created  401  Unauthorized        patch  partially update status of the specified StorageVersionMigration       HTTP Request  PATCH  apis storagemigration k8s io v1alpha1 storageversionmigrations  name  status       Parameters       name     in path    string  required    name of the StorageVersionMigration       body     a href    Patch  a   required           dryRun     in query    string     a href    dryRun  a        fieldManager     in query    string     a href    fieldManager  a        fieldValidation     in query    string     a href    fieldValidation  a        force     in query    boolean     a href    force  a        pretty     in query    string     a href    pretty  a          Response   200   a href    StorageVersionMigration  a    OK  201   a href    StorageVersionMigration  a    Created  401  Unauthorized        delete  delete a StorageVersionMigration       HTTP Request  DELETE  apis storagemigration k8s io v1alpha1 storageversionmigrations  name        Parameters       name     in path    string  required    name of the StorageVersionMigration       body     a href    DeleteOptions  a            dryRun     in query    string     a href    dryRun  a        gracePeriodSeconds     in query    integer     a href    gracePeriodSeconds  a        pretty     in query    string     a href    pretty  a        propagationPolicy     in query    string     a href    propagationPolicy  a          Response   200   a href    Status  a    OK  202   a href    Status  a    Accepted  401  Unauthorized        deletecollection  delete collection of StorageVersionMigration       HTTP Request  DELETE  apis storagemigration k8s io v1alpha1 storageversionmigrations       Parameters       body     a href    DeleteOptions  a            continue     in query    string     a href    continue  a        dryRun     in query    string     a href    dryRun  a        fieldSelector     in query    string     a href    fieldSelector  a        gracePeriodSeconds     in query    integer     a href    gracePeriodSeconds  a        labelSelector     in query    string     a href    labelSelector  a        limit     in query    integer     a href    limit  a        pretty     in query    string     a href    pretty  a        propagationPolicy     in query    string     a href    propagationPolicy  a        resourceVersion     in query    string     a href    resourceVersion  a        resourceVersionMatch     in query    string     a href    resourceVersionMatch  a        sendInitialEvents     in query    boolean     a href    sendInitialEvents  a        timeoutSeconds     in query    integer     a href    timeoutSeconds  a          Response   200   a href    Status  a    OK  401  Unauthorized