1. 程式人生 > >Vijava 學習筆記之 VirtualMachine(虛擬磁碟已用容量和空閒容量)

Vijava 學習筆記之 VirtualMachine(虛擬磁碟已用容量和空閒容量)

package com.vmware.util;

import com.vmware.vim25.mo.ServiceInstance;

import java.net.URL;

/**
 * Created by vixuan-008 on 2015/4/17.
 */
public class Session {
    private static String __serverName = "";
    private static String __userName = "";
    private static String __passWord = "";
    private static String __url = "";


    private static ServiceInstance serviceInstance = null;


    public synchronized static ServiceInstance getInstance(String serverName, String userName, String passWord) throws Exception{

        initServiceInstance(serverName, userName, passWord);
        return serviceInstance;

    }


    public static void initServiceInstance(String ip, String userName, String passWord) throws Exception {
        __serverName = ip;
        __userName = userName;
        __passWord = passWord;

        __url = "https://" + __serverName + "/sdk";
         if(serviceInstance==null){
             serviceInstance = new ServiceInstance(
                     new URL(__url), userName, passWord, true);
         }



    }

}

package com.vmware.client;

import com.vmware.util.Session;
import com.vmware.vim25.VirtualMachineStorageSummary;
import com.vmware.vim25.VirtualMachineSummary;
import com.vmware.vim25.mo.*;

/**
 * Created by vixuan-008 on 2015/4/17.
 */
public class VirtualMachineDiskPercent {
    public static void main(String[] args){
        try{
            //獲取 HostSystem
            ServiceInstance serviceInstance= Session.getInstance("地址", "使用者名稱", "密碼");

            Folder rootFolder = serviceInstance.getRootFolder();
            ManagedEntity mes=new InventoryNavigator(rootFolder).searchManagedEntity("VirtualMachine", "vCenter");
            if(mes==null){
                serviceInstance.getServerConnection().logout();
                throw  new Exception();
            }else{
                //虛擬機器 虛擬磁碟大小
                VirtualMachine virtualMachine=(VirtualMachine)mes;
                VirtualMachineSummary virtualMachineSummary=virtualMachine.getSummary();
                VirtualMachineStorageSummary virtualMachineStorageSummary=virtualMachineSummary.storage;
                long total=virtualMachineStorageSummary.committed;//已用容量
                System.out.println("virtual disk size:"+total);
                long unshared=virtualMachineStorageSummary.unshared;
                System.out.println("virtual disk unshared:"+unshared);
               long uncommit= virtualMachineStorageSummary.uncommitted;//空閒容量
                System.out.println("virtual disk uncommit:"+uncommit);



            }
            serviceInstance.getServerConnection().logout();

        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

相關截圖: