{
  "description": "StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.\n\nStorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.", 
  "required": [
    "provisioner"
  ], 
  "x-kubernetes-group-version-kind": [
    {
      "kind": "StorageClass", 
      "version": "v1beta1", 
      "group": "storage.k8s.io"
    }
  ], 
  "$schema": "http://json-schema.org/schema#", 
  "type": "object", 
  "properties": {
    "kind": {
      "type": [
        "string", 
        "null"
      ], 
      "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds"
    }, 
    "parameters": {
      "additionalProperties": {
        "type": [
          "string", 
          "null"
        ]
      }, 
      "type": "object", 
      "description": "Parameters holds the parameters for the provisioner that should create volumes of this storage class."
    }, 
    "apiVersion": {
      "type": [
        "string", 
        "null"
      ], 
      "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources"
    }, 
    "reclaimPolicy": {
      "type": [
        "string", 
        "null"
      ], 
      "description": "Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete."
    }, 
    "mountOptions": {
      "items": {
        "type": [
          "string", 
          "null"
        ]
      }, 
      "type": [
        "array", 
        "null"
      ], 
      "description": "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."
    }, 
    "provisioner": {
      "type": [
        "string", 
        "null"
      ], 
      "description": "Provisioner indicates the type of the provisioner."
    }, 
    "allowVolumeExpansion": {
      "type": "boolean", 
      "description": "AllowVolumeExpansion shows whether the storage class allow volume expand"
    }, 
    "volumeBindingMode": {
      "type": [
        "string", 
        "null"
      ], 
      "description": "VolumeBindingMode indicates how PersistentVolumeClaims should be provisioned and bound.  When unset, VolumeBindingImmediate is used. This field is alpha-level and is only honored by servers that enable the VolumeScheduling feature."
    }, 
    "metadata": {
      "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", 
      "$ref": "_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
    }
  }
}