-
Notifications
You must be signed in to change notification settings - Fork 105
/
metadata.yaml
208 lines (207 loc) · 8.18 KB
/
metadata.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: blueprints.cloud.google.com/v1alpha1
kind: BlueprintMetadata
metadata:
name: terraform-google-memorystore
annotations:
config.kubernetes.io/local-config: "true"
spec:
info:
title: Google Cloud Memorystore Terraform Module
source:
repo: https://github.com/terraform-google-modules/terraform-google-memorystore.git
sourceType: git
version: 12.0.1
actuationTool:
flavor: Terraform
version: ">= 1.3"
description: {}
content:
subBlueprints:
- name: memcache
location: modules/memcache
- name: redis-cluster
location: modules/redis-cluster
- name: valkey
location: modules/valkey
examples:
- name: basic
location: examples/basic
- name: memcache
location: examples/memcache
- name: minimal
location: examples/minimal
- name: redis
location: examples/redis
- name: redis-cluster
location: examples/redis-cluster
- name: valkey
location: examples/valkey
interfaces:
variables:
- name: project_id
description: The ID of the project in which the resource belongs to.
varType: string
required: true
- name: region
description: The GCP region to use.
varType: string
- name: name
description: The ID of the instance or a fully qualified identifier for the instance.
varType: string
required: true
- name: display_name
description: An arbitrary and optional user-provided name for the instance.
varType: string
- name: tier
description: The service tier of the instance. https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Tier
varType: string
defaultValue: STANDARD_HA
- name: memory_size_gb
description: Redis memory size in GiB. Defaulted to 1 GiB
varType: number
defaultValue: 1
- name: replica_count
description: The number of replicas.
varType: number
- name: authorized_network
description: The full name of the Google Compute Engine network to which the instance is connected. If left unspecified, the default network will be used.
varType: string
connections:
- source:
source: github.com/terraform-google-modules/terraform-google-network//modules/vpc
version: ">= 9.1.0"
spec:
outputExpr: network_name
- name: redis_version
description: The version of Redis software.
varType: string
- name: connect_mode
description: The connection mode of the Redis instance. Can be either DIRECT_PEERING or PRIVATE_SERVICE_ACCESS. The default connect mode if not provided is DIRECT_PEERING.
varType: string
- name: enable_apis
description: Flag for enabling redis.googleapis.com in your project
varType: bool
defaultValue: true
- name: read_replicas_mode
description: "Read replicas mode. https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#readreplicasmode "
varType: string
defaultValue: READ_REPLICAS_DISABLED
- name: location_id
description: The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If [alternativeLocationId] is also provided, it must be different from [locationId].
varType: string
- name: alternative_location_id
description: The alternative zone where the instance will be provisioned.
varType: string
- name: redis_configs
description: The Redis configuration parameters. See [more details](https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs)
varType: map(any)
defaultValue: {}
- name: reserved_ip_range
description: The CIDR range of internal addresses that are reserved for this instance.
varType: string
- name: secondary_ip_range
description: Optional. Additional IP range for node placement. Required when enabling read replicas on an existing instance.
varType: string
- name: labels
description: The resource labels to represent user provided metadata.
varType: map(string)
- name: auth_enabled
description: Indicates whether OSS Redis AUTH is enabled for the instance. If set to true AUTH is enabled on the instance.
varType: bool
defaultValue: false
- name: transit_encryption_mode
description: The TLS mode of the Redis instance, If not provided, TLS is enabled for the instance.
varType: string
defaultValue: SERVER_AUTHENTICATION
- name: maintenance_policy
description: The maintenance policy for an instance.
varType: |-
object({
day = string
start_time = object({
hours = number
minutes = number
seconds = number
nanos = number
})
})
- name: customer_managed_key
description: Default encryption key to apply to the Redis instance. Defaults to null (Google-managed).
varType: string
- name: persistence_config
description: The Redis persistence configuration parameters. https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#persistenceconfig
varType: |-
object({
persistence_mode = string
rdb_snapshot_period = string
})
outputs:
- name: auth_string
description: AUTH String set on the instance. This field will only be populated if auth_enabled is true.
type: string
- name: current_location_id
description: The current zone where the Redis endpoint is placed.
type: string
- name: env_vars
description: Exported environment variables
type:
- object
- REDIS_HOST: string
REDIS_PORT: string
- name: host
description: The IP address of the instance.
type: string
- name: id
description: The memorystore instance ID.
type: string
- name: persistence_iam_identity
description: Cloud IAM identity used by import/export operations. Format is 'serviceAccount:'. May change over time
type: string
- name: port
description: The port number of the exposed Redis endpoint.
type: number
- name: read_endpoint
description: " The IP address of the exposed readonly Redis endpoint."
type: string
- name: region
description: The region the instance lives in.
type: string
- name: server_ca_certs
description: List of server CA certificates for the instance
type:
- list
- - object
- cert: string
create_time: string
expire_time: string
serial_number: string
sha1_fingerprint: string
requirements:
roles:
- level: Project
roles:
- roles/owner
services:
- cloudresourcemanager.googleapis.com
- serviceusage.googleapis.com
- redis.googleapis.com
- memcache.googleapis.com
- serviceconsumermanagement.googleapis.com
- networkconnectivity.googleapis.com
- compute.googleapis.com
providerVersions:
- source: hashicorp/google
version: ">= 4.74.0, < 7"