code: def list(self, all_tenants=False, **search_opts):
          
          if not all_tenants:
              tenant_id = self.request.user.tenant_id
              # In Neutron, list_floatingips returns Floating IPs from
              # all tenants when the API is called with admin role, so
              # we need to filter them with tenant_id.
              search_opts['tenant_id'] = tenant_id
              port_search_opts = {'tenant_id': tenant_id}
          else:
              port_search_opts = {}
          fips = self.client.list_floatingips(**search_opts)
          fips = fips.get('floatingips')
          # Get port list to add instance_id to floating IP list
          # instance_id is stored in device_id attribute
          ports = port_list(self.request, **port_search_opts)
          port_dict = collections.OrderedDict([(p['id'], p) for p in ports])
          for fip in fips:
              self._set_instance_info(fip, port_dict.get(fip['port_id']))
          return [FloatingIp(fip) for fip in fips]
docs: Fetches a list of all floating IPs.
  
          :returns: List of FloatingIp object