docs: def absent(name=None, start_addr=None, end_addr=None, data=None, **api_opts):
      '''
      Ensure the range is removed
  
      Supplying the end of the range is optional.
  
      State example:
  
      .. code-block:: yaml
  
          infoblox_range.absent:
              - name: 'vlan10'
  
          infoblox_range.absent:
              - name:
              - start_addr: 127.0.1.20
      '''
      ret = {'name': name, 'result': False, 'comment': '', 'changes': {}}
  
      if not data:
          data = {}
      if 'name' not in data:
          data.update({'name': name})
      if 'start_addr' not in data:
          data.update({'start_addr': start_addr})
      if 'end_addr' not in data:
          data.update({'end_addr': end_addr})
  
      obj = __salt__['infoblox.get_ipv4_range'](data['start_addr'], data['end_addr'], **api_opts)
      if obj is None:
          obj = __salt__['infoblox.get_ipv4_range'](start_addr=data['start_addr'], end_addr=None, **api_opts)
          if obj is None:
              obj = __salt__['infoblox.get_ipv4_range'](start_addr=None, end_addr=data['end_addr'], **api_opts)
  
      if not obj:
          ret['result'] = True
          ret['comment'] = 'already deleted'
          return ret
  
      if __opts__['test']:
          ret['result'] = None
          ret['comment'] = 'would attempt to delete range'
          return ret
  
      if __salt__['infoblox.delete_object'](objref=obj['_ref']):
          ret['result'] = True
          ret['changes'] = {'old': 'Found {0} - {1}'.format(start_addr, end_addr),
                          'new': 'Removed'}
      return ret