Orchestrator Function: vCenter Virtual Machine Add Network

by Simon Sparks · 17 January 2026

To use this function add it to the class library file named vCenterServerService.ts

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: vCenterServerService.ts

Function: VcVirtualMachineAddNetwork

publicVcVirtualMachineAddNetwork(objVcVirtualMachine:VcVirtualMachine,objVcNetwork?:VcNetwork,objVcDistributedVirtualPortgroup?:VcDistributedVirtualPortgroup):void{

letobjVcVirtualDeviceConnectInfo:VcVirtualDeviceConnectInfo=newVcVirtualDeviceConnectInfo();
objVcVirtualDeviceConnectInfo.allowGuestControl=true;
objVcVirtualDeviceConnectInfo.connected=true;
objVcVirtualDeviceConnectInfo.startConnected=true;

letobjVcVirtualVmxnet3:VcVirtualVmxnet3=newVcVirtualVmxnet3();
objVcVirtualVmxnet3.unitNumber=0;
objVcVirtualVmxnet3.addressType="Generated";
objVcVirtualVmxnet3.wakeOnLanEnabled=true;
objVcVirtualVmxnet3.connectable=objVcVirtualDeviceConnectInfo;

if (objVcNetwork&&objVcNetworkinstanceofVcNetwork){
letobjVcVirtualEthernetCardLegacyNetworkBackingInfo:VcVirtualEthernetCardLegacyNetworkBackingInfo=newVcVirtualEthernetCardLegacyNetworkBackingInfo();
objVcVirtualEthernetCardLegacyNetworkBackingInfo.useAutoDetect=true;
objVcVirtualEthernetCardLegacyNetworkBackingInfo.deviceName=objVcNetwork.name;

objVcVirtualVmxnet3.backing=objVcVirtualEthernetCardLegacyNetworkBackingInfo;
}elseif (objVcDistributedVirtualPortgroup&&objVcDistributedVirtualPortgroupinstanceofVcDistributedVirtualPortgroup){

letobjVcDVPortgroupConfigInfo:VcDVPortgroupConfigInfo=objVcDistributedVirtualPortgroup.config;

letobjVcDistributedVirtualSwitch:VcDistributedVirtualSwitch=objVcDVPortgroupConfigInfo.distributedVirtualSwitch;

letobjVcDistributedVirtualSwitchPortConnection:VcDistributedVirtualSwitchPortConnection=newVcDistributedVirtualSwitchPortConnection();
objVcDistributedVirtualSwitchPortConnection.switchUuid=objVcDistributedVirtualSwitch.uuid;
objVcDistributedVirtualSwitchPortConnection.portgroupKey=objVcDistributedVirtualPortgroup.key;

letobjVcVirtualEthernetCardDistributedVirtualPortBackingInfo:VcVirtualEthernetCardDistributedVirtualPortBackingInfo=newVcVirtualEthernetCardDistributedVirtualPortBackingInfo();
objVcVirtualEthernetCardDistributedVirtualPortBackingInfo.port=objVcDistributedVirtualSwitchPortConnection;

objVcVirtualVmxnet3.backing=objVcVirtualEthernetCardDistributedVirtualPortBackingInfo;
}

letobjVcVirtualDeviceConfigSpec:VcVirtualDeviceConfigSpec=newVcVirtualDeviceConfigSpec();
objVcVirtualDeviceConfigSpec.operation=VcVirtualDeviceConfigSpecOperation.add;
objVcVirtualDeviceConfigSpec.device=objVcVirtualVmxnet3;

this.VcVirtualMachineReconfigureDevice(objVcVirtualMachine,objVcVirtualDeviceConfigSpec);
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like