Skip to content

Commit c72f219

Browse files
Google APIscopybara-github
authored andcommitted
fix!: deprecated various PSC instance configuration fields
feat: add new PSC instance configuration setting and output the PSC DNS name feat: add new API to upgrade a cluster feat: add new API to execute SQL statements feat: add new cluster and instance level configurations to interact with Gemini feat: add support for Free Trials feat: add support to schedule maintenance feat: additional field to set tags on a backup or cluster feat: add more observability options on the Instance level feat: add new API to perform a promotion or switchover on secondary instances feat: add new CloudSQL backup resource feat: support for obtaining the public ip addresses of an instance and enabling outbound public ip feat: add optional field to keep extra roles on a user if it already exists docs: various typo fixes, correcting the formatting, and clarifications on the request_id and validate_only fields in API requests and on the page_size when listing the database PiperOrigin-RevId: 694626053
1 parent 47584ce commit c72f219

File tree

7 files changed

+896
-193
lines changed

7 files changed

+896
-193
lines changed

google/cloud/alloydb/v1beta/BUILD.bazel

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,24 @@
99
# * extra_protoc_file_parameters
1010
# The complete list of preserved parameters can be found in the source code.
1111

12+
# buildifier: disable=load-on-top
13+
1214
# This is an API workspace, having public visibility by default makes perfect sense.
1315
package(default_visibility = ["//visibility:public"])
1416

1517
##############################################################################
1618
# Common
1719
##############################################################################
18-
load("@rules_proto//proto:defs.bzl", "proto_library")
20+
# buildifier: disable=same-origin-load
1921
load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
22+
load("@rules_proto//proto:defs.bzl", "proto_library")
2023

2124
proto_library(
2225
name = "alloydb_proto",
2326
srcs = [
27+
"csql_resources.proto",
28+
"data_model.proto",
29+
"gemini.proto",
2430
"resources.proto",
2531
"service.proto",
2632
],
@@ -55,6 +61,7 @@ proto_library_with_info(
5561
##############################################################################
5662
# Java
5763
##############################################################################
64+
# buildifier: disable=same-origin-load
5865
load(
5966
"@com_google_googleapis_imports//:imports.bzl",
6067
"java_gapic_assembly_gradle_pkg",
@@ -121,6 +128,7 @@ java_gapic_assembly_gradle_pkg(
121128
##############################################################################
122129
# Go
123130
##############################################################################
131+
# buildifier: disable=same-origin-load
124132
load(
125133
"@com_google_googleapis_imports//:imports.bzl",
126134
"go_gapic_assembly_pkg",
@@ -178,6 +186,7 @@ go_gapic_assembly_pkg(
178186
##############################################################################
179187
# Python
180188
##############################################################################
189+
# buildifier: disable=same-origin-load
181190
load(
182191
"@com_google_googleapis_imports//:imports.bzl",
183192
"py_gapic_assembly_pkg",
@@ -218,6 +227,7 @@ py_gapic_assembly_pkg(
218227
##############################################################################
219228
# PHP
220229
##############################################################################
230+
# buildifier: disable=same-origin-load
221231
load(
222232
"@com_google_googleapis_imports//:imports.bzl",
223233
"php_gapic_assembly_pkg",
@@ -234,10 +244,13 @@ php_gapic_library(
234244
name = "alloydb_php_gapic",
235245
srcs = [":alloydb_proto_with_info"],
236246
grpc_service_config = "alloydb_v1beta_grpc_service_config.json",
247+
migration_mode = "PRE_MIGRATION_SURFACE_ONLY",
237248
rest_numeric_enums = True,
238249
service_yaml = "alloydb_v1beta.yaml",
239250
transport = "grpc+rest",
240-
deps = [":alloydb_php_proto"],
251+
deps = [
252+
":alloydb_php_proto",
253+
],
241254
)
242255

243256
# Open Source Packages
@@ -252,6 +265,7 @@ php_gapic_assembly_pkg(
252265
##############################################################################
253266
# Node.js
254267
##############################################################################
268+
# buildifier: disable=same-origin-load
255269
load(
256270
"@com_google_googleapis_imports//:imports.bzl",
257271
"nodejs_gapic_assembly_pkg",
@@ -282,6 +296,7 @@ nodejs_gapic_assembly_pkg(
282296
##############################################################################
283297
# Ruby
284298
##############################################################################
299+
# buildifier: disable=same-origin-load
285300
load(
286301
"@com_google_googleapis_imports//:imports.bzl",
287302
"ruby_cloud_gapic_library",
@@ -331,6 +346,7 @@ ruby_gapic_assembly_pkg(
331346
##############################################################################
332347
# C#
333348
##############################################################################
349+
# buildifier: disable=same-origin-load
334350
load(
335351
"@com_google_googleapis_imports//:imports.bzl",
336352
"csharp_gapic_assembly_pkg",
@@ -341,6 +357,7 @@ load(
341357

342358
csharp_proto_library(
343359
name = "alloydb_csharp_proto",
360+
extra_opts = [],
344361
deps = [":alloydb_proto"],
345362
)
346363

@@ -357,6 +374,7 @@ csharp_gapic_library(
357374
grpc_service_config = "alloydb_v1beta_grpc_service_config.json",
358375
rest_numeric_enums = True,
359376
service_yaml = "alloydb_v1beta.yaml",
377+
transport = "grpc+rest",
360378
deps = [
361379
":alloydb_csharp_grpc",
362380
":alloydb_csharp_proto",
@@ -376,6 +394,7 @@ csharp_gapic_assembly_pkg(
376394
##############################################################################
377395
# C++
378396
##############################################################################
397+
# buildifier: disable=same-origin-load
379398
load(
380399
"@com_google_googleapis_imports//:imports.bzl",
381400
"cc_grpc_library",

google/cloud/alloydb/v1beta/alloydb_v1beta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ apis:
1212
types:
1313
- name: google.cloud.alloydb.v1beta.BatchCreateInstancesResponse
1414
- name: google.cloud.alloydb.v1beta.OperationMetadata
15+
- name: google.cloud.alloydb.v1beta.UpgradeClusterResponse
1516

1617
documentation:
1718
summary: |-
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// Copyright 2024 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.alloydb.v1beta;
18+
19+
import "google/api/field_behavior.proto";
20+
21+
option csharp_namespace = "Google.Cloud.AlloyDb.V1Beta";
22+
option go_package = "cloud.google.com/go/alloydb/apiv1beta/alloydbpb;alloydbpb";
23+
option java_multiple_files = true;
24+
option java_outer_classname = "CsqlResourcesProto";
25+
option java_package = "com.google.cloud.alloydb.v1beta";
26+
option php_namespace = "Google\\Cloud\\AlloyDb\\V1beta";
27+
option ruby_package = "Google::Cloud::AlloyDB::V1beta";
28+
29+
// The source CloudSQL backup resource.
30+
message CloudSQLBackupRunSource {
31+
// The project ID of the source CloudSQL instance. This should be the same as
32+
// the AlloyDB cluster's project.
33+
string project = 1;
34+
35+
// Required. The CloudSQL instance ID.
36+
string instance_id = 2 [(google.api.field_behavior) = REQUIRED];
37+
38+
// Required. The CloudSQL backup run ID.
39+
int64 backup_run_id = 3 [(google.api.field_behavior) = REQUIRED];
40+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
// Copyright 2024 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.alloydb.v1beta;
18+
19+
option csharp_namespace = "Google.Cloud.AlloyDb.V1Beta";
20+
option go_package = "cloud.google.com/go/alloydb/apiv1beta/alloydbpb;alloydbpb";
21+
option java_multiple_files = true;
22+
option java_outer_classname = "DataModelProto";
23+
option java_package = "com.google.cloud.alloydb.v1beta";
24+
option php_namespace = "Google\\Cloud\\AlloyDb\\V1beta";
25+
option ruby_package = "Google::Cloud::AlloyDB::V1beta";
26+
27+
// SqlResult represents the result for the execution of a sql statement.
28+
message SqlResult {
29+
// List of columns included in the result. This also includes the data type
30+
// of the column.
31+
repeated SqlResultColumn columns = 1;
32+
33+
// Rows returned by the SQL statement.
34+
repeated SqlResultRow rows = 2;
35+
}
36+
37+
// Contains the name and datatype of a column in a SQL Result.
38+
message SqlResultColumn {
39+
// Name of the column.
40+
string name = 1;
41+
42+
// Datatype of the column as reported by the postgres driver.
43+
// Common type names are "VARCHAR", "TEXT", "NVARCHAR", "DECIMAL", "BOOL",
44+
// "INT", and "BIGINT".
45+
string type = 2;
46+
}
47+
48+
// A single row from a sql result.
49+
message SqlResultRow {
50+
// List of values in a row of sql result.
51+
repeated SqlResultValue values = 1;
52+
}
53+
54+
// A single value in a row from a sql result.
55+
message SqlResultValue {
56+
// The cell value represented in string format.
57+
// Timestamps are converted to string using RFC3339Nano format.
58+
optional string value = 1;
59+
60+
// Set to true if cell value is null.
61+
optional bool null_value = 2;
62+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Copyright 2024 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.alloydb.v1beta;
18+
19+
import "google/api/field_behavior.proto";
20+
21+
option csharp_namespace = "Google.Cloud.AlloyDb.V1Beta";
22+
option go_package = "cloud.google.com/go/alloydb/apiv1beta/alloydbpb;alloydbpb";
23+
option java_multiple_files = true;
24+
option java_outer_classname = "GeminiProto";
25+
option java_package = "com.google.cloud.alloydb.v1beta";
26+
option php_namespace = "Google\\Cloud\\AlloyDb\\V1beta";
27+
option ruby_package = "Google::Cloud::AlloyDB::V1beta";
28+
29+
// Cluster level configuration parameters related to the Gemini in Databases
30+
// add-on.
31+
message GeminiClusterConfig {
32+
// Output only. Whether the Gemini in Databases add-on is enabled for the
33+
// cluster. It will be true only if the add-on has been enabled for the
34+
// billing account corresponding to the cluster. Its status is toggled from
35+
// the Admin Control Center (ACC) and cannot be toggled using AlloyDB's APIs.
36+
bool entitled = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
37+
}
38+
39+
// Instance level configuration parameters related to the Gemini in Databases
40+
// add-on.
41+
message GeminiInstanceConfig {
42+
// Output only. Whether the Gemini in Databases add-on is enabled for the
43+
// instance. It will be true only if the add-on has been enabled for the
44+
// billing account corresponding to the instance. Its status is toggled from
45+
// the Admin Control Center (ACC) and cannot be toggled using AlloyDB's APIs.
46+
bool entitled = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
47+
}

0 commit comments

Comments
 (0)