对VMware vSphere WebService SDK使用的一些总结

1、善用mob(Managed Object Browser),地址一般是https://vcenter的FQDN/mob,mob可以让你更好的理解SDK中的那些例子,以及根据自己的业务逻辑改写一些功能。下图为mob首页图,图中的content为整个Managed Object的顶层,从这里进去可以找到整个vcenter server中所有对象及其属性。

2、善用GetMOREF类(具体位置在VMware-vSphere-SDK-6.0.0-2561048\SDK\vsphere-ws\java\JAXWS\samples\com\vm

ware\connection\helpers),这是VMware官方提供的一个工具类,里面的每个函数对于开发都很有用。例如

List<VirtualDevice> listvd = ((ArrayOfVirtualDevice) getMOREFs
				.entityProps(vmMor, new String[] { "config.hardware.device" })
				.get("config.hardware.device")).getVirtualDevice();

这是VMReconfig.java中的一个片段,这段代码的作用就是去获取指定虚拟机对象的所有设备,vmMor可以通过GetMOREF类中的vmByVMname函数去获得。至于config.hardware.device,就需要用mob一层一层点进去看了,相信结合mob就能理解为什么要这么写。

ManagedObjectReference propCol = connection.getServiceContent().getPropertyCollector();
ManagedObjectReference vmRef = getMOREFs.vmByVMname(virtualMachineName,propCol);

上面这段代码的作用就是如何根据虚拟机名去获取其对应的ManagedObjectReference

3、善用SDK里面的文档首页为VMware-vSphere-SDK-6.0.0-2561048/SDK/vsphere-ws/docs/ReferenceGuide/index.html

根据需求,在左侧导航栏对应的去找。

对SDK我整理了一下,使其能够在idea中编译运行,项目地址在https://github.com/wulikanhua/VMwareProject

猜你喜欢

转载自blog.csdn.net/u013385554/article/details/81208701