':returns: item_list - list of vpc peerings.
:returns: exception_map - A dict where the keys are a tuple containing the
location of the exception and the value is the actual exception'

def slurp(self):

    self.prep_for_slurp()
    @iter_account_region(index=self.index, accounts=self.accounts, service_name='ec2')
    def slurp_items(**kwargs):
        item_list = []
        exception_map = {}
        kwargs['exception_map'] = exception_map
        app.logger.debug('Checking    {}/{}/{}'.format(self.index, kwargs['account_name'], kwargs['region']))
        peering_info = self.describe_vpc_peering_connections(**kwargs)
        if peering_info:
            all_peerings = peering_info.get('VpcPeeringConnections', [])
            app.logger.debug('Found    {}    {}'.format(len(all_peerings), self.i_am_plural))
            for peering in all_peerings:
                connection_id = peering['VpcPeeringConnectionId']
                tags = peering.get('Tags')
                peering_name = None
                if tags:
                    peering_name = tags[0].get(u'Value', None)
                if (not (peering_name is None)):
                    peering_name = '{0}    ({1})'.format(peering_name.encode('utf-8', 'ignore'), connection_id)
                else:
                    peering_name = connection_id
                if self.check_ignore_list(peering_name):
                    continue
                config = {'name': peering_name, 'status': peering['Status'], 'accepter_vpc_info': peering['AccepterVpcInfo'], 'expiration_time': str(peering.get('ExpirationTime')), 'requester_vpc_info': peering['RequesterVpcInfo'], 'vpc_peering_connection_id': peering['VpcPeeringConnectionId']}
                item = PeeringItem(region=kwargs['region'], account=kwargs['account_name'], name=peering_name, config=config)
                item_list.append(item)
        return (item_list, exception_map)
    return slurp_items()
