fix(iam-dynamodb): Handle errors (#2680)

This commit is contained in:
Pepe Fagoaga
2023-08-07 10:04:19 +02:00
committed by GitHub
parent bf77f817cb
commit 513fd9f532
2 changed files with 38 additions and 16 deletions

View File

@@ -65,18 +65,29 @@ class DynamoDB(AWSService):
logger.info("DynamoDB - Describing Continuous Backups...")
try:
for table in self.tables:
regional_client = self.regional_clients[table.region]
properties = regional_client.describe_continuous_backups(
TableName=table.name
)["ContinuousBackupsDescription"]
if "PointInTimeRecoveryDescription" in properties:
if (
properties["PointInTimeRecoveryDescription"][
"PointInTimeRecoveryStatus"
]
== "ENABLED"
):
table.pitr = True
try:
regional_client = self.regional_clients[table.region]
properties = regional_client.describe_continuous_backups(
TableName=table.name
)["ContinuousBackupsDescription"]
if "PointInTimeRecoveryDescription" in properties:
if (
properties["PointInTimeRecoveryDescription"][
"PointInTimeRecoveryStatus"
]
== "ENABLED"
):
table.pitr = True
except ClientError as error:
if error.response["Error"]["Code"] == "TableNotFoundException":
logger.warning(
f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
else:
logger.error(
f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
continue
except Exception as error:
logger.error(
f"{error.__class__.__name__}:{error.__traceback__.tb_lineno} -- {error}"

View File

@@ -442,10 +442,21 @@ class IAM(AWSService):
logger.info("IAM - List Policies Version...")
try:
for policy in policies:
policy_version = self.client.get_policy_version(
PolicyArn=policy.arn, VersionId=policy.version_id
)
policy.document = policy_version["PolicyVersion"]["Document"]
try:
policy_version = self.client.get_policy_version(
PolicyArn=policy.arn, VersionId=policy.version_id
)
policy.document = policy_version["PolicyVersion"]["Document"]
except ClientError as error:
if error.response["Error"]["Code"] == "NoSuchEntity":
logger.warning(
f"{self.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
else:
logger.error(
f"{self.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
continue
except Exception as error:
logger.error(
f"{self.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"