예제 #1
0
def list_all_vms(si):
    content = si.RetrieveContent()
    for child in content.rootFolder.childEntity:
        if hasattr(child, 'vmFolder'):
            datacenter = child
            vm_folder = datacenter.hostFolder
            vm_list = vm_folder.childEntity
            for vm in vm_list:
                vm_helper.print_vm_info(vm)
def parse_service_instance(service_instance):
    """
    Print some basic knowledge about your environment as a Hello World
    equivalent for pyVmomi
    """

    content = service_instance.RetrieveContent()
    object_view = content.viewManager.CreateContainerView(content.rootFolder,
                                                          [], True)
    for obj in object_view.view:
        print obj
        if isinstance(obj, vim.VirtualMachine):
            vm.print_vm_info(obj)

    object_view.Destroy()
    return
예제 #3
0
def parse_service_instance(service_instance):
    """
    Print some basic knowledge about your environment as a Hello World
    equivalent for pyVmomi
    """

    content = service_instance.RetrieveContent()
    object_view = content.viewManager.CreateContainerView(
        content.rootFolder, [], True)
    for obj in object_view.view:
        print(obj)
        if isinstance(obj, vim.VirtualMachine):
            vm.print_vm_info(obj)

    object_view.Destroy()
    return
예제 #4
0
def print_vms_by_folder(args, si):
    content = si.RetrieveContent()
    for child in content.rootFolder.childEntity:
        if hasattr(child, 'vmFolder'):  # is object a datacenter ?
            datacenter = child
            if args.view == "hosts":
                vm_folders = datacenter.hostFolder
                for folder in vm_folders.childEntity:
                    print("{0} -- {1}".format(type(folder), folder.name))
                    if folder.name == args.fname:
                        resources = folder.childEntity
                        for res in resources:
                            print("Compute Resource: %s" % res.name)
                            for vm in res.resourcePool.vm:
                                vm_helper.print_vm_info(vm)
            if args.view == "vms":
                vm_folders = datacenter.vmFolder
                for folder in vm_folders.childEntity:
                    print("{0} -- {1}".format(type(folder), folder.name))

        else:
            print("Folder %s not found" % args.fname)
예제 #5
0
def print_vm_info(args, si):
    vm = si.content.searchIndex.FindByIp(None, get_ip_by_host(args.vmname),
                                         True)
    if vm is None:
        raise RuntimeError('VM %s not found' % args.vmname)
    vm_helper.print_vm_info(vm)