{
  "$schema": "http://json-schema.org/schema#", 
  "type": "object", 
  "description": "PersistentVolumeSpec is the specification of a persistent volume.", 
  "properties": {
    "accessModes": {
      "items": {
        "type": [
          "string", 
          "null"
        ]
      }, 
      "type": [
        "array", 
        "null"
      ], 
      "description": "AccessModes contains all ways the volume can be mounted. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes"
    }, 
    "claimRef": {
      "description": "ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName is the authoritative bind between PV and PVC. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#binding", 
      "$ref": "_definitions.json#/definitions/v1.ObjectReference"
    }, 
    "capacity": {
      "additionalProperties": {
        "$ref": "_definitions.json#/definitions/resource.Quantity"
      }, 
      "type": "object", 
      "description": "A description of the persistent volume's resources and capacity. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#capacity"
    }, 
    "persistentVolumeReclaimPolicy": {
      "type": [
        "string", 
        "null"
      ], 
      "description": "What happens to a persistent volume when released from its claim. Valid options are Retain (default) and Recycle. Recycling must be supported by the volume plugin underlying this persistent volume. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#recycling-policy"
    }
  }
}