VMware的开发接口很多,本文以java开发接口为例:
环境准备:jdk 1.5 ,eclipse 3.7.0(Indigo),Tomcat5.5,Oracle 10g,vSphere Web Services SDK4.1
VMware接口有两个包,vim.jar和vim25.jar,主要区别是vim.jar是兼容老版本(VCenter3.5?),vim25.jar是新版本用(VCneter3.5已后)。我们用新版本开发就行。
VMware最重要的模型是MOR对象模型(ManagedObjectReference),很多对象都被抽象成这个模型(Model),例如:虚拟机,模板,主机,目录夹等等。
可以通过https://127.0.0.1/mob 的URL察看这个模型的映射关系。
VMware虚拟机对象和模板对象是同一个MOR对象模型,区别只有一个属性标志位的区别。(不太理解为什么?)
VMware主机分成Host和ComputerResouce两个对象。可能是为了群集而做的对象模型。
VMware的虚拟机克隆方法有BUG ,不能从模板直接克隆成一个虚拟机。反过来则可以。
具体方法为:
//克隆虚机
ManagedObjectReference cloneTask = service.cloneVM_Task(vmRef, vmFolderRef, cloneName, cloneSpec);
某些功能需要 Vmtools支持,等于在操作系统上安装了插件。例如:获取IP地址的功能。
具体方法为:
GuestInfo gInfo= (GuestInfo) BrowserTools.getObjectProperty(
moRef, "guest");
String sIP=gInfo.getIpAddress();