// tslint:disable
/**
 * KubeVirt API
 * This is KubeVirt API an add-on for Kubernetes.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: kubevirt-dev@googlegroups.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { V1CDRomTarget } from './V1CDRomTarget';
import { V1DiskTarget } from './V1DiskTarget';
import { V1FloppyTarget } from './V1FloppyTarget';
import { V1LunTarget } from './V1LunTarget';

/**
 *
 * @export
 * @interface V1Disk
 */
export interface V1Disk {
  /**
   * BootOrder is an integer value > 0, used to determine ordering of boot devices. Lower values take precedence. Each disk or interface that has a boot order must have a unique value. Disks without a boot order are not tried if a disk with a boot order exists. +optional
   * @type {number}
   * @memberof V1Disk
   */
  bootOrder?: number;
  /**
   * Cache specifies which kvm disk cache mode should be used. +optional
   * @type {string}
   * @memberof V1Disk
   */
  cache?: string;
  /**
   *
   * @type {V1CDRomTarget}
   * @memberof V1Disk
   */
  cdrom?: V1CDRomTarget;
  /**
   * dedicatedIOThread indicates this disk should have an exclusive IO Thread. Enabling this implies useIOThreads = true. Defaults to false. +optional
   * @type {boolean}
   * @memberof V1Disk
   */
  dedicatedIOThread?: boolean;
  /**
   *
   * @type {V1DiskTarget}
   * @memberof V1Disk
   */
  disk?: V1DiskTarget;
  /**
   *
   * @type {V1FloppyTarget}
   * @memberof V1Disk
   */
  floppy?: V1FloppyTarget;
  /**
   *
   * @type {V1LunTarget}
   * @memberof V1Disk
   */
  lun?: V1LunTarget;
  /**
   * Name is the device name
   * @type {string}
   * @memberof V1Disk
   */
  name: string;
  /**
   * Serial provides the ability to specify a serial number for the disk device. +optional
   * @type {string}
   * @memberof V1Disk
   */
  serial?: string;
}
