StorageClass

StorageClass

apiVersion: storage.k8s.io/v1
import "k8s.io/api/storage/v1"

StorageClass

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.

  • apiVersion: storage.k8s.io/v1

  • kind: StorageClass

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

  • provisioner (string), required
    Provisioner indicates the type of the provisioner.

  • allowVolumeExpansion (boolean)
    AllowVolumeExpansion shows whether the storage class allow volume expand

  • allowedTopologies ([]TopologySelectorTerm)
    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)
      A 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), required
      The label key that the selector applies to.
    • allowedTopologies.matchLabelExpressions.values ([]string), required
      An array of string values. One value must match the label to be selected. Each entry in Values is ORed.
  • mountOptions ([]string)
    Dynamically provisioned PersistentVolumes of this storage class are created with these mountOptions, 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)
    Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. 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.

StorageClassList

StorageClassList is a collection of storage classes.

Operations

get read the specified StorageClass

HTTP Request

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

Parameters
  • {name} (string), required
    name of the StorageClass
  • ?pretty (string)
    pretty
Response

200 (StorageClass): OK
401: Unauthorized

list list or watch objects of kind StorageClass

HTTP Request

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

Parameters
Response

200 (StorageClassList): OK
401: Unauthorized

create create a StorageClass

HTTP Request

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

Parameters
Response

200 (StorageClass): OK
201 (StorageClass): Created
202 (StorageClass): Accepted
401: Unauthorized

update replace the specified StorageClass

HTTP Request

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

Parameters
Response

200 (StorageClass): OK
201 (StorageClass): Created
401: Unauthorized

patch partially update the specified StorageClass

HTTP Request

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

Parameters
  • {name} (string), required
    name of the StorageClass

  • body (Patch), required

  • ?dryRun (string)
    dryRun

  • ?fieldManager (string)
    fieldManager

  • ?force (boolean)
    force

  • ?pretty (string)
    pretty

Response

200 (StorageClass): OK
401: Unauthorized

delete delete a StorageClass

HTTP Request

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

Parameters
Response

200 (StorageClass): OK
202 (StorageClass): Accepted
401: Unauthorized

deletecollection delete collection of StorageClass

HTTP Request

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

Parameters
Response

200 (Status): OK
401: Unauthorized