// 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 { V1alpha1DataVolumeSourceHTTP } from './V1alpha1DataVolumeSourceHTTP';
import { V1alpha1DataVolumeSourcePVC } from './V1alpha1DataVolumeSourcePVC';
import { V1alpha1DataVolumeSourceRegistry } from './V1alpha1DataVolumeSourceRegistry';
import { V1alpha1DataVolumeSourceS3 } from './V1alpha1DataVolumeSourceS3';

/**
 * DataVolumeSource represents the source for our Data Volume, this can be HTTP, S3, Registry or an existing PVC
 * @export
 * @interface V1alpha1DataVolumeSource
 */
export interface V1alpha1DataVolumeSource {
  /**
   * DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC
   * @type {object}
   * @memberof V1alpha1DataVolumeSource
   */
  blank?: object;
  /**
   *
   * @type {V1alpha1DataVolumeSourceHTTP}
   * @memberof V1alpha1DataVolumeSource
   */
  http?: V1alpha1DataVolumeSourceHTTP;
  /**
   *
   * @type {V1alpha1DataVolumeSourcePVC}
   * @memberof V1alpha1DataVolumeSource
   */
  pvc?: V1alpha1DataVolumeSourcePVC;
  /**
   *
   * @type {V1alpha1DataVolumeSourceRegistry}
   * @memberof V1alpha1DataVolumeSource
   */
  registry?: V1alpha1DataVolumeSourceRegistry;
  /**
   *
   * @type {V1alpha1DataVolumeSourceS3}
   * @memberof V1alpha1DataVolumeSource
   */
  s3?: V1alpha1DataVolumeSourceS3;
  /**
   * DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source
   * @type {object}
   * @memberof V1alpha1DataVolumeSource
   */
  upload?: object;
}
