python/proto/sql/instance.proto (227 lines of code) (raw):

// Copyright 2020 Google LLC. All Rights Reserved. // // 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 dcl; import "proto/connector/sdk.proto"; import "proto/empty.proto"; enum SqlInstanceBackendTypeEnum { InstanceBackendTypeEnumNO_VALUE_DO_NOT_USE = 0; InstanceBackendTypeEnumSQL_BACKEND_TYPE_UNSPECIFIED = 1; InstanceBackendTypeEnumFIRST_GEN = 2; InstanceBackendTypeEnumSECOND_GEN = 3; InstanceBackendTypeEnumEXTERNAL = 4; } enum SqlInstanceDatabaseVersionEnum { InstanceDatabaseVersionEnumNO_VALUE_DO_NOT_USE = 0; InstanceDatabaseVersionEnumSQL_DATABASE_VERSION_UNSPECIFIED = 1; InstanceDatabaseVersionEnumOBSOLETE_MYSQL_5_0 = 2; InstanceDatabaseVersionEnumMYSQL_5_1 = 3; InstanceDatabaseVersionEnumMYSQL_5_5 = 4; InstanceDatabaseVersionEnumMARIADB_10_0 = 5; InstanceDatabaseVersionEnumMYSQL_5_6 = 6; InstanceDatabaseVersionEnumMYSQL_5_7 = 7; InstanceDatabaseVersionEnumOBSOLETE_POSTGRES_9_5 = 8; InstanceDatabaseVersionEnumSQLSERVER_ENTERPRISE_2016 = 9; InstanceDatabaseVersionEnumPOSTGRES_9_6 = 10; InstanceDatabaseVersionEnumPOSTGRES_11 = 11; InstanceDatabaseVersionEnumSQLSERVER_2017_STANDARD = 12; InstanceDatabaseVersionEnumSQLSERVER_2016_STANDARD = 13; InstanceDatabaseVersionEnumMIMIR = 14; InstanceDatabaseVersionEnumSQLSERVER_2017_ENTERPRISE = 15; InstanceDatabaseVersionEnumSQLSERVER_2017_EXPRESS = 16; InstanceDatabaseVersionEnumSQLSERVER_2017_WEB = 17; InstanceDatabaseVersionEnumPOSTGRES_TIER_1 = 18; InstanceDatabaseVersionEnumPOSTGRES_10 = 19; InstanceDatabaseVersionEnumPOSTGRES_12 = 20; InstanceDatabaseVersionEnumMYSQL_8_0 = 21; InstanceDatabaseVersionEnumAGBALA = 22; } enum SqlInstanceInstanceTypeEnum { InstanceInstanceTypeEnumNO_VALUE_DO_NOT_USE = 0; InstanceInstanceTypeEnumSQL_INSTANCE_TYPE_UNSPECIFIED = 1; InstanceInstanceTypeEnumCLOUD_SQL_INSTANCE = 2; InstanceInstanceTypeEnumON_PREMISES_INSTANCE = 3; InstanceInstanceTypeEnumREAD_REPLICA_INSTANCE = 4; InstanceInstanceTypeEnumREAD_REPLICA_POOL_INSTANCE = 5; } enum SqlInstanceIPAddressesTypeEnum { InstanceIPAddressesTypeEnumNO_VALUE_DO_NOT_USE = 0; InstanceIPAddressesTypeEnumSQL_IP_ADDRESS_TYPE_UNSPECIFIED = 1; InstanceIPAddressesTypeEnumPRIMARY = 2; InstanceIPAddressesTypeEnumOUTGOING = 3; InstanceIPAddressesTypeEnumPRIVATE = 4; InstanceIPAddressesTypeEnumMIGRATED_1ST_GEN = 5; } enum SqlInstanceSettingsAvailabilityTypeEnum { InstanceSettingsAvailabilityTypeEnumNO_VALUE_DO_NOT_USE = 0; InstanceSettingsAvailabilityTypeEnumSQL_AVAILABILITY_TYPE_UNSPECIFIED = 1; InstanceSettingsAvailabilityTypeEnumZONAL = 2; InstanceSettingsAvailabilityTypeEnumREGIONAL = 3; } enum SqlInstanceSettingsPricingPlanEnum { InstanceSettingsPricingPlanEnumNO_VALUE_DO_NOT_USE = 0; InstanceSettingsPricingPlanEnumSQL_PRICING_PLAN_UNSPECIFIED = 1; InstanceSettingsPricingPlanEnumPACKAGE = 2; InstanceSettingsPricingPlanEnumPER_USE = 3; } enum SqlInstanceSettingsReplicationTypeEnum { InstanceSettingsReplicationTypeEnumNO_VALUE_DO_NOT_USE = 0; InstanceSettingsReplicationTypeEnumSQL_REPLICATION_TYPE_UNSPECIFIED = 1; InstanceSettingsReplicationTypeEnumSYNCHRONOUS = 2; InstanceSettingsReplicationTypeEnumASYNCHRONOUS = 3; } enum SqlInstanceSettingsActivationPolicyEnum { InstanceSettingsActivationPolicyEnumNO_VALUE_DO_NOT_USE = 0; InstanceSettingsActivationPolicyEnumSQL_ACTIVATION_POLICY_UNSPECIFIED = 1; InstanceSettingsActivationPolicyEnumALWAYS = 2; InstanceSettingsActivationPolicyEnumNEVER = 3; InstanceSettingsActivationPolicyEnumON_DEMAND = 4; } enum SqlInstanceSettingsDataDiskTypeEnum { InstanceSettingsDataDiskTypeEnumNO_VALUE_DO_NOT_USE = 0; InstanceSettingsDataDiskTypeEnumSQL_DATA_DISK_TYPE_UNSPECIFIED = 1; InstanceSettingsDataDiskTypeEnumPD_SSD = 2; InstanceSettingsDataDiskTypeEnumPD_HDD = 3; InstanceSettingsDataDiskTypeEnumOBSOLETE_LOCAL_SSD = 4; } message SqlInstance { SqlInstanceBackendTypeEnum backend_type = 1; string connection_name = 2; SqlInstanceDatabaseVersionEnum database_version = 3; string etag = 4; string gce_zone = 5; SqlInstanceInstanceTypeEnum instance_type = 6; string master_instance_name = 7; SqlInstanceMaxDiskSize max_disk_size = 8; string name = 9; string project = 10; string region = 11; string root_password = 12; SqlInstanceCurrentDiskSize current_disk_size = 13; SqlInstanceDiskEncryptionConfiguration disk_encryption_configuration = 14; SqlInstanceFailoverReplica failover_replica = 15; repeated SqlInstanceIPAddresses ip_addresses = 16; SqlInstanceMasterInstance master_instance = 17; SqlInstanceReplicaConfiguration replica_configuration = 18; SqlInstanceScheduledMaintenance scheduled_maintenance = 19; SqlInstanceSettings settings = 20; } message SqlInstanceMaxDiskSize { int64 value = 1; } message SqlInstanceCurrentDiskSize { int64 value = 1; } message SqlInstanceDiskEncryptionConfiguration { string kms_key_name = 1; string kind = 2; } message SqlInstanceFailoverReplica { string name = 1; bool available = 2; } message SqlInstanceIPAddresses { SqlInstanceIPAddressesTypeEnum type = 1; string ip_address = 2; SqlInstanceIPAddressesTimeToRetire time_to_retire = 3; } message SqlInstanceIPAddressesTimeToRetire { int64 seconds = 1; int64 nanos = 2; } message SqlInstanceMasterInstance { string name = 1; string region = 2; } message SqlInstanceReplicaConfiguration { string kind = 1; SqlInstanceReplicaConfigurationMysqlReplicaConfiguration mysql_replica_configuration = 2; bool failover_target = 3; SqlInstanceReplicaConfigurationReplicaPoolConfiguration replica_pool_configuration = 4; } message SqlInstanceReplicaConfigurationMysqlReplicaConfiguration { string dump_file_path = 1; string username = 2; string password = 3; int64 connect_retry_interval = 4; SqlInstanceReplicaConfigurationMysqlReplicaConfigurationMasterHeartbeatPeriod master_heartbeat_period = 5; string ca_certificate = 6; string client_certificate = 7; string client_key = 8; string ssl_cipher = 9; bool verify_server_certificate = 10; string kind = 11; } message SqlInstanceReplicaConfigurationMysqlReplicaConfigurationMasterHeartbeatPeriod { int64 value = 1; } message SqlInstanceReplicaConfigurationReplicaPoolConfiguration { string kind = 1; SqlInstanceReplicaConfigurationReplicaPoolConfigurationStaticPoolConfiguration static_pool_configuration = 2; SqlInstanceReplicaConfigurationReplicaPoolConfigurationAutoscalingPoolConfiguration autoscaling_pool_configuration = 3; } message SqlInstanceReplicaConfigurationReplicaPoolConfigurationStaticPoolConfiguration { string kind = 1; int64 replica_count = 2; bool expose_replica_ip = 3; } message SqlInstanceReplicaConfigurationReplicaPoolConfigurationAutoscalingPoolConfiguration { string kind = 1; int64 min_replica_count = 2; int64 max_replica_count = 3; double target_cpu_util = 4; } message SqlInstanceScheduledMaintenance { SqlInstanceScheduledMaintenanceStartTime start_time = 1; bool can_defer = 2; bool can_reschedule = 3; } message SqlInstanceScheduledMaintenanceStartTime { int64 seconds = 1; int64 nanos = 2; } message SqlInstanceSettings { repeated string authorized_gae_applications = 1; string tier = 2; string kind = 3; SqlInstanceSettingsAvailabilityTypeEnum availability_type = 4; SqlInstanceSettingsPricingPlanEnum pricing_plan = 5; SqlInstanceSettingsReplicationTypeEnum replication_type = 6; SqlInstanceSettingsActivationPolicyEnum activation_policy = 7; bool storage_auto_resize = 8; SqlInstanceSettingsDataDiskTypeEnum data_disk_type = 9; bool database_replication_enabled = 10; bool crash_safe_replication_enabled = 11; } message ApplySqlInstanceRequest { SqlInstance resource = 1; repeated LifecycleDirective lifecycle_directives = 2; string service_account_file = 3; } message DeleteSqlInstanceRequest { string service_account_file = 1; SqlInstance resource = 2; } message ListSqlInstanceRequest { string service_account_file = 1; string Project = 2; } message ListSqlInstanceResponse { repeated SqlInstance items = 1; } service SqlInstanceService { rpc ApplySqlInstance(ApplySqlInstanceRequest) returns (SqlInstance); rpc DeleteSqlInstance(DeleteSqlInstanceRequest) returns (google.protobuf.Empty); rpc ListSqlInstance(ListSqlInstanceRequest) returns (ListSqlInstanceResponse); }