// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.cloud.sql.v1; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/cloud/sql/v1/cloud_sql_resources.proto"; import "google/protobuf/wrappers.proto"; option go_package = "cloud.google.com/go/sql/apiv1/sqlpb;sqlpb"; option java_multiple_files = true; option java_outer_classname = "CloudSqlFlagsProto"; option java_package = "com.google.cloud.sql.v1"; // LINT: LEGACY_NAMES // Service to manage database flags for Cloud SQL instances. service SqlFlagsService { option (google.api.default_host) = "sqladmin.googleapis.com"; option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform," "https://www.googleapis.com/auth/sqlservice.admin"; // Lists all available database flags for Cloud SQL instances. rpc List(SqlFlagsListRequest) returns (FlagsListResponse) { option (google.api.http) = { get: "/v1/flags" }; } } // Flags list request. message SqlFlagsListRequest { // Database type and version you want to retrieve flags for. By default, this // method returns flags for all database types and versions. string database_version = 1; } // Flags list response. message FlagsListResponse { // This is always `sql#flagsList`. string kind = 1; // List of flags. repeated Flag items = 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 that 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; } 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; }