Example #1
0
 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)
Example #2
0
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
Example #3
0
 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)