fix(errors): solve ECR and CodeArtifact errors (#2239)

This commit is contained in:
Sergio Garcia
2023-04-19 13:27:19 +02:00
committed by GitHub
parent eee35f9cc3
commit 10d744704a
2 changed files with 32 additions and 15 deletions

View File

@@ -110,15 +110,21 @@ class CodeArtifact:
sortBy="PUBLISHED_TIME",
)
)
latest_version = latest_version_information["versions"][0][
"version"
]
latest_origin_type = latest_version_information["versions"][
0
]["origin"]["originType"]
latest_status = latest_version_information["versions"][0][
"status"
]
latest_version = ""
latest_origin_type = "UNKNOWN"
latest_status = "Published"
if latest_version_information.get("versions"):
latest_version = latest_version_information["versions"][
0
].get("version")
latest_origin_type = (
latest_version_information["versions"][0]
.get("origin", {})
.get("originType", "UNKNOWN")
)
latest_status = latest_version_information["versions"][
0
].get("status", "Published")
packages.append(
Package(
@@ -215,7 +221,7 @@ class OriginInformation(BaseModel):
class LatestPackageVersionStatus(Enum):
"""Possibel values for the package status"""
"""Possible values for the package status"""
Published = "Published"
Unfinished = "Unfinished"

View File

@@ -2,6 +2,7 @@ import threading
from json import loads
from typing import Optional
from botocore.exceptions import ClientError
from pydantic import BaseModel
from prowler.lib.logger import logger
@@ -155,11 +156,21 @@ class ECR:
logger.info("ECR - List Tags...")
try:
for repository in self.repositories:
regional_client = self.regional_clients[repository.region]
response = regional_client.list_tags_for_resource(
resourceArn=repository.arn
)["tags"]
repository.tags = response
try:
regional_client = self.regional_clients[repository.region]
response = regional_client.list_tags_for_resource(
resourceArn=repository.arn
)["tags"]
repository.tags = response
except ClientError as error:
if error.response["Error"]["Code"] == "RepositoryNotFoundException":
logger.warning(
f"{regional_client.region} --"
f" {error.__class__.__name__}[{error.__traceback__.tb_lineno}]:"
f" {error}"
)
continue
except Exception as error:
logger.error(
f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"