From b5455215a526b5c8a23f33ff9cd40eba24d484f2 Mon Sep 17 00:00:00 2001 From: Pepe Fagoaga Date: Tue, 17 Oct 2023 20:45:22 +0200 Subject: [PATCH] fix(sqs): Handle AWS.SimpleQueueService.NonExistentQueue in list_queue_tags (#2939) --- .../providers/aws/services/sqs/sqs_service.py | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/prowler/providers/aws/services/sqs/sqs_service.py b/prowler/providers/aws/services/sqs/sqs_service.py index c4fc9f13..b04c666a 100644 --- a/prowler/providers/aws/services/sqs/sqs_service.py +++ b/prowler/providers/aws/services/sqs/sqs_service.py @@ -1,6 +1,7 @@ from json import loads from typing import Optional +from botocore.exceptions import ClientError from pydantic import BaseModel from prowler.lib.logger import logger @@ -72,11 +73,21 @@ class SQS(AWSService): logger.info("SQS - List Tags...") try: for queue in self.queues: - regional_client = self.regional_clients[queue.region] - response = regional_client.list_queue_tags(QueueUrl=queue.id).get( - "Tags" - ) - queue.tags = [response] + try: + regional_client = self.regional_clients[queue.region] + response = regional_client.list_queue_tags(QueueUrl=queue.id).get( + "Tags" + ) + queue.tags = [response] + except ClientError as error: + if ( + error.response["Error"]["Code"] + == "AWS.SimpleQueueService.NonExistentQueue" + ): + logger.warning( + f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" + ) + except Exception as error: logger.error( f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"