private <T extends VirtualDevice> T findVirtualDevice(Class<T> type, List<VirtualDevice> virtualDevicesList, VmInputs vmInputs) { for (VirtualDevice device : virtualDevicesList) { if (type.isAssignableFrom(device.getClass())) { if (vmInputs.getUpdateValue().equalsIgnoreCase(device.getDeviceInfo().getLabel())) { return (T) device; } } } return null; } }
private Map<Integer, VirtualDevice> getVirtualDeviceMap(List<VirtualDevice> virtualDevicesList) { Map<Integer, VirtualDevice> deviceMap = new HashMap<>(); for (VirtualDevice virtualDevice : virtualDevicesList) { deviceMap.put(virtualDevice.getKey(), virtualDevice); } return deviceMap; } }
private List<Integer> getControllerKey(ConnectionResources connectionResources, ManagedObjectReference vmMor) throws InvalidPropertyFaultMsg, RuntimeFaultFaultMsg { List<VirtualDevice> virtualDevicesList = ((ArrayOfVirtualDevice) connectionResources.getMoRefHandler() .entityProps(vmMor, new String[]{CONFIG_HARDWARE_DEVICE}).get(CONFIG_HARDWARE_DEVICE)) .getVirtualDevice(); Map<Integer, VirtualDevice> deviceMap = getVirtualDeviceMap(virtualDevicesList); for (VirtualDevice virtualDevice : virtualDevicesList) { if (virtualDevice instanceof VirtualSCSIController) { VirtualSCSIController scsiController = (VirtualSCSIController) virtualDevice; int[] slots = new int[MAXIMUM_SCSI_SLOTS]; slots[RESERVED_SCSI_SLOT] = OCCUPIED; List<Integer> deviceKeyList = scsiController.getDevice(); for (Integer deviceKey : deviceKeyList) { if (deviceMap.get(deviceKey).getUnitNumber() != null) { slots[deviceMap.get(deviceKey).getUnitNumber()] = OCCUPIED; } } for (int counter = 0; counter < slots.length; counter++) { if (slots[counter] != OCCUPIED) { List<Integer> controllerKeys = new ArrayList<>(); controllerKeys.add(scsiController.getKey()); controllerKeys.add(counter); return controllerKeys; } } } } throw new RuntimeException(ErrorMessages.SCSI_CONTROLLER_CAPACITY_MAXED_OUT); }
cdrom.setControllerKey(vd.getKey()); cdrom.setUnitNumber(vd.getUnitNumber()); cdrom.setKey(-1); for(int k=0;k<test.length;k++) if(test[k].getDeviceInfo().getLabel().equalsIgnoreCase(clp.get_option("value")))
vdiskList.add((VirtualDisk) vds[k]); if (vds[k].getDeviceInfo().getLabel() .equalsIgnoreCase("SCSI Controller 0")) { key = vds[k].getKey();
static VirtualDeviceConfigSpec createAddCdConfigSpec(VirtualMachine vm, String dsName, String isoName) throws Exception { VirtualDeviceConfigSpec cdSpec = new VirtualDeviceConfigSpec(); cdSpec.setOperation(VirtualDeviceConfigSpecOperation.add); VirtualCdrom cdrom = new VirtualCdrom(); VirtualCdromIsoBackingInfo cdDeviceBacking = new VirtualCdromIsoBackingInfo(); DatastoreSummary ds = findDatastoreSummary(vm, dsName); cdDeviceBacking.setDatastore(ds.getDatastore()); cdDeviceBacking.setFileName("[" + dsName +"] "+ vm.getName() + "/" + isoName + ".iso"); VirtualDevice vd = getIDEController(vm); cdrom.setBacking(cdDeviceBacking); cdrom.setControllerKey(vd.getKey()); cdrom.setUnitNumber(vd.getUnitNumber()); cdrom.setKey(-1); cdSpec.setDevice(cdrom); return cdSpec; }
/** * Create an instance of {@link VirtualDevice } * */ public VirtualDevice createVirtualDevice() { return new VirtualDevice(); }
public VirtualDevice getDeviceByBackingFileName(String name) { if(name==null) { throw new IllegalArgumentException("name must not be null!"); } VirtualDevice[] devices = this.getAllVirtualDevices(); for(VirtualDevice device : devices) { VirtualDeviceBackingInfo bi = device.getBacking(); if(bi instanceof VirtualDeviceFileBackingInfo) { String fileName = ((VirtualDeviceFileBackingInfo)bi).getFileName(); if(name.equals(fileName)) return device; } } return null; }
private static VirtualDeviceConfigSpec createDeviceConfig(VirtualMachine vm, String mac, VirtualEthernetCardDistributedVirtualPortBackingInfo nicBacking) { VirtualDeviceConfigSpec configSpec = null; VirtualMachineConfigInfo vmConfigInfo = vm.getConfig(); VirtualDevice[] vds = vmConfigInfo.getHardware().getDevice(); int i = 0; while (configSpec == null && i < vds.length) { if (vds[i] instanceof VirtualEthernetCard && ((VirtualEthernetCard) vds[i]).getMacAddress().equals(mac)) { configSpec = new VirtualDeviceConfigSpec(); configSpec.setOperation(VirtualDeviceConfigSpecOperation.edit); vds[i].setBacking(nicBacking); configSpec.setDevice(vds[i]); } i++; } return configSpec; }
cdrom.setControllerKey(vd.getKey()); cdrom.setUnitNumber(vd.getUnitNumber()); cdrom.setKey(-1); for(int k=0;k<test.length;k++) if(test[k].getDeviceInfo().getLabel().equalsIgnoreCase(clp.get_option("value")))
for(int k=0;k<test.length;k++) if(test[k].getDeviceInfo().getLabel().equalsIgnoreCase("SCSI Controller 0")) ckey = test[k].getKey(); for(int k=0;k<test.length;k++) if(test[k].getDeviceInfo().getLabel().equalsIgnoreCase(clp.get_option("value")))
static VirtualDeviceConfigSpec createAddCdConfigSpec(VirtualMachine vm, String dsName, String isoName) throws Exception { VirtualDeviceConfigSpec cdSpec = new VirtualDeviceConfigSpec(); cdSpec.setOperation(VirtualDeviceConfigSpecOperation.add); VirtualCdrom cdrom = new VirtualCdrom(); VirtualCdromIsoBackingInfo cdDeviceBacking = new VirtualCdromIsoBackingInfo(); DatastoreSummary ds = findDatastoreSummary(vm, dsName); cdDeviceBacking.setDatastore(ds.getDatastore()); cdDeviceBacking.setFileName("[" + dsName +"] "+ vm.getName() + "/" + isoName + ".iso"); VirtualDevice vd = getIDEController(vm); cdrom.setBacking(cdDeviceBacking); cdrom.setControllerKey(vd.getKey()); cdrom.setUnitNumber(vd.getUnitNumber()); cdrom.setKey(-1); cdSpec.setDevice(cdrom); return cdSpec; }
for(int k=0;k<test.length;k++) if(test[k].getDeviceInfo().getLabel().equalsIgnoreCase("SCSI Controller 0")) ckey = test[k].getKey(); for(int k=0;k<test.length;k++) if(test[k].getDeviceInfo().getLabel().equalsIgnoreCase(clp.get_option("value")))
private static VirtualDevice findVirtualDevice( VirtualMachineConfigInfo vmConfig, String name) { VirtualDevice[] devices = vmConfig.getHardware().getDevice(); for (int i = 0; i < devices.length; i++) { if (devices[i].getDeviceInfo().getLabel().equals(name)) { return devices[i]; } } return null; }
if (ideController != null) { cdSpec = vmUtils.getPopulatedCDSpecs(volumeName, dataStoreRef, null, VirtualDeviceConfigSpecOperation.ADD, ideController.getKey(), DEFAULT_CD_ROM_UNIT_NUMBER, DEFAULT_CD_ROM_KEY, Operation.ADD.toString(), vmInputs);
int[] slots = new int[MAXIMUM_ATAPI_SLOTS]; for (Integer deviceKey : deviceList) { if (deviceMap.get(deviceKey).getUnitNumber() != null) { slots[deviceMap.get(deviceKey).getUnitNumber()] = OCCUPIED;
for(int k=0;k<vds.length;k++) if(vds[k].getDeviceInfo().getLabel().equalsIgnoreCase("SCSI Controller 0")) key = vds[k].getKey();
private static VirtualDevice findVirtualDevice( VirtualMachineConfigInfo vmConfig, String name) { VirtualDevice [] devices = vmConfig.getHardware().getDevice(); for(int i=0;i<devices.length;i++) { if(devices[i].getDeviceInfo().getLabel().equals(name)) { return devices[i]; } } return null; }
private static VirtualDevice findVirtualDevice( VirtualMachineConfigInfo vmConfig, String name) { VirtualDevice [] devices = vmConfig.getHardware().getDevice(); for(int i=0;i<devices.length;i++) { if(devices[i].getDeviceInfo().getLabel().equals(name)) { return devices[i]; } } return null; }
private static VirtualDevice findVirtualDevice( VirtualMachineConfigInfo vmConfig, String name) { VirtualDevice [] devices = vmConfig.getHardware().getDevice(); for(int i=0;i<devices.length;i++) { if(devices[i].getDeviceInfo().getLabel().equals(name)) { return devices[i]; } } return null; }