fix(services): Handle AWS service errors (#2440)

This commit is contained in:
Pepe Fagoaga
2023-06-06 09:23:03 +02:00
committed by GitHub
parent 774346f5f8
commit 1418068d2b
3 changed files with 14 additions and 4 deletions

View File

@@ -162,9 +162,14 @@ class Lambda:
logger.info("Lambda - List Tags...")
try:
for function in self.functions.values():
regional_client = self.regional_clients[function.region]
response = regional_client.list_tags(Resource=function.arn)["Tags"]
function.tags = [response]
try:
regional_client = self.regional_clients[function.region]
response = regional_client.list_tags(Resource=function.arn)["Tags"]
function.tags = [response]
except ClientError as e:
if e.response["Error"]["Code"] == "ResourceNotFoundException":
function.tags = []
except Exception as error:
logger.error(
f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"

View File

@@ -1,5 +1,6 @@
import threading
from datetime import datetime
from typing import Optional
from pydantic import BaseModel
@@ -172,4 +173,4 @@ class BackupReportPlan(BaseModel):
region: str
name: str
last_attempted_execution_date: datetime
last_successful_execution_date: datetime
last_successful_execution_date: Optional[datetime]

View File

@@ -47,6 +47,10 @@ class TrustedAdvisor:
except ClientError as error:
if error.response["Error"]["Code"] == "SubscriptionRequiredException":
self.enabled = False
elif error.response["Error"]["Code"] == "InvalidParameterValueException":
logger.warning(
f"{self.client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
else:
logger.error(
f"{self.client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"