{
  "description": "ScaleIOPersistentVolumeSource represents a persistent ScaleIO volume",
  "properties": {
    "fsType": {
      "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Default is \"xfs\"",
      "type": [
        "string",
        "null"
      ]
    },
    "gateway": {
      "description": "gateway is the host address of the ScaleIO API Gateway.",
      "type": [
        "string",
        "null"
      ]
    },
    "protectionDomain": {
      "description": "protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.",
      "type": [
        "string",
        "null"
      ]
    },
    "readOnly": {
      "description": "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "secretRef": {
      "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
    },
    "sslEnabled": {
      "description": "sslEnabled is the flag to enable/disable SSL communication with Gateway, default false",
      "type": [
        "boolean",
        "null"
      ]
    },
    "storageMode": {
      "description": "storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.",
      "type": [
        "string",
        "null"
      ]
    },
    "storagePool": {
      "description": "storagePool is the ScaleIO Storage Pool associated with the protection domain.",
      "type": [
        "string",
        "null"
      ]
    },
    "system": {
      "description": "system is the name of the storage system as configured in ScaleIO.",
      "type": [
        "string",
        "null"
      ]
    },
    "volumeName": {
      "description": "volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "gateway",
    "system",
    "secretRef"
  ],
  "type": "object",
  "additionalProperties": false,
  "$schema": "http://json-schema.org/schema#"
}