Storage class is the foundation of dynamic provisioning, allowing cluster administrators to define abstractions for the underlying storage platform.
Read more at https://kubernetes.io/blog/2017/03/dynamic-provisioning-and-storage-classes-kubernetes/
data "kubernetes_storage_class" "example" {
metadata {
name = "terraform-example"
}
}
The following arguments are supported:
metadata
- (Required) Standard storage class's metadata. For more info see Kubernetes referencemetadata
name
- (Required) Name of the storage class, must be unique. For more info see Kubernetes referenceallowed_topologies


match_label_expressions
- (Optional) A list of topology selector requirements by labels. See match_label_expressionsmatch_label_expressions
key
- (Optional) The label key that the selector applies to.values
- (Optional) An array of string values. One value must match the label to be selected.generation
- A sequence number representing a specific generation of the desired state.resource_version
- An opaque value that represents the internal version of this storage class that can be used by clients to determine when storage class has changed. For more info see Kubernetes referenceuid
- The unique in time and space value for this storage class. For more info see Kubernetes referenceThe following attributes are exported:
parameters
- The parameters for the provisioner that creates volume of this storage class. Read more about available parameters.storage_provisioner
- Indicates the type of the provisioner this storage class representsreclaim_policy
- Indicates the reclaim policy used.volume_binding_mode
- Indicates when volume binding and dynamic provisioning should occur.allow_volume_expansion
- Indicates whether the storage class allow volume expand.mount_options
- Persistent Volumes that are dynamically created by a storage class will have the mount options specified.allowed_topologies
- (Optional) Restrict the node topologies where volumes can be dynamically provisioned. See allowed_topologies