1115
1115
from ansible .module_utils .common .network import is_mac
1116
1116
from ansible .module_utils ._text import to_text , to_native
1117
1117
from ansible_collections .community .vmware .plugins .module_utils .vmware import (
1118
- find_obj ,
1119
1118
gather_vm_facts ,
1120
1119
get_all_objs ,
1121
1120
compile_folder_path_for_object ,
@@ -1143,9 +1142,9 @@ def __init__(self, content, dc_name=None):
1143
1142
self .esx_hosts = {}
1144
1143
self .parent_datacenters = {}
1145
1144
1146
- def find_obj (self , content , types , name , confine_to_datacenter = True ):
1145
+ def find_obj_wrapper (self , types , name , confine_to_datacenter = True ):
1147
1146
""" Wrapper around find_obj to set datacenter context """
1148
- result = find_obj (content , types , name )
1147
+ result = self . find_obj (types , name )
1149
1148
if result and confine_to_datacenter :
1150
1149
if to_text (self .get_parent_datacenter (result ).name ) != to_text (self .dc_name ):
1151
1150
result = None
@@ -1180,19 +1179,19 @@ def get_network(self, network_name):
1180
1179
if len (networks ) == 1 :
1181
1180
self .networks [network_name ] = networks [0 ]
1182
1181
else :
1183
- self .networks [network_name ] = self .find_obj ( self . content , [vim .Network ], network_name )
1182
+ self .networks [network_name ] = self .find_obj_wrapper ( [vim .Network ], network_name )
1184
1183
1185
1184
return self .networks [network_name ]
1186
1185
1187
1186
def get_cluster (self , cluster ):
1188
1187
if cluster not in self .clusters :
1189
- self .clusters [cluster ] = self .find_obj ( self . content , [vim .ClusterComputeResource ], cluster )
1188
+ self .clusters [cluster ] = self .find_obj_wrapper ( [vim .ClusterComputeResource ], cluster )
1190
1189
1191
1190
return self .clusters [cluster ]
1192
1191
1193
1192
def get_esx_host (self , host ):
1194
1193
if host not in self .esx_hosts :
1195
- self .esx_hosts [host ] = self .find_obj ( self . content , [vim .HostSystem ], host )
1194
+ self .esx_hosts [host ] = self .find_obj_wrapper ( [vim .HostSystem ], host )
1196
1195
1197
1196
return self .esx_hosts [host ]
1198
1197
@@ -1954,7 +1953,7 @@ def configure_network(self, vm_obj):
1954
1953
if len (pgs ) == 1 :
1955
1954
pg = pgs [0 ]
1956
1955
else :
1957
- pg = find_obj ( self .content , [vim .DistributedVirtualPortgroup ], network_name )
1956
+ pg = self .find_obj ( [vim .DistributedVirtualPortgroup ], network_name )
1958
1957
if pg is None or nic .device .backing .port .portgroupKey != pg .key :
1959
1958
nic .device .deviceInfo .summary = network_name
1960
1959
nic_change_detected = True
@@ -1996,7 +1995,7 @@ def configure_network(self, vm_obj):
1996
1995
if len (networks ) == 1 :
1997
1996
pg_obj = networks [0 ]
1998
1997
else :
1999
- pg_obj = self .cache .find_obj ( self . content , [vim .dvs .DistributedVirtualPortgroup ], network_name )
1998
+ pg_obj = self .cache .find_obj_wrapper ( [vim .dvs .DistributedVirtualPortgroup ], network_name )
2000
1999
2001
2000
# TODO: (akasurde) There is no way to find association between resource pool and distributed virtual portgroup
2002
2001
# For now, check if we are able to find distributed virtual switch
@@ -2781,13 +2780,13 @@ def select_datastore(self, vm_obj=None):
2781
2780
for host in cluster .host :
2782
2781
for mi in host .configManager .storageSystem .fileSystemVolumeInfo .mountInfo :
2783
2782
if mi .volume .type == "VMFS" or mi .volume .type == "NFS" :
2784
- datastores .append (self .cache .find_obj ( self . content , [vim .Datastore ], mi .volume .name ))
2783
+ datastores .append (self .cache .find_obj_wrapper ( [vim .Datastore ], mi .volume .name ))
2785
2784
elif self .params ['esxi_hostname' ]:
2786
2785
host = self .find_hostsystem_by_name (self .params ['esxi_hostname' ])
2787
2786
2788
2787
for mi in host .configManager .storageSystem .fileSystemVolumeInfo .mountInfo :
2789
2788
if mi .volume .type == "VMFS" or mi .volume .type == "NFS" :
2790
- datastores .append (self .cache .find_obj ( self . content , [vim .Datastore ], mi .volume .name ))
2789
+ datastores .append (self .cache .find_obj_wrapper ( [vim .Datastore ], mi .volume .name ))
2791
2790
else :
2792
2791
datastores = self .cache .get_all_objs (self .content , [vim .Datastore ])
2793
2792
datastores = [x for x in datastores if self .cache .get_parent_datacenter (x ).name == self .params ['datacenter' ]]
@@ -2809,12 +2808,12 @@ def select_datastore(self, vm_obj=None):
2809
2808
elif self .params ['disk' ][0 ]['datastore' ]:
2810
2809
datastore_name = self .params ['disk' ][0 ]['datastore' ]
2811
2810
# Check if user has provided datastore cluster first
2812
- datastore_cluster = self .cache .find_obj ( self . content , [vim .StoragePod ], datastore_name )
2811
+ datastore_cluster = self .cache .find_obj_wrapper ( [vim .StoragePod ], datastore_name )
2813
2812
if datastore_cluster :
2814
2813
# If user specified datastore cluster so get recommended datastore
2815
2814
datastore_name = self .get_recommended_datastore (datastore_cluster_obj = datastore_cluster )
2816
2815
# Check if get_recommended_datastore or user specified datastore exists or not
2817
- datastore = self .cache .find_obj ( self . content , [vim .Datastore ], datastore_name )
2816
+ datastore = self .cache .find_obj_wrapper ( [vim .Datastore ], datastore_name )
2818
2817
else :
2819
2818
self .module .fail_json (msg = "Either datastore or autoselect_datastore should be provided to select datastore" )
2820
2819
@@ -2906,26 +2905,26 @@ def get_resource_pool(self, cluster=None, host=None, resource_pool=None):
2906
2905
resource_pool_name = resource_pool or self .params .get ('resource_pool' , None )
2907
2906
2908
2907
# get the datacenter object
2909
- datacenter = find_obj ( self .content , [vim .Datacenter ], self .params ['datacenter' ])
2908
+ datacenter = self .find_obj ( [vim .Datacenter ], self .params ['datacenter' ])
2910
2909
if not datacenter :
2911
2910
self .module .fail_json (msg = 'Unable to find datacenter "%s"' % self .params ['datacenter' ])
2912
2911
2913
2912
# if cluster is given, get the cluster object
2914
2913
if cluster_name :
2915
- cluster = find_obj ( self .content , [vim .ComputeResource ], cluster_name , folder = datacenter )
2914
+ cluster = self .find_obj ( [vim .ComputeResource ], cluster_name , folder = datacenter )
2916
2915
if not cluster :
2917
2916
self .module .fail_json (msg = 'Unable to find cluster "%s"' % cluster_name )
2918
2917
# if host is given, get the cluster object using the host
2919
2918
elif host_name :
2920
- host = find_obj ( self .content , [vim .HostSystem ], host_name , folder = datacenter )
2919
+ host = self .find_obj ( [vim .HostSystem ], host_name , folder = datacenter )
2921
2920
if not host :
2922
2921
self .module .fail_json (msg = 'Unable to find host "%s"' % host_name )
2923
2922
cluster = host .parent
2924
2923
else :
2925
2924
cluster = None
2926
2925
2927
2926
# get resource pools limiting search to cluster or datacenter
2928
- resource_pool = find_obj ( self .content , [vim .ResourcePool ], resource_pool_name , folder = cluster or datacenter )
2927
+ resource_pool = self .find_obj ( [vim .ResourcePool ], resource_pool_name , folder = cluster or datacenter )
2929
2928
if not resource_pool :
2930
2929
if resource_pool_name :
2931
2930
self .module .fail_json (msg = 'Unable to find resource_pool "%s"' % resource_pool_name )
@@ -2951,7 +2950,7 @@ def deploy_vm(self):
2951
2950
self .folder = '/%(folder)s' % self .params
2952
2951
self .folder = self .folder .rstrip ('/' )
2953
2952
2954
- datacenter = self .cache .find_obj ( self . content , [vim .Datacenter ], self .params ['datacenter' ])
2953
+ datacenter = self .cache .find_obj_wrapper ( [vim .Datacenter ], self .params ['datacenter' ])
2955
2954
if datacenter is None :
2956
2955
self .module .fail_json (msg = 'No datacenter named %(datacenter)s was found' % self .params )
2957
2956
@@ -3013,12 +3012,12 @@ def deploy_vm(self):
3013
3012
# User may want to deploy VM to specific datastore.
3014
3013
datastore_name = self .params ['datastore' ]
3015
3014
# Check if user has provided datastore cluster first
3016
- datastore_cluster = self .cache .find_obj ( self . content , [vim .StoragePod ], datastore_name )
3015
+ datastore_cluster = self .cache .find_obj_wrapper ( [vim .StoragePod ], datastore_name )
3017
3016
if datastore_cluster :
3018
3017
# If user specified datastore cluster so get recommended datastore
3019
3018
datastore_name = self .get_recommended_datastore (datastore_cluster_obj = datastore_cluster )
3020
3019
# Check if get_recommended_datastore or user specified datastore exists or not
3021
- datastore = self .cache .find_obj ( self . content , [vim .Datastore ], datastore_name )
3020
+ datastore = self .cache .find_obj_wrapper ( [vim .Datastore ], datastore_name )
3022
3021
else :
3023
3022
(datastore , datastore_name ) = self .select_datastore (vm_obj )
3024
3023
0 commit comments