/* tslint:disable */ /* eslint-disable */ /** * Boat Public API v1 * Public JSON API for creating, operating, prompting, observing, and exposing Boat sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1. * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; /** * * @export * @interface DeletionOperation */ export interface DeletionOperation { /** * * @type {string} * @memberof DeletionOperation */ id: string; /** * * @type {DeletionOperationKindEnum} * @memberof DeletionOperation */ kind: DeletionOperationKindEnum; /** * * @type {string} * @memberof DeletionOperation */ targetId: string; /** * * @type {DeletionOperationReasonEnum} * @memberof DeletionOperation */ reason: DeletionOperationReasonEnum; /** * * @type {DeletionOperationStatusEnum} * @memberof DeletionOperation */ status: DeletionOperationStatusEnum; /** * * @type {number} * @memberof DeletionOperation */ attemptCount: number; /** * * @type {Date} * @memberof DeletionOperation */ requestedAt: Date; /** * * @type {Date} * @memberof DeletionOperation */ completedAt: Date | null; } /** * @export */ export const DeletionOperationKindEnum = { Box: 'box', Snapshot: 'snapshot' } as const; export type DeletionOperationKindEnum = typeof DeletionOperationKindEnum[keyof typeof DeletionOperationKindEnum]; /** * @export */ export const DeletionOperationReasonEnum = { Explicit: 'explicit', Zdr: 'zdr', Account: 'account' } as const; export type DeletionOperationReasonEnum = typeof DeletionOperationReasonEnum[keyof typeof DeletionOperationReasonEnum]; /** * @export */ export const DeletionOperationStatusEnum = { Pending: 'pending', Processing: 'processing', Blocked: 'blocked', Completed: 'completed' } as const; export type DeletionOperationStatusEnum = typeof DeletionOperationStatusEnum[keyof typeof DeletionOperationStatusEnum]; /** * Check if a given object implements the DeletionOperation interface. */ export function instanceOfDeletionOperation(value: object): value is DeletionOperation { if (!('id' in value) || value['id'] === undefined) return false; if (!('kind' in value) || value['kind'] === undefined) return false; if (!('targetId' in value) || value['targetId'] === undefined) return false; if (!('reason' in value) || value['reason'] === undefined) return false; if (!('status' in value) || value['status'] === undefined) return false; if (!('attemptCount' in value) || value['attemptCount'] === undefined) return false; if (!('requestedAt' in value) || value['requestedAt'] === undefined) return false; if (!('completedAt' in value) || value['completedAt'] === undefined) return false; return true; } export function DeletionOperationFromJSON(json: any): DeletionOperation { return DeletionOperationFromJSONTyped(json, false); } export function DeletionOperationFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeletionOperation { if (json == null) { return json; } return { 'id': json['id'], 'kind': json['kind'], 'targetId': json['targetId'], 'reason': json['reason'], 'status': json['status'], 'attemptCount': json['attemptCount'], 'requestedAt': (new Date(json['requestedAt'])), 'completedAt': (json['completedAt'] == null ? null : new Date(json['completedAt'])), }; } export function DeletionOperationToJSON(json: any): DeletionOperation { return DeletionOperationToJSONTyped(json, false); } export function DeletionOperationToJSONTyped(value?: DeletionOperation | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'kind': value['kind'], 'targetId': value['targetId'], 'reason': value['reason'], 'status': value['status'], 'attemptCount': value['attemptCount'], 'requestedAt': value['requestedAt'].toISOString(), 'completedAt': value['completedAt'] == null ? value['completedAt'] : value['completedAt'].toISOString(), }; }