/* tslint:disable */ /* eslint-disable */ /** * KubeVirt Containerized Data Importer API * Containerized Data Importer for KubeVirt. * * 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 { exists } from '../runtime'; import { V1beta1DataVolume, V1beta1DataVolumeFromJSON, V1beta1DataVolumeToJSON } from './'; /** * DataImportCronSpec defines specification for DataImportCron * @export * @interface V1beta1DataImportCronSpec */ export interface V1beta1DataImportCronSpec { /** * GarbageCollect specifies whether old PVCs should be cleaned up after a new PVC is imported. Options are currently "Outdated" and "Never", defaults to "Outdated". * @type {string} * @memberof V1beta1DataImportCronSpec */ garbageCollect?: string; /** * Number of import PVCs to keep when garbage collecting. Default is 3. * @type {number} * @memberof V1beta1DataImportCronSpec */ importsToKeep?: number; /** * ManagedDataSource specifies the name of the corresponding DataSource this cron will manage. DataSource has to be in the same namespace. * @type {string} * @memberof V1beta1DataImportCronSpec */ managedDataSource: string; /** * RetentionPolicy specifies whether the created DataVolumes and DataSources are retained when their DataImportCron is deleted. Default is RatainAll. * @type {string} * @memberof V1beta1DataImportCronSpec */ retentionPolicy?: string; /** * Schedule specifies in cron format when and how often to look for new imports * @type {string} * @memberof V1beta1DataImportCronSpec */ schedule: string; /** * * @type {V1beta1DataVolume} * @memberof V1beta1DataImportCronSpec */ template: V1beta1DataVolume; } export function V1beta1DataImportCronSpecFromJSON(json: any): V1beta1DataImportCronSpec { return V1beta1DataImportCronSpecFromJSONTyped(json, false); } export function V1beta1DataImportCronSpecFromJSONTyped( json: any, _ignoreDiscriminator: boolean, ): V1beta1DataImportCronSpec { if (json === undefined || json === null) { return json; } return { garbageCollect: !exists(json, 'garbageCollect') ? undefined : json['garbageCollect'], importsToKeep: !exists(json, 'importsToKeep') ? undefined : json['importsToKeep'], managedDataSource: json['managedDataSource'], retentionPolicy: !exists(json, 'retentionPolicy') ? undefined : json['retentionPolicy'], schedule: json['schedule'], template: V1beta1DataVolumeFromJSON(json['template']), }; } export function V1beta1DataImportCronSpecToJSON(value?: V1beta1DataImportCronSpec | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { garbageCollect: value.garbageCollect, importsToKeep: value.importsToKeep, managedDataSource: value.managedDataSource, retentionPolicy: value.retentionPolicy, schedule: value.schedule, template: V1beta1DataVolumeToJSON(value.template), }; }