こんにちは。
私は、仮想マシンのディスクサイズを変更したいです。
これまで二つ種類の方式で「ディスク変更」をしました。まだ実現できません。
エラーメッセージ: Message デバイス「0」では無効な構成です。
添付ファイルは二つ種類方式のソースです。できれば、問題点、或は正しい方法を教えてください。
1、添付ファイル「VMReconfig_01.java」は指摘によって修正したソースです。
2、添付ファイル「VMReconfig_02.java」は自分の考えで作ったソースです。先ず、元のディスクをゲットして、ディスクサイズだけを変更します。
添付ファイルは二つ種類方式のソースです。できれば、ソースの不具合、或いは正しい方法を教えてください。
以上です。よろしくお願いたします。
Thank you.
It was possible to do.
The revision part is the following.
//********************************************************
VirtualDeviceConfigSpec diskSpec = new VirtualDeviceConfigSpec();
VirtualDisk disk = null;
VirtualMachineConfigInfo vmConfigInfo =
(VirtualMachineConfigInfo)cb.getServiceUtil().getDynamicProperty(_virtualMachine, "config");
VirtualDiskFlatVer2BackingInfo diskfileBacking
= new VirtualDiskFlatVer2BackingInfo();
VirtualDevice [] test = vmConfigInfo.getHardware().getDevice();
for(int k=0;k
if(test[k].getDeviceInfo().getLabel().equalsIgnoreCase(
cb.get_option("value"))){
disk = (VirtualDisk)test[k];
}
}
if(disk != null) {
int size = 1024 * 1024 * 26;
disk.setCapacityInKB(size);
diskSpec.setOperation(VirtualDeviceConfigSpecOperation.edit);
//diskSpec.setFileOperation(VirtualDeviceConfigSpecFileOperation.replace);
diskSpec.setDevice(disk);
}
if (diskSpec != null){
VirtualDeviceConfigSpec [] vdiskSpecArray = {diskSpec};
vmConfigSpec.setDeviceChange(vdiskSpecArray);
}
//**********************************************************