docs: def eni_absent(
          name,
          release_eip=False,
          region=None,
          key=None,
          keyid=None,
          profile=None):
      '''
      Ensure the EC2 ENI is absent.
  
      .. versionadded:: 2016.3.0
  
      name
          Name tag associated with the ENI.
  
      release_eip
          True/False - release any EIP associated with the ENI
  
      region
          Region to connect to.
  
      key
          Secret key to be used.
  
      keyid
          Access key to be used.
  
      profile
          A dict with region, key and keyid, or a pillar key (string)
          that contains a dict with region, key and keyid.
      '''
      ret = {'name': name, 'result': True, 'comment': '', 'changes': {}}
      r = __salt__['boto_ec2.get_network_interface'](
          name=name, region=region, key=key, keyid=keyid, profile=profile
      )
      if 'error' in r:
          ret['result'] = False
          ret['comment'] = 'Error when attempting to find eni: {0}.'.format(
              r['error']['message']
          )
          return ret
      if not r['result']:
          if __opts__['test']:
              ret['comment'] = 'ENI is set to be deleted.'
              ret['result'] = None
              return ret
      else:
          if __opts__['test']:
              ret['comment'] = 'ENI is set to be deleted.'
              if release_eip and 'allocationId' in r['result']:
                  ret['comment'] = ' '.join([ret['comment'], 'Allocated/associated EIP is set to be released'])
              ret['result'] = None
              return ret
          if 'id' in r['result']['attachment']:
              result_detach = __salt__['boto_ec2.detach_network_interface'](
                  name=name, force=True, region=region, key=key,
                  keyid=keyid, profile=profile
              )
              if 'error' in result_detach:
                  ret['result'] = False
                  ret['comment'] = 'Failed to detach ENI: {0}'.format(
                      result_detach['error']['message']
                  )
                  return ret
              # TODO: Ensure the detach occurs before continuing
          result_delete = __salt__['boto_ec2.delete_network_interface'](
              name=name, region=region, key=key,
              keyid=keyid, profile=profile
          )
          if 'error' in result_delete:
              ret['result'] = False
              ret['comment'] = 'Failed to delete ENI: {0}'.format(
                  result_delete['error']['message']
              )
              return ret
          ret['comment'] = 'Deleted ENI {0}'.format(name)
          ret['changes']['id'] = None
          if release_eip and 'allocationId' in r['result']:
              _ret = __salt__['boto_ec2.release_eip_address'](public_ip=None,
                                                              allocation_id=r['result']['allocationId'],
                                                              region=region,
                                                              key=key,
                                                              keyid=keyid,
                                                              profile=profile)
              if not _ret:
                  ret['comment'] = ' '.join([ret['comment'], 'Failed to release EIP allocated to the ENI.'])
                  ret['result'] = False
                  return ret
              else:
                  ret['comment'] = ' '.join([ret['comment'], 'EIP released.'])
                  ret['changes']['eip released'] = True
      return ret