Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/c7n_gcp/resources/memstore.py: 95%
20 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
1# Copyright The Cloud Custodian Authors.
2# SPDX-License-Identifier: Apache-2.0
3from c7n_gcp.provider import resources
4from c7n_gcp.query import QueryResourceManager, TypeInfo
7@resources.register("redis")
8class RedisInstance(QueryResourceManager):
9 """GC resource: https://cloud.google.com/memorystore/docs/redis/reference/rest
11 :example:
13 .. code-block:: yaml
15 policies:
16 - name: gcp-memorystore_for_redis_auth
17 description: |
18 GCP Memorystore for Redis has AUTH disabled
19 resource: gcp.redis
20 filters:
21 - type: value
22 key: authEnabled
23 op: ne
24 value: true
25 """
27 class resource_type(TypeInfo):
28 service = "redis"
29 version = "v1"
30 component = "projects.locations.instances"
31 enum_spec = ("list", "instances[]", None)
32 scope_key = "parent"
33 name = id = "name"
34 scope_template = "projects/{}/locations/-"
35 permissions = ("bigtable.instances.list",)
36 default_report_fields = ["displayName", "expireTime"]
37 asset_type = "redis.googleapis.com/Instance"
38 urn_component = "instance"
39 urn_id_segments = (-1,)
41 @classmethod
42 def _get_location(cls, resource):
43 return resource["name"].split("/")[3]