{
  "description": "Represents storage that is managed by an external CSI volume driver",
  "properties": {
    "controllerExpandSecretRef": {
      "description": "SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace",
      "properties": {
        "name": {
          "description": "name is unique within a namespace to reference a secret resource.",
          "type": [
            "string",
            "null"
          ]
        },
        "namespace": {
          "description": "namespace defines the space within which the secret name must be unique.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ],
      "x-kubernetes-map-type": "atomic",
      "additionalProperties": false
    },
    "controllerPublishSecretRef": {
      "description": "SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace",
      "properties": {
        "name": {
          "description": "name is unique within a namespace to reference a secret resource.",
          "type": [
            "string",
            "null"
          ]
        },
        "namespace": {
          "description": "namespace defines the space within which the secret name must be unique.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ],
      "x-kubernetes-map-type": "atomic",
      "additionalProperties": false
    },
    "driver": {
      "description": "driver is the name of the driver to use for this volume. Required.",
      "type": [
        "string",
        "null"
      ]
    },
    "fsType": {
      "description": "fsType to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\".",
      "type": [
        "string",
        "null"
      ]
    },
    "nodeExpandSecretRef": {
      "description": "SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace",
      "properties": {
        "name": {
          "description": "name is unique within a namespace to reference a secret resource.",
          "type": [
            "string",
            "null"
          ]
        },
        "namespace": {
          "description": "namespace defines the space within which the secret name must be unique.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ],
      "x-kubernetes-map-type": "atomic",
      "additionalProperties": false
    },
    "nodePublishSecretRef": {
      "description": "SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace",
      "properties": {
        "name": {
          "description": "name is unique within a namespace to reference a secret resource.",
          "type": [
            "string",
            "null"
          ]
        },
        "namespace": {
          "description": "namespace defines the space within which the secret name must be unique.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ],
      "x-kubernetes-map-type": "atomic",
      "additionalProperties": false
    },
    "nodeStageSecretRef": {
      "description": "SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace",
      "properties": {
        "name": {
          "description": "name is unique within a namespace to reference a secret resource.",
          "type": [
            "string",
            "null"
          ]
        },
        "namespace": {
          "description": "namespace defines the space within which the secret name must be unique.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ],
      "x-kubernetes-map-type": "atomic",
      "additionalProperties": false
    },
    "readOnly": {
      "description": "readOnly value to pass to ControllerPublishVolumeRequest. Defaults to false (read/write).",
      "type": [
        "boolean",
        "null"
      ]
    },
    "volumeAttributes": {
      "additionalProperties": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "volumeAttributes of the volume to publish.",
      "type": [
        "object",
        "null"
      ]
    },
    "volumeHandle": {
      "description": "volumeHandle is the unique volume name returned by the CSI volume plugin\u2019s CreateVolume to refer to the volume on all subsequent calls. Required.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "driver",
    "volumeHandle"
  ],
  "type": "object",
  "additionalProperties": false,
  "$schema": "http://json-schema.org/schema#"
}