syntax = "proto3"; package milvus.proto.rootcoord; option go_package="github.com/milvus-io/milvus/internal/proto/rootcoordpb"; import "common.proto"; import "milvus.proto"; import "internal.proto"; import "proxy.proto"; import "etcd_meta.proto"; service RootCoord { rpc GetComponentStates(milvus.GetComponentStatesRequest) returns (milvus.ComponentStates) {} rpc GetTimeTickChannel(internal.GetTimeTickChannelRequest) returns(milvus.StringResponse) {} rpc GetStatisticsChannel(internal.GetStatisticsChannelRequest) returns(milvus.StringResponse){} /** * @brief This method is used to create collection * * @param CreateCollectionRequest, use to provide collection information to be created. * * @return Status */ rpc CreateCollection(milvus.CreateCollectionRequest) returns (common.Status){} /** * @brief This method is used to delete collection. * * @param DropCollectionRequest, collection name is going to be deleted. * * @return Status */ rpc DropCollection(milvus.DropCollectionRequest) returns (common.Status) {} /** * @brief This method is used to test collection existence. * * @param HasCollectionRequest, collection name is going to be tested. * * @return BoolResponse */ rpc HasCollection(milvus.HasCollectionRequest) returns (milvus.BoolResponse) {} /** * @brief This method is used to get collection schema. * * @param DescribeCollectionRequest, target collection name. * * @return CollectionSchema */ rpc DescribeCollection(milvus.DescribeCollectionRequest) returns (milvus.DescribeCollectionResponse) {} rpc DescribeCollectionInternal(milvus.DescribeCollectionRequest) returns (milvus.DescribeCollectionResponse) {} rpc CreateAlias(milvus.CreateAliasRequest) returns (common.Status) {} rpc DropAlias(milvus.DropAliasRequest) returns (common.Status) {} rpc AlterAlias(milvus.AlterAliasRequest) returns (common.Status) {} rpc DescribeAlias(milvus.DescribeAliasRequest) returns (milvus.DescribeAliasResponse) {} rpc ListAliases(milvus.ListAliasesRequest) returns (milvus.ListAliasesResponse) {} /** * @brief This method is used to list all collections. * * @return StringListResponse, collection name list */ rpc ShowCollections(milvus.ShowCollectionsRequest) returns (milvus.ShowCollectionsResponse) {} rpc AlterCollection(milvus.AlterCollectionRequest) returns (common.Status) {} /** * @brief This method is used to create partition * * @return Status */ rpc CreatePartition(milvus.CreatePartitionRequest) returns (common.Status) {} /** * @brief This method is used to drop partition * * @return Status */ rpc DropPartition(milvus.DropPartitionRequest) returns (common.Status) {} /** * @brief This method is used to test partition existence. * * @return BoolResponse */ rpc HasPartition(milvus.HasPartitionRequest) returns (milvus.BoolResponse) {} /** * @brief This method is used to show partition information * * @param ShowPartitionRequest, target collection name. * * @return StringListResponse */ rpc ShowPartitions(milvus.ShowPartitionsRequest) returns (milvus.ShowPartitionsResponse) {} rpc ShowPartitionsInternal(milvus.ShowPartitionsRequest) returns (milvus.ShowPartitionsResponse) {} rpc ShowSegments(milvus.ShowSegmentsRequest) returns (milvus.ShowSegmentsResponse) {} rpc GetPChannelInfo(GetPChannelInfoRequest) returns (GetPChannelInfoResponse) {} rpc AllocTimestamp(AllocTimestampRequest) returns (AllocTimestampResponse) {} rpc AllocID(AllocIDRequest) returns (AllocIDResponse) {} rpc UpdateChannelTimeTick(internal.ChannelTimeTickMsg) returns (common.Status) {} rpc InvalidateCollectionMetaCache(proxy.InvalidateCollMetaCacheRequest) returns (common.Status) {} rpc ShowConfigurations(internal.ShowConfigurationsRequest) returns (internal.ShowConfigurationsResponse){} // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy rpc GetMetrics(milvus.GetMetricsRequest) returns (milvus.GetMetricsResponse) {} // https://wiki.lfaidata.foundation/display/MIL/MEP+27+--+Support+Basic+Authentication rpc CreateCredential(internal.CredentialInfo) returns (common.Status) {} rpc UpdateCredential(internal.CredentialInfo) returns (common.Status) {} rpc DeleteCredential(milvus.DeleteCredentialRequest) returns (common.Status) {} rpc ListCredUsers(milvus.ListCredUsersRequest) returns (milvus.ListCredUsersResponse) {} // userd by proxy, not exposed to sdk rpc GetCredential(GetCredentialRequest) returns (GetCredentialResponse) {} // https://wiki.lfaidata.foundation/display/MIL/MEP+29+--+Support+Role-Based+Access+Control rpc CreateRole(milvus.CreateRoleRequest) returns (common.Status) {} rpc DropRole(milvus.DropRoleRequest) returns (common.Status) {} rpc OperateUserRole(milvus.OperateUserRoleRequest) returns (common.Status) {} rpc SelectRole(milvus.SelectRoleRequest) returns (milvus.SelectRoleResponse) {} rpc SelectUser(milvus.SelectUserRequest) returns (milvus.SelectUserResponse) {} rpc OperatePrivilege(milvus.OperatePrivilegeRequest) returns (common.Status) {} rpc SelectGrant(milvus.SelectGrantRequest) returns (milvus.SelectGrantResponse) {} rpc ListPolicy(internal.ListPolicyRequest) returns (internal.ListPolicyResponse) {} rpc BackupRBAC(milvus.BackupRBACMetaRequest) returns (milvus.BackupRBACMetaResponse){} rpc RestoreRBAC(milvus.RestoreRBACMetaRequest) returns (common.Status){} rpc CheckHealth(milvus.CheckHealthRequest) returns (milvus.CheckHealthResponse) {} rpc RenameCollection(milvus.RenameCollectionRequest) returns (common.Status) {} rpc CreateDatabase(milvus.CreateDatabaseRequest) returns (common.Status) {} rpc DropDatabase(milvus.DropDatabaseRequest) returns (common.Status) {} rpc ListDatabases(milvus.ListDatabasesRequest) returns (milvus.ListDatabasesResponse) {} rpc DescribeDatabase(DescribeDatabaseRequest) returns(DescribeDatabaseResponse){} rpc AlterDatabase(AlterDatabaseRequest) returns(common.Status){} } message AllocTimestampRequest { common.MsgBase base = 1; uint32 count = 3; } message AllocTimestampResponse { common.Status status = 1; uint64 timestamp = 2; uint32 count = 3; } message AllocIDRequest { common.MsgBase base = 1; uint32 count = 2; } message AllocIDResponse { common.Status status = 1; int64 ID = 2; uint32 count = 3; } // TODO: find a proper place for these segment-related messages. message DescribeSegmentsRequest { common.MsgBase base = 1; int64 collectionID = 2; repeated int64 segmentIDs = 3; } message SegmentBaseInfo { int64 collectionID = 1; // in which collection. int64 partitionID = 2; // in which partition. int64 segmentID = 3; } message SegmentInfos { SegmentBaseInfo base_info = 1; // base information. repeated etcd.SegmentIndexInfo index_infos = 2; // multiple index infos. map extra_index_infos = 3; // index_id -> IndexInfo{index_name, index_id, index_params} } message DescribeSegmentsResponse { common.Status status = 1; int64 collectionID = 2; map segment_infos = 3; // segment_id -> segment infos } message GetCredentialRequest { // Not useful for now common.MsgBase base = 1; // username string username = 2; } message GetCredentialResponse { // Contain error_code and reason common.Status status = 1; // username string username = 2; // password stored in etcd/mysql string password = 3; } message DescribeDatabaseRequest { common.MsgBase base = 1; string db_name = 2; } message DescribeDatabaseResponse { common.Status status = 1; string db_name = 2; int64 dbID = 3; uint64 created_timestamp = 4; repeated common.KeyValuePair properties = 5; } message AlterDatabaseRequest { common.MsgBase base = 1; string db_name = 2; string db_id = 3; repeated common.KeyValuePair properties = 4; } message GetPChannelInfoRequest { common.MsgBase base = 1; string pchannel = 2; } message GetPChannelInfoResponse { common.Status status = 1; repeated CollectionInfoOnPChannel collections = 2; } message CollectionInfoOnPChannel { int64 collection_id = 1; repeated PartitionInfoOnPChannel partitions = 2; string vchannel = 3; } message PartitionInfoOnPChannel { int64 partition_id = 1; }