1. 程式人生 > >ovirt-engine-sdk-java 4.0.0 學習記錄

ovirt-engine-sdk-java 4.0.0 學習記錄

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());         }     } }