diff --git a/prowler/providers/aws/services/awslambda/awslambda_service.py b/prowler/providers/aws/services/awslambda/awslambda_service.py index 2e341ef0..d11e27b0 100644 --- a/prowler/providers/aws/services/awslambda/awslambda_service.py +++ b/prowler/providers/aws/services/awslambda/awslambda_service.py @@ -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}" diff --git a/prowler/providers/aws/services/backup/backup_service.py b/prowler/providers/aws/services/backup/backup_service.py index 1f531fac..94ffc959 100644 --- a/prowler/providers/aws/services/backup/backup_service.py +++ b/prowler/providers/aws/services/backup/backup_service.py @@ -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] diff --git a/prowler/providers/aws/services/trustedadvisor/trustedadvisor_service.py b/prowler/providers/aws/services/trustedadvisor/trustedadvisor_service.py index f745f381..1cd02217 100644 --- a/prowler/providers/aws/services/trustedadvisor/trustedadvisor_service.py +++ b/prowler/providers/aws/services/trustedadvisor/trustedadvisor_service.py @@ -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}"