VMware Global Community
sasama1997
Contributor
Contributor

既存想像マシンのディスクサイズを変更したいです。[source](SDK for Java)

こんにちは。

私は、仮想マシンのディスクサイズを変更したいです。

これまで二つ種類の方式で「ディスク変更」をしました。まだ実現できません。

エラーメッセージ: Message デバイス「0」では無効な構成です。

添付ファイルは二つ種類方式のソースです。できれば、問題点、或は正しい方法を教えてください。

1、添付ファイル「VMReconfig_01.java」は指摘によって修正したソースです。

2、添付ファイル「VMReconfig_02.java」は自分の考えで作ったソースです。先ず、元のディスクをゲットして、ディスクサイズだけを変更します。

添付ファイルは二つ種類方式のソースです。できれば、ソースの不具合、或いは正しい方法を教えてください。

以上です。よろしくお願いたします。

Reply
0 Kudos
1 Reply
sasama1997
Contributor
Contributor

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);

}

//**********************************************************

Reply
0 Kudos