try:
            r = func(**args)
        except ClientError as e:
            if tries and e.response.get('Error', {}).get('Code') == 'Throttling':
                # Rate limited - retry