fix(s3): Handle NoSuchBucket in the service (#3173)

This commit is contained in:
Pepe Fagoaga
2023-12-11 09:36:26 +01:00
committed by GitHub
parent ee215b1ced
commit 694aa448a4

View File

@@ -101,6 +101,15 @@ class S3(AWSService):
if "MFADelete" in bucket_versioning:
if "Enabled" == bucket_versioning["MFADelete"]:
bucket.mfa_delete = True
except ClientError as error:
if error.response["Error"]["Code"] == "NoSuchBucket":
logger.warning(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
else:
logger.error(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
except Exception as error:
if bucket.region:
logger.error(
@@ -153,6 +162,15 @@ class S3(AWSService):
bucket.logging_target_bucket = bucket_logging["LoggingEnabled"][
"TargetBucket"
]
except ClientError as error:
if error.response["Error"]["Code"] == "NoSuchBucket":
logger.warning(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
else:
logger.error(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
except Exception as error:
if regional_client:
logger.error(
@@ -224,6 +242,15 @@ class S3(AWSService):
grantee.permission = grant["Permission"]
grantees.append(grantee)
bucket.acl_grantees = grantees
except ClientError as error:
if error.response["Error"]["Code"] == "NoSuchBucket":
logger.warning(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
else:
logger.error(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
except Exception as error:
if regional_client:
logger.error(
@@ -241,6 +268,15 @@ class S3(AWSService):
bucket.policy = json.loads(
regional_client.get_bucket_policy(Bucket=bucket.name)["Policy"]
)
except ClientError as error:
if error.response["Error"]["Code"] == "NoSuchBucket":
logger.warning(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
else:
logger.error(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
except Exception as error:
if "NoSuchBucketPolicy" in str(error):
bucket.policy = {}