{
  "description": "ScaleIOVolumeSource 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": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.",
      "properties": {
        "name": {
          "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ],
      "x-kubernetes-map-type": "atomic"
    },
    "sslEnabled": {
      "description": "sslEnabled Flag 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",
  "$schema": "http://json-schema.org/schema#"
}