From 1a3b6ed48bf82e2fdca34705b0ca0200e6502623 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Mon, 18 Sep 2023 16:18:07 -0700 Subject: [PATCH] feat: Added enum value for PG15 feat: Changed description for recovery_window_days in ContinuousBackupConfig feat: Deprecate network field in favor of network_config.network feat: Added ClientConnectionConfig feat: Added QuantityBasedExpiry feat: Added DatabaseVersion PiperOrigin-RevId: 566443015 --- .../cloud/alloydb/v1beta/alloydb_v1beta.yaml | 68 --------------- google/cloud/alloydb/v1beta/resources.proto | 85 +++++++++++++++---- google/cloud/alloydb/v1beta/service.proto | 13 ++- 3 files changed, 78 insertions(+), 88 deletions(-) diff --git a/google/cloud/alloydb/v1beta/alloydb_v1beta.yaml b/google/cloud/alloydb/v1beta/alloydb_v1beta.yaml index f732f46e93..d93b736216 100644 --- a/google/cloud/alloydb/v1beta/alloydb_v1beta.yaml +++ b/google/cloud/alloydb/v1beta/alloydb_v1beta.yaml @@ -115,40 +115,6 @@ publishing: doc_tag_prefix: alloydb organization: CLOUD library_settings: - - version: google.cloud.alloydb.v1 - launch_stage: GA - java_settings: - common: - destinations: - - PACKAGE_MANAGER - cpp_settings: - common: - destinations: - - PACKAGE_MANAGER - php_settings: - common: - destinations: - - PACKAGE_MANAGER - python_settings: - common: - destinations: - - PACKAGE_MANAGER - node_settings: - common: - destinations: - - PACKAGE_MANAGER - dotnet_settings: - common: - destinations: - - PACKAGE_MANAGER - ruby_settings: - common: - destinations: - - PACKAGE_MANAGER - go_settings: - common: - destinations: - - PACKAGE_MANAGER - version: google.cloud.alloydb.v1beta launch_stage: BETA java_settings: @@ -183,37 +149,3 @@ publishing: common: destinations: - PACKAGE_MANAGER - - version: google.cloud.alloydb.v1alpha - launch_stage: ALPHA - java_settings: - common: - destinations: - - PACKAGE_MANAGER - cpp_settings: - common: - destinations: - - PACKAGE_MANAGER - php_settings: - common: - destinations: - - PACKAGE_MANAGER - python_settings: - common: - destinations: - - PACKAGE_MANAGER - node_settings: - common: - destinations: - - PACKAGE_MANAGER - dotnet_settings: - common: - destinations: - - PACKAGE_MANAGER - ruby_settings: - common: - destinations: - - PACKAGE_MANAGER - go_settings: - common: - destinations: - - PACKAGE_MANAGER diff --git a/google/cloud/alloydb/v1beta/resources.proto b/google/cloud/alloydb/v1beta/resources.proto index eb98358425..bbcfd96d33 100644 --- a/google/cloud/alloydb/v1beta/resources.proto +++ b/google/cloud/alloydb/v1beta/resources.proto @@ -83,6 +83,9 @@ enum DatabaseVersion { // The database version is Postgres 14. POSTGRES_14 = 2; + + // The database version is Postgres 15. + POSTGRES_15 = 3; } // The username/password for a database user. Used for specifying initial @@ -308,9 +311,9 @@ message ContinuousBackupConfig { // Whether ContinuousBackup is enabled. optional bool enabled = 1; - // The number of days backups and logs will be retained, which determines the - // window of time that data is recoverable for. If not set, it defaults to 14 - // days. + // The number of days that are eligible to restore from using PITR. To support + // the entire recovery window, backups and logs are retained for one day more + // than the recovery window. If not set, defaults to 14 days. int32 recovery_window_days = 4; // The encryption config can be specified to encrypt the @@ -388,8 +391,7 @@ message Cluster { // The network must belong to the same project as the cluster. It is // specified in the form: // "projects/{project_number}/global/networks/{network_id}". This is - // required to create a cluster. It can be updated, but it cannot be - // removed. + // required to create a cluster. string network = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { @@ -397,8 +399,8 @@ message Cluster { } ]; - // Optional. The name of the allocated IP range for the private IP AlloyDB - // cluster. For example: "google-managed-services-default". If set, the + // Optional. Name of the allocated IP range for the private IP AlloyDB + // cluster, for example: "google-managed-services-default". If set, the // instance IPs for this cluster will be created in the allocated range. The // range name must comply with RFC 1035. Specifically, the name must be 1-63 // characters long and match the regular expression @@ -529,20 +531,21 @@ message Cluster { // the cluster (i.e. `CreateCluster` vs. `CreateSecondaryCluster` ClusterType cluster_type = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. The database engine major version. This is an output-only - // field and it's populated at the Cluster creation time. This field cannot be - // changed after cluster creation. - DatabaseVersion database_version = 9 - [(google.api.field_behavior) = OUTPUT_ONLY]; + // Optional. The database engine major version. This is an optional field and + // it is populated at the Cluster creation time. If a database version is not + // supplied at cluster creation time, then a default database version will + // be used. + DatabaseVersion database_version = 9 [(google.api.field_behavior) = OPTIONAL]; NetworkConfig network_config = 29 [(google.api.field_behavior) = OPTIONAL]; // Required. The resource link for the VPC network in which cluster resources // are created and from which they are accessible via Private IP. The network // must belong to the same project as the cluster. It is specified in the - // form: "projects/{project_number}/global/networks/{network_id}". This is - // required to create a cluster. It can be updated, but it cannot be removed. + // form: "projects/{project}/global/networks/{network_id}". This is required + // to create a cluster. Deprecated, use network_config.network instead. string network = 10 [ + deprecated = true, (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "compute.googleapis.com/Network" } ]; @@ -685,6 +688,16 @@ message Instance { Mode mode = 1; } + // Client connection configuration + message ClientConnectionConfig { + // Optional. Configuration to enforce connectors only (ex: AuthProxy) + // connections to the database. + bool require_connectors = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. SSL config option for this instance. + SslConfig ssl_config = 2 [(google.api.field_behavior) = OPTIONAL]; + } + // Instance State enum State { // The state of the instance is unknown. @@ -871,6 +884,10 @@ message Instance { // To use a non-default update policy, you must // specify explicitly specify the value in each update request. UpdatePolicy update_policy = 22; + + // Optional. Client connection specific configurations + ClientConnectionConfig client_connection_config = 23 + [(google.api.field_behavior) = OPTIONAL]; } // ConnectionInfo singleton resource. @@ -886,8 +903,9 @@ message ConnectionInfo { // This field currently has no semantic meaning. string name = 1; - // Output only. The IP address for the Instance. - // This is the connection endpoint for an end-user application. + // Output only. The private network IP address for the Instance. This is the + // default IP for the instance and is always created (even if enable_public_ip + // is set). This is the connection endpoint for an end-user application. string ip_address = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The pem-encoded chain that may be used to verify the X.509 @@ -907,6 +925,29 @@ message Backup { style: DECLARATIVE_FRIENDLY }; + // A backup's position in a quantity-based retention queue, of backups with + // the same source cluster and type, with length, retention, specified by the + // backup's retention policy. + // Once the position is greater than the retention, the backup is eligible to + // be garbage collected. + // + // Example: 5 backups from the same source cluster and type with a + // quantity-based retention of 3 and denoted by backup_id (position, + // retention). + // + // Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3). + // Awaiting garbage collection: backup_2 (4, 3), backup_1 (5, 3) + message QuantityBasedExpiry { + // Output only. The backup's position among its backups with the same source + // cluster and type, by descending chronological order create time(i.e. + // newest first). + int32 retention_count = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The length of the quantity-based queue, specified by the + // backup's retention policy. + int32 total_retention_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + // Backup State enum State { // The state of the backup is unknown. @@ -1029,6 +1070,18 @@ message Backup { // added to the backup's create_time. google.protobuf.Timestamp expiry_time = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The QuantityBasedExpiry of the backup, specified by the + // backup's retention policy. Once the expiry quantity is over retention, the + // backup is eligible to be garbage collected. + QuantityBasedExpiry expiry_quantity = 20 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The database engine major version of the cluster this backup + // was created from. Any restored cluster created from this backup will have + // the same database version. + DatabaseVersion database_version = 22 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // SupportedDatabaseFlag gives general information about a database flag, diff --git a/google/cloud/alloydb/v1beta/service.proto b/google/cloud/alloydb/v1beta/service.proto index f262636186..df23a56f11 100644 --- a/google/cloud/alloydb/v1beta/service.proto +++ b/google/cloud/alloydb/v1beta/service.proto @@ -348,10 +348,10 @@ service AlloyDBAdmin { } // Generate a client certificate signed by a Cluster CA. - // The sole purpose of this endpoint is to support the Auth Proxy client and - // the endpoint's behavior is subject to change without notice, so do not rely - // on its behavior remaining constant. Future changes will not break the Auth - // Proxy client. + // The sole purpose of this endpoint is to support AlloyDB connectors and the + // Auth Proxy client. The endpoint's behavior is subject to change without + // notice, so do not rely on its behavior remaining constant. Future changes + // will not break AlloyDB connectors or the Auth Proxy client. rpc GenerateClientCertificate(GenerateClientCertificateRequest) returns (GenerateClientCertificateResponse) { option (google.api.http) = { @@ -1362,6 +1362,11 @@ message GenerateClientCertificateRequest { // Optional. The public key from the client. string public_key = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An optional hint to the endpoint to generate a client + // ceritificate that can be used by AlloyDB connectors to exchange additional + // metadata with the server after TLS handshake. + bool use_metadata_exchange = 6 [(google.api.field_behavior) = OPTIONAL]; } // Message returned by a GenerateClientCertificate operation.