dbiswas91
Contributor
Contributor

How to get vm object using moref_id pyvmomi

I have vm moref_id, want to retrieve vm object with one query?  like in perl 

my $vm = Vim::get_view(mo_ref => $vm_moref);
 
need same on python using pyvmomi utility.
 
 
Reply
0 Kudos
doskiran
Enthusiast
Enthusiast

From my understanding, internally, Vim::get_view() also retrieves from the VM Inventory view list.

Eg: Same code in  PyVmomi to get VM object using vm_moid

# vm_morref
: "vm-xx" or "vim.VirtualMachine:vm-xx"

def getVMFromMOR(si, vm_moref):
    vm_obj = None
    view_ref = si.content.viewManager.CreateContainerView(container=si.content.rootFolder,
                                                          type=[pyVmomi.vim.VirtualMachine], recursive=True)
    for managed_object_ref in view_ref.view:
        if vm_moref in str(managed_object_ref):
            vm_obj = managed_object_ref
            break
    return vm_obj

 

Reply
0 Kudos