// Automatically generated by 'openshift-apidocs-gen'. Do not edit.
:_mod-docs-content-type: ASSEMBLY
[id="storage-apis"]
= Storage APIs
:toc: macro
:toc-title:

toc::[]

== CSIDriver [storage.k8s.io/v1]

Description::
+
--
CSIDriver captures information about a Container Storage Interface (CSI) volume driver deployed on the cluster. Kubernetes attach detach controller uses this object to determine whether attach is required. Kubelet uses this object to determine whether pod information needs to be passed on mount. CSIDriver objects are non-namespaced.
--

Type::
  `object`

== CSINode [storage.k8s.io/v1]

Description::
+
--
CSINode holds information about all CSI drivers installed on a node. CSI drivers do not need to create the CSINode object directly. As long as they use the node-driver-registrar sidecar container, the kubelet will automatically populate the CSINode object for the CSI driver as part of kubelet plugin registration. CSINode has the same name as a node. If the object is missing, it means either there are no CSI Drivers available on the node, or the Kubelet version is low enough that it doesn't create this object. CSINode has an OwnerReference that points to the corresponding node object.
--

Type::
  `object`

== CSIStorageCapacity [storage.k8s.io/v1]

Description::
+
--
CSIStorageCapacity stores the result of one CSI GetCapacity call. For a given StorageClass, this describes the available capacity in a particular topology segment.  This can be used when considering where to instantiate new PersistentVolumes.

For example this can express things like: - StorageClass "standard" has "1234 GiB" available in "topology.kubernetes.io/zone=us-east1" - StorageClass "localssd" has "10 GiB" available in "kubernetes.io/hostname=knode-abc123"

The following three cases all imply that no capacity is available for a certain combination: - no object exists with suitable topology and storage class name - such an object exists, but the capacity is unset - such an object exists, but the capacity is zero

The producer of these objects can decide which approach is more suitable.

They are consumed by the kube-scheduler when a CSI driver opts into capacity-aware scheduling with CSIDriverSpec.StorageCapacity. The scheduler compares the MaximumVolumeSize against the requested size of pending volumes to filter out unsuitable nodes. If MaximumVolumeSize is unset, it falls back to a comparison against the less precise Capacity. If that is also unset, the scheduler assumes that capacity is insufficient and tries some other node.
--

Type::
  `object`

== PersistentVolume [v1]

Description::
+
--
PersistentVolume (PV) is a storage resource provisioned by an administrator. It is analogous to a node. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes
--

Type::
  `object`

== PersistentVolumeClaim [v1]

Description::
+
--
PersistentVolumeClaim is a user's request for and claim to a persistent volume
--

Type::
  `object`

== StorageClass [storage.k8s.io/v1]

Description::
+
--
StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.

StorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.
--

Type::
  `object`

== StorageState [migration.k8s.io/v1alpha1]

Description::
+
--
The state of the storage of a specific resource.
--

Type::
  `object`

== StorageVersionMigration [migration.k8s.io/v1alpha1]

Description::
+
--
StorageVersionMigration represents a migration of stored data to the latest storage version.
--

Type::
  `object`

== VolumeAttachment [storage.k8s.io/v1]

Description::
+
--
VolumeAttachment captures the intent to attach or detach the specified volume to/from the specified node.

VolumeAttachment objects are non-namespaced.
--

Type::
  `object`

== VolumeAttributesClass [storage.k8s.io/v1]

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

Type::
  `object`

== VolumePopulator [populator.storage.k8s.io/v1beta1]

Description::
+
--
VolumePopulator represents the registration for a volume populator. VolumePopulators are cluster scoped.
--

Type::
  `object`

== VolumeSnapshot [snapshot.storage.k8s.io/v1]

Description::
+
--
VolumeSnapshot is a user's request for either creating a point-in-time
snapshot of a persistent volume, or binding to a pre-existing snapshot.
--

Type::
  `object`

== VolumeSnapshotClass [snapshot.storage.k8s.io/v1]

Description::
+
--
VolumeSnapshotClass specifies parameters that a underlying storage system uses when
creating a volume snapshot. A specific VolumeSnapshotClass is used by specifying its
name in a VolumeSnapshot object.
VolumeSnapshotClasses are non-namespaced
--

Type::
  `object`

== VolumeSnapshotContent [snapshot.storage.k8s.io/v1]

Description::
+
--
VolumeSnapshotContent represents the actual "on-disk" snapshot object in the
underlying storage system
--

Type::
  `object`

