1# Copyright 2020 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
15apiVersion: apiextensions.k8s.io/v1
16kind: CustomResourceDefinition
17metadata:
18 annotations:
19 cnrm.cloud.google.com/version: 1.106.0
20 creationTimestamp: null
21 labels:
22 cnrm.cloud.google.com/managed-by-kcc: "true"
23 cnrm.cloud.google.com/stability-level: stable
24 cnrm.cloud.google.com/system: "true"
25 cnrm.cloud.google.com/tf2crd: "true"
26 name: redisinstances.redis.cnrm.cloud.google.com
27spec:
28 group: redis.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: RedisInstance
33 plural: redisinstances
34 shortNames:
35 - gcpredisinstance
36 - gcpredisinstances
37 singular: redisinstance
38 scope: Namespaced
39 versions:
40 - additionalPrinterColumns:
41 - jsonPath: .metadata.creationTimestamp
42 name: Age
43 type: date
44 - description: When 'True', the most recent reconcile of the resource succeeded
45 jsonPath: .status.conditions[?(@.type=='Ready')].status
46 name: Ready
47 type: string
48 - description: The reason for the value in 'Ready'
49 jsonPath: .status.conditions[?(@.type=='Ready')].reason
50 name: Status
51 type: string
52 - description: The last transition time for the value in 'Status'
53 jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
54 name: Status Age
55 type: date
56 name: v1beta1
57 schema:
58 openAPIV3Schema:
59 properties:
60 apiVersion:
61 description: 'apiVersion defines the versioned schema of this representation
62 of an object. Servers should convert recognized schemas to the latest
63 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
64 type: string
65 kind:
66 description: 'kind is a string value representing the REST resource this
67 object represents. Servers may infer this from the endpoint the client
68 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
69 type: string
70 metadata:
71 type: object
72 spec:
73 properties:
74 alternativeLocationId:
75 description: |-
76 Immutable. Only applicable to STANDARD_HA tier which protects the instance
77 against zonal failures by provisioning it across two zones.
78 If provided, it must be a different zone from the one provided in
79 [locationId].
80 type: string
81 authEnabled:
82 description: |-
83 Optional. Indicates whether OSS Redis AUTH is enabled for the
84 instance. If set to "true" AUTH is enabled on the instance.
85 Default value is "false" meaning AUTH is disabled.
86 type: boolean
87 authString:
88 description: Output only. AUTH String set on the instance. This field
89 will only be populated if auth_enabled is true.
90 type: string
91 authorizedNetworkRef:
92 description: |-
93 The network to which the instance is connected. If left
94 unspecified, the default network will be used.
95 oneOf:
96 - not:
97 required:
98 - external
99 required:
100 - name
101 - not:
102 anyOf:
103 - required:
104 - name
105 - required:
106 - namespace
107 required:
108 - external
109 properties:
110 external:
111 description: 'Allowed value: The `selfLink` field of a `ComputeNetwork`
112 resource.'
113 type: string
114 name:
115 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
116 type: string
117 namespace:
118 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
119 type: string
120 type: object
121 connectMode:
122 description: 'Immutable. The connection mode of the Redis instance.
123 Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING",
124 "PRIVATE_SERVICE_ACCESS"].'
125 type: string
126 customerManagedKeyRef:
127 description: |-
128 Immutable. Optional. The KMS key reference that you want to use to
129 encrypt the data at rest for this Redis instance. If this is
130 provided, CMEK is enabled.
131 oneOf:
132 - not:
133 required:
134 - external
135 required:
136 - name
137 - not:
138 anyOf:
139 - required:
140 - name
141 - required:
142 - namespace
143 required:
144 - external
145 properties:
146 external:
147 description: 'Allowed value: The `selfLink` field of a `KMSCryptoKey`
148 resource.'
149 type: string
150 name:
151 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
152 type: string
153 namespace:
154 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
155 type: string
156 type: object
157 displayName:
158 description: An arbitrary and optional user-provided name for the
159 instance.
160 type: string
161 locationId:
162 description: |-
163 Immutable. The zone where the instance will be provisioned. If not provided,
164 the service will choose a zone for the instance. For STANDARD_HA tier,
165 instances will be created across two zones for protection against
166 zonal failures. If [alternativeLocationId] is also provided, it must
167 be different from [locationId].
168 type: string
169 maintenancePolicy:
170 description: Maintenance policy for an instance.
171 properties:
172 createTime:
173 description: |-
174 Output only. The time when the policy was created.
175 A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
176 resolution and up to nine fractional digits.
177 type: string
178 description:
179 description: |-
180 Optional. Description of what this policy is for.
181 Create/Update methods return INVALID_ARGUMENT if the
182 length is greater than 512.
183 type: string
184 updateTime:
185 description: |-
186 Output only. The time when the policy was last updated.
187 A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
188 resolution and up to nine fractional digits.
189 type: string
190 weeklyMaintenanceWindow:
191 description: |-
192 Optional. Maintenance window that is applied to resources covered by this policy.
193 Minimum 1. For the current version, the maximum number
194 of weekly_window is expected to be one.
195 items:
196 properties:
197 day:
198 description: |-
199 Required. The day of week that maintenance updates occur.
200
201 - DAY_OF_WEEK_UNSPECIFIED: The day of the week is unspecified.
202 - MONDAY: Monday
203 - TUESDAY: Tuesday
204 - WEDNESDAY: Wednesday
205 - THURSDAY: Thursday
206 - FRIDAY: Friday
207 - SATURDAY: Saturday
208 - SUNDAY: Sunday Possible values: ["DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"].
209 type: string
210 duration:
211 description: |-
212 Output only. Duration of the maintenance window.
213 The current window is fixed at 1 hour.
214 A duration in seconds with up to nine fractional digits,
215 terminated by 's'. Example: "3.5s".
216 type: string
217 startTime:
218 description: Required. Start time of the window in UTC time.
219 properties:
220 hours:
221 description: |-
222 Hours of day in 24 hour format. Should be from 0 to 23.
223 An API may choose to allow the value "24:00:00" for scenarios like business closing time.
224 type: integer
225 minutes:
226 description: Minutes of hour of day. Must be from 0
227 to 59.
228 type: integer
229 nanos:
230 description: Fractions of seconds in nanoseconds. Must
231 be from 0 to 999,999,999.
232 type: integer
233 seconds:
234 description: |-
235 Seconds of minutes of the time. Must normally be from 0 to 59.
236 An API may allow the value 60 if it allows leap-seconds.
237 type: integer
238 type: object
239 required:
240 - day
241 - startTime
242 type: object
243 type: array
244 type: object
245 maintenanceSchedule:
246 description: Upcoming maintenance schedule.
247 properties:
248 endTime:
249 description: |-
250 Output only. The end time of any upcoming scheduled maintenance for this instance.
251 A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
252 resolution and up to nine fractional digits.
253 type: string
254 scheduleDeadlineTime:
255 description: |-
256 Output only. The deadline that the maintenance schedule start time
257 can not go beyond, including reschedule.
258 A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
259 resolution and up to nine fractional digits.
260 type: string
261 startTime:
262 description: |-
263 Output only. The start time of any upcoming scheduled maintenance for this instance.
264 A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
265 resolution and up to nine fractional digits.
266 type: string
267 type: object
268 memorySizeGb:
269 description: Redis memory size in GiB.
270 type: integer
271 persistenceConfig:
272 description: Persistence configuration for an instance.
273 properties:
274 persistenceMode:
275 description: "Optional. Controls whether Persistence features
276 are enabled. If not provided, the existing value will be used.\n\n-
277 DISABLED: \tPersistence is disabled for the instance, and any
278 existing snapshots are deleted.\n- RDB: RDB based Persistence
279 is enabled. Possible values: [\"DISABLED\", \"RDB\"]."
280 type: string
281 rdbNextSnapshotTime:
282 description: |-
283 Output only. The next time that a snapshot attempt is scheduled to occur.
284 A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up
285 to nine fractional digits.
286 Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
287 type: string
288 rdbSnapshotPeriod:
289 description: "Optional. Available snapshot periods for scheduling.\n\n-
290 ONE_HOUR:\tSnapshot every 1 hour.\n- SIX_HOURS:\tSnapshot every
291 6 hours.\n- TWELVE_HOURS:\tSnapshot every 12 hours.\n- TWENTY_FOUR_HOURS:\tSnapshot
292 every 24 hours. Possible values: [\"ONE_HOUR\", \"SIX_HOURS\",
293 \"TWELVE_HOURS\", \"TWENTY_FOUR_HOURS\"]."
294 type: string
295 rdbSnapshotStartTime:
296 description: |-
297 Optional. Date and time that the first snapshot was/will be attempted,
298 and to which future snapshots will be aligned. If not provided,
299 the current time will be used.
300 A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution
301 and up to nine fractional digits.
302 Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
303 type: string
304 type: object
305 readReplicasMode:
306 description: |-
307 Optional. Read replica mode. Can only be specified when trying to create the instance.
308 If not set, Memorystore Redis backend will default to READ_REPLICAS_DISABLED.
309 - READ_REPLICAS_DISABLED: If disabled, read endpoint will not be provided and the
310 instance cannot scale up or down the number of replicas.
311 - READ_REPLICAS_ENABLED: If enabled, read endpoint will be provided and the instance
312 can scale up and down the number of replicas. Possible values: ["READ_REPLICAS_DISABLED", "READ_REPLICAS_ENABLED"].
313 type: string
314 redisConfigs:
315 additionalProperties:
316 type: string
317 description: |-
318 Redis configuration parameters, according to http://redis.io/topics/config.
319 Please check Memorystore documentation for the list of supported parameters:
320 https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs.
321 type: object
322 redisVersion:
323 description: |-
324 The version of Redis software. If not provided, latest supported
325 version will be used. Please check the API documentation linked
326 at the top for the latest valid values.
327 type: string
328 region:
329 description: Immutable. The name of the Redis region of the instance.
330 type: string
331 replicaCount:
332 description: |-
333 Optional. The number of replica nodes. The valid range for the Standard Tier with
334 read replicas enabled is [1-5] and defaults to 2. If read replicas are not enabled
335 for a Standard Tier instance, the only valid value is 1 and the default is 1.
336 The valid value for basic tier is 0 and the default is also 0.
337 type: integer
338 reservedIpRange:
339 description: |-
340 Immutable. The CIDR range of internal addresses that are reserved for this
341 instance. If not provided, the service will choose an unused /29
342 block, for example, 10.0.0.0/29 or 192.168.0.0/29. Ranges must be
343 unique and non-overlapping with existing subnets in an authorized
344 network.
345 type: string
346 resourceID:
347 description: Immutable. Optional. The name of the resource. Used for
348 creation and acquisition. When unset, the value of `metadata.name`
349 is used as the default.
350 type: string
351 secondaryIpRange:
352 description: |-
353 Optional. Additional IP range for node placement. Required when enabling read replicas on
354 an existing instance. For DIRECT_PEERING mode value must be a CIDR range of size /28, or
355 "auto". For PRIVATE_SERVICE_ACCESS mode value must be the name of an allocated address
356 range associated with the private service access connection, or "auto".
357 type: string
358 tier:
359 description: |-
360 Immutable. The service tier of the instance. Must be one of these values:
361
362 - BASIC: standalone instance
363 - STANDARD_HA: highly available primary/replica instances Default value: "BASIC" Possible values: ["BASIC", "STANDARD_HA"].
364 type: string
365 transitEncryptionMode:
366 description: |-
367 Immutable. The TLS mode of the Redis instance, If not provided, TLS is disabled for the instance.
368
369 - SERVER_AUTHENTICATION: Client to Server traffic encryption enabled with server authentication Default value: "DISABLED" Possible values: ["SERVER_AUTHENTICATION", "DISABLED"].
370 type: string
371 required:
372 - memorySizeGb
373 - region
374 type: object
375 status:
376 properties:
377 conditions:
378 description: Conditions represent the latest available observation
379 of the resource's current state.
380 items:
381 properties:
382 lastTransitionTime:
383 description: Last time the condition transitioned from one status
384 to another.
385 type: string
386 message:
387 description: Human-readable message indicating details about
388 last transition.
389 type: string
390 reason:
391 description: Unique, one-word, CamelCase reason for the condition's
392 last transition.
393 type: string
394 status:
395 description: Status is the status of the condition. Can be True,
396 False, Unknown.
397 type: string
398 type:
399 description: Type is the type of the condition.
400 type: string
401 type: object
402 type: array
403 createTime:
404 description: |-
405 The time the instance was created in RFC3339 UTC "Zulu" format,
406 accurate to nanoseconds.
407 type: string
408 currentLocationId:
409 description: |-
410 The current zone where the Redis endpoint is placed.
411 For Basic Tier instances, this will always be the same as the
412 [locationId] provided by the user at creation time. For Standard Tier
413 instances, this can be either [locationId] or [alternativeLocationId]
414 and can change after a failover event.
415 type: string
416 host:
417 description: |-
418 Hostname or IP address of the exposed Redis endpoint used by clients
419 to connect to the service.
420 type: string
421 nodes:
422 description: Output only. Info per node.
423 items:
424 properties:
425 id:
426 description: Node identifying string. e.g. 'node-0', 'node-1'.
427 type: string
428 zone:
429 description: Location of the node.
430 type: string
431 type: object
432 type: array
433 observedGeneration:
434 description: ObservedGeneration is the generation of the resource
435 that was most recently observed by the Config Connector controller.
436 If this is equal to metadata.generation, then that means that the
437 current reported status reflects the most recent desired state of
438 the resource.
439 type: integer
440 persistenceIamIdentity:
441 description: |-
442 Output only. Cloud IAM identity used by import / export operations
443 to transfer data to/from Cloud Storage. Format is "serviceAccount:".
444 The value may change over time for a given instance so should be
445 checked before each import/export operation.
446 type: string
447 port:
448 description: The port number of the exposed Redis endpoint.
449 type: integer
450 readEndpoint:
451 description: |-
452 Output only. Hostname or IP address of the exposed readonly Redis endpoint. Standard tier only.
453 Targets all healthy replica nodes in instance. Replication is asynchronous and replica nodes
454 will exhibit some lag behind the primary. Write requests must target 'host'.
455 type: string
456 readEndpointPort:
457 description: |-
458 Output only. The port number of the exposed readonly redis endpoint. Standard tier only.
459 Write requests should target 'port'.
460 type: integer
461 serverCaCerts:
462 description: List of server CA certificates for the instance.
463 items:
464 properties:
465 cert:
466 description: The certificate data in PEM format.
467 type: string
468 createTime:
469 description: The time when the certificate was created.
470 type: string
471 expireTime:
472 description: The time when the certificate expires.
473 type: string
474 serialNumber:
475 description: Serial number, as extracted from the certificate.
476 type: string
477 sha1Fingerprint:
478 description: Sha1 Fingerprint of the certificate.
479 type: string
480 type: object
481 type: array
482 type: object
483 required:
484 - spec
485 type: object
486 served: true
487 storage: true
488 subresources:
489 status: {}
490status:
491 acceptedNames:
492 kind: ""
493 plural: ""
494 conditions: []
495 storedVersions: []
View as plain text