예제 #1
0
def find_child(vm_name):
    e = None
    try:
        vm = FindChild(GetVmFolder(), vm_name)
    except Exception as e:
        vm = None
    return vm, e
def get_vm_uuid_by_name(vm_name):
    """ Returns vm_uuid for given vm_name, or None """
    si = vmdk_ops.get_si()
    try:
        vm = FindChild(GetVmFolder(), vm_name)
        return vm.config.uuid
    except:
        return None
def get_vm_config_path(vm_name):
    """Returns vm_uuid for given vm_name, or None """
    si = vmdk_ops.get_si()
    try:
        vm = FindChild(GetVmFolder(), vm_name)
        config_path = vm.summary.config.vmPathName
    except:
        return None

    # config path has the format like this "[datastore1] test_vm1/test_vm1/test_vm1.vmx"
    datastore, path = config_path.split()
    datastore = datastore[1:-1]
    datastore_path = os.path.join("/vmfs/volumes/", datastore)
    # datastore_path has the format like this /vmfs/volumes/datastore_name
    vm_config_path = os.path.join(datastore_path, path)
    return vm_config_path