Как получить ссылку на VirtualMachine с помощью VMware Java vSphere SDK?

Я знаком с использованием VMware VIM API на C# с помощью VMware.Vim.dll, предоставленного в PowerCLI. Теперь я хочу иметь возможность программировать с этим API, используя Java, но я не могу найти ему эквивалент. com.vmware.vim.jar в vSphere SDK, похоже, не содержит всех классов, упомянутых в справочнике по API здесь:

http://www.vmware.com/support/developer/vc-sdk/

В частности, в Java я не могу понять, как получить экземпляр VirtualMachine. В C# я могу получить все виртуальные машины на отдельном гипервизоре, выполнив следующие действия:

        String serviceUrl = "https://192.168.1.100/sdk/vimService";
        String username = "root";
        String password = "MyPassword";

        VimClient client = new VimClient();
        client.Connect(serviceUrl);
        client.Login(username, password);

        var virtualMachines = client.FindEntityViews(typeof(VirtualMachine), client.ServiceContent.RootFolder, null, null).OfType<VirtualMachine>();

Как я могу получить это с помощью Java?


person lehn0058    schedule 17.11.2013    source источник


Ответы (2)


Использование VMware Infrastructure (vSphere) Java API, т. е. приведенный ниже код vijava, позволяет найти все виртуальные машины в инвентаре.

    String serviceUrl = "https://Your IP Address/sdk";
    String username = "root";
    String password = "MyPassword";      
    ServiceInstance si = new ServiceInstance(new URL(serviceUrl), username , password     ,     true);
    Folder rootFolder = si.getRootFolder();
    ManagedEntity[] entities = new InventoryNavigator(rootFolder).searchManagedEntities("VirtualMachine");

    for (ManagedEntity e : entities) {

        vm = (VirtualMachine) e;
        System.out.println("vm=" + vm.getName());
    }

OR

http://sourceforge.net/p/vijava/discussion/826592/thread/a6c44685#5b30 --- в среде кластера

person ants    schedule 24.04.2014

Я обнаружил, что API Java инфраструктуры VMware (vSphere) может сделать это:

http://sourceforge.net/projects/vijava/files/vijava/

person lehn0058    schedule 17.11.2013