mirror of
https://github.com/ghndrx/prowler.git
synced 2026-02-10 23:05:05 +00:00
fix(errors): solve ECR and CodeArtifact errors (#2239)
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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}"
|
||||
|
||||
Reference in New Issue
Block a user