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