1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.alloydb.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/duration.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/wrappers.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/type/dayofweek.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/type/timeofday.proto"; 26*d5c09012SAndroid Build Coastguard Worker 27*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.AlloyDb.V1"; 28*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/alloydb/apiv1/alloydbpb;alloydbpb"; 29*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 30*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ResourcesProto"; 31*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.alloydb.v1"; 32*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\AlloyDb\\V1"; 33*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::AlloyDB::V1"; 34*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 35*d5c09012SAndroid Build Coastguard Worker type: "cloudkms.googleapis.com/CryptoKeyVersion" 36*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}" 37*d5c09012SAndroid Build Coastguard Worker}; 38*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 39*d5c09012SAndroid Build Coastguard Worker type: "compute.googleapis.com/Network" 40*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/global/networks/{network}" 41*d5c09012SAndroid Build Coastguard Worker}; 42*d5c09012SAndroid Build Coastguard Worker 43*d5c09012SAndroid Build Coastguard Worker// View on Instance. Pass this enum to rpcs that returns an Instance message to 44*d5c09012SAndroid Build Coastguard Worker// control which subsets of fields to get. 45*d5c09012SAndroid Build Coastguard Workerenum InstanceView { 46*d5c09012SAndroid Build Coastguard Worker // INSTANCE_VIEW_UNSPECIFIED Not specified, equivalent to BASIC. 47*d5c09012SAndroid Build Coastguard Worker INSTANCE_VIEW_UNSPECIFIED = 0; 48*d5c09012SAndroid Build Coastguard Worker 49*d5c09012SAndroid Build Coastguard Worker // BASIC server responses for a primary or read instance include all the 50*d5c09012SAndroid Build Coastguard Worker // relevant instance details, excluding the details of each node in the 51*d5c09012SAndroid Build Coastguard Worker // instance. The default value. 52*d5c09012SAndroid Build Coastguard Worker INSTANCE_VIEW_BASIC = 1; 53*d5c09012SAndroid Build Coastguard Worker 54*d5c09012SAndroid Build Coastguard Worker // FULL response is equivalent to BASIC for primary instance (for now). 55*d5c09012SAndroid Build Coastguard Worker // For read pool instance, this includes details of each node in the pool. 56*d5c09012SAndroid Build Coastguard Worker INSTANCE_VIEW_FULL = 2; 57*d5c09012SAndroid Build Coastguard Worker} 58*d5c09012SAndroid Build Coastguard Worker 59*d5c09012SAndroid Build Coastguard Worker// View on Cluster. Pass this enum to rpcs that returns a cluster message to 60*d5c09012SAndroid Build Coastguard Worker// control which subsets of fields to get. 61*d5c09012SAndroid Build Coastguard Workerenum ClusterView { 62*d5c09012SAndroid Build Coastguard Worker // CLUSTER_VIEW_UNSPECIFIED Not specified, equivalent to BASIC. 63*d5c09012SAndroid Build Coastguard Worker CLUSTER_VIEW_UNSPECIFIED = 0; 64*d5c09012SAndroid Build Coastguard Worker 65*d5c09012SAndroid Build Coastguard Worker // BASIC server responses include all the relevant cluster details, excluding 66*d5c09012SAndroid Build Coastguard Worker // Cluster.ContinuousBackupInfo.EarliestRestorableTime and other view-specific 67*d5c09012SAndroid Build Coastguard Worker // fields. The default value. 68*d5c09012SAndroid Build Coastguard Worker CLUSTER_VIEW_BASIC = 1; 69*d5c09012SAndroid Build Coastguard Worker 70*d5c09012SAndroid Build Coastguard Worker // CONTINUOUS_BACKUP response returns all the fields from BASIC plus 71*d5c09012SAndroid Build Coastguard Worker // the earliest restorable time if continuous backups are enabled. 72*d5c09012SAndroid Build Coastguard Worker // May increase latency. 73*d5c09012SAndroid Build Coastguard Worker CLUSTER_VIEW_CONTINUOUS_BACKUP = 2; 74*d5c09012SAndroid Build Coastguard Worker} 75*d5c09012SAndroid Build Coastguard Worker 76*d5c09012SAndroid Build Coastguard Worker// The supported database engine versions. 77*d5c09012SAndroid Build Coastguard Workerenum DatabaseVersion { 78*d5c09012SAndroid Build Coastguard Worker // This is an unknown database version. 79*d5c09012SAndroid Build Coastguard Worker DATABASE_VERSION_UNSPECIFIED = 0; 80*d5c09012SAndroid Build Coastguard Worker 81*d5c09012SAndroid Build Coastguard Worker // DEPRECATED - The database version is Postgres 13. 82*d5c09012SAndroid Build Coastguard Worker POSTGRES_13 = 1 [deprecated = true]; 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker // The database version is Postgres 14. 85*d5c09012SAndroid Build Coastguard Worker POSTGRES_14 = 2; 86*d5c09012SAndroid Build Coastguard Worker} 87*d5c09012SAndroid Build Coastguard Worker 88*d5c09012SAndroid Build Coastguard Worker// The username/password for a database user. Used for specifying initial 89*d5c09012SAndroid Build Coastguard Worker// users at cluster creation time. 90*d5c09012SAndroid Build Coastguard Workermessage UserPassword { 91*d5c09012SAndroid Build Coastguard Worker // The database username. 92*d5c09012SAndroid Build Coastguard Worker string user = 1; 93*d5c09012SAndroid Build Coastguard Worker 94*d5c09012SAndroid Build Coastguard Worker // The initial password for the user. 95*d5c09012SAndroid Build Coastguard Worker string password = 2; 96*d5c09012SAndroid Build Coastguard Worker} 97*d5c09012SAndroid Build Coastguard Worker 98*d5c09012SAndroid Build Coastguard Worker// Subset of the source instance configuration that is available when reading 99*d5c09012SAndroid Build Coastguard Worker// the cluster resource. 100*d5c09012SAndroid Build Coastguard Workermessage MigrationSource { 101*d5c09012SAndroid Build Coastguard Worker // Denote the type of migration source that created this cluster. 102*d5c09012SAndroid Build Coastguard Worker enum MigrationSourceType { 103*d5c09012SAndroid Build Coastguard Worker // Migration source is unknown. 104*d5c09012SAndroid Build Coastguard Worker MIGRATION_SOURCE_TYPE_UNSPECIFIED = 0; 105*d5c09012SAndroid Build Coastguard Worker 106*d5c09012SAndroid Build Coastguard Worker // DMS source means the cluster was created via DMS migration job. 107*d5c09012SAndroid Build Coastguard Worker DMS = 1; 108*d5c09012SAndroid Build Coastguard Worker } 109*d5c09012SAndroid Build Coastguard Worker 110*d5c09012SAndroid Build Coastguard Worker // Output only. The host and port of the on-premises instance in host:port 111*d5c09012SAndroid Build Coastguard Worker // format 112*d5c09012SAndroid Build Coastguard Worker string host_port = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 113*d5c09012SAndroid Build Coastguard Worker 114*d5c09012SAndroid Build Coastguard Worker // Output only. Place holder for the external source identifier(e.g DMS job 115*d5c09012SAndroid Build Coastguard Worker // name) that created the cluster. 116*d5c09012SAndroid Build Coastguard Worker string reference_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 117*d5c09012SAndroid Build Coastguard Worker 118*d5c09012SAndroid Build Coastguard Worker // Output only. Type of migration source. 119*d5c09012SAndroid Build Coastguard Worker MigrationSourceType source_type = 3 120*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 121*d5c09012SAndroid Build Coastguard Worker} 122*d5c09012SAndroid Build Coastguard Worker 123*d5c09012SAndroid Build Coastguard Worker// EncryptionConfig describes the encryption config of a cluster or a backup 124*d5c09012SAndroid Build Coastguard Worker// that is encrypted with a CMEK (customer-managed encryption key). 125*d5c09012SAndroid Build Coastguard Workermessage EncryptionConfig { 126*d5c09012SAndroid Build Coastguard Worker // The fully-qualified resource name of the KMS key. 127*d5c09012SAndroid Build Coastguard Worker // Each Cloud KMS key is regionalized and has the following format: 128*d5c09012SAndroid Build Coastguard Worker // projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME] 129*d5c09012SAndroid Build Coastguard Worker string kms_key_name = 1; 130*d5c09012SAndroid Build Coastguard Worker} 131*d5c09012SAndroid Build Coastguard Worker 132*d5c09012SAndroid Build Coastguard Worker// EncryptionInfo describes the encryption information of a cluster or a backup. 133*d5c09012SAndroid Build Coastguard Workermessage EncryptionInfo { 134*d5c09012SAndroid Build Coastguard Worker // Possible encryption types. 135*d5c09012SAndroid Build Coastguard Worker enum Type { 136*d5c09012SAndroid Build Coastguard Worker // Encryption type not specified. Defaults to GOOGLE_DEFAULT_ENCRYPTION. 137*d5c09012SAndroid Build Coastguard Worker TYPE_UNSPECIFIED = 0; 138*d5c09012SAndroid Build Coastguard Worker 139*d5c09012SAndroid Build Coastguard Worker // The data is encrypted at rest with a key that is fully managed by Google. 140*d5c09012SAndroid Build Coastguard Worker // No key version will be populated. This is the default state. 141*d5c09012SAndroid Build Coastguard Worker GOOGLE_DEFAULT_ENCRYPTION = 1; 142*d5c09012SAndroid Build Coastguard Worker 143*d5c09012SAndroid Build Coastguard Worker // The data is encrypted at rest with a key that is managed by the customer. 144*d5c09012SAndroid Build Coastguard Worker // KMS key versions will be populated. 145*d5c09012SAndroid Build Coastguard Worker CUSTOMER_MANAGED_ENCRYPTION = 2; 146*d5c09012SAndroid Build Coastguard Worker } 147*d5c09012SAndroid Build Coastguard Worker 148*d5c09012SAndroid Build Coastguard Worker // Output only. Type of encryption. 149*d5c09012SAndroid Build Coastguard Worker Type encryption_type = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 150*d5c09012SAndroid Build Coastguard Worker 151*d5c09012SAndroid Build Coastguard Worker // Output only. Cloud KMS key versions that are being used to protect the 152*d5c09012SAndroid Build Coastguard Worker // database or the backup. 153*d5c09012SAndroid Build Coastguard Worker repeated string kms_key_versions = 2 [ 154*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY, 155*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 156*d5c09012SAndroid Build Coastguard Worker type: "cloudkms.googleapis.com/CryptoKeyVersion" 157*d5c09012SAndroid Build Coastguard Worker } 158*d5c09012SAndroid Build Coastguard Worker ]; 159*d5c09012SAndroid Build Coastguard Worker} 160*d5c09012SAndroid Build Coastguard Worker 161*d5c09012SAndroid Build Coastguard Worker// SSL configuration. 162*d5c09012SAndroid Build Coastguard Workermessage SslConfig { 163*d5c09012SAndroid Build Coastguard Worker // SSL mode options. 164*d5c09012SAndroid Build Coastguard Worker enum SslMode { 165*d5c09012SAndroid Build Coastguard Worker // SSL mode not specified. Defaults to ENCRYPTED_ONLY. 166*d5c09012SAndroid Build Coastguard Worker SSL_MODE_UNSPECIFIED = 0; 167*d5c09012SAndroid Build Coastguard Worker 168*d5c09012SAndroid Build Coastguard Worker // SSL connections are optional. CA verification not enforced. 169*d5c09012SAndroid Build Coastguard Worker SSL_MODE_ALLOW = 1 [deprecated = true]; 170*d5c09012SAndroid Build Coastguard Worker 171*d5c09012SAndroid Build Coastguard Worker // SSL connections are required. CA verification not enforced. 172*d5c09012SAndroid Build Coastguard Worker // Clients may use locally self-signed certificates (default psql client 173*d5c09012SAndroid Build Coastguard Worker // behavior). 174*d5c09012SAndroid Build Coastguard Worker SSL_MODE_REQUIRE = 2 [deprecated = true]; 175*d5c09012SAndroid Build Coastguard Worker 176*d5c09012SAndroid Build Coastguard Worker // SSL connections are required. CA verification enforced. 177*d5c09012SAndroid Build Coastguard Worker // Clients must have certificates signed by a Cluster CA, e.g. via 178*d5c09012SAndroid Build Coastguard Worker // GenerateClientCertificate. 179*d5c09012SAndroid Build Coastguard Worker SSL_MODE_VERIFY_CA = 3 [deprecated = true]; 180*d5c09012SAndroid Build Coastguard Worker 181*d5c09012SAndroid Build Coastguard Worker // SSL connections are optional. CA verification not enforced. 182*d5c09012SAndroid Build Coastguard Worker ALLOW_UNENCRYPTED_AND_ENCRYPTED = 4; 183*d5c09012SAndroid Build Coastguard Worker 184*d5c09012SAndroid Build Coastguard Worker // SSL connections are required. CA verification not enforced. 185*d5c09012SAndroid Build Coastguard Worker ENCRYPTED_ONLY = 5; 186*d5c09012SAndroid Build Coastguard Worker } 187*d5c09012SAndroid Build Coastguard Worker 188*d5c09012SAndroid Build Coastguard Worker // Certificate Authority (CA) source for SSL/TLS certificates. 189*d5c09012SAndroid Build Coastguard Worker enum CaSource { 190*d5c09012SAndroid Build Coastguard Worker // Certificate Authority (CA) source not specified. Defaults to 191*d5c09012SAndroid Build Coastguard Worker // CA_SOURCE_MANAGED. 192*d5c09012SAndroid Build Coastguard Worker CA_SOURCE_UNSPECIFIED = 0; 193*d5c09012SAndroid Build Coastguard Worker 194*d5c09012SAndroid Build Coastguard Worker // Certificate Authority (CA) managed by the AlloyDB Cluster. 195*d5c09012SAndroid Build Coastguard Worker CA_SOURCE_MANAGED = 1; 196*d5c09012SAndroid Build Coastguard Worker } 197*d5c09012SAndroid Build Coastguard Worker 198*d5c09012SAndroid Build Coastguard Worker // Optional. SSL mode. Specifies client-server SSL/TLS connection behavior. 199*d5c09012SAndroid Build Coastguard Worker SslMode ssl_mode = 1 [(google.api.field_behavior) = OPTIONAL]; 200*d5c09012SAndroid Build Coastguard Worker 201*d5c09012SAndroid Build Coastguard Worker // Optional. Certificate Authority (CA) source. Only CA_SOURCE_MANAGED is 202*d5c09012SAndroid Build Coastguard Worker // supported currently, and is the default value. 203*d5c09012SAndroid Build Coastguard Worker CaSource ca_source = 2 [(google.api.field_behavior) = OPTIONAL]; 204*d5c09012SAndroid Build Coastguard Worker} 205*d5c09012SAndroid Build Coastguard Worker 206*d5c09012SAndroid Build Coastguard Worker// Message describing the user-specified automated backup policy. 207*d5c09012SAndroid Build Coastguard Worker// 208*d5c09012SAndroid Build Coastguard Worker// All fields in the automated backup policy are optional. Defaults for each 209*d5c09012SAndroid Build Coastguard Worker// field are provided if they are not set. 210*d5c09012SAndroid Build Coastguard Workermessage AutomatedBackupPolicy { 211*d5c09012SAndroid Build Coastguard Worker // A weekly schedule starts a backup at prescribed start times within a 212*d5c09012SAndroid Build Coastguard Worker // day, for the specified days of the week. 213*d5c09012SAndroid Build Coastguard Worker // 214*d5c09012SAndroid Build Coastguard Worker // The weekly schedule message is flexible and can be used to create many 215*d5c09012SAndroid Build Coastguard Worker // types of schedules. For example, to have a daily backup that starts at 216*d5c09012SAndroid Build Coastguard Worker // 22:00, configure the `start_times` field to have one element "22:00" and 217*d5c09012SAndroid Build Coastguard Worker // the `days_of_week` field to have all seven days of the week. 218*d5c09012SAndroid Build Coastguard Worker message WeeklySchedule { 219*d5c09012SAndroid Build Coastguard Worker // The times during the day to start a backup. The start times are assumed 220*d5c09012SAndroid Build Coastguard Worker // to be in UTC and to be an exact hour (e.g., 04:00:00). 221*d5c09012SAndroid Build Coastguard Worker // 222*d5c09012SAndroid Build Coastguard Worker // If no start times are provided, a single fixed start time is chosen 223*d5c09012SAndroid Build Coastguard Worker // arbitrarily. 224*d5c09012SAndroid Build Coastguard Worker repeated google.type.TimeOfDay start_times = 1; 225*d5c09012SAndroid Build Coastguard Worker 226*d5c09012SAndroid Build Coastguard Worker // The days of the week to perform a backup. 227*d5c09012SAndroid Build Coastguard Worker // 228*d5c09012SAndroid Build Coastguard Worker // If this field is left empty, the default of every day of the week is 229*d5c09012SAndroid Build Coastguard Worker // used. 230*d5c09012SAndroid Build Coastguard Worker repeated google.type.DayOfWeek days_of_week = 2; 231*d5c09012SAndroid Build Coastguard Worker } 232*d5c09012SAndroid Build Coastguard Worker 233*d5c09012SAndroid Build Coastguard Worker // A time based retention policy specifies that all backups within a certain 234*d5c09012SAndroid Build Coastguard Worker // time period should be retained. 235*d5c09012SAndroid Build Coastguard Worker message TimeBasedRetention { 236*d5c09012SAndroid Build Coastguard Worker // The retention period. 237*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration retention_period = 1; 238*d5c09012SAndroid Build Coastguard Worker } 239*d5c09012SAndroid Build Coastguard Worker 240*d5c09012SAndroid Build Coastguard Worker // A quantity based policy specifies that a certain number of the most recent 241*d5c09012SAndroid Build Coastguard Worker // successful backups should be retained. 242*d5c09012SAndroid Build Coastguard Worker message QuantityBasedRetention { 243*d5c09012SAndroid Build Coastguard Worker // The number of backups to retain. 244*d5c09012SAndroid Build Coastguard Worker int32 count = 1; 245*d5c09012SAndroid Build Coastguard Worker } 246*d5c09012SAndroid Build Coastguard Worker 247*d5c09012SAndroid Build Coastguard Worker // The schedule for this automated backup policy. 248*d5c09012SAndroid Build Coastguard Worker // 249*d5c09012SAndroid Build Coastguard Worker // A schedule specifies times at which to start a backup. If a backup 250*d5c09012SAndroid Build Coastguard Worker // window is also provided, the backup is guaranteed to be started and 251*d5c09012SAndroid Build Coastguard Worker // completed within the start time plus the backup window. If the backup is 252*d5c09012SAndroid Build Coastguard Worker // not completed within the backup window it is marked as failed. 253*d5c09012SAndroid Build Coastguard Worker // 254*d5c09012SAndroid Build Coastguard Worker // If not set, the schedule defaults to a weekly schedule with one backup 255*d5c09012SAndroid Build Coastguard Worker // per day and a start time chosen arbitrarily. 256*d5c09012SAndroid Build Coastguard Worker oneof schedule { 257*d5c09012SAndroid Build Coastguard Worker // Weekly schedule for the Backup. 258*d5c09012SAndroid Build Coastguard Worker WeeklySchedule weekly_schedule = 2; 259*d5c09012SAndroid Build Coastguard Worker } 260*d5c09012SAndroid Build Coastguard Worker 261*d5c09012SAndroid Build Coastguard Worker // The retention policy for automated backups. 262*d5c09012SAndroid Build Coastguard Worker // 263*d5c09012SAndroid Build Coastguard Worker // The retention policy for a backup is fixed at the time the backup is 264*d5c09012SAndroid Build Coastguard Worker // created. Changes to this field only apply to new backups taken with the 265*d5c09012SAndroid Build Coastguard Worker // policy; the retentions of existing backups remain unchanged. 266*d5c09012SAndroid Build Coastguard Worker // 267*d5c09012SAndroid Build Coastguard Worker // If no retention policy is set, a default of 14 days is used. 268*d5c09012SAndroid Build Coastguard Worker oneof retention { 269*d5c09012SAndroid Build Coastguard Worker // Time-based Backup retention policy. 270*d5c09012SAndroid Build Coastguard Worker TimeBasedRetention time_based_retention = 4; 271*d5c09012SAndroid Build Coastguard Worker 272*d5c09012SAndroid Build Coastguard Worker // Quantity-based Backup retention policy to retain recent backups. 273*d5c09012SAndroid Build Coastguard Worker QuantityBasedRetention quantity_based_retention = 5; 274*d5c09012SAndroid Build Coastguard Worker } 275*d5c09012SAndroid Build Coastguard Worker 276*d5c09012SAndroid Build Coastguard Worker // Whether automated automated backups are enabled. If not set, defaults to 277*d5c09012SAndroid Build Coastguard Worker // true. 278*d5c09012SAndroid Build Coastguard Worker optional bool enabled = 1; 279*d5c09012SAndroid Build Coastguard Worker 280*d5c09012SAndroid Build Coastguard Worker // The length of the time window during which a backup can be 281*d5c09012SAndroid Build Coastguard Worker // taken. If a backup does not succeed within this time window, it will be 282*d5c09012SAndroid Build Coastguard Worker // canceled and considered failed. 283*d5c09012SAndroid Build Coastguard Worker // 284*d5c09012SAndroid Build Coastguard Worker // The backup window must be at least 5 minutes long. There is no upper bound 285*d5c09012SAndroid Build Coastguard Worker // on the window. If not set, it defaults to 1 hour. 286*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration backup_window = 3; 287*d5c09012SAndroid Build Coastguard Worker 288*d5c09012SAndroid Build Coastguard Worker // Optional. The encryption config can be specified to encrypt the 289*d5c09012SAndroid Build Coastguard Worker // backups with a customer-managed encryption key (CMEK). When this field is 290*d5c09012SAndroid Build Coastguard Worker // not specified, the backup will then use default encryption scheme to 291*d5c09012SAndroid Build Coastguard Worker // protect the user data. 292*d5c09012SAndroid Build Coastguard Worker EncryptionConfig encryption_config = 8 293*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 294*d5c09012SAndroid Build Coastguard Worker 295*d5c09012SAndroid Build Coastguard Worker // The location where the backup will be stored. Currently, the only supported 296*d5c09012SAndroid Build Coastguard Worker // option is to store the backup in the same region as the cluster. 297*d5c09012SAndroid Build Coastguard Worker // 298*d5c09012SAndroid Build Coastguard Worker // If empty, defaults to the region of the cluster. 299*d5c09012SAndroid Build Coastguard Worker string location = 6; 300*d5c09012SAndroid Build Coastguard Worker 301*d5c09012SAndroid Build Coastguard Worker // Labels to apply to backups created using this configuration. 302*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 7; 303*d5c09012SAndroid Build Coastguard Worker} 304*d5c09012SAndroid Build Coastguard Worker 305*d5c09012SAndroid Build Coastguard Worker// ContinuousBackupConfig describes the continuous backups recovery 306*d5c09012SAndroid Build Coastguard Worker// configurations of a cluster. 307*d5c09012SAndroid Build Coastguard Workermessage ContinuousBackupConfig { 308*d5c09012SAndroid Build Coastguard Worker // Whether ContinuousBackup is enabled. 309*d5c09012SAndroid Build Coastguard Worker optional bool enabled = 1; 310*d5c09012SAndroid Build Coastguard Worker 311*d5c09012SAndroid Build Coastguard Worker // The number of days that are eligible to restore from using PITR. To support 312*d5c09012SAndroid Build Coastguard Worker // the entire recovery window, backups and logs are retained for one day more 313*d5c09012SAndroid Build Coastguard Worker // than the recovery window. If not set, defaults to 14 days. 314*d5c09012SAndroid Build Coastguard Worker int32 recovery_window_days = 4; 315*d5c09012SAndroid Build Coastguard Worker 316*d5c09012SAndroid Build Coastguard Worker // The encryption config can be specified to encrypt the 317*d5c09012SAndroid Build Coastguard Worker // backups with a customer-managed encryption key (CMEK). When this field is 318*d5c09012SAndroid Build Coastguard Worker // not specified, the backup will then use default encryption scheme to 319*d5c09012SAndroid Build Coastguard Worker // protect the user data. 320*d5c09012SAndroid Build Coastguard Worker EncryptionConfig encryption_config = 3; 321*d5c09012SAndroid Build Coastguard Worker} 322*d5c09012SAndroid Build Coastguard Worker 323*d5c09012SAndroid Build Coastguard Worker// ContinuousBackupInfo describes the continuous backup properties of a 324*d5c09012SAndroid Build Coastguard Worker// cluster. 325*d5c09012SAndroid Build Coastguard Workermessage ContinuousBackupInfo { 326*d5c09012SAndroid Build Coastguard Worker // Output only. The encryption information for the WALs and backups required 327*d5c09012SAndroid Build Coastguard Worker // for ContinuousBackup. 328*d5c09012SAndroid Build Coastguard Worker EncryptionInfo encryption_info = 1 329*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 330*d5c09012SAndroid Build Coastguard Worker 331*d5c09012SAndroid Build Coastguard Worker // Output only. When ContinuousBackup was most recently enabled. Set to null 332*d5c09012SAndroid Build Coastguard Worker // if ContinuousBackup is not enabled. 333*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp enabled_time = 2 334*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 335*d5c09012SAndroid Build Coastguard Worker 336*d5c09012SAndroid Build Coastguard Worker // Output only. Days of the week on which a continuous backup is taken. Output 337*d5c09012SAndroid Build Coastguard Worker // only field. Ignored if passed into the request. 338*d5c09012SAndroid Build Coastguard Worker repeated google.type.DayOfWeek schedule = 3 339*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 340*d5c09012SAndroid Build Coastguard Worker 341*d5c09012SAndroid Build Coastguard Worker // Output only. The earliest restorable time that can be restored to. Output 342*d5c09012SAndroid Build Coastguard Worker // only field. 343*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp earliest_restorable_time = 4 344*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 345*d5c09012SAndroid Build Coastguard Worker} 346*d5c09012SAndroid Build Coastguard Worker 347*d5c09012SAndroid Build Coastguard Worker// Message describing a BackupSource. 348*d5c09012SAndroid Build Coastguard Workermessage BackupSource { 349*d5c09012SAndroid Build Coastguard Worker // Output only. The system-generated UID of the backup which was used to 350*d5c09012SAndroid Build Coastguard Worker // create this resource. The UID is generated when the backup is created, and 351*d5c09012SAndroid Build Coastguard Worker // it is retained until the backup is deleted. 352*d5c09012SAndroid Build Coastguard Worker string backup_uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 353*d5c09012SAndroid Build Coastguard Worker 354*d5c09012SAndroid Build Coastguard Worker // Required. The name of the backup resource with the format: 355*d5c09012SAndroid Build Coastguard Worker // * projects/{project}/locations/{region}/backups/{backup_id} 356*d5c09012SAndroid Build Coastguard Worker string backup_name = 1 [ 357*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 358*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "alloydb.googleapis.com/Backup" } 359*d5c09012SAndroid Build Coastguard Worker ]; 360*d5c09012SAndroid Build Coastguard Worker} 361*d5c09012SAndroid Build Coastguard Worker 362*d5c09012SAndroid Build Coastguard Worker// Message describing a ContinuousBackupSource. 363*d5c09012SAndroid Build Coastguard Workermessage ContinuousBackupSource { 364*d5c09012SAndroid Build Coastguard Worker // Required. The source cluster from which to restore. This cluster must have 365*d5c09012SAndroid Build Coastguard Worker // continuous backup enabled for this operation to succeed. For the required 366*d5c09012SAndroid Build Coastguard Worker // format, see the comment on the Cluster.name field. 367*d5c09012SAndroid Build Coastguard Worker string cluster = 1 [(google.api.field_behavior) = REQUIRED]; 368*d5c09012SAndroid Build Coastguard Worker 369*d5c09012SAndroid Build Coastguard Worker // Required. The point in time to restore to. 370*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp point_in_time = 2 371*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 372*d5c09012SAndroid Build Coastguard Worker} 373*d5c09012SAndroid Build Coastguard Worker 374*d5c09012SAndroid Build Coastguard Worker// A cluster is a collection of regional AlloyDB resources. It can include a 375*d5c09012SAndroid Build Coastguard Worker// primary instance and one or more read pool instances. 376*d5c09012SAndroid Build Coastguard Worker// All cluster resources share a storage layer, which scales as needed. 377*d5c09012SAndroid Build Coastguard Workermessage Cluster { 378*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 379*d5c09012SAndroid Build Coastguard Worker type: "alloydb.googleapis.com/Cluster" 380*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/clusters/{cluster}" 381*d5c09012SAndroid Build Coastguard Worker style: DECLARATIVE_FRIENDLY 382*d5c09012SAndroid Build Coastguard Worker }; 383*d5c09012SAndroid Build Coastguard Worker 384*d5c09012SAndroid Build Coastguard Worker // Metadata related to network configuration. 385*d5c09012SAndroid Build Coastguard Worker message NetworkConfig { 386*d5c09012SAndroid Build Coastguard Worker // Required. The resource link for the VPC network in which cluster 387*d5c09012SAndroid Build Coastguard Worker // resources are created and from which they are accessible via Private IP. 388*d5c09012SAndroid Build Coastguard Worker // The network must belong to the same project as the cluster. It is 389*d5c09012SAndroid Build Coastguard Worker // specified in the form: 390*d5c09012SAndroid Build Coastguard Worker // "projects/{project_number}/global/networks/{network_id}". This is 391*d5c09012SAndroid Build Coastguard Worker // required to create a cluster. 392*d5c09012SAndroid Build Coastguard Worker string network = 1 [ 393*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 394*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 395*d5c09012SAndroid Build Coastguard Worker type: "compute.googleapis.com/Network" 396*d5c09012SAndroid Build Coastguard Worker } 397*d5c09012SAndroid Build Coastguard Worker ]; 398*d5c09012SAndroid Build Coastguard Worker 399*d5c09012SAndroid Build Coastguard Worker // Optional. Name of the allocated IP range for the private IP AlloyDB 400*d5c09012SAndroid Build Coastguard Worker // cluster, for example: "google-managed-services-default". If set, the 401*d5c09012SAndroid Build Coastguard Worker // instance IPs for this cluster will be created in the allocated range. The 402*d5c09012SAndroid Build Coastguard Worker // range name must comply with RFC 1035. Specifically, the name must be 1-63 403*d5c09012SAndroid Build Coastguard Worker // characters long and match the regular expression 404*d5c09012SAndroid Build Coastguard Worker // `[a-z]([-a-z0-9]*[a-z0-9])?`. 405*d5c09012SAndroid Build Coastguard Worker // Field name is intended to be consistent with Cloud SQL. 406*d5c09012SAndroid Build Coastguard Worker string allocated_ip_range = 2 [(google.api.field_behavior) = OPTIONAL]; 407*d5c09012SAndroid Build Coastguard Worker } 408*d5c09012SAndroid Build Coastguard Worker 409*d5c09012SAndroid Build Coastguard Worker // Configuration information for the secondary cluster. This should be set 410*d5c09012SAndroid Build Coastguard Worker // if and only if the cluster is of type SECONDARY. 411*d5c09012SAndroid Build Coastguard Worker message SecondaryConfig { 412*d5c09012SAndroid Build Coastguard Worker // The name of the primary cluster name with the format: 413*d5c09012SAndroid Build Coastguard Worker // * projects/{project}/locations/{region}/clusters/{cluster_id} 414*d5c09012SAndroid Build Coastguard Worker string primary_cluster_name = 1; 415*d5c09012SAndroid Build Coastguard Worker } 416*d5c09012SAndroid Build Coastguard Worker 417*d5c09012SAndroid Build Coastguard Worker // Configuration for the primary cluster. It has the list of clusters that are 418*d5c09012SAndroid Build Coastguard Worker // replicating from this cluster. This should be set if and only if the 419*d5c09012SAndroid Build Coastguard Worker // cluster is of type PRIMARY. 420*d5c09012SAndroid Build Coastguard Worker message PrimaryConfig { 421*d5c09012SAndroid Build Coastguard Worker // Output only. Names of the clusters that are replicating from this 422*d5c09012SAndroid Build Coastguard Worker // cluster. 423*d5c09012SAndroid Build Coastguard Worker repeated string secondary_cluster_names = 1 424*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 425*d5c09012SAndroid Build Coastguard Worker } 426*d5c09012SAndroid Build Coastguard Worker 427*d5c09012SAndroid Build Coastguard Worker // Cluster State 428*d5c09012SAndroid Build Coastguard Worker enum State { 429*d5c09012SAndroid Build Coastguard Worker // The state of the cluster is unknown. 430*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 431*d5c09012SAndroid Build Coastguard Worker 432*d5c09012SAndroid Build Coastguard Worker // The cluster is active and running. 433*d5c09012SAndroid Build Coastguard Worker READY = 1; 434*d5c09012SAndroid Build Coastguard Worker 435*d5c09012SAndroid Build Coastguard Worker // The cluster is stopped. All instances in the cluster are stopped. 436*d5c09012SAndroid Build Coastguard Worker // Customers can start a stopped cluster at any point and all their 437*d5c09012SAndroid Build Coastguard Worker // instances will come back to life with same names and IP resources. In 438*d5c09012SAndroid Build Coastguard Worker // this state, customer pays for storage. 439*d5c09012SAndroid Build Coastguard Worker // Associated backups could also be present in a stopped cluster. 440*d5c09012SAndroid Build Coastguard Worker STOPPED = 2; 441*d5c09012SAndroid Build Coastguard Worker 442*d5c09012SAndroid Build Coastguard Worker // The cluster is empty and has no associated resources. 443*d5c09012SAndroid Build Coastguard Worker // All instances, associated storage and backups have been deleted. 444*d5c09012SAndroid Build Coastguard Worker EMPTY = 3; 445*d5c09012SAndroid Build Coastguard Worker 446*d5c09012SAndroid Build Coastguard Worker // The cluster is being created. 447*d5c09012SAndroid Build Coastguard Worker CREATING = 4; 448*d5c09012SAndroid Build Coastguard Worker 449*d5c09012SAndroid Build Coastguard Worker // The cluster is being deleted. 450*d5c09012SAndroid Build Coastguard Worker DELETING = 5; 451*d5c09012SAndroid Build Coastguard Worker 452*d5c09012SAndroid Build Coastguard Worker // The creation of the cluster failed. 453*d5c09012SAndroid Build Coastguard Worker FAILED = 6; 454*d5c09012SAndroid Build Coastguard Worker 455*d5c09012SAndroid Build Coastguard Worker // The cluster is bootstrapping with data from some other source. 456*d5c09012SAndroid Build Coastguard Worker // Direct mutations to the cluster (e.g. adding read pool) are not allowed. 457*d5c09012SAndroid Build Coastguard Worker BOOTSTRAPPING = 7; 458*d5c09012SAndroid Build Coastguard Worker 459*d5c09012SAndroid Build Coastguard Worker // The cluster is under maintenance. AlloyDB regularly performs maintenance 460*d5c09012SAndroid Build Coastguard Worker // and upgrades on customer clusters. Updates on the cluster are 461*d5c09012SAndroid Build Coastguard Worker // not allowed while the cluster is in this state. 462*d5c09012SAndroid Build Coastguard Worker MAINTENANCE = 8; 463*d5c09012SAndroid Build Coastguard Worker 464*d5c09012SAndroid Build Coastguard Worker // The cluster is being promoted. 465*d5c09012SAndroid Build Coastguard Worker PROMOTING = 9; 466*d5c09012SAndroid Build Coastguard Worker } 467*d5c09012SAndroid Build Coastguard Worker 468*d5c09012SAndroid Build Coastguard Worker // Type of Cluster 469*d5c09012SAndroid Build Coastguard Worker enum ClusterType { 470*d5c09012SAndroid Build Coastguard Worker // The type of the cluster is unknown. 471*d5c09012SAndroid Build Coastguard Worker CLUSTER_TYPE_UNSPECIFIED = 0; 472*d5c09012SAndroid Build Coastguard Worker 473*d5c09012SAndroid Build Coastguard Worker // Primary cluster that support read and write operations. 474*d5c09012SAndroid Build Coastguard Worker PRIMARY = 1; 475*d5c09012SAndroid Build Coastguard Worker 476*d5c09012SAndroid Build Coastguard Worker // Secondary cluster that is replicating from another region. 477*d5c09012SAndroid Build Coastguard Worker // This only supports read. 478*d5c09012SAndroid Build Coastguard Worker SECONDARY = 2; 479*d5c09012SAndroid Build Coastguard Worker } 480*d5c09012SAndroid Build Coastguard Worker 481*d5c09012SAndroid Build Coastguard Worker // In case of an imported cluster, this field contains information about the 482*d5c09012SAndroid Build Coastguard Worker // source this cluster was imported from. 483*d5c09012SAndroid Build Coastguard Worker oneof source { 484*d5c09012SAndroid Build Coastguard Worker // Output only. Cluster created from backup. 485*d5c09012SAndroid Build Coastguard Worker BackupSource backup_source = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; 486*d5c09012SAndroid Build Coastguard Worker 487*d5c09012SAndroid Build Coastguard Worker // Output only. Cluster created via DMS migration. 488*d5c09012SAndroid Build Coastguard Worker MigrationSource migration_source = 16 489*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 490*d5c09012SAndroid Build Coastguard Worker } 491*d5c09012SAndroid Build Coastguard Worker 492*d5c09012SAndroid Build Coastguard Worker // Output only. The name of the cluster resource with the format: 493*d5c09012SAndroid Build Coastguard Worker // * projects/{project}/locations/{region}/clusters/{cluster_id} 494*d5c09012SAndroid Build Coastguard Worker // where the cluster ID segment should satisfy the regex expression 495*d5c09012SAndroid Build Coastguard Worker // `[a-z0-9-]+`. For more details see https://google.aip.dev/122. 496*d5c09012SAndroid Build Coastguard Worker // The prefix of the cluster resource name is the name of the parent resource: 497*d5c09012SAndroid Build Coastguard Worker // * projects/{project}/locations/{region} 498*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 499*d5c09012SAndroid Build Coastguard Worker 500*d5c09012SAndroid Build Coastguard Worker // User-settable and human-readable display name for the Cluster. 501*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 502*d5c09012SAndroid Build Coastguard Worker 503*d5c09012SAndroid Build Coastguard Worker // Output only. The system-generated UID of the resource. The UID is assigned 504*d5c09012SAndroid Build Coastguard Worker // when the resource is created, and it is retained until it is deleted. 505*d5c09012SAndroid Build Coastguard Worker string uid = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 506*d5c09012SAndroid Build Coastguard Worker 507*d5c09012SAndroid Build Coastguard Worker // Output only. Create time stamp 508*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 4 509*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 510*d5c09012SAndroid Build Coastguard Worker 511*d5c09012SAndroid Build Coastguard Worker // Output only. Update time stamp 512*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 5 513*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 514*d5c09012SAndroid Build Coastguard Worker 515*d5c09012SAndroid Build Coastguard Worker // Output only. Delete time stamp 516*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp delete_time = 6 517*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 518*d5c09012SAndroid Build Coastguard Worker 519*d5c09012SAndroid Build Coastguard Worker // Labels as key value pairs 520*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 7; 521*d5c09012SAndroid Build Coastguard Worker 522*d5c09012SAndroid Build Coastguard Worker // Output only. The current serving state of the cluster. 523*d5c09012SAndroid Build Coastguard Worker State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; 524*d5c09012SAndroid Build Coastguard Worker 525*d5c09012SAndroid Build Coastguard Worker // Output only. The type of the cluster. This is an output-only field and it's 526*d5c09012SAndroid Build Coastguard Worker // populated at the Cluster creation time or the Cluster promotion 527*d5c09012SAndroid Build Coastguard Worker // time. The cluster type is determined by which RPC was used to create 528*d5c09012SAndroid Build Coastguard Worker // the cluster (i.e. `CreateCluster` vs. `CreateSecondaryCluster` 529*d5c09012SAndroid Build Coastguard Worker ClusterType cluster_type = 24 [(google.api.field_behavior) = OUTPUT_ONLY]; 530*d5c09012SAndroid Build Coastguard Worker 531*d5c09012SAndroid Build Coastguard Worker // Optional. The database engine major version. This is an optional field and 532*d5c09012SAndroid Build Coastguard Worker // it is populated at the Cluster creation time. If a database version is not 533*d5c09012SAndroid Build Coastguard Worker // supplied at cluster creation time, then a default database version will 534*d5c09012SAndroid Build Coastguard Worker // be used. 535*d5c09012SAndroid Build Coastguard Worker DatabaseVersion database_version = 9 [(google.api.field_behavior) = OPTIONAL]; 536*d5c09012SAndroid Build Coastguard Worker 537*d5c09012SAndroid Build Coastguard Worker NetworkConfig network_config = 29 [(google.api.field_behavior) = OPTIONAL]; 538*d5c09012SAndroid Build Coastguard Worker 539*d5c09012SAndroid Build Coastguard Worker // Required. The resource link for the VPC network in which cluster resources 540*d5c09012SAndroid Build Coastguard Worker // are created and from which they are accessible via Private IP. The network 541*d5c09012SAndroid Build Coastguard Worker // must belong to the same project as the cluster. It is specified in the 542*d5c09012SAndroid Build Coastguard Worker // form: "projects/{project}/global/networks/{network_id}". This is required 543*d5c09012SAndroid Build Coastguard Worker // to create a cluster. Deprecated, use network_config.network instead. 544*d5c09012SAndroid Build Coastguard Worker string network = 10 [ 545*d5c09012SAndroid Build Coastguard Worker deprecated = true, 546*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 547*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "compute.googleapis.com/Network" } 548*d5c09012SAndroid Build Coastguard Worker ]; 549*d5c09012SAndroid Build Coastguard Worker 550*d5c09012SAndroid Build Coastguard Worker // For Resource freshness validation (https://google.aip.dev/154) 551*d5c09012SAndroid Build Coastguard Worker string etag = 11; 552*d5c09012SAndroid Build Coastguard Worker 553*d5c09012SAndroid Build Coastguard Worker // Annotations to allow client tools to store small amount of arbitrary data. 554*d5c09012SAndroid Build Coastguard Worker // This is distinct from labels. 555*d5c09012SAndroid Build Coastguard Worker // https://google.aip.dev/128 556*d5c09012SAndroid Build Coastguard Worker map<string, string> annotations = 12; 557*d5c09012SAndroid Build Coastguard Worker 558*d5c09012SAndroid Build Coastguard Worker // Output only. Reconciling (https://google.aip.dev/128#reconciliation). 559*d5c09012SAndroid Build Coastguard Worker // Set to true if the current state of Cluster does not match the user's 560*d5c09012SAndroid Build Coastguard Worker // intended state, and the service is actively updating the resource to 561*d5c09012SAndroid Build Coastguard Worker // reconcile them. This can happen due to user-triggered updates or 562*d5c09012SAndroid Build Coastguard Worker // system actions like failover or maintenance. 563*d5c09012SAndroid Build Coastguard Worker bool reconciling = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; 564*d5c09012SAndroid Build Coastguard Worker 565*d5c09012SAndroid Build Coastguard Worker // Input only. Initial user to setup during cluster creation. Required. 566*d5c09012SAndroid Build Coastguard Worker // If used in `RestoreCluster` this is ignored. 567*d5c09012SAndroid Build Coastguard Worker UserPassword initial_user = 14 [(google.api.field_behavior) = INPUT_ONLY]; 568*d5c09012SAndroid Build Coastguard Worker 569*d5c09012SAndroid Build Coastguard Worker // The automated backup policy for this cluster. 570*d5c09012SAndroid Build Coastguard Worker // 571*d5c09012SAndroid Build Coastguard Worker // If no policy is provided then the default policy will be used. If backups 572*d5c09012SAndroid Build Coastguard Worker // are supported for the cluster, the default policy takes one backup a day, 573*d5c09012SAndroid Build Coastguard Worker // has a backup window of 1 hour, and retains backups for 14 days. 574*d5c09012SAndroid Build Coastguard Worker // For more information on the defaults, consult the 575*d5c09012SAndroid Build Coastguard Worker // documentation for the message type. 576*d5c09012SAndroid Build Coastguard Worker AutomatedBackupPolicy automated_backup_policy = 17; 577*d5c09012SAndroid Build Coastguard Worker 578*d5c09012SAndroid Build Coastguard Worker // SSL configuration for this AlloyDB cluster. 579*d5c09012SAndroid Build Coastguard Worker SslConfig ssl_config = 18 [deprecated = true]; 580*d5c09012SAndroid Build Coastguard Worker 581*d5c09012SAndroid Build Coastguard Worker // Optional. The encryption config can be specified to encrypt the data disks 582*d5c09012SAndroid Build Coastguard Worker // and other persistent data resources of a cluster with a 583*d5c09012SAndroid Build Coastguard Worker // customer-managed encryption key (CMEK). When this field is not 584*d5c09012SAndroid Build Coastguard Worker // specified, the cluster will then use default encryption scheme to 585*d5c09012SAndroid Build Coastguard Worker // protect the user data. 586*d5c09012SAndroid Build Coastguard Worker EncryptionConfig encryption_config = 19 587*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 588*d5c09012SAndroid Build Coastguard Worker 589*d5c09012SAndroid Build Coastguard Worker // Output only. The encryption information for the cluster. 590*d5c09012SAndroid Build Coastguard Worker EncryptionInfo encryption_info = 20 591*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 592*d5c09012SAndroid Build Coastguard Worker 593*d5c09012SAndroid Build Coastguard Worker // Optional. Continuous backup configuration for this cluster. 594*d5c09012SAndroid Build Coastguard Worker ContinuousBackupConfig continuous_backup_config = 27 595*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 596*d5c09012SAndroid Build Coastguard Worker 597*d5c09012SAndroid Build Coastguard Worker // Output only. Continuous backup properties for this cluster. 598*d5c09012SAndroid Build Coastguard Worker ContinuousBackupInfo continuous_backup_info = 28 599*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 600*d5c09012SAndroid Build Coastguard Worker 601*d5c09012SAndroid Build Coastguard Worker // Cross Region replication config specific to SECONDARY cluster. 602*d5c09012SAndroid Build Coastguard Worker SecondaryConfig secondary_config = 22; 603*d5c09012SAndroid Build Coastguard Worker 604*d5c09012SAndroid Build Coastguard Worker // Output only. Cross Region replication config specific to PRIMARY cluster. 605*d5c09012SAndroid Build Coastguard Worker PrimaryConfig primary_config = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; 606*d5c09012SAndroid Build Coastguard Worker} 607*d5c09012SAndroid Build Coastguard Worker 608*d5c09012SAndroid Build Coastguard Worker// An Instance is a computing unit that an end customer can connect to. 609*d5c09012SAndroid Build Coastguard Worker// It's the main unit of computing resources in AlloyDB. 610*d5c09012SAndroid Build Coastguard Workermessage Instance { 611*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 612*d5c09012SAndroid Build Coastguard Worker type: "alloydb.googleapis.com/Instance" 613*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/clusters/{cluster}/instances/{instance}" 614*d5c09012SAndroid Build Coastguard Worker style: DECLARATIVE_FRIENDLY 615*d5c09012SAndroid Build Coastguard Worker }; 616*d5c09012SAndroid Build Coastguard Worker 617*d5c09012SAndroid Build Coastguard Worker // MachineConfig describes the configuration of a machine. 618*d5c09012SAndroid Build Coastguard Worker message MachineConfig { 619*d5c09012SAndroid Build Coastguard Worker // The number of CPU's in the VM instance. 620*d5c09012SAndroid Build Coastguard Worker int32 cpu_count = 1; 621*d5c09012SAndroid Build Coastguard Worker } 622*d5c09012SAndroid Build Coastguard Worker 623*d5c09012SAndroid Build Coastguard Worker // Details of a single node in the instance. 624*d5c09012SAndroid Build Coastguard Worker // Nodes in an AlloyDB instance are ephemereal, they can change during 625*d5c09012SAndroid Build Coastguard Worker // update, failover, autohealing and resize operations. 626*d5c09012SAndroid Build Coastguard Worker message Node { 627*d5c09012SAndroid Build Coastguard Worker // The Compute Engine zone of the VM e.g. "us-central1-b". 628*d5c09012SAndroid Build Coastguard Worker string zone_id = 1; 629*d5c09012SAndroid Build Coastguard Worker 630*d5c09012SAndroid Build Coastguard Worker // The identifier of the VM e.g. "test-read-0601-407e52be-ms3l". 631*d5c09012SAndroid Build Coastguard Worker string id = 2; 632*d5c09012SAndroid Build Coastguard Worker 633*d5c09012SAndroid Build Coastguard Worker // The private IP address of the VM e.g. "10.57.0.34". 634*d5c09012SAndroid Build Coastguard Worker string ip = 3; 635*d5c09012SAndroid Build Coastguard Worker 636*d5c09012SAndroid Build Coastguard Worker // Determined by state of the compute VM and postgres-service health. 637*d5c09012SAndroid Build Coastguard Worker // Compute VM state can have values listed in 638*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/compute/docs/instances/instance-life-cycle and 639*d5c09012SAndroid Build Coastguard Worker // postgres-service health can have values: HEALTHY and UNHEALTHY. 640*d5c09012SAndroid Build Coastguard Worker string state = 4; 641*d5c09012SAndroid Build Coastguard Worker } 642*d5c09012SAndroid Build Coastguard Worker 643*d5c09012SAndroid Build Coastguard Worker // QueryInsights Instance specific configuration. 644*d5c09012SAndroid Build Coastguard Worker message QueryInsightsInstanceConfig { 645*d5c09012SAndroid Build Coastguard Worker // Record application tags for an instance. 646*d5c09012SAndroid Build Coastguard Worker // This flag is turned "on" by default. 647*d5c09012SAndroid Build Coastguard Worker optional bool record_application_tags = 2; 648*d5c09012SAndroid Build Coastguard Worker 649*d5c09012SAndroid Build Coastguard Worker // Record client address for an instance. Client address is PII information. 650*d5c09012SAndroid Build Coastguard Worker // This flag is turned "on" by default. 651*d5c09012SAndroid Build Coastguard Worker optional bool record_client_address = 3; 652*d5c09012SAndroid Build Coastguard Worker 653*d5c09012SAndroid Build Coastguard Worker // Query string length. The default value is 1024. 654*d5c09012SAndroid Build Coastguard Worker // Any integer between 256 and 4500 is considered valid. 655*d5c09012SAndroid Build Coastguard Worker uint32 query_string_length = 4; 656*d5c09012SAndroid Build Coastguard Worker 657*d5c09012SAndroid Build Coastguard Worker // Number of query execution plans captured by Insights per minute 658*d5c09012SAndroid Build Coastguard Worker // for all queries combined. The default value is 5. 659*d5c09012SAndroid Build Coastguard Worker // Any integer between 0 and 20 is considered valid. 660*d5c09012SAndroid Build Coastguard Worker optional uint32 query_plans_per_minute = 5; 661*d5c09012SAndroid Build Coastguard Worker } 662*d5c09012SAndroid Build Coastguard Worker 663*d5c09012SAndroid Build Coastguard Worker // Configuration for a read pool instance. 664*d5c09012SAndroid Build Coastguard Worker message ReadPoolConfig { 665*d5c09012SAndroid Build Coastguard Worker // Read capacity, i.e. number of nodes in a read pool instance. 666*d5c09012SAndroid Build Coastguard Worker int32 node_count = 1; 667*d5c09012SAndroid Build Coastguard Worker } 668*d5c09012SAndroid Build Coastguard Worker 669*d5c09012SAndroid Build Coastguard Worker // Client connection configuration 670*d5c09012SAndroid Build Coastguard Worker message ClientConnectionConfig { 671*d5c09012SAndroid Build Coastguard Worker // Optional. Configuration to enforce connectors only (ex: AuthProxy) 672*d5c09012SAndroid Build Coastguard Worker // connections to the database. 673*d5c09012SAndroid Build Coastguard Worker bool require_connectors = 1 [(google.api.field_behavior) = OPTIONAL]; 674*d5c09012SAndroid Build Coastguard Worker 675*d5c09012SAndroid Build Coastguard Worker // Optional. SSL config option for this instance. 676*d5c09012SAndroid Build Coastguard Worker SslConfig ssl_config = 2 [(google.api.field_behavior) = OPTIONAL]; 677*d5c09012SAndroid Build Coastguard Worker } 678*d5c09012SAndroid Build Coastguard Worker 679*d5c09012SAndroid Build Coastguard Worker // Instance State 680*d5c09012SAndroid Build Coastguard Worker enum State { 681*d5c09012SAndroid Build Coastguard Worker // The state of the instance is unknown. 682*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 683*d5c09012SAndroid Build Coastguard Worker 684*d5c09012SAndroid Build Coastguard Worker // The instance is active and running. 685*d5c09012SAndroid Build Coastguard Worker READY = 1; 686*d5c09012SAndroid Build Coastguard Worker 687*d5c09012SAndroid Build Coastguard Worker // The instance is stopped. Instance name and IP resources are preserved. 688*d5c09012SAndroid Build Coastguard Worker STOPPED = 2; 689*d5c09012SAndroid Build Coastguard Worker 690*d5c09012SAndroid Build Coastguard Worker // The instance is being created. 691*d5c09012SAndroid Build Coastguard Worker CREATING = 3; 692*d5c09012SAndroid Build Coastguard Worker 693*d5c09012SAndroid Build Coastguard Worker // The instance is being deleted. 694*d5c09012SAndroid Build Coastguard Worker DELETING = 4; 695*d5c09012SAndroid Build Coastguard Worker 696*d5c09012SAndroid Build Coastguard Worker // The instance is down for maintenance. 697*d5c09012SAndroid Build Coastguard Worker MAINTENANCE = 5; 698*d5c09012SAndroid Build Coastguard Worker 699*d5c09012SAndroid Build Coastguard Worker // The creation of the instance failed or a fatal error occurred during 700*d5c09012SAndroid Build Coastguard Worker // an operation on the instance. 701*d5c09012SAndroid Build Coastguard Worker // Note: Instances in this state would tried to be auto-repaired. And 702*d5c09012SAndroid Build Coastguard Worker // Customers should be able to restart, update or delete these instances. 703*d5c09012SAndroid Build Coastguard Worker FAILED = 6; 704*d5c09012SAndroid Build Coastguard Worker 705*d5c09012SAndroid Build Coastguard Worker // Index 7 is used in the producer apis for ROLLED_BACK state. Keeping that 706*d5c09012SAndroid Build Coastguard Worker // index unused in case that state also needs to exposed via consumer apis 707*d5c09012SAndroid Build Coastguard Worker // in future. 708*d5c09012SAndroid Build Coastguard Worker // The instance has been configured to sync data from some other source. 709*d5c09012SAndroid Build Coastguard Worker BOOTSTRAPPING = 8; 710*d5c09012SAndroid Build Coastguard Worker 711*d5c09012SAndroid Build Coastguard Worker // The instance is being promoted. 712*d5c09012SAndroid Build Coastguard Worker PROMOTING = 9; 713*d5c09012SAndroid Build Coastguard Worker } 714*d5c09012SAndroid Build Coastguard Worker 715*d5c09012SAndroid Build Coastguard Worker // Type of an Instance 716*d5c09012SAndroid Build Coastguard Worker enum InstanceType { 717*d5c09012SAndroid Build Coastguard Worker // The type of the instance is unknown. 718*d5c09012SAndroid Build Coastguard Worker INSTANCE_TYPE_UNSPECIFIED = 0; 719*d5c09012SAndroid Build Coastguard Worker 720*d5c09012SAndroid Build Coastguard Worker // PRIMARY instances support read and write operations. 721*d5c09012SAndroid Build Coastguard Worker PRIMARY = 1; 722*d5c09012SAndroid Build Coastguard Worker 723*d5c09012SAndroid Build Coastguard Worker // READ POOL instances support read operations only. Each read pool instance 724*d5c09012SAndroid Build Coastguard Worker // consists of one or more homogeneous nodes. 725*d5c09012SAndroid Build Coastguard Worker // * Read pool of size 1 can only have zonal availability. 726*d5c09012SAndroid Build Coastguard Worker // * Read pools with node count of 2 or more can have regional 727*d5c09012SAndroid Build Coastguard Worker // availability (nodes are present in 2 or more zones in a region). 728*d5c09012SAndroid Build Coastguard Worker READ_POOL = 2; 729*d5c09012SAndroid Build Coastguard Worker 730*d5c09012SAndroid Build Coastguard Worker // SECONDARY instances support read operations only. SECONDARY instance 731*d5c09012SAndroid Build Coastguard Worker // is a cross-region read replica 732*d5c09012SAndroid Build Coastguard Worker SECONDARY = 3; 733*d5c09012SAndroid Build Coastguard Worker } 734*d5c09012SAndroid Build Coastguard Worker 735*d5c09012SAndroid Build Coastguard Worker // The Availability type of an instance. Potential values: 736*d5c09012SAndroid Build Coastguard Worker // 737*d5c09012SAndroid Build Coastguard Worker // - ZONAL: The instance serves data from only one zone. Outages in that 738*d5c09012SAndroid Build Coastguard Worker // zone affect instance availability. 739*d5c09012SAndroid Build Coastguard Worker // - REGIONAL: The instance can serve data from more than one zone in a 740*d5c09012SAndroid Build Coastguard Worker // region (it is highly available). 741*d5c09012SAndroid Build Coastguard Worker enum AvailabilityType { 742*d5c09012SAndroid Build Coastguard Worker // This is an unknown Availability type. 743*d5c09012SAndroid Build Coastguard Worker AVAILABILITY_TYPE_UNSPECIFIED = 0; 744*d5c09012SAndroid Build Coastguard Worker 745*d5c09012SAndroid Build Coastguard Worker // Zonal available instance. 746*d5c09012SAndroid Build Coastguard Worker ZONAL = 1; 747*d5c09012SAndroid Build Coastguard Worker 748*d5c09012SAndroid Build Coastguard Worker // Regional (or Highly) available instance. 749*d5c09012SAndroid Build Coastguard Worker REGIONAL = 2; 750*d5c09012SAndroid Build Coastguard Worker } 751*d5c09012SAndroid Build Coastguard Worker 752*d5c09012SAndroid Build Coastguard Worker // Output only. The name of the instance resource with the format: 753*d5c09012SAndroid Build Coastguard Worker // * projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} 754*d5c09012SAndroid Build Coastguard Worker // where the cluster and instance ID segments should satisfy the regex 755*d5c09012SAndroid Build Coastguard Worker // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of 756*d5c09012SAndroid Build Coastguard Worker // lowercase letters, numbers, and dashes, starting with a letter, and ending 757*d5c09012SAndroid Build Coastguard Worker // with a letter or number. For more details see https://google.aip.dev/122. 758*d5c09012SAndroid Build Coastguard Worker // The prefix of the instance resource name is the name of the parent 759*d5c09012SAndroid Build Coastguard Worker // resource: 760*d5c09012SAndroid Build Coastguard Worker // * projects/{project}/locations/{region}/clusters/{cluster_id} 761*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 762*d5c09012SAndroid Build Coastguard Worker 763*d5c09012SAndroid Build Coastguard Worker // User-settable and human-readable display name for the Instance. 764*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 765*d5c09012SAndroid Build Coastguard Worker 766*d5c09012SAndroid Build Coastguard Worker // Output only. The system-generated UID of the resource. The UID is assigned 767*d5c09012SAndroid Build Coastguard Worker // when the resource is created, and it is retained until it is deleted. 768*d5c09012SAndroid Build Coastguard Worker string uid = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 769*d5c09012SAndroid Build Coastguard Worker 770*d5c09012SAndroid Build Coastguard Worker // Output only. Create time stamp 771*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 4 772*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 773*d5c09012SAndroid Build Coastguard Worker 774*d5c09012SAndroid Build Coastguard Worker // Output only. Update time stamp 775*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 5 776*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 777*d5c09012SAndroid Build Coastguard Worker 778*d5c09012SAndroid Build Coastguard Worker // Output only. Delete time stamp 779*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp delete_time = 6 780*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 781*d5c09012SAndroid Build Coastguard Worker 782*d5c09012SAndroid Build Coastguard Worker // Labels as key value pairs 783*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 7; 784*d5c09012SAndroid Build Coastguard Worker 785*d5c09012SAndroid Build Coastguard Worker // Output only. The current serving state of the instance. 786*d5c09012SAndroid Build Coastguard Worker State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; 787*d5c09012SAndroid Build Coastguard Worker 788*d5c09012SAndroid Build Coastguard Worker // Required. The type of the instance. Specified at creation time. 789*d5c09012SAndroid Build Coastguard Worker InstanceType instance_type = 9 [(google.api.field_behavior) = REQUIRED]; 790*d5c09012SAndroid Build Coastguard Worker 791*d5c09012SAndroid Build Coastguard Worker // Configurations for the machines that host the underlying 792*d5c09012SAndroid Build Coastguard Worker // database engine. 793*d5c09012SAndroid Build Coastguard Worker MachineConfig machine_config = 10; 794*d5c09012SAndroid Build Coastguard Worker 795*d5c09012SAndroid Build Coastguard Worker // Availability type of an Instance. 796*d5c09012SAndroid Build Coastguard Worker // If empty, defaults to REGIONAL for primary instances. 797*d5c09012SAndroid Build Coastguard Worker // For read pools, availability_type is always UNSPECIFIED. Instances in the 798*d5c09012SAndroid Build Coastguard Worker // read pools are evenly distributed across available zones within the region 799*d5c09012SAndroid Build Coastguard Worker // (i.e. read pools with more than one node will have a node in at 800*d5c09012SAndroid Build Coastguard Worker // least two zones). 801*d5c09012SAndroid Build Coastguard Worker AvailabilityType availability_type = 11; 802*d5c09012SAndroid Build Coastguard Worker 803*d5c09012SAndroid Build Coastguard Worker // The Compute Engine zone that the instance should serve from, per 804*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/compute/docs/regions-zones 805*d5c09012SAndroid Build Coastguard Worker // This can ONLY be specified for ZONAL instances. 806*d5c09012SAndroid Build Coastguard Worker // If present for a REGIONAL instance, an error will be thrown. 807*d5c09012SAndroid Build Coastguard Worker // If this is absent for a ZONAL instance, instance is created in a random 808*d5c09012SAndroid Build Coastguard Worker // zone with available capacity. 809*d5c09012SAndroid Build Coastguard Worker string gce_zone = 12; 810*d5c09012SAndroid Build Coastguard Worker 811*d5c09012SAndroid Build Coastguard Worker // Database flags. Set at instance level. 812*d5c09012SAndroid Build Coastguard Worker // * They are copied from primary instance on read instance creation. 813*d5c09012SAndroid Build Coastguard Worker // * Read instances can set new or override existing flags that are relevant 814*d5c09012SAndroid Build Coastguard Worker // for reads, e.g. for enabling columnar cache on a read instance. Flags 815*d5c09012SAndroid Build Coastguard Worker // set on read instance may or may not be present on primary. 816*d5c09012SAndroid Build Coastguard Worker // 817*d5c09012SAndroid Build Coastguard Worker // 818*d5c09012SAndroid Build Coastguard Worker // This is a list of "key": "value" pairs. 819*d5c09012SAndroid Build Coastguard Worker // "key": The name of the flag. These flags are passed at instance setup time, 820*d5c09012SAndroid Build Coastguard Worker // so include both server options and system variables for Postgres. Flags are 821*d5c09012SAndroid Build Coastguard Worker // specified with underscores, not hyphens. 822*d5c09012SAndroid Build Coastguard Worker // "value": The value of the flag. Booleans are set to **on** for true 823*d5c09012SAndroid Build Coastguard Worker // and **off** for false. This field must be omitted if the flag 824*d5c09012SAndroid Build Coastguard Worker // doesn't take a value. 825*d5c09012SAndroid Build Coastguard Worker map<string, string> database_flags = 13; 826*d5c09012SAndroid Build Coastguard Worker 827*d5c09012SAndroid Build Coastguard Worker // Output only. This is set for the read-write VM of the PRIMARY instance 828*d5c09012SAndroid Build Coastguard Worker // only. 829*d5c09012SAndroid Build Coastguard Worker Node writable_node = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; 830*d5c09012SAndroid Build Coastguard Worker 831*d5c09012SAndroid Build Coastguard Worker // Output only. List of available read-only VMs in this instance, including 832*d5c09012SAndroid Build Coastguard Worker // the standby for a PRIMARY instance. 833*d5c09012SAndroid Build Coastguard Worker repeated Node nodes = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; 834*d5c09012SAndroid Build Coastguard Worker 835*d5c09012SAndroid Build Coastguard Worker // Configuration for query insights. 836*d5c09012SAndroid Build Coastguard Worker QueryInsightsInstanceConfig query_insights_config = 21; 837*d5c09012SAndroid Build Coastguard Worker 838*d5c09012SAndroid Build Coastguard Worker // Read pool instance configuration. 839*d5c09012SAndroid Build Coastguard Worker // This is required if the value of instanceType is READ_POOL. 840*d5c09012SAndroid Build Coastguard Worker ReadPoolConfig read_pool_config = 14; 841*d5c09012SAndroid Build Coastguard Worker 842*d5c09012SAndroid Build Coastguard Worker // Output only. The IP address for the Instance. 843*d5c09012SAndroid Build Coastguard Worker // This is the connection endpoint for an end-user application. 844*d5c09012SAndroid Build Coastguard Worker string ip_address = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; 845*d5c09012SAndroid Build Coastguard Worker 846*d5c09012SAndroid Build Coastguard Worker // Output only. Reconciling (https://google.aip.dev/128#reconciliation). 847*d5c09012SAndroid Build Coastguard Worker // Set to true if the current state of Instance does not match the user's 848*d5c09012SAndroid Build Coastguard Worker // intended state, and the service is actively updating the resource to 849*d5c09012SAndroid Build Coastguard Worker // reconcile them. This can happen due to user-triggered updates or 850*d5c09012SAndroid Build Coastguard Worker // system actions like failover or maintenance. 851*d5c09012SAndroid Build Coastguard Worker bool reconciling = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; 852*d5c09012SAndroid Build Coastguard Worker 853*d5c09012SAndroid Build Coastguard Worker // For Resource freshness validation (https://google.aip.dev/154) 854*d5c09012SAndroid Build Coastguard Worker string etag = 17; 855*d5c09012SAndroid Build Coastguard Worker 856*d5c09012SAndroid Build Coastguard Worker // Annotations to allow client tools to store small amount of arbitrary data. 857*d5c09012SAndroid Build Coastguard Worker // This is distinct from labels. 858*d5c09012SAndroid Build Coastguard Worker // https://google.aip.dev/128 859*d5c09012SAndroid Build Coastguard Worker map<string, string> annotations = 18; 860*d5c09012SAndroid Build Coastguard Worker 861*d5c09012SAndroid Build Coastguard Worker // Optional. Client connection specific configurations 862*d5c09012SAndroid Build Coastguard Worker ClientConnectionConfig client_connection_config = 23 863*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 864*d5c09012SAndroid Build Coastguard Worker} 865*d5c09012SAndroid Build Coastguard Worker 866*d5c09012SAndroid Build Coastguard Worker// ConnectionInfo singleton resource. 867*d5c09012SAndroid Build Coastguard Worker// https://google.aip.dev/156 868*d5c09012SAndroid Build Coastguard Workermessage ConnectionInfo { 869*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 870*d5c09012SAndroid Build Coastguard Worker type: "alloydb.googleapis.com/ConnectionInfo" 871*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/clusters/{cluster}/instances/{instance}/connectionInfo" 872*d5c09012SAndroid Build Coastguard Worker }; 873*d5c09012SAndroid Build Coastguard Worker 874*d5c09012SAndroid Build Coastguard Worker // The name of the ConnectionInfo singleton resource, e.g.: 875*d5c09012SAndroid Build Coastguard Worker // projects/{project}/locations/{location}/clusters/*/instances/*/connectionInfo 876*d5c09012SAndroid Build Coastguard Worker // This field currently has no semantic meaning. 877*d5c09012SAndroid Build Coastguard Worker string name = 1; 878*d5c09012SAndroid Build Coastguard Worker 879*d5c09012SAndroid Build Coastguard Worker // Output only. The private network IP address for the Instance. This is the 880*d5c09012SAndroid Build Coastguard Worker // default IP for the instance and is always created (even if enable_public_ip 881*d5c09012SAndroid Build Coastguard Worker // is set). This is the connection endpoint for an end-user application. 882*d5c09012SAndroid Build Coastguard Worker string ip_address = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 883*d5c09012SAndroid Build Coastguard Worker 884*d5c09012SAndroid Build Coastguard Worker // Output only. The unique ID of the Instance. 885*d5c09012SAndroid Build Coastguard Worker string instance_uid = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 886*d5c09012SAndroid Build Coastguard Worker} 887*d5c09012SAndroid Build Coastguard Worker 888*d5c09012SAndroid Build Coastguard Worker// Message describing Backup object 889*d5c09012SAndroid Build Coastguard Workermessage Backup { 890*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 891*d5c09012SAndroid Build Coastguard Worker type: "alloydb.googleapis.com/Backup" 892*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/backups/{backup}" 893*d5c09012SAndroid Build Coastguard Worker style: DECLARATIVE_FRIENDLY 894*d5c09012SAndroid Build Coastguard Worker }; 895*d5c09012SAndroid Build Coastguard Worker 896*d5c09012SAndroid Build Coastguard Worker // A backup's position in a quantity-based retention queue, of backups with 897*d5c09012SAndroid Build Coastguard Worker // the same source cluster and type, with length, retention, specified by the 898*d5c09012SAndroid Build Coastguard Worker // backup's retention policy. 899*d5c09012SAndroid Build Coastguard Worker // Once the position is greater than the retention, the backup is eligible to 900*d5c09012SAndroid Build Coastguard Worker // be garbage collected. 901*d5c09012SAndroid Build Coastguard Worker // 902*d5c09012SAndroid Build Coastguard Worker // Example: 5 backups from the same source cluster and type with a 903*d5c09012SAndroid Build Coastguard Worker // quantity-based retention of 3 and denoted by backup_id (position, 904*d5c09012SAndroid Build Coastguard Worker // retention). 905*d5c09012SAndroid Build Coastguard Worker // 906*d5c09012SAndroid Build Coastguard Worker // Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3). 907*d5c09012SAndroid Build Coastguard Worker // Awaiting garbage collection: backup_2 (4, 3), backup_1 (5, 3) 908*d5c09012SAndroid Build Coastguard Worker message QuantityBasedExpiry { 909*d5c09012SAndroid Build Coastguard Worker // Output only. The backup's position among its backups with the same source 910*d5c09012SAndroid Build Coastguard Worker // cluster and type, by descending chronological order create time(i.e. 911*d5c09012SAndroid Build Coastguard Worker // newest first). 912*d5c09012SAndroid Build Coastguard Worker int32 retention_count = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 913*d5c09012SAndroid Build Coastguard Worker 914*d5c09012SAndroid Build Coastguard Worker // Output only. The length of the quantity-based queue, specified by the 915*d5c09012SAndroid Build Coastguard Worker // backup's retention policy. 916*d5c09012SAndroid Build Coastguard Worker int32 total_retention_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 917*d5c09012SAndroid Build Coastguard Worker } 918*d5c09012SAndroid Build Coastguard Worker 919*d5c09012SAndroid Build Coastguard Worker // Backup State 920*d5c09012SAndroid Build Coastguard Worker enum State { 921*d5c09012SAndroid Build Coastguard Worker // The state of the backup is unknown. 922*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 923*d5c09012SAndroid Build Coastguard Worker 924*d5c09012SAndroid Build Coastguard Worker // The backup is ready. 925*d5c09012SAndroid Build Coastguard Worker READY = 1; 926*d5c09012SAndroid Build Coastguard Worker 927*d5c09012SAndroid Build Coastguard Worker // The backup is creating. 928*d5c09012SAndroid Build Coastguard Worker CREATING = 2; 929*d5c09012SAndroid Build Coastguard Worker 930*d5c09012SAndroid Build Coastguard Worker // The backup failed. 931*d5c09012SAndroid Build Coastguard Worker FAILED = 3; 932*d5c09012SAndroid Build Coastguard Worker 933*d5c09012SAndroid Build Coastguard Worker // The backup is being deleted. 934*d5c09012SAndroid Build Coastguard Worker DELETING = 4; 935*d5c09012SAndroid Build Coastguard Worker } 936*d5c09012SAndroid Build Coastguard Worker 937*d5c09012SAndroid Build Coastguard Worker // Backup Type 938*d5c09012SAndroid Build Coastguard Worker enum Type { 939*d5c09012SAndroid Build Coastguard Worker // Backup Type is unknown. 940*d5c09012SAndroid Build Coastguard Worker TYPE_UNSPECIFIED = 0; 941*d5c09012SAndroid Build Coastguard Worker 942*d5c09012SAndroid Build Coastguard Worker // ON_DEMAND backups that were triggered by the customer (e.g., not 943*d5c09012SAndroid Build Coastguard Worker // AUTOMATED). 944*d5c09012SAndroid Build Coastguard Worker ON_DEMAND = 1; 945*d5c09012SAndroid Build Coastguard Worker 946*d5c09012SAndroid Build Coastguard Worker // AUTOMATED backups triggered by the automated backups scheduler pursuant 947*d5c09012SAndroid Build Coastguard Worker // to an automated backup policy. 948*d5c09012SAndroid Build Coastguard Worker AUTOMATED = 2; 949*d5c09012SAndroid Build Coastguard Worker 950*d5c09012SAndroid Build Coastguard Worker // CONTINUOUS backups triggered by the automated backups scheduler 951*d5c09012SAndroid Build Coastguard Worker // due to a continuous backup policy. 952*d5c09012SAndroid Build Coastguard Worker CONTINUOUS = 3; 953*d5c09012SAndroid Build Coastguard Worker } 954*d5c09012SAndroid Build Coastguard Worker 955*d5c09012SAndroid Build Coastguard Worker // Output only. The name of the backup resource with the format: 956*d5c09012SAndroid Build Coastguard Worker // * projects/{project}/locations/{region}/backups/{backup_id} 957*d5c09012SAndroid Build Coastguard Worker // where the cluster and backup ID segments should satisfy the regex 958*d5c09012SAndroid Build Coastguard Worker // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of 959*d5c09012SAndroid Build Coastguard Worker // lowercase letters, numbers, and dashes, starting with a letter, and ending 960*d5c09012SAndroid Build Coastguard Worker // with a letter or number. For more details see https://google.aip.dev/122. 961*d5c09012SAndroid Build Coastguard Worker // The prefix of the backup resource name is the name of the parent 962*d5c09012SAndroid Build Coastguard Worker // resource: 963*d5c09012SAndroid Build Coastguard Worker // * projects/{project}/locations/{region} 964*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 965*d5c09012SAndroid Build Coastguard Worker 966*d5c09012SAndroid Build Coastguard Worker // User-settable and human-readable display name for the Backup. 967*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 968*d5c09012SAndroid Build Coastguard Worker 969*d5c09012SAndroid Build Coastguard Worker // Output only. The system-generated UID of the resource. The UID is assigned 970*d5c09012SAndroid Build Coastguard Worker // when the resource is created, and it is retained until it is deleted. 971*d5c09012SAndroid Build Coastguard Worker string uid = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 972*d5c09012SAndroid Build Coastguard Worker 973*d5c09012SAndroid Build Coastguard Worker // Output only. Create time stamp 974*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 4 975*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 976*d5c09012SAndroid Build Coastguard Worker 977*d5c09012SAndroid Build Coastguard Worker // Output only. Update time stamp 978*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 5 979*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 980*d5c09012SAndroid Build Coastguard Worker 981*d5c09012SAndroid Build Coastguard Worker // Output only. Delete time stamp 982*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp delete_time = 15 983*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 984*d5c09012SAndroid Build Coastguard Worker 985*d5c09012SAndroid Build Coastguard Worker // Labels as key value pairs 986*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 6; 987*d5c09012SAndroid Build Coastguard Worker 988*d5c09012SAndroid Build Coastguard Worker // Output only. The current state of the backup. 989*d5c09012SAndroid Build Coastguard Worker State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; 990*d5c09012SAndroid Build Coastguard Worker 991*d5c09012SAndroid Build Coastguard Worker // The backup type, which suggests the trigger for the backup. 992*d5c09012SAndroid Build Coastguard Worker Type type = 8; 993*d5c09012SAndroid Build Coastguard Worker 994*d5c09012SAndroid Build Coastguard Worker // User-provided description of the backup. 995*d5c09012SAndroid Build Coastguard Worker string description = 9; 996*d5c09012SAndroid Build Coastguard Worker 997*d5c09012SAndroid Build Coastguard Worker // Output only. The system-generated UID of the cluster which was used to 998*d5c09012SAndroid Build Coastguard Worker // create this resource. 999*d5c09012SAndroid Build Coastguard Worker string cluster_uid = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; 1000*d5c09012SAndroid Build Coastguard Worker 1001*d5c09012SAndroid Build Coastguard Worker // Required. The full resource name of the backup source cluster 1002*d5c09012SAndroid Build Coastguard Worker // (e.g., projects/{project}/locations/{region}/clusters/{cluster_id}). 1003*d5c09012SAndroid Build Coastguard Worker string cluster_name = 10 [ 1004*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1005*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "alloydb.googleapis.com/Cluster" } 1006*d5c09012SAndroid Build Coastguard Worker ]; 1007*d5c09012SAndroid Build Coastguard Worker 1008*d5c09012SAndroid Build Coastguard Worker // Output only. Reconciling (https://google.aip.dev/128#reconciliation), if 1009*d5c09012SAndroid Build Coastguard Worker // true, indicates that the service is actively updating the resource. This 1010*d5c09012SAndroid Build Coastguard Worker // can happen due to user-triggered updates or system actions like failover or 1011*d5c09012SAndroid Build Coastguard Worker // maintenance. 1012*d5c09012SAndroid Build Coastguard Worker bool reconciling = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; 1013*d5c09012SAndroid Build Coastguard Worker 1014*d5c09012SAndroid Build Coastguard Worker // Optional. The encryption config can be specified to encrypt the 1015*d5c09012SAndroid Build Coastguard Worker // backup with a customer-managed encryption key (CMEK). When this field is 1016*d5c09012SAndroid Build Coastguard Worker // not specified, the backup will then use default encryption scheme to 1017*d5c09012SAndroid Build Coastguard Worker // protect the user data. 1018*d5c09012SAndroid Build Coastguard Worker EncryptionConfig encryption_config = 12 1019*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 1020*d5c09012SAndroid Build Coastguard Worker 1021*d5c09012SAndroid Build Coastguard Worker // Output only. The encryption information for the backup. 1022*d5c09012SAndroid Build Coastguard Worker EncryptionInfo encryption_info = 13 1023*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1024*d5c09012SAndroid Build Coastguard Worker 1025*d5c09012SAndroid Build Coastguard Worker // For Resource freshness validation (https://google.aip.dev/154) 1026*d5c09012SAndroid Build Coastguard Worker string etag = 14; 1027*d5c09012SAndroid Build Coastguard Worker 1028*d5c09012SAndroid Build Coastguard Worker // Annotations to allow client tools to store small amount of arbitrary data. 1029*d5c09012SAndroid Build Coastguard Worker // This is distinct from labels. 1030*d5c09012SAndroid Build Coastguard Worker // https://google.aip.dev/128 1031*d5c09012SAndroid Build Coastguard Worker map<string, string> annotations = 16; 1032*d5c09012SAndroid Build Coastguard Worker 1033*d5c09012SAndroid Build Coastguard Worker // Output only. The size of the backup in bytes. 1034*d5c09012SAndroid Build Coastguard Worker int64 size_bytes = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; 1035*d5c09012SAndroid Build Coastguard Worker 1036*d5c09012SAndroid Build Coastguard Worker // Output only. The time at which after the backup is eligible to be garbage 1037*d5c09012SAndroid Build Coastguard Worker // collected. It is the duration specified by the backup's retention policy, 1038*d5c09012SAndroid Build Coastguard Worker // added to the backup's create_time. 1039*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp expiry_time = 19 1040*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1041*d5c09012SAndroid Build Coastguard Worker 1042*d5c09012SAndroid Build Coastguard Worker // Output only. The QuantityBasedExpiry of the backup, specified by the 1043*d5c09012SAndroid Build Coastguard Worker // backup's retention policy. Once the expiry quantity is over retention, the 1044*d5c09012SAndroid Build Coastguard Worker // backup is eligible to be garbage collected. 1045*d5c09012SAndroid Build Coastguard Worker QuantityBasedExpiry expiry_quantity = 20 1046*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1047*d5c09012SAndroid Build Coastguard Worker 1048*d5c09012SAndroid Build Coastguard Worker // Output only. The database engine major version of the cluster this backup 1049*d5c09012SAndroid Build Coastguard Worker // was created from. Any restored cluster created from this backup will have 1050*d5c09012SAndroid Build Coastguard Worker // the same database version. 1051*d5c09012SAndroid Build Coastguard Worker DatabaseVersion database_version = 22 1052*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1053*d5c09012SAndroid Build Coastguard Worker} 1054*d5c09012SAndroid Build Coastguard Worker 1055*d5c09012SAndroid Build Coastguard Worker// SupportedDatabaseFlag gives general information about a database flag, 1056*d5c09012SAndroid Build Coastguard Worker// like type and allowed values. This is a static value that is defined 1057*d5c09012SAndroid Build Coastguard Worker// on the server side, and it cannot be modified by callers. 1058*d5c09012SAndroid Build Coastguard Worker// To set the Database flags on a particular Instance, a caller should modify 1059*d5c09012SAndroid Build Coastguard Worker// the Instance.database_flags field. 1060*d5c09012SAndroid Build Coastguard Workermessage SupportedDatabaseFlag { 1061*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 1062*d5c09012SAndroid Build Coastguard Worker type: "alloydb.googleapis.com/SupportedDatabaseFlag" 1063*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/flags/{flag}" 1064*d5c09012SAndroid Build Coastguard Worker }; 1065*d5c09012SAndroid Build Coastguard Worker 1066*d5c09012SAndroid Build Coastguard Worker // Restrictions on STRING type values 1067*d5c09012SAndroid Build Coastguard Worker message StringRestrictions { 1068*d5c09012SAndroid Build Coastguard Worker // The list of allowed values, if bounded. This field will be empty 1069*d5c09012SAndroid Build Coastguard Worker // if there is a unbounded number of allowed values. 1070*d5c09012SAndroid Build Coastguard Worker repeated string allowed_values = 1; 1071*d5c09012SAndroid Build Coastguard Worker } 1072*d5c09012SAndroid Build Coastguard Worker 1073*d5c09012SAndroid Build Coastguard Worker // Restrictions on INTEGER type values. 1074*d5c09012SAndroid Build Coastguard Worker message IntegerRestrictions { 1075*d5c09012SAndroid Build Coastguard Worker // The minimum value that can be specified, if applicable. 1076*d5c09012SAndroid Build Coastguard Worker google.protobuf.Int64Value min_value = 1; 1077*d5c09012SAndroid Build Coastguard Worker 1078*d5c09012SAndroid Build Coastguard Worker // The maximum value that can be specified, if applicable. 1079*d5c09012SAndroid Build Coastguard Worker google.protobuf.Int64Value max_value = 2; 1080*d5c09012SAndroid Build Coastguard Worker } 1081*d5c09012SAndroid Build Coastguard Worker 1082*d5c09012SAndroid Build Coastguard Worker // ValueType describes the semantic type of the value that the flag accepts. 1083*d5c09012SAndroid Build Coastguard Worker // Regardless of the ValueType, the Instance.database_flags field accepts the 1084*d5c09012SAndroid Build Coastguard Worker // stringified version of the value, i.e. "20" or "3.14". 1085*d5c09012SAndroid Build Coastguard Worker enum ValueType { 1086*d5c09012SAndroid Build Coastguard Worker // This is an unknown flag type. 1087*d5c09012SAndroid Build Coastguard Worker VALUE_TYPE_UNSPECIFIED = 0; 1088*d5c09012SAndroid Build Coastguard Worker 1089*d5c09012SAndroid Build Coastguard Worker // String type flag. 1090*d5c09012SAndroid Build Coastguard Worker STRING = 1; 1091*d5c09012SAndroid Build Coastguard Worker 1092*d5c09012SAndroid Build Coastguard Worker // Integer type flag. 1093*d5c09012SAndroid Build Coastguard Worker INTEGER = 2; 1094*d5c09012SAndroid Build Coastguard Worker 1095*d5c09012SAndroid Build Coastguard Worker // Float type flag. 1096*d5c09012SAndroid Build Coastguard Worker FLOAT = 3; 1097*d5c09012SAndroid Build Coastguard Worker 1098*d5c09012SAndroid Build Coastguard Worker // Denotes that the flag does not accept any values. 1099*d5c09012SAndroid Build Coastguard Worker NONE = 4; 1100*d5c09012SAndroid Build Coastguard Worker } 1101*d5c09012SAndroid Build Coastguard Worker 1102*d5c09012SAndroid Build Coastguard Worker // The restrictions on the flag value per type. 1103*d5c09012SAndroid Build Coastguard Worker oneof restrictions { 1104*d5c09012SAndroid Build Coastguard Worker // Restriction on STRING type value. 1105*d5c09012SAndroid Build Coastguard Worker StringRestrictions string_restrictions = 7; 1106*d5c09012SAndroid Build Coastguard Worker 1107*d5c09012SAndroid Build Coastguard Worker // Restriction on INTEGER type value. 1108*d5c09012SAndroid Build Coastguard Worker IntegerRestrictions integer_restrictions = 8; 1109*d5c09012SAndroid Build Coastguard Worker } 1110*d5c09012SAndroid Build Coastguard Worker 1111*d5c09012SAndroid Build Coastguard Worker // The name of the flag resource, following Google Cloud conventions, e.g.: 1112*d5c09012SAndroid Build Coastguard Worker // * projects/{project}/locations/{location}/flags/{flag} 1113*d5c09012SAndroid Build Coastguard Worker // This field currently has no semantic meaning. 1114*d5c09012SAndroid Build Coastguard Worker string name = 1; 1115*d5c09012SAndroid Build Coastguard Worker 1116*d5c09012SAndroid Build Coastguard Worker // The name of the database flag, e.g. "max_allowed_packets". 1117*d5c09012SAndroid Build Coastguard Worker // The is a possibly key for the Instance.database_flags map field. 1118*d5c09012SAndroid Build Coastguard Worker string flag_name = 2; 1119*d5c09012SAndroid Build Coastguard Worker 1120*d5c09012SAndroid Build Coastguard Worker ValueType value_type = 3; 1121*d5c09012SAndroid Build Coastguard Worker 1122*d5c09012SAndroid Build Coastguard Worker // Whether the database flag accepts multiple values. If true, 1123*d5c09012SAndroid Build Coastguard Worker // a comma-separated list of stringified values may be specified. 1124*d5c09012SAndroid Build Coastguard Worker bool accepts_multiple_values = 4; 1125*d5c09012SAndroid Build Coastguard Worker 1126*d5c09012SAndroid Build Coastguard Worker // Major database engine versions for which this flag is supported. 1127*d5c09012SAndroid Build Coastguard Worker repeated DatabaseVersion supported_db_versions = 5; 1128*d5c09012SAndroid Build Coastguard Worker 1129*d5c09012SAndroid Build Coastguard Worker // Whether setting or updating this flag on an Instance requires a database 1130*d5c09012SAndroid Build Coastguard Worker // restart. If a flag that requires database restart is set, the backend 1131*d5c09012SAndroid Build Coastguard Worker // will automatically restart the database (making sure to satisfy any 1132*d5c09012SAndroid Build Coastguard Worker // availability SLO's). 1133*d5c09012SAndroid Build Coastguard Worker bool requires_db_restart = 6; 1134*d5c09012SAndroid Build Coastguard Worker} 1135*d5c09012SAndroid Build Coastguard Worker 1136*d5c09012SAndroid Build Coastguard Worker// Message describing User object. 1137*d5c09012SAndroid Build Coastguard Workermessage User { 1138*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 1139*d5c09012SAndroid Build Coastguard Worker type: "alloydb.googleapis.com/User" 1140*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/clusters/{cluster}/users/{user}" 1141*d5c09012SAndroid Build Coastguard Worker style: DECLARATIVE_FRIENDLY 1142*d5c09012SAndroid Build Coastguard Worker }; 1143*d5c09012SAndroid Build Coastguard Worker 1144*d5c09012SAndroid Build Coastguard Worker // Enum that details the user type. 1145*d5c09012SAndroid Build Coastguard Worker enum UserType { 1146*d5c09012SAndroid Build Coastguard Worker // Unspecified user type. 1147*d5c09012SAndroid Build Coastguard Worker USER_TYPE_UNSPECIFIED = 0; 1148*d5c09012SAndroid Build Coastguard Worker 1149*d5c09012SAndroid Build Coastguard Worker // The default user type that authenticates via password-based 1150*d5c09012SAndroid Build Coastguard Worker // authentication. 1151*d5c09012SAndroid Build Coastguard Worker ALLOYDB_BUILT_IN = 1; 1152*d5c09012SAndroid Build Coastguard Worker 1153*d5c09012SAndroid Build Coastguard Worker // Database user that can authenticate via IAM-Based authentication. 1154*d5c09012SAndroid Build Coastguard Worker ALLOYDB_IAM_USER = 2; 1155*d5c09012SAndroid Build Coastguard Worker } 1156*d5c09012SAndroid Build Coastguard Worker 1157*d5c09012SAndroid Build Coastguard Worker // Output only. Name of the resource in the form of 1158*d5c09012SAndroid Build Coastguard Worker // projects/{project}/locations/{location}/cluster/{cluster}/users/{user}. 1159*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1160*d5c09012SAndroid Build Coastguard Worker 1161*d5c09012SAndroid Build Coastguard Worker // Input only. Password for the user. 1162*d5c09012SAndroid Build Coastguard Worker string password = 2 [(google.api.field_behavior) = INPUT_ONLY]; 1163*d5c09012SAndroid Build Coastguard Worker 1164*d5c09012SAndroid Build Coastguard Worker // Optional. List of database roles this user has. 1165*d5c09012SAndroid Build Coastguard Worker // The database role strings are subject to the PostgreSQL naming conventions. 1166*d5c09012SAndroid Build Coastguard Worker repeated string database_roles = 4 [(google.api.field_behavior) = OPTIONAL]; 1167*d5c09012SAndroid Build Coastguard Worker 1168*d5c09012SAndroid Build Coastguard Worker // Optional. Type of this user. 1169*d5c09012SAndroid Build Coastguard Worker UserType user_type = 5 [(google.api.field_behavior) = OPTIONAL]; 1170*d5c09012SAndroid Build Coastguard Worker} 1171