12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177 |
- // Copyright 2022 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- // LINT: LEGACY_NAMES
- syntax = "proto3";
- package google.cloud.sql.v1beta4;
- import "google/api/field_behavior.proto";
- import "google/protobuf/duration.proto";
- import "google/protobuf/timestamp.proto";
- import "google/protobuf/wrappers.proto";
- option go_package = "google.golang.org/genproto/googleapis/cloud/sql/v1beta4;sql";
- option java_multiple_files = true;
- option java_outer_classname = "CloudSqlResourcesProto";
- option java_package = "com.google.cloud.sql.v1beta4";
- // An entry for an Access Control list.
- message AclEntry {
- // The allowlisted value for the access control list.
- string value = 1;
- // The time when this access control entry expires in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp expiration_time = 2;
- // Optional. A label to identify this entry.
- string name = 3 [(google.api.field_behavior) = OPTIONAL];
- // This is always `sql#aclEntry`.
- string kind = 4;
- }
- // An Admin API warning message.
- message ApiWarning {
- enum SqlApiWarningCode {
- // An unknown or unset warning type from Cloud SQL API.
- SQL_API_WARNING_CODE_UNSPECIFIED = 0;
- // Warning when one or more regions are not reachable. The returned result
- // set may be incomplete.
- REGION_UNREACHABLE = 1;
- }
- // Code to uniquely identify the warning type.
- SqlApiWarningCode code = 1;
- // The warning message.
- string message = 2;
- // The region name for REGION_UNREACHABLE warning.
- string region = 3;
- }
- // We currently only support backup retention by specifying the number
- // of backups we will retain.
- message BackupRetentionSettings {
- // The units that retained_backups specifies, we only support COUNT.
- enum RetentionUnit {
- // Backup retention unit is unspecified, will be treated as COUNT.
- RETENTION_UNIT_UNSPECIFIED = 0;
- // Retention will be by count, eg. "retain the most recent 7 backups".
- COUNT = 1;
- }
- // The unit that 'retained_backups' represents.
- RetentionUnit retention_unit = 1;
- // Depending on the value of retention_unit, this is used to determine
- // if a backup needs to be deleted. If retention_unit is 'COUNT', we will
- // retain this many backups.
- google.protobuf.Int32Value retained_backups = 2;
- }
- // Database instance backup configuration.
- message BackupConfiguration {
- // Start time for the daily backup configuration in UTC timezone in the 24
- // hour format - `HH:MM`.
- string start_time = 1;
- // Whether this configuration is enabled.
- google.protobuf.BoolValue enabled = 2;
- // This is always `sql#backupConfiguration`.
- string kind = 3;
- // (MySQL only) Whether binary log is enabled. If backup configuration is
- // disabled, binarylog must be disabled as well.
- google.protobuf.BoolValue binary_log_enabled = 4;
- // Reserved for future use.
- google.protobuf.BoolValue replication_log_archiving_enabled = 5;
- // Location of the backup
- string location = 6;
- // (Postgres only) Whether point in time recovery is enabled.
- google.protobuf.BoolValue point_in_time_recovery_enabled = 7;
- // The number of days of transaction logs we retain for point in time
- // restore, from 1-7.
- google.protobuf.Int32Value transaction_log_retention_days = 9;
- // Backup retention settings.
- BackupRetentionSettings backup_retention_settings = 10;
- }
- // A BackupRun resource.
- message BackupRun {
- // This is always `sql#backupRun`.
- string kind = 1;
- // The status of this run.
- SqlBackupRunStatus status = 2;
- // The time the run was enqueued in UTC timezone in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp enqueued_time = 3;
- // The identifier for this backup run. Unique only for a specific Cloud SQL
- // instance.
- int64 id = 4;
- // The time the backup operation actually started in UTC timezone in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp start_time = 5;
- // The time the backup operation completed in UTC timezone in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp end_time = 6;
- // Information about why the backup operation failed. This is only present if
- // the run has the FAILED status.
- OperationError error = 7;
- // The type of this run; can be either "AUTOMATED" or "ON_DEMAND". This field
- // defaults to "ON_DEMAND" and is ignored, when specified for insert requests.
- SqlBackupRunType type = 8;
- // The description of this run, only applicable to on-demand backups.
- string description = 9;
- // The start time of the backup window during which this the backup was
- // attempted in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for
- // example `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp window_start_time = 10;
- // Name of the database instance.
- string instance = 11;
- // The URI of this resource.
- string self_link = 12;
- // Location of the backups.
- string location = 13;
- // Encryption configuration specific to a backup.
- DiskEncryptionConfiguration disk_encryption_configuration = 16;
- // Encryption status specific to a backup.
- DiskEncryptionStatus disk_encryption_status = 17;
- // Specifies the kind of backup, PHYSICAL or DEFAULT_SNAPSHOT.
- SqlBackupKind backup_kind = 19;
- }
- // Backup run list results.
- message BackupRunsListResponse {
- // This is always `sql#backupRunsList`.
- string kind = 1;
- // A list of backup runs in reverse chronological order of the enqueued time.
- repeated BackupRun items = 2;
- // The continuation token, used to page through large result sets. Provide
- // this value in a subsequent request to return the next page of results.
- string next_page_token = 3;
- }
- // Binary log coordinates.
- message BinLogCoordinates {
- // Name of the binary log file for a Cloud SQL instance.
- string bin_log_file_name = 1;
- // Position (offset) within the binary log file.
- int64 bin_log_position = 2;
- // This is always `sql#binLogCoordinates`.
- string kind = 3;
- }
- // Backup context.
- message BackupContext {
- // The identifier of the backup.
- int64 backup_id = 1;
- // This is always `sql#backupContext`.
- string kind = 2;
- }
- // Database instance clone context.
- message CloneContext {
- // This is always `sql#cloneContext`.
- string kind = 1;
- // Reserved for future use.
- int64 pitr_timestamp_ms = 2;
- // Name of the Cloud SQL instance to be created as a clone.
- string destination_instance_name = 3;
- // Binary log coordinates, if specified, identify the position up to which the
- // source instance is cloned. If not specified, the source instance is
- // cloned up to the most recent binary log coordinates.
- BinLogCoordinates bin_log_coordinates = 4;
- // Timestamp, if specified, identifies the time to which the source instance
- // is cloned.
- google.protobuf.Timestamp point_in_time = 5;
- // The name of the allocated ip range for the private ip CloudSQL instance.
- // For example: "google-managed-services-default". If set, the cloned instance
- // ip will be created in the allocated range. The range name must comply with
- // [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name
- // must be 1-63 characters long and match the regular expression
- // [a-z]([-a-z0-9]*[a-z0-9])?.
- // Reserved for future use.
- string allocated_ip_range = 6;
- }
- // Represents a SQL database on the Cloud SQL instance.
- message Database {
- // This is always `sql#database`.
- string kind = 1;
- // The Cloud SQL charset value.
- string charset = 2;
- // The Cloud SQL collation value.
- string collation = 3;
- // This field is deprecated and will be removed from a future version of the
- // API.
- string etag = 4;
- // The name of the database in the Cloud SQL instance. This does not include
- // the project ID or instance name.
- string name = 5;
- // The name of the Cloud SQL instance. This does not include the project ID.
- string instance = 6;
- // The URI of this resource.
- string self_link = 7;
- // The project ID of the project containing the Cloud SQL database. The Google
- // apps domain is prefixed if applicable.
- string project = 8;
- oneof database_details {
- SqlServerDatabaseDetails sqlserver_database_details = 9;
- }
- }
- // Represents a Sql Server database on the Cloud SQL instance.
- message SqlServerDatabaseDetails {
- // The version of SQL Server with which the database is to be made compatible
- int32 compatibility_level = 1;
- // The recovery model of a SQL Server database
- string recovery_model = 2;
- }
- // Database flags for Cloud SQL instances.
- message DatabaseFlags {
- // The name of the flag. These flags are passed at instance startup, so
- // include both server options and system variables. Flags are
- // specified with underscores, not hyphens. For more information, see
- // [Configuring Database Flags](https://cloud.google.com/sql/docs/mysql/flags)
- // in the Cloud SQL documentation.
- string name = 1;
- // The value of the flag. Boolean flags are set to `on` for true
- // and `off` for false. This field must be omitted if the flag
- // doesn't take a value.
- string value = 2;
- }
- // Initial sync flags for certain Cloud SQL APIs.
- // Currently used for the MySQL external server initial dump.
- message SyncFlags {
- // The name of the flag.
- string name = 1;
- // The value of the flag. This field must be omitted if the flag
- // doesn't take a value.
- string value = 2;
- }
- // Reference to another Cloud SQL instance.
- message InstanceReference {
- // The name of the Cloud SQL instance being referenced.
- // This does not include the project ID.
- string name = 1;
- // The region of the Cloud SQL instance being referenced.
- string region = 2;
- // The project ID of the Cloud SQL instance being referenced.
- // The default is the same project ID as the instance references it.
- string project = 3;
- }
- // A Cloud SQL instance resource.
- message DatabaseInstance {
- // The current serving state of the database instance.
- enum SqlInstanceState {
- // The state of the instance is unknown.
- SQL_INSTANCE_STATE_UNSPECIFIED = 0;
- // The instance is running, or has been stopped by owner.
- RUNNABLE = 1;
- // The instance is not available, for example due to problems with billing.
- SUSPENDED = 2;
- // The instance is being deleted.
- PENDING_DELETE = 3;
- // The instance is being created.
- PENDING_CREATE = 4;
- // The instance is down for maintenance.
- MAINTENANCE = 5;
- // The creation of the instance failed or a fatal error occurred during
- // maintenance.
- FAILED = 6;
- // Deprecated
- ONLINE_MAINTENANCE = 7 [deprecated = true];
- }
- message SqlFailoverReplica {
- // The name of the failover replica. If specified at instance creation, a
- // failover replica is created for the instance. The name
- // doesn't include the project ID.
- string name = 1;
- // The availability status of the failover replica. A false status indicates
- // that the failover replica is out of sync. The primary instance can only
- // failover to the failover replica when the status is true.
- google.protobuf.BoolValue available = 2;
- }
- // Any scheduled maintenance for this instance.
- message SqlScheduledMaintenance {
- // The start time of any upcoming scheduled maintenance for this instance.
- google.protobuf.Timestamp start_time = 1;
- bool can_defer = 2 [deprecated = true];
- // If the scheduled maintenance can be rescheduled.
- bool can_reschedule = 3;
- // Maintenance cannot be rescheduled to start beyond this deadline.
- optional google.protobuf.Timestamp schedule_deadline_time = 4;
- }
- // This message wraps up the information written by out-of-disk detection job.
- message SqlOutOfDiskReport {
- // This enum lists all possible states regarding out-of-disk issues.
- enum SqlOutOfDiskState {
- // Unspecified state
- SQL_OUT_OF_DISK_STATE_UNSPECIFIED = 0;
- // The instance has plenty space on data disk
- NORMAL = 1;
- // Data disk is almost used up. It is shutdown to prevent data
- // corruption.
- SOFT_SHUTDOWN = 2;
- }
- // This field represents the state generated by the proactive database
- // wellness job for OutOfDisk issues.
- // * Writers:
- // * the proactive database wellness job for OOD.
- // * Readers:
- // * the proactive database wellness job
- optional SqlOutOfDiskState sql_out_of_disk_state = 1;
- // The minimum recommended increase size in GigaBytes
- // This field is consumed by the frontend
- // * Writers:
- // * the proactive database wellness job for OOD.
- // * Readers:
- optional int32 sql_min_recommended_increase_size_gb = 2;
- }
- // This is always `sql#instance`.
- string kind = 1;
- // The current serving state of the Cloud SQL instance.
- SqlInstanceState state = 2;
- // The database engine type and version. The `databaseVersion` field cannot
- // be changed after instance creation.
- SqlDatabaseVersion database_version = 3;
- // The user settings.
- Settings settings = 4;
- // This field is deprecated and will be removed from a future version of the
- // API. Use the `settings.settingsVersion` field instead.
- string etag = 5;
- // The name and status of the failover replica.
- SqlFailoverReplica failover_replica = 6;
- // The name of the instance which will act as primary in the replication
- // setup.
- string master_instance_name = 7;
- // The replicas of the instance.
- repeated string replica_names = 8;
- // The maximum disk size of the instance in bytes.
- google.protobuf.Int64Value max_disk_size = 9 [deprecated = true];
- // The current disk usage of the instance in bytes. This property has been
- // deprecated. Use the
- // "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud
- // Monitoring API instead. Please see [this
- // announcement](https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ)
- // for details.
- google.protobuf.Int64Value current_disk_size = 10 [deprecated = true];
- // The assigned IP addresses for the instance.
- repeated IpMapping ip_addresses = 11;
- // SSL configuration.
- SslCert server_ca_cert = 12;
- // The instance type.
- SqlInstanceType instance_type = 13;
- // The project ID of the project containing the Cloud SQL instance. The Google
- // apps domain is prefixed if applicable.
- string project = 14;
- // The IPv6 address assigned to the instance.
- // (Deprecated) This property was applicable only
- // to First Generation instances.
- string ipv6_address = 15 [deprecated = true];
- // The service account email address assigned to the instance. \This
- // property is read-only.
- string service_account_email_address = 16;
- // Configuration specific to on-premises instances.
- OnPremisesConfiguration on_premises_configuration = 17;
- // Configuration specific to failover replicas and read replicas.
- ReplicaConfiguration replica_configuration = 18;
- // The backend type.
- // `SECOND_GEN`: Cloud SQL database instance.
- // `EXTERNAL`: A database server that is not managed by Google.
- //
- // This property is read-only; use the `tier` property in the `settings`
- // object to determine the database type.
- SqlBackendType backend_type = 19;
- // The URI of this resource.
- string self_link = 20;
- // If the instance state is SUSPENDED, the reason for the suspension.
- repeated SqlSuspensionReason suspension_reason = 21;
- // Connection name of the Cloud SQL instance used in connection strings.
- string connection_name = 22;
- // Name of the Cloud SQL instance. This does not include the project ID.
- string name = 23;
- // The geographical region. Can be:
- // * `us-central` (`FIRST_GEN` instances only)
- // * `us-central1` (`SECOND_GEN` instances only)
- // * `asia-east1` or `europe-west1`.
- //
- // Defaults to `us-central` or `us-central1` depending on the instance
- // type. The region cannot be changed after instance creation.
- string region = 24;
- // The Compute Engine zone that the instance is currently serving from. This
- // value could be different from the zone that was specified when the instance
- // was created if the instance has failed over to its secondary zone. WARNING:
- // Changing this might restart the instance.
- string gce_zone = 25;
- // The Compute Engine zone that the failover instance is currently serving
- // from for a regional instance. This value could be different
- // from the zone that was specified when the instance
- // was created if the instance has failed over to its secondary/failover zone.
- string secondary_gce_zone = 34;
- // Disk encryption configuration specific to an instance.
- DiskEncryptionConfiguration disk_encryption_configuration = 26;
- // Disk encryption status specific to an instance.
- DiskEncryptionStatus disk_encryption_status = 27;
- // Initial root password. Use only on creation.
- string root_password = 29;
- // The start time of any upcoming scheduled maintenance for this instance.
- SqlScheduledMaintenance scheduled_maintenance = 30;
- // The status indicating if instance satisfiesPzs.
- // Reserved for future use.
- google.protobuf.BoolValue satisfies_pzs = 35;
- // Output only. Stores the current database version running on the instance including
- // minor version such as `MYSQL_8_0_18`.
- string database_installed_version = 40 [(google.api.field_behavior) = OUTPUT_ONLY];
- // This field represents the report generated by the proactive database
- // wellness job for OutOfDisk issues.
- // * Writers:
- // * the proactive database wellness job for OOD.
- // * Readers:
- // * the proactive database wellness job
- optional SqlOutOfDiskReport out_of_disk_report = 38;
- // Output only. The time when the instance was created in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp create_time = 39 [(google.api.field_behavior) = OUTPUT_ONLY];
- // List all maintenance versions applicable on the instance
- repeated string available_maintenance_versions = 41;
- // The current software version on the instance.
- string maintenance_version = 42;
- }
- // Database list response.
- message DatabasesListResponse {
- // This is always `sql#databasesList`.
- string kind = 1;
- // List of database resources in the instance.
- repeated Database items = 2;
- }
- // Read-replica configuration for connecting to the on-premises primary
- // instance.
- message DemoteMasterConfiguration {
- // This is always `sql#demoteMasterConfiguration`.
- string kind = 1;
- // MySQL specific configuration when replicating from a MySQL on-premises
- // primary instance. Replication configuration information such as the
- // username, password, certificates, and keys are not stored in the instance
- // metadata. The configuration information is used only to set up the
- // replication connection and is stored by MySQL in a file named
- // `master.info` in the data directory.
- DemoteMasterMySqlReplicaConfiguration mysql_replica_configuration = 2;
- }
- // Database instance demote primary instance context.
- message DemoteMasterContext {
- // This is always `sql#demoteMasterContext`.
- string kind = 1;
- // Verify the GTID consistency for demote operation. Default value:
- // `True`. Setting this flag to `false` enables you to bypass the GTID
- // consistency check between on-premises primary instance and Cloud SQL
- // instance during the demotion operation but also exposes you to the risk of
- // future replication failures. Change the value only if you know the reason
- // for the GTID divergence and are confident that doing so will not cause any
- // replication issues.
- google.protobuf.BoolValue verify_gtid_consistency = 2;
- // The name of the instance which will act as on-premises primary instance
- // in the replication setup.
- string master_instance_name = 3;
- // Configuration specific to read-replicas replicating from the on-premises
- // primary instance.
- DemoteMasterConfiguration replica_configuration = 4;
- // Flag to skip replication setup on the instance.
- bool skip_replication_setup = 5;
- }
- // Read-replica configuration specific to MySQL databases.
- message DemoteMasterMySqlReplicaConfiguration {
- // This is always `sql#demoteMasterMysqlReplicaConfiguration`.
- string kind = 1;
- // The username for the replication connection.
- string username = 2;
- // The password for the replication connection.
- string password = 3;
- // PEM representation of the replica's private key. The corresponsing public
- // key is encoded in the client's certificate. The format of the replica's
- // private key can be either PKCS #1 or PKCS #8.
- string client_key = 4;
- // PEM representation of the replica's x509 certificate.
- string client_certificate = 5;
- // PEM representation of the trusted CA's x509 certificate.
- string ca_certificate = 6;
- }
- enum SqlFileType {
- // Unknown file type.
- SQL_FILE_TYPE_UNSPECIFIED = 0;
- // File containing SQL statements.
- SQL = 1;
- // File in CSV format.
- CSV = 2;
- BAK = 4;
- }
- // Database instance export context.
- message ExportContext {
- message SqlCsvExportOptions {
- // The select query used to extract the data.
- string select_query = 1;
- // Specifies the character that should appear before a data character that
- // needs to be escaped.
- string escape_character = 2;
- // Specifies the quoting character to be used when a data value is quoted.
- string quote_character = 3;
- // Specifies the character that separates columns within each row (line) of
- // the file.
- string fields_terminated_by = 4;
- // This is used to separate lines. If a line does not contain all fields,
- // the rest of the columns are set to their default values.
- string lines_terminated_by = 6;
- }
- message SqlExportOptions {
- // Options for exporting from MySQL.
- message MysqlExportOptions {
- // Option to include SQL statement required to set up replication. If set
- // to `1`, the dump file includes a CHANGE MASTER TO statement with the
- // binary log coordinates, and --set-gtid-purged is set to ON. If set to
- // `2`, the CHANGE MASTER TO statement is written as a SQL comment and
- // has no effect. If set to any value other than `1`, --set-gtid-purged
- // is set to OFF.
- google.protobuf.Int32Value master_data = 1;
- }
- // Tables to export, or that were exported, from the specified database. If
- // you specify tables, specify one and only one database. For PostgreSQL
- // instances, you can specify only one table.
- repeated string tables = 1;
- // Export only schemas.
- google.protobuf.BoolValue schema_only = 2;
- MysqlExportOptions mysql_export_options = 3;
- }
- // The path to the file in Google Cloud Storage where the export will be
- // stored. The URI is in the form `gs://bucketName/fileName`. If the file
- // already exists, the request succeeds, but the operation fails. If
- // `fileType` is `SQL` and the filename ends with .gz,
- // the contents are compressed.
- string uri = 1;
- // Databases to be exported. <br /> `MySQL instances:` If
- // `fileType` is `SQL` and no database is specified, all
- // databases are exported, except for the `mysql` system database.
- // If `fileType` is `CSV`, you can specify one database,
- // either by using this property or by using the
- // `csvExportOptions.selectQuery` property, which takes precedence
- // over this property. <br /> `PostgreSQL instances:` You must specify
- // one database to be exported. If `fileType` is `CSV`,
- // this database must match the one specified in the
- // `csvExportOptions.selectQuery` property. <br /> `SQL Server
- // instances:` You must specify one database to be exported, and the
- // `fileType` must be `BAK`.
- repeated string databases = 2;
- // This is always `sql#exportContext`.
- string kind = 3;
- // Options for exporting data as SQL statements.
- SqlExportOptions sql_export_options = 4;
- // Options for exporting data as CSV. `MySQL` and `PostgreSQL`
- // instances only.
- SqlCsvExportOptions csv_export_options = 5;
- // The file type for the specified uri.
- SqlFileType file_type = 6;
- // Option for export offload.
- google.protobuf.BoolValue offload = 8;
- }
- // Database instance failover context.
- message FailoverContext {
- // The current settings version of this instance. Request will be rejected if
- // this version doesn't match the current settings version.
- int64 settings_version = 1;
- // This is always `sql#failoverContext`.
- string kind = 2;
- }
- // A flag resource.
- message Flag {
- // This is the name of the flag. Flag names always use underscores, not
- // hyphens, for example: `max_allowed_packet`
- string name = 1;
- // The type of the flag. Flags are typed to being `BOOLEAN`, `STRING`,
- // `INTEGER` or `NONE`. `NONE` is used for flags which do not take a
- // value, such as `skip_grant_tables`.
- SqlFlagType type = 2;
- // The database version this flag applies to. Can be
- // MySQL instances: `MYSQL_8_0`, `MYSQL_8_0_18`, `MYSQL_8_0_26`, `MYSQL_5_7`,
- // or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`,
- // `POSTGRES_11` or `POSTGRES_12`. SQL Server instances:
- // `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`,
- // `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`,
- // `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or
- // `SQLSERVER_2019_WEB`.
- // See [the complete
- // list](/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).
- repeated SqlDatabaseVersion applies_to = 3;
- // For `STRING` flags, a list of strings that the value can be set to.
- repeated string allowed_string_values = 4;
- // For `INTEGER` flags, the minimum allowed value.
- google.protobuf.Int64Value min_value = 5;
- // For `INTEGER` flags, the maximum allowed value.
- google.protobuf.Int64Value max_value = 6;
- // Indicates whether changing this flag will trigger a database restart. Only
- // applicable to Second Generation instances.
- google.protobuf.BoolValue requires_restart = 7;
- // This is always `sql#flag`.
- string kind = 8;
- // Whether or not the flag is considered in beta.
- google.protobuf.BoolValue in_beta = 9;
- // Use this field if only certain integers are accepted. Can be combined
- // with min_value and max_value to add additional values.
- repeated int64 allowed_int_values = 10;
- }
- // Flags list response.
- message FlagsListResponse {
- // This is always `sql#flagsList`.
- string kind = 1;
- // List of flags.
- repeated Flag items = 2;
- }
- // Database instance import context.
- message ImportContext {
- message SqlCsvImportOptions {
- // The table to which CSV data is imported.
- string table = 1;
- // The columns to which CSV data is imported. If not specified, all columns
- // of the database table are loaded with CSV data.
- repeated string columns = 2;
- // Specifies the character that should appear before a data character that
- // needs to be escaped.
- string escape_character = 4;
- // Specifies the quoting character to be used when a data value is quoted.
- string quote_character = 5;
- // Specifies the character that separates columns within each row (line) of
- // the file.
- string fields_terminated_by = 6;
- // This is used to separate lines. If a line does not contain all fields,
- // the rest of the columns are set to their default values.
- string lines_terminated_by = 8;
- }
- message SqlBakImportOptions {
- message EncryptionOptions {
- // Path to the Certificate (.cer) in Cloud Storage, in the form
- // `gs://bucketName/fileName`. The instance must have write permissions
- // to the bucket and read access to the file.
- string cert_path = 1;
- // Path to the Certificate Private Key (.pvk) in Cloud Storage, in the
- // form `gs://bucketName/fileName`. The instance must have write
- // permissions to the bucket and read access to the file.
- string pvk_path = 2;
- // Password that encrypts the private key
- string pvk_password = 3;
- }
- EncryptionOptions encryption_options = 1;
- }
- // Path to the import file in Cloud Storage, in the form
- // `gs://bucketName/fileName`. Compressed gzip files (.gz) are supported
- // when `fileType` is `SQL`. The instance must have
- // write permissions to the bucket and read access to the file.
- string uri = 1;
- // The target database for the import. If `fileType` is `SQL`, this field
- // is required only if the import file does not specify a database, and is
- // overridden by any database specification in the import file. If
- // `fileType` is `CSV`, one database must be specified.
- string database = 2;
- // This is always `sql#importContext`.
- string kind = 3;
- // The file type for the specified uri.
- // * `SQL`: The file contains SQL statements.
- // * `CSV`: The file contains CSV data.
- // * `BAK`: The file contains backup data for a SQL Server instance.
- SqlFileType file_type = 4;
- // Options for importing data as CSV.
- SqlCsvImportOptions csv_import_options = 5;
- // The PostgreSQL user for this import operation. PostgreSQL instances only.
- string import_user = 6;
- // Import parameters specific to SQL Server .BAK files
- SqlBakImportOptions bak_import_options = 7;
- }
- // Database instance clone request.
- message InstancesCloneRequest {
- // Contains details about the clone operation.
- CloneContext clone_context = 1;
- }
- // Database demote primary instance request.
- message InstancesDemoteMasterRequest {
- // Contains details about the demoteMaster operation.
- DemoteMasterContext demote_master_context = 1;
- }
- // Database instance export request.
- message InstancesExportRequest {
- // Contains details about the export operation.
- ExportContext export_context = 1;
- }
- // Instance failover request.
- message InstancesFailoverRequest {
- // Failover Context.
- FailoverContext failover_context = 1;
- }
- // Database instance import request.
- message InstancesImportRequest {
- // Contains details about the import operation.
- ImportContext import_context = 1;
- }
- // MySQL-specific external server sync settings.
- message MySqlSyncConfig {
- // Flags to use for the initial dump.
- repeated SyncFlags initial_sync_flags = 1;
- }
- // Database instances list response.
- message InstancesListResponse {
- // This is always `sql#instancesList`.
- string kind = 1;
- // List of warnings that occurred while handling the request.
- repeated ApiWarning warnings = 2;
- // List of database instance resources.
- repeated DatabaseInstance items = 3;
- // The continuation token, used to page through large result sets. Provide
- // this value in a subsequent request to return the next page of results.
- string next_page_token = 4;
- }
- // Instances ListServerCas response.
- message InstancesListServerCasResponse {
- // List of server CA certificates for the instance.
- repeated SslCert certs = 1;
- string active_version = 2;
- // This is always `sql#instancesListServerCas`.
- string kind = 3;
- }
- // Database instance restore backup request.
- message InstancesRestoreBackupRequest {
- // Parameters required to perform the restore backup operation.
- RestoreBackupContext restore_backup_context = 1;
- }
- // Rotate Server CA request.
- message InstancesRotateServerCaRequest {
- // Contains details about the rotate server CA operation.
- RotateServerCaContext rotate_server_ca_context = 1;
- }
- // Instance truncate log request.
- message InstancesTruncateLogRequest {
- // Contains details about the truncate log operation.
- TruncateLogContext truncate_log_context = 1;
- }
- // Instance verify external sync settings response.
- message SqlInstancesVerifyExternalSyncSettingsResponse {
- // This is always `sql#migrationSettingErrorList`.
- string kind = 1;
- // List of migration violations.
- repeated SqlExternalSyncSettingError errors = 2;
- // List of migration warnings.
- repeated SqlExternalSyncSettingError warnings = 3;
- }
- // External primary instance migration setting error/warning.
- message SqlExternalSyncSettingError {
- enum SqlExternalSyncSettingErrorType {
- SQL_EXTERNAL_SYNC_SETTING_ERROR_TYPE_UNSPECIFIED = 0;
- CONNECTION_FAILURE = 1;
- BINLOG_NOT_ENABLED = 2;
- INCOMPATIBLE_DATABASE_VERSION = 3;
- REPLICA_ALREADY_SETUP = 4;
- INSUFFICIENT_PRIVILEGE = 5;
- // Unsupported migration type.
- UNSUPPORTED_MIGRATION_TYPE = 6;
- // No pglogical extension installed on databases, applicable for postgres.
- NO_PGLOGICAL_INSTALLED = 7;
- // pglogical node already exists on databases, applicable for postgres.
- PGLOGICAL_NODE_ALREADY_EXISTS = 8;
- // The value of parameter wal_level is not set to logical.
- INVALID_WAL_LEVEL = 9;
- // The value of parameter shared_preload_libraries does not include
- // pglogical.
- INVALID_SHARED_PRELOAD_LIBRARY = 10;
- // The value of parameter max_replication_slots is not sufficient.
- INSUFFICIENT_MAX_REPLICATION_SLOTS = 11;
- // The value of parameter max_wal_senders is not sufficient.
- INSUFFICIENT_MAX_WAL_SENDERS = 12;
- // The value of parameter max_worker_processes is not sufficient.
- INSUFFICIENT_MAX_WORKER_PROCESSES = 13;
- // Extensions installed are either not supported or having unsupported
- // versions
- UNSUPPORTED_EXTENSIONS = 14;
- // The value of parameter rds.logical_replication is not set to 1.
- INVALID_RDS_LOGICAL_REPLICATION = 15;
- // The primary instance logging setup doesn't allow EM sync.
- INVALID_LOGGING_SETUP = 16;
- // The primary instance database parameter setup doesn't allow EM sync.
- INVALID_DB_PARAM = 17;
- // The gtid_mode is not supported, applicable for MySQL.
- UNSUPPORTED_GTID_MODE = 18;
- // SQL Server Agent is not running.
- SQLSERVER_AGENT_NOT_RUNNING = 19;
- // The table definition is not support due to missing primary key or replica
- // identity, applicable for postgres.
- UNSUPPORTED_TABLE_DEFINITION = 20;
- // The customer has a definer that will break EM setup.
- UNSUPPORTED_DEFINER = 21;
- // SQL Server @@SERVERNAME does not match actual host name
- SQLSERVER_SERVERNAME_MISMATCH = 22;
- // The primary instance has been setup and will fail the setup.
- PRIMARY_ALREADY_SETUP = 23;
- // The primary instance has unsupported binary log format.
- UNSUPPORTED_BINLOG_FORMAT = 24;
- // The primary instance's binary log retention setting.
- BINLOG_RETENTION_SETTING = 25;
- // The primary instance has tables with unsupported storage engine.
- UNSUPPORTED_STORAGE_ENGINE = 26;
- }
- // Can be `sql#externalSyncSettingError` or
- // `sql#externalSyncSettingWarning`.
- string kind = 1;
- // Identifies the specific error that occurred.
- SqlExternalSyncSettingErrorType type = 2;
- // Additional information about the error encountered.
- string detail = 3;
- }
- // IP Management configuration.
- message IpConfiguration {
- // Whether the instance is assigned a public IP address or not.
- google.protobuf.BoolValue ipv4_enabled = 1;
- // The resource link for the VPC network from which the Cloud SQL instance is
- // accessible for private IP. For example,
- // `/projects/myProject/global/networks/default`. This setting can
- // be updated, but it cannot be removed after it is set.
- string private_network = 2;
- // Whether SSL connections over IP are enforced or not.
- google.protobuf.BoolValue require_ssl = 3;
- // The list of external networks that are allowed to connect to the instance
- // using the IP. In 'CIDR' notation, also known as 'slash' notation (for
- // example: `157.197.200.0/24`).
- repeated AclEntry authorized_networks = 4;
- // The name of the allocated ip range for the private ip CloudSQL instance.
- // For example: "google-managed-services-default". If set, the instance ip
- // will be created in the allocated range. The range name must comply with
- // [RFC 1035](https://tools.ietf.org/html/rfc1035). Specifically, the name
- // must be 1-63 characters long and match the regular expression
- // `[a-z]([-a-z0-9]*[a-z0-9])?.`
- string allocated_ip_range = 6;
- }
- // Database instance IP Mapping.
- message IpMapping {
- // The type of this IP address. A `PRIMARY` address is a public address that
- // can accept incoming connections. A `PRIVATE` address is a private address
- // that can accept incoming connections. An `OUTGOING` address is the source
- // address of connections originating from the instance, if supported.
- SqlIpAddressType type = 1;
- // The IP address assigned.
- string ip_address = 2;
- // The due time for this IP to be retired in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`. This field is only available when
- // the IP is scheduled to be retired.
- google.protobuf.Timestamp time_to_retire = 3;
- }
- // Preferred location. This specifies where a Cloud SQL instance is located.
- // Note that if the preferred location is not available, the instance will be
- // located as close as possible within the region. Only one location may be
- // specified.
- message LocationPreference {
- // The App Engine application to follow, it must be in the same region as the
- // Cloud SQL instance. WARNING: Changing this might restart the instance.
- string follow_gae_application = 1 [deprecated = true];
- // The preferred Compute Engine zone (for example: us-central1-a,
- // us-central1-b, etc.). WARNING: Changing this might restart the instance.
- string zone = 2;
- // The preferred Compute Engine zone for the secondary/failover
- // (for example: us-central1-a, us-central1-b, etc.).
- string secondary_zone = 4;
- // This is always `sql#locationPreference`.
- string kind = 3;
- }
- // Maintenance window. This specifies when a Cloud SQL instance
- // is restarted for system maintenance purposes.
- message MaintenanceWindow {
- // hour of day - 0 to 23.
- google.protobuf.Int32Value hour = 1;
- // day of week (1-7), starting on Monday.
- google.protobuf.Int32Value day = 2;
- // Maintenance timing setting: `canary` (Earlier) or `stable` (Later).
- // [Learn
- // more](https://cloud.google.com/sql/docs/mysql/instance-settings#maintenance-timing-2ndgen).
- SqlUpdateTrack update_track = 3;
- // This is always `sql#maintenanceWindow`.
- string kind = 4;
- }
- // Deny Maintenance Periods. This specifies a date range during when all CSA
- // rollout will be denied.
- message DenyMaintenancePeriod {
- // "deny maintenance period" start date. If the year of the start date is
- // empty, the year of the end date also must be empty. In this case, it means
- // the deny maintenance period recurs every year. The date is in format
- // yyyy-mm-dd i.e., 2020-11-01, or mm-dd, i.e., 11-01
- string start_date = 1;
- // "deny maintenance period" end date. If the year of the end date is empty,
- // the year of the start date also must be empty. In this case, it means the
- // deny maintenance period recurs every year. The date is in format yyyy-mm-dd
- // i.e., 2020-11-01, or mm-dd, i.e., 11-01
- string end_date = 2;
- // Time in UTC when the "deny maintenance period" starts on start_date and
- // ends on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00
- string time = 3;
- }
- // Insights configuration. This specifies when Cloud SQL Insights feature is
- // enabled and optional configuration.
- message InsightsConfig {
- // Whether Query Insights feature is enabled.
- bool query_insights_enabled = 1;
- // Whether Query Insights will record client address when enabled.
- bool record_client_address = 2;
- // Whether Query Insights will record application tags from query when
- // enabled.
- bool record_application_tags = 3;
- // Maximum query length stored in bytes. Default value: 1024 bytes.
- // Range: 256-4500 bytes. Query length more than this field value will be
- // truncated to this value. When unset, query length will be the default
- // value. Changing query length will restart the database.
- google.protobuf.Int32Value query_string_length = 4;
- // Number of query execution plans captured by Insights per minute
- // for all queries combined. Default is 5.
- google.protobuf.Int32Value query_plans_per_minute = 5;
- }
- // Read-replica configuration specific to MySQL databases.
- message MySqlReplicaConfiguration {
- // Path to a SQL dump file in Google Cloud Storage from which the replica
- // instance is to be created. The URI is in the form gs://bucketName/fileName.
- // Compressed gzip files (.gz) are also supported.
- // Dumps have the binlog co-ordinates from which replication
- // begins. This can be accomplished by setting --master-data to 1 when using
- // mysqldump.
- string dump_file_path = 1;
- // The username for the replication connection.
- string username = 2;
- // The password for the replication connection.
- string password = 3;
- // Seconds to wait between connect retries. MySQL's default is 60 seconds.
- google.protobuf.Int32Value connect_retry_interval = 4;
- // Interval in milliseconds between replication heartbeats.
- google.protobuf.Int64Value master_heartbeat_period = 5;
- // PEM representation of the trusted CA's x509 certificate.
- string ca_certificate = 6;
- // PEM representation of the replica's x509 certificate.
- string client_certificate = 7;
- // PEM representation of the replica's private key. The corresponsing public
- // key is encoded in the client's certificate.
- string client_key = 8;
- // A list of permissible ciphers to use for SSL encryption.
- string ssl_cipher = 9;
- // Whether or not to check the primary instance's Common Name value in the
- // certificate that it sends during the SSL handshake.
- google.protobuf.BoolValue verify_server_certificate = 10;
- // This is always `sql#mysqlReplicaConfiguration`.
- string kind = 11;
- }
- // On-premises instance configuration.
- message OnPremisesConfiguration {
- // The host and port of the on-premises instance in host:port format
- string host_port = 1;
- // This is always `sql#onPremisesConfiguration`.
- string kind = 2;
- // The username for connecting to on-premises instance.
- string username = 3;
- // The password for connecting to on-premises instance.
- string password = 4;
- // PEM representation of the trusted CA's x509 certificate.
- string ca_certificate = 5;
- // PEM representation of the replica's x509 certificate.
- string client_certificate = 6;
- // PEM representation of the replica's private key. The corresponsing public
- // key is encoded in the client's certificate.
- string client_key = 7;
- // The dump file to create the Cloud SQL replica.
- string dump_file_path = 8;
- // The reference to Cloud SQL instance if the source is Cloud SQL.
- InstanceReference source_instance = 15;
- }
- // Disk encryption configuration for an instance.
- message DiskEncryptionConfiguration {
- // Resource name of KMS key for disk encryption
- string kms_key_name = 1;
- // This is always `sql#diskEncryptionConfiguration`.
- string kind = 2;
- }
- // Disk encryption status for an instance.
- message DiskEncryptionStatus {
- // KMS key version used to encrypt the Cloud SQL instance resource
- string kms_key_version_name = 1;
- // This is always `sql#diskEncryptionStatus`.
- string kind = 2;
- }
- // An Operation resource. For successful operations that return an
- // Operation resource, only the fields relevant to the operation are populated
- // in the resource.
- message Operation {
- // The type of Cloud SQL operation.
- enum SqlOperationType {
- // Unknown operation type.
- SQL_OPERATION_TYPE_UNSPECIFIED = 0;
- // Imports data into a Cloud SQL instance.
- IMPORT = 1;
- // Exports data from a Cloud SQL instance to a Cloud Storage
- // bucket.
- EXPORT = 2;
- // Creates a new Cloud SQL instance.
- CREATE = 3;
- // Updates the settings of a Cloud SQL instance.
- UPDATE = 4;
- // Deletes a Cloud SQL instance.
- DELETE = 5;
- // Restarts the Cloud SQL instance.
- RESTART = 6;
- BACKUP = 7 [deprecated = true];
- SNAPSHOT = 8 [deprecated = true];
- // Performs instance backup.
- BACKUP_VOLUME = 9;
- // Deletes an instance backup.
- DELETE_VOLUME = 10;
- // Restores an instance backup.
- RESTORE_VOLUME = 11;
- // Injects a privileged user in mysql for MOB instances.
- INJECT_USER = 12;
- // Clones a Cloud SQL instance.
- CLONE = 14;
- // Stops replication on a Cloud SQL read replica instance.
- STOP_REPLICA = 15;
- // Starts replication on a Cloud SQL read replica instance.
- START_REPLICA = 16;
- // Promotes a Cloud SQL replica instance.
- PROMOTE_REPLICA = 17;
- // Creates a Cloud SQL replica instance.
- CREATE_REPLICA = 18;
- // Creates a new user in a Cloud SQL instance.
- CREATE_USER = 19;
- // Deletes a user from a Cloud SQL instance.
- DELETE_USER = 20;
- // Updates an existing user in a Cloud SQL instance.
- UPDATE_USER = 21;
- // Creates a database in the Cloud SQL instance.
- CREATE_DATABASE = 22;
- // Deletes a database in the Cloud SQL instance.
- DELETE_DATABASE = 23;
- // Updates a database in the Cloud SQL instance.
- UPDATE_DATABASE = 24;
- // Performs failover of an HA-enabled Cloud SQL
- // failover replica.
- FAILOVER = 25;
- // Deletes the backup taken by a backup run.
- DELETE_BACKUP = 26;
- RECREATE_REPLICA = 27;
- // Truncates a general or slow log table in MySQL.
- TRUNCATE_LOG = 28;
- // Demotes the stand-alone instance to be a Cloud SQL
- // read replica for an external database server.
- DEMOTE_MASTER = 29;
- // Indicates that the instance is currently in maintenance. Maintenance
- // typically causes the instance to be unavailable for 1-3 minutes.
- MAINTENANCE = 30;
- // This field is deprecated, and will be removed in future version of API.
- ENABLE_PRIVATE_IP = 31 [deprecated = true];
- DEFER_MAINTENANCE = 32 [deprecated = true];
- // Creates clone instance.
- CREATE_CLONE = 33 [deprecated = true];
- // Reschedule maintenance to another time.
- RESCHEDULE_MAINTENANCE = 34;
- // Starts external sync of a Cloud SQL EM replica to an external primary
- // instance.
- START_EXTERNAL_SYNC = 35;
- }
- // The status of an operation.
- enum SqlOperationStatus {
- // The state of the operation is unknown.
- SQL_OPERATION_STATUS_UNSPECIFIED = 0;
- // The operation has been queued, but has not started yet.
- PENDING = 1;
- // The operation is running.
- RUNNING = 2;
- // The operation completed.
- DONE = 3;
- }
- // This is always `sql#operation`.
- string kind = 1;
- string target_link = 2;
- // The status of an operation.
- SqlOperationStatus status = 3;
- // The email address of the user who initiated this operation.
- string user = 4;
- // The time this operation was enqueued in UTC timezone in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp insert_time = 5;
- // The time this operation actually started in UTC timezone in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp start_time = 6;
- // The time this operation finished in UTC timezone in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp end_time = 7;
- // If errors occurred during processing of this operation, this field will be
- // populated.
- OperationErrors error = 8;
- // The type of the operation. Valid values are:
- // * `CREATE`
- // * `DELETE`
- // * `UPDATE`
- // * `RESTART`
- // * `IMPORT`
- // * `EXPORT`
- // * `BACKUP_VOLUME`
- // * `RESTORE_VOLUME`
- // * `CREATE_USER`
- // * `DELETE_USER`
- // * `CREATE_DATABASE`
- // * `DELETE_DATABASE`
- SqlOperationType operation_type = 9;
- // The context for import operation, if applicable.
- ImportContext import_context = 10;
- // The context for export operation, if applicable.
- ExportContext export_context = 11;
- // The context for backup operation, if applicable.
- BackupContext backup_context = 17;
- // An identifier that uniquely identifies the operation. You can use this
- // identifier to retrieve the Operations resource that has information about
- // the operation.
- string name = 12;
- // Name of the database instance related to this operation.
- string target_id = 13;
- // The URI of this resource.
- string self_link = 14;
- // The project ID of the target instance related to this operation.
- string target_project = 15;
- }
- // Database instance operation error.
- message OperationError {
- // This is always `sql#operationError`.
- string kind = 1;
- // Identifies the specific error that occurred.
- string code = 2;
- // Additional information about the error encountered.
- string message = 3;
- }
- // Database instance operation errors list wrapper.
- message OperationErrors {
- // This is always `sql#operationErrors`.
- string kind = 1;
- // The list of errors encountered while processing this operation.
- repeated OperationError errors = 2;
- }
- // Database instance local user password validation policy
- message PasswordValidationPolicy {
- // The complexity choices of the password.
- enum Complexity {
- // Complexity check is not specified.
- COMPLEXITY_UNSPECIFIED = 0;
- // A combination of lowercase, uppercase, numeric, and non-alphanumeric
- // characters.
- COMPLEXITY_DEFAULT = 1;
- }
- // Minimum number of characters allowed.
- google.protobuf.Int32Value min_length = 1;
- // The complexity of the password.
- Complexity complexity = 2;
- // Number of previous passwords that cannot be reused.
- google.protobuf.Int32Value reuse_interval = 3;
- // Disallow username as a part of the password.
- google.protobuf.BoolValue disallow_username_substring = 4;
- // Minimum interval after which the password can be changed. This flag is only
- // supported for PostgresSQL.
- google.protobuf.Duration password_change_interval = 5;
- // Whether the password policy is enabled or not.
- google.protobuf.BoolValue enable_password_policy = 6;
- }
- // Operations list response.
- message OperationsListResponse {
- // This is always `sql#operationsList`.
- string kind = 1;
- // List of operation resources.
- repeated Operation items = 2;
- // The continuation token, used to page through large result sets. Provide
- // this value in a subsequent request to return the next page of results.
- string next_page_token = 3;
- }
- // Read-replica configuration for connecting to the primary instance.
- message ReplicaConfiguration {
- // This is always `sql#replicaConfiguration`.
- string kind = 1;
- // MySQL specific configuration when replicating from a MySQL on-premises
- // primary instance. Replication configuration information such as the
- // username, password, certificates, and keys are not stored in the instance
- // metadata. The configuration information is used only to set up the
- // replication connection and is stored by MySQL in a file named
- // `master.info` in the data directory.
- MySqlReplicaConfiguration mysql_replica_configuration = 2;
- // Specifies if the replica is the failover target. If the field is set to
- // `true` the replica will be designated as a failover replica. In case the
- // primary instance fails, the replica instance will be promoted as the new
- // primary instance. Only one replica can be specified as failover target, and
- // the replica has to be in different zone with the primary instance.
- google.protobuf.BoolValue failover_target = 3;
- }
- // Database instance restore from backup context.
- // Backup context contains source instance id and project id.
- message RestoreBackupContext {
- // This is always `sql#restoreBackupContext`.
- string kind = 1;
- // The ID of the backup run to restore from.
- int64 backup_run_id = 2;
- // The ID of the instance that the backup was taken from.
- string instance_id = 3;
- // The full project ID of the source instance.
- string project = 4;
- }
- // Instance rotate server CA context.
- message RotateServerCaContext {
- // This is always `sql#rotateServerCaContext`.
- string kind = 1;
- // The fingerprint of the next version to be rotated to. If left unspecified,
- // will be rotated to the most recently added server CA version.
- string next_version = 2;
- }
- // Database instance settings.
- message Settings {
- // Specifies when the instance is activated.
- enum SqlActivationPolicy {
- // Unknown activation plan.
- SQL_ACTIVATION_POLICY_UNSPECIFIED = 0;
- // The instance is always up and running.
- ALWAYS = 1;
- // The instance never starts.
- NEVER = 2;
- // The instance starts upon receiving requests.
- ON_DEMAND = 3 [deprecated = true];
- }
- // The version of instance settings. This is a required field for update
- // method to make sure concurrent updates are handled properly. During update,
- // use the most recent settingsVersion value for this instance and do not try
- // to update this value.
- google.protobuf.Int64Value settings_version = 1;
- // The App Engine app IDs that can access this instance.
- // (Deprecated) Applied to First Generation instances only.
- repeated string authorized_gae_applications = 2 [deprecated = true];
- // The tier (or machine type) for this instance, for example
- // `db-custom-1-3840`. WARNING: Changing this restarts the instance.
- string tier = 3;
- // This is always `sql#settings`.
- string kind = 4;
- // User-provided labels, represented as a dictionary where each label is a
- // single key value pair.
- map<string, string> user_labels = 5;
- // Availability type. Potential values:
- // * `ZONAL`: The instance serves data from only one zone. Outages in that
- // zone affect data accessibility.
- // * `REGIONAL`: The instance can serve data from more than one zone in a
- // region (it is highly available)./
- //
- // For more information, see [Overview of the High Availability
- // Configuration](https://cloud.google.com/sql/docs/mysql/high-availability).
- SqlAvailabilityType availability_type = 6;
- // The pricing plan for this instance. This can be either `PER_USE` or
- // `PACKAGE`. Only `PER_USE` is supported for Second Generation instances.
- SqlPricingPlan pricing_plan = 7;
- // The type of replication this instance uses. This can be either
- // `ASYNCHRONOUS` or `SYNCHRONOUS`. (Deprecated) This property was only
- // applicable to First Generation instances.
- SqlReplicationType replication_type = 8 [deprecated = true];
- // The maximum size to which storage capacity can be automatically increased.
- // The default value is 0, which specifies that there is no limit.
- google.protobuf.Int64Value storage_auto_resize_limit = 9;
- // The activation policy specifies when the instance is activated; it is
- // applicable only when the instance state is RUNNABLE. Valid values:
- // * `ALWAYS`: The instance is on, and remains so even in the absence of
- // connection requests.
- // * `NEVER`: The instance is off; it is not activated, even if a
- // connection request arrives.
- SqlActivationPolicy activation_policy = 10;
- // The settings for IP Management. This allows to enable or disable the
- // instance IP and manage which external networks can connect to the instance.
- // The IPv4 address cannot be disabled for Second Generation instances.
- IpConfiguration ip_configuration = 11;
- // Configuration to increase storage size automatically. The default value is
- // true.
- google.protobuf.BoolValue storage_auto_resize = 12;
- // The location preference settings. This allows the instance to be located as
- // near as possible to either an App Engine app or Compute Engine zone for
- // better performance. App Engine co-location was only applicable to First
- // Generation instances.
- LocationPreference location_preference = 13;
- // The database flags passed to the instance at startup.
- repeated DatabaseFlags database_flags = 14;
- // The type of data disk: `PD_SSD` (default) or `PD_HDD`. Not used for
- // First Generation instances.
- SqlDataDiskType data_disk_type = 15;
- // The maintenance window for this instance. This specifies when the instance
- // can be restarted for maintenance purposes.
- MaintenanceWindow maintenance_window = 16;
- // The daily backup configuration for the instance.
- BackupConfiguration backup_configuration = 17;
- // Configuration specific to read replica instances. Indicates whether
- // replication is enabled or not. WARNING: Changing this restarts the
- // instance.
- google.protobuf.BoolValue database_replication_enabled = 18;
- // Configuration specific to read replica instances. Indicates whether
- // database flags for crash-safe replication are enabled. This property was
- // only applicable to First Generation instances.
- google.protobuf.BoolValue crash_safe_replication_enabled = 19 [deprecated = true];
- // The size of data disk, in GB. The data disk size minimum is 10GB.
- google.protobuf.Int64Value data_disk_size_gb = 20;
- // Active Directory configuration, relevant only for Cloud SQL for SQL Server.
- SqlActiveDirectoryConfig active_directory_config = 22;
- // The name of server Instance collation.
- string collation = 23;
- // Deny maintenance periods
- repeated DenyMaintenancePeriod deny_maintenance_periods = 24;
- // Insights configuration, for now relevant only for Postgres.
- InsightsConfig insights_config = 25;
- // The local user password validation policy of the instance.
- PasswordValidationPolicy password_validation_policy = 27;
- // SQL Server specific audit configuration.
- SqlServerAuditConfig sql_server_audit_config = 29;
- }
- // SslCerts Resource
- message SslCert {
- // This is always `sql#sslCert`.
- string kind = 1;
- // Serial number, as extracted from the certificate.
- string cert_serial_number = 2;
- // PEM representation.
- string cert = 3;
- // The time when the certificate was created in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp create_time = 4;
- // User supplied name. Constrained to [a-zA-Z.-_ ]+.
- string common_name = 5;
- // The time when the certificate expires in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp expiration_time = 6;
- // Sha1 Fingerprint.
- string sha1_fingerprint = 7;
- // Name of the database instance.
- string instance = 8;
- // The URI of this resource.
- string self_link = 9;
- }
- // SslCertDetail.
- message SslCertDetail {
- // The public information about the cert.
- SslCert cert_info = 1;
- // The private key for the client cert, in pem format. Keep private in order
- // to protect your security.
- string cert_private_key = 2;
- }
- // SslCerts create ephemeral certificate request.
- message SslCertsCreateEphemeralRequest {
- // PEM encoded public key to include in the signed certificate.
- string public_key = 1;
- // Access token to include in the signed certificate.
- string access_token = 2;
- }
- // SslCerts insert request.
- message SslCertsInsertRequest {
- // User supplied name. Must be a distinct name from the other certificates
- // for this instance.
- string common_name = 1;
- }
- // Reschedule options for maintenance windows.
- message SqlInstancesRescheduleMaintenanceRequestBody {
- enum RescheduleType {
- RESCHEDULE_TYPE_UNSPECIFIED = 0;
- // Reschedules maintenance to happen now (within 5 minutes).
- IMMEDIATE = 1;
- // Reschedules maintenance to occur within one week from the originally
- // scheduled day and time.
- NEXT_AVAILABLE_WINDOW = 2;
- // Reschedules maintenance to a specific time and day.
- SPECIFIC_TIME = 3;
- }
- message Reschedule {
- // Required. The type of the reschedule.
- RescheduleType reschedule_type = 1;
- // Optional. Timestamp when the maintenance shall be rescheduled to if
- // reschedule_type=SPECIFIC_TIME, in
- // [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example
- // `2012-11-15T16:19:00.094Z`.
- google.protobuf.Timestamp schedule_time = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- // Required. The type of the reschedule the user wants.
- Reschedule reschedule = 3;
- }
- // SslCert insert response.
- message SslCertsInsertResponse {
- // This is always `sql#sslCertsInsert`.
- string kind = 1;
- // The operation to track the ssl certs insert request.
- Operation operation = 2;
- // The server Certificate Authority's certificate. If this is missing you can
- // force a new one to be generated by calling resetSslConfig method on
- // instances resource.
- SslCert server_ca_cert = 3;
- // The new client certificate and private key.
- SslCertDetail client_cert = 4;
- }
- // SslCerts list response.
- message SslCertsListResponse {
- // This is always `sql#sslCertsList`.
- string kind = 1;
- // List of client certificates for the instance.
- repeated SslCert items = 2;
- }
- // Database Instance truncate log context.
- message TruncateLogContext {
- // This is always `sql#truncateLogContext`.
- string kind = 1;
- // The type of log to truncate. Valid values are `MYSQL_GENERAL_TABLE` and
- // `MYSQL_SLOW_TABLE`.
- string log_type = 2;
- }
- // Active Directory configuration, relevant only for Cloud SQL for SQL Server.
- message SqlActiveDirectoryConfig {
- // This is always sql#activeDirectoryConfig.
- string kind = 1;
- // The name of the domain (e.g., mydomain.com).
- string domain = 2;
- }
- // SQL Server specific audit configuration.
- message SqlServerAuditConfig {
- // This is always sql#sqlServerAuditConfig
- string kind = 1;
- // The name of the destination bucket (e.g., gs://mybucket).
- string bucket = 2;
- // How long to keep generated audit files.
- google.protobuf.Duration retention_interval = 3;
- // How often to upload generated audit files.
- google.protobuf.Duration upload_interval = 4;
- }
- // The status of a backup run.
- enum SqlBackupRunStatus {
- // The status of the run is unknown.
- SQL_BACKUP_RUN_STATUS_UNSPECIFIED = 0;
- // The backup operation was enqueued.
- ENQUEUED = 1;
- // The backup is overdue across a given backup window. Indicates a
- // problem. Example: Long-running operation in progress during
- // the whole window.
- OVERDUE = 2;
- // The backup is in progress.
- RUNNING = 3;
- // The backup failed.
- FAILED = 4;
- // The backup was successful.
- SUCCESSFUL = 5;
- // The backup was skipped (without problems) for a given backup
- // window. Example: Instance was idle.
- SKIPPED = 6;
- // The backup is about to be deleted.
- DELETION_PENDING = 7;
- // The backup deletion failed.
- DELETION_FAILED = 8;
- // The backup has been deleted.
- DELETED = 9;
- }
- enum SqlBackupRunType {
- // This is an unknown BackupRun type.
- SQL_BACKUP_RUN_TYPE_UNSPECIFIED = 0;
- // The backup schedule automatically triggers a backup.
- AUTOMATED = 1;
- // The user manually triggers a backup.
- ON_DEMAND = 2;
- }
- // Defines the supported backup kinds
- enum SqlBackupKind {
- // This is an unknown BackupKind.
- SQL_BACKUP_KIND_UNSPECIFIED = 0;
- // The snapshot based backups
- SNAPSHOT = 1;
- // Physical backups
- PHYSICAL = 2;
- }
- enum SqlBackendType {
- // This is an unknown backend type for instance.
- SQL_BACKEND_TYPE_UNSPECIFIED = 0;
- // V1 speckle instance.
- FIRST_GEN = 1 [deprecated = true];
- // V2 speckle instance.
- SECOND_GEN = 2;
- // On premises instance.
- EXTERNAL = 3;
- }
- enum SqlIpAddressType {
- // This is an unknown IP address type.
- SQL_IP_ADDRESS_TYPE_UNSPECIFIED = 0;
- // IP address the customer is supposed to connect to. Usually this is the
- // load balancer's IP address
- PRIMARY = 1;
- // Source IP address of the connection a read replica establishes to its
- // external primary instance. This IP address can be allowlisted by the
- // customer in case it has a firewall that filters incoming connection to its
- // on premises primary instance.
- OUTGOING = 2;
- // Private IP used when using private IPs and network peering.
- PRIVATE = 3;
- // V1 IP of a migrated instance. We want the user to
- // decommission this IP as soon as the migration is complete.
- // Note: V1 instances with V1 ip addresses will be counted as PRIMARY.
- MIGRATED_1ST_GEN = 4;
- }
- enum SqlInstanceType {
- // This is an unknown Cloud SQL instance type.
- SQL_INSTANCE_TYPE_UNSPECIFIED = 0;
- // A regular Cloud SQL instance that is not replicating from a primary
- // instance.
- CLOUD_SQL_INSTANCE = 1;
- // An instance running on the customer's premises that is not managed by
- // Cloud SQL.
- ON_PREMISES_INSTANCE = 2;
- // A Cloud SQL instance acting as a read-replica.
- READ_REPLICA_INSTANCE = 3;
- }
- // The database engine type and version.
- enum SqlDatabaseVersion {
- // This is an unknown database version.
- SQL_DATABASE_VERSION_UNSPECIFIED = 0;
- // The database version is MySQL 5.1.
- MYSQL_5_1 = 2 [deprecated = true];
- // The database version is MySQL 5.5.
- MYSQL_5_5 = 3 [deprecated = true];
- // The database version is MySQL 5.6.
- MYSQL_5_6 = 5;
- // The database version is MySQL 5.7.
- MYSQL_5_7 = 6;
- // The database version is PostgreSQL 9.6.
- POSTGRES_9_6 = 9;
- // The database version is PostgreSQL 11.
- POSTGRES_11 = 10;
- // The database version is SQL Server 2017 Standard.
- SQLSERVER_2017_STANDARD = 11;
- // The database version is SQL Server 2017 Enterprise.
- SQLSERVER_2017_ENTERPRISE = 14;
- // The database version is SQL Server 2017 Express.
- SQLSERVER_2017_EXPRESS = 15;
- // The database version is SQL Server 2017 Web.
- SQLSERVER_2017_WEB = 16;
- // The database version is PostgreSQL 10.
- POSTGRES_10 = 18;
- // The database version is PostgreSQL 12.
- POSTGRES_12 = 19;
- // The database version is MySQL 8.
- MYSQL_8_0 = 20;
- // The database major version is MySQL 8.0 and the minor version is 18.
- MYSQL_8_0_18 = 41;
- // The database major version is MySQL 8.0 and the minor version is 26.
- MYSQL_8_0_26 = 85;
- // The database major version is MySQL 8.0 and the minor version is 27.
- MYSQL_8_0_27 = 111;
- // The database major version is MySQL 8.0 and the minor version is 28.
- MYSQL_8_0_28 = 132;
- // The database version is PostgreSQL 13.
- POSTGRES_13 = 23;
- // The database version is PostgreSQL 14.
- POSTGRES_14 = 110;
- // The database version is SQL Server 2019 Standard.
- SQLSERVER_2019_STANDARD = 26;
- // The database version is SQL Server 2019 Enterprise.
- SQLSERVER_2019_ENTERPRISE = 27;
- // The database version is SQL Server 2019 Express.
- SQLSERVER_2019_EXPRESS = 28;
- // The database version is SQL Server 2019 Web.
- SQLSERVER_2019_WEB = 29;
- }
- // The suspension reason of the database instance if the state is SUSPENDED.
- enum SqlSuspensionReason {
- // This is an unknown suspension reason.
- SQL_SUSPENSION_REASON_UNSPECIFIED = 0;
- // The instance is suspended due to billing issues (for example:, GCP account
- // issue)
- BILLING_ISSUE = 2;
- // The instance is suspended due to illegal content (for example:, child
- // pornography, copyrighted material, etc.).
- LEGAL_ISSUE = 3;
- // The instance is causing operational issues (for example:, causing the
- // database to crash).
- OPERATIONAL_ISSUE = 4;
- // The KMS key used by the instance is either revoked or denied access to
- KMS_KEY_ISSUE = 5;
- }
- // The pricing plan for this instance.
- enum SqlPricingPlan {
- // This is an unknown pricing plan for this instance.
- SQL_PRICING_PLAN_UNSPECIFIED = 0;
- // The instance is billed at a monthly flat rate.
- PACKAGE = 1;
- // The instance is billed per usage.
- PER_USE = 2;
- }
- enum SqlReplicationType {
- // This is an unknown replication type for a Cloud SQL instance.
- SQL_REPLICATION_TYPE_UNSPECIFIED = 0;
- // The synchronous replication mode for First Generation instances. It is the
- // default value.
- SYNCHRONOUS = 1;
- // The asynchronous replication mode for First Generation instances. It
- // provides a slight performance gain, but if an outage occurs while this
- // option is set to asynchronous, you can lose up to a few seconds of updates
- // to your data.
- ASYNCHRONOUS = 2;
- }
- // The type of disk that is used for a v2 instance to use.
- enum SqlDataDiskType {
- // This is an unknown data disk type.
- SQL_DATA_DISK_TYPE_UNSPECIFIED = 0;
- // An SSD data disk.
- PD_SSD = 1;
- // An HDD data disk.
- PD_HDD = 2;
- // This field is deprecated and will be removed from a future version of the
- // API.
- OBSOLETE_LOCAL_SSD = 3 [deprecated = true];
- }
- // The availability type of the given Cloud SQL instance.
- enum SqlAvailabilityType {
- // This is an unknown Availability type.
- SQL_AVAILABILITY_TYPE_UNSPECIFIED = 0;
- // Zonal available instance.
- ZONAL = 1;
- // Regional available instance.
- REGIONAL = 2;
- }
- enum SqlUpdateTrack {
- // This is an unknown maintenance timing preference.
- SQL_UPDATE_TRACK_UNSPECIFIED = 0;
- // For instance update that requires a restart, this update track indicates
- // your instance prefer to restart for new version early in maintenance
- // window.
- canary = 1;
- // For instance update that requires a restart, this update track indicates
- // your instance prefer to let Cloud SQL choose the timing of restart (within
- // its Maintenance window, if applicable).
- stable = 2;
- }
- enum SqlFlagType {
- // This is an unknown flag type.
- SQL_FLAG_TYPE_UNSPECIFIED = 0;
- // Boolean type flag.
- BOOLEAN = 1;
- // String type flag.
- STRING = 2;
- // Integer type flag.
- INTEGER = 3;
- // Flag type used for a server startup option.
- NONE = 4;
- // Type introduced specially for MySQL TimeZone offset. Accept a string value
- // with the format [-12:59, 13:00].
- MYSQL_TIMEZONE_OFFSET = 5;
- // Float type flag.
- FLOAT = 6;
- // Comma-separated list of the strings in a SqlFlagType enum.
- REPEATED_STRING = 7;
- }
|