@@ -308,9 +308,9 @@ message ContinuousBackupConfig {
308308 // Whether ContinuousBackup is enabled.
309309 optional bool enabled = 1 ;
310310
311- // The number of days backups and logs will be retained, which determines the
312- // window of time that data is recoverable for. If not set, it defaults to 14
313- // days.
311+ // The number of days that are eligible to restore from using PITR. To support
312+ // the entire recovery window, backups and logs are retained for one day more
313+ // than the recovery window. If not set, defaults to 14 days.
314314 int32 recovery_window_days = 4 ;
315315
316316 // The encryption config can be specified to encrypt the
@@ -381,6 +381,31 @@ message Cluster {
381381 style : DECLARATIVE_FRIENDLY
382382 };
383383
384+ // Metadata related to network configuration.
385+ message NetworkConfig {
386+ // Required. The resource link for the VPC network in which cluster
387+ // resources are created and from which they are accessible via Private IP.
388+ // The network must belong to the same project as the cluster. It is
389+ // specified in the form:
390+ // "projects/{project_number}/global/networks/{network_id}". This is
391+ // required to create a cluster.
392+ string network = 1 [
393+ (google.api.field_behavior ) = REQUIRED ,
394+ (google.api.resource_reference ) = {
395+ type : "compute.googleapis.com/Network"
396+ }
397+ ];
398+
399+ // Optional. Name of the allocated IP range for the private IP AlloyDB
400+ // cluster, for example: "google-managed-services-default". If set, the
401+ // instance IPs for this cluster will be created in the allocated range. The
402+ // range name must comply with RFC 1035. Specifically, the name must be 1-63
403+ // characters long and match the regular expression
404+ // [a-z]([-a-z0-9]*[a-z0-9])?.
405+ // Field name is intended to be consistent with CloudSQL.
406+ string allocated_ip_range = 2 [(google.api.field_behavior ) = OPTIONAL ];
407+ }
408+
384409 // Configuration information for the secondary cluster. This should be set
385410 // if and only if the cluster is of type SECONDARY.
386411 message SecondaryConfig {
@@ -503,18 +528,21 @@ message Cluster {
503528 // the cluster (i.e. `CreateCluster` vs. `CreateSecondaryCluster`
504529 ClusterType cluster_type = 24 [(google.api.field_behavior ) = OUTPUT_ONLY ];
505530
506- // Output only. The database engine major version. This is an output-only
507- // field and it's populated at the Cluster creation time. This field cannot be
508- // changed after cluster creation.
509- DatabaseVersion database_version = 9
510- [(google.api.field_behavior ) = OUTPUT_ONLY ];
531+ // Optional. The database engine major version. This is an optional field and
532+ // it is populated at the Cluster creation time. If a database version is not
533+ // supplied at cluster creation time, then a default database version will
534+ // be used.
535+ DatabaseVersion database_version = 9 [(google.api.field_behavior ) = OPTIONAL ];
536+
537+ NetworkConfig network_config = 29 [(google.api.field_behavior ) = OPTIONAL ];
511538
512539 // Required. The resource link for the VPC network in which cluster resources
513540 // are created and from which they are accessible via Private IP. The network
514541 // must belong to the same project as the cluster. It is specified in the
515- // form: "projects/{project_number }/global/networks/{network_id}". This is
516- // required to create a cluster. It can be updated, but it cannot be removed .
542+ // form: "projects/{project }/global/networks/{network_id}". This is required
543+ // to create a cluster. Deprecated, use network_config.network instead .
517544 string network = 10 [
545+ deprecated = true ,
518546 (google.api.field_behavior ) = REQUIRED ,
519547 (google.api.resource_reference ) = { type : "compute.googleapis.com/Network" }
520548 ];
@@ -638,6 +666,16 @@ message Instance {
638666 int32 node_count = 1 ;
639667 }
640668
669+ // Client connection configuration
670+ message ClientConnectionConfig {
671+ // Optional. Configuration to enforce connectors only (ex: AuthProxy)
672+ // connections to the database.
673+ bool require_connectors = 1 [(google.api.field_behavior ) = OPTIONAL ];
674+
675+ // Optional. SSL config option for this instance.
676+ SslConfig ssl_config = 2 [(google.api.field_behavior ) = OPTIONAL ];
677+ }
678+
641679 // Instance State
642680 enum State {
643681 // The state of the instance is unknown.
@@ -818,6 +856,10 @@ message Instance {
818856 // This is distinct from labels.
819857 // https://google.aip.dev/128
820858 map <string , string > annotations = 18 ;
859+
860+ // Optional. Client connection specific configurations
861+ ClientConnectionConfig client_connection_config = 23
862+ [(google.api.field_behavior ) = OPTIONAL ];
821863}
822864
823865// Message describing Backup object
@@ -828,6 +870,29 @@ message Backup {
828870 style : DECLARATIVE_FRIENDLY
829871 };
830872
873+ // A backup's position in a quantity-based retention queue, of backups with
874+ // the same source cluster and type, with length, retention, specified by the
875+ // backup's retention policy.
876+ // Once the position is greater than the retention, the backup is eligible to
877+ // be garbage collected.
878+ //
879+ // Example: 5 backups from the same source cluster and type with a
880+ // quantity-based retention of 3 and denoted by backup_id (position,
881+ // retention).
882+ //
883+ // Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3).
884+ // Awaiting garbage collection: backup_2 (4, 3), backup_1 (5, 3)
885+ message QuantityBasedExpiry {
886+ // Output only. The backup's position among its backups with the same source
887+ // cluster and type, by descending chronological order create time(i.e.
888+ // newest first).
889+ int32 retention_count = 1 [(google.api.field_behavior ) = OUTPUT_ONLY ];
890+
891+ // Output only. The length of the quantity-based queue, specified by the
892+ // backup's retention policy.
893+ int32 total_retention_count = 2 [(google.api.field_behavior ) = OUTPUT_ONLY ];
894+ }
895+
831896 // Backup State
832897 enum State {
833898 // The state of the backup is unknown.
@@ -950,6 +1015,18 @@ message Backup {
9501015 // added to the backup's create_time.
9511016 google.protobuf.Timestamp expiry_time = 19
9521017 [(google.api.field_behavior ) = OUTPUT_ONLY ];
1018+
1019+ // Output only. The QuantityBasedExpiry of the backup, specified by the
1020+ // backup's retention policy. Once the expiry quantity is over retention, the
1021+ // backup is eligible to be garbage collected.
1022+ QuantityBasedExpiry expiry_quantity = 20
1023+ [(google.api.field_behavior ) = OUTPUT_ONLY ];
1024+
1025+ // Output only. The database engine major version of the cluster this backup
1026+ // was created from. Any restored cluster created from this backup will have
1027+ // the same database version.
1028+ DatabaseVersion database_version = 22
1029+ [(google.api.field_behavior ) = OUTPUT_ONLY ];
9531030}
9541031
9551032// SupportedDatabaseFlag gives general information about a database flag,
0 commit comments