Skip to content

Commit e4a560c

Browse files
committed
Update metadata for module and submodules
1 parent 4e677e7 commit e4a560c

File tree

4 files changed

+183
-5
lines changed

4 files changed

+183
-5
lines changed

metadata.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,16 @@ spec:
2727
version: 11.0.1
2828
actuationTool:
2929
flavor: Terraform
30-
version: ">= 0.13"
30+
version: ">= 1.3"
3131
description: {}
3232
content:
3333
subBlueprints:
3434
- name: memcache
3535
location: modules/memcache
3636
- name: redis-cluster
3737
location: modules/redis-cluster
38+
- name: valkey
39+
location: modules/valkey
3840
examples:
3941
- name: basic
4042
location: examples/basic
@@ -46,6 +48,8 @@ spec:
4648
location: examples/redis
4749
- name: redis-cluster
4850
location: examples/redis-cluster
51+
- name: valkey
52+
location: examples/valkey
4953
interfaces:
5054
variables:
5155
- name: alternative_location_id
@@ -110,7 +114,7 @@ spec:
110114
persistence_mode = string
111115
rdb_snapshot_period = string
112116
})
113-
- name: project
117+
- name: project_id
114118
description: The ID of the project in which the resource belongs to.
115119
varType: string
116120
required: true

modules/memcache/metadata.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ spec:
2828
version: 11.0.1
2929
actuationTool:
3030
flavor: Terraform
31-
version: ">= 0.13"
31+
version: ">= 1.3"
3232
description: {}
3333
content:
3434
examples:
@@ -42,6 +42,8 @@ spec:
4242
location: examples/redis
4343
- name: redis-cluster
4444
location: examples/redis-cluster
45+
- name: valkey
46+
location: examples/valkey
4547
interfaces:
4648
variables:
4749
- name: authorized_network
@@ -93,7 +95,7 @@ spec:
9395
- name: params
9496
description: Parameters for the memcache process
9597
varType: map(string)
96-
- name: project
98+
- name: project_id
9799
description: The ID of the project in which the resource belongs to.
98100
varType: string
99101
required: true

modules/redis-cluster/metadata.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,18 @@ spec:
4242
location: examples/redis
4343
- name: redis-cluster
4444
location: examples/redis-cluster
45+
- name: valkey
46+
location: examples/valkey
4547
interfaces:
4648
variables:
4749
- name: authorization_mode
4850
description: "The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. Default value is AUTH_MODE_DISABLED. Possible values are: AUTH_MODE_UNSPECIFIED, AUTH_MODE_IAM_AUTH, AUTH_MODE_DISABLED"
4951
varType: string
5052
defaultValue: AUTH_MODE_DISABLED
53+
- name: deletion_protection_enabled
54+
description: " Indicates if the cluster is deletion protected or not. If the value if set to true, any delete cluster operation will fail. Default value is true"
55+
varType: bool
56+
defaultValue: true
5157
- name: enable_apis
5258
description: Flag for enabling memcache.googleapis.com in your project
5359
varType: bool
@@ -63,7 +69,7 @@ spec:
6369
- name: node_type
6470
description: "The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values are: REDIS_SHARED_CORE_NANO, REDIS_HIGHMEM_MEDIUM, REDIS_HIGHMEM_XLARGE, REDIS_STANDARD_SMALL."
6571
varType: string
66-
- name: project
72+
- name: project_id
6773
description: The ID of the project in which the resource belongs to.
6874
varType: string
6975
required: true

modules/valkey/metadata.yaml

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
# Copyright 2024 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
apiVersion: blueprints.cloud.google.com/v1alpha1
16+
kind: BlueprintMetadata
17+
metadata:
18+
name: terraform-google-memorystore-valkey
19+
annotations:
20+
config.kubernetes.io/local-config: "true"
21+
spec:
22+
info:
23+
title: Memorystore Valkey Terraform Module
24+
source:
25+
repo: https://github.com/terraform-google-modules/terraform-google-memorystore.git
26+
sourceType: git
27+
dir: /modules/valkey
28+
version: 11.0.1
29+
actuationTool:
30+
flavor: Terraform
31+
version: ">= 1.3"
32+
description: {}
33+
content:
34+
examples:
35+
- name: basic
36+
location: examples/basic
37+
- name: memcache
38+
location: examples/memcache
39+
- name: minimal
40+
location: examples/minimal
41+
- name: redis
42+
location: examples/redis
43+
- name: redis-cluster
44+
location: examples/redis-cluster
45+
- name: valkey
46+
location: examples/valkey
47+
interfaces:
48+
variables:
49+
- name: authorization_mode
50+
description: "The Immutable. Authorization mode of the instance. Possible values: AUTH_DISABLED IAM_AUTH"
51+
varType: string
52+
defaultValue: AUTH_DISABLED
53+
- name: deletion_protection_enabled
54+
description: If set to true deletion of the instance will fail
55+
varType: bool
56+
defaultValue: true
57+
- name: enable_apis
58+
description: Flag for enabling memcache.googleapis.com in your project
59+
varType: bool
60+
defaultValue: false
61+
- name: engine_configs
62+
description: User-provided engine configurations for the instance
63+
varType: |-
64+
object({
65+
maxmemory = optional(string)
66+
maxmemory-clients = optional(string)
67+
maxmemory-policy = optional(string)
68+
notify-keyspace-events = optional(string)
69+
slowlog-log-slower-than = optional(number)
70+
maxclients = optional(number)
71+
})
72+
- name: engine_version
73+
description: Immutable. Engine version of the instance
74+
varType: string
75+
defaultValue: VALKEY_8_0
76+
- name: instance_id
77+
description: The ID to use for the instance, which will become the final component of the instance's resource name. Must be 4-63 characters in length with lowercase letters, digits, and hyphens. Must not end with a hyphen. Must be unique within a location
78+
varType: string
79+
required: true
80+
- name: labels
81+
description: The resource labels to represent user provided metadata.
82+
varType: map(string)
83+
defaultValue: {}
84+
- name: location
85+
description: The region where valkey cluster will be created
86+
varType: string
87+
required: true
88+
- name: network
89+
description: Name of the consumer network where the network address of the discovery endpoint will be reserved
90+
varType: string
91+
required: true
92+
- name: network_project
93+
description: project ID of the consumer network where the network address of the discovery endpoint will be reserved. Required for Shared VPC host
94+
varType: string
95+
- name: node_type
96+
description: "The nodeType for the valkey cluster. Possible values are: SHARED_CORE_NANO, HIGHMEM_MEDIUM, HIGHMEM_XLARGE, STANDARD_SMALL"
97+
varType: string
98+
- name: persistence_config
99+
description: User-provided persistence configurations for the instance
100+
varType: |-
101+
object({
102+
mode = optional(string)
103+
rdb_config = optional(object({
104+
rdb_snapshot_period = optional(string)
105+
rdb_snapshot_start_time = optional(string)
106+
}), null)
107+
aof_config = optional(object({
108+
append_fsync = string
109+
}), null)
110+
})
111+
defaultValue: {}
112+
- name: project_id
113+
description: The ID of the project in which the resource belongs to.
114+
varType: string
115+
required: true
116+
- name: replica_count
117+
description: Number of replica nodes per shard. If omitted the default is 0 replicas
118+
varType: number
119+
defaultValue: 0
120+
- name: service_connection_policies
121+
description: The Service Connection Policies to create. Required to create service connection policy. Not needed if service connection policy already exist
122+
varType: |-
123+
map(object({
124+
subnet_names = list(string)
125+
description = optional(string)
126+
limit = optional(number)
127+
labels = optional(map(string), {})
128+
}))
129+
defaultValue: {}
130+
- name: shard_count
131+
description: Number of shards for the instance
132+
varType: number
133+
defaultValue: 3
134+
- name: transit_encryption_mode
135+
description: "Immutable. In-transit encryption mode of the instance. Possible values: TRANSIT_ENCRYPTION_DISABLED SERVER_AUTHENTICATION"
136+
varType: string
137+
defaultValue: TRANSIT_ENCRYPTION_DISABLED
138+
- name: zone_distribution_config_mode
139+
description: "The mode for zone distribution for Memorystore valkey cluster (Immutable). If not provided, MULTI_ZONE will be used as default value. Possible values are: MULTI_ZONE, SINGLE_ZONE"
140+
varType: string
141+
defaultValue: MULTI_ZONE
142+
- name: zone_distribution_config_zone
143+
description: The zone for single zone Memorystore valkey cluster (Immutable)
144+
varType: string
145+
outputs:
146+
- name: discovery_endpoints
147+
description: Endpoints created on each given network, for valkey clients to connect to the cluster. Currently only one endpoint is supported
148+
- name: id
149+
description: The valkey cluster instance ID
150+
- name: psc_connections
151+
description: PSC connections for discovery of the cluster topology and accessing the cluster
152+
- name: valkey_cluster
153+
description: The valkey cluster created
154+
requirements:
155+
roles:
156+
- level: Project
157+
roles:
158+
- roles/owner
159+
services:
160+
- cloudresourcemanager.googleapis.com
161+
- serviceusage.googleapis.com
162+
- redis.googleapis.com
163+
- memcache.googleapis.com
164+
- serviceconsumermanagement.googleapis.com
165+
- networkconnectivity.googleapis.com
166+
- compute.googleapis.com

0 commit comments

Comments
 (0)