fix(sqs): Handle AWS.SimpleQueueService.NonExistentQueue in list_queue_tags (#2939)

This commit is contained in:
Pepe Fagoaga
2023-10-17 20:45:22 +02:00
committed by GitHub
parent 85e12e9479
commit b5455215a5

View File

@@ -1,6 +1,7 @@
from json import loads from json import loads
from typing import Optional from typing import Optional
from botocore.exceptions import ClientError
from pydantic import BaseModel from pydantic import BaseModel
from prowler.lib.logger import logger from prowler.lib.logger import logger
@@ -72,11 +73,21 @@ class SQS(AWSService):
logger.info("SQS - List Tags...") logger.info("SQS - List Tags...")
try: try:
for queue in self.queues: for queue in self.queues:
regional_client = self.regional_clients[queue.region] try:
response = regional_client.list_queue_tags(QueueUrl=queue.id).get( regional_client = self.regional_clients[queue.region]
"Tags" response = regional_client.list_queue_tags(QueueUrl=queue.id).get(
) "Tags"
queue.tags = [response] )
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: except Exception as error:
logger.error( logger.error(
f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"