vSphere SDK for Java 示例
使用库:yavijava
yavijava依赖库:
dependencies { compile 'org.apache.directory.studio:org.dom4j.dom4j:1.6.1'
compile 'log4j:log4j:1.2.17'
compile 'org.apache.httpcomponents:httpclient:4.3.5'
testCompile 'org.mockito:mockito-all:1.9.5'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
示例代码:
package com.vmware.event.connect;import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import java.util.Calendar;
import com.vmware.vim25.*;
import com.vmware.vim25.mo.*;
public class Connect {
public static ServiceInstance serviceInstance;
public ServiceInstance initialization() throws RemoteException, MalformedURLException {
ServiceInstance si = new ServiceInstance(new URL(
"https://172.16.65.241/sdk"), "administrator@vsphere.local", "VMware1!", true);
return si;
}
public void searchVmByName(String name){
}
public void searchHostByName(String name){
}
public void searchVnicByName(String name){
}
public void getInfoByEvent(Event event){
Integer eventKey = event.getKey();
Class<? extends Event> eventType = event.getClass();
String hostName = event.getHost().getName();
String virtualMachineName = event.getVm().getName();
}
public static void main(String[] args) throws RemoteException {
Connect connect = new Connect();
try {
serviceInstance = connect.initialization();
} catch (RemoteException | MalformedURLException e) {
e.printStackTrace();
}
Folder rootFolder = serviceInstance.getRootFolder();
// get dataCenter
String dcName = "DC";
Datacenter datacenter = (Datacenter) new InventoryNavigator(rootFolder).searchManagedEntity("Datacenter", dcName);System.out.println("Data center Name::" + datacenter.getName());
ManagedEntity[] dcenters = new InventoryNavigator(rootFolder).searchManagedEntities("Datacenter");
System.out.println("Number of Datacenters in vCenter::" + dcenters.length);
// get host
String hostName = "esxi.dev-pso.com";
HostSystem host = (HostSystem) new InventoryNavigator(rootFolder).searchManagedEntity("HostSystem", hostName);
System.out.println("Host Name::" + host.getName());
ManagedEntity[] hosts = new InventoryNavigator(rootFolder).searchManagedEntities("HostSystem");
System.out.println("Number of hosts in vCenter ::" + hosts.length);
// get cluster
String clusterName = "Cluster";
ClusterComputeResource cluster = (ClusterComputeResource) new InventoryNavigator(rootFolder)
.searchManagedEntity("ClusterComputeResource", clusterName);
System.out.println("Cluster Name::" + cluster);
ManagedEntity[] clusters = new InventoryNavigator(rootFolder).searchManagedEntities("ClusterComputeResource");
System.out.println("Number of clusters in vCenter ::" + clusters.length);
// get dataStore
String dataStore = "VMFS01";
Datastore datastore = (Datastore) new InventoryNavigator(rootFolder).searchManagedEntity("Datastore", dataStore);
System.out.println("Datastore Name::" + datastore);
ManagedEntity[] datastores = new InventoryNavigator(rootFolder).searchManagedEntities("Datastore");
System.out.println("Number of datastores in vCenter ::"+ datastores.length);
}
}
以上是 vSphere SDK for Java 示例 的全部内容, 来源链接: utcz.com/z/393403.html