diff --git a/api/common/data_source.pb.go b/api/common/data_source.pb.go deleted file mode 100644 index 81116431..00000000 --- a/api/common/data_source.pb.go +++ /dev/null @@ -1,1162 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v3.6.1 -// source: ydb/library/yql/providers/generic/connector/api/common/data_source.proto - -package common - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// EDataSourceKind enumerates the external data sources -// supported by the federated query system -type EDataSourceKind int32 - -const ( - EDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED EDataSourceKind = 0 - EDataSourceKind_CLICKHOUSE EDataSourceKind = 1 - EDataSourceKind_POSTGRESQL EDataSourceKind = 2 - EDataSourceKind_S3 EDataSourceKind = 3 - EDataSourceKind_YDB EDataSourceKind = 4 - EDataSourceKind_MYSQL EDataSourceKind = 5 - EDataSourceKind_MS_SQL_SERVER EDataSourceKind = 6 - EDataSourceKind_GREENPLUM EDataSourceKind = 7 - EDataSourceKind_ORACLE EDataSourceKind = 8 - EDataSourceKind_LOGGING EDataSourceKind = 9 -) - -// Enum value maps for EDataSourceKind. -var ( - EDataSourceKind_name = map[int32]string{ - 0: "DATA_SOURCE_KIND_UNSPECIFIED", - 1: "CLICKHOUSE", - 2: "POSTGRESQL", - 3: "S3", - 4: "YDB", - 5: "MYSQL", - 6: "MS_SQL_SERVER", - 7: "GREENPLUM", - 8: "ORACLE", - 9: "LOGGING", - } - EDataSourceKind_value = map[string]int32{ - "DATA_SOURCE_KIND_UNSPECIFIED": 0, - "CLICKHOUSE": 1, - "POSTGRESQL": 2, - "S3": 3, - "YDB": 4, - "MYSQL": 5, - "MS_SQL_SERVER": 6, - "GREENPLUM": 7, - "ORACLE": 8, - "LOGGING": 9, - } -) - -func (x EDataSourceKind) Enum() *EDataSourceKind { - p := new(EDataSourceKind) - *p = x - return p -} - -func (x EDataSourceKind) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (EDataSourceKind) Descriptor() protoreflect.EnumDescriptor { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_enumTypes[0].Descriptor() -} - -func (EDataSourceKind) Type() protoreflect.EnumType { - return &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_enumTypes[0] -} - -func (x EDataSourceKind) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use EDataSourceKind.Descriptor instead. -func (EDataSourceKind) EnumDescriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{0} -} - -// EProtocol generalizes various kinds of network protocols supported by different databases. -type EProtocol int32 - -const ( - EProtocol_PROTOCOL_UNSPECIFIED EProtocol = 0 - EProtocol_NATIVE EProtocol = 1 // CLICKHOUSE, POSTGRESQL - EProtocol_HTTP EProtocol = 2 // CLICKHOUSE, S3 -) - -// Enum value maps for EProtocol. -var ( - EProtocol_name = map[int32]string{ - 0: "PROTOCOL_UNSPECIFIED", - 1: "NATIVE", - 2: "HTTP", - } - EProtocol_value = map[string]int32{ - "PROTOCOL_UNSPECIFIED": 0, - "NATIVE": 1, - "HTTP": 2, - } -) - -func (x EProtocol) Enum() *EProtocol { - p := new(EProtocol) - *p = x - return p -} - -func (x EProtocol) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (EProtocol) Descriptor() protoreflect.EnumDescriptor { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_enumTypes[1].Descriptor() -} - -func (EProtocol) Type() protoreflect.EnumType { - return &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_enumTypes[1] -} - -func (x EProtocol) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use EProtocol.Descriptor instead. -func (EProtocol) EnumDescriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{1} -} - -// TCredentials represents various ways of user authentication in the data source instance -type TCredentials struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Payload: - // - // *TCredentials_Basic - // *TCredentials_Token - Payload isTCredentials_Payload `protobuf_oneof:"payload"` -} - -func (x *TCredentials) Reset() { - *x = TCredentials{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TCredentials) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TCredentials) ProtoMessage() {} - -func (x *TCredentials) ProtoReflect() protoreflect.Message { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TCredentials.ProtoReflect.Descriptor instead. -func (*TCredentials) Descriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{0} -} - -func (m *TCredentials) GetPayload() isTCredentials_Payload { - if m != nil { - return m.Payload - } - return nil -} - -func (x *TCredentials) GetBasic() *TCredentials_TBasic { - if x, ok := x.GetPayload().(*TCredentials_Basic); ok { - return x.Basic - } - return nil -} - -func (x *TCredentials) GetToken() *TCredentials_TToken { - if x, ok := x.GetPayload().(*TCredentials_Token); ok { - return x.Token - } - return nil -} - -type isTCredentials_Payload interface { - isTCredentials_Payload() -} - -type TCredentials_Basic struct { - Basic *TCredentials_TBasic `protobuf:"bytes,1,opt,name=basic,proto3,oneof"` -} - -type TCredentials_Token struct { - Token *TCredentials_TToken `protobuf:"bytes,2,opt,name=token,proto3,oneof"` -} - -func (*TCredentials_Basic) isTCredentials_Payload() {} - -func (*TCredentials_Token) isTCredentials_Payload() {} - -// TPostgreSQLDataSourceOptions represents settings specific to PostgreSQL -type TPostgreSQLDataSourceOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // PostgreSQL schema - Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` -} - -func (x *TPostgreSQLDataSourceOptions) Reset() { - *x = TPostgreSQLDataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TPostgreSQLDataSourceOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TPostgreSQLDataSourceOptions) ProtoMessage() {} - -func (x *TPostgreSQLDataSourceOptions) ProtoReflect() protoreflect.Message { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TPostgreSQLDataSourceOptions.ProtoReflect.Descriptor instead. -func (*TPostgreSQLDataSourceOptions) Descriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{1} -} - -func (x *TPostgreSQLDataSourceOptions) GetSchema() string { - if x != nil { - return x.Schema - } - return "" -} - -// TClickhouseDataSourceOptions represents settings specific to Clickhouse -type TClickhouseDataSourceOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *TClickhouseDataSourceOptions) Reset() { - *x = TClickhouseDataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TClickhouseDataSourceOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TClickhouseDataSourceOptions) ProtoMessage() {} - -func (x *TClickhouseDataSourceOptions) ProtoReflect() protoreflect.Message { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TClickhouseDataSourceOptions.ProtoReflect.Descriptor instead. -func (*TClickhouseDataSourceOptions) Descriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{2} -} - -// TS3DataSourceOptions represents settings specific to S3 (Simple Storage Service) -type TS3DataSourceOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // the region where data is stored - Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` - // the bucket the object belongs to - Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"` -} - -func (x *TS3DataSourceOptions) Reset() { - *x = TS3DataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TS3DataSourceOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TS3DataSourceOptions) ProtoMessage() {} - -func (x *TS3DataSourceOptions) ProtoReflect() protoreflect.Message { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TS3DataSourceOptions.ProtoReflect.Descriptor instead. -func (*TS3DataSourceOptions) Descriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{3} -} - -func (x *TS3DataSourceOptions) GetRegion() string { - if x != nil { - return x.Region - } - return "" -} - -func (x *TS3DataSourceOptions) GetBucket() string { - if x != nil { - return x.Bucket - } - return "" -} - -// TGreenplumDataSourceOptions represents settings specific to Greenplum -type TGreenplumDataSourceOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Greenplum schema - Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` -} - -func (x *TGreenplumDataSourceOptions) Reset() { - *x = TGreenplumDataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TGreenplumDataSourceOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TGreenplumDataSourceOptions) ProtoMessage() {} - -func (x *TGreenplumDataSourceOptions) ProtoReflect() protoreflect.Message { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TGreenplumDataSourceOptions.ProtoReflect.Descriptor instead. -func (*TGreenplumDataSourceOptions) Descriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{4} -} - -func (x *TGreenplumDataSourceOptions) GetSchema() string { - if x != nil { - return x.Schema - } - return "" -} - -// TOracleDataSourceOptions represents settings specific to Oracle -type TOracleDataSourceOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Oracle service_name - alias to SID of oracle INSTANCE, or SID, or PDB. - // - // More about connection options in Oracle docs: - // https://docs.oracle.com/en/database/other-databases/essbase/21/essoa/connection-string-formats.html - ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` -} - -func (x *TOracleDataSourceOptions) Reset() { - *x = TOracleDataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TOracleDataSourceOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TOracleDataSourceOptions) ProtoMessage() {} - -func (x *TOracleDataSourceOptions) ProtoReflect() protoreflect.Message { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TOracleDataSourceOptions.ProtoReflect.Descriptor instead. -func (*TOracleDataSourceOptions) Descriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{5} -} - -func (x *TOracleDataSourceOptions) GetServiceName() string { - if x != nil { - return x.ServiceName - } - return "" -} - -// TLoggingDataSourceOptions represents settings specific to Logging -type TLoggingDataSourceOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FolderId string `protobuf:"bytes,1,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"` -} - -func (x *TLoggingDataSourceOptions) Reset() { - *x = TLoggingDataSourceOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TLoggingDataSourceOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TLoggingDataSourceOptions) ProtoMessage() {} - -func (x *TLoggingDataSourceOptions) ProtoReflect() protoreflect.Message { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TLoggingDataSourceOptions.ProtoReflect.Descriptor instead. -func (*TLoggingDataSourceOptions) Descriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{6} -} - -func (x *TLoggingDataSourceOptions) GetFolderId() string { - if x != nil { - return x.FolderId - } - return "" -} - -// TDataSourceInstance helps to identify the instance of a data source to redirect request to. -type TDataSourceInstance struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Data source kind - Kind EDataSourceKind `protobuf:"varint,1,opt,name=kind,proto3,enum=NYql.NConnector.NApi.EDataSourceKind" json:"kind,omitempty"` - // Network address - Endpoint *TEndpoint `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - // Database name - Database string `protobuf:"bytes,3,opt,name=database,proto3" json:"database,omitempty"` - // Credentials to access database - Credentials *TCredentials `protobuf:"bytes,4,opt,name=credentials,proto3" json:"credentials,omitempty"` - // If true, Connector server will use secure connections to access remote data sources. - // Certificates will be obtained from the standard system paths. - UseTls bool `protobuf:"varint,5,opt,name=use_tls,json=useTls,proto3" json:"use_tls,omitempty"` - // Allows to specify network protocol that should be used between - // during the connection between Connector and the remote data source - Protocol EProtocol `protobuf:"varint,6,opt,name=protocol,proto3,enum=NYql.NConnector.NApi.EProtocol" json:"protocol,omitempty"` - // Options specific to various data sources - // - // Types that are assignable to Options: - // - // *TDataSourceInstance_PgOptions - // *TDataSourceInstance_ChOptions - // *TDataSourceInstance_S3Options - // *TDataSourceInstance_GpOptions - // *TDataSourceInstance_OracleOptions - // *TDataSourceInstance_LoggingOptions - Options isTDataSourceInstance_Options `protobuf_oneof:"options"` -} - -func (x *TDataSourceInstance) Reset() { - *x = TDataSourceInstance{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TDataSourceInstance) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TDataSourceInstance) ProtoMessage() {} - -func (x *TDataSourceInstance) ProtoReflect() protoreflect.Message { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TDataSourceInstance.ProtoReflect.Descriptor instead. -func (*TDataSourceInstance) Descriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{7} -} - -func (x *TDataSourceInstance) GetKind() EDataSourceKind { - if x != nil { - return x.Kind - } - return EDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED -} - -func (x *TDataSourceInstance) GetEndpoint() *TEndpoint { - if x != nil { - return x.Endpoint - } - return nil -} - -func (x *TDataSourceInstance) GetDatabase() string { - if x != nil { - return x.Database - } - return "" -} - -func (x *TDataSourceInstance) GetCredentials() *TCredentials { - if x != nil { - return x.Credentials - } - return nil -} - -func (x *TDataSourceInstance) GetUseTls() bool { - if x != nil { - return x.UseTls - } - return false -} - -func (x *TDataSourceInstance) GetProtocol() EProtocol { - if x != nil { - return x.Protocol - } - return EProtocol_PROTOCOL_UNSPECIFIED -} - -func (m *TDataSourceInstance) GetOptions() isTDataSourceInstance_Options { - if m != nil { - return m.Options - } - return nil -} - -func (x *TDataSourceInstance) GetPgOptions() *TPostgreSQLDataSourceOptions { - if x, ok := x.GetOptions().(*TDataSourceInstance_PgOptions); ok { - return x.PgOptions - } - return nil -} - -func (x *TDataSourceInstance) GetChOptions() *TClickhouseDataSourceOptions { - if x, ok := x.GetOptions().(*TDataSourceInstance_ChOptions); ok { - return x.ChOptions - } - return nil -} - -func (x *TDataSourceInstance) GetS3Options() *TS3DataSourceOptions { - if x, ok := x.GetOptions().(*TDataSourceInstance_S3Options); ok { - return x.S3Options - } - return nil -} - -func (x *TDataSourceInstance) GetGpOptions() *TGreenplumDataSourceOptions { - if x, ok := x.GetOptions().(*TDataSourceInstance_GpOptions); ok { - return x.GpOptions - } - return nil -} - -func (x *TDataSourceInstance) GetOracleOptions() *TOracleDataSourceOptions { - if x, ok := x.GetOptions().(*TDataSourceInstance_OracleOptions); ok { - return x.OracleOptions - } - return nil -} - -func (x *TDataSourceInstance) GetLoggingOptions() *TLoggingDataSourceOptions { - if x, ok := x.GetOptions().(*TDataSourceInstance_LoggingOptions); ok { - return x.LoggingOptions - } - return nil -} - -type isTDataSourceInstance_Options interface { - isTDataSourceInstance_Options() -} - -type TDataSourceInstance_PgOptions struct { - PgOptions *TPostgreSQLDataSourceOptions `protobuf:"bytes,7,opt,name=pg_options,json=pgOptions,proto3,oneof"` -} - -type TDataSourceInstance_ChOptions struct { - ChOptions *TClickhouseDataSourceOptions `protobuf:"bytes,8,opt,name=ch_options,json=chOptions,proto3,oneof"` -} - -type TDataSourceInstance_S3Options struct { - S3Options *TS3DataSourceOptions `protobuf:"bytes,9,opt,name=s3_options,json=s3Options,proto3,oneof"` -} - -type TDataSourceInstance_GpOptions struct { - GpOptions *TGreenplumDataSourceOptions `protobuf:"bytes,10,opt,name=gp_options,json=gpOptions,proto3,oneof"` -} - -type TDataSourceInstance_OracleOptions struct { - OracleOptions *TOracleDataSourceOptions `protobuf:"bytes,11,opt,name=oracle_options,json=oracleOptions,proto3,oneof"` -} - -type TDataSourceInstance_LoggingOptions struct { - LoggingOptions *TLoggingDataSourceOptions `protobuf:"bytes,12,opt,name=logging_options,json=loggingOptions,proto3,oneof"` -} - -func (*TDataSourceInstance_PgOptions) isTDataSourceInstance_Options() {} - -func (*TDataSourceInstance_ChOptions) isTDataSourceInstance_Options() {} - -func (*TDataSourceInstance_S3Options) isTDataSourceInstance_Options() {} - -func (*TDataSourceInstance_GpOptions) isTDataSourceInstance_Options() {} - -func (*TDataSourceInstance_OracleOptions) isTDataSourceInstance_Options() {} - -func (*TDataSourceInstance_LoggingOptions) isTDataSourceInstance_Options() {} - -type TCredentials_TBasic struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` - Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` -} - -func (x *TCredentials_TBasic) Reset() { - *x = TCredentials_TBasic{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TCredentials_TBasic) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TCredentials_TBasic) ProtoMessage() {} - -func (x *TCredentials_TBasic) ProtoReflect() protoreflect.Message { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TCredentials_TBasic.ProtoReflect.Descriptor instead. -func (*TCredentials_TBasic) Descriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{0, 0} -} - -func (x *TCredentials_TBasic) GetUsername() string { - if x != nil { - return x.Username - } - return "" -} - -func (x *TCredentials_TBasic) GetPassword() string { - if x != nil { - return x.Password - } - return "" -} - -type TCredentials_TToken struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` -} - -func (x *TCredentials_TToken) Reset() { - *x = TCredentials_TToken{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TCredentials_TToken) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TCredentials_TToken) ProtoMessage() {} - -func (x *TCredentials_TToken) ProtoReflect() protoreflect.Message { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TCredentials_TToken.ProtoReflect.Descriptor instead. -func (*TCredentials_TToken) Descriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP(), []int{0, 1} -} - -func (x *TCredentials_TToken) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *TCredentials_TToken) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -var File_ydb_library_yql_providers_generic_connector_api_common_data_source_proto protoreflect.FileDescriptor - -var file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDesc = []byte{ - 0x0a, 0x48, 0x79, 0x64, 0x62, 0x2f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2f, 0x79, 0x71, - 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x4e, 0x59, 0x71, 0x6c, - 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, - 0x1a, 0x45, 0x79, 0x64, 0x62, 0x2f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2f, 0x79, 0x71, - 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x02, 0x0a, 0x0c, 0x54, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, - 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, - 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x54, 0x42, 0x61, 0x73, - 0x69, 0x63, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x63, 0x12, 0x41, 0x0a, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, - 0x69, 0x2e, 0x54, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x54, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x40, - 0x0a, 0x06, 0x54, 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x1a, 0x32, 0x0a, 0x06, 0x54, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, - 0x36, 0x0a, 0x1c, 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x1e, 0x0a, 0x1c, 0x54, 0x43, 0x6c, 0x69, 0x63, - 0x6b, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x46, 0x0a, 0x14, 0x54, 0x53, 0x33, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, - 0x35, 0x0a, 0x1b, 0x54, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x3d, 0x0a, 0x18, 0x54, 0x4f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x38, 0x0a, 0x19, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, - 0x67, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, - 0xd0, 0x06, 0x0a, 0x13, 0x54, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x45, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x63, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x73, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x75, 0x73, 0x65, 0x54, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x4e, - 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, - 0x41, 0x70, 0x69, 0x2e, 0x45, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x53, 0x0a, 0x0a, 0x70, 0x67, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x4e, 0x59, - 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, - 0x70, 0x69, 0x2e, 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, - 0x00, 0x52, 0x09, 0x70, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x0a, - 0x63, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x32, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x68, 0x6f, - 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x4b, 0x0a, 0x0a, 0x73, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x33, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x48, 0x00, 0x52, 0x09, 0x73, 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x52, - 0x0a, 0x0a, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x47, 0x72, 0x65, 0x65, 0x6e, - 0x70, 0x6c, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x09, 0x67, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x0e, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, - 0x69, 0x2e, 0x54, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x6f, 0x72, - 0x61, 0x63, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x0f, 0x6c, - 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x4c, 0x6f, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2a, 0xaa, 0x01, 0x0a, 0x0f, 0x45, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4c, 0x49, 0x43, - 0x4b, 0x48, 0x4f, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x4f, 0x53, 0x54, - 0x47, 0x52, 0x45, 0x53, 0x51, 0x4c, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x33, 0x10, 0x03, - 0x12, 0x07, 0x0a, 0x03, 0x59, 0x44, 0x42, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x59, 0x53, - 0x51, 0x4c, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x53, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x53, - 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x52, 0x45, 0x45, 0x4e, - 0x50, 0x4c, 0x55, 0x4d, 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x52, 0x41, 0x43, 0x4c, 0x45, - 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x4f, 0x47, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x2a, - 0x3b, 0x0a, 0x09, 0x45, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x14, - 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, - 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x02, 0x42, 0x34, 0x5a, 0x32, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescOnce sync.Once - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescData = file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDesc -) - -func file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescGZIP() []byte { - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescOnce.Do(func() { - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescData = protoimpl.X.CompressGZIP(file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescData) - }) - return file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDescData -} - -var file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_goTypes = []interface{}{ - (EDataSourceKind)(0), // 0: NYql.NConnector.NApi.EDataSourceKind - (EProtocol)(0), // 1: NYql.NConnector.NApi.EProtocol - (*TCredentials)(nil), // 2: NYql.NConnector.NApi.TCredentials - (*TPostgreSQLDataSourceOptions)(nil), // 3: NYql.NConnector.NApi.TPostgreSQLDataSourceOptions - (*TClickhouseDataSourceOptions)(nil), // 4: NYql.NConnector.NApi.TClickhouseDataSourceOptions - (*TS3DataSourceOptions)(nil), // 5: NYql.NConnector.NApi.TS3DataSourceOptions - (*TGreenplumDataSourceOptions)(nil), // 6: NYql.NConnector.NApi.TGreenplumDataSourceOptions - (*TOracleDataSourceOptions)(nil), // 7: NYql.NConnector.NApi.TOracleDataSourceOptions - (*TLoggingDataSourceOptions)(nil), // 8: NYql.NConnector.NApi.TLoggingDataSourceOptions - (*TDataSourceInstance)(nil), // 9: NYql.NConnector.NApi.TDataSourceInstance - (*TCredentials_TBasic)(nil), // 10: NYql.NConnector.NApi.TCredentials.TBasic - (*TCredentials_TToken)(nil), // 11: NYql.NConnector.NApi.TCredentials.TToken - (*TEndpoint)(nil), // 12: NYql.NConnector.NApi.TEndpoint -} -var file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_depIdxs = []int32{ - 10, // 0: NYql.NConnector.NApi.TCredentials.basic:type_name -> NYql.NConnector.NApi.TCredentials.TBasic - 11, // 1: NYql.NConnector.NApi.TCredentials.token:type_name -> NYql.NConnector.NApi.TCredentials.TToken - 0, // 2: NYql.NConnector.NApi.TDataSourceInstance.kind:type_name -> NYql.NConnector.NApi.EDataSourceKind - 12, // 3: NYql.NConnector.NApi.TDataSourceInstance.endpoint:type_name -> NYql.NConnector.NApi.TEndpoint - 2, // 4: NYql.NConnector.NApi.TDataSourceInstance.credentials:type_name -> NYql.NConnector.NApi.TCredentials - 1, // 5: NYql.NConnector.NApi.TDataSourceInstance.protocol:type_name -> NYql.NConnector.NApi.EProtocol - 3, // 6: NYql.NConnector.NApi.TDataSourceInstance.pg_options:type_name -> NYql.NConnector.NApi.TPostgreSQLDataSourceOptions - 4, // 7: NYql.NConnector.NApi.TDataSourceInstance.ch_options:type_name -> NYql.NConnector.NApi.TClickhouseDataSourceOptions - 5, // 8: NYql.NConnector.NApi.TDataSourceInstance.s3_options:type_name -> NYql.NConnector.NApi.TS3DataSourceOptions - 6, // 9: NYql.NConnector.NApi.TDataSourceInstance.gp_options:type_name -> NYql.NConnector.NApi.TGreenplumDataSourceOptions - 7, // 10: NYql.NConnector.NApi.TDataSourceInstance.oracle_options:type_name -> NYql.NConnector.NApi.TOracleDataSourceOptions - 8, // 11: NYql.NConnector.NApi.TDataSourceInstance.logging_options:type_name -> NYql.NConnector.NApi.TLoggingDataSourceOptions - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name -} - -func init() { file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_init() } -func file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_init() { - if File_ydb_library_yql_providers_generic_connector_api_common_data_source_proto != nil { - return - } - file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_init() - if !protoimpl.UnsafeEnabled { - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TCredentials); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPostgreSQLDataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TClickhouseDataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TS3DataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TGreenplumDataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TOracleDataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TLoggingDataSourceOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TDataSourceInstance); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TCredentials_TBasic); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TCredentials_TToken); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[0].OneofWrappers = []interface{}{ - (*TCredentials_Basic)(nil), - (*TCredentials_Token)(nil), - } - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes[7].OneofWrappers = []interface{}{ - (*TDataSourceInstance_PgOptions)(nil), - (*TDataSourceInstance_ChOptions)(nil), - (*TDataSourceInstance_S3Options)(nil), - (*TDataSourceInstance_GpOptions)(nil), - (*TDataSourceInstance_OracleOptions)(nil), - (*TDataSourceInstance_LoggingOptions)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDesc, - NumEnums: 2, - NumMessages: 10, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_goTypes, - DependencyIndexes: file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_depIdxs, - EnumInfos: file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_enumTypes, - MessageInfos: file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_msgTypes, - }.Build() - File_ydb_library_yql_providers_generic_connector_api_common_data_source_proto = out.File - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_rawDesc = nil - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_goTypes = nil - file_ydb_library_yql_providers_generic_connector_api_common_data_source_proto_depIdxs = nil -} diff --git a/api/common/endpoint.pb.go b/api/common/endpoint.pb.go deleted file mode 100644 index 0b67ef94..00000000 --- a/api/common/endpoint.pb.go +++ /dev/null @@ -1,158 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v3.6.1 -// source: ydb/library/yql/providers/generic/connector/api/common/endpoint.proto - -package common - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// TEndpoint represents the network address of a data source instance -type TEndpoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` -} - -func (x *TEndpoint) Reset() { - *x = TEndpoint{} - if protoimpl.UnsafeEnabled { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TEndpoint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TEndpoint) ProtoMessage() {} - -func (x *TEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TEndpoint.ProtoReflect.Descriptor instead. -func (*TEndpoint) Descriptor() ([]byte, []int) { - return file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDescGZIP(), []int{0} -} - -func (x *TEndpoint) GetHost() string { - if x != nil { - return x.Host - } - return "" -} - -func (x *TEndpoint) GetPort() uint32 { - if x != nil { - return x.Port - } - return 0 -} - -var File_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto protoreflect.FileDescriptor - -var file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDesc = []byte{ - 0x0a, 0x45, 0x79, 0x64, 0x62, 0x2f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2f, 0x79, 0x71, - 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x22, 0x33, 0x0a, - 0x09, 0x54, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, - 0x72, 0x74, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x66, 0x71, - 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDescOnce sync.Once - file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDescData = file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDesc -) - -func file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDescGZIP() []byte { - file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDescOnce.Do(func() { - file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDescData) - }) - return file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDescData -} - -var file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_goTypes = []interface{}{ - (*TEndpoint)(nil), // 0: NYql.NConnector.NApi.TEndpoint -} -var file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_init() } -func file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_init() { - if File_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TEndpoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDesc, - NumEnums: 0, - NumMessages: 1, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_goTypes, - DependencyIndexes: file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_depIdxs, - MessageInfos: file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_msgTypes, - }.Build() - File_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto = out.File - file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_rawDesc = nil - file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_goTypes = nil - file_ydb_library_yql_providers_generic_connector_api_common_endpoint_proto_depIdxs = nil -} diff --git a/api/common/gateways_config.pb.go b/api/common/gateways_config.pb.go new file mode 100644 index 00000000..becce1f5 --- /dev/null +++ b/api/common/gateways_config.pb.go @@ -0,0 +1,1219 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v3.6.1 +// source: yql/essentials/providers/common/proto/gateways_config.proto + +package common + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// EGenericDataSourceKind enumerates the external data sources +// supported by the federated query system +type EGenericDataSourceKind int32 + +const ( + EGenericDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED EGenericDataSourceKind = 0 + EGenericDataSourceKind_CLICKHOUSE EGenericDataSourceKind = 1 + EGenericDataSourceKind_POSTGRESQL EGenericDataSourceKind = 2 + EGenericDataSourceKind_S3 EGenericDataSourceKind = 3 + EGenericDataSourceKind_YDB EGenericDataSourceKind = 4 + EGenericDataSourceKind_MYSQL EGenericDataSourceKind = 5 + EGenericDataSourceKind_MS_SQL_SERVER EGenericDataSourceKind = 6 + EGenericDataSourceKind_GREENPLUM EGenericDataSourceKind = 7 + EGenericDataSourceKind_ORACLE EGenericDataSourceKind = 8 + EGenericDataSourceKind_LOGGING EGenericDataSourceKind = 9 +) + +// Enum value maps for EGenericDataSourceKind. +var ( + EGenericDataSourceKind_name = map[int32]string{ + 0: "DATA_SOURCE_KIND_UNSPECIFIED", + 1: "CLICKHOUSE", + 2: "POSTGRESQL", + 3: "S3", + 4: "YDB", + 5: "MYSQL", + 6: "MS_SQL_SERVER", + 7: "GREENPLUM", + 8: "ORACLE", + 9: "LOGGING", + } + EGenericDataSourceKind_value = map[string]int32{ + "DATA_SOURCE_KIND_UNSPECIFIED": 0, + "CLICKHOUSE": 1, + "POSTGRESQL": 2, + "S3": 3, + "YDB": 4, + "MYSQL": 5, + "MS_SQL_SERVER": 6, + "GREENPLUM": 7, + "ORACLE": 8, + "LOGGING": 9, + } +) + +func (x EGenericDataSourceKind) Enum() *EGenericDataSourceKind { + p := new(EGenericDataSourceKind) + *p = x + return p +} + +func (x EGenericDataSourceKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EGenericDataSourceKind) Descriptor() protoreflect.EnumDescriptor { + return file_yql_essentials_providers_common_proto_gateways_config_proto_enumTypes[0].Descriptor() +} + +func (EGenericDataSourceKind) Type() protoreflect.EnumType { + return &file_yql_essentials_providers_common_proto_gateways_config_proto_enumTypes[0] +} + +func (x EGenericDataSourceKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EGenericDataSourceKind.Descriptor instead. +func (EGenericDataSourceKind) EnumDescriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{0} +} + +// EGenericProtocol generalizes various kinds of network protocols supported by different databases. +type EGenericProtocol int32 + +const ( + EGenericProtocol_PROTOCOL_UNSPECIFIED EGenericProtocol = 0 + EGenericProtocol_NATIVE EGenericProtocol = 1 // CLICKHOUSE, POSTGRESQL + EGenericProtocol_HTTP EGenericProtocol = 2 // CLICKHOUSE, S3 +) + +// Enum value maps for EGenericProtocol. +var ( + EGenericProtocol_name = map[int32]string{ + 0: "PROTOCOL_UNSPECIFIED", + 1: "NATIVE", + 2: "HTTP", + } + EGenericProtocol_value = map[string]int32{ + "PROTOCOL_UNSPECIFIED": 0, + "NATIVE": 1, + "HTTP": 2, + } +) + +func (x EGenericProtocol) Enum() *EGenericProtocol { + p := new(EGenericProtocol) + *p = x + return p +} + +func (x EGenericProtocol) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EGenericProtocol) Descriptor() protoreflect.EnumDescriptor { + return file_yql_essentials_providers_common_proto_gateways_config_proto_enumTypes[1].Descriptor() +} + +func (EGenericProtocol) Type() protoreflect.EnumType { + return &file_yql_essentials_providers_common_proto_gateways_config_proto_enumTypes[1] +} + +func (x EGenericProtocol) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EGenericProtocol.Descriptor instead. +func (EGenericProtocol) EnumDescriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{1} +} + +// TGenericEndpoint represents the network address of a generic data source instance +type TGenericEndpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *TGenericEndpoint) Reset() { + *x = TGenericEndpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TGenericEndpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TGenericEndpoint) ProtoMessage() {} + +func (x *TGenericEndpoint) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TGenericEndpoint.ProtoReflect.Descriptor instead. +func (*TGenericEndpoint) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{0} +} + +func (x *TGenericEndpoint) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +func (x *TGenericEndpoint) GetPort() uint32 { + if x != nil { + return x.Port + } + return 0 +} + +// TGenericCredentials represents various ways of user authentication in the data source instance +type TGenericCredentials struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Payload: + // + // *TGenericCredentials_Basic + // *TGenericCredentials_Token + Payload isTGenericCredentials_Payload `protobuf_oneof:"payload"` +} + +func (x *TGenericCredentials) Reset() { + *x = TGenericCredentials{} + if protoimpl.UnsafeEnabled { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TGenericCredentials) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TGenericCredentials) ProtoMessage() {} + +func (x *TGenericCredentials) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TGenericCredentials.ProtoReflect.Descriptor instead. +func (*TGenericCredentials) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{1} +} + +func (m *TGenericCredentials) GetPayload() isTGenericCredentials_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (x *TGenericCredentials) GetBasic() *TGenericCredentials_TBasic { + if x, ok := x.GetPayload().(*TGenericCredentials_Basic); ok { + return x.Basic + } + return nil +} + +func (x *TGenericCredentials) GetToken() *TGenericCredentials_TToken { + if x, ok := x.GetPayload().(*TGenericCredentials_Token); ok { + return x.Token + } + return nil +} + +type isTGenericCredentials_Payload interface { + isTGenericCredentials_Payload() +} + +type TGenericCredentials_Basic struct { + Basic *TGenericCredentials_TBasic `protobuf:"bytes,1,opt,name=basic,proto3,oneof"` +} + +type TGenericCredentials_Token struct { + Token *TGenericCredentials_TToken `protobuf:"bytes,2,opt,name=token,proto3,oneof"` +} + +func (*TGenericCredentials_Basic) isTGenericCredentials_Payload() {} + +func (*TGenericCredentials_Token) isTGenericCredentials_Payload() {} + +// TPostgreSQLDataSourceOptions represents settings specific to PostgreSQL +type TPostgreSQLDataSourceOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // PostgreSQL schema + Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` +} + +func (x *TPostgreSQLDataSourceOptions) Reset() { + *x = TPostgreSQLDataSourceOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TPostgreSQLDataSourceOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TPostgreSQLDataSourceOptions) ProtoMessage() {} + +func (x *TPostgreSQLDataSourceOptions) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TPostgreSQLDataSourceOptions.ProtoReflect.Descriptor instead. +func (*TPostgreSQLDataSourceOptions) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{2} +} + +func (x *TPostgreSQLDataSourceOptions) GetSchema() string { + if x != nil { + return x.Schema + } + return "" +} + +// TClickhouseDataSourceOptions represents settings specific to Clickhouse +type TClickhouseDataSourceOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *TClickhouseDataSourceOptions) Reset() { + *x = TClickhouseDataSourceOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TClickhouseDataSourceOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TClickhouseDataSourceOptions) ProtoMessage() {} + +func (x *TClickhouseDataSourceOptions) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TClickhouseDataSourceOptions.ProtoReflect.Descriptor instead. +func (*TClickhouseDataSourceOptions) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{3} +} + +// TS3DataSourceOptions represents settings specific to S3 (Simple Storage Service) +type TS3DataSourceOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // the region where data is stored + Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` + // the bucket the object belongs to + Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"` +} + +func (x *TS3DataSourceOptions) Reset() { + *x = TS3DataSourceOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TS3DataSourceOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TS3DataSourceOptions) ProtoMessage() {} + +func (x *TS3DataSourceOptions) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TS3DataSourceOptions.ProtoReflect.Descriptor instead. +func (*TS3DataSourceOptions) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{4} +} + +func (x *TS3DataSourceOptions) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *TS3DataSourceOptions) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +// TGreenplumDataSourceOptions represents settings specific to Greenplum +type TGreenplumDataSourceOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Greenplum schema + Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` +} + +func (x *TGreenplumDataSourceOptions) Reset() { + *x = TGreenplumDataSourceOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TGreenplumDataSourceOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TGreenplumDataSourceOptions) ProtoMessage() {} + +func (x *TGreenplumDataSourceOptions) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TGreenplumDataSourceOptions.ProtoReflect.Descriptor instead. +func (*TGreenplumDataSourceOptions) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{5} +} + +func (x *TGreenplumDataSourceOptions) GetSchema() string { + if x != nil { + return x.Schema + } + return "" +} + +// TOracleDataSourceOptions represents settings specific to Oracle +type TOracleDataSourceOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Oracle service_name - alias to SID of oracle INSTANCE, or SID, or PDB. + // + // More about connection options in Oracle docs: + // https://docs.oracle.com/en/database/other-databases/essbase/21/essoa/connection-string-formats.html + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` +} + +func (x *TOracleDataSourceOptions) Reset() { + *x = TOracleDataSourceOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TOracleDataSourceOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TOracleDataSourceOptions) ProtoMessage() {} + +func (x *TOracleDataSourceOptions) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TOracleDataSourceOptions.ProtoReflect.Descriptor instead. +func (*TOracleDataSourceOptions) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{6} +} + +func (x *TOracleDataSourceOptions) GetServiceName() string { + if x != nil { + return x.ServiceName + } + return "" +} + +// TLoggingDataSourceOptions represents settings specific to Logging +type TLoggingDataSourceOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FolderId string `protobuf:"bytes,1,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"` +} + +func (x *TLoggingDataSourceOptions) Reset() { + *x = TLoggingDataSourceOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TLoggingDataSourceOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TLoggingDataSourceOptions) ProtoMessage() {} + +func (x *TLoggingDataSourceOptions) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TLoggingDataSourceOptions.ProtoReflect.Descriptor instead. +func (*TLoggingDataSourceOptions) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{7} +} + +func (x *TLoggingDataSourceOptions) GetFolderId() string { + if x != nil { + return x.FolderId + } + return "" +} + +// TGenericDataSourceInstance helps to identify the instance of a data source to redirect request to. +type TGenericDataSourceInstance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Data source kind + Kind EGenericDataSourceKind `protobuf:"varint,1,opt,name=kind,proto3,enum=NYql.EGenericDataSourceKind" json:"kind,omitempty"` + // Network address + Endpoint *TGenericEndpoint `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Database name + Database string `protobuf:"bytes,3,opt,name=database,proto3" json:"database,omitempty"` + // Credentials to access database + Credentials *TGenericCredentials `protobuf:"bytes,4,opt,name=credentials,proto3" json:"credentials,omitempty"` + // If true, Connector server will use secure connections to access remote data sources. + // Certificates will be obtained from the standard system paths. + UseTls bool `protobuf:"varint,5,opt,name=use_tls,json=useTls,proto3" json:"use_tls,omitempty"` + // Allows to specify network protocol that should be used between + // during the connection between Connector and the remote data source + Protocol EGenericProtocol `protobuf:"varint,6,opt,name=protocol,proto3,enum=NYql.EGenericProtocol" json:"protocol,omitempty"` + // Options specific to various data sources + // + // Types that are assignable to Options: + // + // *TGenericDataSourceInstance_PgOptions + // *TGenericDataSourceInstance_ChOptions + // *TGenericDataSourceInstance_S3Options + // *TGenericDataSourceInstance_GpOptions + // *TGenericDataSourceInstance_OracleOptions + // *TGenericDataSourceInstance_LoggingOptions + Options isTGenericDataSourceInstance_Options `protobuf_oneof:"options"` +} + +func (x *TGenericDataSourceInstance) Reset() { + *x = TGenericDataSourceInstance{} + if protoimpl.UnsafeEnabled { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TGenericDataSourceInstance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TGenericDataSourceInstance) ProtoMessage() {} + +func (x *TGenericDataSourceInstance) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TGenericDataSourceInstance.ProtoReflect.Descriptor instead. +func (*TGenericDataSourceInstance) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{8} +} + +func (x *TGenericDataSourceInstance) GetKind() EGenericDataSourceKind { + if x != nil { + return x.Kind + } + return EGenericDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED +} + +func (x *TGenericDataSourceInstance) GetEndpoint() *TGenericEndpoint { + if x != nil { + return x.Endpoint + } + return nil +} + +func (x *TGenericDataSourceInstance) GetDatabase() string { + if x != nil { + return x.Database + } + return "" +} + +func (x *TGenericDataSourceInstance) GetCredentials() *TGenericCredentials { + if x != nil { + return x.Credentials + } + return nil +} + +func (x *TGenericDataSourceInstance) GetUseTls() bool { + if x != nil { + return x.UseTls + } + return false +} + +func (x *TGenericDataSourceInstance) GetProtocol() EGenericProtocol { + if x != nil { + return x.Protocol + } + return EGenericProtocol_PROTOCOL_UNSPECIFIED +} + +func (m *TGenericDataSourceInstance) GetOptions() isTGenericDataSourceInstance_Options { + if m != nil { + return m.Options + } + return nil +} + +func (x *TGenericDataSourceInstance) GetPgOptions() *TPostgreSQLDataSourceOptions { + if x, ok := x.GetOptions().(*TGenericDataSourceInstance_PgOptions); ok { + return x.PgOptions + } + return nil +} + +func (x *TGenericDataSourceInstance) GetChOptions() *TClickhouseDataSourceOptions { + if x, ok := x.GetOptions().(*TGenericDataSourceInstance_ChOptions); ok { + return x.ChOptions + } + return nil +} + +func (x *TGenericDataSourceInstance) GetS3Options() *TS3DataSourceOptions { + if x, ok := x.GetOptions().(*TGenericDataSourceInstance_S3Options); ok { + return x.S3Options + } + return nil +} + +func (x *TGenericDataSourceInstance) GetGpOptions() *TGreenplumDataSourceOptions { + if x, ok := x.GetOptions().(*TGenericDataSourceInstance_GpOptions); ok { + return x.GpOptions + } + return nil +} + +func (x *TGenericDataSourceInstance) GetOracleOptions() *TOracleDataSourceOptions { + if x, ok := x.GetOptions().(*TGenericDataSourceInstance_OracleOptions); ok { + return x.OracleOptions + } + return nil +} + +func (x *TGenericDataSourceInstance) GetLoggingOptions() *TLoggingDataSourceOptions { + if x, ok := x.GetOptions().(*TGenericDataSourceInstance_LoggingOptions); ok { + return x.LoggingOptions + } + return nil +} + +type isTGenericDataSourceInstance_Options interface { + isTGenericDataSourceInstance_Options() +} + +type TGenericDataSourceInstance_PgOptions struct { + PgOptions *TPostgreSQLDataSourceOptions `protobuf:"bytes,7,opt,name=pg_options,json=pgOptions,proto3,oneof"` +} + +type TGenericDataSourceInstance_ChOptions struct { + ChOptions *TClickhouseDataSourceOptions `protobuf:"bytes,8,opt,name=ch_options,json=chOptions,proto3,oneof"` +} + +type TGenericDataSourceInstance_S3Options struct { + S3Options *TS3DataSourceOptions `protobuf:"bytes,9,opt,name=s3_options,json=s3Options,proto3,oneof"` +} + +type TGenericDataSourceInstance_GpOptions struct { + GpOptions *TGreenplumDataSourceOptions `protobuf:"bytes,10,opt,name=gp_options,json=gpOptions,proto3,oneof"` +} + +type TGenericDataSourceInstance_OracleOptions struct { + OracleOptions *TOracleDataSourceOptions `protobuf:"bytes,11,opt,name=oracle_options,json=oracleOptions,proto3,oneof"` +} + +type TGenericDataSourceInstance_LoggingOptions struct { + LoggingOptions *TLoggingDataSourceOptions `protobuf:"bytes,12,opt,name=logging_options,json=loggingOptions,proto3,oneof"` +} + +func (*TGenericDataSourceInstance_PgOptions) isTGenericDataSourceInstance_Options() {} + +func (*TGenericDataSourceInstance_ChOptions) isTGenericDataSourceInstance_Options() {} + +func (*TGenericDataSourceInstance_S3Options) isTGenericDataSourceInstance_Options() {} + +func (*TGenericDataSourceInstance_GpOptions) isTGenericDataSourceInstance_Options() {} + +func (*TGenericDataSourceInstance_OracleOptions) isTGenericDataSourceInstance_Options() {} + +func (*TGenericDataSourceInstance_LoggingOptions) isTGenericDataSourceInstance_Options() {} + +type TGenericCredentials_TBasic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` +} + +func (x *TGenericCredentials_TBasic) Reset() { + *x = TGenericCredentials_TBasic{} + if protoimpl.UnsafeEnabled { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TGenericCredentials_TBasic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TGenericCredentials_TBasic) ProtoMessage() {} + +func (x *TGenericCredentials_TBasic) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TGenericCredentials_TBasic.ProtoReflect.Descriptor instead. +func (*TGenericCredentials_TBasic) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *TGenericCredentials_TBasic) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *TGenericCredentials_TBasic) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +type TGenericCredentials_TToken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *TGenericCredentials_TToken) Reset() { + *x = TGenericCredentials_TToken{} + if protoimpl.UnsafeEnabled { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TGenericCredentials_TToken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TGenericCredentials_TToken) ProtoMessage() {} + +func (x *TGenericCredentials_TToken) ProtoReflect() protoreflect.Message { + mi := &file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TGenericCredentials_TToken.ProtoReflect.Descriptor instead. +func (*TGenericCredentials_TToken) Descriptor() ([]byte, []int) { + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *TGenericCredentials_TToken) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *TGenericCredentials_TToken) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +var File_yql_essentials_providers_common_proto_gateways_config_proto protoreflect.FileDescriptor + +var file_yql_essentials_providers_common_proto_gateways_config_proto_rawDesc = []byte{ + 0x0a, 0x3b, 0x79, 0x71, 0x6c, 0x2f, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, + 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x4e, + 0x59, 0x71, 0x6c, 0x22, 0x3a, 0x0a, 0x10, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, + 0x8a, 0x02, 0x0a, 0x13, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x43, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x73, 0x2e, 0x54, 0x42, 0x61, 0x73, 0x69, 0x63, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, + 0x63, 0x12, 0x38, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2e, 0x54, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x40, 0x0a, 0x06, 0x54, + 0x42, 0x61, 0x73, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x1a, 0x32, 0x0a, + 0x06, 0x54, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x36, 0x0a, 0x1c, + 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x22, 0x1e, 0x0a, 0x1c, 0x54, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x68, 0x6f, + 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x46, 0x0a, 0x14, 0x54, 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x35, 0x0a, 0x1b, + 0x54, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x22, 0x3d, 0x0a, 0x18, 0x54, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0x38, 0x0a, 0x19, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0xd3, 0x05, 0x0a, + 0x1a, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, + 0x2e, 0x45, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x32, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x3b, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0b, 0x63, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, + 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x73, 0x65, + 0x54, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x45, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x67, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, + 0x00, 0x52, 0x09, 0x70, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0a, + 0x63, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x68, 0x6f, + 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x33, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x53, 0x33, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x48, 0x00, 0x52, 0x09, 0x73, 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, + 0x0a, 0x0a, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x72, 0x65, 0x65, 0x6e, + 0x70, 0x6c, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x09, 0x67, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x4e, 0x59, 0x71, + 0x6c, 0x2e, 0x54, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x6f, 0x72, + 0x61, 0x63, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x6c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x4c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2a, 0xb1, 0x01, 0x0a, 0x16, 0x45, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, + 0x1c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4b, 0x49, 0x4e, + 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0e, 0x0a, 0x0a, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x48, 0x4f, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, + 0x0e, 0x0a, 0x0a, 0x50, 0x4f, 0x53, 0x54, 0x47, 0x52, 0x45, 0x53, 0x51, 0x4c, 0x10, 0x02, 0x12, + 0x06, 0x0a, 0x02, 0x53, 0x33, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x59, 0x44, 0x42, 0x10, 0x04, + 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4d, + 0x53, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x06, 0x12, 0x0d, + 0x0a, 0x09, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x50, 0x4c, 0x55, 0x4d, 0x10, 0x07, 0x12, 0x0a, 0x0a, + 0x06, 0x4f, 0x52, 0x41, 0x43, 0x4c, 0x45, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x4f, 0x47, + 0x47, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x2a, 0x42, 0x0a, 0x10, 0x45, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, + 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x02, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescOnce sync.Once + file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescData = file_yql_essentials_providers_common_proto_gateways_config_proto_rawDesc +) + +func file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescGZIP() []byte { + file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescOnce.Do(func() { + file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescData) + }) + return file_yql_essentials_providers_common_proto_gateways_config_proto_rawDescData +} + +var file_yql_essentials_providers_common_proto_gateways_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_yql_essentials_providers_common_proto_gateways_config_proto_goTypes = []interface{}{ + (EGenericDataSourceKind)(0), // 0: NYql.EGenericDataSourceKind + (EGenericProtocol)(0), // 1: NYql.EGenericProtocol + (*TGenericEndpoint)(nil), // 2: NYql.TGenericEndpoint + (*TGenericCredentials)(nil), // 3: NYql.TGenericCredentials + (*TPostgreSQLDataSourceOptions)(nil), // 4: NYql.TPostgreSQLDataSourceOptions + (*TClickhouseDataSourceOptions)(nil), // 5: NYql.TClickhouseDataSourceOptions + (*TS3DataSourceOptions)(nil), // 6: NYql.TS3DataSourceOptions + (*TGreenplumDataSourceOptions)(nil), // 7: NYql.TGreenplumDataSourceOptions + (*TOracleDataSourceOptions)(nil), // 8: NYql.TOracleDataSourceOptions + (*TLoggingDataSourceOptions)(nil), // 9: NYql.TLoggingDataSourceOptions + (*TGenericDataSourceInstance)(nil), // 10: NYql.TGenericDataSourceInstance + (*TGenericCredentials_TBasic)(nil), // 11: NYql.TGenericCredentials.TBasic + (*TGenericCredentials_TToken)(nil), // 12: NYql.TGenericCredentials.TToken +} +var file_yql_essentials_providers_common_proto_gateways_config_proto_depIdxs = []int32{ + 11, // 0: NYql.TGenericCredentials.basic:type_name -> NYql.TGenericCredentials.TBasic + 12, // 1: NYql.TGenericCredentials.token:type_name -> NYql.TGenericCredentials.TToken + 0, // 2: NYql.TGenericDataSourceInstance.kind:type_name -> NYql.EGenericDataSourceKind + 2, // 3: NYql.TGenericDataSourceInstance.endpoint:type_name -> NYql.TGenericEndpoint + 3, // 4: NYql.TGenericDataSourceInstance.credentials:type_name -> NYql.TGenericCredentials + 1, // 5: NYql.TGenericDataSourceInstance.protocol:type_name -> NYql.EGenericProtocol + 4, // 6: NYql.TGenericDataSourceInstance.pg_options:type_name -> NYql.TPostgreSQLDataSourceOptions + 5, // 7: NYql.TGenericDataSourceInstance.ch_options:type_name -> NYql.TClickhouseDataSourceOptions + 6, // 8: NYql.TGenericDataSourceInstance.s3_options:type_name -> NYql.TS3DataSourceOptions + 7, // 9: NYql.TGenericDataSourceInstance.gp_options:type_name -> NYql.TGreenplumDataSourceOptions + 8, // 10: NYql.TGenericDataSourceInstance.oracle_options:type_name -> NYql.TOracleDataSourceOptions + 9, // 11: NYql.TGenericDataSourceInstance.logging_options:type_name -> NYql.TLoggingDataSourceOptions + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name +} + +func init() { file_yql_essentials_providers_common_proto_gateways_config_proto_init() } +func file_yql_essentials_providers_common_proto_gateways_config_proto_init() { + if File_yql_essentials_providers_common_proto_gateways_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TGenericEndpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TGenericCredentials); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TPostgreSQLDataSourceOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TClickhouseDataSourceOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TS3DataSourceOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TGreenplumDataSourceOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TOracleDataSourceOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TLoggingDataSourceOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TGenericDataSourceInstance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TGenericCredentials_TBasic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TGenericCredentials_TToken); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*TGenericCredentials_Basic)(nil), + (*TGenericCredentials_Token)(nil), + } + file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*TGenericDataSourceInstance_PgOptions)(nil), + (*TGenericDataSourceInstance_ChOptions)(nil), + (*TGenericDataSourceInstance_S3Options)(nil), + (*TGenericDataSourceInstance_GpOptions)(nil), + (*TGenericDataSourceInstance_OracleOptions)(nil), + (*TGenericDataSourceInstance_LoggingOptions)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_yql_essentials_providers_common_proto_gateways_config_proto_rawDesc, + NumEnums: 2, + NumMessages: 11, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_yql_essentials_providers_common_proto_gateways_config_proto_goTypes, + DependencyIndexes: file_yql_essentials_providers_common_proto_gateways_config_proto_depIdxs, + EnumInfos: file_yql_essentials_providers_common_proto_gateways_config_proto_enumTypes, + MessageInfos: file_yql_essentials_providers_common_proto_gateways_config_proto_msgTypes, + }.Build() + File_yql_essentials_providers_common_proto_gateways_config_proto = out.File + file_yql_essentials_providers_common_proto_gateways_config_proto_rawDesc = nil + file_yql_essentials_providers_common_proto_gateways_config_proto_goTypes = nil + file_yql_essentials_providers_common_proto_gateways_config_proto_depIdxs = nil +} diff --git a/api/service/protos/connector.pb.go b/api/service/protos/connector.pb.go index 5144a885..0c49c0fb 100644 --- a/api/service/protos/connector.pb.go +++ b/api/service/protos/connector.pb.go @@ -371,7 +371,7 @@ type TListTablesRequest struct { unknownFields protoimpl.UnknownFields // Data source instance to connect - DataSourceInstance *common.TDataSourceInstance `protobuf:"bytes,1,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` + DataSourceInstance *common.TGenericDataSourceInstance `protobuf:"bytes,1,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` // There may be a huge number of tables in the data source, // and here are ways to extract only necessary ones: // @@ -413,7 +413,7 @@ func (*TListTablesRequest) Descriptor() ([]byte, []int) { return file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_rawDescGZIP(), []int{0} } -func (x *TListTablesRequest) GetDataSourceInstance() *common.TDataSourceInstance { +func (x *TListTablesRequest) GetDataSourceInstance() *common.TGenericDataSourceInstance { if x != nil { return x.DataSourceInstance } @@ -510,7 +510,7 @@ type TDescribeTableRequest struct { unknownFields protoimpl.UnknownFields // Data source instance to connect - DataSourceInstance *common.TDataSourceInstance `protobuf:"bytes,1,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` + DataSourceInstance *common.TGenericDataSourceInstance `protobuf:"bytes,1,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` // Table to describe Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` // Rules for type mapping @@ -549,7 +549,7 @@ func (*TDescribeTableRequest) Descriptor() ([]byte, []int) { return file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_rawDescGZIP(), []int{2} } -func (x *TDescribeTableRequest) GetDataSourceInstance() *common.TDataSourceInstance { +func (x *TDescribeTableRequest) GetDataSourceInstance() *common.TGenericDataSourceInstance { if x != nil { return x.DataSourceInstance } @@ -882,7 +882,7 @@ type TSelect struct { unknownFields protoimpl.UnknownFields // Data source instance to connect - DataSourceInstance *common.TDataSourceInstance `protobuf:"bytes,1,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` + DataSourceInstance *common.TGenericDataSourceInstance `protobuf:"bytes,1,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` // Transforms into SELECT $what. What *TSelect_TWhat `protobuf:"bytes,2,opt,name=what,proto3" json:"what,omitempty"` // Transforms into FROM $from @@ -931,7 +931,7 @@ func (*TSelect) Descriptor() ([]byte, []int) { return file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_rawDescGZIP(), []int{8} } -func (x *TSelect) GetDataSourceInstance() *common.TDataSourceInstance { +func (x *TSelect) GetDataSourceInstance() *common.TGenericDataSourceInstance { if x != nil { return x.DataSourceInstance } @@ -1065,7 +1065,7 @@ type TReadSplitsRequest struct { // TDataSourceInstance provided in each TSelect. // // Deprecated: Marked as deprecated in ydb/library/yql/providers/generic/connector/api/service/protos/connector.proto. - DataSourceInstance *common.TDataSourceInstance `protobuf:"bytes,1,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` + DataSourceInstance *common.TGenericDataSourceInstance `protobuf:"bytes,1,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` // Splits that YQ engine would like to read. Splits []*TSplit `protobuf:"bytes,2,rep,name=splits,proto3" json:"splits,omitempty"` // Determines the mode of data extraction @@ -1115,7 +1115,7 @@ func (*TReadSplitsRequest) Descriptor() ([]byte, []int) { } // Deprecated: Marked as deprecated in ydb/library/yql/providers/generic/connector/api/service/protos/connector.proto. -func (x *TReadSplitsRequest) GetDataSourceInstance() *common.TDataSourceInstance { +func (x *TReadSplitsRequest) GetDataSourceInstance() *common.TGenericDataSourceInstance { if x != nil { return x.DataSourceInstance } @@ -3320,487 +3320,484 @@ var file_ydb_library_yql_providers_generic_connector_api_service_protos_connecto 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x79, 0x64, 0x62, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x79, 0x64, 0x62, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x48, 0x79, 0x64, 0x62, 0x2f, - 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2f, 0x79, 0x71, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x12, 0x54, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x14, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, - 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, - 0x2e, 0x54, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x22, 0x61, 0x0a, 0x13, 0x54, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x22, 0xea, 0x01, 0x0a, 0x15, 0x54, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5b, + 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x79, 0x71, 0x6c, 0x2f, + 0x65, 0x73, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x12, 0x54, 0x4c, 0x69, 0x73, + 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, - 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, - 0x41, 0x70, 0x69, 0x2e, 0x54, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x13, 0x74, 0x79, - 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x22, 0x67, 0x0a, 0x14, 0x54, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x45, 0x44, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x16, 0x54, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x32, 0x0a, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4e, 0x59, - 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, - 0x70, 0x69, 0x2e, 0x54, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x22, 0x30, 0x0a, 0x07, 0x54, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x25, 0x0a, 0x07, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x59, - 0x64, 0x62, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x12, 0x54, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x6c, 0x69, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x73, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, - 0x69, 0x2e, 0x54, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, - 0x53, 0x70, 0x6c, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x70, - 0x6c, 0x69, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x73, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x70, 0x6c, - 0x69, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x7f, 0x0a, - 0x13, 0x54, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x70, 0x6c, - 0x69, 0x74, 0x52, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, + 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x12, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x0b, + 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x61, 0x0a, 0x13, 0x54, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, - 0x2e, 0x54, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa3, - 0x06, 0x0a, 0x07, 0x54, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x5b, 0x0a, 0x14, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, - 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, - 0x54, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x77, 0x68, 0x61, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x57, 0x68, 0x61, 0x74, 0x52, 0x04, 0x77, 0x68, 0x61, 0x74, - 0x12, 0x37, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x46, - 0x72, 0x6f, 0x6d, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x3a, 0x0a, 0x05, 0x77, 0x68, 0x65, - 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, - 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, - 0x54, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x57, 0x68, 0x65, 0x72, 0x65, 0x52, 0x05, - 0x77, 0x68, 0x65, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x2e, 0x54, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4e, - 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, - 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x10, 0x70, 0x72, 0x65, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x1a, 0x83, 0x01, - 0x0a, 0x05, 0x54, 0x57, 0x68, 0x61, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, + 0x2e, 0x54, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xe1, + 0x01, 0x0a, 0x15, 0x54, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x13, 0x74, + 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x22, 0x67, 0x0a, 0x14, 0x54, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x45, 0x44, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0e, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x16, + 0x54, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x57, 0x68, 0x61, 0x74, 0x2e, 0x54, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x39, 0x0a, 0x05, 0x54, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0b, 0x2e, 0x59, 0x64, 0x62, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x48, 0x00, - 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x1a, 0x3c, 0x0a, 0x05, 0x54, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, - 0x79, 0x1a, 0x88, 0x01, 0x0a, 0x06, 0x54, 0x57, 0x68, 0x65, 0x72, 0x65, 0x12, 0x43, 0x0a, 0x0c, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x77, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x41, 0x73, - 0x74, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x61, 0x77, 0x1a, 0x36, 0x0a, 0x06, - 0x54, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x22, 0x6e, 0x0a, 0x06, 0x54, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x35, - 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x06, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xb2, 0x05, 0x0a, 0x12, 0x54, 0x52, 0x65, 0x61, 0x64, 0x53, 0x70, - 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x14, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, - 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, - 0x2e, 0x54, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x06, - 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4e, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x32, 0x0a, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, - 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x52, 0x06, 0x73, 0x70, 0x6c, 0x69, - 0x74, 0x73, 0x12, 0x42, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2e, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x52, 0x65, 0x61, 0x64, 0x53, 0x70, 0x6c, - 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x4d, 0x6f, 0x64, 0x65, - 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x52, - 0x65, 0x61, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x45, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x12, 0x47, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x43, - 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, - 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x09, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x4e, + 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x22, 0x30, 0x0a, 0x07, 0x54, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x25, 0x0a, 0x07, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x59, 0x64, 0x62, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x12, 0x54, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x6c, + 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, + 0x70, 0x69, 0x2e, 0x54, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, + 0x78, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x70, + 0x6c, 0x69, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x7f, + 0x0a, 0x13, 0x54, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x70, + 0x6c, 0x69, 0x74, 0x52, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4e, 0x59, 0x71, + 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, + 0x69, 0x2e, 0x54, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, + 0x9a, 0x06, 0x0a, 0x07, 0x54, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x52, 0x0a, 0x14, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, + 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x64, 0x61, 0x74, + 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x37, 0x0a, 0x04, 0x77, 0x68, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x57, 0x68, + 0x61, 0x74, 0x52, 0x04, 0x77, 0x68, 0x61, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x12, 0x3a, 0x0a, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, + 0x54, 0x57, 0x68, 0x65, 0x72, 0x65, 0x52, 0x05, 0x77, 0x68, 0x65, 0x72, 0x65, 0x12, 0x3a, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, - 0x41, 0x70, 0x69, 0x2e, 0x54, 0x52, 0x65, 0x61, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x39, 0x0a, 0x05, - 0x45, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4f, - 0x52, 0x44, 0x45, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x4f, 0x52, - 0x44, 0x45, 0x52, 0x45, 0x44, 0x10, 0x02, 0x22, 0x40, 0x0a, 0x07, 0x45, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x52, - 0x52, 0x4f, 0x57, 0x5f, 0x49, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, - 0x47, 0x10, 0x02, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x22, 0x58, 0x0a, 0x0a, 0x45, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x49, 0x4c, 0x54, 0x45, - 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, - 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x49, - 0x4c, 0x54, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x41, 0x4e, 0x44, 0x41, 0x54, 0x4f, 0x52, - 0x59, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0xfd, 0x04, 0x0a, 0x13, 0x54, 0x52, - 0x65, 0x61, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x55, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x52, 0x65, - 0x61, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x54, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x72, 0x72, 0x6f, - 0x77, 0x5f, 0x69, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x11, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x49, 0x70, - 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x70, - 0x6c, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, - 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x52, 0x10, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x1a, 0x83, 0x01, 0x0a, 0x05, 0x54, 0x57, 0x68, 0x61, 0x74, 0x12, + 0x3f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x30, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x52, 0x65, 0x61, 0x64, 0x53, 0x70, 0x6c, - 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, - 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, - 0x54, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0xaa, 0x01, - 0x0a, 0x0a, 0x54, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x04, - 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x59, 0x64, 0x62, - 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x50, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x4e, 0x59, + 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x57, + 0x68, 0x61, 0x74, 0x2e, 0x54, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x1a, 0x39, 0x0a, 0x05, 0x54, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x59, 0x64, 0x62, 0x2e, + 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x3c, 0x0a, 0x05, 0x54, + 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x1a, 0x88, 0x01, 0x0a, 0x06, 0x54, 0x57, + 0x68, 0x65, 0x72, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, + 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, + 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x41, 0x73, 0x74, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x52, 0x61, 0x77, 0x1a, 0x36, 0x0a, 0x06, 0x54, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x6e, 0x0a, 0x06, + 0x54, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xa9, 0x05, 0x0a, + 0x12, 0x54, 0x52, 0x65, 0x61, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x73, + 0x70, 0x6c, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, + 0x70, 0x69, 0x2e, 0x54, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x52, 0x06, 0x73, 0x70, 0x6c, 0x69, 0x74, + 0x73, 0x12, 0x42, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2e, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x52, 0x65, 0x61, 0x64, 0x53, 0x70, 0x6c, 0x69, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x4d, 0x6f, 0x64, 0x65, 0x52, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x52, 0x65, + 0x61, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x45, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x47, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x43, 0x6f, + 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, + 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x52, 0x65, 0x61, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x65, - 0x74, 0x2e, 0x54, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, - 0x29, 0x0a, 0x07, 0x54, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1e, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x59, 0x64, 0x62, 0x2e, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x0a, 0x06, 0x54, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x09, - 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x3e, 0x0a, 0x0d, 0x54, 0x43, 0x6f, - 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, - 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x82, 0x0a, 0x0a, 0x0b, 0x54, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x0b, 0x74, 0x79, 0x70, - 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x59, 0x64, 0x62, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, - 0x00, 0x52, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, - 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x74, 0x0a, 0x17, 0x61, 0x72, 0x69, 0x74, 0x68, - 0x6d, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, - 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, - 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x41, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x16, 0x61, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, - 0x63, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, - 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4e, 0x59, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x52, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x39, 0x0a, 0x05, 0x45, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x52, + 0x44, 0x45, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x4f, 0x52, 0x44, + 0x45, 0x52, 0x45, 0x44, 0x10, 0x02, 0x22, 0x40, 0x0a, 0x07, 0x45, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x52, 0x52, + 0x4f, 0x57, 0x5f, 0x49, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, + 0x10, 0x02, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x22, 0x58, 0x0a, 0x0a, 0x45, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, + 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4f, + 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x49, 0x4c, + 0x54, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x41, 0x4e, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x59, + 0x10, 0x02, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0xfd, 0x04, 0x0a, 0x13, 0x54, 0x52, 0x65, + 0x61, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x55, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x52, 0x65, 0x61, + 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x54, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x72, 0x72, 0x6f, 0x77, + 0x5f, 0x69, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x11, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x49, 0x70, 0x63, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x70, 0x6c, + 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x52, 0x65, 0x61, 0x64, 0x53, 0x70, 0x6c, 0x69, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0xaa, 0x01, 0x0a, + 0x0a, 0x54, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x6d, + 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x59, 0x64, 0x62, 0x2e, + 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x4e, 0x59, 0x71, + 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, + 0x69, 0x2e, 0x54, 0x52, 0x65, 0x61, 0x64, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x65, 0x74, + 0x2e, 0x54, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x29, + 0x0a, 0x07, 0x54, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1e, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x59, 0x64, 0x62, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x0a, 0x06, 0x54, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x09, 0x0a, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x3e, 0x0a, 0x0d, 0x54, 0x43, 0x6f, 0x6e, + 0x74, 0x69, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x82, 0x0a, 0x0a, 0x0b, 0x54, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x0b, 0x74, 0x79, 0x70, 0x65, + 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x59, 0x64, 0x62, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, + 0x52, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x06, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x74, 0x0a, 0x17, 0x61, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x41, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x16, 0x61, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, + 0x61, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x04, + 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4e, 0x59, 0x71, + 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, + 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x4e, + 0x75, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x49, 0x0a, 0x08, 0x63, + 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x2e, 0x54, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, + 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x02, 0x69, 0x66, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x49, 0x66, 0x48, 0x00, 0x52, 0x02, 0x69, 0x66, 0x12, + 0x3d, 0x0a, 0x04, 0x63, 0x61, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x2e, 0x54, 0x43, 0x61, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x63, 0x61, 0x73, 0x74, 0x1a, 0x8b, + 0x03, 0x0a, 0x17, 0x54, 0x41, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x09, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, + 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x2e, 0x54, 0x41, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, + 0x0a, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x42, 0x0a, 0x0b, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0a, 0x45, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x55, 0x4c, + 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x53, + 0x55, 0x42, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x49, 0x56, 0x10, 0x07, 0x12, 0x07, 0x0a, + 0x03, 0x4d, 0x4f, 0x44, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x49, 0x54, 0x5f, 0x41, 0x4e, + 0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x10, 0x05, 0x12, + 0x0b, 0x0a, 0x07, 0x42, 0x49, 0x54, 0x5f, 0x58, 0x4f, 0x52, 0x10, 0x06, 0x1a, 0x4a, 0x0a, 0x09, + 0x54, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, - 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x54, - 0x4e, 0x75, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x49, 0x0a, 0x08, - 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x2e, 0x54, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, - 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x02, 0x69, 0x66, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x49, 0x66, 0x48, 0x00, 0x52, 0x02, 0x69, 0x66, - 0x12, 0x3d, 0x0a, 0x04, 0x63, 0x61, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x2e, 0x54, 0x43, 0x61, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x63, 0x61, 0x73, 0x74, 0x1a, - 0x8b, 0x03, 0x0a, 0x17, 0x54, 0x41, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x61, - 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x09, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, + 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x1a, 0xdd, 0x01, 0x0a, 0x03, 0x54, 0x49, 0x66, + 0x12, 0x3e, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x12, 0x4a, 0x0a, 0x0f, 0x74, 0x68, 0x65, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, + 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, + 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x74, 0x68, + 0x65, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0f, + 0x65, 0x6c, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x65, 0x6c, 0x73, 0x65, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x5f, 0x0a, 0x05, 0x54, 0x43, 0x61, 0x73, + 0x74, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x59, 0x64, 0x62, 0x2e, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x07, 0x0a, 0x05, 0x54, 0x4e, 0x75, + 0x6c, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x82, 0x13, + 0x0a, 0x0a, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x08, + 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x2e, 0x54, 0x41, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x40, 0x0a, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x0a, 0x45, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x55, - 0x4c, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, - 0x53, 0x55, 0x42, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x49, 0x56, 0x10, 0x07, 0x12, 0x07, - 0x0a, 0x03, 0x4d, 0x4f, 0x44, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x49, 0x54, 0x5f, 0x41, - 0x4e, 0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x10, 0x05, - 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x49, 0x54, 0x5f, 0x58, 0x4f, 0x52, 0x10, 0x06, 0x1a, 0x4a, 0x0a, - 0x09, 0x54, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, - 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, - 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x1a, 0xdd, 0x01, 0x0a, 0x03, 0x54, 0x49, - 0x66, 0x12, 0x3e, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x74, 0x68, 0x65, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, - 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x74, - 0x68, 0x65, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, - 0x0f, 0x65, 0x6c, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x65, 0x6c, 0x73, 0x65, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x5f, 0x0a, 0x05, 0x54, 0x43, 0x61, - 0x73, 0x74, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x59, 0x64, 0x62, 0x2e, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x07, 0x0a, 0x05, 0x54, 0x4e, - 0x75, 0x6c, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x82, - 0x13, 0x0a, 0x0a, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, - 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x2e, 0x54, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x6e, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x6a, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4e, - 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, - 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, - 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x63, - 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0b, 0x64, 0x69, - 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x2e, 0x54, 0x44, 0x69, 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x0b, 0x64, 0x69, 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, - 0x07, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x2e, 0x54, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x6e, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x6a, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, + 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x43, + 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, + 0x6e, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0b, 0x64, 0x69, 0x73, + 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x2e, 0x54, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x62, 0x65, 0x74, - 0x77, 0x65, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x2e, 0x54, 0x49, 0x6e, 0x48, 0x00, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x43, 0x0a, 0x07, - 0x69, 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x2e, 0x54, 0x44, 0x69, 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x07, + 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, - 0x54, 0x49, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x69, 0x73, 0x4e, 0x75, 0x6c, - 0x6c, 0x12, 0x4d, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x49, 0x73, 0x4e, 0x6f, 0x74, 0x4e, - 0x75, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x09, 0x69, 0x73, 0x4e, 0x6f, 0x74, 0x4e, 0x75, 0x6c, 0x6c, - 0x12, 0x4e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, - 0x12, 0x5b, 0x0a, 0x0f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x4e, 0x59, 0x71, 0x6c, - 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, - 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x42, 0x6f, 0x6f, - 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x62, - 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, - 0x08, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x54, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x62, 0x65, 0x74, 0x77, + 0x65, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x2e, 0x54, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, - 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x02, 0x69, 0x66, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x2e, 0x54, 0x49, 0x6e, 0x48, 0x00, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x43, 0x0a, 0x07, 0x69, + 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, + 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, + 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, + 0x49, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x69, 0x73, 0x4e, 0x75, 0x6c, 0x6c, + 0x12, 0x4d, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x49, 0x73, 0x4e, 0x6f, 0x74, 0x4e, 0x75, + 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x09, 0x69, 0x73, 0x4e, 0x6f, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x12, + 0x4e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x49, 0x66, 0x48, 0x00, 0x52, 0x02, 0x69, 0x66, 0x12, - 0x42, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x2e, 0x54, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x65, 0x78, 0x70, 0x1a, 0x47, 0x0a, 0x09, 0x54, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x3a, 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x1a, 0x4c, 0x0a, 0x0c, - 0x54, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x12, + 0x5b, 0x0a, 0x0f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, + 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, + 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x42, 0x6f, 0x6f, 0x6c, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x6f, + 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x08, + 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x1a, 0x4c, 0x0a, 0x0c, 0x54, 0x44, - 0x69, 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x08, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, - 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, - 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x1a, 0x49, 0x0a, 0x09, 0x54, 0x43, 0x6f, 0x61, - 0x6c, 0x65, 0x73, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, - 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x6e, 0x64, 0x73, 0x1a, 0xd7, 0x01, 0x0a, 0x03, 0x54, 0x49, 0x66, 0x12, 0x3e, 0x0a, 0x09, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x54, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, + 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x02, 0x69, 0x66, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x49, 0x66, 0x48, 0x00, 0x52, 0x02, 0x69, 0x66, 0x12, 0x42, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x74, - 0x68, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x65, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, - 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, - 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0d, - 0x65, 0x6c, 0x73, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x1a, 0xbb, 0x01, - 0x0a, 0x08, 0x54, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, - 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, - 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x08, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x08, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x74, 0x1a, 0x73, 0x0a, 0x03, 0x54, - 0x49, 0x6e, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x0a, 0x03, 0x73, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, + 0x2e, 0x54, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, + 0x78, 0x70, 0x1a, 0x47, 0x0a, 0x09, 0x54, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x3a, 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x1a, 0x4c, 0x0a, 0x0c, 0x54, + 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x08, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x1a, 0x4c, 0x0a, 0x0c, 0x54, 0x44, 0x69, + 0x73, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, + 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x08, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x1a, 0x49, 0x0a, 0x09, 0x54, 0x43, 0x6f, 0x61, 0x6c, + 0x65, 0x73, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, + 0x64, 0x73, 0x1a, 0xd7, 0x01, 0x0a, 0x03, 0x54, 0x49, 0x66, 0x12, 0x3e, 0x0a, 0x09, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, + 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x74, 0x68, + 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x65, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, + 0x70, 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x65, + 0x6c, 0x73, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x1a, 0xbb, 0x01, 0x0a, + 0x08, 0x54, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, - 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x73, 0x65, 0x74, - 0x1a, 0x42, 0x0a, 0x07, 0x54, 0x49, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x37, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, - 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x45, 0x0a, 0x0a, 0x54, 0x49, 0x73, 0x4e, 0x6f, 0x74, 0x4e, 0x75, - 0x6c, 0x6c, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x4a, 0x0a, 0x0f, 0x54, - 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x08, 0x67, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xdd, 0x02, 0x0a, 0x0b, 0x54, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, - 0x69, 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x43, 0x6f, - 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x2e, 0x45, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, - 0x0a, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x42, 0x0a, 0x0b, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x71, 0x0a, 0x0a, 0x45, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, - 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x4c, 0x10, 0x01, 0x12, - 0x06, 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x03, 0x12, - 0x06, 0x0a, 0x02, 0x4e, 0x45, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x45, 0x10, 0x05, 0x12, - 0x05, 0x0a, 0x01, 0x47, 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x44, 0x10, 0x07, 0x12, - 0x06, 0x0a, 0x02, 0x49, 0x44, 0x10, 0x08, 0x1a, 0x7f, 0x0a, 0x07, 0x54, 0x52, 0x65, 0x67, 0x65, - 0x78, 0x70, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x70, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, + 0x52, 0x08, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x74, 0x1a, 0x73, 0x0a, 0x03, 0x54, 0x49, + 0x6e, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x0a, 0x03, 0x73, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x73, 0x65, 0x74, 0x1a, + 0x42, 0x0a, 0x07, 0x54, 0x49, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, + 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, + 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x1a, 0x45, 0x0a, 0x0a, 0x54, 0x49, 0x73, 0x4e, 0x6f, 0x74, 0x4e, 0x75, 0x6c, + 0x6c, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x4a, 0x0a, 0x0f, 0x54, 0x42, + 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x54, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x31, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, - 0x2e, 0x59, 0x64, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x64, 0x73, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x59, 0x64, - 0x62, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0xa0, 0x01, 0x0a, - 0x04, 0x54, 0x41, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x61, 0x74, 0x6f, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x61, 0x74, 0x6f, 0x6d, 0x12, 0x36, 0x0a, 0x04, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xdd, 0x02, 0x0a, 0x0b, 0x54, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, - 0x2e, 0x54, 0x41, 0x73, 0x74, 0x2e, 0x54, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, - 0x69, 0x73, 0x74, 0x1a, 0x3f, 0x0a, 0x05, 0x54, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x41, 0x73, 0x74, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, - 0x64, 0x72, 0x65, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2a, - 0x56, 0x0a, 0x0f, 0x45, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, - 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x46, - 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x59, 0x51, 0x4c, 0x5f, 0x46, - 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x10, 0x02, 0x42, 0x3c, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, - 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x54, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x2e, 0x45, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, + 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x42, 0x0a, 0x0b, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x71, 0x0a, 0x0a, 0x45, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, 0x5f, + 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x4c, 0x10, 0x01, 0x12, 0x06, + 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x03, 0x12, 0x06, + 0x0a, 0x02, 0x4e, 0x45, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x45, 0x10, 0x05, 0x12, 0x05, + 0x0a, 0x01, 0x47, 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x44, 0x10, 0x07, 0x12, 0x06, + 0x0a, 0x02, 0x49, 0x44, 0x10, 0x08, 0x1a, 0x7f, 0x0a, 0x07, 0x54, 0x52, 0x65, 0x67, 0x65, 0x78, + 0x70, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, + 0x70, 0x69, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, + 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x54, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x31, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, + 0x59, 0x64, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x64, 0x73, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x59, 0x64, 0x62, + 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x04, + 0x54, 0x41, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x61, 0x74, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x61, 0x74, 0x6f, 0x6d, 0x12, 0x36, 0x0a, 0x04, 0x6c, 0x69, + 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, + 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, + 0x54, 0x41, 0x73, 0x74, 0x2e, 0x54, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, + 0x73, 0x74, 0x1a, 0x3f, 0x0a, 0x05, 0x54, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x41, 0x73, 0x74, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x72, 0x65, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2a, 0x56, + 0x0a, 0x0f, 0x45, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x4f, + 0x52, 0x4d, 0x41, 0x54, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x59, 0x51, 0x4c, 0x5f, 0x46, 0x4f, + 0x52, 0x4d, 0x41, 0x54, 0x10, 0x02, 0x42, 0x3c, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x67, + 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3867,7 +3864,7 @@ var file_ydb_library_yql_providers_generic_connector_api_service_protos_connecto (*TPredicate_TComparison)(nil), // 46: NYql.NConnector.NApi.TPredicate.TComparison (*TPredicate_TRegexp)(nil), // 47: NYql.NConnector.NApi.TPredicate.TRegexp (*TAst_TList)(nil), // 48: NYql.NConnector.NApi.TAst.TList - (*common.TDataSourceInstance)(nil), // 49: NYql.NConnector.NApi.TDataSourceInstance + (*common.TGenericDataSourceInstance)(nil), // 49: NYql.TGenericDataSourceInstance (*Ydb.Column)(nil), // 50: Ydb.Column (*Ydb.TypedValue)(nil), // 51: Ydb.TypedValue (Ydb.StatusIds_StatusCode)(0), // 52: Ydb.StatusIds.StatusCode @@ -3876,9 +3873,9 @@ var file_ydb_library_yql_providers_generic_connector_api_service_protos_connecto (*Ydb.Type)(nil), // 55: Ydb.Type } var file_ydb_library_yql_providers_generic_connector_api_service_protos_connector_proto_depIdxs = []int32{ - 49, // 0: NYql.NConnector.NApi.TListTablesRequest.data_source_instance:type_name -> NYql.NConnector.NApi.TDataSourceInstance + 49, // 0: NYql.NConnector.NApi.TListTablesRequest.data_source_instance:type_name -> NYql.TGenericDataSourceInstance 21, // 1: NYql.NConnector.NApi.TListTablesResponse.error:type_name -> NYql.NConnector.NApi.TError - 49, // 2: NYql.NConnector.NApi.TDescribeTableRequest.data_source_instance:type_name -> NYql.NConnector.NApi.TDataSourceInstance + 49, // 2: NYql.NConnector.NApi.TDescribeTableRequest.data_source_instance:type_name -> NYql.TGenericDataSourceInstance 9, // 3: NYql.NConnector.NApi.TDescribeTableRequest.type_mapping_settings:type_name -> NYql.NConnector.NApi.TTypeMappingSettings 0, // 4: NYql.NConnector.NApi.TTypeMappingSettings.date_time_format:type_name -> NYql.NConnector.NApi.EDateTimeFormat 11, // 5: NYql.NConnector.NApi.TDescribeTableResponse.schema:type_name -> NYql.NConnector.NApi.TSchema @@ -3887,14 +3884,14 @@ var file_ydb_library_yql_providers_generic_connector_api_service_protos_connecto 14, // 8: NYql.NConnector.NApi.TListSplitsRequest.selects:type_name -> NYql.NConnector.NApi.TSelect 15, // 9: NYql.NConnector.NApi.TListSplitsResponse.splits:type_name -> NYql.NConnector.NApi.TSplit 21, // 10: NYql.NConnector.NApi.TListSplitsResponse.error:type_name -> NYql.NConnector.NApi.TError - 49, // 11: NYql.NConnector.NApi.TSelect.data_source_instance:type_name -> NYql.NConnector.NApi.TDataSourceInstance + 49, // 11: NYql.NConnector.NApi.TSelect.data_source_instance:type_name -> NYql.TGenericDataSourceInstance 23, // 12: NYql.NConnector.NApi.TSelect.what:type_name -> NYql.NConnector.NApi.TSelect.TWhat 24, // 13: NYql.NConnector.NApi.TSelect.from:type_name -> NYql.NConnector.NApi.TSelect.TFrom 25, // 14: NYql.NConnector.NApi.TSelect.where:type_name -> NYql.NConnector.NApi.TSelect.TWhere 26, // 15: NYql.NConnector.NApi.TSelect.limit:type_name -> NYql.NConnector.NApi.TSelect.TLimit 11, // 16: NYql.NConnector.NApi.TSelect.predefined_schema:type_name -> NYql.NConnector.NApi.TSchema 14, // 17: NYql.NConnector.NApi.TSplit.select:type_name -> NYql.NConnector.NApi.TSelect - 49, // 18: NYql.NConnector.NApi.TReadSplitsRequest.data_source_instance:type_name -> NYql.NConnector.NApi.TDataSourceInstance + 49, // 18: NYql.NConnector.NApi.TReadSplitsRequest.data_source_instance:type_name -> NYql.TGenericDataSourceInstance 15, // 19: NYql.NConnector.NApi.TReadSplitsRequest.splits:type_name -> NYql.NConnector.NApi.TSplit 1, // 20: NYql.NConnector.NApi.TReadSplitsRequest.mode:type_name -> NYql.NConnector.NApi.TReadSplitsRequest.EMode 2, // 21: NYql.NConnector.NApi.TReadSplitsRequest.format:type_name -> NYql.NConnector.NApi.TReadSplitsRequest.EFormat diff --git a/app/bench/test_case_runner.go b/app/bench/test_case_runner.go index 5889b42f..f20099b3 100644 --- a/app/bench/test_case_runner.go +++ b/app/bench/test_case_runner.go @@ -68,7 +68,7 @@ func newTestingServerLocal(serverParams *config.TBenchmarkServerParams) (common. }), server.WithPagingConfig(serverParams.Paging), server.WithPprofServerConfig(&config.TPprofServerConfig{ - Endpoint: &api_common.TEndpoint{Host: "localhost", Port: 50052}, + Endpoint: &api_common.TGenericEndpoint{Host: "localhost", Port: 50052}, }), server.WithConversionConfig( &config.TConversionConfig{ diff --git a/app/client/connector/client.go b/app/client/connector/client.go index 5fdba2f9..4572779a 100644 --- a/app/client/connector/client.go +++ b/app/client/connector/client.go @@ -94,10 +94,10 @@ func callServer( var splits []*api_service_protos.TSplit switch cfg.DataSourceInstance.Kind { - case api_common.EDataSourceKind_CLICKHOUSE, api_common.EDataSourceKind_POSTGRESQL, - api_common.EDataSourceKind_YDB, api_common.EDataSourceKind_MS_SQL_SERVER, - api_common.EDataSourceKind_MYSQL, api_common.EDataSourceKind_GREENPLUM, - api_common.EDataSourceKind_ORACLE, api_common.EDataSourceKind_LOGGING: + case api_common.EGenericDataSourceKind_CLICKHOUSE, api_common.EGenericDataSourceKind_POSTGRESQL, + api_common.EGenericDataSourceKind_YDB, api_common.EGenericDataSourceKind_MS_SQL_SERVER, + api_common.EGenericDataSourceKind_MYSQL, api_common.EGenericDataSourceKind_GREENPLUM, + api_common.EGenericDataSourceKind_ORACLE, api_common.EGenericDataSourceKind_LOGGING: typeMappingSettings := &api_service_protos.TTypeMappingSettings{ DateTimeFormat: dateTimeFormat, } @@ -122,7 +122,7 @@ func callServer( func prepareSplits( logger *zap.Logger, cl *common.ClientBuffering, - dsi *api_common.TDataSourceInstance, + dsi *api_common.TGenericDataSourceInstance, typeMappingSettings *api_service_protos.TTypeMappingSettings, tableName string, metainfo requestMetadata, diff --git a/app/config/bench.pb.go b/app/config/bench.pb.go index 3524ead3..02713cd8 100644 --- a/app/config/bench.pb.go +++ b/app/config/bench.pb.go @@ -35,7 +35,7 @@ type TBenchmarkConfig struct { // *TBenchmarkConfig_ServerLocal Server isTBenchmarkConfig_Server `protobuf_oneof:"server"` // A data source instance from which we'll read the data - DataSourceInstance *common.TDataSourceInstance `protobuf:"bytes,3,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` + DataSourceInstance *common.TGenericDataSourceInstance `protobuf:"bytes,3,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` // A table from which we'll read the data Table string `protobuf:"bytes,4,opt,name=table,proto3" json:"table,omitempty"` // A list of test cases that will be executed during benchmark session @@ -97,7 +97,7 @@ func (x *TBenchmarkConfig) GetServerLocal() *TServerConfig { return nil } -func (x *TBenchmarkConfig) GetDataSourceInstance() *common.TDataSourceInstance { +func (x *TBenchmarkConfig) GetDataSourceInstance() *common.TGenericDataSourceInstance { if x != nil { return x.DataSourceInstance } @@ -324,70 +324,69 @@ var file_app_config_bench_proto_rawDesc = []byte{ 0x0a, 0x16, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x1a, 0x48, 0x79, 0x64, 0x62, 0x2f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x2f, 0x79, 0x71, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x61, - 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x9c, 0x03, 0x0a, 0x10, 0x54, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, 0x59, - 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, 0x59, - 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x5b, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x64, - 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4e, 0x59, - 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, - 0x72, 0x6b, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, - 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, - 0x64, 0x69, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x44, 0x69, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0xde, - 0x01, 0x0a, 0x12, 0x54, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x54, 0x65, 0x73, - 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x4e, - 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, - 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, - 0x61, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, - 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x56, 0x0a, - 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x54, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, - 0x5a, 0x0a, 0x16, 0x54, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, 0x59, 0x71, 0x6c, - 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x62, 0x0a, 0x16, 0x54, - 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x10, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, - 0x62, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x66, 0x69, 0x67, 0x1a, 0x3b, 0x79, 0x71, 0x6c, 0x2f, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x17, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x61, 0x70, 0x70, 0x2f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x93, 0x03, 0x0a, 0x10, 0x54, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, + 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x52, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x54, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x54, 0x65, 0x73, 0x74, + 0x43, 0x61, 0x73, 0x65, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x69, 0x72, 0x42, 0x08, + 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0xde, 0x01, 0x0a, 0x12, 0x54, 0x42, 0x65, + 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, + 0x56, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x54, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x56, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x42, 0x65, 0x6e, 0x63, + 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x5a, 0x0a, 0x16, 0x54, 0x42, 0x65, + 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x54, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x62, 0x0a, 0x16, 0x54, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, + 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x2c, 0x0a, 0x12, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x71, 0x75, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -404,19 +403,19 @@ func file_app_config_bench_proto_rawDescGZIP() []byte { var file_app_config_bench_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_app_config_bench_proto_goTypes = []interface{}{ - (*TBenchmarkConfig)(nil), // 0: NYql.Connector.App.Config.TBenchmarkConfig - (*TBenchmarkTestCase)(nil), // 1: NYql.Connector.App.Config.TBenchmarkTestCase - (*TBenchmarkServerParams)(nil), // 2: NYql.Connector.App.Config.TBenchmarkServerParams - (*TBenchmarkClientParams)(nil), // 3: NYql.Connector.App.Config.TBenchmarkClientParams - (*TClientConfig)(nil), // 4: NYql.Connector.App.Config.TClientConfig - (*TServerConfig)(nil), // 5: NYql.Connector.App.Config.TServerConfig - (*common.TDataSourceInstance)(nil), // 6: NYql.NConnector.NApi.TDataSourceInstance - (*TPagingConfig)(nil), // 7: NYql.Connector.App.Config.TPagingConfig + (*TBenchmarkConfig)(nil), // 0: NYql.Connector.App.Config.TBenchmarkConfig + (*TBenchmarkTestCase)(nil), // 1: NYql.Connector.App.Config.TBenchmarkTestCase + (*TBenchmarkServerParams)(nil), // 2: NYql.Connector.App.Config.TBenchmarkServerParams + (*TBenchmarkClientParams)(nil), // 3: NYql.Connector.App.Config.TBenchmarkClientParams + (*TClientConfig)(nil), // 4: NYql.Connector.App.Config.TClientConfig + (*TServerConfig)(nil), // 5: NYql.Connector.App.Config.TServerConfig + (*common.TGenericDataSourceInstance)(nil), // 6: NYql.TGenericDataSourceInstance + (*TPagingConfig)(nil), // 7: NYql.Connector.App.Config.TPagingConfig } var file_app_config_bench_proto_depIdxs = []int32{ 4, // 0: NYql.Connector.App.Config.TBenchmarkConfig.server_remote:type_name -> NYql.Connector.App.Config.TClientConfig 5, // 1: NYql.Connector.App.Config.TBenchmarkConfig.server_local:type_name -> NYql.Connector.App.Config.TServerConfig - 6, // 2: NYql.Connector.App.Config.TBenchmarkConfig.data_source_instance:type_name -> NYql.NConnector.NApi.TDataSourceInstance + 6, // 2: NYql.Connector.App.Config.TBenchmarkConfig.data_source_instance:type_name -> NYql.TGenericDataSourceInstance 1, // 3: NYql.Connector.App.Config.TBenchmarkConfig.test_cases:type_name -> NYql.Connector.App.Config.TBenchmarkTestCase 2, // 4: NYql.Connector.App.Config.TBenchmarkTestCase.server_params:type_name -> NYql.Connector.App.Config.TBenchmarkServerParams 3, // 5: NYql.Connector.App.Config.TBenchmarkTestCase.client_params:type_name -> NYql.Connector.App.Config.TBenchmarkClientParams diff --git a/app/config/bench.proto b/app/config/bench.proto index 67860040..ef8a992e 100644 --- a/app/config/bench.proto +++ b/app/config/bench.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package NYql.Connector.App.Config; -import "ydb/library/yql/providers/generic/connector/api/common/data_source.proto"; +import "yql/essentials/providers/common/proto/gateways_config.proto"; import "app/config/client.proto"; import "app/config/server.proto"; @@ -16,7 +16,7 @@ message TBenchmarkConfig { } // A data source instance from which we'll read the data - NYql.NConnector.NApi.TDataSourceInstance data_source_instance = 3; + NYql.TGenericDataSourceInstance data_source_instance = 3; // A table from which we'll read the data string table = 4; diff --git a/app/config/client.pb.go b/app/config/client.pb.go index 3e82de71..f9e1b7c2 100644 --- a/app/config/client.pb.go +++ b/app/config/client.pb.go @@ -28,13 +28,13 @@ type TClientConfig struct { unknownFields protoimpl.UnknownFields // Connector GRPC API endpoint to connect - ConnectorServerEndpoint *common.TEndpoint `protobuf:"bytes,4,opt,name=connector_server_endpoint,json=connectorServerEndpoint,proto3" json:"connector_server_endpoint,omitempty"` + ConnectorServerEndpoint *common.TGenericEndpoint `protobuf:"bytes,4,opt,name=connector_server_endpoint,json=connectorServerEndpoint,proto3" json:"connector_server_endpoint,omitempty"` // TLS credentials for Connector Tls *TClientTLSConfig `protobuf:"bytes,2,opt,name=tls,proto3" json:"tls,omitempty"` // Data source instance we read data from - DataSourceInstance *common.TDataSourceInstance `protobuf:"bytes,3,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` + DataSourceInstance *common.TGenericDataSourceInstance `protobuf:"bytes,3,opt,name=data_source_instance,json=dataSourceInstance,proto3" json:"data_source_instance,omitempty"` // Solomon metrics endpoint to connect - MetricsServerEndpoint *common.TEndpoint `protobuf:"bytes,5,opt,name=metrics_server_endpoint,json=metricsServerEndpoint,proto3" json:"metrics_server_endpoint,omitempty"` + MetricsServerEndpoint *common.TGenericEndpoint `protobuf:"bytes,5,opt,name=metrics_server_endpoint,json=metricsServerEndpoint,proto3" json:"metrics_server_endpoint,omitempty"` } func (x *TClientConfig) Reset() { @@ -69,7 +69,7 @@ func (*TClientConfig) Descriptor() ([]byte, []int) { return file_app_config_client_proto_rawDescGZIP(), []int{0} } -func (x *TClientConfig) GetConnectorServerEndpoint() *common.TEndpoint { +func (x *TClientConfig) GetConnectorServerEndpoint() *common.TGenericEndpoint { if x != nil { return x.ConnectorServerEndpoint } @@ -83,14 +83,14 @@ func (x *TClientConfig) GetTls() *TClientTLSConfig { return nil } -func (x *TClientConfig) GetDataSourceInstance() *common.TDataSourceInstance { +func (x *TClientConfig) GetDataSourceInstance() *common.TGenericDataSourceInstance { if x != nil { return x.DataSourceInstance } return nil } -func (x *TClientConfig) GetMetricsServerEndpoint() *common.TEndpoint { +func (x *TClientConfig) GetMetricsServerEndpoint() *common.TGenericEndpoint { if x != nil { return x.MetricsServerEndpoint } @@ -162,48 +162,41 @@ var file_app_config_client_proto_rawDesc = []byte{ 0x0a, 0x17, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x48, 0x79, 0x64, 0x62, 0x2f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x2f, 0x79, 0x71, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x45, - 0x79, 0x64, 0x62, 0x2f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2f, 0x79, 0x71, 0x6c, 0x2f, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, - 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x02, 0x0a, 0x0d, 0x54, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, - 0x69, 0x2e, 0x54, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x17, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, - 0x74, 0x6c, 0x73, 0x12, 0x5b, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x64, 0x61, - 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x57, 0x0a, 0x17, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x15, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, - 0x54, 0x0a, 0x10, 0x54, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x63, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, - 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x67, 0x6f, - 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x3b, 0x79, 0x71, 0x6c, 0x2f, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xcc, 0x02, 0x0a, 0x0d, 0x54, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x17, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x54, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x52, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x4e, 0x0a, 0x17, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, + 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x15, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, + 0x22, 0x54, 0x0a, 0x10, 0x54, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x63, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, + 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, + 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x67, + 0x6f, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -220,16 +213,16 @@ func file_app_config_client_proto_rawDescGZIP() []byte { var file_app_config_client_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_app_config_client_proto_goTypes = []interface{}{ - (*TClientConfig)(nil), // 0: NYql.Connector.App.Config.TClientConfig - (*TClientTLSConfig)(nil), // 1: NYql.Connector.App.Config.TClientTLSConfig - (*common.TEndpoint)(nil), // 2: NYql.NConnector.NApi.TEndpoint - (*common.TDataSourceInstance)(nil), // 3: NYql.NConnector.NApi.TDataSourceInstance + (*TClientConfig)(nil), // 0: NYql.Connector.App.Config.TClientConfig + (*TClientTLSConfig)(nil), // 1: NYql.Connector.App.Config.TClientTLSConfig + (*common.TGenericEndpoint)(nil), // 2: NYql.TGenericEndpoint + (*common.TGenericDataSourceInstance)(nil), // 3: NYql.TGenericDataSourceInstance } var file_app_config_client_proto_depIdxs = []int32{ - 2, // 0: NYql.Connector.App.Config.TClientConfig.connector_server_endpoint:type_name -> NYql.NConnector.NApi.TEndpoint + 2, // 0: NYql.Connector.App.Config.TClientConfig.connector_server_endpoint:type_name -> NYql.TGenericEndpoint 1, // 1: NYql.Connector.App.Config.TClientConfig.tls:type_name -> NYql.Connector.App.Config.TClientTLSConfig - 3, // 2: NYql.Connector.App.Config.TClientConfig.data_source_instance:type_name -> NYql.NConnector.NApi.TDataSourceInstance - 2, // 3: NYql.Connector.App.Config.TClientConfig.metrics_server_endpoint:type_name -> NYql.NConnector.NApi.TEndpoint + 3, // 2: NYql.Connector.App.Config.TClientConfig.data_source_instance:type_name -> NYql.TGenericDataSourceInstance + 2, // 3: NYql.Connector.App.Config.TClientConfig.metrics_server_endpoint:type_name -> NYql.TGenericEndpoint 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name diff --git a/app/config/client.proto b/app/config/client.proto index c747aa90..f7bf500e 100644 --- a/app/config/client.proto +++ b/app/config/client.proto @@ -1,22 +1,21 @@ syntax = "proto3"; package NYql.Connector.App.Config; -import "ydb/library/yql/providers/generic/connector/api/common/data_source.proto"; -import "ydb/library/yql/providers/generic/connector/api/common/endpoint.proto"; +import "yql/essentials/providers/common/proto/gateways_config.proto"; option go_package = "github.com/ydb-platform/fq-connector-go/app/config"; // Connector client configuration message TClientConfig { // Connector GRPC API endpoint to connect - NYql.NConnector.NApi.TEndpoint connector_server_endpoint = 4; + NYql.TGenericEndpoint connector_server_endpoint = 4; // TLS credentials for Connector TClientTLSConfig tls = 2; // Data source instance we read data from - NYql.NConnector.NApi.TDataSourceInstance data_source_instance = 3; + NYql.TGenericDataSourceInstance data_source_instance = 3; // Solomon metrics endpoint to connect - NYql.NConnector.NApi.TEndpoint metrics_server_endpoint = 5; + NYql.TGenericEndpoint metrics_server_endpoint = 5; reserved 1; } diff --git a/app/config/server.pb.go b/app/config/server.pb.go index a771c3b8..61401105 100644 --- a/app/config/server.pb.go +++ b/app/config/server.pb.go @@ -141,7 +141,7 @@ type TServerConfig struct { unknownFields protoimpl.UnknownFields // Deprecated: Marked as deprecated in app/config/server.proto. - Endpoint *common.TEndpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + Endpoint *common.TGenericEndpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // Deprecated: Marked as deprecated in app/config/server.proto. Tls *TServerTLSConfig `protobuf:"bytes,2,opt,name=tls,proto3" json:"tls,omitempty"` // TConnectorServerConfig contains configuration of the main GRPC server @@ -198,7 +198,7 @@ func (*TServerConfig) Descriptor() ([]byte, []int) { } // Deprecated: Marked as deprecated in app/config/server.proto. -func (x *TServerConfig) GetEndpoint() *common.TEndpoint { +func (x *TServerConfig) GetEndpoint() *common.TGenericEndpoint { if x != nil { return x.Endpoint } @@ -276,7 +276,7 @@ type TConnectorServerConfig struct { unknownFields protoimpl.UnknownFields // Network address server will be listening on - Endpoint *common.TEndpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + Endpoint *common.TGenericEndpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // TLS settings. // Leave it empty for insecure connections. Tls *TServerTLSConfig `protobuf:"bytes,2,opt,name=tls,proto3" json:"tls,omitempty"` @@ -316,7 +316,7 @@ func (*TConnectorServerConfig) Descriptor() ([]byte, []int) { return file_app_config_server_proto_rawDescGZIP(), []int{1} } -func (x *TConnectorServerConfig) GetEndpoint() *common.TEndpoint { +func (x *TConnectorServerConfig) GetEndpoint() *common.TGenericEndpoint { if x != nil { return x.Endpoint } @@ -508,7 +508,7 @@ type TPprofServerConfig struct { unknownFields protoimpl.UnknownFields // Network address server will be listening on - Endpoint *common.TEndpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + Endpoint *common.TGenericEndpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // TLS settings. // Leave it empty for insecure connections. Tls *TServerTLSConfig `protobuf:"bytes,2,opt,name=tls,proto3" json:"tls,omitempty"` @@ -546,7 +546,7 @@ func (*TPprofServerConfig) Descriptor() ([]byte, []int) { return file_app_config_server_proto_rawDescGZIP(), []int{5} } -func (x *TPprofServerConfig) GetEndpoint() *common.TEndpoint { +func (x *TPprofServerConfig) GetEndpoint() *common.TGenericEndpoint { if x != nil { return x.Endpoint } @@ -567,7 +567,7 @@ type TMetricsServerConfig struct { unknownFields protoimpl.UnknownFields // Network address server will be listening on - Endpoint *common.TEndpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + Endpoint *common.TGenericEndpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // TLS settings. // Leave it empty for insecure connections. Tls *TServerTLSConfig `protobuf:"bytes,2,opt,name=tls,proto3" json:"tls,omitempty"` @@ -605,7 +605,7 @@ func (*TMetricsServerConfig) Descriptor() ([]byte, []int) { return file_app_config_server_proto_rawDescGZIP(), []int{6} } -func (x *TMetricsServerConfig) GetEndpoint() *common.TEndpoint { +func (x *TMetricsServerConfig) GetEndpoint() *common.TGenericEndpoint { if x != nil { return x.Endpoint } @@ -1604,7 +1604,7 @@ type TLoggingConfig_TStaticResolving_TDatabase struct { unknownFields protoimpl.UnknownFields // network address - Endpoint *common.TEndpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + Endpoint *common.TGenericEndpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // database name Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } @@ -1641,7 +1641,7 @@ func (*TLoggingConfig_TStaticResolving_TDatabase) Descriptor() ([]byte, []int) { return file_app_config_server_proto_rawDescGZIP(), []int{17, 1, 0} } -func (x *TLoggingConfig_TStaticResolving_TDatabase) GetEndpoint() *common.TEndpoint { +func (x *TLoggingConfig_TStaticResolving_TDatabase) GetEndpoint() *common.TGenericEndpoint { if x != nil { return x.Endpoint } @@ -1710,168 +1710,139 @@ var file_app_config_server_proto_rawDesc = []byte{ 0x0a, 0x17, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x45, 0x79, 0x64, 0x62, 0x2f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x2f, 0x79, 0x71, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x06, 0x0a, 0x0d, - 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x41, - 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, - 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, - 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x74, 0x6c, - 0x73, 0x12, 0x5c, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x4e, 0x59, - 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, - 0x4a, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x6c, - 0x6f, 0x67, 0x67, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, 0x59, - 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x12, 0x50, 0x0a, - 0x0c, 0x70, 0x70, 0x72, 0x6f, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x54, 0x50, 0x70, 0x72, 0x6f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x0b, 0x70, 0x70, 0x72, 0x6f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, - 0x56, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x54, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, - 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4e, - 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, - 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x44, 0x61, 0x74, 0x61, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x64, 0x61, 0x74, - 0x61, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x16, 0x54, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, - 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, - 0x31, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, - 0x6d, 0x61, 0x78, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x22, 0x3e, 0x0a, 0x10, 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x4a, 0x04, 0x08, 0x01, - 0x10, 0x02, 0x22, 0x26, 0x0a, 0x10, 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x61, - 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x0d, 0x54, - 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x09, - 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x24, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x4c, 0x6f, 0x67, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x37, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x71, 0x6c, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x90, 0x01, 0x0a, 0x12, 0x54, 0x50, 0x70, - 0x72, 0x6f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x03, - 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, - 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x14, - 0x54, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, - 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, 0x74, 0x6c, 0x73, - 0x22, 0x91, 0x01, 0x0a, 0x0d, 0x54, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x50, - 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x17, - 0x70, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x63, - 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x70, - 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x75, 0x65, 0x43, 0x61, 0x70, 0x61, - 0x63, 0x69, 0x74, 0x79, 0x22, 0x47, 0x0a, 0x11, 0x54, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x75, 0x73, 0x65, - 0x5f, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, - 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x73, 0x65, 0x55, 0x6e, 0x73, - 0x61, 0x66, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x72, 0x73, 0x22, 0xe6, 0x01, - 0x0a, 0x19, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, - 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, - 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x61, 0x6e, - 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, - 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x45, 0x6c, 0x61, 0x70, 0x73, - 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x11, 0x54, 0x43, 0x6c, 0x69, 0x63, - 0x6b, 0x48, 0x6f, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, - 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, - 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x13, - 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, - 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, + 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x3b, 0x79, 0x71, 0x6c, 0x2f, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x81, 0x06, 0x0a, 0x0d, 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x03, 0x74, + 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x5c, + 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x0a, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x09, 0x72, + 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x67, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0c, 0x70, 0x70, + 0x72, 0x6f, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x50, 0x70, + 0x72, 0x6f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0b, 0x70, 0x70, 0x72, 0x6f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x0e, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x54, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x54, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x4e, 0x59, 0x71, + 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, - 0x6f, 0x66, 0x66, 0x22, 0xb1, 0x01, 0x0a, 0x10, 0x54, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, - 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, - 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0xeb, 0x01, 0x0a, 0x12, 0x54, 0x4d, 0x73, 0x53, - 0x51, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x44, 0x61, 0x74, 0x61, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x16, 0x54, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x32, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, + 0x74, 0x6c, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x0a, 0x10, 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x65, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, + 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x26, 0x0a, 0x10, 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, + 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0x8b, + 0x01, 0x0a, 0x0d, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x41, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x45, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x37, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x71, + 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x71, 0x6c, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x87, 0x01, 0x0a, + 0x12, 0x54, 0x50, 0x70, 0x72, 0x6f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x54, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x14, 0x54, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x32, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, 0x74, + 0x6c, 0x73, 0x22, 0x91, 0x01, 0x0a, 0x0d, 0x54, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x70, 0x65, 0x72, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x6f, 0x77, + 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x36, + 0x0a, 0x17, 0x70, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, + 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x15, 0x70, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x51, 0x75, 0x65, 0x75, 0x65, 0x43, 0x61, + 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x22, 0x47, 0x0a, 0x11, 0x54, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x75, + 0x73, 0x65, 0x5f, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x73, 0x65, 0x55, + 0x6e, 0x73, 0x61, 0x66, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x72, 0x73, 0x22, + 0xe6, 0x01, 0x0a, 0x19, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, + 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x31, 0x0a, 0x14, 0x72, + 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x72, 0x61, 0x6e, 0x64, 0x6f, + 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x12, 0x28, + 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x45, 0x6c, 0x61, + 0x70, 0x73, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x11, 0x54, 0x43, 0x6c, + 0x69, 0x63, 0x6b, 0x48, 0x6f, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4e, 0x59, @@ -1879,13 +1850,25 @@ var file_app_config_server_proto_rawDesc = []byte{ 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, - 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0xdf, 0x01, 0x0a, 0x0c, 0x54, 0x4d, 0x79, 0x53, 0x51, 0x4c, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, + 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0xb1, 0x01, 0x0a, 0x10, 0x54, 0x47, 0x72, 0x65, 0x65, 0x6e, + 0x70, 0x6c, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, + 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, + 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0xeb, 0x01, 0x0a, 0x12, 0x54, 0x4d, + 0x73, 0x53, 0x51, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, + 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, @@ -1893,167 +1876,180 @@ var file_app_config_server_proto_rawDesc = []byte{ 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0xe6, 0x01, 0x0a, 0x0d, 0x54, 0x4f, 0x72, 0x61, - 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, - 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x15, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, - 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, - 0x22, 0xb2, 0x01, 0x0a, 0x11, 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, + 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0xdf, 0x01, 0x0a, 0x0c, 0x54, 0x4d, 0x79, 0x53, + 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, + 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, + 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0xe6, 0x01, 0x0a, 0x0d, 0x54, 0x4f, + 0x72, 0x61, 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, + 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, + 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x13, 0x65, + 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, + 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, + 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, + 0x66, 0x66, 0x22, 0xb2, 0x01, 0x0a, 0x11, 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, + 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, + 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, + 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, + 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0xeb, 0x03, 0x0a, 0x0a, 0x54, 0x59, 0x64, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x65, - 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, - 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4e, 0x59, - 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, - 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0xeb, 0x03, 0x0a, 0x0a, 0x54, 0x59, 0x64, 0x62, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x17, - 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, - 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x12, 0x5d, 0x0a, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x75, 0x6e, 0x64, 0x65, - 0x72, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x66, 0x6f, 0x72, - 0x5f, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x27, 0x75, 0x73, 0x65, 0x55, - 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x6f, - 0x72, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x59, - 0x64, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, - 0x6f, 0x64, 0x65, 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x45, 0x78, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0x67, 0x0a, 0x04, 0x4d, 0x6f, - 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, - 0x54, 0x44, 0x4c, 0x49, 0x42, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x49, - 0x45, 0x53, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x51, 0x55, 0x45, - 0x52, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, - 0x45, 0x10, 0x02, 0x22, 0x90, 0x07, 0x0a, 0x0e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x36, + 0x0a, 0x17, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x15, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x5d, 0x0a, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x75, 0x6e, + 0x64, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x66, + 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x27, 0x75, 0x73, + 0x65, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x46, 0x6f, 0x72, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x54, 0x59, 0x64, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x65, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, + 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, + 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0x67, 0x0a, 0x04, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, + 0x5f, 0x53, 0x54, 0x44, 0x4c, 0x49, 0x42, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x49, 0x45, 0x53, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x4e, 0x41, 0x54, + 0x49, 0x56, 0x45, 0x10, 0x02, 0x22, 0x87, 0x07, 0x0a, 0x0e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x03, 0x79, 0x64, 0x62, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x54, 0x59, 0x64, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, 0x79, 0x64, + 0x62, 0x12, 0x57, 0x0a, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, + 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x44, + 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x48, + 0x00, 0x52, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x12, 0x54, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x4e, 0x59, 0x71, + 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x1a, 0x13, 0x0a, 0x11, 0x54, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x1a, 0xea, 0x04, 0x0a, 0x10, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x62, 0x0a, 0x09, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, + 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, + 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x44, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x61, + 0x0a, 0x07, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x47, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, 0x46, 0x6f, 0x6c, 0x64, + 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, + 0x73, 0x1a, 0x53, 0x0a, 0x09, 0x54, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x32, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x54, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xb9, 0x01, 0x0a, 0x07, 0x54, 0x46, 0x6f, 0x6c, 0x64, + 0x65, 0x72, 0x12, 0x70, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, + 0x6e, 0x67, 0x2e, 0x54, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x4c, 0x6f, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x7e, 0x0a, 0x0c, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x58, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, + 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, + 0x54, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x22, + 0xcd, 0x04, 0x0a, 0x12, 0x54, 0x44, 0x61, 0x74, 0x61, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x03, 0x79, 0x64, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x59, 0x64, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, 0x79, 0x64, 0x62, 0x12, - 0x57, 0x0a, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, - 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x44, 0x79, 0x6e, - 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, - 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x12, 0x54, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, + 0x3d, 0x0a, 0x05, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, + 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4d, 0x79, 0x53, 0x51, + 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x12, 0x4c, + 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, + 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x48, 0x6f, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0d, + 0x6d, 0x73, 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x54, 0x4d, 0x73, 0x53, 0x51, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x0b, 0x6d, 0x73, 0x53, 0x71, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, + 0x4c, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x71, 0x6c, 0x12, 0x49, 0x0a, + 0x09, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x47, 0x72, + 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x67, + 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, 0x12, 0x40, 0x0a, 0x06, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x1a, 0x13, - 0x0a, 0x11, 0x54, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x69, 0x6e, 0x67, 0x1a, 0xf3, 0x04, 0x0a, 0x10, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x62, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x4e, 0x59, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x06, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x6c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x07, - 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, - 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, - 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x1a, - 0x5c, 0x0a, 0x09, 0x54, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x4e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x4e, 0x41, 0x70, 0x69, 0x2e, 0x54, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xb9, 0x01, - 0x0a, 0x07, 0x54, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x70, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, - 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, - 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x46, 0x6f, 0x6c, 0x64, 0x65, - 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x4c, - 0x6f, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7e, 0x0a, 0x0c, 0x46, 0x6f, 0x6c, - 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x58, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x22, 0xcd, 0x04, 0x0a, 0x12, 0x54, 0x44, 0x61, 0x74, 0x61, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, - 0x03, 0x79, 0x64, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x59, 0x64, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x03, 0x79, 0x64, 0x62, 0x12, 0x3d, 0x0a, 0x05, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x54, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, - 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x68, 0x6f, - 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x4e, 0x59, 0x71, 0x6c, - 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x48, 0x6f, 0x75, 0x73, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x68, 0x6f, - 0x75, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x6d, 0x73, 0x5f, 0x73, 0x71, 0x6c, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4d, 0x73, 0x53, 0x51, 0x4c, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x6d, 0x73, 0x53, 0x71, 0x6c, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, - 0x65, 0x73, 0x71, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x4e, 0x59, 0x71, - 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, - 0x51, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, - 0x65, 0x73, 0x71, 0x6c, 0x12, 0x49, 0x0a, 0x09, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x54, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x6d, 0x12, - 0x40, 0x0a, 0x06, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x4f, 0x72, 0x61, - 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x12, 0x43, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x4e, 0x59, 0x71, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, - 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x6c, - 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2a, 0x4b, 0x0a, 0x09, 0x45, 0x4c, 0x6f, 0x67, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x09, - 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, - 0x4f, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x09, 0x0a, - 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x41, 0x54, 0x41, - 0x4c, 0x10, 0x05, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x66, - 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x61, - 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2a, + 0x4b, 0x0a, 0x09, 0x45, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, + 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, + 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, + 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0x04, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x05, 0x42, 0x34, 0x5a, 0x32, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x64, 0x62, 0x2d, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x66, 0x71, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2096,12 +2092,12 @@ var file_app_config_server_proto_goTypes = []interface{}{ (*TLoggingConfig_TStaticResolving)(nil), // 22: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving (*TLoggingConfig_TStaticResolving_TDatabase)(nil), // 23: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TDatabase (*TLoggingConfig_TStaticResolving_TFolder)(nil), // 24: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder - nil, // 25: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.FoldersEntry - nil, // 26: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder.LogGroupsEntry - (*common.TEndpoint)(nil), // 27: NYql.NConnector.NApi.TEndpoint + nil, // 25: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.FoldersEntry + nil, // 26: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder.LogGroupsEntry + (*common.TGenericEndpoint)(nil), // 27: NYql.TGenericEndpoint } var file_app_config_server_proto_depIdxs = []int32{ - 27, // 0: NYql.Connector.App.Config.TServerConfig.endpoint:type_name -> NYql.NConnector.NApi.TEndpoint + 27, // 0: NYql.Connector.App.Config.TServerConfig.endpoint:type_name -> NYql.TGenericEndpoint 4, // 1: NYql.Connector.App.Config.TServerConfig.tls:type_name -> NYql.Connector.App.Config.TServerTLSConfig 3, // 2: NYql.Connector.App.Config.TServerConfig.connector_server:type_name -> NYql.Connector.App.Config.TConnectorServerConfig 5, // 3: NYql.Connector.App.Config.TServerConfig.read_limit:type_name -> NYql.Connector.App.Config.TServerReadLimit @@ -2111,12 +2107,12 @@ var file_app_config_server_proto_depIdxs = []int32{ 9, // 7: NYql.Connector.App.Config.TServerConfig.paging:type_name -> NYql.Connector.App.Config.TPagingConfig 10, // 8: NYql.Connector.App.Config.TServerConfig.conversion:type_name -> NYql.Connector.App.Config.TConversionConfig 20, // 9: NYql.Connector.App.Config.TServerConfig.datasources:type_name -> NYql.Connector.App.Config.TDatasourcesConfig - 27, // 10: NYql.Connector.App.Config.TConnectorServerConfig.endpoint:type_name -> NYql.NConnector.NApi.TEndpoint + 27, // 10: NYql.Connector.App.Config.TConnectorServerConfig.endpoint:type_name -> NYql.TGenericEndpoint 4, // 11: NYql.Connector.App.Config.TConnectorServerConfig.tls:type_name -> NYql.Connector.App.Config.TServerTLSConfig 0, // 12: NYql.Connector.App.Config.TLoggerConfig.log_level:type_name -> NYql.Connector.App.Config.ELogLevel - 27, // 13: NYql.Connector.App.Config.TPprofServerConfig.endpoint:type_name -> NYql.NConnector.NApi.TEndpoint + 27, // 13: NYql.Connector.App.Config.TPprofServerConfig.endpoint:type_name -> NYql.TGenericEndpoint 4, // 14: NYql.Connector.App.Config.TPprofServerConfig.tls:type_name -> NYql.Connector.App.Config.TServerTLSConfig - 27, // 15: NYql.Connector.App.Config.TMetricsServerConfig.endpoint:type_name -> NYql.NConnector.NApi.TEndpoint + 27, // 15: NYql.Connector.App.Config.TMetricsServerConfig.endpoint:type_name -> NYql.TGenericEndpoint 4, // 16: NYql.Connector.App.Config.TMetricsServerConfig.tls:type_name -> NYql.Connector.App.Config.TServerTLSConfig 11, // 17: NYql.Connector.App.Config.TClickHouseConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig 11, // 18: NYql.Connector.App.Config.TGreenplumConfig.exponential_backoff:type_name -> NYql.Connector.App.Config.TExponentialBackoffConfig @@ -2139,7 +2135,7 @@ var file_app_config_server_proto_depIdxs = []int32{ 19, // 35: NYql.Connector.App.Config.TDatasourcesConfig.logging:type_name -> NYql.Connector.App.Config.TLoggingConfig 23, // 36: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.databases:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TDatabase 25, // 37: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.folders:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.FoldersEntry - 27, // 38: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TDatabase.endpoint:type_name -> NYql.NConnector.NApi.TEndpoint + 27, // 38: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TDatabase.endpoint:type_name -> NYql.TGenericEndpoint 26, // 39: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder.log_groups:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder.LogGroupsEntry 24, // 40: NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.FoldersEntry.value:type_name -> NYql.Connector.App.Config.TLoggingConfig.TStaticResolving.TFolder 41, // [41:41] is the sub-list for method output_type diff --git a/app/config/server.proto b/app/config/server.proto index 87d0b160..148cbfd6 100644 --- a/app/config/server.proto +++ b/app/config/server.proto @@ -1,13 +1,13 @@ syntax = "proto3"; package NYql.Connector.App.Config; -import "ydb/library/yql/providers/generic/connector/api/common/endpoint.proto"; +import "yql/essentials/providers/common/proto/gateways_config.proto"; option go_package = "github.com/ydb-platform/fq-connector-go/app/config"; // Connector server configuration message TServerConfig { - NYql.NConnector.NApi.TEndpoint endpoint = 1 [deprecated=true]; + NYql.TGenericEndpoint endpoint = 1 [deprecated=true]; TServerTLSConfig tls = 2 [deprecated=true]; // TConnectorServerConfig contains configuration of the main GRPC server @@ -34,7 +34,7 @@ message TServerConfig { // TConnectorServerConfig - configuration of the main GRPC server message TConnectorServerConfig { // Network address server will be listening on - NYql.NConnector.NApi.TEndpoint endpoint = 1; + NYql.TGenericEndpoint endpoint = 1; // TLS settings. // Leave it empty for insecure connections. TServerTLSConfig tls = 2; @@ -78,7 +78,7 @@ enum ELogLevel { // TPprofServerConfig configures HTTP server delivering Go runtime profiler data message TPprofServerConfig { // Network address server will be listening on - NYql.NConnector.NApi.TEndpoint endpoint = 1; + NYql.TGenericEndpoint endpoint = 1; // TLS settings. // Leave it empty for insecure connections. TServerTLSConfig tls = 2; @@ -87,7 +87,7 @@ message TPprofServerConfig { // TMetricsConfig - configuration of the metrics service message TMetricsServerConfig { // Network address server will be listening on - NYql.NConnector.NApi.TEndpoint endpoint = 1; + NYql.TGenericEndpoint endpoint = 1; // TLS settings. // Leave it empty for insecure connections. TServerTLSConfig tls = 2; @@ -247,7 +247,7 @@ message TLoggingConfig { message TStaticResolving { message TDatabase { // network address - NYql.NConnector.NApi.TEndpoint endpoint = 1; + NYql.TGenericEndpoint endpoint = 1; // database name string name = 2; } diff --git a/app/server/config/config.go b/app/server/config/config.go index 7b001846..5b5892e1 100644 --- a/app/server/config/config.go +++ b/app/server/config/config.go @@ -217,7 +217,7 @@ func validateConnectorServerConfig(c *config.TConnectorServerConfig) error { return nil } -func validateEndpoint(c *api_common.TEndpoint) error { +func validateEndpoint(c *api_common.TGenericEndpoint) error { if c == nil { return fmt.Errorf("required section is missing") } @@ -532,13 +532,13 @@ const ( func NewDefaultConfig() *config.TServerConfig { cfg := &config.TServerConfig{ ConnectorServer: &config.TConnectorServerConfig{ - Endpoint: &api_common.TEndpoint{ + Endpoint: &api_common.TGenericEndpoint{ Host: defaultHost, Port: defaultPortConnector, }, }, PprofServer: &config.TPprofServerConfig{ - Endpoint: &api_common.TEndpoint{ + Endpoint: &api_common.TGenericEndpoint{ Host: defaultHost, Port: defaultPortPprof, }, diff --git a/app/server/data_source_collection.go b/app/server/data_source_collection.go index 0ae11dad..269aba0c 100644 --- a/app/server/data_source_collection.go +++ b/app/server/data_source_collection.go @@ -35,17 +35,17 @@ func (dsc *DataSourceCollection) DescribeTable( kind := request.GetDataSourceInstance().GetKind() switch kind { - case api_common.EDataSourceKind_CLICKHOUSE, api_common.EDataSourceKind_POSTGRESQL, - api_common.EDataSourceKind_YDB, api_common.EDataSourceKind_MS_SQL_SERVER, - api_common.EDataSourceKind_MYSQL, api_common.EDataSourceKind_GREENPLUM, - api_common.EDataSourceKind_ORACLE, api_common.EDataSourceKind_LOGGING: + case api_common.EGenericDataSourceKind_CLICKHOUSE, api_common.EGenericDataSourceKind_POSTGRESQL, + api_common.EGenericDataSourceKind_YDB, api_common.EGenericDataSourceKind_MS_SQL_SERVER, + api_common.EGenericDataSourceKind_MYSQL, api_common.EGenericDataSourceKind_GREENPLUM, + api_common.EGenericDataSourceKind_ORACLE, api_common.EGenericDataSourceKind_LOGGING: ds, err := dsc.rdbms.Make(logger, kind) if err != nil { return nil, fmt.Errorf("make data source: %w", err) } return ds.DescribeTable(ctx, logger, request) - case api_common.EDataSourceKind_S3: + case api_common.EGenericDataSourceKind_S3: ds := s3.NewDataSource() return ds.DescribeTable(ctx, logger, request) @@ -61,17 +61,17 @@ func (dsc *DataSourceCollection) DoReadSplit( split *api_service_protos.TSplit, ) error { switch kind := split.GetSelect().GetDataSourceInstance().GetKind(); kind { - case api_common.EDataSourceKind_CLICKHOUSE, api_common.EDataSourceKind_POSTGRESQL, - api_common.EDataSourceKind_YDB, api_common.EDataSourceKind_MS_SQL_SERVER, - api_common.EDataSourceKind_MYSQL, api_common.EDataSourceKind_GREENPLUM, - api_common.EDataSourceKind_ORACLE, api_common.EDataSourceKind_LOGGING: + case api_common.EGenericDataSourceKind_CLICKHOUSE, api_common.EGenericDataSourceKind_POSTGRESQL, + api_common.EGenericDataSourceKind_YDB, api_common.EGenericDataSourceKind_MS_SQL_SERVER, + api_common.EGenericDataSourceKind_MYSQL, api_common.EGenericDataSourceKind_GREENPLUM, + api_common.EGenericDataSourceKind_ORACLE, api_common.EGenericDataSourceKind_LOGGING: ds, err := dsc.rdbms.Make(logger, kind) if err != nil { return fmt.Errorf("make data source: %w", err) } return readSplit[any](logger, stream, request, split, ds, dsc.memoryAllocator, dsc.readLimiterFactory, dsc.cfg) - case api_common.EDataSourceKind_S3: + case api_common.EGenericDataSourceKind_S3: ds := s3.NewDataSource() return readSplit[string](logger, stream, request, split, ds, dsc.memoryAllocator, dsc.readLimiterFactory, dsc.cfg) diff --git a/app/server/datasource/interface.go b/app/server/datasource/interface.go index 55ee7cd3..62cc5681 100644 --- a/app/server/datasource/interface.go +++ b/app/server/datasource/interface.go @@ -15,7 +15,7 @@ import ( type Factory[T paging.Acceptor] interface { Make( logger *zap.Logger, - dataSourceType api_common.EDataSourceKind, + dataSourceType api_common.EGenericDataSourceKind, ) (DataSource[T], error) } diff --git a/app/server/datasource/rdbms/clickhouse/connection_http.go b/app/server/datasource/rdbms/clickhouse/connection_http.go index 9d7a7ec8..7f2ac468 100644 --- a/app/server/datasource/rdbms/clickhouse/connection_http.go +++ b/app/server/datasource/rdbms/clickhouse/connection_http.go @@ -74,7 +74,7 @@ func makeConnectionHTTP( ctx context.Context, logger *zap.Logger, cfg *config.TClickHouseConfig, - dsi *api_common.TDataSourceInstance, + dsi *api_common.TGenericDataSourceInstance, queryLogger common.QueryLogger, ) (rdbms_utils.Connection, error) { opts := &clickhouse.Options{ diff --git a/app/server/datasource/rdbms/clickhouse/connection_manager.go b/app/server/datasource/rdbms/clickhouse/connection_manager.go index fcbe481b..dc789ccb 100644 --- a/app/server/datasource/rdbms/clickhouse/connection_manager.go +++ b/app/server/datasource/rdbms/clickhouse/connection_manager.go @@ -29,9 +29,9 @@ func (c *connectionManager) Make( } switch dsi.Protocol { - case api_common.EProtocol_NATIVE: + case api_common.EGenericProtocol_NATIVE: return makeConnectionNative(ctx, logger, c.cfg, dsi, c.QueryLoggerFactory.Make(logger)) - case api_common.EProtocol_HTTP: + case api_common.EGenericProtocol_HTTP: return makeConnectionHTTP(ctx, logger, c.cfg, dsi, c.QueryLoggerFactory.Make(logger)) default: return nil, fmt.Errorf("can not run ClickHouse connection with protocol '%v'", dsi.Protocol) diff --git a/app/server/datasource/rdbms/clickhouse/connection_native.go b/app/server/datasource/rdbms/clickhouse/connection_native.go index 5722d5ca..0dddc3b5 100644 --- a/app/server/datasource/rdbms/clickhouse/connection_native.go +++ b/app/server/datasource/rdbms/clickhouse/connection_native.go @@ -76,7 +76,7 @@ func makeConnectionNative( ctx context.Context, logger *zap.Logger, cfg *config.TClickHouseConfig, - dsi *api_common.TDataSourceInstance, + dsi *api_common.TGenericDataSourceInstance, queryLogger common.QueryLogger, ) (rdbms_utils.Connection, error) { opts := &clickhouse.Options{ diff --git a/app/server/datasource/rdbms/data_source_factory.go b/app/server/datasource/rdbms/data_source_factory.go index 9ad38d60..d4ab573f 100644 --- a/app/server/datasource/rdbms/data_source_factory.go +++ b/app/server/datasource/rdbms/data_source_factory.go @@ -38,24 +38,24 @@ type dataSourceFactory struct { func (dsf *dataSourceFactory) Make( logger *zap.Logger, - dataSourceType api_common.EDataSourceKind, + dataSourceType api_common.EGenericDataSourceKind, ) (datasource.DataSource[any], error) { switch dataSourceType { - case api_common.EDataSourceKind_CLICKHOUSE: + case api_common.EGenericDataSourceKind_CLICKHOUSE: return NewDataSource(logger, &dsf.clickhouse, dsf.converterCollection), nil - case api_common.EDataSourceKind_POSTGRESQL: + case api_common.EGenericDataSourceKind_POSTGRESQL: return NewDataSource(logger, &dsf.postgresql, dsf.converterCollection), nil - case api_common.EDataSourceKind_YDB: + case api_common.EGenericDataSourceKind_YDB: return NewDataSource(logger, &dsf.ydb, dsf.converterCollection), nil - case api_common.EDataSourceKind_MS_SQL_SERVER: + case api_common.EGenericDataSourceKind_MS_SQL_SERVER: return NewDataSource(logger, &dsf.msSQLServer, dsf.converterCollection), nil - case api_common.EDataSourceKind_MYSQL: + case api_common.EGenericDataSourceKind_MYSQL: return NewDataSource(logger, &dsf.mysql, dsf.converterCollection), nil - case api_common.EDataSourceKind_GREENPLUM: + case api_common.EGenericDataSourceKind_GREENPLUM: return NewDataSource(logger, &dsf.greenplum, dsf.converterCollection), nil - case api_common.EDataSourceKind_ORACLE: + case api_common.EGenericDataSourceKind_ORACLE: return NewDataSource(logger, &dsf.oracle, dsf.converterCollection), nil - case api_common.EDataSourceKind_LOGGING: + case api_common.EGenericDataSourceKind_LOGGING: return NewDataSource(logger, &dsf.logging, dsf.converterCollection), nil default: return nil, fmt.Errorf("pick handler for data source type '%v': %w", dataSourceType, common.ErrDataSourceNotSupported) @@ -79,9 +79,13 @@ func NewDataSourceFactory( oracleTypeMapper := oracle.NewTypeMapper() // for PostgreSQL-like systems - schemaGetters := map[api_common.EDataSourceKind]func(dsi *api_common.TDataSourceInstance) string{ - api_common.EDataSourceKind_POSTGRESQL: func(dsi *api_common.TDataSourceInstance) string { return dsi.GetPgOptions().Schema }, - api_common.EDataSourceKind_GREENPLUM: func(dsi *api_common.TDataSourceInstance) string { return dsi.GetGpOptions().Schema }, + schemaGetters := map[api_common.EGenericDataSourceKind]func(dsi *api_common.TGenericDataSourceInstance) string{ + api_common.EGenericDataSourceKind_POSTGRESQL: func(dsi *api_common.TGenericDataSourceInstance) string { + return dsi.GetPgOptions().Schema + }, + api_common.EGenericDataSourceKind_GREENPLUM: func(dsi *api_common.TGenericDataSourceInstance) string { + return dsi.GetGpOptions().Schema + }, } dsf := &dataSourceFactory{ @@ -98,14 +102,14 @@ func NewDataSourceFactory( postgresql: Preset{ SQLFormatter: postgresql.NewSQLFormatter(), ConnectionManager: postgresql.NewConnectionManager( - cfg.Postgresql, connManagerBase, schemaGetters[api_common.EDataSourceKind_POSTGRESQL]), + cfg.Postgresql, connManagerBase, schemaGetters[api_common.EGenericDataSourceKind_POSTGRESQL]), TypeMapper: postgresqlTypeMapper, SchemaProvider: rdbms_utils.NewDefaultSchemaProvider( postgresqlTypeMapper, func(request *api_service_protos.TDescribeTableRequest) (string, *rdbms_utils.QueryArgs) { return postgresql.TableMetadataQuery( request, - schemaGetters[api_common.EDataSourceKind_POSTGRESQL](request.DataSourceInstance)) + schemaGetters[api_common.EGenericDataSourceKind_POSTGRESQL](request.DataSourceInstance)) }), RetrierSet: &retry.RetrierSet{ MakeConnection: retry.NewRetrierFromConfig(cfg.Postgresql.ExponentialBackoff, retry.ErrorCheckerMakeConnectionCommon), @@ -145,14 +149,14 @@ func NewDataSourceFactory( greenplum: Preset{ SQLFormatter: postgresql.NewSQLFormatter(), ConnectionManager: postgresql.NewConnectionManager( - cfg.Greenplum, connManagerBase, schemaGetters[api_common.EDataSourceKind_GREENPLUM]), + cfg.Greenplum, connManagerBase, schemaGetters[api_common.EGenericDataSourceKind_GREENPLUM]), TypeMapper: postgresqlTypeMapper, SchemaProvider: rdbms_utils.NewDefaultSchemaProvider( postgresqlTypeMapper, func(request *api_service_protos.TDescribeTableRequest) (string, *rdbms_utils.QueryArgs) { return postgresql.TableMetadataQuery( request, - schemaGetters[api_common.EDataSourceKind_GREENPLUM](request.DataSourceInstance)) + schemaGetters[api_common.EGenericDataSourceKind_GREENPLUM](request.DataSourceInstance)) }), RetrierSet: &retry.RetrierSet{ MakeConnection: retry.NewRetrierFromConfig(cfg.Greenplum.ExponentialBackoff, retry.ErrorCheckerMakeConnectionCommon), diff --git a/app/server/datasource/rdbms/data_source_test.go b/app/server/datasource/rdbms/data_source_test.go index 87212710..5e1efd79 100644 --- a/app/server/datasource/rdbms/data_source_test.go +++ b/app/server/datasource/rdbms/data_source_test.go @@ -27,7 +27,7 @@ func TestReadSplit(t *testing.T) { } split := &api_service_protos.TSplit{ Select: &api_service_protos.TSelect{ - DataSourceInstance: &api_common.TDataSourceInstance{}, + DataSourceInstance: &api_common.TGenericDataSourceInstance{}, What: &api_service_protos.TSelect_TWhat{ Items: []*api_service_protos.TSelect_TWhat_TItem{ { diff --git a/app/server/datasource/rdbms/logging/connection_manager.go b/app/server/datasource/rdbms/logging/connection_manager.go index 77df6533..b998cf13 100644 --- a/app/server/datasource/rdbms/logging/connection_manager.go +++ b/app/server/datasource/rdbms/logging/connection_manager.go @@ -36,8 +36,8 @@ func (cm *connectionManager) Make( params.Logger.Debug("Resolved log group into YDB endpoint", response.ToZapFields()...) // prepare new data source instance describing the underlying YDB database - ydbDataSourceInstance := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_YDB, + ydbDataSourceInstance := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_YDB, Endpoint: response.endpoint, Database: response.databaseName, Credentials: params.DataSourceInstance.GetCredentials(), diff --git a/app/server/datasource/rdbms/logging/resolver.go b/app/server/datasource/rdbms/logging/resolver.go index a01ccf65..7dfb3f0a 100644 --- a/app/server/datasource/rdbms/logging/resolver.go +++ b/app/server/datasource/rdbms/logging/resolver.go @@ -19,7 +19,7 @@ type resolveParams struct { } type resolveResponse struct { - endpoint *api_common.TEndpoint + endpoint *api_common.TGenericEndpoint databaseName string tableName string } diff --git a/app/server/datasource/rdbms/ms_sql_server/connection_manager.go b/app/server/datasource/rdbms/ms_sql_server/connection_manager.go index 0aa26dfe..3c5fc2a5 100644 --- a/app/server/datasource/rdbms/ms_sql_server/connection_manager.go +++ b/app/server/datasource/rdbms/ms_sql_server/connection_manager.go @@ -26,7 +26,7 @@ func (c *connectionManager) Make( ) (rdbms_utils.Connection, error) { dsi, ctx, logger := params.DataSourceInstance, params.Ctx, params.Logger - if dsi.Protocol != api_common.EProtocol_NATIVE { + if dsi.Protocol != api_common.EGenericProtocol_NATIVE { return nil, fmt.Errorf("can not create MS SQL Server connection with protocol '%v'", dsi.Protocol) } diff --git a/app/server/datasource/rdbms/oracle/connection_manager.go b/app/server/datasource/rdbms/oracle/connection_manager.go index 64e537a3..5ae03a3f 100644 --- a/app/server/datasource/rdbms/oracle/connection_manager.go +++ b/app/server/datasource/rdbms/oracle/connection_manager.go @@ -25,7 +25,7 @@ func (c *connectionManager) Make( params *rdbms_utils.ConnectionParamsMakeParams, ) (rdbms_utils.Connection, error) { dsi, ctx, logger := params.DataSourceInstance, params.Ctx, params.Logger - if dsi.Protocol != api_common.EProtocol_NATIVE { + if dsi.Protocol != api_common.EGenericProtocol_NATIVE { return nil, fmt.Errorf("can not create Oracle connection with protocol '%v'", dsi.Protocol) } diff --git a/app/server/datasource/rdbms/postgresql/connection_manager.go b/app/server/datasource/rdbms/postgresql/connection_manager.go index 869e63dd..cab9deee 100644 --- a/app/server/datasource/rdbms/postgresql/connection_manager.go +++ b/app/server/datasource/rdbms/postgresql/connection_manager.go @@ -68,7 +68,7 @@ var _ rdbms_utils.ConnectionManager = (*connectionManager)(nil) type connectionManager struct { rdbms_utils.ConnectionManagerBase - schemaGetter func(dsi *api_common.TDataSourceInstance) string + schemaGetter func(dsi *api_common.TGenericDataSourceInstance) string cfg ConnectionManagerConfig } @@ -80,7 +80,7 @@ func (c *connectionManager) Make( return nil, fmt.Errorf("currently only basic auth is supported") } - if dsi.Protocol != api_common.EProtocol_NATIVE { + if dsi.Protocol != api_common.EGenericProtocol_NATIVE { return nil, fmt.Errorf("can not create PostgreSQL connection with protocol '%v'", dsi.Protocol) } @@ -146,7 +146,7 @@ type ConnectionManagerConfig interface { func NewConnectionManager( cfg ConnectionManagerConfig, base rdbms_utils.ConnectionManagerBase, - schemaGetter func(*api_common.TDataSourceInstance) string, + schemaGetter func(*api_common.TGenericDataSourceInstance) string, ) rdbms_utils.ConnectionManager { return &connectionManager{ ConnectionManagerBase: base, diff --git a/app/server/datasource/rdbms/utils/select_helpers.go b/app/server/datasource/rdbms/utils/select_helpers.go index 85583527..ea6a2568 100644 --- a/app/server/datasource/rdbms/utils/select_helpers.go +++ b/app/server/datasource/rdbms/utils/select_helpers.go @@ -49,7 +49,7 @@ func formatSelectHead( formatter SQLFormatter, selectWhat *api_service_protos.TSelect_TWhat, tableName string, - dsi *api_common.TDataSourceInstance, + dsi *api_common.TGenericDataSourceInstance, fakeZeroOnEmptyColumnsSet bool, ) (string, *api_service_protos.TSelect_TWhat, error) { // SELECT $columns FROM $from diff --git a/app/server/datasource/rdbms/utils/sql.go b/app/server/datasource/rdbms/utils/sql.go index 78849616..39a0b0d6 100644 --- a/app/server/datasource/rdbms/utils/sql.go +++ b/app/server/datasource/rdbms/utils/sql.go @@ -35,10 +35,10 @@ type Rows interface { } type ConnectionParamsMakeParams struct { - Ctx context.Context // mandatory - Logger *zap.Logger // mandatory - DataSourceInstance *api_common.TDataSourceInstance // mandatory - TableName string // optional + Ctx context.Context // mandatory + Logger *zap.Logger // mandatory + DataSourceInstance *api_common.TGenericDataSourceInstance // mandatory + TableName string // optional } type ConnectionManager interface { @@ -54,7 +54,7 @@ type SQLFormatterFormatFromParams struct { Ctx context.Context Logger *zap.Logger TableName string - DataSourceInstance *api_common.TDataSourceInstance + DataSourceInstance *api_common.TGenericDataSourceInstance } type SQLFormatter interface { diff --git a/app/server/datasource/rdbms/utils/unit_test_helpers.go b/app/server/datasource/rdbms/utils/unit_test_helpers.go index ef306f6f..5075f5a9 100644 --- a/app/server/datasource/rdbms/utils/unit_test_helpers.go +++ b/app/server/datasource/rdbms/utils/unit_test_helpers.go @@ -127,7 +127,7 @@ func NewNestedValueExpression(val string) *api_service_protos.TExpression { func MakeTestSplit() *api_service_protos.TSplit { return &api_service_protos.TSplit{ Select: &api_service_protos.TSelect{ - DataSourceInstance: &api_common.TDataSourceInstance{}, + DataSourceInstance: &api_common.TGenericDataSourceInstance{}, What: NewDefaultWhat(), From: &api_service_protos.TSelect_TFrom{ Table: "example_1", diff --git a/app/server/datasource/rdbms/ydb/connection_database_sql.go b/app/server/datasource/rdbms/ydb/connection_database_sql.go index 891e3160..44134399 100644 --- a/app/server/datasource/rdbms/ydb/connection_database_sql.go +++ b/app/server/datasource/rdbms/ydb/connection_database_sql.go @@ -97,7 +97,7 @@ func newConnectionDatabaseSQL( logger *zap.Logger, queryLogger common.QueryLogger, cfg *config.TYdbConfig, - dsi *api_common.TDataSourceInstance, + dsi *api_common.TGenericDataSourceInstance, ydbDriver *ydb_sdk.Driver, ) (ydbConnection, error) { ydbConn, err := ydb_sdk.Connector( diff --git a/app/server/datasource/rdbms/ydb/connection_native.go b/app/server/datasource/rdbms/ydb/connection_native.go index d12cee81..b49a65fd 100644 --- a/app/server/datasource/rdbms/ydb/connection_native.go +++ b/app/server/datasource/rdbms/ydb/connection_native.go @@ -109,7 +109,7 @@ func (r *rowsNative) Close() error { var _ rdbms_utils.Connection = (*connectionNative)(nil) type connectionNative struct { - dsi *api_common.TDataSourceInstance + dsi *api_common.TGenericDataSourceInstance queryLogger common.QueryLogger ctx context.Context driver *ydb_sdk.Driver @@ -293,7 +293,7 @@ func (c *connectionNative) rewriteQuery(params *rdbms_utils.QueryParams) (string func newConnectionNative( ctx context.Context, queryLogger common.QueryLogger, - dsi *api_common.TDataSourceInstance, + dsi *api_common.TGenericDataSourceInstance, driver *ydb_sdk.Driver, ) ydbConnection { return &connectionNative{ diff --git a/app/server/service_connector.go b/app/server/service_connector.go index 159a65a4..8517ee28 100644 --- a/app/server/service_connector.go +++ b/app/server/service_connector.go @@ -81,7 +81,7 @@ func (s *serviceConnector) ListSplits( &api_service_protos.TListSplitsResponse{ Error: common.NewAPIErrorFromStdError( err, - api_common.EDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED, + api_common.EGenericDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED, ), }, ) @@ -175,7 +175,7 @@ func (s *serviceConnector) ReadSplits( response := &api_service_protos.TReadSplitsResponse{ Error: common.NewAPIErrorFromStdError( err, - api_common.EDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED, + api_common.EGenericDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED, ), } @@ -283,7 +283,7 @@ func newServiceConnector( queryLoggerFactory := common.NewQueryLoggerFactory(cfg.Logger) // TODO: drop deprecated fields after YQ-2057 - var endpoint *api_common.TEndpoint + var endpoint *api_common.TGenericEndpoint switch { case cfg.GetConnectorServer().GetEndpoint() != nil: diff --git a/app/server/validate.go b/app/server/validate.go index eb780137..cbd37e2a 100644 --- a/app/server/validate.go +++ b/app/server/validate.go @@ -70,9 +70,9 @@ func validateSelect(logger *zap.Logger, slct *api_service_protos.TSelect) error return nil } -type dataSourceInstancesValidator func(dsi *api_common.TDataSourceInstance) error +type dataSourceInstancesValidator func(dsi *api_common.TGenericDataSourceInstance) error -func validateDataSourceInstance(logger *zap.Logger, dsi *api_common.TDataSourceInstance) error { +func validateDataSourceInstance(logger *zap.Logger, dsi *api_common.TGenericDataSourceInstance) error { if dsi == nil { return fmt.Errorf("empty data source instance: %w", common.ErrInvalidRequest) } @@ -80,10 +80,10 @@ func validateDataSourceInstance(logger *zap.Logger, dsi *api_common.TDataSourceI var validators []dataSourceInstancesValidator switch dsi.Kind { - case api_common.EDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED: + case api_common.EGenericDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED: return fmt.Errorf("empty kind: %w", common.ErrInvalidRequest) - case api_common.EDataSourceKind_LOGGING: - case api_common.EDataSourceKind_ORACLE: + case api_common.EGenericDataSourceKind_LOGGING: + case api_common.EGenericDataSourceKind_ORACLE: validators = append(validators, validateEndpoint, validateUseTLS(logger)) default: validators = append(validators, validateEndpoint, validateDatabase, validateUseTLS(logger)) @@ -100,30 +100,30 @@ func validateDataSourceInstance(logger *zap.Logger, dsi *api_common.TDataSourceI return nil } -func validateDataSourceOptions(dsi *api_common.TDataSourceInstance) error { +func validateDataSourceOptions(dsi *api_common.TGenericDataSourceInstance) error { switch dsi.GetKind() { - case api_common.EDataSourceKind_POSTGRESQL: + case api_common.EGenericDataSourceKind_POSTGRESQL: if dsi.GetPgOptions().GetSchema() == "" { return fmt.Errorf("schema field is empty: %w", common.ErrInvalidRequest) } - case api_common.EDataSourceKind_ORACLE: + case api_common.EGenericDataSourceKind_ORACLE: if dsi.GetOracleOptions().GetServiceName() == "" { return fmt.Errorf("service_name field is empty: %w", common.ErrInvalidRequest) } - case api_common.EDataSourceKind_MS_SQL_SERVER: + case api_common.EGenericDataSourceKind_MS_SQL_SERVER: // TODO: check schema return nil - case api_common.EDataSourceKind_GREENPLUM: + case api_common.EGenericDataSourceKind_GREENPLUM: return nil - case api_common.EDataSourceKind_LOGGING: + case api_common.EGenericDataSourceKind_LOGGING: if dsi.GetLoggingOptions().GetFolderId() == "" { return fmt.Errorf("folder_id field is empty: %w", common.ErrInvalidRequest) } - case api_common.EDataSourceKind_CLICKHOUSE, - api_common.EDataSourceKind_S3, - api_common.EDataSourceKind_YDB, - api_common.EDataSourceKind_MYSQL: + case api_common.EGenericDataSourceKind_CLICKHOUSE, + api_common.EGenericDataSourceKind_S3, + api_common.EGenericDataSourceKind_YDB, + api_common.EGenericDataSourceKind_MYSQL: default: return fmt.Errorf("unsupported data source %s: %w", dsi.GetKind().String(), common.ErrInvalidRequest) } @@ -131,7 +131,7 @@ func validateDataSourceOptions(dsi *api_common.TDataSourceInstance) error { return nil } -func validateEndpoint(dsi *api_common.TDataSourceInstance) error { +func validateEndpoint(dsi *api_common.TGenericDataSourceInstance) error { endpoint := dsi.GetEndpoint() if endpoint == nil { @@ -149,7 +149,7 @@ func validateEndpoint(dsi *api_common.TDataSourceInstance) error { return nil } -func validateDatabase(dsi *api_common.TDataSourceInstance) error { +func validateDatabase(dsi *api_common.TGenericDataSourceInstance) error { if dsi.Database == "" { return fmt.Errorf("database is empty: %w", common.ErrInvalidRequest) } @@ -158,7 +158,7 @@ func validateDatabase(dsi *api_common.TDataSourceInstance) error { } func validateUseTLS(logger *zap.Logger) dataSourceInstancesValidator { - return func(dsi *api_common.TDataSourceInstance) error { + return func(dsi *api_common.TGenericDataSourceInstance) error { if dsi.UseTls { logger.Info("connector will use secure connection to access data source") } else { diff --git a/common/client_basic.go b/common/client_basic.go index 936f4849..2ac031ab 100644 --- a/common/client_basic.go +++ b/common/client_basic.go @@ -19,7 +19,7 @@ type clientBasic struct { func (c *clientBasic) DescribeTable( ctx context.Context, - dsi *api_common.TDataSourceInstance, + dsi *api_common.TGenericDataSourceInstance, typeMappingSettings *api_service_protos.TTypeMappingSettings, tableName string, ) (*api_service_protos.TDescribeTableResponse, error) { diff --git a/common/credentials.go b/common/credentials.go index 479fb37b..656f0dcc 100644 --- a/common/credentials.go +++ b/common/credentials.go @@ -6,12 +6,12 @@ import ( api_common "github.com/ydb-platform/fq-connector-go/api/common" ) -func MaybeInjectTokenToDataSourceInstance(dsi *api_common.TDataSourceInstance) { +func MaybeInjectTokenToDataSourceInstance(dsi *api_common.TGenericDataSourceInstance) { // securely override credentials if token := os.Getenv("IAM_TOKEN"); token != "" { - dsi.Credentials = &api_common.TCredentials{ - Payload: &api_common.TCredentials_Token{ - Token: &api_common.TCredentials_TToken{ + dsi.Credentials = &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Token{ + Token: &api_common.TGenericCredentials_TToken{ Type: "IAM", Value: token, }, diff --git a/common/endpoint.go b/common/endpoint.go index fdebe153..7ba281d7 100644 --- a/common/endpoint.go +++ b/common/endpoint.go @@ -6,6 +6,6 @@ import ( api_common "github.com/ydb-platform/fq-connector-go/api/common" ) -func EndpointToString(ep *api_common.TEndpoint) string { +func EndpointToString(ep *api_common.TGenericEndpoint) string { return fmt.Sprintf("%s:%d", ep.GetHost(), ep.GetPort()) } diff --git a/common/errors.go b/common/errors.go index a7dfa895..30c07c67 100644 --- a/common/errors.go +++ b/common/errors.go @@ -306,7 +306,7 @@ func newAPIErrorFromConnectorError(err error) *api_service_protos.TError { } } -func NewAPIErrorFromStdError(err error, kind api_common.EDataSourceKind) *api_service_protos.TError { +func NewAPIErrorFromStdError(err error, kind api_common.EGenericDataSourceKind) *api_service_protos.TError { if err == nil { panic("nil error") } @@ -315,23 +315,23 @@ func NewAPIErrorFromStdError(err error, kind api_common.EDataSourceKind) *api_se var apiError *api_service_protos.TError switch kind { - case api_common.EDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED: - case api_common.EDataSourceKind_CLICKHOUSE: + case api_common.EGenericDataSourceKind_DATA_SOURCE_KIND_UNSPECIFIED: + case api_common.EGenericDataSourceKind_CLICKHOUSE: apiError = newAPIErrorFromClickHouseError(err) - case api_common.EDataSourceKind_POSTGRESQL, api_common.EDataSourceKind_GREENPLUM: + case api_common.EGenericDataSourceKind_POSTGRESQL, api_common.EGenericDataSourceKind_GREENPLUM: apiError = newAPIErrorFromPostgreSQLError(err) - case api_common.EDataSourceKind_MYSQL: + case api_common.EGenericDataSourceKind_MYSQL: apiError = newAPIErrorFromMySQLError(err) - case api_common.EDataSourceKind_YDB: + case api_common.EGenericDataSourceKind_YDB: apiError = newAPIErrorFromYdbError(err) - case api_common.EDataSourceKind_ORACLE: + case api_common.EGenericDataSourceKind_ORACLE: apiError = newAPIErrorFromOracleError(err) - case api_common.EDataSourceKind_MS_SQL_SERVER: + case api_common.EGenericDataSourceKind_MS_SQL_SERVER: apiError = newAPIErrorFromMsSQLServer(err) - case api_common.EDataSourceKind_LOGGING: + case api_common.EGenericDataSourceKind_LOGGING: apiError = newAPIErrorFromYdbError(err) default: - panic(fmt.Sprintf("Unexpected data source kind: %v", api_common.EDataSourceKind_name[int32(kind)])) + panic(fmt.Sprintf("Unexpected data source kind: %v", api_common.EGenericDataSourceKind_name[int32(kind)])) } if apiError != nil { diff --git a/common/logger.go b/common/logger.go index f29ab815..c1d03845 100644 --- a/common/logger.go +++ b/common/logger.go @@ -20,10 +20,10 @@ func AnnotateLoggerWithMethod(l *zap.Logger, method string) *zap.Logger { return l.With(zap.String("method", method)) } -func AnnotateLoggerWithDataSourceInstance(l *zap.Logger, dsi *api_common.TDataSourceInstance) *zap.Logger { +func AnnotateLoggerWithDataSourceInstance(l *zap.Logger, dsi *api_common.TGenericDataSourceInstance) *zap.Logger { // TODO: can we print just a login without a password? fields := []zapcore.Field{ - zap.String("data_source_kind", api_common.EDataSourceKind_name[int32(dsi.GetKind())]), + zap.String("data_source_kind", api_common.EGenericDataSourceKind_name[int32(dsi.GetKind())]), } if dsi.GetDatabase() != "" { @@ -38,7 +38,7 @@ func AnnotateLoggerWithDataSourceInstance(l *zap.Logger, dsi *api_common.TDataSo ) } - if dsi.Protocol != api_common.EProtocol_PROTOCOL_UNSPECIFIED { + if dsi.Protocol != api_common.EGenericProtocol_PROTOCOL_UNSPECIFIED { fields = append(fields, zap.String("protocol", dsi.GetProtocol().String()), ) @@ -59,7 +59,7 @@ func AnnotateLoggerWithDataSourceInstance(l *zap.Logger, dsi *api_common.TDataSo return l.With(fields...) } -func AnnotateLoggerForUnaryCall(l *zap.Logger, method string, dsi *api_common.TDataSourceInstance) *zap.Logger { +func AnnotateLoggerForUnaryCall(l *zap.Logger, method string, dsi *api_common.TGenericDataSourceInstance) *zap.Logger { l = AnnotateLoggerWithDataSourceInstance(l, dsi) l = AnnotateLoggerWithMethod(l, method) diff --git a/common/metrics.go b/common/metrics.go index 478ddc20..57c30757 100644 --- a/common/metrics.go +++ b/common/metrics.go @@ -69,7 +69,7 @@ func getJSON(u url.URL, target any) error { return json.NewDecoder(r.Body).Decode(target) } -func buildURL(endpoint *api_common.TEndpoint, useTLS bool) url.URL { +func buildURL(endpoint *api_common.TGenericEndpoint, useTLS bool) url.URL { var u url.URL if useTLS { @@ -84,7 +84,7 @@ func buildURL(endpoint *api_common.TEndpoint, useTLS bool) url.URL { return u } -func NewMetricsSnapshot(endpoint *api_common.TEndpoint, useTLS bool) (*MetricsSnapshot, error) { +func NewMetricsSnapshot(endpoint *api_common.TGenericEndpoint, useTLS bool) (*MetricsSnapshot, error) { mp := &MetricsSnapshot{} if err := getJSON(buildURL(endpoint, useTLS), &mp.data); err != nil { diff --git a/docs/contribution.md b/docs/contribution.md index 1df34180..39ed11c6 100644 --- a/docs/contribution.md +++ b/docs/contribution.md @@ -100,7 +100,7 @@ make run ### ConnectionManager -Начать стоит с реализации интерфейса `СonnectionManager`. Здесь вам нужно просто научиться по параметрам, пришедшим в структуре типа `TDataSourceInstance`, конструировать сетевое соединение к базе. Наиболее хрестоматийные примеры можно посмотреть в папках [clickhouse](https://github.com/ydb-platform/fq-connector-go/blob/main/app/server/datasource/rdbms/clickhouse/connection_manager.go) и [postgresql](https://github.com/ydb-platform/fq-connector-go/blob/main/app/server/datasource/rdbms/postgresql/connection_manager.go). +Начать стоит с реализации интерфейса `СonnectionManager`. Здесь вам нужно просто научиться по параметрам, пришедшим в структуре типа `TGenericDataSourceInstance`, конструировать сетевое соединение к базе. Наиболее хрестоматийные примеры можно посмотреть в папках [clickhouse](https://github.com/ydb-platform/fq-connector-go/blob/main/app/server/datasource/rdbms/clickhouse/connection_manager.go) и [postgresql](https://github.com/ydb-platform/fq-connector-go/blob/main/app/server/datasource/rdbms/postgresql/connection_manager.go). > [!IMPORTANT] > Для работы с внешними источниками данных вам потребуется **драйвер** - библиотека на языке Go, которая реализует протокол взаимодействия с базой. Существуют важные нюансы при выборе библиотек: @@ -110,7 +110,7 @@ make run Некоторые источники данных предоставляют несколько сетевых интерфейсов для доступа данных: например, к ClickHouse можно подключиться как по TCP-протоколу, так и по HTTP-протоколу. Изучите ваш источник данных в этом отношении. В большинстве случаев достаточно только реализации `NATIVE` (то есть TCP) протокола. -Иногда при соединении с источником требуется указать какие-то особенные параметры, например, у PostgreSQL есть понятие схемы (пространства имён для таблиц). Если вам недостаточн общее параметров, уже присутствующих в структуре [TDataSourceInstance](https://github.com/ydb-platform/ydb/blob/main/ydb/library/yql/providers/generic/connector/api/common/data_source.proto#L65-L86), вы можете добавить в опциональное поле `options` новую структуру, описывающую специфику именно вашего источника. +Иногда при соединении с источником требуется указать какие-то особенные параметры, например, у PostgreSQL есть понятие схемы (пространства имён для таблиц). Если вам недостаточн общее параметров, уже присутствующих в структуре [TGenericDataSourceInstance](https://github.com/ydb-platform/ydb/blob/main/ydb/library/yql/providers/generic/connector/api/common/data_source.proto#L65-L86), вы можете добавить в опциональное поле `options` новую структуру, описывающую специфику именно вашего источника. ### Connection, Rows и трансформеры diff --git a/generate.py b/generate.py index c0da0e5f..6dd4748a 100755 --- a/generate.py +++ b/generate.py @@ -34,6 +34,11 @@ def __init__(self, filepath: Path, go_package: str): self.src_patched = self.__patch_connector_protofile( filepath, lines_initial, go_package ) + elif "package NYql;" in lines_initial: + self.src_patched = self.__patch_gateways_config_protofile( + filepath, lines_initial, go_package + ) + print(self.src_patched) else: raise ValueError(f"unknown line pattern for {filepath}") @@ -53,7 +58,9 @@ def __patch_ydb_protofile( def __patch_connector_protofile( self, filepath: Path, lines_initial: Sequence[str], go_package: str ) -> str: - import_line_pos = self.__find_import_line(filepath, lines_initial) + import_line_pos = self.__find_line_by_prefix( + filepath, lines_initial, "option go_package" + ) import_line = f'option go_package = "{go_package}";' lines_patched = ( @@ -63,10 +70,38 @@ def __patch_connector_protofile( ) return "\n".join(lines_patched) - def __find_import_line(self, filepath: Path, lines_initial: Sequence[str]) -> int: + def __patch_gateways_config_protofile( + self, filepath: Path, lines_initial: Sequence[str], go_package: str + ) -> str: + usefull_start_pos = self.__find_line_by_prefix( + filepath, + lines_initial, + "/////////// Generic gateway for the external data sources ////////////", + ) + usefull_end_pos = self.__find_line_by_prefix( + filepath, lines_initial, "message TGenericClusterConfig" + ) + + lines_patched = ( + ['syntax = "proto3";'] + + lines_initial[:1] + + [f'option go_package = "{go_package}";'] + + lines_initial[usefull_start_pos:usefull_end_pos] + ) + + lines_concatenated = "\n".join(lines_patched) + + # we want protofile to look like it has proto3 syntax + lines_concatenated = lines_concatenated.replace("optional", "") + + return lines_concatenated + + def __find_line_by_prefix( + self, filepath: Path, lines_initial: Sequence[str], prefix: str + ) -> int: import_line_pos = None for i, line in enumerate(lines_initial): - if line.startswith("option go_package"): + if line.startswith(prefix): import_line_pos = i break @@ -102,11 +137,7 @@ def revert(self): "github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Issue", ), ( - "ydb/library/yql/providers/generic/connector/api/common/endpoint.proto", - "github.com/ydb-platform/fq-connector-go/api/common", - ), - ( - "ydb/library/yql/providers/generic/connector/api/common/data_source.proto", + "yql/essentials/providers/common/proto/gateways_config.proto", "github.com/ydb-platform/fq-connector-go/api/common", ), ( @@ -151,7 +182,7 @@ def __find_executable(name: str) -> Path: def run_protoc( - source_dir: Path, + proto_files: Sequence[Path], target_dir: Path, go_module: str, includes: Sequence[Path], @@ -162,9 +193,6 @@ def run_protoc( protoc_gen_go_binary = __find_executable("protoc-gen-go") protoc_gen_go_grpc_binary = __find_executable("protoc-gen-go-grpc") - # look for project protofiles - proto_files = source_dir.rglob("*.proto") - # build protoc args cmd = [ protoc_binary, @@ -243,9 +271,23 @@ def main(): for f in ydb_source_files: f.patch() try: + # Generate YQL Generic protofiles + run_protoc( + [ + ydb_github_root.joinpath( + "yql/essentials/providers/common/proto/gateways_config.proto" + ), + ], + connector_github_root.joinpath("api"), + "github.com/ydb-platform/fq-connector-go/api", + [ydb_github_root, protobuf_includes], + True, + ) # Generate Connector API run_protoc( - ydb_github_root.joinpath("ydb/library/yql/providers/generic/connector/api"), + ydb_github_root.joinpath( + "ydb/library/yql/providers/generic/connector/api" + ).rglob("*.proto"), connector_github_root.joinpath("api"), "github.com/ydb-platform/fq-connector-go/api", [ydb_github_root, protobuf_includes], @@ -253,7 +295,7 @@ def main(): ) # Generate config protofiles run_protoc( - connector_github_root.joinpath("app/config"), + connector_github_root.joinpath("app/config").rglob("*.proto"), connector_github_root.joinpath("app/config"), "github.com/ydb-platform/fq-connector-go/app/config", [ydb_github_root, connector_github_root, protobuf_includes], diff --git a/tests/infra/datasource/clickhouse/datasource.go b/tests/infra/datasource/clickhouse/datasource.go index 98365d97..d6b088f1 100644 --- a/tests/infra/datasource/clickhouse/datasource.go +++ b/tests/infra/datasource/clickhouse/datasource.go @@ -21,12 +21,12 @@ const ( func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (*datasource.DataSource, error) { var ( - dsi = &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_CLICKHOUSE, + dsi = &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_CLICKHOUSE, Database: database, - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: username, Password: password, }, @@ -37,21 +37,21 @@ func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (* err error ) - dsiNative := proto.Clone(dsi).(*api_common.TDataSourceInstance) - dsiNative.Protocol = api_common.EProtocol_NATIVE + dsiNative := proto.Clone(dsi).(*api_common.TGenericDataSourceInstance) + dsiNative.Protocol = api_common.EGenericProtocol_NATIVE dsiNative.Endpoint, err = ed.GetEndpoint(serviceName, internalPortNative) if err != nil { return nil, fmt.Errorf("derive native endpoint: %w", err) } - dsiHTTP := proto.Clone(dsi).(*api_common.TDataSourceInstance) - dsiHTTP.Protocol = api_common.EProtocol_HTTP + dsiHTTP := proto.Clone(dsi).(*api_common.TGenericDataSourceInstance) + dsiHTTP.Protocol = api_common.EGenericProtocol_HTTP dsiHTTP.Endpoint, err = ed.GetEndpoint(serviceName, internalPortHTTP) if err != nil { return nil, fmt.Errorf("derive HTTP endpoint: %w", err) } - return &datasource.DataSource{Instances: []*api_common.TDataSourceInstance{dsiHTTP, dsiNative}}, nil + return &datasource.DataSource{Instances: []*api_common.TGenericDataSourceInstance{dsiHTTP, dsiNative}}, nil } diff --git a/tests/infra/datasource/clickhouse/suite.go b/tests/infra/datasource/clickhouse/suite.go index 54f57147..8943796c 100644 --- a/tests/infra/datasource/clickhouse/suite.go +++ b/tests/infra/datasource/clickhouse/suite.go @@ -268,20 +268,20 @@ func (s *Suite) TestPositiveStats() { } func (s *Suite) TestMissingDataSource() { - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_CLICKHOUSE, - Endpoint: &api_common.TEndpoint{Host: "www.google.com", Port: 12345}, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_CLICKHOUSE, + Endpoint: &api_common.TGenericEndpoint{Host: "www.google.com", Port: 12345}, Database: "it's not important", - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: "it's not important", Password: "it's not important", }, }, }, UseTls: false, - Protocol: api_common.EProtocol_NATIVE, + Protocol: api_common.EGenericProtocol_NATIVE, } suite.TestMissingDataSource(s.Base, dsi) @@ -289,7 +289,7 @@ func (s *Suite) TestMissingDataSource() { func (s *Suite) TestInvalidLogin() { for _, dsi := range s.dataSource.Instances { - if dsi.Protocol == api_common.EProtocol_HTTP { + if dsi.Protocol == api_common.EGenericProtocol_HTTP { // won't fix until github.com/ClickHouse/clickhouse-go/v2 will be updated to v2.21.0 continue } @@ -300,7 +300,7 @@ func (s *Suite) TestInvalidLogin() { func (s *Suite) TestInvalidPassword() { for _, dsi := range s.dataSource.Instances { - if dsi.Protocol == api_common.EProtocol_HTTP { + if dsi.Protocol == api_common.EGenericProtocol_HTTP { // won't fix until github.com/ClickHouse/clickhouse-go/v2 will be updated to v2.21.0 continue } diff --git a/tests/infra/datasource/datasource.go b/tests/infra/datasource/datasource.go index 9930f599..58e64b9e 100644 --- a/tests/infra/datasource/datasource.go +++ b/tests/infra/datasource/datasource.go @@ -5,5 +5,5 @@ import ( ) type DataSource struct { - Instances []*api_common.TDataSourceInstance + Instances []*api_common.TGenericDataSourceInstance } diff --git a/tests/infra/datasource/greenplum/datasource.go b/tests/infra/datasource/greenplum/datasource.go index 49347298..6884816b 100644 --- a/tests/infra/datasource/greenplum/datasource.go +++ b/tests/infra/datasource/greenplum/datasource.go @@ -18,20 +18,20 @@ const ( ) func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (*datasource.DataSource, error) { - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_GREENPLUM, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_GREENPLUM, Database: database, - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: username, Password: password, }, }, }, - Protocol: api_common.EProtocol_NATIVE, + Protocol: api_common.EGenericProtocol_NATIVE, UseTls: false, - Options: &api_common.TDataSourceInstance_GpOptions{ + Options: &api_common.TGenericDataSourceInstance_GpOptions{ GpOptions: &api_common.TGreenplumDataSourceOptions{ Schema: schema, }, @@ -46,6 +46,6 @@ func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (* } return &datasource.DataSource{ - Instances: []*api_common.TDataSourceInstance{dsi}, + Instances: []*api_common.TGenericDataSourceInstance{dsi}, }, nil } diff --git a/tests/infra/datasource/greenplum/suite.go b/tests/infra/datasource/greenplum/suite.go index 445c1198..41e6df17 100644 --- a/tests/infra/datasource/greenplum/suite.go +++ b/tests/infra/datasource/greenplum/suite.go @@ -222,21 +222,21 @@ func (s *Suite) TestPositiveStats() { } func (s *Suite) TestMissingDataSource() { - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_GREENPLUM, - Endpoint: &api_common.TEndpoint{Host: "www.google.com", Port: 5432}, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_GREENPLUM, + Endpoint: &api_common.TGenericEndpoint{Host: "www.google.com", Port: 5432}, Database: "it's not important", - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: "it's not important", Password: "it's not important", }, }, }, UseTls: false, - Protocol: api_common.EProtocol_NATIVE, - Options: &api_common.TDataSourceInstance_GpOptions{ + Protocol: api_common.EGenericProtocol_NATIVE, + Options: &api_common.TGenericDataSourceInstance_GpOptions{ GpOptions: &api_common.TGreenplumDataSourceOptions{ Schema: "public", }, diff --git a/tests/infra/datasource/ms_sql_server/datasource.go b/tests/infra/datasource/ms_sql_server/datasource.go index ac71553c..95c7778e 100644 --- a/tests/infra/datasource/ms_sql_server/datasource.go +++ b/tests/infra/datasource/ms_sql_server/datasource.go @@ -17,18 +17,18 @@ const ( ) func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (*datasource.DataSource, error) { - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_MS_SQL_SERVER, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_MS_SQL_SERVER, Database: database, - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: username, Password: password, }, }, }, - Protocol: api_common.EProtocol_NATIVE, + Protocol: api_common.EGenericProtocol_NATIVE, UseTls: false, } @@ -40,6 +40,6 @@ func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (* } return &datasource.DataSource{ - Instances: []*api_common.TDataSourceInstance{dsi}, + Instances: []*api_common.TGenericDataSourceInstance{dsi}, }, nil } diff --git a/tests/infra/datasource/ms_sql_server/suite.go b/tests/infra/datasource/ms_sql_server/suite.go index 50891f84..710484aa 100644 --- a/tests/infra/datasource/ms_sql_server/suite.go +++ b/tests/infra/datasource/ms_sql_server/suite.go @@ -48,20 +48,20 @@ func (s *Suite) TestPositiveStats() { } func (s *Suite) TestMissingDataSource() { - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_MS_SQL_SERVER, - Endpoint: &api_common.TEndpoint{Host: "www.google.com", Port: 1433}, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_MS_SQL_SERVER, + Endpoint: &api_common.TGenericEndpoint{Host: "www.google.com", Port: 1433}, Database: "it's not important", - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: "it's not important", Password: "it's not important", }, }, }, UseTls: false, - Protocol: api_common.EProtocol_NATIVE, + Protocol: api_common.EGenericProtocol_NATIVE, } suite.TestMissingDataSource(s.Base, dsi) diff --git a/tests/infra/datasource/mysql/datasource.go b/tests/infra/datasource/mysql/datasource.go index da6393f8..cc2bd3e0 100644 --- a/tests/infra/datasource/mysql/datasource.go +++ b/tests/infra/datasource/mysql/datasource.go @@ -18,18 +18,18 @@ const ( ) func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (*datasource.DataSource, error) { - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_MYSQL, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_MYSQL, Database: database, - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: username, Password: password, }, }, }, - Protocol: api_common.EProtocol_NATIVE, + Protocol: api_common.EGenericProtocol_NATIVE, UseTls: false, } @@ -41,6 +41,6 @@ func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (* } return &datasource.DataSource{ - Instances: []*api_common.TDataSourceInstance{dsi}, + Instances: []*api_common.TGenericDataSourceInstance{dsi}, }, nil } diff --git a/tests/infra/datasource/mysql/suite.go b/tests/infra/datasource/mysql/suite.go index 918f0627..bd90ee07 100644 --- a/tests/infra/datasource/mysql/suite.go +++ b/tests/infra/datasource/mysql/suite.go @@ -50,20 +50,20 @@ func (s *Suite) TestPositiveStats() { } func (s *Suite) TestMissingDataSource() { - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_MYSQL, - Endpoint: &api_common.TEndpoint{Host: "www.google.com", Port: 3306}, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_MYSQL, + Endpoint: &api_common.TGenericEndpoint{Host: "www.google.com", Port: 3306}, Database: "it's not important", - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: "it's not important", Password: "it's not important", }, }, }, UseTls: false, - Protocol: api_common.EProtocol_NATIVE, + Protocol: api_common.EGenericProtocol_NATIVE, } suite.TestMissingDataSource(s.Base, dsi) diff --git a/tests/infra/datasource/oracle/datasource.go b/tests/infra/datasource/oracle/datasource.go index 04a83f56..0e0d25c5 100644 --- a/tests/infra/datasource/oracle/datasource.go +++ b/tests/infra/datasource/oracle/datasource.go @@ -18,23 +18,23 @@ const ( ) func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (*datasource.DataSource, error) { - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_ORACLE, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_ORACLE, Database: database, - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: username, Password: password, }, }, }, - Options: &api_common.TDataSourceInstance_OracleOptions{ + Options: &api_common.TGenericDataSourceInstance_OracleOptions{ OracleOptions: &api_common.TOracleDataSourceOptions{ ServiceName: dbServiceName, }, }, - Protocol: api_common.EProtocol_NATIVE, + Protocol: api_common.EGenericProtocol_NATIVE, UseTls: false, } @@ -46,6 +46,6 @@ func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (* } return &datasource.DataSource{ - Instances: []*api_common.TDataSourceInstance{dsi}, + Instances: []*api_common.TGenericDataSourceInstance{dsi}, }, nil } diff --git a/tests/infra/datasource/oracle/scenario.go b/tests/infra/datasource/oracle/scenario.go index f0f4584a..2a9086b5 100644 --- a/tests/infra/datasource/oracle/scenario.go +++ b/tests/infra/datasource/oracle/scenario.go @@ -15,11 +15,11 @@ import ( func testInvalidServiceName[ID test_utils.TableIDTypes, IDBUILDER test_utils.ArrowIDBuilder[ID]]( s *suite.Base[ID, IDBUILDER], - dsiSrc *api_common.TDataSourceInstance, + dsiSrc *api_common.TGenericDataSourceInstance, table *test_utils.Table[ID, IDBUILDER], ) { - dsi := proto.Clone(dsiSrc).(*api_common.TDataSourceInstance) - oraOpts := dsi.Options.(*api_common.TDataSourceInstance_OracleOptions) + dsi := proto.Clone(dsiSrc).(*api_common.TGenericDataSourceInstance) + oraOpts := dsi.Options.(*api_common.TGenericDataSourceInstance_OracleOptions) oraOpts.OracleOptions.ServiceName = "wrong" diff --git a/tests/infra/datasource/oracle/suite.go b/tests/infra/datasource/oracle/suite.go index 544c8d3d..267d561a 100644 --- a/tests/infra/datasource/oracle/suite.go +++ b/tests/infra/datasource/oracle/suite.go @@ -219,25 +219,25 @@ func (s *Suite) TestPositiveStats() { } func (s *Suite) TestMissingDataSource() { - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_ORACLE, - Endpoint: &api_common.TEndpoint{Host: "www.google.com", Port: 1521}, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_ORACLE, + Endpoint: &api_common.TGenericEndpoint{Host: "www.google.com", Port: 1521}, Database: "it's not important", - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: "it's not important", Password: "it's not important", }, }, }, - Options: &api_common.TDataSourceInstance_OracleOptions{ + Options: &api_common.TGenericDataSourceInstance_OracleOptions{ OracleOptions: &api_common.TOracleDataSourceOptions{ ServiceName: "it's not important", }, }, UseTls: false, - Protocol: api_common.EProtocol_NATIVE, + Protocol: api_common.EGenericProtocol_NATIVE, } suite.TestMissingDataSource(s.Base, dsi) diff --git a/tests/infra/datasource/postgresql/datasource.go b/tests/infra/datasource/postgresql/datasource.go index 27711ebe..dd968b64 100644 --- a/tests/infra/datasource/postgresql/datasource.go +++ b/tests/infra/datasource/postgresql/datasource.go @@ -18,20 +18,20 @@ const ( ) func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (*datasource.DataSource, error) { - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_POSTGRESQL, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_POSTGRESQL, Database: database, - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: username, Password: password, }, }, }, - Protocol: api_common.EProtocol_NATIVE, + Protocol: api_common.EGenericProtocol_NATIVE, UseTls: false, - Options: &api_common.TDataSourceInstance_PgOptions{ + Options: &api_common.TGenericDataSourceInstance_PgOptions{ PgOptions: &api_common.TPostgreSQLDataSourceOptions{ Schema: schema, }, @@ -46,6 +46,6 @@ func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (* } return &datasource.DataSource{ - Instances: []*api_common.TDataSourceInstance{dsi}, + Instances: []*api_common.TGenericDataSourceInstance{dsi}, }, nil } diff --git a/tests/infra/datasource/postgresql/suite.go b/tests/infra/datasource/postgresql/suite.go index 67940453..640332db 100644 --- a/tests/infra/datasource/postgresql/suite.go +++ b/tests/infra/datasource/postgresql/suite.go @@ -276,21 +276,21 @@ func (s *Suite) TestPositiveStats() { } func (s *Suite) TestMissingDataSource() { - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_POSTGRESQL, - Endpoint: &api_common.TEndpoint{Host: "www.google.com", Port: 5432}, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_POSTGRESQL, + Endpoint: &api_common.TGenericEndpoint{Host: "www.google.com", Port: 5432}, Database: "it's not important", - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: "it's not important", Password: "it's not important", }, }, }, UseTls: false, - Protocol: api_common.EProtocol_NATIVE, - Options: &api_common.TDataSourceInstance_PgOptions{ + Protocol: api_common.EGenericProtocol_NATIVE, + Options: &api_common.TGenericDataSourceInstance_PgOptions{ PgOptions: &api_common.TPostgreSQLDataSourceOptions{ Schema: "public", }, diff --git a/tests/infra/datasource/ydb/datasource.go b/tests/infra/datasource/ydb/datasource.go index 7d049c75..fbfb07cf 100644 --- a/tests/infra/datasource/ydb/datasource.go +++ b/tests/infra/datasource/ydb/datasource.go @@ -16,14 +16,14 @@ const ( func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (*datasource.DataSource, error) { var ( - dsi = &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_YDB, + dsi = &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_YDB, Database: database, UseTls: false, - Protocol: api_common.EProtocol_NATIVE, - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Protocol: api_common.EGenericProtocol_NATIVE, + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: "admin", Password: "password", }, @@ -40,6 +40,6 @@ func deriveDataSourceFromDockerCompose(ed *docker_compose.EndpointDeterminer) (* } return &datasource.DataSource{ - Instances: []*api_common.TDataSourceInstance{dsi}, + Instances: []*api_common.TGenericDataSourceInstance{dsi}, }, nil } diff --git a/tests/infra/datasource/ydb/suite.go b/tests/infra/datasource/ydb/suite.go index 7ffc7139..86a08531 100644 --- a/tests/infra/datasource/ydb/suite.go +++ b/tests/infra/datasource/ydb/suite.go @@ -344,20 +344,20 @@ func (s *Suite) TestMissingDataSource() { s.T().Skip("Skipping test in QUERY_SERVICE_NATIVE mode") } - dsi := &api_common.TDataSourceInstance{ - Kind: api_common.EDataSourceKind_YDB, - Endpoint: &api_common.TEndpoint{Host: "www.google.com", Port: 2136}, + dsi := &api_common.TGenericDataSourceInstance{ + Kind: api_common.EGenericDataSourceKind_YDB, + Endpoint: &api_common.TGenericEndpoint{Host: "www.google.com", Port: 2136}, Database: "it's not important", - Credentials: &api_common.TCredentials{ - Payload: &api_common.TCredentials_Basic{ - Basic: &api_common.TCredentials_TBasic{ + Credentials: &api_common.TGenericCredentials{ + Payload: &api_common.TGenericCredentials_Basic{ + Basic: &api_common.TGenericCredentials_TBasic{ Username: "it's not important", Password: "it's not important", }, }, }, UseTls: false, - Protocol: api_common.EProtocol_NATIVE, + Protocol: api_common.EGenericProtocol_NATIVE, } suite.TestMissingDataSource(s.Base, dsi) diff --git a/tests/infra/docker_compose/port.go b/tests/infra/docker_compose/port.go index 081f33cd..f72666bf 100644 --- a/tests/infra/docker_compose/port.go +++ b/tests/infra/docker_compose/port.go @@ -16,7 +16,7 @@ type EndpointDeterminer struct { dockerComposeFile string } -func (ed *EndpointDeterminer) GetEndpoint(service string, internalPort int) (*api_common.TEndpoint, error) { +func (ed *EndpointDeterminer) GetEndpoint(service string, internalPort int) (*api_common.TGenericEndpoint, error) { cmd := "docker" args := []string{ "compose", @@ -45,7 +45,7 @@ func (ed *EndpointDeterminer) GetEndpoint(service string, internalPort int) (*ap return nil, fmt.Errorf("convert '%s' to int: %w", portStr, err) } - return &api_common.TEndpoint{ + return &api_common.TGenericEndpoint{ Host: host, Port: uint32(port), }, nil diff --git a/tests/suite/scenario.go b/tests/suite/scenario.go index 847760d2..9f11cc67 100644 --- a/tests/suite/scenario.go +++ b/tests/suite/scenario.go @@ -47,7 +47,7 @@ func TestPositiveStats[ID test_utils.TableIDTypes, IDBUILDER test_utils.ArrowIDB func TestMissingDataSource[ ID test_utils.TableIDTypes, IDBUILDER test_utils.ArrowIDBuilder[ID], -](s *Base[ID, IDBUILDER], dsi *api_common.TDataSourceInstance) { +](s *Base[ID, IDBUILDER], dsi *api_common.TGenericDataSourceInstance) { // Do not retry negative tests md := metadata.Pairs(common.ForbidRetries, "1") ctx := metadata.NewOutgoingContext(test_utils.NewContextWithTestName(), md) @@ -74,10 +74,10 @@ func TestMissingDataSource[ func TestInvalidLogin[ID test_utils.TableIDTypes, IDBUILDER test_utils.ArrowIDBuilder[ID]]( s *Base[ID, IDBUILDER], - dsiSrc *api_common.TDataSourceInstance, + dsiSrc *api_common.TGenericDataSourceInstance, table *test_utils.Table[ID, IDBUILDER], ) { - dsi := proto.Clone(dsiSrc).(*api_common.TDataSourceInstance) + dsi := proto.Clone(dsiSrc).(*api_common.TGenericDataSourceInstance) dsi.Credentials.GetBasic().Username = "wrong" @@ -102,10 +102,10 @@ func TestInvalidLogin[ID test_utils.TableIDTypes, IDBUILDER test_utils.ArrowIDBu func TestInvalidPassword[ID test_utils.TableIDTypes, IDBUILDER test_utils.ArrowIDBuilder[ID]]( s *Base[ID, IDBUILDER], - dsiSrc *api_common.TDataSourceInstance, + dsiSrc *api_common.TGenericDataSourceInstance, table *test_utils.Table[ID, IDBUILDER], ) { - dsi := proto.Clone(dsiSrc).(*api_common.TDataSourceInstance) + dsi := proto.Clone(dsiSrc).(*api_common.TGenericDataSourceInstance) dsi.Credentials.GetBasic().Password = "wrong" @@ -130,7 +130,7 @@ func TestInvalidPassword[ID test_utils.TableIDTypes, IDBUILDER test_utils.ArrowI func TestUnsupportedPushdownFilteringMandatory[ID test_utils.TableIDTypes, IDBUILDER test_utils.ArrowIDBuilder[ID]]( s *Base[ID, IDBUILDER], - dsi *api_common.TDataSourceInstance, + dsi *api_common.TGenericDataSourceInstance, table *test_utils.Table[ID, IDBUILDER], predicate *api_service_protos.TPredicate, ) { diff --git a/tests/suite/suite.go b/tests/suite/suite.go index 308747d4..e1f12c51 100644 --- a/tests/suite/suite.go +++ b/tests/suite/suite.go @@ -64,7 +64,7 @@ func (b *Base[_, _]) SetupSuite() { ), server.WithMetricsServerConfig( &config.TMetricsServerConfig{ - Endpoint: &api_common.TEndpoint{ + Endpoint: &api_common.TGenericEndpoint{ Host: "localhost", Port: 8766, }, @@ -156,7 +156,7 @@ func (b *Base[ID, IDBUILDER]) ValidateTable( func (b *Base[ID, IDBUILDER]) doValidateTable( table *test_utils.Table[ID, IDBUILDER], - dsi *api_common.TDataSourceInstance, + dsi *api_common.TGenericDataSourceInstance, customOptions ...ValidateTableOption, ) { options := newDefaultValidateTableOptions() diff --git a/tools/docker_compose_update/internal.go b/tools/docker_compose_update/internal.go index 35f401aa..e2f9a946 100644 --- a/tools/docker_compose_update/internal.go +++ b/tools/docker_compose_update/internal.go @@ -100,8 +100,8 @@ func getChecksum(tag string) (string, error) { line := scanner.Text() if strings.Contains(line, "sha256") { fmt.Println(line) - line = strings.Split(line, "")[1] - line = strings.Split(line, "")[0] + line = strings.Split(line, "class=\"Link\">")[1] + line = strings.Split(line, "")[0] checksum = line break