google-cloud-alloy_db-v1alpha 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +144 -0
  6. data/lib/google/cloud/alloy_db/v1alpha/alloy_db_admin/client.rb +3986 -0
  7. data/lib/google/cloud/alloy_db/v1alpha/alloy_db_admin/credentials.rb +47 -0
  8. data/lib/google/cloud/alloy_db/v1alpha/alloy_db_admin/operations.rb +770 -0
  9. data/lib/google/cloud/alloy_db/v1alpha/alloy_db_admin/paths.rb +170 -0
  10. data/lib/google/cloud/alloy_db/v1alpha/alloy_db_admin.rb +50 -0
  11. data/lib/google/cloud/alloy_db/v1alpha/version.rb +28 -0
  12. data/lib/google/cloud/alloy_db/v1alpha.rb +40 -0
  13. data/lib/google/cloud/alloydb/v1alpha/resources_pb.rb +100 -0
  14. data/lib/google/cloud/alloydb/v1alpha/service_pb.rb +102 -0
  15. data/lib/google/cloud/alloydb/v1alpha/service_services_pb.rb +128 -0
  16. data/lib/google-cloud-alloy_db-v1alpha.rb +21 -0
  17. data/proto_docs/README.md +4 -0
  18. data/proto_docs/google/api/client.rb +381 -0
  19. data/proto_docs/google/api/field_behavior.rb +71 -0
  20. data/proto_docs/google/api/launch_stage.rb +71 -0
  21. data/proto_docs/google/api/resource.rb +222 -0
  22. data/proto_docs/google/cloud/alloydb/v1alpha/resources.rb +1227 -0
  23. data/proto_docs/google/cloud/alloydb/v1alpha/service.rb +1206 -0
  24. data/proto_docs/google/longrunning/operations.rb +164 -0
  25. data/proto_docs/google/protobuf/any.rb +144 -0
  26. data/proto_docs/google/protobuf/duration.rb +98 -0
  27. data/proto_docs/google/protobuf/empty.rb +34 -0
  28. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  29. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  30. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  31. data/proto_docs/google/rpc/status.rb +48 -0
  32. data/proto_docs/google/type/dayofweek.rb +49 -0
  33. data/proto_docs/google/type/expr.rb +75 -0
  34. data/proto_docs/google/type/timeofday.rb +45 -0
  35. metadata +281 -0
@@ -0,0 +1,1227 @@
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 V1alpha
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::V1alpha::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::V1alpha::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.
104
+ # @!attribute [rw] ssl_mode
105
+ # @return [::Google::Cloud::AlloyDB::V1alpha::SslConfig::SslMode]
106
+ # Optional. SSL mode. Specifies client-server SSL/TLS connection behavior.
107
+ # @!attribute [rw] ca_source
108
+ # @return [::Google::Cloud::AlloyDB::V1alpha::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 ENCRYPTED_ONLY.
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
+
133
+ # SSL connections are optional. CA verification not enforced.
134
+ ALLOW_UNENCRYPTED_AND_ENCRYPTED = 4
135
+
136
+ # SSL connections are required. CA verification not enforced.
137
+ ENCRYPTED_ONLY = 5
138
+ end
139
+
140
+ # Certificate Authority (CA) source for SSL/TLS certificates.
141
+ module CaSource
142
+ # Certificate Authority (CA) source not specified. Defaults to
143
+ # CA_SOURCE_MANAGED.
144
+ CA_SOURCE_UNSPECIFIED = 0
145
+
146
+ # Certificate Authority (CA) managed by the AlloyDB Cluster.
147
+ CA_SOURCE_MANAGED = 1
148
+ end
149
+ end
150
+
151
+ # Message describing the user-specified automated backup policy.
152
+ #
153
+ # All fields in the automated backup policy are optional. Defaults for each
154
+ # field are provided if they are not set.
155
+ # @!attribute [rw] weekly_schedule
156
+ # @return [::Google::Cloud::AlloyDB::V1alpha::AutomatedBackupPolicy::WeeklySchedule]
157
+ # Weekly schedule for the Backup.
158
+ # @!attribute [rw] time_based_retention
159
+ # @return [::Google::Cloud::AlloyDB::V1alpha::AutomatedBackupPolicy::TimeBasedRetention]
160
+ # Time-based Backup retention policy.
161
+ # @!attribute [rw] quantity_based_retention
162
+ # @return [::Google::Cloud::AlloyDB::V1alpha::AutomatedBackupPolicy::QuantityBasedRetention]
163
+ # Quantity-based Backup retention policy to retain recent backups.
164
+ # @!attribute [rw] enabled
165
+ # @return [::Boolean]
166
+ # Whether automated automated backups are enabled. If not set, defaults to
167
+ # true.
168
+ # @!attribute [rw] backup_window
169
+ # @return [::Google::Protobuf::Duration]
170
+ # The length of the time window during which a backup can be
171
+ # taken. If a backup does not succeed within this time window, it will be
172
+ # canceled and considered failed.
173
+ #
174
+ # The backup window must be at least 5 minutes long. There is no upper bound
175
+ # on the window. If not set, it defaults to 1 hour.
176
+ # @!attribute [rw] encryption_config
177
+ # @return [::Google::Cloud::AlloyDB::V1alpha::EncryptionConfig]
178
+ # Optional. The encryption config can be specified to encrypt the
179
+ # backups with a customer-managed encryption key (CMEK). When this field is
180
+ # not specified, the backup will then use default encryption scheme to
181
+ # protect the user data.
182
+ # @!attribute [rw] location
183
+ # @return [::String]
184
+ # The location where the backup will be stored. Currently, the only supported
185
+ # option is to store the backup in the same region as the cluster.
186
+ #
187
+ # If empty, defaults to the region of the cluster.
188
+ # @!attribute [rw] labels
189
+ # @return [::Google::Protobuf::Map{::String => ::String}]
190
+ # Labels to apply to backups created using this configuration.
191
+ class AutomatedBackupPolicy
192
+ include ::Google::Protobuf::MessageExts
193
+ extend ::Google::Protobuf::MessageExts::ClassMethods
194
+
195
+ # A weekly schedule starts a backup at prescribed start times within a
196
+ # day, for the specified days of the week.
197
+ #
198
+ # The weekly schedule message is flexible and can be used to create many
199
+ # types of schedules. For example, to have a daily backup that starts at
200
+ # 22:00, configure the `start_times` field to have one element "22:00" and
201
+ # the `days_of_week` field to have all seven days of the week.
202
+ # @!attribute [rw] start_times
203
+ # @return [::Array<::Google::Type::TimeOfDay>]
204
+ # The times during the day to start a backup. The start times are assumed
205
+ # to be in UTC and to be an exact hour (e.g., 04:00:00).
206
+ #
207
+ # If no start times are provided, a single fixed start time is chosen
208
+ # arbitrarily.
209
+ # @!attribute [rw] days_of_week
210
+ # @return [::Array<::Google::Type::DayOfWeek>]
211
+ # The days of the week to perform a backup.
212
+ #
213
+ # If this field is left empty, the default of every day of the week is
214
+ # used.
215
+ class WeeklySchedule
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # A time based retention policy specifies that all backups within a certain
221
+ # time period should be retained.
222
+ # @!attribute [rw] retention_period
223
+ # @return [::Google::Protobuf::Duration]
224
+ # The retention period.
225
+ class TimeBasedRetention
226
+ include ::Google::Protobuf::MessageExts
227
+ extend ::Google::Protobuf::MessageExts::ClassMethods
228
+ end
229
+
230
+ # A quantity based policy specifies that a certain number of the most recent
231
+ # successful backups should be retained.
232
+ # @!attribute [rw] count
233
+ # @return [::Integer]
234
+ # The number of backups to retain.
235
+ class QuantityBasedRetention
236
+ include ::Google::Protobuf::MessageExts
237
+ extend ::Google::Protobuf::MessageExts::ClassMethods
238
+ end
239
+
240
+ # @!attribute [rw] key
241
+ # @return [::String]
242
+ # @!attribute [rw] value
243
+ # @return [::String]
244
+ class LabelsEntry
245
+ include ::Google::Protobuf::MessageExts
246
+ extend ::Google::Protobuf::MessageExts::ClassMethods
247
+ end
248
+ end
249
+
250
+ # ContinuousBackupConfig describes the continuous backups recovery
251
+ # configurations of a cluster.
252
+ # @!attribute [rw] enabled
253
+ # @return [::Boolean]
254
+ # Whether ContinuousBackup is enabled.
255
+ # @!attribute [rw] recovery_window_days
256
+ # @return [::Integer]
257
+ # The number of days that are eligible to restore from using PITR. To support
258
+ # the entire recovery window, backups and logs are retained for one day more
259
+ # than the recovery window. If not set, defaults to 14 days.
260
+ # @!attribute [rw] encryption_config
261
+ # @return [::Google::Cloud::AlloyDB::V1alpha::EncryptionConfig]
262
+ # The encryption config can be specified to encrypt the
263
+ # backups with a customer-managed encryption key (CMEK). When this field is
264
+ # not specified, the backup will then use default encryption scheme to
265
+ # protect the user data.
266
+ class ContinuousBackupConfig
267
+ include ::Google::Protobuf::MessageExts
268
+ extend ::Google::Protobuf::MessageExts::ClassMethods
269
+ end
270
+
271
+ # ContinuousBackupInfo describes the continuous backup properties of a
272
+ # cluster.
273
+ # @!attribute [r] encryption_info
274
+ # @return [::Google::Cloud::AlloyDB::V1alpha::EncryptionInfo]
275
+ # Output only. The encryption information for the WALs and backups required
276
+ # for ContinuousBackup.
277
+ # @!attribute [r] enabled_time
278
+ # @return [::Google::Protobuf::Timestamp]
279
+ # Output only. When ContinuousBackup was most recently enabled. Set to null
280
+ # if ContinuousBackup is not enabled.
281
+ # @!attribute [r] schedule
282
+ # @return [::Array<::Google::Type::DayOfWeek>]
283
+ # Output only. Days of the week on which a continuous backup is taken. Output
284
+ # only field. Ignored if passed into the request.
285
+ # @!attribute [r] earliest_restorable_time
286
+ # @return [::Google::Protobuf::Timestamp]
287
+ # Output only. The earliest restorable time that can be restored to. Output
288
+ # only field.
289
+ class ContinuousBackupInfo
290
+ include ::Google::Protobuf::MessageExts
291
+ extend ::Google::Protobuf::MessageExts::ClassMethods
292
+ end
293
+
294
+ # Message describing a BackupSource.
295
+ # @!attribute [r] backup_uid
296
+ # @return [::String]
297
+ # Output only. The system-generated UID of the backup which was used to
298
+ # create this resource. The UID is generated when the backup is created, and
299
+ # it is retained until the backup is deleted.
300
+ # @!attribute [rw] backup_name
301
+ # @return [::String]
302
+ # Required. The name of the backup resource with the format:
303
+ # * projects/\\{project}/locations/\\{region}/backups/\\{backup_id}
304
+ class BackupSource
305
+ include ::Google::Protobuf::MessageExts
306
+ extend ::Google::Protobuf::MessageExts::ClassMethods
307
+ end
308
+
309
+ # Message describing a ContinuousBackupSource.
310
+ # @!attribute [rw] cluster
311
+ # @return [::String]
312
+ # Required. The source cluster from which to restore. This cluster must have
313
+ # continuous backup enabled for this operation to succeed. For the required
314
+ # format, see the comment on the Cluster.name field.
315
+ # @!attribute [rw] point_in_time
316
+ # @return [::Google::Protobuf::Timestamp]
317
+ # Required. The point in time to restore to.
318
+ class ContinuousBackupSource
319
+ include ::Google::Protobuf::MessageExts
320
+ extend ::Google::Protobuf::MessageExts::ClassMethods
321
+ end
322
+
323
+ # A cluster is a collection of regional AlloyDB resources. It can include a
324
+ # primary instance and one or more read pool instances.
325
+ # All cluster resources share a storage layer, which scales as needed.
326
+ # @!attribute [r] backup_source
327
+ # @return [::Google::Cloud::AlloyDB::V1alpha::BackupSource]
328
+ # Output only. Cluster created from backup.
329
+ # @!attribute [r] migration_source
330
+ # @return [::Google::Cloud::AlloyDB::V1alpha::MigrationSource]
331
+ # Output only. Cluster created via DMS migration.
332
+ # @!attribute [r] name
333
+ # @return [::String]
334
+ # Output only. The name of the cluster resource with the format:
335
+ # * projects/\\{project}/locations/\\{region}/clusters/\\{cluster_id}
336
+ # where the cluster ID segment should satisfy the regex expression
337
+ # `[a-z0-9-]+`. For more details see https://google.aip.dev/122.
338
+ # The prefix of the cluster resource name is the name of the parent resource:
339
+ # * projects/\\{project}/locations/\\{region}
340
+ # @!attribute [rw] display_name
341
+ # @return [::String]
342
+ # User-settable and human-readable display name for the Cluster.
343
+ # @!attribute [r] uid
344
+ # @return [::String]
345
+ # Output only. The system-generated UID of the resource. The UID is assigned
346
+ # when the resource is created, and it is retained until it is deleted.
347
+ # @!attribute [r] create_time
348
+ # @return [::Google::Protobuf::Timestamp]
349
+ # Output only. Create time stamp
350
+ # @!attribute [r] update_time
351
+ # @return [::Google::Protobuf::Timestamp]
352
+ # Output only. Update time stamp
353
+ # @!attribute [r] delete_time
354
+ # @return [::Google::Protobuf::Timestamp]
355
+ # Output only. Delete time stamp
356
+ # @!attribute [rw] labels
357
+ # @return [::Google::Protobuf::Map{::String => ::String}]
358
+ # Labels as key value pairs
359
+ # @!attribute [r] state
360
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Cluster::State]
361
+ # Output only. The current serving state of the cluster.
362
+ # @!attribute [r] cluster_type
363
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Cluster::ClusterType]
364
+ # Output only. The type of the cluster. This is an output-only field and it's
365
+ # populated at the Cluster creation time or the Cluster promotion
366
+ # time. The cluster type is determined by which RPC was used to create
367
+ # the cluster (i.e. `CreateCluster` vs. `CreateSecondaryCluster`
368
+ # @!attribute [rw] database_version
369
+ # @return [::Google::Cloud::AlloyDB::V1alpha::DatabaseVersion]
370
+ # Optional. The database engine major version. This is an optional field and
371
+ # it is populated at the Cluster creation time. If a database version is not
372
+ # supplied at cluster creation time, then a default database version will
373
+ # be used.
374
+ # @!attribute [rw] network_config
375
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Cluster::NetworkConfig]
376
+ # @!attribute [rw] network
377
+ # @return [::String]
378
+ # Required. The resource link for the VPC network in which cluster resources
379
+ # are created and from which they are accessible via Private IP. The network
380
+ # must belong to the same project as the cluster. It is specified in the
381
+ # form: "projects/\\{project_number}/global/networks/\\{network_id}". This is
382
+ # required to create a cluster. It can be updated, but it cannot be removed.
383
+ # @!attribute [rw] etag
384
+ # @return [::String]
385
+ # For Resource freshness validation (https://google.aip.dev/154)
386
+ # @!attribute [rw] annotations
387
+ # @return [::Google::Protobuf::Map{::String => ::String}]
388
+ # Annotations to allow client tools to store small amount of arbitrary data.
389
+ # This is distinct from labels.
390
+ # https://google.aip.dev/128
391
+ # @!attribute [r] reconciling
392
+ # @return [::Boolean]
393
+ # Output only. Reconciling (https://google.aip.dev/128#reconciliation).
394
+ # Set to true if the current state of Cluster does not match the user's
395
+ # intended state, and the service is actively updating the resource to
396
+ # reconcile them. This can happen due to user-triggered updates or
397
+ # system actions like failover or maintenance.
398
+ # @!attribute [rw] initial_user
399
+ # @return [::Google::Cloud::AlloyDB::V1alpha::UserPassword]
400
+ # Input only. Initial user to setup during cluster creation. Required.
401
+ # If used in `RestoreCluster` this is ignored.
402
+ # @!attribute [rw] automated_backup_policy
403
+ # @return [::Google::Cloud::AlloyDB::V1alpha::AutomatedBackupPolicy]
404
+ # The automated backup policy for this cluster.
405
+ #
406
+ # If no policy is provided then the default policy will be used. If backups
407
+ # are supported for the cluster, the default policy takes one backup a day,
408
+ # has a backup window of 1 hour, and retains backups for 14 days.
409
+ # For more information on the defaults, consult the
410
+ # documentation for the message type.
411
+ # @!attribute [rw] ssl_config
412
+ # @return [::Google::Cloud::AlloyDB::V1alpha::SslConfig]
413
+ # SSL configuration for this AlloyDB cluster.
414
+ # @!attribute [rw] encryption_config
415
+ # @return [::Google::Cloud::AlloyDB::V1alpha::EncryptionConfig]
416
+ # Optional. The encryption config can be specified to encrypt the data disks
417
+ # and other persistent data resources of a cluster with a
418
+ # customer-managed encryption key (CMEK). When this field is not
419
+ # specified, the cluster will then use default encryption scheme to
420
+ # protect the user data.
421
+ # @!attribute [r] encryption_info
422
+ # @return [::Google::Cloud::AlloyDB::V1alpha::EncryptionInfo]
423
+ # Output only. The encryption information for the cluster.
424
+ # @!attribute [rw] continuous_backup_config
425
+ # @return [::Google::Cloud::AlloyDB::V1alpha::ContinuousBackupConfig]
426
+ # Optional. Continuous backup configuration for this cluster.
427
+ # @!attribute [r] continuous_backup_info
428
+ # @return [::Google::Cloud::AlloyDB::V1alpha::ContinuousBackupInfo]
429
+ # Output only. Continuous backup properties for this cluster.
430
+ # @!attribute [rw] secondary_config
431
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Cluster::SecondaryConfig]
432
+ # Cross Region replication config specific to SECONDARY cluster.
433
+ # @!attribute [r] primary_config
434
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Cluster::PrimaryConfig]
435
+ # Output only. Cross Region replication config specific to PRIMARY cluster.
436
+ # @!attribute [rw] satisfies_pzs
437
+ # @return [::Boolean]
438
+ # Reserved for future use.
439
+ class Cluster
440
+ include ::Google::Protobuf::MessageExts
441
+ extend ::Google::Protobuf::MessageExts::ClassMethods
442
+
443
+ # Metadata related to network configuration.
444
+ # @!attribute [rw] network
445
+ # @return [::String]
446
+ # Required. The resource link for the VPC network in which cluster
447
+ # resources are created and from which they are accessible via Private IP.
448
+ # The network must belong to the same project as the cluster. It is
449
+ # specified in the form:
450
+ # "projects/\\{project_number}/global/networks/\\{network_id}". This is
451
+ # required to create a cluster. It can be updated, but it cannot be
452
+ # removed.
453
+ # @!attribute [rw] allocated_ip_range
454
+ # @return [::String]
455
+ # Optional. The name of the allocated IP range for the private IP AlloyDB
456
+ # cluster. For example: "google-managed-services-default". If set, the
457
+ # instance IPs for this cluster will be created in the allocated range. The
458
+ # range name must comply with RFC 1035. Specifically, the name must be 1-63
459
+ # characters long and match the regular expression
460
+ # [a-z]([-a-z0-9]*[a-z0-9])?.
461
+ # Field name is intended to be consistent with CloudSQL.
462
+ class NetworkConfig
463
+ include ::Google::Protobuf::MessageExts
464
+ extend ::Google::Protobuf::MessageExts::ClassMethods
465
+ end
466
+
467
+ # Configuration information for the secondary cluster. This should be set
468
+ # if and only if the cluster is of type SECONDARY.
469
+ # @!attribute [rw] primary_cluster_name
470
+ # @return [::String]
471
+ # The name of the primary cluster name with the format:
472
+ # * projects/\\{project}/locations/\\{region}/clusters/\\{cluster_id}
473
+ class SecondaryConfig
474
+ include ::Google::Protobuf::MessageExts
475
+ extend ::Google::Protobuf::MessageExts::ClassMethods
476
+ end
477
+
478
+ # Configuration for the primary cluster. It has the list of clusters that are
479
+ # replicating from this cluster. This should be set if and only if the
480
+ # cluster is of type PRIMARY.
481
+ # @!attribute [r] secondary_cluster_names
482
+ # @return [::Array<::String>]
483
+ # Output only. Names of the clusters that are replicating from this
484
+ # cluster.
485
+ class PrimaryConfig
486
+ include ::Google::Protobuf::MessageExts
487
+ extend ::Google::Protobuf::MessageExts::ClassMethods
488
+ end
489
+
490
+ # @!attribute [rw] key
491
+ # @return [::String]
492
+ # @!attribute [rw] value
493
+ # @return [::String]
494
+ class LabelsEntry
495
+ include ::Google::Protobuf::MessageExts
496
+ extend ::Google::Protobuf::MessageExts::ClassMethods
497
+ end
498
+
499
+ # @!attribute [rw] key
500
+ # @return [::String]
501
+ # @!attribute [rw] value
502
+ # @return [::String]
503
+ class AnnotationsEntry
504
+ include ::Google::Protobuf::MessageExts
505
+ extend ::Google::Protobuf::MessageExts::ClassMethods
506
+ end
507
+
508
+ # Cluster State
509
+ module State
510
+ # The state of the cluster is unknown.
511
+ STATE_UNSPECIFIED = 0
512
+
513
+ # The cluster is active and running.
514
+ READY = 1
515
+
516
+ # The cluster is stopped. All instances in the cluster are stopped.
517
+ # Customers can start a stopped cluster at any point and all their
518
+ # instances will come back to life with same names and IP resources. In
519
+ # this state, customer pays for storage.
520
+ # Associated backups could also be present in a stopped cluster.
521
+ STOPPED = 2
522
+
523
+ # The cluster is empty and has no associated resources.
524
+ # All instances, associated storage and backups have been deleted.
525
+ EMPTY = 3
526
+
527
+ # The cluster is being created.
528
+ CREATING = 4
529
+
530
+ # The cluster is being deleted.
531
+ DELETING = 5
532
+
533
+ # The creation of the cluster failed.
534
+ FAILED = 6
535
+
536
+ # The cluster is bootstrapping with data from some other source.
537
+ # Direct mutations to the cluster (e.g. adding read pool) are not allowed.
538
+ BOOTSTRAPPING = 7
539
+
540
+ # The cluster is under maintenance. AlloyDB regularly performs maintenance
541
+ # and upgrades on customer clusters. Updates on the cluster are
542
+ # not allowed while the cluster is in this state.
543
+ MAINTENANCE = 8
544
+
545
+ # The cluster is being promoted.
546
+ PROMOTING = 9
547
+ end
548
+
549
+ # Type of Cluster
550
+ module ClusterType
551
+ # The type of the cluster is unknown.
552
+ CLUSTER_TYPE_UNSPECIFIED = 0
553
+
554
+ # Primary cluster that support read and write operations.
555
+ PRIMARY = 1
556
+
557
+ # Secondary cluster that is replicating from another region.
558
+ # This only supports read.
559
+ SECONDARY = 2
560
+ end
561
+ end
562
+
563
+ # An Instance is a computing unit that an end customer can connect to.
564
+ # It's the main unit of computing resources in AlloyDB.
565
+ # @!attribute [r] name
566
+ # @return [::String]
567
+ # Output only. The name of the instance resource with the format:
568
+ # * projects/\\{project}/locations/\\{region}/clusters/\\{cluster_id}/instances/\\{instance_id}
569
+ # where the cluster and instance ID segments should satisfy the regex
570
+ # expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of
571
+ # lowercase letters, numbers, and dashes, starting with a letter, and ending
572
+ # with a letter or number. For more details see https://google.aip.dev/122.
573
+ # The prefix of the instance resource name is the name of the parent
574
+ # resource:
575
+ # * projects/\\{project}/locations/\\{region}/clusters/\\{cluster_id}
576
+ # @!attribute [rw] display_name
577
+ # @return [::String]
578
+ # User-settable and human-readable display name for the Instance.
579
+ # @!attribute [r] uid
580
+ # @return [::String]
581
+ # Output only. The system-generated UID of the resource. The UID is assigned
582
+ # when the resource is created, and it is retained until it is deleted.
583
+ # @!attribute [r] create_time
584
+ # @return [::Google::Protobuf::Timestamp]
585
+ # Output only. Create time stamp
586
+ # @!attribute [r] update_time
587
+ # @return [::Google::Protobuf::Timestamp]
588
+ # Output only. Update time stamp
589
+ # @!attribute [r] delete_time
590
+ # @return [::Google::Protobuf::Timestamp]
591
+ # Output only. Delete time stamp
592
+ # @!attribute [rw] labels
593
+ # @return [::Google::Protobuf::Map{::String => ::String}]
594
+ # Labels as key value pairs
595
+ # @!attribute [r] state
596
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Instance::State]
597
+ # Output only. The current serving state of the instance.
598
+ # @!attribute [rw] instance_type
599
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Instance::InstanceType]
600
+ # Required. The type of the instance. Specified at creation time.
601
+ # @!attribute [rw] machine_config
602
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Instance::MachineConfig]
603
+ # Configurations for the machines that host the underlying
604
+ # database engine.
605
+ # @!attribute [rw] availability_type
606
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Instance::AvailabilityType]
607
+ # Availability type of an Instance.
608
+ # If empty, defaults to REGIONAL for primary instances.
609
+ # For read pools, availability_type is always UNSPECIFIED. Instances in the
610
+ # read pools are evenly distributed across available zones within the region
611
+ # (i.e. read pools with more than one node will have a node in at
612
+ # least two zones).
613
+ # @!attribute [rw] gce_zone
614
+ # @return [::String]
615
+ # The Compute Engine zone that the instance should serve from, per
616
+ # https://cloud.google.com/compute/docs/regions-zones
617
+ # This can ONLY be specified for ZONAL instances.
618
+ # If present for a REGIONAL instance, an error will be thrown.
619
+ # If this is absent for a ZONAL instance, instance is created in a random
620
+ # zone with available capacity.
621
+ # @!attribute [rw] database_flags
622
+ # @return [::Google::Protobuf::Map{::String => ::String}]
623
+ # Database flags. Set at instance level.
624
+ # * They are copied from primary instance on read instance creation.
625
+ # * Read instances can set new or override existing flags that are relevant
626
+ # for reads, e.g. for enabling columnar cache on a read instance. Flags
627
+ # set on read instance may or may not be present on primary.
628
+ #
629
+ #
630
+ # This is a list of "key": "value" pairs.
631
+ # "key": The name of the flag. These flags are passed at instance setup time,
632
+ # so include both server options and system variables for Postgres. Flags are
633
+ # specified with underscores, not hyphens.
634
+ # "value": The value of the flag. Booleans are set to **on** for true
635
+ # and **off** for false. This field must be omitted if the flag
636
+ # doesn't take a value.
637
+ # @!attribute [r] writable_node
638
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Instance::Node]
639
+ # Output only. This is set for the read-write VM of the PRIMARY instance
640
+ # only.
641
+ # @!attribute [r] nodes
642
+ # @return [::Array<::Google::Cloud::AlloyDB::V1alpha::Instance::Node>]
643
+ # Output only. List of available read-only VMs in this instance, including
644
+ # the standby for a PRIMARY instance.
645
+ # @!attribute [rw] query_insights_config
646
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Instance::QueryInsightsInstanceConfig]
647
+ # Configuration for query insights.
648
+ # @!attribute [rw] read_pool_config
649
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Instance::ReadPoolConfig]
650
+ # Read pool specific config.
651
+ # @!attribute [r] ip_address
652
+ # @return [::String]
653
+ # Output only. The IP address for the Instance.
654
+ # This is the connection endpoint for an end-user application.
655
+ # @!attribute [r] reconciling
656
+ # @return [::Boolean]
657
+ # Output only. Reconciling (https://google.aip.dev/128#reconciliation).
658
+ # Set to true if the current state of Instance does not match the user's
659
+ # intended state, and the service is actively updating the resource to
660
+ # reconcile them. This can happen due to user-triggered updates or
661
+ # system actions like failover or maintenance.
662
+ # @!attribute [rw] etag
663
+ # @return [::String]
664
+ # For Resource freshness validation (https://google.aip.dev/154)
665
+ # @!attribute [rw] annotations
666
+ # @return [::Google::Protobuf::Map{::String => ::String}]
667
+ # Annotations to allow client tools to store small amount of arbitrary data.
668
+ # This is distinct from labels.
669
+ # https://google.aip.dev/128
670
+ # @!attribute [rw] update_policy
671
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Instance::UpdatePolicy]
672
+ # Update policy that will be applied during instance update.
673
+ # This field is not persisted when you update the instance.
674
+ # To use a non-default update policy, you must
675
+ # specify explicitly specify the value in each update request.
676
+ # @!attribute [rw] satisfies_pzs
677
+ # @return [::Boolean]
678
+ # Reserved for future use.
679
+ class Instance
680
+ include ::Google::Protobuf::MessageExts
681
+ extend ::Google::Protobuf::MessageExts::ClassMethods
682
+
683
+ # MachineConfig describes the configuration of a machine.
684
+ # @!attribute [rw] cpu_count
685
+ # @return [::Integer]
686
+ # The number of CPU's in the VM instance.
687
+ class MachineConfig
688
+ include ::Google::Protobuf::MessageExts
689
+ extend ::Google::Protobuf::MessageExts::ClassMethods
690
+ end
691
+
692
+ # Details of a single node in the instance.
693
+ # Nodes in an AlloyDB instance are ephemereal, they can change during
694
+ # update, failover, autohealing and resize operations.
695
+ # @!attribute [rw] zone_id
696
+ # @return [::String]
697
+ # The Compute Engine zone of the VM e.g. "us-central1-b".
698
+ # @!attribute [rw] id
699
+ # @return [::String]
700
+ # The identifier of the VM e.g. "test-read-0601-407e52be-ms3l".
701
+ # @!attribute [rw] ip
702
+ # @return [::String]
703
+ # The private IP address of the VM e.g. "10.57.0.34".
704
+ # @!attribute [rw] state
705
+ # @return [::String]
706
+ # Determined by state of the compute VM and postgres-service health.
707
+ # Compute VM state can have values listed in
708
+ # https://cloud.google.com/compute/docs/instances/instance-life-cycle and
709
+ # postgres-service health can have values: HEALTHY and UNHEALTHY.
710
+ class Node
711
+ include ::Google::Protobuf::MessageExts
712
+ extend ::Google::Protobuf::MessageExts::ClassMethods
713
+ end
714
+
715
+ # QueryInsights Instance specific configuration.
716
+ # @!attribute [rw] record_application_tags
717
+ # @return [::Boolean]
718
+ # Record application tags for an instance.
719
+ # This flag is turned "on" by default.
720
+ # @!attribute [rw] record_client_address
721
+ # @return [::Boolean]
722
+ # Record client address for an instance. Client address is PII information.
723
+ # This flag is turned "on" by default.
724
+ # @!attribute [rw] query_string_length
725
+ # @return [::Integer]
726
+ # Query string length. The default value is 1024.
727
+ # Any integer between 256 and 4500 is considered valid.
728
+ # @!attribute [rw] query_plans_per_minute
729
+ # @return [::Integer]
730
+ # Number of query execution plans captured by Insights per minute
731
+ # for all queries combined. The default value is 5.
732
+ # Any integer between 0 and 20 is considered valid.
733
+ class QueryInsightsInstanceConfig
734
+ include ::Google::Protobuf::MessageExts
735
+ extend ::Google::Protobuf::MessageExts::ClassMethods
736
+ end
737
+
738
+ # Configuration for a read pool instance.
739
+ # @!attribute [rw] node_count
740
+ # @return [::Integer]
741
+ # Read capacity, i.e. number of nodes in a read pool instance.
742
+ class ReadPoolConfig
743
+ include ::Google::Protobuf::MessageExts
744
+ extend ::Google::Protobuf::MessageExts::ClassMethods
745
+ end
746
+
747
+ # Policy to be used while updating the instance.
748
+ # @!attribute [rw] mode
749
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Instance::UpdatePolicy::Mode]
750
+ # Mode for updating the instance.
751
+ class UpdatePolicy
752
+ include ::Google::Protobuf::MessageExts
753
+ extend ::Google::Protobuf::MessageExts::ClassMethods
754
+
755
+ # Specifies the available modes of update.
756
+ module Mode
757
+ # Mode is unknown.
758
+ MODE_UNSPECIFIED = 0
759
+
760
+ # Least disruptive way to apply the update.
761
+ DEFAULT = 1
762
+
763
+ # Performs a forced update when applicable. This will be fast but may
764
+ # incur a downtime.
765
+ FORCE_APPLY = 2
766
+ end
767
+ end
768
+
769
+ # @!attribute [rw] key
770
+ # @return [::String]
771
+ # @!attribute [rw] value
772
+ # @return [::String]
773
+ class LabelsEntry
774
+ include ::Google::Protobuf::MessageExts
775
+ extend ::Google::Protobuf::MessageExts::ClassMethods
776
+ end
777
+
778
+ # @!attribute [rw] key
779
+ # @return [::String]
780
+ # @!attribute [rw] value
781
+ # @return [::String]
782
+ class DatabaseFlagsEntry
783
+ include ::Google::Protobuf::MessageExts
784
+ extend ::Google::Protobuf::MessageExts::ClassMethods
785
+ end
786
+
787
+ # @!attribute [rw] key
788
+ # @return [::String]
789
+ # @!attribute [rw] value
790
+ # @return [::String]
791
+ class AnnotationsEntry
792
+ include ::Google::Protobuf::MessageExts
793
+ extend ::Google::Protobuf::MessageExts::ClassMethods
794
+ end
795
+
796
+ # Instance State
797
+ module State
798
+ # The state of the instance is unknown.
799
+ STATE_UNSPECIFIED = 0
800
+
801
+ # The instance is active and running.
802
+ READY = 1
803
+
804
+ # The instance is stopped. Instance name and IP resources are preserved.
805
+ STOPPED = 2
806
+
807
+ # The instance is being created.
808
+ CREATING = 3
809
+
810
+ # The instance is being deleted.
811
+ DELETING = 4
812
+
813
+ # The instance is down for maintenance.
814
+ MAINTENANCE = 5
815
+
816
+ # The creation of the instance failed or a fatal error occurred during
817
+ # an operation on the instance.
818
+ # Note: Instances in this state would tried to be auto-repaired. And
819
+ # Customers should be able to restart, update or delete these instances.
820
+ FAILED = 6
821
+
822
+ # Index 7 is used in the producer apis for ROLLED_BACK state. Keeping that
823
+ # index unused in case that state also needs to exposed via consumer apis
824
+ # in future.
825
+ # The instance has been configured to sync data from some other source.
826
+ BOOTSTRAPPING = 8
827
+
828
+ # The instance is being promoted.
829
+ PROMOTING = 9
830
+ end
831
+
832
+ # Type of an Instance
833
+ module InstanceType
834
+ # The type of the instance is unknown.
835
+ INSTANCE_TYPE_UNSPECIFIED = 0
836
+
837
+ # PRIMARY instances support read and write operations.
838
+ PRIMARY = 1
839
+
840
+ # READ POOL instances support read operations only. Each read pool instance
841
+ # consists of one or more homogeneous nodes.
842
+ # * Read pool of size 1 can only have zonal availability.
843
+ # * Read pools with node count of 2 or more can have regional
844
+ # availability (nodes are present in 2 or more zones in a region).
845
+ READ_POOL = 2
846
+
847
+ # SECONDARY instances support read operations only. SECONDARY instance
848
+ # is a cross-region read replica
849
+ SECONDARY = 3
850
+ end
851
+
852
+ # The Availability type of an instance. Potential values:
853
+ #
854
+ # - ZONAL: The instance serves data from only one zone. Outages in that
855
+ # zone affect instance availability.
856
+ # - REGIONAL: The instance can serve data from more than one zone in a
857
+ # region (it is highly available).
858
+ module AvailabilityType
859
+ # This is an unknown Availability type.
860
+ AVAILABILITY_TYPE_UNSPECIFIED = 0
861
+
862
+ # Zonal available instance.
863
+ ZONAL = 1
864
+
865
+ # Regional (or Highly) available instance.
866
+ REGIONAL = 2
867
+ end
868
+ end
869
+
870
+ # ConnectionInfo singleton resource.
871
+ # https://google.aip.dev/156
872
+ # @!attribute [rw] name
873
+ # @return [::String]
874
+ # The name of the ConnectionInfo singleton resource, e.g.:
875
+ # projects/\\{project}/locations/\\{location}/clusters/*/instances/*/connectionInfo
876
+ # This field currently has no semantic meaning.
877
+ # @!attribute [r] ip_address
878
+ # @return [::String]
879
+ # Output only. The IP address for the Instance.
880
+ # This is the connection endpoint for an end-user application.
881
+ # @!attribute [r] pem_certificate_chain
882
+ # @return [::Array<::String>]
883
+ # Output only. The pem-encoded chain that may be used to verify the X.509
884
+ # certificate. Expected to be in issuer-to-root order according to RFC 5246.
885
+ # @!attribute [r] instance_uid
886
+ # @return [::String]
887
+ # Output only. The unique ID of the Instance.
888
+ class ConnectionInfo
889
+ include ::Google::Protobuf::MessageExts
890
+ extend ::Google::Protobuf::MessageExts::ClassMethods
891
+ end
892
+
893
+ # Message describing Backup object
894
+ # @!attribute [r] name
895
+ # @return [::String]
896
+ # Output only. The name of the backup resource with the format:
897
+ # * projects/\\{project}/locations/\\{region}/backups/\\{backup_id}
898
+ # where the cluster and backup ID segments should satisfy the regex
899
+ # expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of
900
+ # lowercase letters, numbers, and dashes, starting with a letter, and ending
901
+ # with a letter or number. For more details see https://google.aip.dev/122.
902
+ # The prefix of the backup resource name is the name of the parent
903
+ # resource:
904
+ # * projects/\\{project}/locations/\\{region}
905
+ # @!attribute [rw] display_name
906
+ # @return [::String]
907
+ # User-settable and human-readable display name for the Backup.
908
+ # @!attribute [r] uid
909
+ # @return [::String]
910
+ # Output only. The system-generated UID of the resource. The UID is assigned
911
+ # when the resource is created, and it is retained until it is deleted.
912
+ # @!attribute [r] create_time
913
+ # @return [::Google::Protobuf::Timestamp]
914
+ # Output only. Create time stamp
915
+ # @!attribute [r] update_time
916
+ # @return [::Google::Protobuf::Timestamp]
917
+ # Output only. Update time stamp
918
+ # @!attribute [r] delete_time
919
+ # @return [::Google::Protobuf::Timestamp]
920
+ # Output only. Delete time stamp
921
+ # @!attribute [rw] labels
922
+ # @return [::Google::Protobuf::Map{::String => ::String}]
923
+ # Labels as key value pairs
924
+ # @!attribute [r] state
925
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Backup::State]
926
+ # Output only. The current state of the backup.
927
+ # @!attribute [rw] type
928
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Backup::Type]
929
+ # The backup type, which suggests the trigger for the backup.
930
+ # @!attribute [rw] description
931
+ # @return [::String]
932
+ # User-provided description of the backup.
933
+ # @!attribute [r] cluster_uid
934
+ # @return [::String]
935
+ # Output only. The system-generated UID of the cluster which was used to
936
+ # create this resource.
937
+ # @!attribute [rw] cluster_name
938
+ # @return [::String]
939
+ # Required. The full resource name of the backup source cluster
940
+ # (e.g., projects/\\{project}/locations/\\{region}/clusters/\\{cluster_id}).
941
+ # @!attribute [r] reconciling
942
+ # @return [::Boolean]
943
+ # Output only. Reconciling (https://google.aip.dev/128#reconciliation), if
944
+ # true, indicates that the service is actively updating the resource. This
945
+ # can happen due to user-triggered updates or system actions like failover or
946
+ # maintenance.
947
+ # @!attribute [rw] encryption_config
948
+ # @return [::Google::Cloud::AlloyDB::V1alpha::EncryptionConfig]
949
+ # Optional. The encryption config can be specified to encrypt the
950
+ # backup with a customer-managed encryption key (CMEK). When this field is
951
+ # not specified, the backup will then use default encryption scheme to
952
+ # protect the user data.
953
+ # @!attribute [r] encryption_info
954
+ # @return [::Google::Cloud::AlloyDB::V1alpha::EncryptionInfo]
955
+ # Output only. The encryption information for the backup.
956
+ # @!attribute [rw] etag
957
+ # @return [::String]
958
+ # For Resource freshness validation (https://google.aip.dev/154)
959
+ # @!attribute [rw] annotations
960
+ # @return [::Google::Protobuf::Map{::String => ::String}]
961
+ # Annotations to allow client tools to store small amount of arbitrary data.
962
+ # This is distinct from labels.
963
+ # https://google.aip.dev/128
964
+ # @!attribute [r] size_bytes
965
+ # @return [::Integer]
966
+ # Output only. The size of the backup in bytes.
967
+ # @!attribute [r] expiry_time
968
+ # @return [::Google::Protobuf::Timestamp]
969
+ # Output only. The time at which after the backup is eligible to be garbage
970
+ # collected. It is the duration specified by the backup's retention policy,
971
+ # added to the backup's create_time.
972
+ # @!attribute [r] expiry_quantity
973
+ # @return [::Google::Cloud::AlloyDB::V1alpha::Backup::QuantityBasedExpiry]
974
+ # Output only. The QuantityBasedExpiry of the backup, specified by the
975
+ # backup's retention policy. Once the expiry quantity is over retention, the
976
+ # backup is eligible to be garbage collected.
977
+ # @!attribute [rw] satisfies_pzs
978
+ # @return [::Boolean]
979
+ # Reserved for future use.
980
+ class Backup
981
+ include ::Google::Protobuf::MessageExts
982
+ extend ::Google::Protobuf::MessageExts::ClassMethods
983
+
984
+ # A backup's position in a quantity-based retention queue, of backups with
985
+ # the same source cluster and type, with length, retention, specified by the
986
+ # backup's retention policy.
987
+ # Once the position is greater than the retention, the backup is eligible to
988
+ # be garbage collected.
989
+ #
990
+ # Example: 5 backups from the same source cluster and type with a
991
+ # quantity-based retention of 3 and denoted by backup_id (position,
992
+ # retention).
993
+ #
994
+ # Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3).
995
+ # Awaiting garbage collection: backup_2 (4, 3), backup_1 (5, 3)
996
+ # @!attribute [r] retention_count
997
+ # @return [::Integer]
998
+ # Output only. The backup's position among its backups with the same source
999
+ # cluster and type, by descending chronological order create time(i.e.
1000
+ # newest first).
1001
+ # @!attribute [r] total_retention_count
1002
+ # @return [::Integer]
1003
+ # Output only. The length of the quantity-based queue, specified by the
1004
+ # backup's retention policy.
1005
+ class QuantityBasedExpiry
1006
+ include ::Google::Protobuf::MessageExts
1007
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1008
+ end
1009
+
1010
+ # @!attribute [rw] key
1011
+ # @return [::String]
1012
+ # @!attribute [rw] value
1013
+ # @return [::String]
1014
+ class LabelsEntry
1015
+ include ::Google::Protobuf::MessageExts
1016
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1017
+ end
1018
+
1019
+ # @!attribute [rw] key
1020
+ # @return [::String]
1021
+ # @!attribute [rw] value
1022
+ # @return [::String]
1023
+ class AnnotationsEntry
1024
+ include ::Google::Protobuf::MessageExts
1025
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1026
+ end
1027
+
1028
+ # Backup State
1029
+ module State
1030
+ # The state of the backup is unknown.
1031
+ STATE_UNSPECIFIED = 0
1032
+
1033
+ # The backup is ready.
1034
+ READY = 1
1035
+
1036
+ # The backup is creating.
1037
+ CREATING = 2
1038
+
1039
+ # The backup failed.
1040
+ FAILED = 3
1041
+
1042
+ # The backup is being deleted.
1043
+ DELETING = 4
1044
+ end
1045
+
1046
+ # Backup Type
1047
+ module Type
1048
+ # Backup Type is unknown.
1049
+ TYPE_UNSPECIFIED = 0
1050
+
1051
+ # ON_DEMAND backups that were triggered by the customer (e.g., not
1052
+ # AUTOMATED).
1053
+ ON_DEMAND = 1
1054
+
1055
+ # AUTOMATED backups triggered by the automated backups scheduler pursuant
1056
+ # to an automated backup policy.
1057
+ AUTOMATED = 2
1058
+
1059
+ # CONTINUOUS backups triggered by the automated backups scheduler
1060
+ # due to a continuous backup policy.
1061
+ CONTINUOUS = 3
1062
+ end
1063
+ end
1064
+
1065
+ # SupportedDatabaseFlag gives general information about a database flag,
1066
+ # like type and allowed values. This is a static value that is defined
1067
+ # on the server side, and it cannot be modified by callers.
1068
+ # To set the Database flags on a particular Instance, a caller should modify
1069
+ # the Instance.database_flags field.
1070
+ # @!attribute [rw] string_restrictions
1071
+ # @return [::Google::Cloud::AlloyDB::V1alpha::SupportedDatabaseFlag::StringRestrictions]
1072
+ # Restriction on STRING type value.
1073
+ # @!attribute [rw] integer_restrictions
1074
+ # @return [::Google::Cloud::AlloyDB::V1alpha::SupportedDatabaseFlag::IntegerRestrictions]
1075
+ # Restriction on INTEGER type value.
1076
+ # @!attribute [rw] name
1077
+ # @return [::String]
1078
+ # The name of the flag resource, following Google Cloud conventions, e.g.:
1079
+ # * projects/\\{project}/locations/\\{location}/flags/\\{flag}
1080
+ # This field currently has no semantic meaning.
1081
+ # @!attribute [rw] flag_name
1082
+ # @return [::String]
1083
+ # The name of the database flag, e.g. "max_allowed_packets".
1084
+ # The is a possibly key for the Instance.database_flags map field.
1085
+ # @!attribute [rw] value_type
1086
+ # @return [::Google::Cloud::AlloyDB::V1alpha::SupportedDatabaseFlag::ValueType]
1087
+ # @!attribute [rw] accepts_multiple_values
1088
+ # @return [::Boolean]
1089
+ # Whether the database flag accepts multiple values. If true,
1090
+ # a comma-separated list of stringified values may be specified.
1091
+ # @!attribute [rw] supported_db_versions
1092
+ # @return [::Array<::Google::Cloud::AlloyDB::V1alpha::DatabaseVersion>]
1093
+ # Major database engine versions for which this flag is supported.
1094
+ # @!attribute [rw] requires_db_restart
1095
+ # @return [::Boolean]
1096
+ # Whether setting or updating this flag on an Instance requires a database
1097
+ # restart. If a flag that requires database restart is set, the backend
1098
+ # will automatically restart the database (making sure to satisfy any
1099
+ # availability SLO's).
1100
+ class SupportedDatabaseFlag
1101
+ include ::Google::Protobuf::MessageExts
1102
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1103
+
1104
+ # Restrictions on STRING type values
1105
+ # @!attribute [rw] allowed_values
1106
+ # @return [::Array<::String>]
1107
+ # The list of allowed values, if bounded. This field will be empty
1108
+ # if there is a unbounded number of allowed values.
1109
+ class StringRestrictions
1110
+ include ::Google::Protobuf::MessageExts
1111
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1112
+ end
1113
+
1114
+ # Restrictions on INTEGER type values.
1115
+ # @!attribute [rw] min_value
1116
+ # @return [::Google::Protobuf::Int64Value]
1117
+ # The minimum value that can be specified, if applicable.
1118
+ # @!attribute [rw] max_value
1119
+ # @return [::Google::Protobuf::Int64Value]
1120
+ # The maximum value that can be specified, if applicable.
1121
+ class IntegerRestrictions
1122
+ include ::Google::Protobuf::MessageExts
1123
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1124
+ end
1125
+
1126
+ # ValueType describes the semantic type of the value that the flag accepts.
1127
+ # Regardless of the ValueType, the Instance.database_flags field accepts the
1128
+ # stringified version of the value, i.e. "20" or "3.14".
1129
+ module ValueType
1130
+ # This is an unknown flag type.
1131
+ VALUE_TYPE_UNSPECIFIED = 0
1132
+
1133
+ # String type flag.
1134
+ STRING = 1
1135
+
1136
+ # Integer type flag.
1137
+ INTEGER = 2
1138
+
1139
+ # Float type flag.
1140
+ FLOAT = 3
1141
+
1142
+ # Denotes that the flag does not accept any values.
1143
+ NONE = 4
1144
+ end
1145
+ end
1146
+
1147
+ # Message describing User object.
1148
+ # @!attribute [r] name
1149
+ # @return [::String]
1150
+ # Output only. Name of the resource in the form of
1151
+ # projects/\\{project}/locations/\\{location}/cluster/\\{cluster}/users/\\{user}.
1152
+ # @!attribute [rw] password
1153
+ # @return [::String]
1154
+ # Input only. Password for the user.
1155
+ # @!attribute [rw] database_roles
1156
+ # @return [::Array<::String>]
1157
+ # Optional. List of database roles this user has.
1158
+ # The database role strings are subject to the PostgreSQL naming conventions.
1159
+ # @!attribute [rw] user_type
1160
+ # @return [::Google::Cloud::AlloyDB::V1alpha::User::UserType]
1161
+ # Optional. Type of this user.
1162
+ class User
1163
+ include ::Google::Protobuf::MessageExts
1164
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1165
+
1166
+ # Enum that details the user type.
1167
+ module UserType
1168
+ # Unspecified user type.
1169
+ USER_TYPE_UNSPECIFIED = 0
1170
+
1171
+ # The default user type that authenticates via password-based
1172
+ # authentication.
1173
+ ALLOYDB_BUILT_IN = 1
1174
+
1175
+ # Database user that can authenticate via IAM-Based authentication.
1176
+ ALLOYDB_IAM_USER = 2
1177
+ end
1178
+ end
1179
+
1180
+ # View on Instance. Pass this enum to rpcs that returns an Instance message to
1181
+ # control which subsets of fields to get.
1182
+ module InstanceView
1183
+ # INSTANCE_VIEW_UNSPECIFIED Not specified, equivalent to BASIC.
1184
+ INSTANCE_VIEW_UNSPECIFIED = 0
1185
+
1186
+ # BASIC server responses for a primary or read instance include all the
1187
+ # relevant instance details, excluding the details of each node in the
1188
+ # instance. The default value.
1189
+ INSTANCE_VIEW_BASIC = 1
1190
+
1191
+ # FULL response is equivalent to BASIC for primary instance (for now).
1192
+ # For read pool instance, this includes details of each node in the pool.
1193
+ INSTANCE_VIEW_FULL = 2
1194
+ end
1195
+
1196
+ # View on Cluster. Pass this enum to rpcs that returns a cluster message to
1197
+ # control which subsets of fields to get.
1198
+ module ClusterView
1199
+ # CLUSTER_VIEW_UNSPECIFIED Not specified, equivalent to BASIC.
1200
+ CLUSTER_VIEW_UNSPECIFIED = 0
1201
+
1202
+ # BASIC server responses include all the relevant cluster details, excluding
1203
+ # Cluster.ContinuousBackupInfo.EarliestRestorableTime and other view-specific
1204
+ # fields. The default value.
1205
+ CLUSTER_VIEW_BASIC = 1
1206
+
1207
+ # CONTINUOUS_BACKUP response returns all the fields from BASIC plus
1208
+ # the earliest restorable time if continuous backups are enabled.
1209
+ # May increase latency.
1210
+ CLUSTER_VIEW_CONTINUOUS_BACKUP = 2
1211
+ end
1212
+
1213
+ # The supported database engine versions.
1214
+ module DatabaseVersion
1215
+ # This is an unknown database version.
1216
+ DATABASE_VERSION_UNSPECIFIED = 0
1217
+
1218
+ # DEPRECATED - The database version is Postgres 13.
1219
+ POSTGRES_13 = 1
1220
+
1221
+ # The database version is Postgres 14.
1222
+ POSTGRES_14 = 2
1223
+ end
1224
+ end
1225
+ end
1226
+ end
1227
+ end