Skip to content

Commit dc06efa

Browse files
Google APIscopybara-github
authored andcommitted
docs: A comment for field encryption_config in message .google.cloud.alloydb.v1alpha.AutomatedBackupPolicy is changed
docs: A comment for field `encryption_config` in message `.google.cloud.alloydb.v1alpha.ContinuousBackupConfig` is changed docs: A comment for message `Instance` is changed docs: A comment for field `zone_id` in message `.google.cloud.alloydb.v1alpha.Instance` is changed docs: A comment for field `id` in message `.google.cloud.alloydb.v1alpha.Instance` is changed docs: A comment for field `ip` in message `.google.cloud.alloydb.v1alpha.Instance` is changed docs: A comment for field `state` in message `.google.cloud.alloydb.v1alpha.Instance` is changed docs: A comment for field `track_wait_event_types` in message `.google.cloud.alloydb.v1alpha.Instance` is changed docs: A comment for field `database_flags` in message `.google.cloud.alloydb.v1alpha.Instance` is changed docs: A comment for field `user` in message `.google.cloud.alloydb.v1alpha.ExecuteSqlRequest` is changed docs: A comment for field `use_metadata_exchange` in message `.google.cloud.alloydb.v1alpha.GenerateClientCertificateRequest` is changed docs: A comment for field `requested_cancellation` in message `.google.cloud.alloydb.v1alpha.OperationMetadata` is changed feat: A new service `AlloyDBCSQLAdmin` is added feat: A new message `RestoreFromCloudSQLRequest` is added feat: A new enum `GCAEntitlementType` is added feat: A new message `GCAInstanceConfig` is added feat: A new field `machine_type` is added to message `.google.cloud.alloydb.v1alpha.Instance` feat: A new field `assistive_experiences_enabled` is added to message `.google.cloud.alloydb.v1alpha.Instance` feat: A new message `PscAutoConnectionConfig` is added feat: A new field `psc_auto_connections` is added to message `.google.cloud.alloydb.v1alpha.Instance` feat: A new field `gca_config` is added to message `.google.cloud.alloydb.v1alpha.Instance` feat: A new enum `Scope` is added feat: A new field `recommended_string_value` is added to message `.google.cloud.alloydb.v1alpha.SupportedDatabaseFlag` feat: A new field `recommended_integer_value` is added to message `.google.cloud.alloydb.v1alpha.SupportedDatabaseFlag` feat: A new field `scope` is added to message `.google.cloud.alloydb.v1alpha.SupportedDatabaseFlag` feat: A new method `ExportCluster` is added to service `AlloyDBAdmin` feat: A new method `ImportCluster` is added to service `AlloyDBAdmin` feat: A new message `GcsDestination` is added feat: A new message `ExportClusterRequest` is added feat: A new message `ExportClusterResponse` is added feat: A new message `ImportClusterRequest` is added feat: A new message `ImportClusterResponse` is added feat: A new field `scope` is added to message `.google.cloud.alloydb.v1alpha.ListSupportedDatabaseFlagsRequest` PiperOrigin-RevId: 758044677
1 parent ee4dca4 commit dc06efa

6 files changed

Lines changed: 390 additions & 27 deletions

File tree

google/cloud/alloydb/v1alpha/BUILD.bazel

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ proto_library(
2525
name = "alloydb_proto",
2626
srcs = [
2727
"csql_resources.proto",
28+
"csql_service.proto",
2829
"data_model.proto",
2930
"gemini.proto",
3031
"resources.proto",
@@ -108,6 +109,8 @@ java_gapic_test(
108109
test_classes = [
109110
"com.google.cloud.alloydb.v1alpha.AlloyDBAdminClientHttpJsonTest",
110111
"com.google.cloud.alloydb.v1alpha.AlloyDBAdminClientTest",
112+
"com.google.cloud.alloydb.v1alpha.AlloyDBCSQLAdminClientHttpJsonTest",
113+
"com.google.cloud.alloydb.v1alpha.AlloyDBCSQLAdminClientTest",
111114
],
112115
runtime_deps = [":alloydb_java_gapic_test"],
113116
)

google/cloud/alloydb/v1alpha/alloydb_v1alpha.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ title: AlloyDB API
55

66
apis:
77
- name: google.cloud.alloydb.v1alpha.AlloyDBAdmin
8+
- name: google.cloud.alloydb.v1alpha.AlloyDBCSQLAdmin
89
- name: google.cloud.location.Locations
910
- name: google.iam.v1.IAMPolicy
1011
- name: google.longrunning.Operations
@@ -22,7 +23,7 @@ documentation:
2223
PostgreSQL, and is more than 4x faster for transactional workloads and up
2324
to 100x faster for analytical queries than standard PostgreSQL in our
2425
performance tests. AlloyDB for PostgreSQL offers a 99.99 percent
25-
availability SLA inclusive of maintenance. AlloyDB is optimized
26+
availability SLA inclusive of maintenance. <br><br> AlloyDB is optimized
2627
for the most demanding use cases, allowing you to build new applications
2728
that require high transaction throughput, large database sizes, or
2829
multiple read resources; scale existing PostgreSQL workloads with no
@@ -79,6 +80,10 @@ authentication:
7980
oauth:
8081
canonical_scopes: |-
8182
https://www.googleapis.com/auth/cloud-platform
83+
- selector: google.cloud.alloydb.v1alpha.AlloyDBCSQLAdmin.RestoreFromCloudSQL
84+
oauth:
85+
canonical_scopes: |-
86+
https://www.googleapis.com/auth/cloud-platform
8287
- selector: google.cloud.location.Locations.GetLocation
8388
oauth:
8489
canonical_scopes: |-
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
// Copyright 2025 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.v1alpha;
18+
19+
import "google/api/annotations.proto";
20+
import "google/api/client.proto";
21+
import "google/api/field_behavior.proto";
22+
import "google/api/resource.proto";
23+
import "google/cloud/alloydb/v1alpha/csql_resources.proto";
24+
import "google/cloud/alloydb/v1alpha/resources.proto";
25+
import "google/cloud/alloydb/v1alpha/service.proto";
26+
import "google/longrunning/operations.proto";
27+
28+
option csharp_namespace = "Google.Cloud.AlloyDb.V1Alpha";
29+
option go_package = "cloud.google.com/go/alloydb/apiv1alpha/alloydbpb;alloydbpb";
30+
option java_multiple_files = true;
31+
option java_outer_classname = "CSQLServiceProto";
32+
option java_package = "com.google.cloud.alloydb.v1alpha";
33+
option php_namespace = "Google\\Cloud\\AlloyDb\\V1alpha";
34+
option ruby_package = "Google::Cloud::AlloyDB::V1alpha";
35+
36+
// Service for interactions with CloudSQL.
37+
service AlloyDBCSQLAdmin {
38+
option (google.api.default_host) = "alloydb.googleapis.com";
39+
option (google.api.oauth_scopes) =
40+
"https://www.googleapis.com/auth/cloud-platform";
41+
42+
// Restores an AlloyDB cluster from a CloudSQL resource.
43+
rpc RestoreFromCloudSQL(RestoreFromCloudSQLRequest)
44+
returns (google.longrunning.Operation) {
45+
option (google.api.http) = {
46+
post: "/v1alpha/{parent=projects/*/locations/*}/clusters:restoreFromCloudSQL"
47+
body: "*"
48+
};
49+
option (google.api.method_signature) = "parent,cluster_id";
50+
option (google.longrunning.operation_info) = {
51+
response_type: "Cluster"
52+
metadata_type: "OperationMetadata"
53+
};
54+
}
55+
}
56+
57+
// Message for registering Restoring from CloudSQL resource.
58+
message RestoreFromCloudSQLRequest {
59+
// The source CloudSQL resource to restore from.
60+
oneof source {
61+
// Cluster created from CloudSQL backup run.
62+
CloudSQLBackupRunSource cloudsql_backup_run_source = 101;
63+
}
64+
65+
// Required. The location of the new cluster. For the required format, see the
66+
// comment on Cluster.name field.
67+
string parent = 1 [
68+
(google.api.field_behavior) = REQUIRED,
69+
(google.api.resource_reference) = {
70+
child_type: "alloydb.googleapis.com/Cluster"
71+
}
72+
];
73+
74+
// Required. ID of the requesting object.
75+
string cluster_id = 2 [(google.api.field_behavior) = REQUIRED];
76+
77+
// Required. The resource being created
78+
Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED];
79+
}

google/cloud/alloydb/v1alpha/gemini.proto

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,15 @@ option java_package = "com.google.cloud.alloydb.v1alpha";
2626
option php_namespace = "Google\\Cloud\\AlloyDb\\V1alpha";
2727
option ruby_package = "Google::Cloud::AlloyDB::V1alpha";
2828

29+
// Enum representing the type of GCA entitlement assigned to a resource.
30+
enum GCAEntitlementType {
31+
// No GCA entitlement is assigned.
32+
GCA_ENTITLEMENT_TYPE_UNSPECIFIED = 0;
33+
34+
// The resource is entitled to the GCA Standard Tier.
35+
GCA_STANDARD = 1;
36+
}
37+
2938
// Cluster level configuration parameters related to the Gemini in Databases
3039
// add-on.
3140
message GeminiClusterConfig {
@@ -45,3 +54,11 @@ message GeminiInstanceConfig {
4554
// the Admin Control Center (ACC) and cannot be toggled using AlloyDB's APIs.
4655
bool entitled = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
4756
}
57+
58+
// Instance level configuration parameters related to the Gemini Cloud Assist
59+
// product.
60+
message GCAInstanceConfig {
61+
// Output only. Represents the GCA entitlement state of the instance.
62+
GCAEntitlementType gca_entitlement = 1
63+
[(google.api.field_behavior) = OUTPUT_ONLY];
64+
}

google/cloud/alloydb/v1alpha/resources.proto

Lines changed: 84 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,7 @@ message AutomatedBackupPolicy {
311311

312312
// Optional. The encryption config can be specified to encrypt the
313313
// backups with a customer-managed encryption key (CMEK). When this field is
314-
// not specified, the backup will then use default encryption scheme to
315-
// protect the user data.
314+
// not specified, the backup will use the cluster's encryption config.
316315
EncryptionConfig encryption_config = 8
317316
[(google.api.field_behavior) = OPTIONAL];
318317

@@ -339,8 +338,7 @@ message ContinuousBackupConfig {
339338

340339
// The encryption config can be specified to encrypt the
341340
// backups with a customer-managed encryption key (CMEK). When this field is
342-
// not specified, the backup will then use default encryption scheme to
343-
// protect the user data.
341+
// not specified, the backup will use the cluster's encryption config.
344342
EncryptionConfig encryption_config = 3;
345343
}
346344

@@ -748,26 +746,32 @@ message Instance {
748746
message MachineConfig {
749747
// The number of CPU's in the VM instance.
750748
int32 cpu_count = 1;
749+
750+
// Machine type of the VM instance. E.g. "n2-highmem-4",
751+
// "n2-highmem-8", "c4a-highmem-4-lssd".
752+
// cpu_count must match the number of vCPUs in the machine type.
753+
string machine_type = 4;
751754
}
752755

753756
// Details of a single node in the instance.
754-
// Nodes in an AlloyDB instance are ephemereal, they can change during
757+
// Nodes in an AlloyDB instance are ephemeral, they can change during
755758
// update, failover, autohealing and resize operations.
756759
message Node {
757-
// The Compute Engine zone of the VM e.g. "us-central1-b".
758-
string zone_id = 1;
760+
// Output only. The Compute Engine zone of the VM e.g. "us-central1-b".
761+
string zone_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
759762

760-
// The identifier of the VM e.g. "test-read-0601-407e52be-ms3l".
761-
string id = 2;
763+
// Output only. The identifier of the VM e.g.
764+
// "test-read-0601-407e52be-ms3l".
765+
string id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
762766

763-
// The private IP address of the VM e.g. "10.57.0.34".
764-
string ip = 3;
767+
// Output only. The private IP address of the VM e.g. "10.57.0.34".
768+
string ip = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
765769

766-
// Determined by state of the compute VM and postgres-service health.
767-
// Compute VM state can have values listed in
770+
// Output only. Determined by state of the compute VM and postgres-service
771+
// health. Compute VM state can have values listed in
768772
// https://cloud.google.com/compute/docs/instances/instance-life-cycle and
769773
// postgres-service health can have values: HEALTHY and UNHEALTHY.
770-
string state = 4;
774+
string state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
771775
}
772776

773777
// QueryInsights Instance specific configuration.
@@ -808,7 +812,7 @@ message Instance {
808812
// Output only. Track wait event types during query execution for an
809813
// instance. This flag is turned "on" by default but tracking is enabled
810814
// only after observability enabled flag is also turned on. This is
811-
// read-only flag and only modifiable by producer API.
815+
// read-only flag and only modifiable by internal API.
812816
optional bool track_wait_event_types = 4
813817
[(google.api.field_behavior) = OUTPUT_ONLY];
814818

@@ -878,6 +882,33 @@ message Instance {
878882
string network_attachment_resource = 1;
879883
}
880884

885+
// Configuration for setting up PSC service automation. Consumer projects in
886+
// the configs will be allowlisted automatically for the instance.
887+
message PscAutoConnectionConfig {
888+
// The consumer project to which the PSC service automation endpoint will
889+
// be created.
890+
string consumer_project = 1;
891+
892+
// The consumer network for the PSC service automation, example:
893+
// "projects/vpc-host-project/global/networks/default".
894+
// The consumer network might be hosted a different project than the
895+
// consumer project.
896+
string consumer_network = 2;
897+
898+
// Output only. The IP address of the PSC service automation endpoint.
899+
string ip_address = 3 [
900+
(google.api.field_info).format = IPV4,
901+
(google.api.field_behavior) = OUTPUT_ONLY
902+
];
903+
904+
// Output only. The status of the PSC service automation connection.
905+
string status = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
906+
907+
// Output only. The status of the service connection policy.
908+
string consumer_network_status = 5
909+
[(google.api.field_behavior) = OUTPUT_ONLY];
910+
}
911+
881912
// PscInstanceConfig contains PSC related configuration at an
882913
// instance level.
883914
message PscInstanceConfig {
@@ -903,6 +934,10 @@ message Instance {
903934
// interface.
904935
repeated PscInterfaceConfig psc_interface_configs = 8
905936
[(google.api.field_behavior) = OPTIONAL];
937+
938+
// Optional. Configurations for setting up PSC service automation.
939+
repeated PscAutoConnectionConfig psc_auto_connections = 9
940+
[(google.api.field_behavior) = OPTIONAL];
906941
}
907942

908943
// Metadata related to instance-level network configuration.
@@ -1057,11 +1092,13 @@ message Instance {
10571092
// zone with available capacity.
10581093
string gce_zone = 12;
10591094

1060-
// Database flags. Set at instance level.
1061-
// * They are copied from primary instance on read instance creation.
1062-
// * Read instances can set new or override existing flags that are relevant
1063-
// for reads, e.g. for enabling columnar cache on a read instance. Flags
1064-
// set on read instance may or may not be present on primary.
1095+
// Database flags. Set at the instance level.
1096+
// They are copied from the primary instance on secondary instance creation.
1097+
// Flags that have restrictions default to the value at primary
1098+
// instance on read instances during creation. Read instances can set new
1099+
// flags or override existing flags that are relevant for reads, for example,
1100+
// for enabling columnar cache on a read instance. Flags set on read instance
1101+
// might or might not be present on the primary instance.
10651102
//
10661103
//
10671104
// This is a list of "key": "value" pairs.
@@ -1153,6 +1190,9 @@ message Instance {
11531190
(google.api.field_info).format = IPV4,
11541191
(google.api.field_behavior) = OUTPUT_ONLY
11551192
];
1193+
1194+
// Output only. Configuration parameters related to Gemini Cloud Assist.
1195+
GCAInstanceConfig gca_config = 38 [(google.api.field_behavior) = OUTPUT_ONLY];
11561196
}
11571197

11581198
// ConnectionInfo singleton resource.
@@ -1431,6 +1471,18 @@ message SupportedDatabaseFlag {
14311471
NONE = 4;
14321472
}
14331473

1474+
// The scope of the flag.
1475+
enum Scope {
1476+
// The scope of the flag is not specified. Default is DATABASE.
1477+
SCOPE_UNSPECIFIED = 0;
1478+
1479+
// The flag is a database flag.
1480+
DATABASE = 1;
1481+
1482+
// The flag is a connection pool flag.
1483+
CONNECTION_POOL = 2;
1484+
}
1485+
14341486
// The restrictions on the flag value per type.
14351487
oneof restrictions {
14361488
// Restriction on STRING type value.
@@ -1440,6 +1492,15 @@ message SupportedDatabaseFlag {
14401492
IntegerRestrictions integer_restrictions = 8;
14411493
}
14421494

1495+
// The recommended value for the flag by type, if applicable.
1496+
oneof recommended_value {
1497+
// The recommended value for a STRING flag.
1498+
string recommended_string_value = 10;
1499+
1500+
// The recommended value for an INTEGER flag.
1501+
google.protobuf.Int64Value recommended_integer_value = 11;
1502+
}
1503+
14431504
// The name of the flag resource, following Google Cloud conventions, e.g.:
14441505
// * projects/{project}/locations/{location}/flags/{flag}
14451506
// This field currently has no semantic meaning.
@@ -1463,6 +1524,9 @@ message SupportedDatabaseFlag {
14631524
// will automatically restart the database (making sure to satisfy any
14641525
// availability SLO's).
14651526
bool requires_db_restart = 6;
1527+
1528+
// The scope of the flag.
1529+
Scope scope = 9;
14661530
}
14671531

14681532
// Message describing User object.

0 commit comments

Comments
 (0)