本文整理汇总了Java中com.vmware.vim25.VirtualDisk类的典型用法代码示例。如果您正苦于以下问题:Java VirtualDisk类的具体用法?Java VirtualDisk怎么用?Java VirtualDisk使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
VirtualDisk类属于com.vmware.vim25包,在下文中一共展示了VirtualDisk类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: reconfigureDisks
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
/**
* Reconfigures VMware system disks and data disks.
*/
public void reconfigureDisks(VirtualMachineConfigSpec vmConfigSpec,
ManagedObjectReference vmwInstance) throws Exception {
logger.debug("");
long systemDiskMB = (long) paramHandler.getConfigDiskSpaceMB();
VirtualMachineConfigInfo configSpec = (VirtualMachineConfigInfo) vmw
.getServiceUtil().getDynamicProperty(vmwInstance, "config");
List<VirtualDevice> devices = configSpec.getHardware().getDevice();
VirtualDisk vdSystemDisk = getVMSystemDisk(devices,
configSpec.getName());
configureSystemDisk(vmConfigSpec, systemDiskMB, vdSystemDisk);
configureDataDisks(vmConfigSpec, devices, vdSystemDisk);
}
开发者ID:servicecatalog,项目名称:oscm,代码行数:19,代码来源:DiskManager.java
示例2: getDataDiskKey
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
private int getDataDiskKey() throws Exception {
List<VirtualDevice> devices = configSpec.getHardware().getDevice();
int countDisks = 0;
int key = -1;
for (VirtualDevice vdInfo : devices) {
if (vdInfo instanceof VirtualDisk) {
countDisks++;
if (countDisks == 2) {
key = ((VirtualDisk) vdInfo).getKey();
break;
}
}
}
return key;
}
开发者ID:servicecatalog,项目名称:oscm,代码行数:17,代码来源:VM.java
示例3: getDiskSizeInGB
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
private String getDiskSizeInGB(int disk) throws Exception {
String size = "";
List<VirtualDevice> devices = configSpec.getHardware().getDevice();
int countDisks = 0;
for (VirtualDevice vdInfo : devices) {
if (vdInfo instanceof VirtualDisk) {
countDisks++;
if (countDisks == disk) {
long gigabyte = ((VirtualDisk) vdInfo).getCapacityInKB()
/ 1024 / 1024;
size = Long.toString(gigabyte);
break;
}
}
}
return size;
}
开发者ID:servicecatalog,项目名称:oscm,代码行数:19,代码来源:VM.java
示例4: getCustomizationConfigSpecs
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
/**
* Get customization config spec for all the image disks if any
*/
private List<VirtualDeviceConfigSpec> getCustomizationConfigSpecs(ArrayOfVirtualDevice devices,
List<DiskStateExpanded> diskStates)
throws FinderException, InvalidPropertyFaultMsg, RuntimeFaultFaultMsg {
List<VirtualDeviceConfigSpec> specs = new ArrayList<>();
List<VirtualDisk> virtualDisks = devices.getVirtualDevice().stream()
.filter(d -> d instanceof VirtualDisk)
.map(d -> (VirtualDisk) d)
.collect(Collectors.toList());
for (VirtualDisk vd : virtualDisks) {
VirtualDeviceConfigSpec diskSpec = getBootDiskCustomizeConfigSpec(
findMatchingImageDiskState(vd, diskStates), vd);
if (diskSpec != null) {
specs.add(diskSpec);
}
}
return specs;
}
开发者ID:vmware,项目名称:photon-model,代码行数:22,代码来源:InstanceClient.java
示例5: detachDiskFromVM
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
public void detachDiskFromVM() throws Exception {
ArrayOfVirtualDevice devices = this.get
.entityProp(this.vm, VimPath.vm_config_hardware_device);
VirtualDisk vd = (VirtualDisk) findMatchingVirtualDevice(getListOfVirtualDisk(devices));
if (vd == null) {
throw new IllegalStateException(
String.format(
"Matching Virtual Disk is not for disk %s.",
this.diskState.documentSelfLink));
}
// Detach the disk from VM.
VirtualDeviceConfigSpec deviceConfigSpec = new VirtualDeviceConfigSpec();
deviceConfigSpec.setOperation(VirtualDeviceConfigSpecOperation.REMOVE);
deviceConfigSpec.setDevice(vd);
VirtualMachineConfigSpec spec = new VirtualMachineConfigSpec();
spec.getDeviceChange().add(deviceConfigSpec);
ManagedObjectReference reconfigureTask = getVimPort().reconfigVMTask(this.vm, spec);
TaskInfo info = VimUtils.waitTaskEnd(this.connection, reconfigureTask);
if (info.getState() == TaskInfoState.ERROR) {
VimUtils.rethrow(info.getError());
}
}
开发者ID:vmware,项目名称:photon-model,代码行数:25,代码来源:InstanceDiskClient.java
示例6: updateDiskLinksAfterProvisionSuccess
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
/**
* Update the details of the disk into compute state after the provisioning is successful
*/
private void updateDiskLinksAfterProvisionSuccess(ComputeState state, List<VirtualDevice> disks,
ProvisionContext ctx) {
ArrayList<String> diskLinks = new ArrayList<>(disks.size());
// Fill in the disk links from the input to the ComputeState, as it may contain non hdd
// disk as well. For ex, Floppy or CD-Rom
ctx.disks.stream().forEach(ds -> diskLinks.add(ds.documentSelfLink));
// Handle all the HDD disk
for (VirtualDevice disk : disks) {
DiskStateExpanded matchedDs = findMatchingDiskState(disk, ctx.disks);
if (disk.getBacking() instanceof VirtualDeviceFileBackingInfo) {
handleVirtualDiskUpdate(matchedDs, (VirtualDisk) disk, diskLinks, ctx);
} else if (disk instanceof VirtualCdrom) {
handleVirtualDeviceUpdate(matchedDs, DiskType.CDROM, disk, diskLinks, ctx);
} else if (disk instanceof VirtualFloppy) {
handleVirtualDeviceUpdate(matchedDs, DiskType.FLOPPY, disk, diskLinks, ctx);
} else {
continue;
}
}
state.diskLinks = diskLinks;
}
开发者ID:vmware,项目名称:photon-model,代码行数:27,代码来源:VSphereAdapterInstanceService.java
示例7: getVirtualDisk
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
protected VirtualDisk getVirtualDisk(VirtualMachine machine, Integer scsiId) {
// SCSIコントローラを取得
VirtualSCSIController scsiController = getSCSIController(machine);
// SCSIコントローラとSCSI IDが一致するディスクを取得
VirtualDisk disk = null;
for (VirtualDevice device : machine.getConfig().getHardware().getDevice()) {
if (device instanceof VirtualDisk) {
VirtualDisk tmpDisk = VirtualDisk.class.cast(device);
if (tmpDisk.getControllerKey() != null && tmpDisk.getControllerKey().equals(scsiController.getKey())) {
if (tmpDisk.getUnitNumber() != null && tmpDisk.getUnitNumber().equals(scsiId)) {
disk = tmpDisk;
break;
}
}
}
}
if (disk == null) {
// VirtualDiskが見つからない場合
throw new AutoException("EPROCESS-000518", scsiId);
}
return disk;
}
开发者ID:primecloud-controller-org,项目名称:primecloud-controller,代码行数:26,代码来源:VmwareProcessClient.java
示例8: addHardDisk
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
public void addHardDisk(String diskFilePath, VirtualDiskMode diskMode) throws Exception
{
VirtualMachineConfigSpec vmConfigSpec = new VirtualMachineConfigSpec();
VirtualDeviceConfigSpec diskSpec = new VirtualDeviceConfigSpec();
VirtualDeviceConfigSpec[] vdiskSpecArray = {diskSpec};
vmConfigSpec.setDeviceChange(vdiskSpecArray);
VirtualDiskFlatVer2BackingInfo diskfileBacking = new VirtualDiskFlatVer2BackingInfo();
diskfileBacking.setFileName(diskFilePath);
diskfileBacking.setDiskMode(diskMode.toString());
VirtualSCSIController scsiController = getFirstAvailableController(VirtualSCSIController.class);
int unitNumber = getFirstFreeUnitNumberForController(scsiController);
VirtualDisk disk = new VirtualDisk();
disk.setControllerKey(scsiController.key);
disk.setUnitNumber(unitNumber);
disk.setBacking(diskfileBacking);
//Unlike required by API ref, the capacityKB is optional. So skip setCapacityInKB() method.
disk.setKey(-100);
diskSpec.setOperation(VirtualDeviceConfigSpecOperation.add);
diskSpec.setDevice(disk);
Task task = vm.reconfigVM_Task(vmConfigSpec);
task.waitForTask(200, 100);
}
开发者ID:Juniper,项目名称:vijava,代码行数:31,代码来源:VirtualMachineDeviceManager.java
示例9: findHardDisk
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
public VirtualDisk findHardDisk(String diskName)
{
VirtualDevice[] devices = getAllVirtualDevices();
for(int i=0; i<devices.length; i++)
{
if(devices[i] instanceof VirtualDisk)
{
VirtualDisk vDisk = (VirtualDisk)devices[i];
if(diskName.equalsIgnoreCase(vDisk.getDeviceInfo().getLabel()))
{
return vDisk;
}
}
}
return null;
}
开发者ID:Juniper,项目名称:vijava,代码行数:18,代码来源:VirtualMachineDeviceManager.java
示例10: createRemoveDiskConfigSpec
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
static VirtualDeviceConfigSpec createRemoveDiskConfigSpec(
VirtualMachine vm, String diskName) throws Exception
{
VirtualDeviceConfigSpec diskSpec = new VirtualDeviceConfigSpec();
VirtualDisk disk = (VirtualDisk) findVirtualDevice(vm.getConfig(), diskName);
if(disk != null)
{
diskSpec.setOperation(VirtualDeviceConfigSpecOperation.remove);
diskSpec.setFileOperation(VirtualDeviceConfigSpecFileOperation.destroy);
diskSpec.setDevice(disk);
return diskSpec;
}
else
{
System.out.println("No device found: " + diskName);
return null;
}
}
开发者ID:Juniper,项目名称:vijava,代码行数:20,代码来源:VmDiskOp.java
示例11: createRemoveDiskConfigSpec
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
static VirtualDeviceConfigSpec createRemoveDiskConfigSpec(
VirtualMachineConfigInfo vmConfig, String diskName)
throws Exception
{
VirtualDeviceConfigSpec diskSpec =
new VirtualDeviceConfigSpec();
VirtualDisk disk = (VirtualDisk) findVirtualDevice(
vmConfig, diskName);
if(disk != null)
{
diskSpec.setOperation(
VirtualDeviceConfigSpecOperation.remove);
// remove the following line can keep the disk file
diskSpec.setFileOperation(
VirtualDeviceConfigSpecFileOperation.destroy);
diskSpec.setDevice(disk);
return diskSpec;
}
else
{
throw new Exception("No device found: " + diskName);
}
}
开发者ID:Juniper,项目名称:vijava,代码行数:25,代码来源:RemoveVmDisk.java
示例12: createDiskSpec
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
static VirtualDeviceConfigSpec createDiskSpec(String dsName,
int cKey, long diskSizeKB, String diskMode)
{
VirtualDeviceConfigSpec diskSpec =
new VirtualDeviceConfigSpec();
diskSpec.setOperation(VirtualDeviceConfigSpecOperation.add);
diskSpec.setFileOperation(
VirtualDeviceConfigSpecFileOperation.create);
VirtualDisk vd = new VirtualDisk();
vd.setCapacityInKB(diskSizeKB);
diskSpec.setDevice(vd);
vd.setKey(0);
vd.setUnitNumber(0);
vd.setControllerKey(cKey);
VirtualDiskFlatVer2BackingInfo diskfileBacking =
new VirtualDiskFlatVer2BackingInfo();
String fileName = "["+ dsName +"]";
diskfileBacking.setFileName(fileName);
diskfileBacking.setDiskMode(diskMode);
diskfileBacking.setThinProvisioned(true);
vd.setBacking(diskfileBacking);
return diskSpec;
}
开发者ID:Juniper,项目名称:vijava,代码行数:26,代码来源:CreateVM.java
示例13: createVirtualDisk
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
private VirtualDisk createVirtualDisk(String volumeName, int controllerKey, int unitNumber, int key, VmInputs vmInputs,
String parameter) throws Exception {
VirtualDiskFlatVer2BackingInfo diskFileBacking = new VirtualDiskFlatVer2BackingInfo();
diskFileBacking.setFileName(volumeName);
if (Operation.CREATE.toString().equalsIgnoreCase(parameter)) {
diskFileBacking.setDiskMode(DiskMode.PERSISTENT.toString());
} else {
diskFileBacking.setDiskMode(DiskMode.getValue(vmInputs.getVmDiskMode()));
}
VirtualDisk disk = new VirtualDisk();
disk.setBacking(diskFileBacking);
disk.setControllerKey(controllerKey);
disk.setUnitNumber(unitNumber);
disk.setKey(key);
disk.setCapacityInKB(vmInputs.getLongVmDiskSize() * DISK_AMOUNT_MULTIPLIER);
return disk;
}
开发者ID:CloudSlang,项目名称:cs-actions,代码行数:20,代码来源:VmUtils.java
示例14: getDiskCurrentTopBackingFileInChain
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
public String getDiskCurrentTopBackingFileInChain(String deviceBusName) throws Exception {
List<VirtualDevice> devices = _context.getVimClient().getDynamicProperty(_mor, "config.hardware.device");
if (devices != null && devices.size() > 0) {
for (VirtualDevice device : devices) {
if (device instanceof VirtualDisk) {
s_logger.info("Test against disk device, controller key: " + device.getControllerKey() + ", unit number: " + device.getUnitNumber());
VirtualDeviceBackingInfo backingInfo = ((VirtualDisk)device).getBacking();
if (backingInfo instanceof VirtualDiskFlatVer2BackingInfo) {
VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)backingInfo;
String deviceNumbering = getDeviceBusName(devices, device);
if (deviceNumbering.equals(deviceBusName))
return diskBackingInfo.getFileName();
}
}
}
}
return null;
}
开发者ID:apache,项目名称:cloudstack,代码行数:22,代码来源:VirtualMachineMO.java
示例15: getDiskInfoBuilder
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
public VirtualMachineDiskInfoBuilder getDiskInfoBuilder() throws Exception {
VirtualMachineDiskInfoBuilder builder = new VirtualMachineDiskInfoBuilder();
List<VirtualDevice> devices = _context.getVimClient().getDynamicProperty(_mor, "config.hardware.device");
if (devices != null && devices.size() > 0) {
for (VirtualDevice device : devices) {
if (device instanceof VirtualDisk) {
VirtualDeviceBackingInfo backingInfo = ((VirtualDisk)device).getBacking();
if (backingInfo instanceof VirtualDiskFlatVer2BackingInfo) {
VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)backingInfo;
while (diskBackingInfo != null) {
String deviceBusName = getDeviceBusName(devices, device);
builder.addDisk(deviceBusName, diskBackingInfo.getFileName());
diskBackingInfo = diskBackingInfo.getParent();
}
}
}
}
}
return builder;
}
开发者ID:apache,项目名称:cloudstack,代码行数:25,代码来源:VirtualMachineMO.java
示例16: getAllDiskDatastores
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
public List<Pair<Integer, ManagedObjectReference>> getAllDiskDatastores() throws Exception {
List<Pair<Integer, ManagedObjectReference>> disks = new ArrayList<Pair<Integer, ManagedObjectReference>>();
List<VirtualDevice> devices = _context.getVimClient().getDynamicProperty(_mor, "config.hardware.device");
if (devices != null && devices.size() > 0) {
for (VirtualDevice device : devices) {
if (device instanceof VirtualDisk) {
VirtualDeviceBackingInfo backingInfo = ((VirtualDisk)device).getBacking();
if (backingInfo instanceof VirtualDiskFlatVer2BackingInfo) {
VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)backingInfo;
disks.add(new Pair<Integer, ManagedObjectReference>(new Integer(device.getKey()), diskBackingInfo.getDatastore()));
}
}
}
}
return disks;
}
开发者ID:apache,项目名称:cloudstack,代码行数:19,代码来源:VirtualMachineMO.java
示例17: getAllIndependentDiskDevice
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
public VirtualDisk[] getAllIndependentDiskDevice() throws Exception {
List<VirtualDisk> independentDisks = new ArrayList<VirtualDisk>();
VirtualDisk[] allDisks = getAllDiskDevice();
if (allDisks.length > 0) {
for (VirtualDisk disk : allDisks) {
String diskMode = "";
if (disk.getBacking() instanceof VirtualDiskFlatVer1BackingInfo) {
diskMode = ((VirtualDiskFlatVer1BackingInfo)disk.getBacking()).getDiskMode();
} else if (disk.getBacking() instanceof VirtualDiskFlatVer2BackingInfo) {
diskMode = ((VirtualDiskFlatVer2BackingInfo)disk.getBacking()).getDiskMode();
} else if (disk.getBacking() instanceof VirtualDiskRawDiskMappingVer1BackingInfo) {
diskMode = ((VirtualDiskRawDiskMappingVer1BackingInfo)disk.getBacking()).getDiskMode();
} else if (disk.getBacking() instanceof VirtualDiskSparseVer1BackingInfo) {
diskMode = ((VirtualDiskSparseVer1BackingInfo)disk.getBacking()).getDiskMode();
} else if (disk.getBacking() instanceof VirtualDiskSparseVer2BackingInfo) {
diskMode = ((VirtualDiskSparseVer2BackingInfo)disk.getBacking()).getDiskMode();
}
if (diskMode.indexOf("independent") != -1) {
independentDisks.add(disk);
}
}
}
return independentDisks.toArray(new VirtualDisk[0]);
}
开发者ID:apache,项目名称:cloudstack,代码行数:27,代码来源:VirtualMachineMO.java
示例18: getFreeUnitNumberOnIDEController
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
public int getFreeUnitNumberOnIDEController(int controllerKey) throws Exception {
int freeUnitNumber = 0;
List<VirtualDevice> devices = (List<VirtualDevice>)_context.getVimClient().
getDynamicProperty(_mor, "config.hardware.device");
int deviceCount = 0;
int ideDeviceUnitNumber = -1;
if (devices != null && devices.size() > 0) {
for (VirtualDevice device : devices) {
if (device instanceof VirtualDisk && (controllerKey == device.getControllerKey())) {
deviceCount++;
ideDeviceUnitNumber = device.getUnitNumber();
}
}
}
if (deviceCount == 1) {
if (ideDeviceUnitNumber == 0) {
freeUnitNumber = 1;
} // else freeUnitNumber is already initialized to 0
} else if (deviceCount == 2) {
throw new Exception("IDE controller with key [" + controllerKey + "] already has 2 device attached. Cannot attach more than the limit of 2.");
}
return freeUnitNumber;
}
开发者ID:apache,项目名称:cloudstack,代码行数:25,代码来源:VirtualMachineMO.java
示例19: getDiskInfoBuilder
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
public static VirtualMachineDiskInfoBuilder getDiskInfoBuilder(List<VirtualDevice> devices) throws Exception {
VirtualMachineDiskInfoBuilder builder = new VirtualMachineDiskInfoBuilder();
if (devices != null) {
for (VirtualDevice device : devices) {
if (device instanceof VirtualDisk) {
VirtualDisk virtualDisk = (VirtualDisk)device;
VirtualDeviceBackingInfo backingInfo = virtualDisk.getBacking();
if (backingInfo instanceof VirtualDiskFlatVer2BackingInfo) {
VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)backingInfo;
String deviceBusName = VMwareUtil.getDeviceBusName(devices, virtualDisk);
while (diskBackingInfo != null) {
builder.addDisk(deviceBusName, diskBackingInfo.getFileName());
diskBackingInfo = diskBackingInfo.getParent();
}
}
}
}
}
return builder;
}
开发者ID:apache,项目名称:cloudstack,代码行数:27,代码来源:VMwareUtil.java
示例20: updateDiskConfiguration
import com.vmware.vim25.VirtualDisk; //导入依赖的package包/类
private void updateDiskConfiguration(VirtualMachineConfigSpec vmConfigSpec,
List<VirtualDevice> devices, int vdKey, long newDiskSpace)
throws Exception {
VirtualDisk vdDataDisk = findDataDisk(devices, vdKey);
if (vdDataDisk != null && newDiskSpace > vdDataDisk.getCapacityInKB()) {
logger.info("reconfigureDisks() extend data disk #" + vdKey
+ " space to " + newDiskSpace + " ("
+ vdDataDisk.getDeviceInfo().getLabel() + ")");
if (newDiskSpace < vdDataDisk.getCapacityInKB()) {
logger.error("Cannot reduce size of data disk "
+ vdDataDisk.getDeviceInfo().getLabel());
logger.error("Current disk space: "
+ vdDataDisk.getCapacityInKB() + " new disk space: "
+ newDiskSpace);
throw new Exception(Messages
.getAll("error_invalid_diskspacereduction").get(0)
.getText());
} else if (newDiskSpace > vdDataDisk.getCapacityInKB()) {
vdDataDisk.setCapacityInKB(newDiskSpace);
VirtualDeviceConfigSpec vmDeviceSpec = new VirtualDeviceConfigSpec();
vmDeviceSpec
.setOperation(VirtualDeviceConfigSpecOperation.EDIT);
vmDeviceSpec.setDevice(vdDataDisk);
vmConfigSpec.getDeviceChange().add(vmDeviceSpec);
} else {
logger.debug("Data disk size has not been changed. "
+ newDiskSpace + " KB");
}
}
}
开发者ID:servicecatalog,项目名称:oscm,代码行数:34,代码来源:DiskManager.java
注:本文中的com.vmware.vim25.VirtualDisk类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论