/* tslint:disable */ /* eslint-disable */ /** * Assisted Migration Agent API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: v1 * * * 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.js'; import type { VmInspectionStatus } from './VmInspectionStatus.js'; import { VmInspectionStatusFromJSON, VmInspectionStatusFromJSONTyped, VmInspectionStatusToJSON, VmInspectionStatusToJSONTyped, } from './VmInspectionStatus.js'; /** * * @export * @interface VirtualMachine */ export interface VirtualMachine { /** * VirtualMachine name * @type {string} * @memberof VirtualMachine */ name: string; /** * VirtualMachine ID in vCenter * @type {string} * @memberof VirtualMachine */ id: string; /** * vCenter state (e.g., poweredOn, poweredOff, suspended) * @type {string} * @memberof VirtualMachine */ vCenterState: string; /** * Cluster name * @type {string} * @memberof VirtualMachine */ cluster: string; /** * Datacenter name * @type {string} * @memberof VirtualMachine */ datacenter: string; /** * Total disk size in MB * @type {number} * @memberof VirtualMachine */ diskSize: number; /** * Memory size in MB * @type {number} * @memberof VirtualMachine */ memory: number; /** * Number of issues found for this VirtualMachine * @type {number} * @memberof VirtualMachine */ issueCount: number; /** * True if the vm is migratable for MTV. False otherwise * @type {boolean} * @memberof VirtualMachine */ migratable?: boolean; /** * True if the vm is a template. False otherwise * @type {boolean} * @memberof VirtualMachine */ template?: boolean; /** * * @type {VmInspectionStatus} * @memberof VirtualMachine */ inspectionStatus?: VmInspectionStatus; /** * Number of inspection concerns recorded for the latest persisted inspection result * @type {number} * @memberof VirtualMachine */ inspectionConcernCount?: number; /** * Tags aggregated from matching groups * @type {Array} * @memberof VirtualMachine */ tags?: Array; } /** * Check if a given object implements the VirtualMachine interface. */ export function instanceOfVirtualMachine(value: object): value is VirtualMachine { if (!('name' in value) || value['name'] === undefined) return false; if (!('id' in value) || value['id'] === undefined) return false; if (!('vCenterState' in value) || value['vCenterState'] === undefined) return false; if (!('cluster' in value) || value['cluster'] === undefined) return false; if (!('datacenter' in value) || value['datacenter'] === undefined) return false; if (!('diskSize' in value) || value['diskSize'] === undefined) return false; if (!('memory' in value) || value['memory'] === undefined) return false; if (!('issueCount' in value) || value['issueCount'] === undefined) return false; return true; } export function VirtualMachineFromJSON(json: any): VirtualMachine { return VirtualMachineFromJSONTyped(json, false); } export function VirtualMachineFromJSONTyped(json: any, ignoreDiscriminator: boolean): VirtualMachine { if (json == null) { return json; } return { 'name': json['name'], 'id': json['id'], 'vCenterState': json['vCenterState'], 'cluster': json['cluster'], 'datacenter': json['datacenter'], 'diskSize': json['diskSize'], 'memory': json['memory'], 'issueCount': json['issueCount'], 'migratable': json['migratable'] == null ? undefined : json['migratable'], 'template': json['template'] == null ? undefined : json['template'], 'inspectionStatus': json['inspectionStatus'] == null ? undefined : VmInspectionStatusFromJSON(json['inspectionStatus']), 'inspectionConcernCount': json['inspectionConcernCount'] == null ? undefined : json['inspectionConcernCount'], 'tags': json['tags'] == null ? undefined : json['tags'], }; } export function VirtualMachineToJSON(json: any): VirtualMachine { return VirtualMachineToJSONTyped(json, false); } export function VirtualMachineToJSONTyped(value?: VirtualMachine | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'name': value['name'], 'id': value['id'], 'vCenterState': value['vCenterState'], 'cluster': value['cluster'], 'datacenter': value['datacenter'], 'diskSize': value['diskSize'], 'memory': value['memory'], 'issueCount': value['issueCount'], 'migratable': value['migratable'], 'template': value['template'], 'inspectionStatus': VmInspectionStatusToJSON(value['inspectionStatus']), 'inspectionConcernCount': value['inspectionConcernCount'], 'tags': value['tags'], }; }