{
  "$schema": "http://json-schema.org/schema#", 
  "required": [
    "targetPortal", 
    "iqn", 
    "lun"
  ], 
  "type": "object", 
  "description": "ISCSIPersistentVolumeSource represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.", 
  "properties": {
    "targetPortal": {
      "type": [
        "string", 
        "null"
      ], 
      "description": "iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260)."
    }, 
    "portals": {
      "items": {
        "type": [
          "string", 
          "null"
        ]
      }, 
      "type": [
        "array", 
        "null"
      ], 
      "description": "iSCSI Target Portal List. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260)."
    }, 
    "secretRef": {
      "description": "CHAP Secret for iSCSI target and initiator authentication", 
      "$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.SecretReference"
    }, 
    "fsType": {
      "type": [
        "string", 
        "null"
      ], 
      "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi"
    }, 
    "readOnly": {
      "type": "boolean", 
      "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false."
    }, 
    "chapAuthSession": {
      "type": "boolean", 
      "description": "whether support iSCSI Session CHAP authentication"
    }, 
    "initiatorName": {
      "type": [
        "string", 
        "null"
      ], 
      "description": "Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface <target portal>:<volume name> will be created for the connection."
    }, 
    "iscsiInterface": {
      "type": [
        "string", 
        "null"
      ], 
      "description": "iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp)."
    }, 
    "chapAuthDiscovery": {
      "type": "boolean", 
      "description": "whether support iSCSI Discovery CHAP authentication"
    }, 
    "iqn": {
      "type": [
        "string", 
        "null"
      ], 
      "description": "Target iSCSI Qualified Name."
    }, 
    "lun": {
      "type": "integer", 
      "description": "iSCSI Target Lun number.", 
      "format": "int32"
    }
  }
}