VMware {code} Community
Samadhan
Contributor
Contributor

Customise Linux Vm using Java Vsphare Automation SDK 6.5

I want to attach mutliple nic's to a linux vm. I found getNicSettingMap function but didn't see getNicSettingMap() on CustomizationSpec object as well as I never seen setDnsServerList function in CustomizationGlobalIPSettings object in Vsphare 6.5.

Please suggest me on this or provide vm customization sample code for vsphare 6.5 if anybody have.

My Code is look like...

ManagedObjectReference vmRef = getMOREFs.inContainerByType(serviceContent.getRootFolder(), "VirtualMachine").get(vmName);

CustomizationSpec customSpec = new CustomizationSpec();

CustomizationLinuxOptions linuxOptions = new CustomizationLinuxOptions();

customSpec.setOptions(linuxOptions);

CustomizationLinuxPrep linuxPrep = new CustomizationLinuxPrep();

linuxPrep.setDomain(domain);

CustomizationFixedName fixedName = new CustomizationFixedName();

fixedName.setName(computerName);///heare we need to set the host name

linuxPrep.setHostName(fixedName);

customSpec.setIdentity(linuxPrep);

//Setting Public Ip Nic

CustomizationGlobalIPSettings gIp = new CustomizationGlobalIPSettings();

if(alternateDns!=null && !"".equals(alternateDns))

{   

gIp.setDnsServerList(new String[]{cloudCommonIpAddressPool.getPubliPrivateDns1(),cloudCommonIpAddressPool.getPubliPrivateDns2(),alternateDns});

}else{

gIp.setDnsServerList(new String[]{cloudCommonIpAddressPool.getPubliPrivateDns1(),cloudCommonIpAddressPool.getPubliPrivateDns2()});

}

customSpec.setGlobalIPSettings(gIp);

//Backup Ip Nic

CustomizationAdapterMapping backupAdaptorMap = new CustomizationAdapterMapping();

CustomizationIPSettings backAdapter = new CustomizationIPSettings();

CustomizationFixedIp backFixedIp = new CustomizationFixedIp();

backFixedIp.setIpAddress(cloudCommonIpAddressPool.getBackupIpAddress());

backAdapter.setIp(backFixedIp);

backAdapter.setSubnetMask(cloudCommonIpAddressPool.getBackupSubnetmask());

backupAdaptorMap.setAdapter(backAdapter);

CustomizationAdapterMapping[] nicSettingMap = new CustomizationAdapterMapping[] {backupAdaptorMap};

customSpec.setNicSettingMap(nicSettingMap); ---- This function is not available in Vsphare 6.5   

vimPort.customizeVMTask(vmRef, custSpec);

CustomizationAdapterMapping backupAdaptorMap = new CustomizationAdapterMapping();

        CustomizationIPSettings backAdapter = new CustomizationIPSettings();

        CustomizationFixedIp backFixedIp = new CustomizationFixedIp();

Thanks in Advance.

Samadhan Patekar

0 Kudos
1 Reply
Samadhan
Contributor
Contributor

Wevv....

Solved by adding missing setter methods in vim25.jar file...!!

0 Kudos