mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-23 10:51:24 -07:00
VMware: Rewrite get_resource_pool method for correct resource_pool selection (#39792)
* rewrite get_resource_pool method for correct resource_pool selection * only keep name if path is given for cluster, esxi_hostname or resource_pool * Revert "only keep name if path is given for cluster, esxi_hostname or resource_pool" * This reverts commit 50293ec763c024b0eaceac5d775ccc0ad3ff8bd7. * if the name argument contains a path, only use the last part for matching * remove path from cluster argument in tests * remove find_objs in favour of reusing find_obj with an extra folder argument * fix find_obj ignoring first if name is not given
This commit is contained in:
parent
d5bfd93e28
commit
1a810f8f11
4 changed files with 43 additions and 70 deletions
|
@ -76,28 +76,20 @@ def wait_for_vm_ip(content, vm, timeout=300):
|
|||
return facts
|
||||
|
||||
|
||||
def find_obj(content, vimtype, name, first=True):
|
||||
container = content.viewManager.CreateContainerView(container=content.rootFolder, recursive=True, type=vimtype)
|
||||
obj_list = container.view
|
||||
def find_obj(content, vimtype, name, first=True, folder=None):
|
||||
container = content.viewManager.CreateContainerView(folder or content.rootFolder, recursive=True, type=vimtype)
|
||||
# Get all objects matching type (and name if given)
|
||||
obj_list = [obj for obj in container.view if not name or to_text(obj.name) == to_text(name)]
|
||||
container.Destroy()
|
||||
|
||||
# Backward compatible with former get_obj() function
|
||||
if name is None:
|
||||
# Return first match or None
|
||||
if first:
|
||||
if obj_list:
|
||||
return obj_list[0]
|
||||
return None
|
||||
|
||||
# Select the first match
|
||||
if first is True:
|
||||
for obj in obj_list:
|
||||
if to_text(obj.name) == to_text(name):
|
||||
return obj
|
||||
|
||||
# If no object found, return None
|
||||
return None
|
||||
|
||||
# Return all matching objects if needed
|
||||
return [obj for obj in obj_list if obj.name == name]
|
||||
# Return all matching objects or empty list
|
||||
return obj_list
|
||||
|
||||
|
||||
def find_dvspg_by_name(dv_switch, portgroup_name):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue