':returns: item_list - list of RDS snapshots in use by account
: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()
    from security_monkey.common.sts_connect import connect
    item_list = []
    exception_map = {}
    for account in self.accounts:
        for region in regions():
            app.logger.debug('Checking    {}/{}/{}'.format(self.index, account, region.name))
            snapshots = []
            try:
                rds = connect(account, 'boto3.rds.client', region=region)
                marker = ''
                while True:
                    response = self.wrap_aws_rate_limited_call(rds.describe_db_snapshots, Marker=marker)
                    snapshots.extend(response.get('DBSnapshots'))
                    if response.get('Marker'):
                        marker = response.get('Marker')
                    else:
                        break
            except Exception as e:
                if (region.name not in TROUBLE_REGIONS):
                    exc = BotoConnectionIssue(str(e), self.index, account, region.name)
                    self.slurp_exception((self.index, account, region.name), exc, exception_map)
                continue
            app.logger.debug('Found    {}    {}'.format(len(snapshots), self.i_am_plural))
            for snapshot in snapshots:
                name = snapshot.get('DBSnapshotIdentifier')
                if self.check_ignore_list(name):
                    continue
                config = {'snapshot_id': name, 'allocated_storage': snapshot.get('AllocatedStorage'), 'availability_zone': snapshot.get('AvailabilityZone'), 'db_instance_id': snapshot.get('DBInstanceIdentifier'), 'encrypted': snapshot.get('Encrypted'), 'engine': snapshot.get('Engine'), 'engine_version': snapshot.get('EngineVersion'), 'instance_create_time': str(snapshot.get('InstanceCreateTime')), 'kms_key_id': snapshot.get('KmsKeyId'), 'license_model': snapshot.get('LicenseModel'), 'master_username': snapshot.get('MasterUsername'), 'option_group_name': snapshot.get('OptionGroupName'), 'port': snapshot.get('Port'), 'snapshot_create_time': str(snapshot.get('SnapshotCreateTime')), 'snapshot_type': snapshot.get('SnapshotType'), 'storage_type': snapshot.get('StorageType'), 'vpc_id': snapshot.get('VpcId'), 'arn': snapshot.get('DBSnapshotArn')}
                item = RDSSnapshotItem(region=region.name, account=account, name=name, arn=snapshot.get('DBSnapshotArn'), config=dict(config))
                item_list.append(item)
    return (item_list, exception_map)
