syntax = "proto3"; option cc_enable_arenas = true; package Ydb.Discovery; option go_package = "github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Discovery"; option java_package = "tech.ydb.discovery"; option java_outer_classname = "DiscoveryProtos"; import "protos/ydb_operation.proto"; message ListEndpointsRequest { string database = 1; repeated string service = 2; // todo: feature flags } message EndpointInfo { // This is an address (usually fqdn) and port of this node's grpc endpoint string address = 1; uint32 port = 2; float load_factor = 3; bool ssl = 4; repeated string service = 5; string location = 6; uint32 node_id = 7; // Optional ipv4 and/or ipv6 addresses of the endpoint, which clients may // use instead of a dns name in the address field. repeated string ip_v4 = 8; repeated string ip_v6 = 9; // Optional value for grpc.ssl_target_name_override option that must be // used when connecting to this endpoint. This may be specified when an ssl // endpoint is using certificate chain valid for a balancer hostname, and // not this specific node hostname. string ssl_target_name_override = 10; } message ListEndpointsResult { repeated EndpointInfo endpoints = 1; string self_location = 2; } message ListEndpointsResponse { Ydb.Operations.Operation operation = 1; } message WhoAmIRequest { // Include user groups in response bool include_groups = 1; } message WhoAmIResult { // User SID (Security ID) string user = 1; // List of group SIDs (Security IDs) for the user repeated string groups = 2; } message WhoAmIResponse { Ydb.Operations.Operation operation = 1; }