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
« 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
6@resources.register('artifact-repository')
7class ArtifactRegistryRepository(RegionalResourceManager):
8 """Artifact Registry Repository
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']
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 }