vmware - How to WaitForUpdates from VMs in a cluster? -


i using vmware vsphere ws sdk in python using suds client. want wait changes vms. interested in vms of particular cluster. there way in propertyfilterspec that? tried setting managed object reference of cluster in objectspec no avail. like:

object_spec = client_factory.create('ns0:objectspec') object_spec.obj = cluster_mor object_spec.skip = false 

figured out myself. had set proper traversal spec also:

object_spec = client_factory.create('ns0:objectspec') object_spec.obj = cluster_mor object_spec.skip = false object_spec.selectset = build_recursive_traversal_spec(client_factory)  def build_recursive_traversal_spec(client_factory):     #recurse through resourcepools     rp_to_rp = client_factory.create('ns0:traversalspec')     rp_to_rp.name = 'rptorp'     rp_to_rp.type = 'resourcepool'     rp_to_rp.path = 'resourcepool'     rp_to_rp.skip = false     rp_to_vm = client_factory.create('ns0:traversalspec')     rp_to_vm.name = 'rptovm'     rp_to_vm.type = 'resourcepool'     rp_to_vm.path = 'vm'     rp_to_vm.skip = false     spec_array_resource_pool = [client_factory.create('ns0:selectionspec'),                                 client_factory.create('ns0:selectionspec')]     spec_array_resource_pool[0].name = 'rptorp'     spec_array_resource_pool[1].name = 'rptovm'     rp_to_rp.selectset = spec_array_resource_pool      #traversal through resource pool branch     cr_to_rp = client_factory.create('ns0:traversalspec')     cr_to_rp.name = 'crtorp'     cr_to_rp.type = 'computeresource'     cr_to_rp.path = 'resourcepool'     cr_to_rp.skip = false     spec_array_computer_resource = [client_factory.create('ns0:selectionspec'),                                     client_factory.create('ns0:selectionspec')]     spec_array_computer_resource[0].name = 'rptorp'     spec_array_computer_resource[1].name = 'rptovm'     cr_to_rp.selectset = spec_array_computer_resource      #traversal through host branch     cr_to_h = client_factory.create('ns0:traversalspec')     cr_to_h.name = 'crtoh'     cr_to_h.type = 'computeresource'     cr_to_h.path = 'host'     cr_to_h.skip = false      #traversal through hostfolder branch     dc_to_hf = client_factory.create('ns0:traversalspec')     dc_to_hf.name = 'dctohf'     dc_to_hf.type = 'datacenter'     dc_to_hf.path = 'hostfolder'     dc_to_hf.skip = false     spec_array_datacenter_host = [client_factory.create('ns0:selectionspec')]     spec_array_datacenter_host[0].name = 'visitfolders'     dc_to_hf.selectset = spec_array_datacenter_host      #traversal through vmfolder branch     dc_to_vmf = client_factory.create('ns0:traversalspec')     dc_to_vmf.name = 'dctovmf'     dc_to_vmf.type = 'datacenter'     dc_to_vmf.path = 'vmfolder'     dc_to_vmf.skip = false     spec_array_datacenter_vm = [client_factory.create('ns0:selectionspec')]     spec_array_datacenter_vm[0].name = 'visitfolders'     dc_to_vmf.selectset = spec_array_datacenter_vm      #traversal through datastore branch     dc_to_ds = client_factory.create('ns0:traversalspec')     dc_to_ds.name = 'dctods'     dc_to_ds.type = 'datacenter'     dc_to_ds.path = 'datastore'     dc_to_ds.skip = false     spec_array_datacenter_ds = [client_factory.create('ns0:selectionspec')]     spec_array_datacenter_ds[0].name = 'visitfolders'     dc_to_ds.selectset = spec_array_datacenter_ds      #recurse through hosts     h_to_vm = client_factory.create('ns0:traversalspec')     h_to_vm.name = 'htovm'     h_to_vm.type = 'hostsystem'     h_to_vm.path = 'vm'     h_to_vm.skip = false     spec_array_host_vm = [client_factory.create('ns0:selectionspec')]     spec_array_host_vm[0].name = 'visitfolders'     h_to_vm.selectset = spec_array_host_vm      #recurse through datastores     ds_to_vm = client_factory.create('ns0:traversalspec')     ds_to_vm.name = 'dstovm'     ds_to_vm.type = 'datastore'     ds_to_vm.path = 'vm'     ds_to_vm.skip = false     spec_array_datastore_vm = [client_factory.create('ns0:selectionspec')]     spec_array_datastore_vm[0].name = 'visitfolders'     ds_to_vm.selectset = spec_array_datastore_vm      #recurse through folders     visit_folders = client_factory.create('ns0:traversalspec')     visit_folders.name = 'visitfolders'     visit_folders.type = 'folder'     visit_folders.path = 'childentity'     visit_folders.skip = false     spec_array_visit_folders = [client_factory.create('ns0:selectionspec'),                                 client_factory.create('ns0:selectionspec'),                                 client_factory.create('ns0:selectionspec'),                                 client_factory.create('ns0:selectionspec'),                                 client_factory.create('ns0:selectionspec'),                                 client_factory.create('ns0:selectionspec'),                                 client_factory.create('ns0:selectionspec'),                                 client_factory.create('ns0:selectionspec'),                                 client_factory.create('ns0:selectionspec')]     spec_array_visit_folders[0].name = 'visitfolders'     spec_array_visit_folders[1].name = 'dctohf'     spec_array_visit_folders[2].name = 'dctovmf'     spec_array_visit_folders[3].name = 'crtoh'     spec_array_visit_folders[4].name = 'crtorp'     spec_array_visit_folders[5].name = 'dctods'     spec_array_visit_folders[6].name = 'htovm'     spec_array_visit_folders[7].name = 'dstovm'     spec_array_visit_folders[8].name = 'rptovm'     visit_folders.selectset = spec_array_visit_folders      #add of them here     spec_array = [visit_folders, dc_to_vmf, dc_to_ds, dc_to_hf, cr_to_h,                   cr_to_rp, rp_to_rp, h_to_vm, ds_to_vm, rp_to_vm]     return spec_array 

Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

Pull out data related to my apps from Android Play Store and iOS App Store -

How can I fetch data from a web server in an android application? -