Over the course of the next 12 months I will be adding functions to this page so bookmark it and come back regularly for new cool features and updates.
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: VcGuestOperationsManagerService.ts
import { MissingRequiredParameterError } from "../Extensions";
import { BaseService } from "../BaseService";
export class VcGuestOperationsManagerService extends BaseService {
private objVcGuestInfo: VcGuestInfo;
private objVcVirtualMachine: VcVirtualMachine;
private objVcSdkConnection: VcSdkConnection;
private objVcGuestOperationsManager: VcGuestOperationsManager;
private objVcGuestAuthManager: VcGuestAuthManager;
private objVcGuestFileManager: VcGuestFileManager;
private objVcGuestProcessManager: VcGuestProcessManager;
private objVcGuestWindowsRegistryManager: VcGuestWindowsRegistryManager;
private objVcNamePasswordAuthentication: VcNamePasswordAuthentication;
private objVMareToolsImcLogDirectory: { linux: string, windows: string } = {
linux: "/var/log/vmware-imc",
windows: "c:\\Windows\\Temp\\vmware-imc"
};
constructor(strProjectID: string, objVcVirtualMachine: VcVirtualMachine, strUsername: string, strPassword:string) {
if (!strProjectID) {
throw new MissingRequiredParameterError('strServiceName');
}
if (!objVcVirtualMachine) {
throw new MissingRequiredParameterError('objVcVirtualMachine');
}
if (!objVcVirtualMachine) {
throw new MissingRequiredParameterError('strUsername');
}
if (!objVcVirtualMachine) {
throw new MissingRequiredParameterError('strPassword');
}
super(strProjectID, "vCenterGuest");
this.objVcVirtualMachine = objVcVirtualMachine;
this.objVcSdkConnection = objVcVirtualMachine.sdkConnection;
this.objVcGuestInfo = objVcVirtualMachine.guest;
this.objVcGuestOperationsManager = this.objVcSdkConnection.guestOperationsManager;
this.objVcGuestAuthManager = this.objVcGuestOperationsManager.authManager;
this.objVcGuestFileManager = this.objVcGuestOperationsManager.fileManager;
this.objVcGuestProcessManager = this.objVcGuestOperationsManager.processManager;
this.objVcGuestWindowsRegistryManager = this.objVcGuestOperationsManager.guestWindowsRegistryManager;
this.objVcNamePasswordAuthentication = new VcNamePasswordAuthentication();
this.objVcNamePasswordAuthentication.username = strUsername;
this.objVcNamePasswordAuthentication.password = strPassword;
this.objVcNamePasswordAuthentication.interactiveSession = false;
this.objVcGuestAuthManager.validateCredentialsInGuest(this.objVcVirtualMachine, this.objVcNamePasswordAuthentication);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has a Crashed Guest Kernel ${this.objVcGuestInfo.guestKernelCrashed}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} is Guest Operations Ready ${this.objVcGuestInfo.guestOperationsReady}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has an Interactive Guest Operations Ready of ${this.objVcGuestInfo.interactiveGuestOperationsReady}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has a Guest Heart Beat Status of ${objVcVirtualMachine.guestHeartbeatStatus}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has a Guest State of ${this.objVcGuestInfo.guestState}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has a Guest State Change Supported of ${this.objVcGuestInfo.guestStateChangeSupported}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has a Tools Running Status of ${this.objVcGuestInfo.toolsRunningStatus}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has a Tools Install Type of ${this.objVcGuestInfo.toolsInstallType}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has a Tools Status of ${this.objVcGuestInfo.toolsStatus}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has a Tools Update Status of ${this.objVcGuestInfo.toolsUpdateStatus}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has a Tools Version of ${this.objVcGuestInfo.toolsVersion}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has a Tools Version Status of ${this.objVcGuestInfo.toolsVersionStatus}.`);
this.objLogger.info(`The Virtual Machine ${objVcVirtualMachine.name} has a Tools Version Status 2 of ${this.objVcGuestInfo.toolsVersionStatus2}.`);
}
}Class Functions:
Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
