{
  "description": "CStorVolumeAttachment represents a CSI based volume",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": [
        "string",
        "null"
      ]
    },
    "metadata": {
      "type": [
        "object",
        "null"
      ]
    },
    "spec": {
      "additionalProperties": false,
      "description": "CStorVolumeAttachmentSpec is the spec for a CStorVolume resource",
      "properties": {
        "iscsi": {
          "additionalProperties": false,
          "description": "ISCSIInfo specific to ISCSI protocol, this is filled only if the volume type is iSCSI",
          "properties": {
            "iqn": {
              "description": "Iqn of this volume",
              "type": [
                "string",
                "null"
              ]
            },
            "iscsiInterface": {
              "description": "IscsiInterface of this volume",
              "type": [
                "string",
                "null"
              ]
            },
            "lun": {
              "description": "Lun specify the lun number 0, 1.. on iSCSI Volume. (default: 0)",
              "type": [
                "string",
                "null"
              ]
            },
            "targetPortal": {
              "description": "TargetPortal holds the target portal of this volume",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "volume": {
          "additionalProperties": false,
          "description": "Volume specific info",
          "properties": {
            "accessModes": {
              "description": "AccessMode of a volume will hold the access mode of the volume",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "accessType": {
              "description": "AccessType of a volume will indicate if the volume will be used as a block device or mounted on a path",
              "type": [
                "string",
                "null"
              ]
            },
            "capacity": {
              "description": "Capacity of the volume",
              "type": [
                "string",
                "null"
              ]
            },
            "devicePath": {
              "description": "Device Path specifies the device path which is returned when the iSCSI login is successful",
              "type": [
                "string",
                "null"
              ]
            },
            "fsType": {
              "description": "FSType of a volume will specify the format type - ext4(default), xfs of PV",
              "type": [
                "string",
                "null"
              ]
            },
            "mountOptions": {
              "description": "MountOptions specifies the options with which mount needs to be attempted",
              "items": {
                "type": "string"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "name": {
              "description": "Name of the CSI volume",
              "type": "string"
            },
            "ownerNodeID": {
              "description": "OwnerNodeID is the Node ID which is also the owner of this Volume",
              "type": "string"
            },
            "readOnly": {
              "description": "ReadOnly specifies if the volume needs to be mounted in ReadOnly mode",
              "type": [
                "boolean",
                "null"
              ]
            },
            "stagingTargetPath": {
              "description": "StagingPath of the volume will hold the path on which the volume is mounted on that node",
              "type": [
                "string",
                "null"
              ]
            },
            "targetPath": {
              "description": "TargetPath of the volume will hold the path on which the volume is bind mounted on that node",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "name",
            "ownerNodeID"
          ],
          "type": "object"
        }
      },
      "required": [
        "iscsi",
        "volume"
      ],
      "type": "object"
    },
    "status": {
      "description": "CStorVolumeAttachmentStatus status represents the current mount status of the volume",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "spec"
  ],
  "type": "object"
}