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
public VcVirtualMachineAddNetwork(objVcVirtualMachine: VcVirtualMachine, objVcNetwork?: VcNetwork, objVcDistributedVirtualPortgroup?: VcDistributedVirtualPortgroup): void {
let objVcVirtualDeviceConnectInfo: VcVirtualDeviceConnectInfo = new VcVirtualDeviceConnectInfo();
objVcVirtualDeviceConnectInfo.allowGuestControl = true;
objVcVirtualDeviceConnectInfo.connected = true;
objVcVirtualDeviceConnectInfo.startConnected = true;
let objVcVirtualVmxnet3: VcVirtualVmxnet3 = new VcVirtualVmxnet3();
objVcVirtualVmxnet3.unitNumber = 0;
objVcVirtualVmxnet3.addressType = "Generated";
objVcVirtualVmxnet3.wakeOnLanEnabled = true;
objVcVirtualVmxnet3.connectable = objVcVirtualDeviceConnectInfo;
if (objVcNetwork && objVcNetwork instanceof VcNetwork) {
let objVcVirtualEthernetCardLegacyNetworkBackingInfo: VcVirtualEthernetCardLegacyNetworkBackingInfo = new VcVirtualEthernetCardLegacyNetworkBackingInfo();
objVcVirtualEthernetCardLegacyNetworkBackingInfo.useAutoDetect = true;
objVcVirtualEthernetCardLegacyNetworkBackingInfo.deviceName = objVcNetwork.name;
objVcVirtualVmxnet3.backing = objVcVirtualEthernetCardLegacyNetworkBackingInfo;
} else if (objVcDistributedVirtualPortgroup && objVcDistributedVirtualPortgroup instanceof VcDistributedVirtualPortgroup) {
let objVcDVPortgroupConfigInfo: VcDVPortgroupConfigInfo = objVcDistributedVirtualPortgroup.config;
let objVcDistributedVirtualSwitch: VcDistributedVirtualSwitch = objVcDVPortgroupConfigInfo.distributedVirtualSwitch;
let objVcDistributedVirtualSwitchPortConnection: VcDistributedVirtualSwitchPortConnection = new VcDistributedVirtualSwitchPortConnection();
objVcDistributedVirtualSwitchPortConnection.switchUuid = objVcDistributedVirtualSwitch.uuid;
objVcDistributedVirtualSwitchPortConnection.portgroupKey = objVcDistributedVirtualPortgroup.key;
let objVcVirtualEthernetCardDistributedVirtualPortBackingInfo: VcVirtualEthernetCardDistributedVirtualPortBackingInfo = new VcVirtualEthernetCardDistributedVirtualPortBackingInfo();
objVcVirtualEthernetCardDistributedVirtualPortBackingInfo.port = objVcDistributedVirtualSwitchPortConnection;
objVcVirtualVmxnet3.backing = objVcVirtualEthernetCardDistributedVirtualPortBackingInfo;
}
let objVcVirtualDeviceConfigSpec: VcVirtualDeviceConfigSpec = new VcVirtualDeviceConfigSpec();
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.
