UNPKG

vsphere-infra

Version:

100 lines (91 loc) 2.28 kB
/* * Copyright 2014-2021 Firestack, all rights reserved. */ import * as MoGeneral from './mo/mo.general'; import * as MoHost from './mo/mo.host.models'; import * as MoVM from './mo/mo.vm.models'; import * as MoDatastore from './mo/mo.datastore.models'; import * as MoCluster from './mo/mo.cluster.models'; import * as MoNetwork from './mo/mo.network.models'; import * as MoFolder from './mo/mo.folder.models'; import * as MoRespool from './mo/mo.respool.models'; import * as MoSwitch from './mo/mo.vswitch.models'; export const MoCl = { Host: MoHost, Datastore: MoDatastore, VM: MoVM, Cluster: MoCluster, Folder: MoFolder, General: MoGeneral, ResourcePool: MoRespool, Network: MoNetwork, Switch: MoSwitch, }; export interface VsphereTarget { key: string; url: string; username?: string; password?: string; cert?: string; watch?: boolean; skipFetch?: boolean; } export class VsphereEventWebhook { name: string; url: string; events: {[eventType: string]: boolean} = {}; headers?: {[headerName: string]: string} = {}; data?: {[key: string]: any} = {}; } export interface VsphereDatacenterEvent<T = any> { eventTime: number; eventType?: string; sourceMo?: any; sourceKey?: string; data: T; moData?: any; extra?: any; } export interface VsphereDatacenterUtilizationSnapshot { /** unix ts in seconds % 86400 */ ts: number; /** vm count */ v: number; /** host count */ h: number; /** cpu utilization */ c: number; /** mem utilization */ m: number; /** storage utilization */ s: number; } export type VsphereDatacenterUtilizationSnapshotData = [ number, /** ts */ number, /** v */ number, /** h */ number, /** c */ number, /** m */ number, /** s */ ]; export interface VsphereDatacenterUtilizationSummary { t: number; hostCount: number; vmCount: number; percent: { cpu: number; mem: number; disk: number; }; overview: { totalCpu: number; consumedCpu: number; percentCpu: number; totalMem: number; consumedMem: number; percentMem: number; totalStorage: number; consumedStorage: number; percentStorage: number; }; clusterSummary: any; hostStats: any[]; storageStats: any[]; history: VsphereDatacenterUtilizationSnapshotData[]; }