# StorageClass

StorageClassStorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.apiVersion: storage.k8s.io/v1import "k8s.io/api/storage/v1"StorageClassStorageClass 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.apiVersion: storage.k8s.io/v1kind: StorageClassmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataprovisioner (string), requiredprovisioner indicates the type of the provisioner.allowVolumeExpansion (boolean)allowVolumeExpansion shows whether the storage class allow volume expand.allowedTopologies ([]TopologySelectorTerm)Atomic: will be replaced during a mergeallowedTopologies restrict the node topologies where volumes can be dynamically provisioned. Each volume plugin defines its own supported topology specifications. An empty TopologySelectorTerm list means there is no topology restriction. This field is only honored by servers that enable the VolumeScheduling feature.A topology selector term represents the result of label queries. A null or empty topology selector term matches no objects. The requirements of them are ANDed. It provides a subset of functionality as NodeSelectorTerm. This is an alpha feature and may change in the future.allowedTopologies.matchLabelExpressions ([]TopologySelectorLabelRequirement)Atomic: will be replaced during a mergeA list of topology selector requirements by labels.A topology selector requirement is a selector that matches given label. This is an alpha feature and may change in the future.allowedTopologies.matchLabelExpressions.key (string), requiredThe label key that the selector applies to.allowedTopologies.matchLabelExpressions.values ([]string), requiredAtomic: will be replaced during a mergeAn array of string values. One value must match the label to be selected. Each entry in Values is ORed.mountOptions ([]string)Atomic: will be replaced during a mergemountOptions controls the mountOptions for dynamically provisioned PersistentVolumes of this storage class. e.g. ["ro", "soft"]. Not validated - mount of the PVs will simply fail if one is invalid.parameters (map[string]string)parameters holds the parameters for the provisioner that should create volumes of this storage class.reclaimPolicy (string)reclaimPolicy controls the reclaimPolicy for dynamically provisioned PersistentVolumes of this storage class. Defaults to Delete.volumeBindingMode (string)volumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound. When unset, VolumeBindingImmediate is used. This field is only honored by servers that enable the VolumeScheduling feature.StorageClassListStorageClassList is a collection of storage classes.apiVersion: storage.k8s.io/v1kind: StorageClassListmetadata (ListMeta)Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataitems ([]StorageClass), requireditems is the list of StorageClassesOperationsget read the specified StorageClassHTTP RequestGET /apis/storage.k8s.io/v1/storageclasses/{name}Parametersname (in path): string, requiredname of the StorageClasspretty (in query): stringprettyResponse200 (StorageClass): OK401: Unauthorizedlist list or watch objects of kind StorageClassHTTP RequestGET /apis/storage.k8s.io/v1/storageclassesParametersallowWatchBookmarks (in query): booleanallowWatchBookmarkscontinue (in query): stringcontinuefieldSelector (in query): stringfieldSelectorlabelSelector (in query): stringlabelSelectorlimit (in query): integerlimitpretty (in query): stringprettyresourceVersion (in query): stringresourceVersionresourceVersionMatch (in query): stringresourceVersionMatchsendInitialEvents (in query): booleansendInitialEventstimeoutSeconds (in query): integertimeoutSecondswatch (in query): booleanwatchResponse200 (StorageClassList): OK401: Unauthorizedcreate create a StorageClassHTTP RequestPOST /apis/storage.k8s.io/v1/storageclassesParametersbody: StorageClass, requireddryRun (in query): stringdryRunfieldManager (in query): stringfieldManagerfieldValidation (in query): stringfieldValidationpretty (in query): stringprettyResponse200 (StorageClass): OK201 (StorageClass): Created202 (StorageClass): Accepted401: Unauthorizedupdate replace the specified StorageClassHTTP RequestPUT /apis/storage.k8s.io/v1/storageclasses/{name}Parametersname (in path): string, requiredname of the StorageClassbody: StorageClass, requireddryRun (in query): stringdryRunfieldManager (in query): stringfieldManagerfieldValidation (in query): stringfieldValidationpretty (in query): stringprettyResponse200 (StorageClass): OK201 (StorageClass): Created401: Unauthorizedpatch partially update the specified StorageClassHTTP RequestPATCH /apis/storage.k8s.io/v1/storageclasses/{name}Parametersname (in path): string, requiredname of the StorageClassbody: Patch, requireddryRun (in query): stringdryRunfieldManager (in query): stringfieldManagerfieldValidation (in query): stringfieldValidationforce (in query): booleanforcepretty (in query): stringprettyResponse200 (StorageClass): OK201 (StorageClass): Created401: Unauthorizeddelete delete a StorageClassHTTP RequestDELETE /apis/storage.k8s.io/v1/storageclasses/{name}Parametersname (in path): string, requiredname of the StorageClassbody: DeleteOptionsdryRun (in query): stringdryRungracePeriodSeconds (in query): integergracePeriodSecondsignoreStoreReadErrorWithClusterBreakingPotential (in query): booleanignoreStoreReadErrorWithClusterBreakingPotentialpretty (in query): stringprettypropagationPolicy (in query): stringpropagationPolicyResponse200 (StorageClass): OK202 (StorageClass): Accepted401: Unauthorizeddeletecollection delete collection of StorageClassHTTP RequestDELETE /apis/storage.k8s.io/v1/storageclassesParametersbody: DeleteOptionscontinue (in query): stringcontinuedryRun (in query): stringdryRunfieldSelector (in query): stringfieldSelectorgracePeriodSeconds (in query): integergracePeriodSecondsignoreStoreReadErrorWithClusterBreakingPotential (in query): booleanignoreStoreReadErrorWithClusterBreakingPotentiallabelSelector (in query): stringlabelSelectorlimit (in query): integerlimitpretty (in query): stringprettypropagationPolicy (in query): stringpropagationPolicyresourceVersion (in query): stringresourceVersionresourceVersionMatch (in query): stringresourceVersionMatchsendInitialEvents (in query): booleansendInitialEventstimeoutSeconds (in query): integertimeoutSecondsResponse200 (Status): OK401: UnauthorizedThis page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.