To use this function add it to the class library file named PluginVCHostSystemService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: PluginVCHostSystemService.ts
Description: Orchestrator Function to Configure vCenter Host System Vmk Interface
Function ConfigureVmkInterface
publicConfigureVmkInterface(objVcClusterComputeResource:VcClusterComputeResource,strVmkNicType:"vsan"|"vMotion"|"vSphereProvisioning"|"faultToleranceLogging"|"vsanWitness"|"vSphereReplication"|"vSphereReplicationNFC"|"vSphereBackupNFC"|"nvmeTcp"|"nvmeRdma",strVmkNic:string="vmk0",strAction:"Add"|"Remove",intMTU:number=9000):void{
letarrVcHostSystem: VcHostSystem[]=objVcClusterComputeResource.host;
letobjVcHostVirtualNicSpec: VcHostVirtualNicSpec=newVcHostVirtualNicSpec();
objVcHostVirtualNicSpec.mtu=intMTU;
arrVcHostSystem.forEach((objVcHostSystem: VcHostSystem):void=>{
letobjVcHostConfigManager: VcHostConfigManager=objVcHostSystem.configManager;
letobjVcHostNetworkSystem: VcHostNetworkSystem=objVcHostConfigManager.networkSystem;
objVcHostNetworkSystem.updateVirtualNic(strVmkNic,objVcHostVirtualNicSpec);
letobjVcHostVirtualNicManager: VcHostVirtualNicManager=objVcHostConfigManager.virtualNicManager;
if (strAction==="Add"){
objVcHostVirtualNicManager.selectVnicForNicType(strVmkNicType,strVmkNic);
}elseif (strAction==="Remove"){
objVcHostVirtualNicManager.deselectVnicForNicType(strVmkNicType,strVmkNic);
}
if (strVmkNicType==="vsan"){
letarrVcVsanHostConfigInfoNetworkInfoPortConfig: VcVsanHostConfigInfoNetworkInfoPortConfig[];
if (strAction==="Add"){
letobjVcVsanHostConfigInfoNetworkInfoPortConfig: VcVsanHostConfigInfoNetworkInfoPortConfig=newVcVsanHostConfigInfoNetworkInfoPortConfig();
objVcVsanHostConfigInfoNetworkInfoPortConfig.device=strVmkNic;
arrVcVsanHostConfigInfoNetworkInfoPortConfig.push(objVcVsanHostConfigInfoNetworkInfoPortConfig);
}elseif (strAction==="Remove"){
arrVcVsanHostConfigInfoNetworkInfoPortConfig= [];
}
letobjVcVsanHostConfigInfoNetworkInfo: VcVsanHostConfigInfoNetworkInfo=newVcVsanHostConfigInfoNetworkInfo();
objVcVsanHostConfigInfoNetworkInfo.port=arrVcVsanHostConfigInfoNetworkInfoPortConfig;
letobjVcVsanHostConfigInfo: VcVsanHostConfigInfo=newVcVsanHostConfigInfo();
objVcVsanHostConfigInfo.networkInfo=objVcVsanHostConfigInfoNetworkInfo;
letobjVcHostVsanSystem: VcHostVsanSystem=objVcHostConfigManager.vsanSystem;
objVcHostVsanSystem.updateVsan_Task(objVcVsanHostConfigInfo);
}
});
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
