docs: def present(name, login=None, domain=None, database=None, roles=None, options=None, **kwargs):
      '''
      Checks existance 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 {0} 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'] = 'User {0} is set to be added'.format(name)
          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'] += 'User {0} failed to be added: {1}'.format(name, user_created)
          return ret
      ret['comment'] += 'User {0} has been added'.format(name)
      ret['changes'][name] = 'Present'
      return ret