Skip to content

Commit d989475

Browse files
authored
[aws][fix] Handle AWS server errors properly (#2236)
1 parent 84f055d commit d989475

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

plugins/aws/fix_plugin_aws/resource/bedrock.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ def add_tags(job: AwsResource) -> None:
207207
service_name,
208208
"list-tags-for-resource",
209209
"tags",
210-
expected_errors=["ResourceNotFoundException"],
210+
expected_errors=["ResourceNotFoundException", "AccessDenied"],
211211
resourceARN=job.arn,
212212
)
213213
if tags:
@@ -490,7 +490,7 @@ def add_tags(job: AwsResource) -> None:
490490
service_name,
491491
"list-tags-for-resource",
492492
"tags",
493-
expected_errors=["ResourceNotFoundException"],
493+
expected_errors=["ResourceNotFoundException", "AccessDenied"],
494494
resourceARN=job.arn,
495495
)
496496
if tags:
@@ -623,7 +623,7 @@ def add_tags(job: AwsResource) -> None:
623623
service_name,
624624
"list-tags-for-resource",
625625
"tags",
626-
expected_errors=["ResourceNotFoundException"],
626+
expected_errors=["ResourceNotFoundException", "AccessDenied"],
627627
resourceARN=job.arn,
628628
)
629629
if tags:
@@ -767,7 +767,8 @@ class AwsBedrockEvaluationJob(BedrockTaggable, BaseAIJob, AwsResource):
767767
"bedrock",
768768
"list-evaluation-jobs",
769769
"jobSummaries",
770-
expected_errors=["AccessDeniedException"],
770+
# `InternalServerException` is ignored because some AWS regions may not support retrieving evaluation jobs
771+
expected_errors=["AccessDeniedException", "InternalServerException"],
771772
)
772773
mapping: ClassVar[Dict[str, Bender]] = {
773774
"id": S("jobArn"),
@@ -823,7 +824,7 @@ def add_tags(job: AwsResource) -> None:
823824
service_name,
824825
"list-tags-for-resource",
825826
"tags",
826-
expected_errors=["ResourceNotFoundException"],
827+
expected_errors=["ResourceNotFoundException", "AccessDenied"],
827828
resourceARN=job.arn,
828829
)
829830
if tags:
@@ -1022,7 +1023,7 @@ def add_tags(agent: AwsResource) -> None:
10221023
"bedrock-agent",
10231024
"list-tags-for-resource",
10241025
"tags",
1025-
expected_errors=["ResourceNotFoundException"],
1026+
expected_errors=["ResourceNotFoundException", "AccessDenied"],
10261027
resourceArn=agent.arn,
10271028
)
10281029
if tags:
@@ -1419,7 +1420,7 @@ def add_tags(knowledge_base: AwsResource) -> None:
14191420
"bedrock-agent",
14201421
"list-tags-for-resource",
14211422
"tags",
1422-
expected_errors=["ResourceNotFoundException"],
1423+
expected_errors=["ResourceNotFoundException", "AccessDenied"],
14231424
resourceArn=knowledge_base.arn,
14241425
)
14251426
if tags:
@@ -1586,7 +1587,7 @@ def add_tags(prompt: AwsResource) -> None:
15861587
"bedrock-agent",
15871588
"list-tags-for-resource",
15881589
"tags",
1589-
expected_errors=["ResourceNotFoundException"],
1590+
expected_errors=["ResourceNotFoundException", "AccessDenied"],
15901591
resourceArn=prompt.arn,
15911592
)
15921593
if tags:
@@ -1914,7 +1915,7 @@ def add_tags(flow: AwsResource) -> None:
19141915
"bedrock-agent",
19151916
"list-tags-for-resource",
19161917
"tags",
1917-
expected_errors=["ResourceNotFoundException"],
1918+
expected_errors=["ResourceNotFoundException", "AccessDenied"],
19181919
resourceArn=flow.arn,
19191920
)
19201921
if tags:

plugins/aws/fix_plugin_aws/resource/dynamodb.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,7 @@ def add_dynamodb_policy(table: AwsDynamoDbTable) -> None:
443443
"get-resource-policy",
444444
"Policy",
445445
ResourceArn=table.arn,
446+
expected_errors=["PolicyNotFoundException"],
446447
):
447448
table.dynamodb_policy = sort_json(json_loads(raw_policy), sort_list=True) # type: ignore
448449

0 commit comments

Comments
 (0)