%PDF- %PDF-
Direktori : /usr/lib/python2.7/site-packages/salt/states/ |
Current File : //usr/lib/python2.7/site-packages/salt/states/mssql_role.py |
# -*- coding: utf-8 -*- ''' Management of Microsoft SQLServer Databases =========================================== The mssql_role module is used to create and manage SQL Server Roles .. code-block:: yaml yolo: mssql_role.present ''' from __future__ import absolute_import, print_function, unicode_literals def __virtual__(): ''' Only load if the mssql module is present ''' return 'mssql.version' in __salt__ def present(name, owner=None, grants=None, **kwargs): ''' Ensure that the named database is present with the specified options name The name of the database to manage owner Adds owner using AUTHORIZATION option Grants Can only be a list of strings ''' ret = {'name': name, 'changes': {}, 'result': True, 'comment': ''} if __salt__['mssql.role_exists'](name, **kwargs): ret['comment'] = 'Role {0} is already present (Not going to try to set its grants)'.format(name) return ret if __opts__['test']: ret['result'] = None ret['comment'] = 'Role {0} is set to be added'.format(name) return ret role_created = __salt__['mssql.role_create'](name, owner=owner, grants=grants, **kwargs) if role_created is not True: # Non-empty strings are also evaluated to True, so we cannot use if not role_created: ret['result'] = False ret['comment'] += 'Role {0} failed to be created: {1}'.format(name, role_created) return ret ret['comment'] += 'Role {0} has been added'.format(name) ret['changes'][name] = 'Present' return ret def absent(name, **kwargs): ''' Ensure that the named database is absent name The name of the database to remove ''' ret = {'name': name, 'changes': {}, 'result': True, 'comment': ''} if not __salt__['mssql.role_exists'](name): ret['comment'] = 'Role {0} is not present'.format(name) return ret if __opts__['test']: ret['result'] = None ret['comment'] = 'Role {0} is set to be removed'.format(name) return ret if __salt__['mssql.role_remove'](name, **kwargs): ret['comment'] = 'Role {0} has been removed'.format(name) ret['changes'][name] = 'Absent' return ret # else: ret['result'] = False ret['comment'] = 'Role {0} failed to be removed'.format(name) return ret