@@ -1775,6 +1775,63 @@ def remove_user(
17751775 raise salt .exceptions .SaltException (str (exc ))
17761776
17771777
1778+ def get_user (
1779+ user_name ,
1780+ datacenter_name = None ,
1781+ cluster_name = None ,
1782+ host_name = None ,
1783+ service_instance = None ,
1784+ profile = None ,
1785+ ):
1786+ """
1787+ Get local user on matching ESXi hosts.
1788+
1789+ user_name
1790+ User to delete on matching ESXi hosts. (required).
1791+
1792+ datacenter_name
1793+ Filter by this datacenter name (required when cluster is specified)
1794+
1795+ cluster_name
1796+ Filter by this cluster name (optional)
1797+
1798+ host_name
1799+ Filter by this ESXi hostname (optional)
1800+
1801+ service_instance
1802+ Use this vCenter service connection instance instead of creating a new one. (optional).
1803+
1804+ profile
1805+ Profile to use (optional)
1806+
1807+ .. code-block:: bash
1808+
1809+ salt '*' vmware_esxi.get_user user_name=foo
1810+ """
1811+ log .debug ("Running vmware_esxi.get_user" )
1812+ ret = {}
1813+ service_instance = service_instance or utils_connect .get_service_instance (
1814+ config = __opts__ , profile = profile
1815+ )
1816+ hosts = utils_esxi .get_hosts (
1817+ service_instance = service_instance ,
1818+ host_names = [host_name ] if host_name else None ,
1819+ cluster_name = cluster_name ,
1820+ datacenter_name = datacenter_name ,
1821+ get_all_hosts = host_name is None ,
1822+ )
1823+
1824+ try :
1825+ for host in hosts :
1826+ user_account = host .configManager .userDirectory .RetrieveUserGroups (
1827+ None , user_name , None , None , True , True , False
1828+ )
1829+ ret [host .name ] = user_account
1830+ return ret
1831+ except DEFAULT_EXCEPTIONS as exc :
1832+ raise salt .exceptions .SaltException (str (exc ))
1833+
1834+
17781835def _get_net_stack (network_tcpip_stack ):
17791836 return {
17801837 "default" : "defaultTcpipStack" ,
0 commit comments