docs: def present(name, objectType, user, permission, acetype, propagation):
      '''
      Ensure an ACE is present
      '''
      ret = {'name': name,
             'result': True,
             'changes': {},
             'comment': ''}
      tRet = __salt__['win_dacl.check_ace'](name, objectType, user, permission, acetype, propagation, True)
      if tRet['result']:
          if not tRet['Exists']:
              if __opts__['test']:
                  ret['result'] = None
                  ret['comment'] = 'The ACE is set to be added.'
                  ret['changes']['Added ACEs'] = ((
                      '{0} {1} {2} on {3}'
                      ).format(user, acetype, permission, propagation))
                  return ret
              addRet = __salt__['win_dacl.add_ace'](name, objectType, user, permission, acetype, propagation)
              if addRet['result']:
                  ret['result'] = True
                  ret['changes'] = dict(ret['changes'], **addRet['changes'])
              else:
                  ret['result'] = False
                  ret['comment'] = ' '.join([ret['comment'], addRet['comment']])
          else:
              if __opts__['test']:
                  ret['result'] = None
                  ret['comment'] = 'The ACE is present.'
      else:
          ret['result'] = False
          ret['comment'] = tRet['comment']
      return ret