ovirt-engine-sdk-java 4.0.0 學習記錄
阿新 • • 發佈:2018-11-03
import org.ovirt.engine.sdk4.Connection; import org.ovirt.engine.sdk4.services.ClustersService; import org.ovirt.engine.sdk4.services.ClustersService.ListResponse; import org.ovirt.engine.sdk4.services.DataCentersService; import org.ovirt.engine.sdk4.services.HostsService; import org.ovirt.engine.sdk4.services.VmsService; import org.ovirt.engine.sdk4.types.Cluster; import org.ovirt.engine.sdk4.types.DataCenter; import org.ovirt.engine.sdk4.types.Host; import org.ovirt.engine.sdk4.types.Vm; import static org.ovirt.engine.sdk4.ConnectionBuilder.connection; import java.util.HashMap; import java.util.List; import java.util.Map; public class Test { private static final String URL = "https://svcloud.casvip.com:443/ovirt-engine/api"; private static final String USERNAME = "[email protected]"; private static final String PASSWORD = "Admin123***"; public static void main(String[] args) { // 1. 建立伺服器連線 Connection connection = connection() .url(URL) .user(USERNAME) .password(PASSWORD) .build(); // 2. 獲取資料中心 DataCentersService dataCentersSevice = connection.systemService().dataCentersService(); List<DataCenter> dataCenters = dataCentersSevice.list().send().dataCenters(); Map<String, String> dataCenterMap = new HashMap<String, String>(); System.out.println("資料中心:"); for(DataCenter dt : dataCenters) { System.out.println("\t名稱 - " + dt.name()); System.out.println("\t\tID - " + dt.id()); System.out.println("\t\tClusters - " + dt.clusters().size()); dataCenterMap.put(dt.id(), dt.name()); } // 3. 獲取叢集 ClustersService clustersService = connection.systemService().clustersService(); List<Cluster> clusters = clustersService.list().send().clusters(); Map<String, String> clusterMap = new HashMap<String, String>(); System.out.println("叢集:"); for(Cluster clu : clusters) { if(clu.id() != null) { System.out.println("\t名稱 - " + clu.name()); System.out.println("\t\tID - " + clu.id()); System.out.println("\t\tData Center - " + clu.dataCenter()); clusterMap.put(clu.id(), clu.name()); } } // 4.獲取主機 HostsService hostsService = connection.systemService().hostsService(); List<Host> hosts = hostsService.list().send().hosts(); Map<String, String> hostMap = new HashMap<String, String>(); System.out.println("主機:"); for(Host host : hosts) { System.out.println("\t名稱 - " + host.name()); System.out.println("\t\tID - " + host.id()); System.out.println("\t\tIP - " + host.address()); System.out.println("\t\tCluster - " + clusterMap.get(host.cluster().id())); System.out.println("\t\tData Center - " + host.cluster().dataCenter()); hostMap.put(host.id(), host.name()); } // 5. 獲取虛擬機器 VmsService vmsService = connection.systemService().vmsService(); List<Vm> vms = vmsService.list().send().vms(); System.out.println("虛擬機器:"); for(Vm vm : vms) { System.out.println("\t名稱 - " + vm.name()); System.out.println("\t\t註釋 - " + vm.description()); if(vm.host() != null) { System.out.println("\t\t主機 - " + hostMap.get(vm.host().id())); } System.out.println("\t\tIP - " + vm.display().address()); System.out.println("\t\tFQDN - " + vm.fqdn()); System.out.println("\t\tCluster - " + clusterMap.get(vm.cluster().id())); System.out.println("\t\tMemory - " + vm.memory()); System.out.println("\t\tOS - " + vm.os().type()); System.out.println("\t\tCPU - " + vm.cpu().architecture()); System.out.println("\t\tCPU Level - " + vm.cpu().level()); System.out.println("\t\t圖形介面 - " + vm.display().type().value()); System.out.println("\t\tStauts - " + vm.status().value()); System.out.println("\t\t上線時間 - " + vm.creationTime()); System.out.println("\t\t描述 - " + vm.comment()); } } }