feat: add new PSC instance configuration setting and output the PSC DNS name

feat: add new API to execute SQL statements
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: support for obtaining the public ip addresses of an instance and enabling either inbound or outbound public ip
feat: add new API to list the databases in a project and location
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: 688544999
This commit is contained in:
Google APIs 2024-10-22 07:41:42 -07:00 committed by Copybara-Service
parent 60688dc330
commit 113ddfebbe
4 changed files with 664 additions and 152 deletions

View file

@ -9,18 +9,22 @@
# * extra_protoc_file_parameters
# The complete list of preserved parameters can be found in the source code.
# buildifier: disable=load-on-top
# This is an API workspace, having public visibility by default makes perfect sense.
package(default_visibility = ["//visibility:public"])
##############################################################################
# Common
##############################################################################
load("@rules_proto//proto:defs.bzl", "proto_library")
# buildifier: disable=same-origin-load
load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
load("@rules_proto//proto:defs.bzl", "proto_library")
proto_library(
name = "alloydb_proto",
srcs = [
"data_model.proto",
"resources.proto",
"service.proto",
],
@ -28,6 +32,7 @@ proto_library(
"//google/api:annotations_proto",
"//google/api:client_proto",
"//google/api:field_behavior_proto",
"//google/api:field_info_proto",
"//google/api:resource_proto",
"//google/longrunning:operations_proto",
"//google/rpc:status_proto",
@ -54,6 +59,7 @@ proto_library_with_info(
##############################################################################
# Java
##############################################################################
# buildifier: disable=same-origin-load
load(
"@com_google_googleapis_imports//:imports.bzl",
"java_gapic_assembly_gradle_pkg",
@ -120,6 +126,7 @@ java_gapic_assembly_gradle_pkg(
##############################################################################
# Go
##############################################################################
# buildifier: disable=same-origin-load
load(
"@com_google_googleapis_imports//:imports.bzl",
"go_gapic_assembly_pkg",
@ -177,6 +184,7 @@ go_gapic_assembly_pkg(
##############################################################################
# Python
##############################################################################
# buildifier: disable=same-origin-load
load(
"@com_google_googleapis_imports//:imports.bzl",
"py_gapic_assembly_pkg",
@ -217,6 +225,7 @@ py_gapic_assembly_pkg(
##############################################################################
# PHP
##############################################################################
# buildifier: disable=same-origin-load
load(
"@com_google_googleapis_imports//:imports.bzl",
"php_gapic_assembly_pkg",
@ -237,7 +246,9 @@ php_gapic_library(
rest_numeric_enums = True,
service_yaml = "alloydb_v1.yaml",
transport = "grpc+rest",
deps = [":alloydb_php_proto"],
deps = [
":alloydb_php_proto",
],
)
# Open Source Packages
@ -252,6 +263,7 @@ php_gapic_assembly_pkg(
##############################################################################
# Node.js
##############################################################################
# buildifier: disable=same-origin-load
load(
"@com_google_googleapis_imports//:imports.bzl",
"nodejs_gapic_assembly_pkg",
@ -282,6 +294,7 @@ nodejs_gapic_assembly_pkg(
##############################################################################
# Ruby
##############################################################################
# buildifier: disable=same-origin-load
load(
"@com_google_googleapis_imports//:imports.bzl",
"ruby_cloud_gapic_library",
@ -331,6 +344,7 @@ ruby_gapic_assembly_pkg(
##############################################################################
# C#
##############################################################################
# buildifier: disable=same-origin-load
load(
"@com_google_googleapis_imports//:imports.bzl",
"csharp_gapic_assembly_pkg",
@ -341,6 +355,7 @@ load(
csharp_proto_library(
name = "alloydb_csharp_proto",
extra_opts = [],
deps = [":alloydb_proto"],
)
@ -357,6 +372,7 @@ csharp_gapic_library(
grpc_service_config = "alloydb_v1_grpc_service_config.json",
rest_numeric_enums = True,
service_yaml = "alloydb_v1.yaml",
transport = "grpc+rest",
deps = [
":alloydb_csharp_grpc",
":alloydb_csharp_proto",
@ -376,6 +392,7 @@ csharp_gapic_assembly_pkg(
##############################################################################
# C++
##############################################################################
# buildifier: disable=same-origin-load
load(
"@com_google_googleapis_imports//:imports.bzl",
"cc_grpc_library",

View file

@ -0,0 +1,62 @@
// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package google.cloud.alloydb.v1;
option csharp_namespace = "Google.Cloud.AlloyDb.V1";
option go_package = "cloud.google.com/go/alloydb/apiv1/alloydbpb;alloydbpb";
option java_multiple_files = true;
option java_outer_classname = "DataModelProto";
option java_package = "com.google.cloud.alloydb.v1";
option php_namespace = "Google\\Cloud\\AlloyDb\\V1";
option ruby_package = "Google::Cloud::AlloyDB::V1";
// SqlResult represents the result for the execution of a sql statement.
message SqlResult {
// List of columns included in the result. This also includes the data type
// of the column.
repeated SqlResultColumn columns = 1;
// Rows returned by the SQL statement.
repeated SqlResultRow rows = 2;
}
// Contains the name and datatype of a column in a SQL Result.
message SqlResultColumn {
// Name of the column.
string name = 1;
// Datatype of the column as reported by the postgres driver.
// Common type names are "VARCHAR", "TEXT", "NVARCHAR", "DECIMAL", "BOOL",
// "INT", and "BIGINT".
string type = 2;
}
// A single row from a sql result.
message SqlResultRow {
// List of values in a row of sql result.
repeated SqlResultValue values = 1;
}
// A single value in a row from a sql result.
message SqlResultValue {
// The cell value represented in string format.
// Timestamps are converted to string using RFC3339Nano format.
optional string value = 1;
// Set to true if cell value is null.
optional bool null_value = 2;
}

View file

@ -17,6 +17,7 @@ syntax = "proto3";
package google.cloud.alloydb.v1;
import "google/api/field_behavior.proto";
import "google/api/field_info.proto";
import "google/api/resource.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
@ -83,6 +84,27 @@ enum DatabaseVersion {
// The database version is Postgres 14.
POSTGRES_14 = 2;
// The database version is Postgres 15.
POSTGRES_15 = 3;
// The database version is Postgres 16.
POSTGRES_16 = 4;
}
// Subscription_type added to distinguish between Standard and Trial
// subscriptions. By default, a subscription type is considered STANDARD unless
// explicitly specified.
enum SubscriptionType {
// This is an unknown subscription type. By default, the subscription type is
// STANDARD.
SUBSCRIPTION_TYPE_UNSPECIFIED = 0;
// Standard subscription.
STANDARD = 1;
// Trial subscription.
TRIAL = 2;
}
// The username/password for a database user. Used for specifying initial
@ -162,7 +184,7 @@ message EncryptionInfo {
message SslConfig {
// SSL mode options.
enum SslMode {
// SSL mode not specified. Defaults to ENCRYPTED_ONLY.
// SSL mode is not specified. Defaults to ENCRYPTED_ONLY.
SSL_MODE_UNSPECIFIED = 0;
// SSL connections are optional. CA verification not enforced.
@ -174,7 +196,7 @@ message SslConfig {
SSL_MODE_REQUIRE = 2 [deprecated = true];
// SSL connections are required. CA verification enforced.
// Clients must have certificates signed by a Cluster CA, e.g. via
// Clients must have certificates signed by a Cluster CA, for example, using
// GenerateClientCertificate.
SSL_MODE_VERIFY_CA = 3 [deprecated = true];
@ -371,6 +393,33 @@ message ContinuousBackupSource {
[(google.api.field_behavior) = REQUIRED];
}
// MaintenanceUpdatePolicy defines the policy for system updates.
message MaintenanceUpdatePolicy {
// MaintenanceWindow specifies a preferred day and time for maintenance.
message MaintenanceWindow {
// Preferred day of the week for maintenance, e.g. MONDAY, TUESDAY, etc.
google.type.DayOfWeek day = 1;
// Preferred time to start the maintenance operation on the specified day.
// Maintenance will start within 1 hour of this time.
google.type.TimeOfDay start_time = 2;
}
// Preferred windows to perform maintenance. Currently limited to 1.
repeated MaintenanceWindow maintenance_windows = 1;
}
// MaintenanceSchedule stores the maintenance schedule generated from
// the MaintenanceUpdatePolicy, once a maintenance rollout is triggered, if
// MaintenanceWindow is set, and if there is no conflicting DenyPeriod.
// The schedule is cleared once the update takes place. This field cannot be
// manually changed; modify the MaintenanceUpdatePolicy instead.
message MaintenanceSchedule {
// Output only. The scheduled start time for the maintenance.
google.protobuf.Timestamp start_time = 1
[(google.api.field_behavior) = OUTPUT_ONLY];
}
// A cluster is a collection of regional AlloyDB resources. It can include a
// primary instance and one or more read pool instances.
// All cluster resources share a storage layer, which scales as needed.
@ -378,19 +427,21 @@ message Cluster {
option (google.api.resource) = {
type: "alloydb.googleapis.com/Cluster"
pattern: "projects/{project}/locations/{location}/clusters/{cluster}"
plural: "clusters"
singular: "cluster"
style: DECLARATIVE_FRIENDLY
};
// Metadata related to network configuration.
message NetworkConfig {
// Required. The resource link for the VPC network in which cluster
// Optional. 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
// `projects/{project_number}/global/networks/{network_id}`. This is
// required to create a cluster.
string network = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.field_behavior) = OPTIONAL,
(google.api.resource_reference) = {
type: "compute.googleapis.com/Network"
}
@ -424,6 +475,28 @@ message Cluster {
[(google.api.field_behavior) = OUTPUT_ONLY];
}
// PscConfig contains PSC related configuration at a cluster level.
message PscConfig {
// Optional. Create an instance that allows connections from Private Service
// Connect endpoints to the instance.
bool psc_enabled = 1 [(google.api.field_behavior) = OPTIONAL];
}
// Contains information and all metadata related to TRIAL clusters.
message TrialMetadata {
// start time of the trial cluster.
google.protobuf.Timestamp start_time = 1;
// End time of the trial cluster.
google.protobuf.Timestamp end_time = 2;
// Upgrade time of trial cluster to Standard cluster.
google.protobuf.Timestamp upgrade_time = 3;
// grace end time of the cluster.
google.protobuf.Timestamp grace_end_time = 4;
}
// Cluster State
enum State {
// The state of the cluster is unknown.
@ -539,7 +612,7 @@ message Cluster {
// 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}/global/networks/{network_id}". This is required
// 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,
@ -603,6 +676,42 @@ message Cluster {
// Output only. Cross Region replication config specific to PRIMARY cluster.
PrimaryConfig primary_config = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Reserved for future use.
bool satisfies_pzs = 30 [(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. The configuration for Private Service Connect (PSC) for the
// cluster.
PscConfig psc_config = 31 [(google.api.field_behavior) = OPTIONAL];
// Optional. The maintenance update policy determines when to allow or deny
// updates.
MaintenanceUpdatePolicy maintenance_update_policy = 32
[(google.api.field_behavior) = OPTIONAL];
// Output only. The maintenance schedule for the cluster, generated for a
// specific rollout if a maintenance window is set.
MaintenanceSchedule maintenance_schedule = 37
[(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. Subscription type of the cluster.
SubscriptionType subscription_type = 38
[(google.api.field_behavior) = OPTIONAL];
// Output only. Metadata for free trial clusters
TrialMetadata trial_metadata = 39 [(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. Input only. Immutable. Tag keys/values directly bound to this
// resource. For example:
// ```
// "123/environment": "production",
// "123/costCenter": "marketing"
// ```
map<string, string> tags = 41 [
(google.api.field_behavior) = INPUT_ONLY,
(google.api.field_behavior) = IMMUTABLE,
(google.api.field_behavior) = OPTIONAL
];
}
// An Instance is a computing unit that an end customer can connect to.
@ -611,6 +720,8 @@ message Instance {
option (google.api.resource) = {
type: "alloydb.googleapis.com/Instance"
pattern: "projects/{project}/locations/{location}/clusters/{cluster}/instances/{instance}"
plural: "instances"
singular: "instance"
style: DECLARATIVE_FRIENDLY
};
@ -672,10 +783,50 @@ message Instance {
// connections to the database.
bool require_connectors = 1 [(google.api.field_behavior) = OPTIONAL];
// Optional. SSL config option for this instance.
// Optional. SSL configuration option for this instance.
SslConfig ssl_config = 2 [(google.api.field_behavior) = OPTIONAL];
}
// PscInstanceConfig contains PSC related configuration at an
// instance level.
message PscInstanceConfig {
// Output only. The service attachment created when Private
// Service Connect (PSC) is enabled for the instance.
// The name of the resource will be in the format of
// `projects/<alloydb-tenant-project-number>/regions/<region-name>/serviceAttachments/<service-attachment-name>`
string service_attachment_link = 1
[(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. List of consumer projects that are allowed to create
// PSC endpoints to service-attachments to this instance.
repeated string allowed_consumer_projects = 2
[(google.api.field_behavior) = OPTIONAL];
// Output only. The DNS name of the instance for PSC connectivity.
// Name convention: <uid>.<uid>.<region>.alloydb-psc.goog
string psc_dns_name = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Metadata related to instance-level network configuration.
message InstanceNetworkConfig {
// AuthorizedNetwork contains metadata for an authorized network.
message AuthorizedNetwork {
// CIDR range for one authorzied network of the instance.
string cidr_range = 1 [(google.api.field_info).format = IPV4];
}
// Optional. A list of external network authorized to access this instance.
repeated AuthorizedNetwork authorized_external_networks = 1
[(google.api.field_behavior) = OPTIONAL];
// Optional. Enabling public ip for the instance.
bool enable_public_ip = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. Enabling an outbound public IP address to support a database
// server sending requests out into the internet.
bool enable_outbound_public_ip = 3 [(google.api.field_behavior) = OPTIONAL];
}
// Instance State
enum State {
// The state of the instance is unknown.
@ -843,6 +994,14 @@ message Instance {
// This is the connection endpoint for an end-user application.
string ip_address = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The public IP addresses for the Instance. This is available
// ONLY when enable_public_ip is set. This is the connection endpoint for an
// end-user application.
string public_ip_address = 27 [
(google.api.field_info).format = IPV4,
(google.api.field_behavior) = OUTPUT_ONLY
];
// Output only. Reconciling (https://google.aip.dev/128#reconciliation).
// Set to true if the current state of Instance does not match the user's
// intended state, and the service is actively updating the resource to
@ -861,6 +1020,24 @@ message Instance {
// Optional. Client connection specific configurations
ClientConnectionConfig client_connection_config = 23
[(google.api.field_behavior) = OPTIONAL];
// Output only. Reserved for future use.
bool satisfies_pzs = 24 [(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. The configuration for Private Service Connect (PSC) for the
// instance.
PscInstanceConfig psc_instance_config = 28
[(google.api.field_behavior) = OPTIONAL];
// Optional. Instance-level network configuration.
InstanceNetworkConfig network_config = 29
[(google.api.field_behavior) = OPTIONAL];
// Output only. All outbound public IP addresses configured for the instance.
repeated string outbound_public_ip_addresses = 34 [
(google.api.field_info).format = IPV4,
(google.api.field_behavior) = OUTPUT_ONLY
];
}
// ConnectionInfo singleton resource.
@ -869,6 +1046,8 @@ message ConnectionInfo {
option (google.api.resource) = {
type: "alloydb.googleapis.com/ConnectionInfo"
pattern: "projects/{project}/locations/{location}/clusters/{cluster}/instances/{instance}/connectionInfo"
plural: "connectionInfos"
singular: "connectionInfo"
};
// The name of the ConnectionInfo singleton resource, e.g.:
@ -881,6 +1060,14 @@ message ConnectionInfo {
// 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 public IP addresses for the Instance. This is available
// ONLY when enable_public_ip is set. This is the connection endpoint for an
// end-user application.
string public_ip_address = 5 [
(google.api.field_info).format = IPV4,
(google.api.field_behavior) = OUTPUT_ONLY
];
// Output only. The unique ID of the Instance.
string instance_uid = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
}
@ -890,6 +1077,8 @@ message Backup {
option (google.api.resource) = {
type: "alloydb.googleapis.com/Backup"
pattern: "projects/{project}/locations/{location}/backups/{backup}"
plural: "backups"
singular: "backup"
style: DECLARATIVE_FRIENDLY
};
@ -1045,11 +1234,26 @@ message Backup {
QuantityBasedExpiry expiry_quantity = 20
[(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Reserved for future use.
bool satisfies_pzs = 21 [(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];
// Optional. Input only. Immutable. Tag keys/values directly bound to this
// resource. For example:
// ```
// "123/environment": "production",
// "123/costCenter": "marketing"
// ```
map<string, string> tags = 25 [
(google.api.field_behavior) = INPUT_ONLY,
(google.api.field_behavior) = IMMUTABLE,
(google.api.field_behavior) = OPTIONAL
];
}
// SupportedDatabaseFlag gives general information about a database flag,
@ -1061,6 +1265,8 @@ message SupportedDatabaseFlag {
option (google.api.resource) = {
type: "alloydb.googleapis.com/SupportedDatabaseFlag"
pattern: "projects/{project}/locations/{location}/flags/{flag}"
plural: "supportedDatabaseFlags"
singular: "supportedDatabaseFlag"
};
// Restrictions on STRING type values
@ -1138,6 +1344,8 @@ message User {
option (google.api.resource) = {
type: "alloydb.googleapis.com/User"
pattern: "projects/{project}/locations/{location}/clusters/{cluster}/users/{user}"
plural: "users"
singular: "user"
style: DECLARATIVE_FRIENDLY
};
@ -1167,4 +1375,33 @@ message User {
// Optional. Type of this user.
UserType user_type = 5 [(google.api.field_behavior) = OPTIONAL];
// Input only. If the user already exists and it has additional roles, keep
// them granted.
bool keep_extra_roles = 6 [(google.api.field_behavior) = INPUT_ONLY];
}
// Message describing Database object.
message Database {
option (google.api.resource) = {
type: "alloydb.googleapis.com/Database"
pattern: "projects/{project}/locations/{location}/clusters/{cluster}/databases/{database}"
plural: "databases"
singular: "database"
style: DECLARATIVE_FRIENDLY
};
// Identifier. Name of the resource in the form of
// `projects/{project}/locations/{location}/clusters/{cluster}/databases/{database}`.
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
// Optional. Charset for the database.
// This field can contain any PostgreSQL supported charset name.
// Example values include "UTF8", "SQL_ASCII", etc.
string charset = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. Collation for the database.
// Name of the custom or native collation for postgres.
// Example values include "C", "POSIX", etc
string collation = 3 [(google.api.field_behavior) = OPTIONAL];
}

View file

@ -19,7 +19,9 @@ package google.cloud.alloydb.v1;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/field_info.proto";
import "google/api/resource.proto";
import "google/cloud/alloydb/v1/data_model.proto";
import "google/cloud/alloydb/v1/resources.proto";
import "google/longrunning/operations.proto";
import "google/protobuf/duration.proto";
@ -116,6 +118,22 @@ service AlloyDBAdmin {
};
}
// Switches the roles of PRIMARY and SECONDARY clusters without any data loss.
// This promotes the SECONDARY cluster to PRIMARY and sets up the original
// PRIMARY cluster to replicate from this newly promoted cluster.
rpc SwitchoverCluster(SwitchoverClusterRequest)
returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1/{name=projects/*/locations/*/clusters/*}:switchover"
body: "*"
};
option (google.api.method_signature) = "name";
option (google.longrunning.operation_info) = {
response_type: "Cluster"
metadata_type: "OperationMetadata"
};
}
// Creates a new Cluster in a given project and location, with a volume
// restored from the provided source, either a backup ID or a point-in-time
// and a source cluster.
@ -284,6 +302,16 @@ service AlloyDBAdmin {
};
}
// Executes a SQL statement in a database inside an AlloyDB instance.
rpc ExecuteSql(ExecuteSqlRequest) returns (ExecuteSqlResponse) {
option (google.api.http) = {
post: "/v1/{instance=projects/*/locations/*/clusters/*/instances/*}:executeSql"
body: "*"
};
option (google.api.method_signature) =
"instance,database,user,sql_statement,password";
}
// Lists Backups in a given project and location.
rpc ListBackups(ListBackupsRequest) returns (ListBackupsResponse) {
option (google.api.http) = {
@ -410,6 +438,14 @@ service AlloyDBAdmin {
};
option (google.api.method_signature) = "name";
}
// Lists Databases in a given project and location.
rpc ListDatabases(ListDatabasesRequest) returns (ListDatabasesResponse) {
option (google.api.http) = {
get: "/v1/{parent=projects/*/locations/*/clusters/*}/databases"
};
option (google.api.method_signature) = "parent";
}
}
// Message for requesting list of Clusters
@ -482,23 +518,23 @@ message CreateSecondaryClusterRequest {
Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 5 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the create
// request.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 6 [(google.api.field_behavior) = OPTIONAL];
}
@ -520,23 +556,23 @@ message CreateClusterRequest {
Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the create
// request.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
}
@ -554,23 +590,23 @@ message UpdateClusterRequest {
Cluster cluster = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the update
// request.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set to true, update succeeds even if cluster is not found. In
@ -588,14 +624,14 @@ message DeleteClusterRequest {
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes after the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
@ -607,14 +643,45 @@ message DeleteClusterRequest {
// deletion will be blocked and an ABORTED error will be returned.
string etag = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the delete.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. Whether to cascade delete child instances for given cluster.
bool force = 5 [(google.api.field_behavior) = OPTIONAL];
}
// Message for switching over to a cluster
message SwitchoverClusterRequest {
// Required. The name of the resource. For the required format, see the
// comment on the Cluster.name field
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = { type: "alloydb.googleapis.com/Cluster" }
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL];
}
// Message for promoting a Cluster
message PromoteClusterRequest {
// Required. The name of the resource. For the required format, see the
@ -625,9 +692,9 @@ message PromoteClusterRequest {
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes after the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
@ -644,8 +711,9 @@ message PromoteClusterRequest {
// deletion will be blocked and an ABORTED error will be returned.
string etag = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the delete.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
}
@ -679,23 +747,23 @@ message RestoreClusterRequest {
Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 5 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the import
// request.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 6 [(google.api.field_behavior) = OPTIONAL];
}
@ -773,23 +841,23 @@ message CreateInstanceRequest {
Instance instance = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the create
// request.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
}
@ -811,23 +879,23 @@ message CreateSecondaryInstanceRequest {
Instance instance = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the create
// request.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
}
@ -853,14 +921,14 @@ message BatchCreateInstancesRequest {
CreateInstanceRequests requests = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
@ -916,7 +984,7 @@ message BatchCreateInstanceStatus {
STATE_UNSPECIFIED = 0;
// Instance is pending creation and has not yet been picked up for
// processsing in the backend.
// processing in the backend.
PENDING_CREATE = 1;
// The instance is active and running.
@ -972,23 +1040,23 @@ message UpdateInstanceRequest {
Instance instance = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the update
// request.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set to true, update succeeds even if instance is not found. In
@ -1008,14 +1076,14 @@ message DeleteInstanceRequest {
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes after the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
@ -1027,8 +1095,9 @@ message DeleteInstanceRequest {
// deletion will be blocked and an ABORTED error will be returned.
string etag = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the delete.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
}
@ -1044,22 +1113,23 @@ message FailoverInstanceRequest {
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes after the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the failover.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL];
}
@ -1088,23 +1158,23 @@ message InjectFaultRequest {
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes after the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the fault
// injection.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
}
@ -1119,23 +1189,113 @@ message RestartInstanceRequest {
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes after the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
// not supported (00000000-0000-0000-0000-000000000000).
string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. If set, performs request validation (e.g. permission checks and
// any other type of validation), but do not actually execute the restart.
// Optional. If set, performs request validation, for example, permission
// checks and any other type of validation, but does not actually execute the
// create request.
bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. Full name of the nodes as obtained from INSTANCE_VIEW_FULL to
// restart upon. Applicable only to read instances.
repeated string node_ids = 4 [(google.api.field_behavior) = OPTIONAL];
}
// Request for ExecuteSql rpc.
message ExecuteSqlRequest {
// Oneof field to support other credential mechanisms in future like
// SecretManager etc.
oneof user_credential {
// Optional. The database native users password.
string password = 5 [(google.api.field_behavior) = OPTIONAL];
}
// Required. The instance where the SQL will be executed. For the required
// format, see the comment on the Instance.name field.
string instance = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "alloydb.googleapis.com/Instance"
}
];
// Required. Name of the database where the query will be executed.
// Note - Value provided should be the same as expected from `SELECT
// current_database();` and NOT as a resource reference.
string database = 2 [(google.api.field_behavior) = REQUIRED];
// Required. Database user to be used for executing the SQL.
// Note - Value provided should be the same as expected from
// `SELECT current_user;` and NOT as a resource reference.
string user = 3 [(google.api.field_behavior) = REQUIRED];
// Required. SQL statement to execute on database. Any valid statement is
// permitted, including DDL, DML, DQL statements.
string sql_statement = 4 [(google.api.field_behavior) = REQUIRED];
}
// Execute a SQL statement response.
message ExecuteSqlResponse {
// SqlResult represents the results for the execution of sql statements.
repeated SqlResult sql_results = 1;
// Any additional metadata information regarding the execution of the sql
// statement.
ExecuteSqlMetadata metadata = 3;
}
// Any additional metadata information regarding the execution of the SQL
message ExecuteSqlMetadata {
// Status contains all valid Status a SQL execution can end up in.
enum Status {
// The status is unknown.
STATUS_UNSPECIFIED = 0;
// No error during SQL execution i.e. All SQL statements ran to completion.
// The "message" will be empty.
OK = 1;
// Same as OK, except indicates that only partial results were
// returned. The "message" field will contain details on why results were
// truncated.
PARTIAL = 2;
// Error during SQL execution. Atleast 1 SQL statement execution resulted in
// a error. Side effects of other statements are rolled back. The "message"
// field will contain human readable error given by Postgres of the first
// bad SQL statement. SQL execution errors don't constitute API errors as
// defined in https://google.aip.dev/193 but will be returned as part of
// this message.
ERROR = 3;
}
// Message related to SQL execution. Marked as core content since it
// can potentially contain details related to the query or result set. This
// field can be used to convey messages such as "when the SQL result set
// exceeds the acceptable response size limits."
string message = 1;
// Set to true if SQL returned a result set larger than the acceptable
// response size limits and the result was truncated.
bool partial_result = 2;
// The time duration taken to execute the sql statement.
google.protobuf.Duration sql_statement_execution_duration = 3;
// Status of SQL execution.
Status status = 4;
}
// Message for requesting list of Backups
@ -1200,14 +1360,14 @@ message CreateBackupRequest {
Backup backup = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
@ -1233,14 +1393,14 @@ message UpdateBackupRequest {
Backup backup = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
@ -1266,14 +1426,14 @@ message DeleteBackupRequest {
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes after the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
@ -1334,14 +1494,14 @@ message GenerateClientCertificateRequest {
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes after the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
@ -1388,14 +1548,14 @@ message GetConnectionInfoRequest {
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes after the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
@ -1503,14 +1663,14 @@ message CreateUserRequest {
User user = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
@ -1536,14 +1696,14 @@ message UpdateUserRequest {
User user = 2 [(google.api.field_behavior) = REQUIRED];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes since the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
@ -1568,14 +1728,14 @@ message DeleteUserRequest {
];
// Optional. An optional request ID to identify requests. Specify a unique
// request ID so that if you must retry your request, the server will know to
// ignore the request if it has already been completed. The server will
// guarantee that for at least 60 minutes after the first request.
// request ID so that if you must retry your request, the server ignores the
// request if it has already been completed. The server guarantees that for at
// least 60 minutes since the first request.
//
// For example, consider a situation where you make an initial request and
// the request times out. If you make the request again with the same request
// ID, the server can check if original operation with the same request ID
// was received, and if so, will ignore the second request. This prevents
// ID, the server can check if the original operation with the same request ID
// was received, and if so, ignores the second request. This prevents
// clients from accidentally creating duplicate commitments.
//
// The request ID must be a valid UUID with the exception that zero UUID is
@ -1586,3 +1746,39 @@ message DeleteUserRequest {
// execute it.
bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL];
}
// Message for requesting list of Databases.
message ListDatabasesRequest {
// Required. Parent value for ListDatabasesRequest.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
child_type: "alloydb.googleapis.com/Database"
}
];
// Optional. The maximum number of databases to return. The service may return
// fewer than this value. If unspecified, 2000 is the default page_size. The
// max value of page_size will be 4000, values above max will be coerced to
// max.
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. A page token, received from a previous `ListDatabases` call.
// This should be provided to retrieve the subsequent page.
// This field is currently not supported, its value will be ignored if passed.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. Filtering results.
// This field is currently not supported, its value will be ignored if passed.
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
}
// Message for response to listing Databases.
message ListDatabasesResponse {
// The list of databases
repeated Database databases = 1;
// A token identifying the next page of results the server should return.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
}