...
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: alpha
24 cnrm.cloud.google.com/system: "true"
25 cnrm.cloud.google.com/tf2crd: "true"
26 name: alloydbclusters.alloydb.cnrm.cloud.google.com
27spec:
28 group: alloydb.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: AlloyDBCluster
33 plural: alloydbclusters
34 shortNames:
35 - gcpalloydbcluster
36 - gcpalloydbclusters
37 singular: alloydbcluster
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: v1alpha1
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 automatedBackupPolicy:
75 description: |-
76 The automated backup policy for this cluster.
77
78 If no policy is provided then the default policy will be used. The default policy takes one backup a day, has a backup window of 1 hour, and retains backups for 14 days.
79 properties:
80 backupWindow:
81 description: |-
82 The length of the time window during which a backup can be taken. If a backup does not succeed within this time window, it will be canceled and considered failed.
83
84 The backup window must be at least 5 minutes long. There is no upper bound on the window. If not set, it will default to 1 hour.
85
86 A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
87 type: string
88 enabled:
89 description: Whether automated backups are enabled.
90 type: boolean
91 encryptionConfig:
92 description: EncryptionConfig describes the encryption config
93 of a cluster or a backup that is encrypted with a CMEK (customer-managed
94 encryption key).
95 properties:
96 kmsKeyName:
97 description: 'The fully-qualified resource name of the KMS
98 key. Each Cloud KMS key is regionalized and has the following
99 format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].'
100 type: string
101 type: object
102 labels:
103 additionalProperties:
104 type: string
105 description: Labels to apply to backups created using this configuration.
106 type: object
107 location:
108 description: The location where the backup will be stored. Currently,
109 the only supported option is to store the backup in the same
110 region as the cluster.
111 type: string
112 quantityBasedRetention:
113 description: Quantity-based Backup retention policy to retain
114 recent backups. Conflicts with 'time_based_retention', both
115 can't be set together.
116 properties:
117 count:
118 description: The number of backups to retain.
119 type: integer
120 type: object
121 timeBasedRetention:
122 description: Time-based Backup retention policy. Conflicts with
123 'quantity_based_retention', both can't be set together.
124 properties:
125 retentionPeriod:
126 description: |-
127 The retention period.
128 A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
129 type: string
130 type: object
131 weeklySchedule:
132 description: Weekly schedule for the Backup.
133 properties:
134 daysOfWeek:
135 description: 'The days of the week to perform a backup. At
136 least one day of the week must be provided. Possible values:
137 ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY",
138 "SATURDAY", "SUNDAY"].'
139 items:
140 type: string
141 type: array
142 startTimes:
143 description: The times during the day to start a backup. At
144 least one start time must be provided. The start times are
145 assumed to be in UTC and to be an exact hour (e.g., 04:00:00).
146 items:
147 properties:
148 hours:
149 description: Hours of day in 24 hour format. Should
150 be from 0 to 23. An API may choose to allow the value
151 "24:00:00" for scenarios like business closing time.
152 type: integer
153 minutes:
154 description: Minutes of hour of day. Currently, only
155 the value 0 is supported.
156 type: integer
157 nanos:
158 description: Fractions of seconds in nanoseconds. Currently,
159 only the value 0 is supported.
160 type: integer
161 seconds:
162 description: Seconds of minutes of the time. Currently,
163 only the value 0 is supported.
164 type: integer
165 type: object
166 type: array
167 required:
168 - startTimes
169 type: object
170 type: object
171 displayName:
172 description: User-settable and human-readable display name for the
173 Cluster.
174 type: string
175 encryptionConfig:
176 description: EncryptionConfig describes the encryption config of a
177 cluster or a backup that is encrypted with a CMEK (customer-managed
178 encryption key).
179 properties:
180 kmsKeyName:
181 description: 'Immutable. The fully-qualified resource name of
182 the KMS key. Each Cloud KMS key is regionalized and has the
183 following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME].'
184 type: string
185 type: object
186 initialUser:
187 description: Initial user to setup during cluster creation.
188 properties:
189 password:
190 description: The initial password for the user.
191 oneOf:
192 - not:
193 required:
194 - valueFrom
195 required:
196 - value
197 - not:
198 required:
199 - value
200 required:
201 - valueFrom
202 properties:
203 value:
204 description: Value of the field. Cannot be used if 'valueFrom'
205 is specified.
206 type: string
207 valueFrom:
208 description: Source for the field's value. Cannot be used
209 if 'value' is specified.
210 properties:
211 secretKeyRef:
212 description: Reference to a value with the given key in
213 the given Secret in the resource's namespace.
214 properties:
215 key:
216 description: Key that identifies the value to be extracted.
217 type: string
218 name:
219 description: Name of the Secret to extract a value
220 from.
221 type: string
222 required:
223 - name
224 - key
225 type: object
226 type: object
227 type: object
228 user:
229 description: The database username.
230 type: string
231 required:
232 - password
233 type: object
234 location:
235 description: Immutable. The location where the alloydb cluster should
236 reside.
237 type: string
238 network:
239 description: |-
240 The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form:
241
242 "projects/{projectNumber}/global/networks/{network_id}".
243 type: string
244 projectRef:
245 description: The project that this resource belongs to.
246 oneOf:
247 - not:
248 required:
249 - external
250 required:
251 - name
252 - not:
253 anyOf:
254 - required:
255 - name
256 - required:
257 - namespace
258 required:
259 - external
260 properties:
261 external:
262 description: 'Allowed value: The `name` field of a `Project` resource.'
263 type: string
264 name:
265 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
266 type: string
267 namespace:
268 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
269 type: string
270 type: object
271 resourceID:
272 description: Immutable. Optional. The clusterId of the resource. Used
273 for creation and acquisition. When unset, the value of `metadata.name`
274 is used as the default.
275 type: string
276 required:
277 - location
278 - network
279 - projectRef
280 type: object
281 status:
282 properties:
283 backupSource:
284 description: Cluster created from backup.
285 items:
286 properties:
287 backupName:
288 description: The name of the backup resource.
289 type: string
290 type: object
291 type: array
292 conditions:
293 description: Conditions represent the latest available observation
294 of the resource's current state.
295 items:
296 properties:
297 lastTransitionTime:
298 description: Last time the condition transitioned from one status
299 to another.
300 type: string
301 message:
302 description: Human-readable message indicating details about
303 last transition.
304 type: string
305 reason:
306 description: Unique, one-word, CamelCase reason for the condition's
307 last transition.
308 type: string
309 status:
310 description: Status is the status of the condition. Can be True,
311 False, Unknown.
312 type: string
313 type:
314 description: Type is the type of the condition.
315 type: string
316 type: object
317 type: array
318 databaseVersion:
319 description: The database engine major version. This is an output-only
320 field and it's populated at the Cluster creation time. This field
321 cannot be changed after cluster creation.
322 type: string
323 encryptionInfo:
324 description: EncryptionInfo describes the encryption information of
325 a cluster or a backup.
326 items:
327 properties:
328 encryptionType:
329 description: Output only. Type of encryption.
330 type: string
331 kmsKeyVersions:
332 description: Output only. Cloud KMS key versions that are being
333 used to protect the database or the backup.
334 items:
335 type: string
336 type: array
337 type: object
338 type: array
339 migrationSource:
340 description: Cluster created via DMS migration.
341 items:
342 properties:
343 hostPort:
344 description: The host and port of the on-premises instance in
345 host:port format.
346 type: string
347 referenceId:
348 description: Place holder for the external source identifier(e.g
349 DMS job name) that created the cluster.
350 type: string
351 sourceType:
352 description: Type of migration source.
353 type: string
354 type: object
355 type: array
356 name:
357 description: The name of the cluster resource.
358 type: string
359 observedGeneration:
360 description: ObservedGeneration is the generation of the resource
361 that was most recently observed by the Config Connector controller.
362 If this is equal to metadata.generation, then that means that the
363 current reported status reflects the most recent desired state of
364 the resource.
365 type: integer
366 uid:
367 description: The system-generated UID of the resource.
368 type: string
369 type: object
370 required:
371 - spec
372 type: object
373 served: true
374 storage: true
375 subresources:
376 status: {}
377status:
378 acceptedNames:
379 kind: ""
380 plural: ""
381 conditions: []
382 storedVersions: []
View as plain text