Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/c7n_gcp/resources/artifactregistry.py: 94%

17 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2023-12-08 06:51 +0000

1from c7n.utils import local_session 

2from c7n_gcp.provider import resources 

3from c7n_gcp.query import RegionalResourceManager, ChildTypeInfo 

4 

5 

6@resources.register('artifact-repository') 

7class ArtifactRegistryRepository(RegionalResourceManager): 

8 """Artifact Registry Repository 

9 

10 https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations.repositories 

11 """ 

12 class resource_type(ChildTypeInfo): 

13 service = 'artifactregistry' 

14 version = 'v1' 

15 component = 'projects.locations.repositories' 

16 enum_spec = ('list', 'repositories[]', None) 

17 scope = 'parent' 

18 name = id = 'id' 

19 parent_spec = { 

20 'resource': 'region', 

21 'child_enum_params': { 

22 ('name', 'region')}, 

23 'use_child_query': True, 

24 } 

25 permissions = ('artifactregistry.repositories.list',) 

26 default_report_fields = ['name', 'description', 'updateTime', 'sizeBytes'] 

27 

28 def _get_child_enum_args(self, parent_instance): 

29 return { 

30 'parent': 'projects/{}/locations/{}'.format( 

31 local_session(self.session_factory).get_default_project(), 

32 parent_instance['name'], 

33 ) 

34 }