Function: vCenter Host System Configure Vmk Interface

by Simon Sparks · 23 March 2026

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.

You may also like