From 4725be585ff839d3a372a22e6b8fb557e1d78b54 Mon Sep 17 00:00:00 2001 From: Matthias Veit Date: Wed, 10 Jan 2024 17:30:35 +0100 Subject: [PATCH] [aws][fix] Fetch public ECR repositories are global (#1874) --- plugins/aws/resoto_plugin_aws/collector.py | 1 + plugins/aws/resoto_plugin_aws/resource/ecr.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/aws/resoto_plugin_aws/collector.py b/plugins/aws/resoto_plugin_aws/collector.py index b68e71d44..75f77cb28 100644 --- a/plugins/aws/resoto_plugin_aws/collector.py +++ b/plugins/aws/resoto_plugin_aws/collector.py @@ -62,6 +62,7 @@ global_resources: List[Type[AwsResource]] = ( cloudfront.resources + dynamodb.global_resources + + ecr.global_resources + iam.resources + route53.resources + s3.resources diff --git a/plugins/aws/resoto_plugin_aws/resource/ecr.py b/plugins/aws/resoto_plugin_aws/resource/ecr.py index 1238206d1..797a4e208 100644 --- a/plugins/aws/resoto_plugin_aws/resource/ecr.py +++ b/plugins/aws/resoto_plugin_aws/resource/ecr.py @@ -85,8 +85,10 @@ def collect(visibility: str, spec: AwsApiSpec) -> None: raise # collect private and public repositories - collect("private", cls.api_spec) - collect("public", cls.public_spec) + if builder.region.name == "global": + collect("public", cls.public_spec) + else: + collect("private", cls.api_spec) @classmethod def called_collect_apis(cls) -> List[AwsApiSpec]: @@ -123,3 +125,4 @@ def called_collect_apis(cls) -> List[AwsApiSpec]: resources: List[Type[AwsResource]] = [AwsEcrRepository] +global_resources: List[Type[AwsResource]] = [AwsEcrRepository]