{
  "description": "PersistentVolumeClaimStatus is the current status of a persistent volume claim.",
  "properties": {
    "accessModes": {
      "description": "AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1",
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "type": [
        "array",
        "null"
      ]
    },
    "allocatedResources": {
      "additionalProperties": {
        "oneOf": [
          {
            "type": [
              "string",
              "null"
            ]
          },
          {
            "type": [
              "number",
              "null"
            ]
          }
        ]
      },
      "description": "The storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.",
      "type": [
        "object",
        "null"
      ]
    },
    "capacity": {
      "additionalProperties": {
        "oneOf": [
          {
            "type": [
              "string",
              "null"
            ]
          },
          {
            "type": [
              "number",
              "null"
            ]
          }
        ]
      },
      "description": "Represents the actual resources of the underlying volume.",
      "type": [
        "object",
        "null"
      ]
    },
    "conditions": {
      "description": "Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.",
      "items": {
        "description": "PersistentVolumeClaimCondition contails details about state of pvc",
        "properties": {
          "lastProbeTime": {
            "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "lastTransitionTime": {
            "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "message": {
            "description": "Human-readable message indicating details about last transition.",
            "type": [
              "string",
              "null"
            ]
          },
          "reason": {
            "description": "Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized.",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string"
          },
          "type": {
            "description": "\n\n\nPossible enum values:\n - `\"FileSystemResizePending\"` - controller resize is finished and a file system resize is pending on node\n - `\"Resizing\"` - a user trigger resize of pvc has been started",
            "enum": [
              "FileSystemResizePending",
              "Resizing"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "status"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "type": [
        "array",
        "null"
      ],
      "x-kubernetes-patch-merge-key": "type",
      "x-kubernetes-patch-strategy": "merge"
    },
    "phase": {
      "description": "Phase represents the current phase of PersistentVolumeClaim.\n\nPossible enum values:\n - `\"Bound\"` used for PersistentVolumeClaims that are bound\n - `\"Lost\"` used for PersistentVolumeClaims that lost their underlying PersistentVolume. The claim was bound to a PersistentVolume and this volume does not exist any longer and all data on it was lost.\n - `\"Pending\"` used for PersistentVolumeClaims that are not yet bound",
      "enum": [
        "Bound",
        "Lost",
        "Pending"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "resizeStatus": {
      "description": "ResizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "type": "object",
  "$schema": "http://json-schema.org/schema#"
}