google-cloud-alloy_db-v1beta 0.a → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/client.rb +3304 -0
  6. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/credentials.rb +47 -0
  7. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/operations.rb +768 -0
  8. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/paths.rb +149 -0
  9. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/rest/client.rb +2586 -0
  10. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/rest/operations.rb +792 -0
  11. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/rest/service_stub.rb +1537 -0
  12. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin/rest.rb +54 -0
  13. data/lib/google/cloud/alloy_db/v1beta/alloy_db_admin.rb +56 -0
  14. data/lib/google/cloud/alloy_db/v1beta/bindings_override.rb +102 -0
  15. data/lib/google/cloud/alloy_db/v1beta/rest.rb +38 -0
  16. data/lib/google/cloud/alloy_db/v1beta/version.rb +8 -3
  17. data/lib/google/cloud/alloy_db/v1beta.rb +45 -0
  18. data/lib/google/cloud/alloydb/v1beta/resources_pb.rb +338 -0
  19. data/lib/google/cloud/alloydb/v1beta/service_pb.rb +279 -0
  20. data/lib/google/cloud/alloydb/v1beta/service_services_pb.rb +115 -0
  21. data/lib/google-cloud-alloy_db-v1beta.rb +21 -0
  22. data/proto_docs/README.md +4 -0
  23. data/proto_docs/google/api/client.rb +324 -0
  24. data/proto_docs/google/api/field_behavior.rb +71 -0
  25. data/proto_docs/google/api/launch_stage.rb +71 -0
  26. data/proto_docs/google/api/resource.rb +222 -0
  27. data/proto_docs/google/cloud/alloydb/v1beta/resources.rb +1068 -0
  28. data/proto_docs/google/cloud/alloydb/v1beta/service.rb +998 -0
  29. data/proto_docs/google/longrunning/operations.rb +164 -0
  30. data/proto_docs/google/protobuf/any.rb +141 -0
  31. data/proto_docs/google/protobuf/duration.rb +98 -0
  32. data/proto_docs/google/protobuf/empty.rb +34 -0
  33. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  34. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  35. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  36. data/proto_docs/google/rpc/status.rb +48 -0
  37. data/proto_docs/google/type/dayofweek.rb +49 -0
  38. data/proto_docs/google/type/expr.rb +75 -0
  39. data/proto_docs/google/type/timeofday.rb +45 -0
  40. metadata +250 -12
@@ -0,0 +1,1068 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module AlloyDB
23
+ module V1beta
24
+ # The username/password for a database user. Used for specifying initial
25
+ # users at cluster creation time.
26
+ # @!attribute [rw] user
27
+ # @return [::String]
28
+ # The database username.
29
+ # @!attribute [rw] password
30
+ # @return [::String]
31
+ # The initial password for the user.
32
+ class UserPassword
33
+ include ::Google::Protobuf::MessageExts
34
+ extend ::Google::Protobuf::MessageExts::ClassMethods
35
+ end
36
+
37
+ # Subset of the source instance configuration that is available when reading
38
+ # the cluster resource.
39
+ # @!attribute [r] host_port
40
+ # @return [::String]
41
+ # Output only. The host and port of the on-premises instance in host:port
42
+ # format
43
+ # @!attribute [r] reference_id
44
+ # @return [::String]
45
+ # Output only. Place holder for the external source identifier(e.g DMS job
46
+ # name) that created the cluster.
47
+ # @!attribute [r] source_type
48
+ # @return [::Google::Cloud::AlloyDB::V1beta::MigrationSource::MigrationSourceType]
49
+ # Output only. Type of migration source.
50
+ class MigrationSource
51
+ include ::Google::Protobuf::MessageExts
52
+ extend ::Google::Protobuf::MessageExts::ClassMethods
53
+
54
+ # Denote the type of migration source that created this cluster.
55
+ module MigrationSourceType
56
+ # Migration source is unknown.
57
+ MIGRATION_SOURCE_TYPE_UNSPECIFIED = 0
58
+
59
+ # DMS source means the cluster was created via DMS migration job.
60
+ DMS = 1
61
+ end
62
+ end
63
+
64
+ # EncryptionConfig describes the encryption config of a cluster or a backup
65
+ # that is encrypted with a CMEK (customer-managed encryption key).
66
+ # @!attribute [rw] kms_key_name
67
+ # @return [::String]
68
+ # The fully-qualified resource name of the KMS key.
69
+ # Each Cloud KMS key is regionalized and has the following format:
70
+ # projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]
71
+ class EncryptionConfig
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+ end
75
+
76
+ # EncryptionInfo describes the encryption information of a cluster or a backup.
77
+ # @!attribute [r] encryption_type
78
+ # @return [::Google::Cloud::AlloyDB::V1beta::EncryptionInfo::Type]
79
+ # Output only. Type of encryption.
80
+ # @!attribute [r] kms_key_versions
81
+ # @return [::Array<::String>]
82
+ # Output only. Cloud KMS key versions that are being used to protect the
83
+ # database or the backup.
84
+ class EncryptionInfo
85
+ include ::Google::Protobuf::MessageExts
86
+ extend ::Google::Protobuf::MessageExts::ClassMethods
87
+
88
+ # Possible encryption types.
89
+ module Type
90
+ # Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION.
91
+ TYPE_UNSPECIFIED = 0
92
+
93
+ # The data is encrypted at rest with a key that is fully managed by Google.
94
+ # No key version will be populated. This is the default state.
95
+ GOOGLE_DEFAULT_ENCRYPTION = 1
96
+
97
+ # The data is encrypted at rest with a key that is managed by the customer.
98
+ # KMS key versions will be populated.
99
+ CUSTOMER_MANAGED_ENCRYPTION = 2
100
+ end
101
+ end
102
+
103
+ # SSL configuration for an AlloyDB Cluster.
104
+ # @!attribute [rw] ssl_mode
105
+ # @return [::Google::Cloud::AlloyDB::V1beta::SslConfig::SslMode]
106
+ # Optional. SSL mode. Specifies client-server SSL/TLS connection behavior.
107
+ # @!attribute [rw] ca_source
108
+ # @return [::Google::Cloud::AlloyDB::V1beta::SslConfig::CaSource]
109
+ # Optional. Certificate Authority (CA) source. Only CA_SOURCE_MANAGED is
110
+ # supported currently, and is the default value.
111
+ class SslConfig
112
+ include ::Google::Protobuf::MessageExts
113
+ extend ::Google::Protobuf::MessageExts::ClassMethods
114
+
115
+ # SSL mode options.
116
+ module SslMode
117
+ # SSL mode not specified. Defaults to SSL_MODE_ALLOW.
118
+ SSL_MODE_UNSPECIFIED = 0
119
+
120
+ # SSL connections are optional. CA verification not enforced.
121
+ SSL_MODE_ALLOW = 1
122
+
123
+ # SSL connections are required. CA verification not enforced.
124
+ # Clients may use locally self-signed certificates (default psql client
125
+ # behavior).
126
+ SSL_MODE_REQUIRE = 2
127
+
128
+ # SSL connections are required. CA verification enforced.
129
+ # Clients must have certificates signed by a Cluster CA, e.g. via
130
+ # GenerateClientCertificate.
131
+ SSL_MODE_VERIFY_CA = 3
132
+ end
133
+
134
+ # Certificate Authority (CA) source for SSL/TLS certificates.
135
+ module CaSource
136
+ # Certificate Authority (CA) source not specified. Defaults to
137
+ # CA_SOURCE_MANAGED.
138
+ CA_SOURCE_UNSPECIFIED = 0
139
+
140
+ # Certificate Authority (CA) managed by the AlloyDB Cluster.
141
+ CA_SOURCE_MANAGED = 1
142
+ end
143
+ end
144
+
145
+ # Message describing the user-specified automated backup policy.
146
+ #
147
+ # All fields in the automated backup policy are optional. Defaults for each
148
+ # field are provided if they are not set.
149
+ # @!attribute [rw] weekly_schedule
150
+ # @return [::Google::Cloud::AlloyDB::V1beta::AutomatedBackupPolicy::WeeklySchedule]
151
+ # Weekly schedule for the Backup.
152
+ # @!attribute [rw] time_based_retention
153
+ # @return [::Google::Cloud::AlloyDB::V1beta::AutomatedBackupPolicy::TimeBasedRetention]
154
+ # Time-based Backup retention policy.
155
+ # @!attribute [rw] quantity_based_retention
156
+ # @return [::Google::Cloud::AlloyDB::V1beta::AutomatedBackupPolicy::QuantityBasedRetention]
157
+ # Quantity-based Backup retention policy to retain recent backups.
158
+ # @!attribute [rw] enabled
159
+ # @return [::Boolean]
160
+ # Whether automated automated backups are enabled. If not set, defaults to
161
+ # true.
162
+ # @!attribute [rw] backup_window
163
+ # @return [::Google::Protobuf::Duration]
164
+ # The length of the time window during which a backup can be
165
+ # taken. If a backup does not succeed within this time window, it will be
166
+ # canceled and considered failed.
167
+ #
168
+ # The backup window must be at least 5 minutes long. There is no upper bound
169
+ # on the window. If not set, it defaults to 1 hour.
170
+ # @!attribute [rw] encryption_config
171
+ # @return [::Google::Cloud::AlloyDB::V1beta::EncryptionConfig]
172
+ # Optional. The encryption config can be specified to encrypt the
173
+ # backups with a customer-managed encryption key (CMEK). When this field is
174
+ # not specified, the backup will then use default encryption scheme to
175
+ # protect the user data.
176
+ # @!attribute [rw] location
177
+ # @return [::String]
178
+ # The location where the backup will be stored. Currently, the only supported
179
+ # option is to store the backup in the same region as the cluster.
180
+ #
181
+ # If empty, defaults to the region of the cluster.
182
+ # @!attribute [rw] labels
183
+ # @return [::Google::Protobuf::Map{::String => ::String}]
184
+ # Labels to apply to backups created using this configuration.
185
+ class AutomatedBackupPolicy
186
+ include ::Google::Protobuf::MessageExts
187
+ extend ::Google::Protobuf::MessageExts::ClassMethods
188
+
189
+ # A weekly schedule starts a backup at prescribed start times within a
190
+ # day, for the specified days of the week.
191
+ #
192
+ # The weekly schedule message is flexible and can be used to create many
193
+ # types of schedules. For example, to have a daily backup that starts at
194
+ # 22:00, configure the `start_times` field to have one element "22:00" and
195
+ # the `days_of_week` field to have all seven days of the week.
196
+ # @!attribute [rw] start_times
197
+ # @return [::Array<::Google::Type::TimeOfDay>]
198
+ # The times during the day to start a backup. The start times are assumed
199
+ # to be in UTC and to be an exact hour (e.g., 04:00:00).
200
+ #
201
+ # If no start times are provided, a single fixed start time is chosen
202
+ # arbitrarily.
203
+ # @!attribute [rw] days_of_week
204
+ # @return [::Array<::Google::Type::DayOfWeek>]
205
+ # The days of the week to perform a backup.
206
+ #
207
+ # If this field is left empty, the default of every day of the week is
208
+ # used.
209
+ class WeeklySchedule
210
+ include ::Google::Protobuf::MessageExts
211
+ extend ::Google::Protobuf::MessageExts::ClassMethods
212
+ end
213
+
214
+ # A time based retention policy specifies that all backups within a certain
215
+ # time period should be retained.
216
+ # @!attribute [rw] retention_period
217
+ # @return [::Google::Protobuf::Duration]
218
+ # The retention period.
219
+ class TimeBasedRetention
220
+ include ::Google::Protobuf::MessageExts
221
+ extend ::Google::Protobuf::MessageExts::ClassMethods
222
+ end
223
+
224
+ # A quantity based policy specifies that a certain number of the most recent
225
+ # successful backups should be retained.
226
+ # @!attribute [rw] count
227
+ # @return [::Integer]
228
+ # The number of backups to retain.
229
+ class QuantityBasedRetention
230
+ include ::Google::Protobuf::MessageExts
231
+ extend ::Google::Protobuf::MessageExts::ClassMethods
232
+ end
233
+
234
+ # @!attribute [rw] key
235
+ # @return [::String]
236
+ # @!attribute [rw] value
237
+ # @return [::String]
238
+ class LabelsEntry
239
+ include ::Google::Protobuf::MessageExts
240
+ extend ::Google::Protobuf::MessageExts::ClassMethods
241
+ end
242
+ end
243
+
244
+ # ContinuousBackupConfig describes the continuous backups recovery
245
+ # configurations of a cluster.
246
+ # @!attribute [rw] enabled
247
+ # @return [::Boolean]
248
+ # Whether ContinuousBackup is enabled.
249
+ # @!attribute [rw] recovery_window_days
250
+ # @return [::Integer]
251
+ # The number of days backups and logs will be retained, which determines the
252
+ # window of time that data is recoverable for. If not set, it defaults to 14
253
+ # days.
254
+ # @!attribute [rw] encryption_config
255
+ # @return [::Google::Cloud::AlloyDB::V1beta::EncryptionConfig]
256
+ # The encryption config can be specified to encrypt the
257
+ # backups with a customer-managed encryption key (CMEK). When this field is
258
+ # not specified, the backup will then use default encryption scheme to
259
+ # protect the user data.
260
+ class ContinuousBackupConfig
261
+ include ::Google::Protobuf::MessageExts
262
+ extend ::Google::Protobuf::MessageExts::ClassMethods
263
+ end
264
+
265
+ # ContinuousBackupInfo describes the continuous backup properties of a
266
+ # cluster.
267
+ # @!attribute [r] encryption_info
268
+ # @return [::Google::Cloud::AlloyDB::V1beta::EncryptionInfo]
269
+ # Output only. The encryption information for the WALs and backups required
270
+ # for ContinuousBackup.
271
+ # @!attribute [r] enabled_time
272
+ # @return [::Google::Protobuf::Timestamp]
273
+ # Output only. When ContinuousBackup was most recently enabled. Set to null
274
+ # if ContinuousBackup is not enabled.
275
+ # @!attribute [r] schedule
276
+ # @return [::Array<::Google::Type::DayOfWeek>]
277
+ # Output only. Days of the week on which a continuous backup is taken. Output
278
+ # only field. Ignored if passed into the request.
279
+ class ContinuousBackupInfo
280
+ include ::Google::Protobuf::MessageExts
281
+ extend ::Google::Protobuf::MessageExts::ClassMethods
282
+ end
283
+
284
+ # Message describing a BackupSource.
285
+ # @!attribute [r] backup_uid
286
+ # @return [::String]
287
+ # Output only. The system-generated UID of the backup which was used to
288
+ # create this resource. The UID is generated when the backup is created, and
289
+ # it is retained until the backup is deleted.
290
+ # @!attribute [rw] backup_name
291
+ # @return [::String]
292
+ # Required. The name of the backup resource with the format:
293
+ # * projects/\\{project}/locations/\\{region}/backups/\\{backup_id}
294
+ class BackupSource
295
+ include ::Google::Protobuf::MessageExts
296
+ extend ::Google::Protobuf::MessageExts::ClassMethods
297
+ end
298
+
299
+ # Message describing a ContinuousBackupSource.
300
+ # @!attribute [rw] cluster
301
+ # @return [::String]
302
+ # Required. The source cluster from which to restore. This cluster must have
303
+ # continuous backup enabled for this operation to succeed. For the required
304
+ # format, see the comment on the Cluster.name field.
305
+ # @!attribute [rw] point_in_time
306
+ # @return [::Google::Protobuf::Timestamp]
307
+ # Required. The point in time to restore to.
308
+ class ContinuousBackupSource
309
+ include ::Google::Protobuf::MessageExts
310
+ extend ::Google::Protobuf::MessageExts::ClassMethods
311
+ end
312
+
313
+ # A cluster is a collection of regional AlloyDB resources. It can include a
314
+ # primary instance and one or more read pool instances.
315
+ # All cluster resources share a storage layer, which scales as needed.
316
+ # @!attribute [r] backup_source
317
+ # @return [::Google::Cloud::AlloyDB::V1beta::BackupSource]
318
+ # Output only. Cluster created from backup.
319
+ # @!attribute [r] migration_source
320
+ # @return [::Google::Cloud::AlloyDB::V1beta::MigrationSource]
321
+ # Output only. Cluster created via DMS migration.
322
+ # @!attribute [r] name
323
+ # @return [::String]
324
+ # Output only. The name of the cluster resource with the format:
325
+ # * projects/\\{project}/locations/\\{region}/clusters/\\{cluster_id}
326
+ # where the cluster ID segment should satisfy the regex expression
327
+ # `[a-z0-9-]+`. For more details see https://google.aip.dev/122.
328
+ # The prefix of the cluster resource name is the name of the parent resource:
329
+ # * projects/\\{project}/locations/\\{region}
330
+ # @!attribute [rw] display_name
331
+ # @return [::String]
332
+ # User-settable and human-readable display name for the Cluster.
333
+ # @!attribute [r] uid
334
+ # @return [::String]
335
+ # Output only. The system-generated UID of the resource. The UID is assigned
336
+ # when the resource is created, and it is retained until it is deleted.
337
+ # @!attribute [r] create_time
338
+ # @return [::Google::Protobuf::Timestamp]
339
+ # Output only. Create time stamp
340
+ # @!attribute [r] update_time
341
+ # @return [::Google::Protobuf::Timestamp]
342
+ # Output only. Update time stamp
343
+ # @!attribute [r] delete_time
344
+ # @return [::Google::Protobuf::Timestamp]
345
+ # Output only. Delete time stamp
346
+ # @!attribute [rw] labels
347
+ # @return [::Google::Protobuf::Map{::String => ::String}]
348
+ # Labels as key value pairs
349
+ # @!attribute [r] state
350
+ # @return [::Google::Cloud::AlloyDB::V1beta::Cluster::State]
351
+ # Output only. The current serving state of the cluster.
352
+ # @!attribute [r] cluster_type
353
+ # @return [::Google::Cloud::AlloyDB::V1beta::Cluster::ClusterType]
354
+ # Output only. The type of the cluster. This is an output-only field and it's
355
+ # populated at the Cluster creation time or the Cluster promotion
356
+ # time. The cluster type is determined by which RPC was used to create
357
+ # the cluster (i.e. `CreateCluster` vs. `CreateSecondaryCluster`
358
+ # @!attribute [r] database_version
359
+ # @return [::Google::Cloud::AlloyDB::V1beta::DatabaseVersion]
360
+ # Output only. The database engine major version. This is an output-only
361
+ # field and it's populated at the Cluster creation time. This field cannot be
362
+ # changed after cluster creation.
363
+ # @!attribute [rw] network
364
+ # @return [::String]
365
+ # Required. The resource link for the VPC network in which cluster resources
366
+ # are created and from which they are accessible via Private IP. The network
367
+ # must belong to the same project as the cluster. It is specified in the
368
+ # form: "projects/\\{project_number}/global/networks/\\{network_id}". This is
369
+ # required to create a cluster. It can be updated, but it cannot be removed.
370
+ # @!attribute [rw] etag
371
+ # @return [::String]
372
+ # For Resource freshness validation (https://google.aip.dev/154)
373
+ # @!attribute [rw] annotations
374
+ # @return [::Google::Protobuf::Map{::String => ::String}]
375
+ # Annotations to allow client tools to store small amount of arbitrary data.
376
+ # This is distinct from labels.
377
+ # https://google.aip.dev/128
378
+ # @!attribute [r] reconciling
379
+ # @return [::Boolean]
380
+ # Output only. Reconciling (https://google.aip.dev/128#reconciliation).
381
+ # Set to true if the current state of Cluster does not match the user's
382
+ # intended state, and the service is actively updating the resource to
383
+ # reconcile them. This can happen due to user-triggered updates or
384
+ # system actions like failover or maintenance.
385
+ # @!attribute [rw] initial_user
386
+ # @return [::Google::Cloud::AlloyDB::V1beta::UserPassword]
387
+ # Input only. Initial user to setup during cluster creation. Required.
388
+ # If used in `RestoreCluster` this is ignored.
389
+ # @!attribute [rw] automated_backup_policy
390
+ # @return [::Google::Cloud::AlloyDB::V1beta::AutomatedBackupPolicy]
391
+ # The automated backup policy for this cluster.
392
+ #
393
+ # If no policy is provided then the default policy will be used. If backups
394
+ # are supported for the cluster, the default policy takes one backup a day,
395
+ # has a backup window of 1 hour, and retains backups for 14 days.
396
+ # For more information on the defaults, consult the
397
+ # documentation for the message type.
398
+ # @!attribute [rw] ssl_config
399
+ # @return [::Google::Cloud::AlloyDB::V1beta::SslConfig]
400
+ # SSL configuration for this AlloyDB Cluster.
401
+ # @!attribute [rw] encryption_config
402
+ # @return [::Google::Cloud::AlloyDB::V1beta::EncryptionConfig]
403
+ # Optional. The encryption config can be specified to encrypt the data disks
404
+ # and other persistent data resources of a cluster with a
405
+ # customer-managed encryption key (CMEK). When this field is not
406
+ # specified, the cluster will then use default encryption scheme to
407
+ # protect the user data.
408
+ # @!attribute [r] encryption_info
409
+ # @return [::Google::Cloud::AlloyDB::V1beta::EncryptionInfo]
410
+ # Output only. The encryption information for the cluster.
411
+ # @!attribute [rw] continuous_backup_config
412
+ # @return [::Google::Cloud::AlloyDB::V1beta::ContinuousBackupConfig]
413
+ # Optional. Continuous backup configuration for this cluster.
414
+ # @!attribute [r] continuous_backup_info
415
+ # @return [::Google::Cloud::AlloyDB::V1beta::ContinuousBackupInfo]
416
+ # Output only. Continuous backup properties for this cluster.
417
+ # @!attribute [rw] secondary_config
418
+ # @return [::Google::Cloud::AlloyDB::V1beta::Cluster::SecondaryConfig]
419
+ # Cross Region replication config specific to SECONDARY cluster.
420
+ # @!attribute [r] primary_config
421
+ # @return [::Google::Cloud::AlloyDB::V1beta::Cluster::PrimaryConfig]
422
+ # Output only. Cross Region replication config specific to PRIMARY cluster.
423
+ class Cluster
424
+ include ::Google::Protobuf::MessageExts
425
+ extend ::Google::Protobuf::MessageExts::ClassMethods
426
+
427
+ # Configuration information for the secondary cluster. This should be set
428
+ # if and only if the cluster is of type SECONDARY.
429
+ # @!attribute [rw] primary_cluster_name
430
+ # @return [::String]
431
+ # The name of the primary cluster name with the format:
432
+ # * projects/\\{project}/locations/\\{region}/clusters/\\{cluster_id}
433
+ class SecondaryConfig
434
+ include ::Google::Protobuf::MessageExts
435
+ extend ::Google::Protobuf::MessageExts::ClassMethods
436
+ end
437
+
438
+ # Configuration for the primary cluster. It has the list of clusters that are
439
+ # replicating from this cluster. This should be set if and only if the
440
+ # cluster is of type PRIMARY.
441
+ # @!attribute [r] secondary_cluster_names
442
+ # @return [::Array<::String>]
443
+ # Output only. Names of the clusters that are replicating from this
444
+ # cluster.
445
+ class PrimaryConfig
446
+ include ::Google::Protobuf::MessageExts
447
+ extend ::Google::Protobuf::MessageExts::ClassMethods
448
+ end
449
+
450
+ # @!attribute [rw] key
451
+ # @return [::String]
452
+ # @!attribute [rw] value
453
+ # @return [::String]
454
+ class LabelsEntry
455
+ include ::Google::Protobuf::MessageExts
456
+ extend ::Google::Protobuf::MessageExts::ClassMethods
457
+ end
458
+
459
+ # @!attribute [rw] key
460
+ # @return [::String]
461
+ # @!attribute [rw] value
462
+ # @return [::String]
463
+ class AnnotationsEntry
464
+ include ::Google::Protobuf::MessageExts
465
+ extend ::Google::Protobuf::MessageExts::ClassMethods
466
+ end
467
+
468
+ # Cluster State
469
+ module State
470
+ # The state of the cluster is unknown.
471
+ STATE_UNSPECIFIED = 0
472
+
473
+ # The cluster is active and running.
474
+ READY = 1
475
+
476
+ # The cluster is stopped. All instances in the cluster are stopped.
477
+ # Customers can start a stopped cluster at any point and all their
478
+ # instances will come back to life with same names and IP resources. In
479
+ # this state, customer pays for storage.
480
+ # Associated backups could also be present in a stopped cluster.
481
+ STOPPED = 2
482
+
483
+ # The cluster is empty and has no associated resources.
484
+ # All instances, associated storage and backups have been deleted.
485
+ EMPTY = 3
486
+
487
+ # The cluster is being created.
488
+ CREATING = 4
489
+
490
+ # The cluster is being deleted.
491
+ DELETING = 5
492
+
493
+ # The creation of the cluster failed.
494
+ FAILED = 6
495
+
496
+ # The cluster is bootstrapping with data from some other source.
497
+ # Direct mutations to the cluster (e.g. adding read pool) are not allowed.
498
+ BOOTSTRAPPING = 7
499
+
500
+ # The cluster is under maintenance. AlloyDB regularly performs maintenance
501
+ # and upgrades on customer clusters. Updates on the cluster are
502
+ # not allowed while the cluster is in this state.
503
+ MAINTENANCE = 8
504
+
505
+ # The cluster is being promoted.
506
+ PROMOTING = 9
507
+ end
508
+
509
+ # Type of Cluster
510
+ module ClusterType
511
+ # The type of the cluster is unknown.
512
+ CLUSTER_TYPE_UNSPECIFIED = 0
513
+
514
+ # Primary cluster that support read and write operations.
515
+ PRIMARY = 1
516
+
517
+ # Secondary cluster that is replicating from another region.
518
+ # This only supports read.
519
+ SECONDARY = 2
520
+ end
521
+ end
522
+
523
+ # An Instance is a computing unit that an end customer can connect to.
524
+ # It's the main unit of computing resources in AlloyDB.
525
+ # @!attribute [r] name
526
+ # @return [::String]
527
+ # Output only. The name of the instance resource with the format:
528
+ # * projects/\\{project}/locations/\\{region}/clusters/\\{cluster_id}/instances/\\{instance_id}
529
+ # where the cluster and instance ID segments should satisfy the regex
530
+ # expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of
531
+ # lowercase letters, numbers, and dashes, starting with a letter, and ending
532
+ # with a letter or number. For more details see https://google.aip.dev/122.
533
+ # The prefix of the instance resource name is the name of the parent
534
+ # resource:
535
+ # * projects/\\{project}/locations/\\{region}/clusters/\\{cluster_id}
536
+ # @!attribute [rw] display_name
537
+ # @return [::String]
538
+ # User-settable and human-readable display name for the Instance.
539
+ # @!attribute [r] uid
540
+ # @return [::String]
541
+ # Output only. The system-generated UID of the resource. The UID is assigned
542
+ # when the resource is created, and it is retained until it is deleted.
543
+ # @!attribute [r] create_time
544
+ # @return [::Google::Protobuf::Timestamp]
545
+ # Output only. Create time stamp
546
+ # @!attribute [r] update_time
547
+ # @return [::Google::Protobuf::Timestamp]
548
+ # Output only. Update time stamp
549
+ # @!attribute [r] delete_time
550
+ # @return [::Google::Protobuf::Timestamp]
551
+ # Output only. Delete time stamp
552
+ # @!attribute [rw] labels
553
+ # @return [::Google::Protobuf::Map{::String => ::String}]
554
+ # Labels as key value pairs
555
+ # @!attribute [r] state
556
+ # @return [::Google::Cloud::AlloyDB::V1beta::Instance::State]
557
+ # Output only. The current serving state of the instance.
558
+ # @!attribute [rw] instance_type
559
+ # @return [::Google::Cloud::AlloyDB::V1beta::Instance::InstanceType]
560
+ # Required. The type of the instance. Specified at creation time.
561
+ # @!attribute [rw] machine_config
562
+ # @return [::Google::Cloud::AlloyDB::V1beta::Instance::MachineConfig]
563
+ # Configurations for the machines that host the underlying
564
+ # database engine.
565
+ # @!attribute [rw] availability_type
566
+ # @return [::Google::Cloud::AlloyDB::V1beta::Instance::AvailabilityType]
567
+ # Availability type of an Instance.
568
+ # Defaults to REGIONAL for both primary and read instances.
569
+ # Note that primary and read instances can have different availability types.
570
+ # @!attribute [rw] gce_zone
571
+ # @return [::String]
572
+ # The Compute Engine zone that the instance should serve from, per
573
+ # https://cloud.google.com/compute/docs/regions-zones
574
+ # This can ONLY be specified for ZONAL instances.
575
+ # If present for a REGIONAL instance, an error will be thrown.
576
+ # If this is absent for a ZONAL instance, instance is created in a random
577
+ # zone with available capacity.
578
+ # @!attribute [rw] database_flags
579
+ # @return [::Google::Protobuf::Map{::String => ::String}]
580
+ # Database flags. Set at instance level.
581
+ # * They are copied from primary instance on read instance creation.
582
+ # * Read instances can set new or override existing flags that are relevant
583
+ # for reads, e.g. for enabling columnar cache on a read instance. Flags
584
+ # set on read instance may or may not be present on primary.
585
+ #
586
+ #
587
+ # This is a list of "key": "value" pairs.
588
+ # "key": The name of the flag. These flags are passed at instance setup time,
589
+ # so include both server options and system variables for Postgres. Flags are
590
+ # specified with underscores, not hyphens.
591
+ # "value": The value of the flag. Booleans are set to **on** for true
592
+ # and **off** for false. This field must be omitted if the flag
593
+ # doesn't take a value.
594
+ # @!attribute [r] writable_node
595
+ # @return [::Google::Cloud::AlloyDB::V1beta::Instance::Node]
596
+ # Output only. This is set for the read-write VM of the PRIMARY instance
597
+ # only.
598
+ # @!attribute [r] nodes
599
+ # @return [::Array<::Google::Cloud::AlloyDB::V1beta::Instance::Node>]
600
+ # Output only. List of available read-only VMs in this instance, including
601
+ # the standby for a PRIMARY instance.
602
+ # @!attribute [rw] query_insights_config
603
+ # @return [::Google::Cloud::AlloyDB::V1beta::Instance::QueryInsightsInstanceConfig]
604
+ # Configuration for query insights.
605
+ # @!attribute [rw] read_pool_config
606
+ # @return [::Google::Cloud::AlloyDB::V1beta::Instance::ReadPoolConfig]
607
+ # Read pool specific config.
608
+ # @!attribute [r] ip_address
609
+ # @return [::String]
610
+ # Output only. The IP address for the Instance.
611
+ # This is the connection endpoint for an end-user application.
612
+ # @!attribute [r] reconciling
613
+ # @return [::Boolean]
614
+ # Output only. Reconciling (https://google.aip.dev/128#reconciliation).
615
+ # Set to true if the current state of Instance does not match the user's
616
+ # intended state, and the service is actively updating the resource to
617
+ # reconcile them. This can happen due to user-triggered updates or
618
+ # system actions like failover or maintenance.
619
+ # @!attribute [rw] etag
620
+ # @return [::String]
621
+ # For Resource freshness validation (https://google.aip.dev/154)
622
+ # @!attribute [rw] annotations
623
+ # @return [::Google::Protobuf::Map{::String => ::String}]
624
+ # Annotations to allow client tools to store small amount of arbitrary data.
625
+ # This is distinct from labels.
626
+ # https://google.aip.dev/128
627
+ class Instance
628
+ include ::Google::Protobuf::MessageExts
629
+ extend ::Google::Protobuf::MessageExts::ClassMethods
630
+
631
+ # MachineConfig describes the configuration of a machine.
632
+ # @!attribute [rw] cpu_count
633
+ # @return [::Integer]
634
+ # The number of CPU's in the VM instance.
635
+ class MachineConfig
636
+ include ::Google::Protobuf::MessageExts
637
+ extend ::Google::Protobuf::MessageExts::ClassMethods
638
+ end
639
+
640
+ # Details of a single node in the instance.
641
+ # Nodes in an AlloyDB instance are ephemereal, they can change during
642
+ # update, failover, autohealing and resize operations.
643
+ # @!attribute [rw] zone_id
644
+ # @return [::String]
645
+ # The Compute Engine zone of the VM e.g. "us-central1-b".
646
+ # @!attribute [rw] id
647
+ # @return [::String]
648
+ # The identifier of the VM e.g. "test-read-0601-407e52be-ms3l".
649
+ # @!attribute [rw] ip
650
+ # @return [::String]
651
+ # The private IP address of the VM e.g. "10.57.0.34".
652
+ # @!attribute [rw] state
653
+ # @return [::String]
654
+ # Determined by state of the compute VM and postgres-service health.
655
+ # Compute VM state can have values listed in
656
+ # https://cloud.google.com/compute/docs/instances/instance-life-cycle and
657
+ # postgres-service health can have values: HEALTHY and UNHEALTHY.
658
+ class Node
659
+ include ::Google::Protobuf::MessageExts
660
+ extend ::Google::Protobuf::MessageExts::ClassMethods
661
+ end
662
+
663
+ # QueryInsights Instance specific configuration.
664
+ # @!attribute [rw] record_application_tags
665
+ # @return [::Boolean]
666
+ # Record application tags for an instance.
667
+ # This flag is turned "on" by default.
668
+ # @!attribute [rw] record_client_address
669
+ # @return [::Boolean]
670
+ # Record client address for an instance. Client address is PII information.
671
+ # This flag is turned "on" by default.
672
+ # @!attribute [rw] query_string_length
673
+ # @return [::Integer]
674
+ # Query string length. The default value is 1024.
675
+ # Any integer between 256 and 4500 is considered valid.
676
+ # @!attribute [rw] query_plans_per_minute
677
+ # @return [::Integer]
678
+ # Number of query execution plans captured by Insights per minute
679
+ # for all queries combined. The default value is 5.
680
+ # Any integer between 0 and 20 is considered valid.
681
+ class QueryInsightsInstanceConfig
682
+ include ::Google::Protobuf::MessageExts
683
+ extend ::Google::Protobuf::MessageExts::ClassMethods
684
+ end
685
+
686
+ # Configuration for a read pool instance.
687
+ # @!attribute [rw] node_count
688
+ # @return [::Integer]
689
+ # Read capacity, i.e. number of nodes in a read pool instance.
690
+ class ReadPoolConfig
691
+ include ::Google::Protobuf::MessageExts
692
+ extend ::Google::Protobuf::MessageExts::ClassMethods
693
+ end
694
+
695
+ # @!attribute [rw] key
696
+ # @return [::String]
697
+ # @!attribute [rw] value
698
+ # @return [::String]
699
+ class LabelsEntry
700
+ include ::Google::Protobuf::MessageExts
701
+ extend ::Google::Protobuf::MessageExts::ClassMethods
702
+ end
703
+
704
+ # @!attribute [rw] key
705
+ # @return [::String]
706
+ # @!attribute [rw] value
707
+ # @return [::String]
708
+ class DatabaseFlagsEntry
709
+ include ::Google::Protobuf::MessageExts
710
+ extend ::Google::Protobuf::MessageExts::ClassMethods
711
+ end
712
+
713
+ # @!attribute [rw] key
714
+ # @return [::String]
715
+ # @!attribute [rw] value
716
+ # @return [::String]
717
+ class AnnotationsEntry
718
+ include ::Google::Protobuf::MessageExts
719
+ extend ::Google::Protobuf::MessageExts::ClassMethods
720
+ end
721
+
722
+ # Instance State
723
+ module State
724
+ # The state of the instance is unknown.
725
+ STATE_UNSPECIFIED = 0
726
+
727
+ # The instance is active and running.
728
+ READY = 1
729
+
730
+ # The instance is stopped. Instance name and IP resources are preserved.
731
+ STOPPED = 2
732
+
733
+ # The instance is being created.
734
+ CREATING = 3
735
+
736
+ # The instance is being deleted.
737
+ DELETING = 4
738
+
739
+ # The instance is down for maintenance.
740
+ MAINTENANCE = 5
741
+
742
+ # The creation of the instance failed or a fatal error occurred during
743
+ # an operation on the instance.
744
+ # Note: Instances in this state would tried to be auto-repaired. And
745
+ # Customers should be able to restart, update or delete these instances.
746
+ FAILED = 6
747
+
748
+ # Index 7 is used in the producer apis for ROLLED_BACK state. Keeping that
749
+ # index unused in case that state also needs to exposed via consumer apis
750
+ # in future.
751
+ # The instance has been configured to sync data from some other source.
752
+ BOOTSTRAPPING = 8
753
+
754
+ # The instance is being promoted.
755
+ PROMOTING = 9
756
+ end
757
+
758
+ # Type of an Instance
759
+ module InstanceType
760
+ # The type of the instance is unknown.
761
+ INSTANCE_TYPE_UNSPECIFIED = 0
762
+
763
+ # PRIMARY instances support read and write operations.
764
+ PRIMARY = 1
765
+
766
+ # READ POOL instances support read operations only. Each read pool instance
767
+ # consists of one or more homogeneous nodes.
768
+ # * Read pool of size 1 can only have zonal availability.
769
+ # * Read pools with node count of 2 or more can have regional
770
+ # availability (nodes are present in 2 or more zones in a region).
771
+ READ_POOL = 2
772
+
773
+ # SECONDARY instances support read operations only. SECONDARY instance
774
+ # is a cross-region read replica
775
+ SECONDARY = 3
776
+ end
777
+
778
+ # The Availability type of an instance. Potential values:
779
+ # <br><b>ZONAL</b>: The instance serves data from only one zone.
780
+ # Outages in that zone affect instance availability.
781
+ # <br><b>REGIONAL</b>: The instance can serve data from more than one zone
782
+ # in a region (it is highly available).
783
+ module AvailabilityType
784
+ # This is an unknown Availability type.
785
+ AVAILABILITY_TYPE_UNSPECIFIED = 0
786
+
787
+ # Zonal available instance.
788
+ ZONAL = 1
789
+
790
+ # Regional (or Highly) available instance.
791
+ REGIONAL = 2
792
+ end
793
+ end
794
+
795
+ # ConnectionInfo singleton resource.
796
+ # https://google.aip.dev/156
797
+ # @!attribute [rw] name
798
+ # @return [::String]
799
+ # The name of the ConnectionInfo singleton resource, e.g.:
800
+ # projects/\\{project}/locations/\\{location}/clusters/*/instances/*/connectionInfo
801
+ # This field currently has no semantic meaning.
802
+ # @!attribute [r] ip_address
803
+ # @return [::String]
804
+ # Output only. The IP address for the Instance.
805
+ # This is the connection endpoint for an end-user application.
806
+ # @!attribute [r] pem_certificate_chain
807
+ # @return [::Array<::String>]
808
+ # Output only. The pem-encoded chain that may be used to verify the X.509
809
+ # certificate. Expected to be in issuer-to-root order according to RFC 5246.
810
+ # @!attribute [r] instance_uid
811
+ # @return [::String]
812
+ # Output only. The unique ID of the Instance.
813
+ class ConnectionInfo
814
+ include ::Google::Protobuf::MessageExts
815
+ extend ::Google::Protobuf::MessageExts::ClassMethods
816
+ end
817
+
818
+ # Message describing Backup object
819
+ # @!attribute [r] name
820
+ # @return [::String]
821
+ # Output only. The name of the backup resource with the format:
822
+ # * projects/\\{project}/locations/\\{region}/backups/\\{backup_id}
823
+ # where the cluster and backup ID segments should satisfy the regex
824
+ # expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of
825
+ # lowercase letters, numbers, and dashes, starting with a letter, and ending
826
+ # with a letter or number. For more details see https://google.aip.dev/122.
827
+ # The prefix of the backup resource name is the name of the parent
828
+ # resource:
829
+ # * projects/\\{project}/locations/\\{region}
830
+ # @!attribute [rw] display_name
831
+ # @return [::String]
832
+ # User-settable and human-readable display name for the Backup.
833
+ # @!attribute [r] uid
834
+ # @return [::String]
835
+ # Output only. The system-generated UID of the resource. The UID is assigned
836
+ # when the resource is created, and it is retained until it is deleted.
837
+ # @!attribute [r] create_time
838
+ # @return [::Google::Protobuf::Timestamp]
839
+ # Output only. Create time stamp
840
+ # @!attribute [r] update_time
841
+ # @return [::Google::Protobuf::Timestamp]
842
+ # Output only. Update time stamp
843
+ # @!attribute [r] delete_time
844
+ # @return [::Google::Protobuf::Timestamp]
845
+ # Output only. Delete time stamp
846
+ # @!attribute [rw] labels
847
+ # @return [::Google::Protobuf::Map{::String => ::String}]
848
+ # Labels as key value pairs
849
+ # @!attribute [r] state
850
+ # @return [::Google::Cloud::AlloyDB::V1beta::Backup::State]
851
+ # Output only. The current state of the backup.
852
+ # @!attribute [rw] type
853
+ # @return [::Google::Cloud::AlloyDB::V1beta::Backup::Type]
854
+ # The backup type, which suggests the trigger for the backup.
855
+ # @!attribute [rw] description
856
+ # @return [::String]
857
+ # User-provided description of the backup.
858
+ # @!attribute [r] cluster_uid
859
+ # @return [::String]
860
+ # Output only. The system-generated UID of the cluster which was used to
861
+ # create this resource.
862
+ # @!attribute [rw] cluster_name
863
+ # @return [::String]
864
+ # Required. The full resource name of the backup source cluster
865
+ # (e.g., projects/<project>/locations/<location>/clusters/<cluster_id>).
866
+ # @!attribute [r] reconciling
867
+ # @return [::Boolean]
868
+ # Output only. Reconciling (https://google.aip.dev/128#reconciliation), if
869
+ # true, indicates that the service is actively updating the resource. This
870
+ # can happen due to user-triggered updates or system actions like failover or
871
+ # maintenance.
872
+ # @!attribute [rw] encryption_config
873
+ # @return [::Google::Cloud::AlloyDB::V1beta::EncryptionConfig]
874
+ # Optional. The encryption config can be specified to encrypt the
875
+ # backup with a customer-managed encryption key (CMEK). When this field is
876
+ # not specified, the backup will then use default encryption scheme to
877
+ # protect the user data.
878
+ # @!attribute [r] encryption_info
879
+ # @return [::Google::Cloud::AlloyDB::V1beta::EncryptionInfo]
880
+ # Output only. The encryption information for the backup.
881
+ # @!attribute [rw] etag
882
+ # @return [::String]
883
+ # For Resource freshness validation (https://google.aip.dev/154)
884
+ # @!attribute [rw] annotations
885
+ # @return [::Google::Protobuf::Map{::String => ::String}]
886
+ # Annotations to allow client tools to store small amount of arbitrary data.
887
+ # This is distinct from labels.
888
+ # https://google.aip.dev/128
889
+ # @!attribute [r] size_bytes
890
+ # @return [::Integer]
891
+ # Output only. The size of the backup in bytes.
892
+ # @!attribute [r] expiry_time
893
+ # @return [::Google::Protobuf::Timestamp]
894
+ # Output only. The time at which after the backup is eligible to be garbage
895
+ # collected. It is the duration specified by the backup's retention policy,
896
+ # added to the backup's create_time.
897
+ class Backup
898
+ include ::Google::Protobuf::MessageExts
899
+ extend ::Google::Protobuf::MessageExts::ClassMethods
900
+
901
+ # @!attribute [rw] key
902
+ # @return [::String]
903
+ # @!attribute [rw] value
904
+ # @return [::String]
905
+ class LabelsEntry
906
+ include ::Google::Protobuf::MessageExts
907
+ extend ::Google::Protobuf::MessageExts::ClassMethods
908
+ end
909
+
910
+ # @!attribute [rw] key
911
+ # @return [::String]
912
+ # @!attribute [rw] value
913
+ # @return [::String]
914
+ class AnnotationsEntry
915
+ include ::Google::Protobuf::MessageExts
916
+ extend ::Google::Protobuf::MessageExts::ClassMethods
917
+ end
918
+
919
+ # Backup State
920
+ module State
921
+ # The state of the backup is unknown.
922
+ STATE_UNSPECIFIED = 0
923
+
924
+ # The backup is ready.
925
+ READY = 1
926
+
927
+ # The backup is creating.
928
+ CREATING = 2
929
+
930
+ # The backup failed.
931
+ FAILED = 3
932
+
933
+ # The backup is being deleted.
934
+ DELETING = 4
935
+ end
936
+
937
+ # Backup Type
938
+ module Type
939
+ # Backup Type is unknown.
940
+ TYPE_UNSPECIFIED = 0
941
+
942
+ # ON_DEMAND backups that were triggered by the customer (e.g., not
943
+ # AUTOMATED).
944
+ ON_DEMAND = 1
945
+
946
+ # AUTOMATED backups triggered by the automated backups scheduler pursuant
947
+ # to an automated backup policy.
948
+ AUTOMATED = 2
949
+
950
+ # CONTINUOUS backups triggered by the automated backups scheduler
951
+ # due to a continuous backup policy.
952
+ CONTINUOUS = 3
953
+ end
954
+ end
955
+
956
+ # SupportedDatabaseFlag gives general information about a database flag,
957
+ # like type and allowed values. This is a static value that is defined
958
+ # on the server side, and it cannot be modified by callers.
959
+ # To set the Database flags on a particular Instance, a caller should modify
960
+ # the Instance.database_flags field.
961
+ # @!attribute [rw] string_restrictions
962
+ # @return [::Google::Cloud::AlloyDB::V1beta::SupportedDatabaseFlag::StringRestrictions]
963
+ # Restriction on STRING type value.
964
+ # @!attribute [rw] integer_restrictions
965
+ # @return [::Google::Cloud::AlloyDB::V1beta::SupportedDatabaseFlag::IntegerRestrictions]
966
+ # Restriction on INTEGER type value.
967
+ # @!attribute [rw] name
968
+ # @return [::String]
969
+ # The name of the flag resource, following Google Cloud conventions, e.g.:
970
+ # * projects/\\{project}/locations/\\{location}/flags/\\{flag}
971
+ # This field currently has no semantic meaning.
972
+ # @!attribute [rw] flag_name
973
+ # @return [::String]
974
+ # The name of the database flag, e.g. "max_allowed_packets".
975
+ # The is a possibly key for the Instance.database_flags map field.
976
+ # @!attribute [rw] value_type
977
+ # @return [::Google::Cloud::AlloyDB::V1beta::SupportedDatabaseFlag::ValueType]
978
+ # @!attribute [rw] accepts_multiple_values
979
+ # @return [::Boolean]
980
+ # Whether the database flag accepts multiple values. If true,
981
+ # a comma-separated list of stringified values may be specified.
982
+ # @!attribute [rw] supported_db_versions
983
+ # @return [::Array<::Google::Cloud::AlloyDB::V1beta::DatabaseVersion>]
984
+ # Major database engine versions for which this flag is supported.
985
+ # @!attribute [rw] requires_db_restart
986
+ # @return [::Boolean]
987
+ # Whether setting or updating this flag on an Instance requires a database
988
+ # restart. If a flag that requires database restart is set, the backend
989
+ # will automatically restart the database (making sure to satisfy any
990
+ # availability SLO's).
991
+ class SupportedDatabaseFlag
992
+ include ::Google::Protobuf::MessageExts
993
+ extend ::Google::Protobuf::MessageExts::ClassMethods
994
+
995
+ # Restrictions on STRING type values
996
+ # @!attribute [rw] allowed_values
997
+ # @return [::Array<::String>]
998
+ # The list of allowed values, if bounded. This field will be empty
999
+ # if there is a unbounded number of allowed values.
1000
+ class StringRestrictions
1001
+ include ::Google::Protobuf::MessageExts
1002
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1003
+ end
1004
+
1005
+ # Restrictions on INTEGER type values.
1006
+ # @!attribute [rw] min_value
1007
+ # @return [::Google::Protobuf::Int64Value]
1008
+ # The minimum value that can be specified, if applicable.
1009
+ # @!attribute [rw] max_value
1010
+ # @return [::Google::Protobuf::Int64Value]
1011
+ # The maximum value that can be specified, if applicable.
1012
+ class IntegerRestrictions
1013
+ include ::Google::Protobuf::MessageExts
1014
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1015
+ end
1016
+
1017
+ # ValueType describes the semantic type of the value that the flag accepts.
1018
+ # Regardless of the ValueType, the Instance.database_flags field accepts the
1019
+ # stringified version of the value, i.e. "20" or "3.14".
1020
+ module ValueType
1021
+ # This is an unknown flag type.
1022
+ VALUE_TYPE_UNSPECIFIED = 0
1023
+
1024
+ # String type flag.
1025
+ STRING = 1
1026
+
1027
+ # Integer type flag.
1028
+ INTEGER = 2
1029
+
1030
+ # Float type flag.
1031
+ FLOAT = 3
1032
+
1033
+ # Denotes that the flag does not accept any values.
1034
+ NONE = 4
1035
+ end
1036
+ end
1037
+
1038
+ # The supported database engine versions.
1039
+ module DatabaseVersion
1040
+ # This is an unknown database version.
1041
+ DATABASE_VERSION_UNSPECIFIED = 0
1042
+
1043
+ # DEPRECATED - The database version is Postgres 13.
1044
+ POSTGRES_13 = 1
1045
+
1046
+ # The database version is Postgres 14.
1047
+ POSTGRES_14 = 2
1048
+ end
1049
+
1050
+ # View on Instance. Pass this enum to rpcs that returns an Instance message to
1051
+ # control which subsets of fields to get.
1052
+ module InstanceView
1053
+ # INSTANCE_VIEW_UNSPECIFIED Not specified, equivalent to BASIC.
1054
+ INSTANCE_VIEW_UNSPECIFIED = 0
1055
+
1056
+ # BASIC server responses for a primary or read instance include all the
1057
+ # relevant instance details, excluding the details of each node in the
1058
+ # instance. The default value.
1059
+ INSTANCE_VIEW_BASIC = 1
1060
+
1061
+ # FULL response is equivalent to BASIC for primary instance (for now).
1062
+ # For read pool instance, this includes details of each node in the pool.
1063
+ INSTANCE_VIEW_FULL = 2
1064
+ end
1065
+ end
1066
+ end
1067
+ end
1068
+ end