PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/mssql_user.py |
""" Management of Microsoft SQLServer Users ======================================= The mssql_user module is used to create and manage SQL Server Users .. code-block:: yaml frank: mssql_user.present: - database: yolo """ import collections def __virtual__(): """ Only load if the mssql module is present """ if "mssql.version" in __salt__: return True return (False, "mssql module could not be loaded") def _normalize_options(options): if type(options) in [dict, collections.OrderedDict]: return [f"{k}={v}" for k, v in options.items()] if type(options) is list and (not options or type(options[0]) is str): return options # Invalid options if type(options) is not list or type(options[0]) not in [ dict, collections.OrderedDict, ]: return [] return [o for d in options for o in _normalize_options(d)] def present( name, login=None, domain=None, database=None, roles=None, options=None, **kwargs ): """ Checks existence of the named user. If not present, creates the user with the specified roles and options. name The name of the user to manage login If not specified, will be created WITHOUT LOGIN domain Creates a Windows authentication user. Needs to be NetBIOS domain or hostname database The database of the user (not the login) roles Add this user to all the roles in the list options Can be a list of strings, a dictionary, or a list of dictionaries """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} if domain and not login: ret["result"] = False ret["comment"] = "domain cannot be set without login" return ret if __salt__["mssql.user_exists"](name, domain=domain, database=database, **kwargs): ret["comment"] = ( "User {} is already present (Not going to try to set its roles or options)".format( name ) ) return ret if __opts__["test"]: ret["result"] = None ret["comment"] = f"User {name} is set to be added" return ret user_created = __salt__["mssql.user_create"]( name, login=login, domain=domain, database=database, roles=roles, options=_normalize_options(options), **kwargs, ) if ( user_created is not True ): # Non-empty strings are also evaluated to True, so we cannot use if not user_created: ret["result"] = False ret["comment"] += f"User {name} failed to be added: {user_created}" return ret ret["comment"] += f"User {name} has been added" ret["changes"][name] = "Present" return ret def absent(name, **kwargs): """ Ensure that the named user is absent name The username of the user to remove """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} if not __salt__["mssql.user_exists"](name): ret["comment"] = f"User {name} is not present" return ret if __opts__["test"]: ret["result"] = None ret["comment"] = f"User {name} is set to be removed" return ret if __salt__["mssql.user_remove"](name, **kwargs): ret["comment"] = f"User {name} has been removed" ret["changes"][name] = "Absent" return ret # else: ret["result"] = False ret["comment"] = f"User {name} failed to be removed" return ret