def test_build_selection_spec(self): client_factory = mock.Mock() sel_spec = vim_util.build_selection_spec(client_factory, "test") self.assertEqual("test", sel_spec.name)
def build_recursive_traversal_spec_root(client_factory): """ Builds the Recursive Traversal Spec to traverse the object managed object hierarchy. """ visit_folders_select_spec = vim_util.build_selection_spec(client_factory, "visitFolders") # For getting to hostFolder from datacenter dc_to_hf = vim_util.build_traversal_spec(client_factory, "dc_to_hf", "Datacenter", "hostFolder", False, [visit_folders_select_spec]) # For getting to vmFolder from datacenter dc_to_vmf = vim_util.build_traversal_spec(client_factory, "dc_to_vmf", "Datacenter", "vmFolder", False, [visit_folders_select_spec]) # For getting Host System to virtual machine h_to_vm = vim_util.build_traversal_spec(client_factory, "h_to_vm", "HostSystem", "vm", False, [visit_folders_select_spec]) # For getting to networkfolder from datacenter dc_to_nwf = vim_util.build_traversal_spec(client_factory, "dc_to_nwf", "Datacenter", "networkFolder", False, [visit_folders_select_spec]) # For getting to Host System from Compute Resource cr_to_h = vim_util.build_traversal_spec(client_factory, "cr_to_h", "ComputeResource", "host", False, []) # For getting to datastore from Compute Resource cr_to_ds = vim_util.build_traversal_spec(client_factory, "cr_to_ds", "ComputeResource", "datastore", False, []) rp_to_rp_select_spec = vim_util.build_selection_spec(client_factory, "rp_to_rp") rp_to_vm_select_spec = vim_util.build_selection_spec(client_factory, "rp_to_vm") # For getting to resource pool from Compute Resource cr_to_rp = vim_util.build_traversal_spec(client_factory, "cr_to_rp", "ComputeResource", "resourcePool", False, [rp_to_rp_select_spec, rp_to_vm_select_spec]) # For getting to child res pool from the parent res pool rp_to_rp = vim_util.build_traversal_spec(client_factory, "rp_to_rp", "ResourcePool", "resourcePool", False, [rp_to_rp_select_spec, rp_to_vm_select_spec]) # For getting to Virtual Machine from the Resource Pool rp_to_vm = vim_util.build_traversal_spec(client_factory, "rp_to_vm", "ResourcePool", "vm", False, [rp_to_rp_select_spec, rp_to_vm_select_spec]) # Get the assorted traversal spec which takes care of the objects to # be searched for from the root folder traversal_spec = vim_util.build_traversal_spec(client_factory, "visitFolders", "Folder", "childEntity", False, [visit_folders_select_spec, dc_to_hf, dc_to_vmf, dc_to_nwf, cr_to_ds, cr_to_h, cr_to_rp, rp_to_rp, h_to_vm, rp_to_vm]) return traversal_spec