{
  "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"
  ],
  "properties": {
    "allowVolumeExpansion": {
      "description": "AllowVolumeExpansion shows whether the storage class allow volume expand",
      "type": "boolean"
    },
    "apiVersion": {
      "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",
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "storage.k8s.io/v1"
      ]
    },
    "kind": {
      "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",
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "StorageClass"
      ]
    },
    "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"
    },
    "mountOptions": {
      "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.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "parameters": {
      "description": "Parameters holds the parameters for the provisioner that should create volumes of this storage class.",
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "provisioner": {
      "description": "Provisioner indicates the type of the provisioner.",
      "type": [
        "string",
        "null"
      ]
    },
    "reclaimPolicy": {
      "description": "Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.",
      "type": [
        "string",
        "null"
      ]
    },
    "volumeBindingMode": {
      "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.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "x-kubernetes-group-version-kind": [
    {
      "group": "storage.k8s.io",
      "kind": "StorageClass",
      "version": "v1"
    }
  ],
  "$schema": "http://json-schema.org/schema#",
  "type": "object"
}