docs: def absent(name,
             user,
             enc='ssh-rsa',
             comment='',
             source='',
             options=None,
             config='.ssh/authorized_keys',
             fingerprint_hash_type=None):
      '''
      Verifies that the specified SSH key is absent
  
      name
          The SSH key to manage
  
      user
          The user who owns the SSH authorized keys file to modify
  
      enc
          Defines what type of key is being used; can be ed25519, ecdsa, ssh-rsa
          or ssh-dss
  
      comment
          The comment to be placed with the SSH public key
  
      options
          The options passed to the key, pass a list object
  
      source
          The source file for the key(s). Can contain any number of public keys,
          in standard "authorized_keys" format. If this is set, comment, enc and
          options will be ignored.
  
          .. versionadded:: 2015.8.0
  
      config
          The location of the authorized keys file relative to the user's home
          directory, defaults to ".ssh/authorized_keys". Token expansion %u and
          %h for username and home path supported.
  
      fingerprint_hash_type
          The public key fingerprint hash type that the public key fingerprint
          was originally hashed with. This defaults to ``sha256`` if not specified.
  
          .. versionadded:: 2016.11.7
      '''
      ret = {'name': name,
             'changes': {},
             'result': True,
             'comment': ''}
  
      if __opts__['test']:
          ret['result'], ret['comment'] = _absent_test(
                  user,
                  name,
                  enc,
                  comment,
                  options or [],
                  source,
                  config,
                  fingerprint_hash_type)
          return ret
  
      # Extract Key from file if source is present
      if source != '':
          key = __salt__['cp.get_file_str'](
                  source,
                  saltenv=__env__)
          filehasoptions = False
          # check if this is of form {options} {enc} {key} {comment}
          sshre = re.compile(r'^(ssh\-|ecds).*')
          key = key.rstrip().split('\n')
          for keyline in key:
              filehasoptions = sshre.match(keyline)
              if not filehasoptions:
                  ret['comment'] = __salt__['ssh.rm_auth_key_from_file'](user,
                                                                         source,
                                                                         config,
                                                                         saltenv=__env__,
                                                                         fingerprint_hash_type=fingerprint_hash_type)
              else:
                  # Split keyline to get key
                  keyline = keyline.split(' ')
                  ret['comment'] = __salt__['ssh.rm_auth_key'](user,
                                                               keyline[1],
                                                               config=config,
                                                               fingerprint_hash_type=fingerprint_hash_type)
      else:
          # Get just the key
          sshre = re.compile(r'^(.*?)\s?((?:ssh\-|ecds)[\w-]+\s.+)$')
          fullkey = sshre.search(name)
          # if it is {key} [comment]
          if not fullkey:
              key_and_comment = name.split(None, 1)
              name = key_and_comment[0]
              if len(key_and_comment) == 2:
                  comment = key_and_comment[1]
          else:
              # if there are options, set them
              if fullkey.group(1):
                  options = fullkey.group(1).split(',')
              # key is of format: {enc} {key} [comment]
              comps = fullkey.group(2).split()
              enc = comps[0]
              name = comps[1]
              if len(comps) == 3:
                  comment = comps[2]
          ret['comment'] = __salt__['ssh.rm_auth_key'](user,
                                                       name,
                                                       config=config,
                                                       fingerprint_hash_type=fingerprint_hash_type)
  
      if ret['comment'] == 'User authorized keys file not present':
          ret['result'] = False
          return ret
      elif ret['comment'] == 'Key removed':
          ret['changes'][name] = 'Removed'
  
      return ret