mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-04 23:44:00 -07:00
VMware: Make a common API for hostsystem params (#36314)
This fix adds a common API for getting host system managed object from either cluster name or host system. Fixes: #36010 Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This commit is contained in:
parent
4d18586fc9
commit
542d27eee4
16 changed files with 45 additions and 184 deletions
|
@ -1100,3 +1100,33 @@ class PyVmomi(object):
|
|||
for pg in host_system.config.network.portgroup:
|
||||
pgs_list.append(pg)
|
||||
return pgs_list
|
||||
|
||||
def get_all_host_objs(self, cluster_name=None, esxi_host_name=None):
|
||||
"""
|
||||
Function to get all host system managed object
|
||||
|
||||
Args:
|
||||
cluster_name: Name of Cluster
|
||||
esxi_host_name: Name of ESXi server
|
||||
|
||||
Returns: A list of all host system managed objects, else empty list
|
||||
|
||||
"""
|
||||
host_obj_list = []
|
||||
if not self.is_vcenter():
|
||||
host_obj_list.append(get_all_objs(self.content, [vim.HostSystem])[0])
|
||||
else:
|
||||
if cluster_name:
|
||||
cluster_obj = self.find_cluster_by_name(cluster_name=cluster_name)
|
||||
if cluster_obj:
|
||||
host_obj_list = [host for host in cluster_obj.host]
|
||||
else:
|
||||
self.module.fail_json(changed=False, msg="Cluster '%s' not found" % cluster_name)
|
||||
elif esxi_host_name:
|
||||
esxi_host_obj = self.find_hostsystem_by_name(host_name=esxi_host_name)
|
||||
if esxi_host_obj:
|
||||
host_obj_list = [esxi_host_obj]
|
||||
else:
|
||||
self.module.fail_json(changed=False, msg="ESXi '%s' not found" % esxi_host_name)
|
||||
|
||||
return host_obj_list
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue