Support role-based access control (only pb) (#16987)

Signed-off-by: SimFG <bang.fu@zilliz.com>
This commit is contained in:
SimFG 2022-05-28 00:04:01 +08:00 committed by GitHub
parent 8c0e18f7c9
commit 731870211a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 4617 additions and 862 deletions

View File

@ -17,7 +17,8 @@ set( proto_file_names
common.proto
)
set( PROTO_PATH "${MILVUS_SOURCE_DIR}/../proto/" )
set( PROTO_PATH "${MILVUS_SOURCE_DIR}/../proto/")
set( PROTO_GOOGLE_PATH "${MILVUS_SOURCE_DIR}/../../cmake_build/thirdparty/protobuf/protobuf-src/src/" )
FOREACH(proto_file ${proto_file_names})
STRING( REGEX REPLACE "[^/]proto" "" proto_src_file_name ${proto_file} )
@ -27,6 +28,7 @@ FOREACH(proto_file ${proto_file_names})
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/${proto_src_file_name}.pb.h"
"${CMAKE_CURRENT_SOURCE_DIR}/${proto_src_file_name}.pb.cc"
COMMAND protobuf::protoc --proto_path=${PROTO_PATH}/
--proto_path=${PROTO_GOOGLE_PATH}/
--cpp_out=${CMAKE_CURRENT_SOURCE_DIR}/
${proto_file}
DEPENDS ${PROTO_PATH}/${proto_file} )

View File

@ -17,6 +17,7 @@
#include <google/protobuf/port_def.inc>
extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_MsgBase_common_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PlaceholderValue_common_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PrivilegeExt_common_2eproto;
namespace milvus {
namespace proto {
namespace common {
@ -60,6 +61,10 @@ class DMLMsgHeaderDefaultTypeInternal {
public:
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DMLMsgHeader> _instance;
} _DMLMsgHeader_default_instance_;
class PrivilegeExtDefaultTypeInternal {
public:
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PrivilegeExt> _instance;
} _PrivilegeExt_default_instance_;
} // namespace common
} // namespace proto
} // namespace milvus
@ -192,6 +197,20 @@ static void InitDefaultsscc_info_PlaceholderValue_common_2eproto() {
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PlaceholderValue_common_2eproto =
{{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_PlaceholderValue_common_2eproto}, {}};
static void InitDefaultsscc_info_PrivilegeExt_common_2eproto() {
GOOGLE_PROTOBUF_VERIFY_VERSION;
{
void* ptr = &::milvus::proto::common::_PrivilegeExt_default_instance_;
new (ptr) ::milvus::proto::common::PrivilegeExt();
::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
}
::milvus::proto::common::PrivilegeExt::InitAsDefaultInstance();
}
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PrivilegeExt_common_2eproto =
{{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_PrivilegeExt_common_2eproto}, {}};
static void InitDefaultsscc_info_Status_common_2eproto() {
GOOGLE_PROTOBUF_VERIFY_VERSION;
@ -206,8 +225,8 @@ static void InitDefaultsscc_info_Status_common_2eproto() {
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Status_common_2eproto =
{{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_Status_common_2eproto}, {}};
static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_common_2eproto[10];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_common_2eproto[9];
static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_common_2eproto[11];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_common_2eproto[11];
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_common_2eproto = nullptr;
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_common_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
@ -281,6 +300,14 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_common_2eproto::offsets[] PROT
~0u, // no _weak_field_map_
PROTOBUF_FIELD_OFFSET(::milvus::proto::common::DMLMsgHeader, base_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::common::DMLMsgHeader, shardname_),
~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::milvus::proto::common::PrivilegeExt, _internal_metadata_),
~0u, // no _extensions_
~0u, // no _oneof_case_
~0u, // no _weak_field_map_
PROTOBUF_FIELD_OFFSET(::milvus::proto::common::PrivilegeExt, resource_type_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::common::PrivilegeExt, resource_privilege_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::common::PrivilegeExt, resource_name_index_),
};
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
{ 0, -1, sizeof(::milvus::proto::common::Status)},
@ -293,6 +320,7 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB
{ 48, -1, sizeof(::milvus::proto::common::MsgBase)},
{ 57, -1, sizeof(::milvus::proto::common::MsgHeader)},
{ 63, -1, sizeof(::milvus::proto::common::DMLMsgHeader)},
{ 70, -1, sizeof(::milvus::proto::common::PrivilegeExt)},
};
static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
@ -306,104 +334,132 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] =
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::common::_MsgBase_default_instance_),
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::common::_MsgHeader_default_instance_),
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::common::_DMLMsgHeader_default_instance_),
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::common::_PrivilegeExt_default_instance_),
};
const char descriptor_table_protodef_common_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
"\n\014common.proto\022\023milvus.proto.common\"L\n\006S"
"tatus\0222\n\nerror_code\030\001 \001(\0162\036.milvus.proto"
".common.ErrorCode\022\016\n\006reason\030\002 \001(\t\"*\n\014Key"
"ValuePair\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"(\n"
"\013KeyDataPair\022\013\n\003key\030\001 \001(\t\022\014\n\004data\030\002 \001(\014\""
"\025\n\004Blob\022\r\n\005value\030\001 \001(\014\"c\n\020PlaceholderVal"
"ue\022\013\n\003tag\030\001 \001(\t\0222\n\004type\030\002 \001(\0162$.milvus.p"
"roto.common.PlaceholderType\022\016\n\006values\030\003 "
"\003(\014\"O\n\020PlaceholderGroup\022;\n\014placeholders\030"
"\001 \003(\0132%.milvus.proto.common.PlaceholderV"
"alue\"#\n\007Address\022\n\n\002ip\030\001 \001(\t\022\014\n\004port\030\002 \001("
"\003\"m\n\007MsgBase\022.\n\010msg_type\030\001 \001(\0162\034.milvus."
"proto.common.MsgType\022\r\n\005msgID\030\002 \001(\003\022\021\n\tt"
"imestamp\030\003 \001(\004\022\020\n\010sourceID\030\004 \001(\003\"7\n\tMsgH"
"eader\022*\n\004base\030\001 \001(\0132\034.milvus.proto.commo"
"n.MsgBase\"M\n\014DMLMsgHeader\022*\n\004base\030\001 \001(\0132"
"\034.milvus.proto.common.MsgBase\022\021\n\tshardNa"
"me\030\002 \001(\t*\252\006\n\tErrorCode\022\013\n\007Success\020\000\022\023\n\017U"
"nexpectedError\020\001\022\021\n\rConnectFailed\020\002\022\024\n\020P"
"ermissionDenied\020\003\022\027\n\023CollectionNotExists"
"\020\004\022\023\n\017IllegalArgument\020\005\022\024\n\020IllegalDimens"
"ion\020\007\022\024\n\020IllegalIndexType\020\010\022\031\n\025IllegalCo"
"llectionName\020\t\022\017\n\013IllegalTOPK\020\n\022\024\n\020Illeg"
"alRowRecord\020\013\022\023\n\017IllegalVectorID\020\014\022\027\n\023Il"
"legalSearchResult\020\r\022\020\n\014FileNotFound\020\016\022\016\n"
"\nMetaFailed\020\017\022\017\n\013CacheFailed\020\020\022\026\n\022Cannot"
"CreateFolder\020\021\022\024\n\020CannotCreateFile\020\022\022\026\n\022"
"CannotDeleteFolder\020\023\022\024\n\020CannotDeleteFile"
"\020\024\022\023\n\017BuildIndexError\020\025\022\020\n\014IllegalNLIST\020"
"\026\022\025\n\021IllegalMetricType\020\027\022\017\n\013OutOfMemory\020"
"\030\022\021\n\rIndexNotExist\020\031\022\023\n\017EmptyCollection\020"
"\032\022\033\n\027UpdateImportTaskFailure\020\033\022\032\n\026Collec"
"tionNameNotFound\020\034\022\033\n\027CreateCredentialFa"
"ilure\020\035\022\033\n\027UpdateCredentialFailure\020\036\022\033\n\027"
"DeleteCredentialFailure\020\037\022\030\n\024GetCredenti"
"alFailure\020 \022\030\n\024ListCredUsersFailure\020!\022\022\n"
"\016NotShardLeader\020\"\022\026\n\022NoReplicaAvailable\020"
"#\022\022\n\rDDRequestRace\020\350\007*X\n\nIndexState\022\022\n\016I"
"ndexStateNone\020\000\022\014\n\010Unissued\020\001\022\016\n\nInProgr"
"ess\020\002\022\014\n\010Finished\020\003\022\n\n\006Failed\020\004*\202\001\n\014Segm"
"entState\022\024\n\020SegmentStateNone\020\000\022\014\n\010NotExi"
"st\020\001\022\013\n\007Growing\020\002\022\n\n\006Sealed\020\003\022\013\n\007Flushed"
"\020\004\022\014\n\010Flushing\020\005\022\013\n\007Dropped\020\006\022\r\n\tImporti"
"ng\020\007*>\n\017PlaceholderType\022\010\n\004None\020\000\022\020\n\014Bin"
"aryVector\020d\022\017\n\013FloatVector\020e*\362\n\n\007MsgType"
"\022\r\n\tUndefined\020\000\022\024\n\020CreateCollection\020d\022\022\n"
"\016DropCollection\020e\022\021\n\rHasCollection\020f\022\026\n\022"
"DescribeCollection\020g\022\023\n\017ShowCollections\020"
"h\022\024\n\020GetSystemConfigs\020i\022\022\n\016LoadCollectio"
"n\020j\022\025\n\021ReleaseCollection\020k\022\017\n\013CreateAlia"
"s\020l\022\r\n\tDropAlias\020m\022\016\n\nAlterAlias\020n\022\024\n\017Cr"
"eatePartition\020\310\001\022\022\n\rDropPartition\020\311\001\022\021\n\014"
"HasPartition\020\312\001\022\026\n\021DescribePartition\020\313\001\022"
"\023\n\016ShowPartitions\020\314\001\022\023\n\016LoadPartitions\020\315"
"\001\022\026\n\021ReleasePartitions\020\316\001\022\021\n\014ShowSegment"
"s\020\372\001\022\024\n\017DescribeSegment\020\373\001\022\021\n\014LoadSegmen"
"ts\020\374\001\022\024\n\017ReleaseSegments\020\375\001\022\024\n\017HandoffSe"
"gments\020\376\001\022\030\n\023LoadBalanceSegments\020\377\001\022\025\n\020D"
"escribeSegments\020\200\002\022\020\n\013CreateIndex\020\254\002\022\022\n\r"
"DescribeIndex\020\255\002\022\016\n\tDropIndex\020\256\002\022\013\n\006Inse"
"rt\020\220\003\022\013\n\006Delete\020\221\003\022\n\n\005Flush\020\222\003\022\027\n\022Resend"
"SegmentStats\020\223\003\022\013\n\006Search\020\364\003\022\021\n\014SearchRe"
"sult\020\365\003\022\022\n\rGetIndexState\020\366\003\022\032\n\025GetIndexB"
"uildProgress\020\367\003\022\034\n\027GetCollectionStatisti"
"cs\020\370\003\022\033\n\026GetPartitionStatistics\020\371\003\022\r\n\010Re"
"trieve\020\372\003\022\023\n\016RetrieveResult\020\373\003\022\024\n\017WatchD"
"mChannels\020\374\003\022\025\n\020RemoveDmChannels\020\375\003\022\027\n\022W"
"atchQueryChannels\020\376\003\022\030\n\023RemoveQueryChann"
"els\020\377\003\022\035\n\030SealedSegmentsChangeInfo\020\200\004\022\027\n"
"\022WatchDeltaChannels\020\201\004\022\024\n\017GetShardLeader"
"s\020\202\004\022\020\n\013GetReplicas\020\203\004\022\020\n\013SegmentInfo\020\330\004"
"\022\017\n\nSystemInfo\020\331\004\022\024\n\017GetRecoveryInfo\020\332\004\022"
"\024\n\017GetSegmentState\020\333\004\022\r\n\010TimeTick\020\260\t\022\023\n\016"
"QueryNodeStats\020\261\t\022\016\n\tLoadIndex\020\262\t\022\016\n\tReq"
"uestID\020\263\t\022\017\n\nRequestTSO\020\264\t\022\024\n\017AllocateSe"
"gment\020\265\t\022\026\n\021SegmentStatistics\020\266\t\022\025\n\020Segm"
"entFlushDone\020\267\t\022\017\n\nDataNodeTt\020\270\t\022\025\n\020Crea"
"teCredential\020\334\013\022\022\n\rGetCredential\020\335\013\022\025\n\020D"
"eleteCredential\020\336\013\022\025\n\020UpdateCredential\020\337"
"\013\022\026\n\021ListCredUsernames\020\340\013*\"\n\007DslType\022\007\n\003"
"Dsl\020\000\022\016\n\nBoolExprV1\020\001*B\n\017CompactionState"
"\022\021\n\rUndefiedState\020\000\022\r\n\tExecuting\020\001\022\r\n\tCo"
"mpleted\020\002*X\n\020ConsistencyLevel\022\n\n\006Strong\020"
"\000\022\013\n\007Session\020\001\022\013\n\007Bounded\020\002\022\016\n\nEventuall"
"y\020\003\022\016\n\nCustomized\020\004*\227\001\n\013ImportState\022\021\n\rI"
"mportPending\020\000\022\020\n\014ImportFailed\020\001\022\021\n\rImpo"
"rtStarted\020\002\022\024\n\020ImportDownloaded\020\003\022\020\n\014Imp"
"ortParsed\020\004\022\023\n\017ImportPersisted\020\005\022\023\n\017Impo"
"rtCompleted\020\006BW\n\016io.milvus.grpcB\013CommonP"
"rotoP\001Z3github.com/milvus-io/milvus/inte"
"rnal/proto/commonpb\240\001\001b\006proto3"
"\n\014common.proto\022\023milvus.proto.common\032 goo"
"gle/protobuf/descriptor.proto\"L\n\006Status\022"
"2\n\nerror_code\030\001 \001(\0162\036.milvus.proto.commo"
"n.ErrorCode\022\016\n\006reason\030\002 \001(\t\"*\n\014KeyValueP"
"air\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"(\n\013KeyDa"
"taPair\022\013\n\003key\030\001 \001(\t\022\014\n\004data\030\002 \001(\014\"\025\n\004Blo"
"b\022\r\n\005value\030\001 \001(\014\"c\n\020PlaceholderValue\022\013\n\003"
"tag\030\001 \001(\t\0222\n\004type\030\002 \001(\0162$.milvus.proto.c"
"ommon.PlaceholderType\022\016\n\006values\030\003 \003(\014\"O\n"
"\020PlaceholderGroup\022;\n\014placeholders\030\001 \003(\0132"
"%.milvus.proto.common.PlaceholderValue\"#"
"\n\007Address\022\n\n\002ip\030\001 \001(\t\022\014\n\004port\030\002 \001(\003\"m\n\007M"
"sgBase\022.\n\010msg_type\030\001 \001(\0162\034.milvus.proto."
"common.MsgType\022\r\n\005msgID\030\002 \001(\003\022\021\n\ttimesta"
"mp\030\003 \001(\004\022\020\n\010sourceID\030\004 \001(\003\"7\n\tMsgHeader\022"
"*\n\004base\030\001 \001(\0132\034.milvus.proto.common.MsgB"
"ase\"M\n\014DMLMsgHeader\022*\n\004base\030\001 \001(\0132\034.milv"
"us.proto.common.MsgBase\022\021\n\tshardName\030\002 \001"
"(\t\"\251\001\n\014PrivilegeExt\0228\n\rresource_type\030\001 \001"
"(\0162!.milvus.proto.common.ResourceType\022B\n"
"\022resource_privilege\030\002 \001(\0162&.milvus.proto"
".common.ResourcePrivilege\022\033\n\023resource_na"
"me_index\030\003 \001(\005*\276\010\n\tErrorCode\022\013\n\007Success\020"
"\000\022\023\n\017UnexpectedError\020\001\022\021\n\rConnectFailed\020"
"\002\022\024\n\020PermissionDenied\020\003\022\027\n\023CollectionNot"
"Exists\020\004\022\023\n\017IllegalArgument\020\005\022\024\n\020Illegal"
"Dimension\020\007\022\024\n\020IllegalIndexType\020\010\022\031\n\025Ill"
"egalCollectionName\020\t\022\017\n\013IllegalTOPK\020\n\022\024\n"
"\020IllegalRowRecord\020\013\022\023\n\017IllegalVectorID\020\014"
"\022\027\n\023IllegalSearchResult\020\r\022\020\n\014FileNotFoun"
"d\020\016\022\016\n\nMetaFailed\020\017\022\017\n\013CacheFailed\020\020\022\026\n\022"
"CannotCreateFolder\020\021\022\024\n\020CannotCreateFile"
"\020\022\022\026\n\022CannotDeleteFolder\020\023\022\024\n\020CannotDele"
"teFile\020\024\022\023\n\017BuildIndexError\020\025\022\020\n\014Illegal"
"NLIST\020\026\022\025\n\021IllegalMetricType\020\027\022\017\n\013OutOfM"
"emory\020\030\022\021\n\rIndexNotExist\020\031\022\023\n\017EmptyColle"
"ction\020\032\022\033\n\027UpdateImportTaskFailure\020\033\022\032\n\026"
"CollectionNameNotFound\020\034\022\033\n\027CreateCreden"
"tialFailure\020\035\022\033\n\027UpdateCredentialFailure"
"\020\036\022\033\n\027DeleteCredentialFailure\020\037\022\030\n\024GetCr"
"edentialFailure\020 \022\030\n\024ListCredUsersFailur"
"e\020!\022\022\n\016GetUserFailure\020\"\022\025\n\021CreateRoleFai"
"lure\020#\022\023\n\017DropRoleFailure\020$\022\032\n\026OperateUs"
"erRoleFailure\020%\022\025\n\021SelectRoleFailure\020&\022\025"
"\n\021SelectUserFailure\020\'\022\031\n\025SelectResourceF"
"ailure\020(\022\033\n\027OperatePrivilegeFailure\020)\022\026\n"
"\022SelectGrantFailure\020*\022!\n\035RefreshPolicyIn"
"foCacheFailure\020+\022\025\n\021ListPolicyFailure\020,\022"
"\022\n\016NotShardLeader\020-\022\026\n\022NoReplicaAvailabl"
"e\020.\022\022\n\rDDRequestRace\020\350\007*X\n\nIndexState\022\022\n"
"\016IndexStateNone\020\000\022\014\n\010Unissued\020\001\022\016\n\nInPro"
"gress\020\002\022\014\n\010Finished\020\003\022\n\n\006Failed\020\004*\202\001\n\014Se"
"gmentState\022\024\n\020SegmentStateNone\020\000\022\014\n\010NotE"
"xist\020\001\022\013\n\007Growing\020\002\022\n\n\006Sealed\020\003\022\013\n\007Flush"
"ed\020\004\022\014\n\010Flushing\020\005\022\013\n\007Dropped\020\006\022\r\n\tImpor"
"ting\020\007*>\n\017PlaceholderType\022\010\n\004None\020\000\022\020\n\014B"
"inaryVector\020d\022\017\n\013FloatVector\020e*\266\014\n\007MsgTy"
"pe\022\r\n\tUndefined\020\000\022\024\n\020CreateCollection\020d\022"
"\022\n\016DropCollection\020e\022\021\n\rHasCollection\020f\022\026"
"\n\022DescribeCollection\020g\022\023\n\017ShowCollection"
"s\020h\022\024\n\020GetSystemConfigs\020i\022\022\n\016LoadCollect"
"ion\020j\022\025\n\021ReleaseCollection\020k\022\017\n\013CreateAl"
"ias\020l\022\r\n\tDropAlias\020m\022\016\n\nAlterAlias\020n\022\024\n\017"
"CreatePartition\020\310\001\022\022\n\rDropPartition\020\311\001\022\021"
"\n\014HasPartition\020\312\001\022\026\n\021DescribePartition\020\313"
"\001\022\023\n\016ShowPartitions\020\314\001\022\023\n\016LoadPartitions"
"\020\315\001\022\026\n\021ReleasePartitions\020\316\001\022\021\n\014ShowSegme"
"nts\020\372\001\022\024\n\017DescribeSegment\020\373\001\022\021\n\014LoadSegm"
"ents\020\374\001\022\024\n\017ReleaseSegments\020\375\001\022\024\n\017Handoff"
"Segments\020\376\001\022\030\n\023LoadBalanceSegments\020\377\001\022\025\n"
"\020DescribeSegments\020\200\002\022\020\n\013CreateIndex\020\254\002\022\022"
"\n\rDescribeIndex\020\255\002\022\016\n\tDropIndex\020\256\002\022\013\n\006In"
"sert\020\220\003\022\013\n\006Delete\020\221\003\022\n\n\005Flush\020\222\003\022\027\n\022Rese"
"ndSegmentStats\020\223\003\022\013\n\006Search\020\364\003\022\021\n\014Search"
"Result\020\365\003\022\022\n\rGetIndexState\020\366\003\022\032\n\025GetInde"
"xBuildProgress\020\367\003\022\034\n\027GetCollectionStatis"
"tics\020\370\003\022\033\n\026GetPartitionStatistics\020\371\003\022\r\n\010"
"Retrieve\020\372\003\022\023\n\016RetrieveResult\020\373\003\022\024\n\017Watc"
"hDmChannels\020\374\003\022\025\n\020RemoveDmChannels\020\375\003\022\027\n"
"\022WatchQueryChannels\020\376\003\022\030\n\023RemoveQueryCha"
"nnels\020\377\003\022\035\n\030SealedSegmentsChangeInfo\020\200\004\022"
"\027\n\022WatchDeltaChannels\020\201\004\022\024\n\017GetShardLead"
"ers\020\202\004\022\020\n\013GetReplicas\020\203\004\022\020\n\013SegmentInfo\020"
"\330\004\022\017\n\nSystemInfo\020\331\004\022\024\n\017GetRecoveryInfo\020\332"
"\004\022\024\n\017GetSegmentState\020\333\004\022\r\n\010TimeTick\020\260\t\022\023"
"\n\016QueryNodeStats\020\261\t\022\016\n\tLoadIndex\020\262\t\022\016\n\tR"
"equestID\020\263\t\022\017\n\nRequestTSO\020\264\t\022\024\n\017Allocate"
"Segment\020\265\t\022\026\n\021SegmentStatistics\020\266\t\022\025\n\020Se"
"gmentFlushDone\020\267\t\022\017\n\nDataNodeTt\020\270\t\022\025\n\020Cr"
"eateCredential\020\334\013\022\022\n\rGetCredential\020\335\013\022\025\n"
"\020DeleteCredential\020\336\013\022\025\n\020UpdateCredential"
"\020\337\013\022\026\n\021ListCredUsernames\020\340\013\022\017\n\nCreateRol"
"e\020\300\014\022\r\n\010DropRole\020\301\014\022\024\n\017OperateUserRole\020\302"
"\014\022\017\n\nSelectRole\020\303\014\022\017\n\nSelectUser\020\304\014\022\023\n\016S"
"electResource\020\305\014\022\025\n\020OperatePrivilege\020\306\014\022"
"\020\n\013SelectGrant\020\307\014\022\033\n\026RefreshPolicyInfoCa"
"che\020\310\014\022\017\n\nListPolicy\020\311\014*\"\n\007DslType\022\007\n\003Ds"
"l\020\000\022\016\n\nBoolExprV1\020\001*B\n\017CompactionState\022\021"
"\n\rUndefiedState\020\000\022\r\n\tExecuting\020\001\022\r\n\tComp"
"leted\020\002*X\n\020ConsistencyLevel\022\n\n\006Strong\020\000\022"
"\013\n\007Session\020\001\022\013\n\007Bounded\020\002\022\016\n\nEventually\020"
"\003\022\016\n\nCustomized\020\004*\227\001\n\013ImportState\022\021\n\rImp"
"ortPending\020\000\022\020\n\014ImportFailed\020\001\022\021\n\rImport"
"Started\020\002\022\024\n\020ImportDownloaded\020\003\022\020\n\014Impor"
"tParsed\020\004\022\023\n\017ImportPersisted\020\005\022\023\n\017Import"
"Completed\020\006*\036\n\014ResourceType\022\016\n\nCollectio"
"n\020\000*\335\001\n\021ResourcePrivilege\022\020\n\014PrivilegeAl"
"l\020\000\022\023\n\017PrivilegeCreate\020\001\022\021\n\rPrivilegeDro"
"p\020\002\022\022\n\016PrivilegeAlter\020\003\022\021\n\rPrivilegeRead"
"\020\004\022\021\n\rPrivilegeLoad\020\005\022\024\n\020PrivilegeReleas"
"e\020\006\022\024\n\020PrivilegeCompact\020\007\022\023\n\017PrivilegeIn"
"sert\020\010\022\023\n\017PrivilegeDelete\020\t:^\n\021privilege"
"_ext_obj\022\037.google.protobuf.MessageOption"
"s\030\351\007 \001(\0132!.milvus.proto.common.Privilege"
"ExtBW\n\016io.milvus.grpcB\013CommonProtoP\001Z3gi"
"thub.com/milvus-io/milvus/internal/proto"
"/commonpb\240\001\001b\006proto3"
;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_common_2eproto_deps[1] = {
&::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
};
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_common_2eproto_sccs[10] = {
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_common_2eproto_sccs[11] = {
&scc_info_Address_common_2eproto.base,
&scc_info_Blob_common_2eproto.base,
&scc_info_DMLMsgHeader_common_2eproto.base,
@ -413,15 +469,16 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_com
&scc_info_MsgHeader_common_2eproto.base,
&scc_info_PlaceholderGroup_common_2eproto.base,
&scc_info_PlaceholderValue_common_2eproto.base,
&scc_info_PrivilegeExt_common_2eproto.base,
&scc_info_Status_common_2eproto.base,
};
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_common_2eproto_once;
static bool descriptor_table_common_2eproto_initialized = false;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_common_2eproto = {
&descriptor_table_common_2eproto_initialized, descriptor_table_protodef_common_2eproto, "common.proto", 3630,
&descriptor_table_common_2eproto_once, descriptor_table_common_2eproto_sccs, descriptor_table_common_2eproto_deps, 10, 0,
&descriptor_table_common_2eproto_initialized, descriptor_table_protodef_common_2eproto, "common.proto", 4660,
&descriptor_table_common_2eproto_once, descriptor_table_common_2eproto_sccs, descriptor_table_common_2eproto_deps, 11, 1,
schemas, file_default_instances, TableStruct_common_2eproto::offsets,
file_level_metadata_common_2eproto, 10, file_level_enum_descriptors_common_2eproto, file_level_service_descriptors_common_2eproto,
file_level_metadata_common_2eproto, 11, file_level_enum_descriptors_common_2eproto, file_level_service_descriptors_common_2eproto,
};
// Force running AddDescriptors() at dynamic initialization time.
@ -470,6 +527,17 @@ bool ErrorCode_IsValid(int value) {
case 33:
case 34:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 45:
case 46:
case 1000:
return true;
default:
@ -602,6 +670,16 @@ bool MsgType_IsValid(int value) {
case 1502:
case 1503:
case 1504:
case 1600:
case 1601:
case 1602:
case 1603:
case 1604:
case 1605:
case 1606:
case 1607:
case 1608:
case 1609:
return true;
default:
return false;
@ -673,6 +751,41 @@ bool ImportState_IsValid(int value) {
}
}
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ResourceType_descriptor() {
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_common_2eproto);
return file_level_enum_descriptors_common_2eproto[9];
}
bool ResourceType_IsValid(int value) {
switch (value) {
case 0:
return true;
default:
return false;
}
}
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ResourcePrivilege_descriptor() {
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_common_2eproto);
return file_level_enum_descriptors_common_2eproto[10];
}
bool ResourcePrivilege_IsValid(int value) {
switch (value) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
return true;
default:
return false;
}
}
// ===================================================================
@ -3812,6 +3925,352 @@ void DMLMsgHeader::InternalSwap(DMLMsgHeader* other) {
}
// ===================================================================
void PrivilegeExt::InitAsDefaultInstance() {
}
class PrivilegeExt::_Internal {
public:
};
PrivilegeExt::PrivilegeExt()
: ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
SharedCtor();
// @@protoc_insertion_point(constructor:milvus.proto.common.PrivilegeExt)
}
PrivilegeExt::PrivilegeExt(const PrivilegeExt& from)
: ::PROTOBUF_NAMESPACE_ID::Message(),
_internal_metadata_(nullptr) {
_internal_metadata_.MergeFrom(from._internal_metadata_);
::memcpy(&resource_type_, &from.resource_type_,
static_cast<size_t>(reinterpret_cast<char*>(&resource_name_index_) -
reinterpret_cast<char*>(&resource_type_)) + sizeof(resource_name_index_));
// @@protoc_insertion_point(copy_constructor:milvus.proto.common.PrivilegeExt)
}
void PrivilegeExt::SharedCtor() {
::memset(&resource_type_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&resource_name_index_) -
reinterpret_cast<char*>(&resource_type_)) + sizeof(resource_name_index_));
}
PrivilegeExt::~PrivilegeExt() {
// @@protoc_insertion_point(destructor:milvus.proto.common.PrivilegeExt)
SharedDtor();
}
void PrivilegeExt::SharedDtor() {
}
void PrivilegeExt::SetCachedSize(int size) const {
_cached_size_.Set(size);
}
const PrivilegeExt& PrivilegeExt::default_instance() {
::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_PrivilegeExt_common_2eproto.base);
return *internal_default_instance();
}
void PrivilegeExt::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.common.PrivilegeExt)
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
::memset(&resource_type_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&resource_name_index_) -
reinterpret_cast<char*>(&resource_type_)) + sizeof(resource_name_index_));
_internal_metadata_.Clear();
}
#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* PrivilegeExt::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
while (!ctx->Done(&ptr)) {
::PROTOBUF_NAMESPACE_ID::uint32 tag;
ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
CHK_(ptr);
switch (tag >> 3) {
// .milvus.proto.common.ResourceType resource_type = 1;
case 1:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
set_resource_type(static_cast<::milvus::proto::common::ResourceType>(val));
} else goto handle_unusual;
continue;
// .milvus.proto.common.ResourcePrivilege resource_privilege = 2;
case 2:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
set_resource_privilege(static_cast<::milvus::proto::common::ResourcePrivilege>(val));
} else goto handle_unusual;
continue;
// int32 resource_name_index = 3;
case 3:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
resource_name_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
} else goto handle_unusual;
continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
ctx->SetLastTag(tag);
goto success;
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
continue;
}
} // switch
} // while
success:
return ptr;
failure:
ptr = nullptr;
goto success;
#undef CHK_
}
#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool PrivilegeExt::MergePartialFromCodedStream(
::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
::PROTOBUF_NAMESPACE_ID::uint32 tag;
// @@protoc_insertion_point(parse_start:milvus.proto.common.PrivilegeExt)
for (;;) {
::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
tag = p.first;
if (!p.second) goto handle_unusual;
switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
// .milvus.proto.common.ResourceType resource_type = 1;
case 1: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {
int value = 0;
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
int, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_ENUM>(
input, &value)));
set_resource_type(static_cast< ::milvus::proto::common::ResourceType >(value));
} else {
goto handle_unusual;
}
break;
}
// .milvus.proto.common.ResourcePrivilege resource_privilege = 2;
case 2: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {
int value = 0;
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
int, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_ENUM>(
input, &value)));
set_resource_privilege(static_cast< ::milvus::proto::common::ResourcePrivilege >(value));
} else {
goto handle_unusual;
}
break;
}
// int32 resource_name_index = 3;
case 3: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32>(
input, &resource_name_index_)));
} else {
goto handle_unusual;
}
break;
}
default: {
handle_unusual:
if (tag == 0) {
goto success;
}
DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
input, tag, _internal_metadata_.mutable_unknown_fields()));
break;
}
}
}
success:
// @@protoc_insertion_point(parse_success:milvus.proto.common.PrivilegeExt)
return true;
failure:
// @@protoc_insertion_point(parse_failure:milvus.proto.common.PrivilegeExt)
return false;
#undef DO_
}
#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
void PrivilegeExt::SerializeWithCachedSizes(
::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
// @@protoc_insertion_point(serialize_start:milvus.proto.common.PrivilegeExt)
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
(void) cached_has_bits;
// .milvus.proto.common.ResourceType resource_type = 1;
if (this->resource_type() != 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnum(
1, this->resource_type(), output);
}
// .milvus.proto.common.ResourcePrivilege resource_privilege = 2;
if (this->resource_privilege() != 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnum(
2, this->resource_privilege(), output);
}
// int32 resource_name_index = 3;
if (this->resource_name_index() != 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32(3, this->resource_name_index(), output);
}
if (_internal_metadata_.have_unknown_fields()) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
_internal_metadata_.unknown_fields(), output);
}
// @@protoc_insertion_point(serialize_end:milvus.proto.common.PrivilegeExt)
}
::PROTOBUF_NAMESPACE_ID::uint8* PrivilegeExt::InternalSerializeWithCachedSizesToArray(
::PROTOBUF_NAMESPACE_ID::uint8* target) const {
// @@protoc_insertion_point(serialize_to_array_start:milvus.proto.common.PrivilegeExt)
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
(void) cached_has_bits;
// .milvus.proto.common.ResourceType resource_type = 1;
if (this->resource_type() != 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1, this->resource_type(), target);
}
// .milvus.proto.common.ResourcePrivilege resource_privilege = 2;
if (this->resource_privilege() != 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2, this->resource_privilege(), target);
}
// int32 resource_name_index = 3;
if (this->resource_name_index() != 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->resource_name_index(), target);
}
if (_internal_metadata_.have_unknown_fields()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields(), target);
}
// @@protoc_insertion_point(serialize_to_array_end:milvus.proto.common.PrivilegeExt)
return target;
}
size_t PrivilegeExt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.common.PrivilegeExt)
size_t total_size = 0;
if (_internal_metadata_.have_unknown_fields()) {
total_size +=
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
_internal_metadata_.unknown_fields());
}
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
// .milvus.proto.common.ResourceType resource_type = 1;
if (this->resource_type() != 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->resource_type());
}
// .milvus.proto.common.ResourcePrivilege resource_privilege = 2;
if (this->resource_privilege() != 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->resource_privilege());
}
// int32 resource_name_index = 3;
if (this->resource_name_index() != 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
this->resource_name_index());
}
int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
SetCachedSize(cached_size);
return total_size;
}
void PrivilegeExt::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.common.PrivilegeExt)
GOOGLE_DCHECK_NE(&from, this);
const PrivilegeExt* source =
::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PrivilegeExt>(
&from);
if (source == nullptr) {
// @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.common.PrivilegeExt)
::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
} else {
// @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.common.PrivilegeExt)
MergeFrom(*source);
}
}
void PrivilegeExt::MergeFrom(const PrivilegeExt& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.common.PrivilegeExt)
GOOGLE_DCHECK_NE(&from, this);
_internal_metadata_.MergeFrom(from._internal_metadata_);
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
(void) cached_has_bits;
if (from.resource_type() != 0) {
set_resource_type(from.resource_type());
}
if (from.resource_privilege() != 0) {
set_resource_privilege(from.resource_privilege());
}
if (from.resource_name_index() != 0) {
set_resource_name_index(from.resource_name_index());
}
}
void PrivilegeExt::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.common.PrivilegeExt)
if (&from == this) return;
Clear();
MergeFrom(from);
}
void PrivilegeExt::CopyFrom(const PrivilegeExt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.common.PrivilegeExt)
if (&from == this) return;
Clear();
MergeFrom(from);
}
bool PrivilegeExt::IsInitialized() const {
return true;
}
void PrivilegeExt::InternalSwap(PrivilegeExt* other) {
using std::swap;
_internal_metadata_.Swap(&other->_internal_metadata_);
swap(resource_type_, other->resource_type_);
swap(resource_privilege_, other->resource_privilege_);
swap(resource_name_index_, other->resource_name_index_);
}
::PROTOBUF_NAMESPACE_ID::Metadata PrivilegeExt::GetMetadata() const {
return GetMetadataStatic();
}
::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::google::protobuf::MessageOptions,
::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::milvus::proto::common::PrivilegeExt >, 11, false >
privilege_ext_obj(kPrivilegeExtObjFieldNumber, *::milvus::proto::common::PrivilegeExt::internal_default_instance());
// @@protoc_insertion_point(namespace_scope)
} // namespace common
} // namespace proto
@ -3847,6 +4306,9 @@ template<> PROTOBUF_NOINLINE ::milvus::proto::common::MsgHeader* Arena::CreateMa
template<> PROTOBUF_NOINLINE ::milvus::proto::common::DMLMsgHeader* Arena::CreateMaybeMessage< ::milvus::proto::common::DMLMsgHeader >(Arena* arena) {
return Arena::CreateInternal< ::milvus::proto::common::DMLMsgHeader >(arena);
}
template<> PROTOBUF_NOINLINE ::milvus::proto::common::PrivilegeExt* Arena::CreateMaybeMessage< ::milvus::proto::common::PrivilegeExt >(Arena* arena) {
return Arena::CreateInternal< ::milvus::proto::common::PrivilegeExt >(arena);
}
PROTOBUF_NAMESPACE_CLOSE
// @@protoc_insertion_point(global_scope)

View File

@ -33,6 +33,7 @@
#include <google/protobuf/extension_set.h> // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include <google/protobuf/descriptor.pb.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_common_2eproto
@ -48,7 +49,7 @@ struct TableStruct_common_2eproto {
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[10]
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[11]
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
@ -85,6 +86,9 @@ extern PlaceholderGroupDefaultTypeInternal _PlaceholderGroup_default_instance_;
class PlaceholderValue;
class PlaceholderValueDefaultTypeInternal;
extern PlaceholderValueDefaultTypeInternal _PlaceholderValue_default_instance_;
class PrivilegeExt;
class PrivilegeExtDefaultTypeInternal;
extern PrivilegeExtDefaultTypeInternal _PrivilegeExt_default_instance_;
class Status;
class StatusDefaultTypeInternal;
extern StatusDefaultTypeInternal _Status_default_instance_;
@ -101,6 +105,7 @@ template<> ::milvus::proto::common::MsgBase* Arena::CreateMaybeMessage<::milvus:
template<> ::milvus::proto::common::MsgHeader* Arena::CreateMaybeMessage<::milvus::proto::common::MsgHeader>(Arena*);
template<> ::milvus::proto::common::PlaceholderGroup* Arena::CreateMaybeMessage<::milvus::proto::common::PlaceholderGroup>(Arena*);
template<> ::milvus::proto::common::PlaceholderValue* Arena::CreateMaybeMessage<::milvus::proto::common::PlaceholderValue>(Arena*);
template<> ::milvus::proto::common::PrivilegeExt* Arena::CreateMaybeMessage<::milvus::proto::common::PrivilegeExt>(Arena*);
template<> ::milvus::proto::common::Status* Arena::CreateMaybeMessage<::milvus::proto::common::Status>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace milvus {
@ -141,8 +146,19 @@ enum ErrorCode : int {
DeleteCredentialFailure = 31,
GetCredentialFailure = 32,
ListCredUsersFailure = 33,
NotShardLeader = 34,
NoReplicaAvailable = 35,
GetUserFailure = 34,
CreateRoleFailure = 35,
DropRoleFailure = 36,
OperateUserRoleFailure = 37,
SelectRoleFailure = 38,
SelectUserFailure = 39,
SelectResourceFailure = 40,
OperatePrivilegeFailure = 41,
SelectGrantFailure = 42,
RefreshPolicyInfoCacheFailure = 43,
ListPolicyFailure = 44,
NotShardLeader = 45,
NoReplicaAvailable = 46,
DDRequestRace = 1000,
ErrorCode_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
ErrorCode_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
@ -319,12 +335,22 @@ enum MsgType : int {
DeleteCredential = 1502,
UpdateCredential = 1503,
ListCredUsernames = 1504,
CreateRole = 1600,
DropRole = 1601,
OperateUserRole = 1602,
SelectRole = 1603,
SelectUser = 1604,
SelectResource = 1605,
OperatePrivilege = 1606,
SelectGrant = 1607,
RefreshPolicyInfoCache = 1608,
ListPolicy = 1609,
MsgType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
MsgType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool MsgType_IsValid(int value);
constexpr MsgType MsgType_MIN = Undefined;
constexpr MsgType MsgType_MAX = ListCredUsernames;
constexpr MsgType MsgType_MAX = ListPolicy;
constexpr int MsgType_ARRAYSIZE = MsgType_MAX + 1;
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MsgType_descriptor();
@ -450,6 +476,63 @@ inline bool ImportState_Parse(
return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ImportState>(
ImportState_descriptor(), name, value);
}
enum ResourceType : int {
Collection = 0,
ResourceType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
ResourceType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool ResourceType_IsValid(int value);
constexpr ResourceType ResourceType_MIN = Collection;
constexpr ResourceType ResourceType_MAX = Collection;
constexpr int ResourceType_ARRAYSIZE = ResourceType_MAX + 1;
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ResourceType_descriptor();
template<typename T>
inline const std::string& ResourceType_Name(T enum_t_value) {
static_assert(::std::is_same<T, ResourceType>::value ||
::std::is_integral<T>::value,
"Incorrect type passed to function ResourceType_Name.");
return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
ResourceType_descriptor(), enum_t_value);
}
inline bool ResourceType_Parse(
const std::string& name, ResourceType* value) {
return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ResourceType>(
ResourceType_descriptor(), name, value);
}
enum ResourcePrivilege : int {
PrivilegeAll = 0,
PrivilegeCreate = 1,
PrivilegeDrop = 2,
PrivilegeAlter = 3,
PrivilegeRead = 4,
PrivilegeLoad = 5,
PrivilegeRelease = 6,
PrivilegeCompact = 7,
PrivilegeInsert = 8,
PrivilegeDelete = 9,
ResourcePrivilege_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
ResourcePrivilege_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool ResourcePrivilege_IsValid(int value);
constexpr ResourcePrivilege ResourcePrivilege_MIN = PrivilegeAll;
constexpr ResourcePrivilege ResourcePrivilege_MAX = PrivilegeDelete;
constexpr int ResourcePrivilege_ARRAYSIZE = ResourcePrivilege_MAX + 1;
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ResourcePrivilege_descriptor();
template<typename T>
inline const std::string& ResourcePrivilege_Name(T enum_t_value) {
static_assert(::std::is_same<T, ResourcePrivilege>::value ||
::std::is_integral<T>::value,
"Incorrect type passed to function ResourcePrivilege_Name.");
return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
ResourcePrivilege_descriptor(), enum_t_value);
}
inline bool ResourcePrivilege_Parse(
const std::string& name, ResourcePrivilege* value) {
return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ResourcePrivilege>(
ResourcePrivilege_descriptor(), name, value);
}
// ===================================================================
class Status :
@ -1908,8 +1991,157 @@ class DMLMsgHeader :
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_common_2eproto;
};
// -------------------------------------------------------------------
class PrivilegeExt :
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.common.PrivilegeExt) */ {
public:
PrivilegeExt();
virtual ~PrivilegeExt();
PrivilegeExt(const PrivilegeExt& from);
PrivilegeExt(PrivilegeExt&& from) noexcept
: PrivilegeExt() {
*this = ::std::move(from);
}
inline PrivilegeExt& operator=(const PrivilegeExt& from) {
CopyFrom(from);
return *this;
}
inline PrivilegeExt& operator=(PrivilegeExt&& from) noexcept {
if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
if (this != &from) InternalSwap(&from);
} else {
CopyFrom(from);
}
return *this;
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
return GetDescriptor();
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
return GetMetadataStatic().descriptor;
}
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
return GetMetadataStatic().reflection;
}
static const PrivilegeExt& default_instance();
static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
static inline const PrivilegeExt* internal_default_instance() {
return reinterpret_cast<const PrivilegeExt*>(
&_PrivilegeExt_default_instance_);
}
static constexpr int kIndexInFileMessages =
10;
friend void swap(PrivilegeExt& a, PrivilegeExt& b) {
a.Swap(&b);
}
inline void Swap(PrivilegeExt* other) {
if (other == this) return;
InternalSwap(other);
}
// implements Message ----------------------------------------------
inline PrivilegeExt* New() const final {
return CreateMaybeMessage<PrivilegeExt>(nullptr);
}
PrivilegeExt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
return CreateMaybeMessage<PrivilegeExt>(arena);
}
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
void CopyFrom(const PrivilegeExt& from);
void MergeFrom(const PrivilegeExt& from);
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
bool IsInitialized() const final;
size_t ByteSizeLong() const final;
#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
#else
bool MergePartialFromCodedStream(
::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
void SerializeWithCachedSizes(
::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
int GetCachedSize() const final { return _cached_size_.Get(); }
private:
inline void SharedCtor();
inline void SharedDtor();
void SetCachedSize(int size) const final;
void InternalSwap(PrivilegeExt* other);
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
return "milvus.proto.common.PrivilegeExt";
}
private:
inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
return nullptr;
}
inline void* MaybeArenaPtr() const {
return nullptr;
}
public:
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
private:
static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_common_2eproto);
return ::descriptor_table_common_2eproto.file_level_metadata[kIndexInFileMessages];
}
public:
// nested types ----------------------------------------------------
// accessors -------------------------------------------------------
enum : int {
kResourceTypeFieldNumber = 1,
kResourcePrivilegeFieldNumber = 2,
kResourceNameIndexFieldNumber = 3,
};
// .milvus.proto.common.ResourceType resource_type = 1;
void clear_resource_type();
::milvus::proto::common::ResourceType resource_type() const;
void set_resource_type(::milvus::proto::common::ResourceType value);
// .milvus.proto.common.ResourcePrivilege resource_privilege = 2;
void clear_resource_privilege();
::milvus::proto::common::ResourcePrivilege resource_privilege() const;
void set_resource_privilege(::milvus::proto::common::ResourcePrivilege value);
// int32 resource_name_index = 3;
void clear_resource_name_index();
::PROTOBUF_NAMESPACE_ID::int32 resource_name_index() const;
void set_resource_name_index(::PROTOBUF_NAMESPACE_ID::int32 value);
// @@protoc_insertion_point(class_scope:milvus.proto.common.PrivilegeExt)
private:
class _Internal;
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
int resource_type_;
int resource_privilege_;
::PROTOBUF_NAMESPACE_ID::int32 resource_name_index_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_common_2eproto;
};
// ===================================================================
static const int kPrivilegeExtObjFieldNumber = 1001;
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::google::protobuf::MessageOptions,
::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::milvus::proto::common::PrivilegeExt >, 11, false >
privilege_ext_obj;
// ===================================================================
@ -2709,6 +2941,52 @@ inline void DMLMsgHeader::set_allocated_shardname(std::string* shardname) {
// @@protoc_insertion_point(field_set_allocated:milvus.proto.common.DMLMsgHeader.shardName)
}
// -------------------------------------------------------------------
// PrivilegeExt
// .milvus.proto.common.ResourceType resource_type = 1;
inline void PrivilegeExt::clear_resource_type() {
resource_type_ = 0;
}
inline ::milvus::proto::common::ResourceType PrivilegeExt::resource_type() const {
// @@protoc_insertion_point(field_get:milvus.proto.common.PrivilegeExt.resource_type)
return static_cast< ::milvus::proto::common::ResourceType >(resource_type_);
}
inline void PrivilegeExt::set_resource_type(::milvus::proto::common::ResourceType value) {
resource_type_ = value;
// @@protoc_insertion_point(field_set:milvus.proto.common.PrivilegeExt.resource_type)
}
// .milvus.proto.common.ResourcePrivilege resource_privilege = 2;
inline void PrivilegeExt::clear_resource_privilege() {
resource_privilege_ = 0;
}
inline ::milvus::proto::common::ResourcePrivilege PrivilegeExt::resource_privilege() const {
// @@protoc_insertion_point(field_get:milvus.proto.common.PrivilegeExt.resource_privilege)
return static_cast< ::milvus::proto::common::ResourcePrivilege >(resource_privilege_);
}
inline void PrivilegeExt::set_resource_privilege(::milvus::proto::common::ResourcePrivilege value) {
resource_privilege_ = value;
// @@protoc_insertion_point(field_set:milvus.proto.common.PrivilegeExt.resource_privilege)
}
// int32 resource_name_index = 3;
inline void PrivilegeExt::clear_resource_name_index() {
resource_name_index_ = 0;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 PrivilegeExt::resource_name_index() const {
// @@protoc_insertion_point(field_get:milvus.proto.common.PrivilegeExt.resource_name_index)
return resource_name_index_;
}
inline void PrivilegeExt::set_resource_name_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
resource_name_index_ = value;
// @@protoc_insertion_point(field_set:milvus.proto.common.PrivilegeExt.resource_name_index)
}
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif // __GNUC__
@ -2730,6 +3008,8 @@ inline void DMLMsgHeader::set_allocated_shardname(std::string* shardname) {
// -------------------------------------------------------------------
// -------------------------------------------------------------------
// @@protoc_insertion_point(namespace_scope)
@ -2784,6 +3064,16 @@ template <>
inline const EnumDescriptor* GetEnumDescriptor< ::milvus::proto::common::ImportState>() {
return ::milvus::proto::common::ImportState_descriptor();
}
template <> struct is_proto_enum< ::milvus::proto::common::ResourceType> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::milvus::proto::common::ResourceType>() {
return ::milvus::proto::common::ResourceType_descriptor();
}
template <> struct is_proto_enum< ::milvus::proto::common::ResourcePrivilege> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::milvus::proto::common::ResourcePrivilege>() {
return ::milvus::proto::common::ResourcePrivilege_descriptor();
}
PROTOBUF_NAMESPACE_CLOSE

View File

@ -209,3 +209,16 @@ func (c *Client) ClearCredUsersCache(ctx context.Context, req *internalpb.ClearC
}
return ret.(*commonpb.Status), err
}
func (c *Client) RefreshPolicyInfoCache(ctx context.Context, req *proxypb.RefreshPolicyInfoCacheRequest) (*commonpb.Status, error) {
ret, err := c.grpcClient.ReCall(ctx, func(client interface{}) (interface{}, error) {
if !funcutil.CheckCtxValid(ctx) {
return nil, ctx.Err()
}
return client.(proxypb.ProxyClient).RefreshPolicyInfoCache(ctx, req)
})
if err != nil {
return nil, err
}
return ret.(*commonpb.Status), err
}

View File

@ -844,3 +844,48 @@ func (s *Server) DeleteCredential(ctx context.Context, req *milvuspb.DeleteCrede
func (s *Server) ListCredUsers(ctx context.Context, req *milvuspb.ListCredUsersRequest) (*milvuspb.ListCredUsersResponse, error) {
return s.proxy.ListCredUsers(ctx, req)
}
func (s *Server) CreateRole(ctx context.Context, request *milvuspb.CreateRoleRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) DropRole(ctx context.Context, request *milvuspb.DropRoleRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) OperateUserRole(ctx context.Context, request *milvuspb.OperateUserRoleRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) SelectRole(ctx context.Context, request *milvuspb.SelectRoleRequest) (*milvuspb.SelectRoleResponse, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) SelectUser(ctx context.Context, request *milvuspb.SelectUserRequest) (*milvuspb.SelectUserResponse, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) SelectResource(ctx context.Context, request *milvuspb.SelectResourceRequest) (*milvuspb.SelectResourceResponse, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) OperatePrivilege(ctx context.Context, request *milvuspb.OperatePrivilegeRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) SelectGrant(ctx context.Context, request *milvuspb.SelectGrantRequest) (*milvuspb.SelectGrantResponse, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) RefreshPolicyInfoCache(ctx context.Context, request *proxypb.RefreshPolicyInfoCacheRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}

View File

@ -626,3 +626,120 @@ func (c *Client) ListCredUsers(ctx context.Context, req *milvuspb.ListCredUsersR
}
return ret.(*milvuspb.ListCredUsersResponse), err
}
func (c *Client) CreateRole(ctx context.Context, req *milvuspb.CreateRoleRequest) (*commonpb.Status, error) {
ret, err := c.grpcClient.ReCall(ctx, func(client interface{}) (interface{}, error) {
if !funcutil.CheckCtxValid(ctx) {
return nil, ctx.Err()
}
return client.(rootcoordpb.RootCoordClient).CreateRole(ctx, req)
})
if err != nil {
return nil, err
}
return ret.(*commonpb.Status), err
}
func (c *Client) DropRole(ctx context.Context, req *milvuspb.DropRoleRequest) (*commonpb.Status, error) {
ret, err := c.grpcClient.ReCall(ctx, func(client interface{}) (interface{}, error) {
if !funcutil.CheckCtxValid(ctx) {
return nil, ctx.Err()
}
return client.(rootcoordpb.RootCoordClient).DropRole(ctx, req)
})
if err != nil {
return nil, err
}
return ret.(*commonpb.Status), err
}
func (c *Client) OperateUserRole(ctx context.Context, req *milvuspb.OperateUserRoleRequest) (*commonpb.Status, error) {
ret, err := c.grpcClient.ReCall(ctx, func(client interface{}) (interface{}, error) {
if !funcutil.CheckCtxValid(ctx) {
return nil, ctx.Err()
}
return client.(rootcoordpb.RootCoordClient).OperateUserRole(ctx, req)
})
if err != nil {
return nil, err
}
return ret.(*commonpb.Status), err
}
func (c *Client) SelectRole(ctx context.Context, req *milvuspb.SelectRoleRequest) (*milvuspb.SelectRoleResponse, error) {
ret, err := c.grpcClient.ReCall(ctx, func(client interface{}) (interface{}, error) {
if !funcutil.CheckCtxValid(ctx) {
return nil, ctx.Err()
}
return client.(rootcoordpb.RootCoordClient).SelectRole(ctx, req)
})
if err != nil {
return nil, err
}
return ret.(*milvuspb.SelectRoleResponse), err
}
func (c *Client) SelectUser(ctx context.Context, req *milvuspb.SelectUserRequest) (*milvuspb.SelectUserResponse, error) {
ret, err := c.grpcClient.ReCall(ctx, func(client interface{}) (interface{}, error) {
if !funcutil.CheckCtxValid(ctx) {
return nil, ctx.Err()
}
return client.(rootcoordpb.RootCoordClient).SelectUser(ctx, req)
})
if err != nil {
return nil, err
}
return ret.(*milvuspb.SelectUserResponse), err
}
func (c *Client) SelectResource(ctx context.Context, req *milvuspb.SelectResourceRequest) (*milvuspb.SelectResourceResponse, error) {
ret, err := c.grpcClient.ReCall(ctx, func(client interface{}) (interface{}, error) {
if !funcutil.CheckCtxValid(ctx) {
return nil, ctx.Err()
}
return client.(rootcoordpb.RootCoordClient).SelectResource(ctx, req)
})
if err != nil {
return nil, err
}
return ret.(*milvuspb.SelectResourceResponse), err
}
func (c *Client) OperatePrivilege(ctx context.Context, req *milvuspb.OperatePrivilegeRequest) (*commonpb.Status, error) {
ret, err := c.grpcClient.ReCall(ctx, func(client interface{}) (interface{}, error) {
if !funcutil.CheckCtxValid(ctx) {
return nil, ctx.Err()
}
return client.(rootcoordpb.RootCoordClient).OperatePrivilege(ctx, req)
})
if err != nil {
return nil, err
}
return ret.(*commonpb.Status), err
}
func (c *Client) SelectGrant(ctx context.Context, req *milvuspb.SelectGrantRequest) (*milvuspb.SelectGrantResponse, error) {
ret, err := c.grpcClient.ReCall(ctx, func(client interface{}) (interface{}, error) {
if !funcutil.CheckCtxValid(ctx) {
return nil, ctx.Err()
}
return client.(rootcoordpb.RootCoordClient).SelectGrant(ctx, req)
})
if err != nil {
return nil, err
}
return ret.(*milvuspb.SelectGrantResponse), err
}
func (c *Client) ListPolicy(ctx context.Context, req *internalpb.ListPolicyRequest) (*internalpb.ListPolicyResponse, error) {
ret, err := c.grpcClient.ReCall(ctx, func(client interface{}) (interface{}, error) {
if !funcutil.CheckCtxValid(ctx) {
return nil, ctx.Err()
}
return client.(rootcoordpb.RootCoordClient).ListPolicy(ctx, req)
})
if err != nil {
return nil, err
}
return ret.(*internalpb.ListPolicyResponse), err
}

View File

@ -483,3 +483,48 @@ func (s *Server) DeleteCredential(ctx context.Context, request *milvuspb.DeleteC
func (s *Server) ListCredUsers(ctx context.Context, request *milvuspb.ListCredUsersRequest) (*milvuspb.ListCredUsersResponse, error) {
return s.rootCoord.ListCredUsers(ctx, request)
}
func (s *Server) CreateRole(ctx context.Context, request *milvuspb.CreateRoleRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) DropRole(ctx context.Context, request *milvuspb.DropRoleRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) OperateUserRole(ctx context.Context, request *milvuspb.OperateUserRoleRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) SelectRole(ctx context.Context, request *milvuspb.SelectRoleRequest) (*milvuspb.SelectRoleResponse, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) SelectUser(ctx context.Context, request *milvuspb.SelectUserRequest) (*milvuspb.SelectUserResponse, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) SelectResource(ctx context.Context, request *milvuspb.SelectResourceRequest) (*milvuspb.SelectResourceResponse, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) OperatePrivilege(ctx context.Context, info *milvuspb.OperatePrivilegeRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) SelectGrant(ctx context.Context, request *milvuspb.SelectGrantRequest) (*milvuspb.SelectGrantResponse, error) {
//TODO implement me
panic("implement me")
}
func (s *Server) ListPolicy(ctx context.Context, request *internalpb.ListPolicyRequest) (*internalpb.ListPolicyResponse, error) {
//TODO implement me
panic("implement me")
}

View File

@ -8,6 +8,8 @@ option java_package = "io.milvus.grpc";
option java_outer_classname = "CommonProto";
option java_generate_equals_and_hash = true;
import "google/protobuf/descriptor.proto";
enum ErrorCode {
Success = 0;
UnexpectedError = 1;
@ -42,8 +44,19 @@ enum ErrorCode {
DeleteCredentialFailure = 31;
GetCredentialFailure = 32;
ListCredUsersFailure = 33;
NotShardLeader = 34;
NoReplicaAvailable = 35;
GetUserFailure = 34;
CreateRoleFailure = 35;
DropRoleFailure = 36;
OperateUserRoleFailure = 37;
SelectRoleFailure = 38;
SelectUserFailure = 39;
SelectResourceFailure = 40;
OperatePrivilegeFailure = 41;
SelectGrantFailure = 42;
RefreshPolicyInfoCacheFailure = 43;
ListPolicyFailure = 44;
NotShardLeader = 45;
NoReplicaAvailable = 46;
// internal error code.
DDRequestRace = 1000;
@ -197,6 +210,18 @@ enum MsgType {
DeleteCredential = 1502;
UpdateCredential = 1503;
ListCredUsernames = 1504;
/* RBAC */
CreateRole = 1600;
DropRole = 1601;
OperateUserRole = 1602;
SelectRole = 1603;
SelectUser = 1604;
SelectResource = 1605;
OperatePrivilege = 1606;
SelectGrant = 1607;
RefreshPolicyInfoCache = 1608;
ListPolicy = 1609;
}
message MsgBase {
@ -245,3 +270,30 @@ enum ImportState {
ImportPersisted = 5;
ImportCompleted = 6;
}
enum ResourceType {
Collection = 0;
}
enum ResourcePrivilege {
PrivilegeAll = 0;
PrivilegeCreate = 1;
PrivilegeDrop = 2;
PrivilegeAlter = 3;
PrivilegeRead = 4;
PrivilegeLoad = 5;
PrivilegeRelease = 6;
PrivilegeCompact = 7;
PrivilegeInsert = 8;
PrivilegeDelete = 9;
}
message PrivilegeExt {
ResourceType resource_type = 1;
ResourcePrivilege resource_privilege = 2;
int32 resource_name_index = 3;
}
extend google.protobuf.MessageOptions {
PrivilegeExt privilege_ext_obj = 1001;
}

View File

@ -6,6 +6,7 @@ package commonpb
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
math "math"
)
@ -23,41 +24,52 @@ const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type ErrorCode int32
const (
ErrorCode_Success ErrorCode = 0
ErrorCode_UnexpectedError ErrorCode = 1
ErrorCode_ConnectFailed ErrorCode = 2
ErrorCode_PermissionDenied ErrorCode = 3
ErrorCode_CollectionNotExists ErrorCode = 4
ErrorCode_IllegalArgument ErrorCode = 5
ErrorCode_IllegalDimension ErrorCode = 7
ErrorCode_IllegalIndexType ErrorCode = 8
ErrorCode_IllegalCollectionName ErrorCode = 9
ErrorCode_IllegalTOPK ErrorCode = 10
ErrorCode_IllegalRowRecord ErrorCode = 11
ErrorCode_IllegalVectorID ErrorCode = 12
ErrorCode_IllegalSearchResult ErrorCode = 13
ErrorCode_FileNotFound ErrorCode = 14
ErrorCode_MetaFailed ErrorCode = 15
ErrorCode_CacheFailed ErrorCode = 16
ErrorCode_CannotCreateFolder ErrorCode = 17
ErrorCode_CannotCreateFile ErrorCode = 18
ErrorCode_CannotDeleteFolder ErrorCode = 19
ErrorCode_CannotDeleteFile ErrorCode = 20
ErrorCode_BuildIndexError ErrorCode = 21
ErrorCode_IllegalNLIST ErrorCode = 22
ErrorCode_IllegalMetricType ErrorCode = 23
ErrorCode_OutOfMemory ErrorCode = 24
ErrorCode_IndexNotExist ErrorCode = 25
ErrorCode_EmptyCollection ErrorCode = 26
ErrorCode_UpdateImportTaskFailure ErrorCode = 27
ErrorCode_CollectionNameNotFound ErrorCode = 28
ErrorCode_CreateCredentialFailure ErrorCode = 29
ErrorCode_UpdateCredentialFailure ErrorCode = 30
ErrorCode_DeleteCredentialFailure ErrorCode = 31
ErrorCode_GetCredentialFailure ErrorCode = 32
ErrorCode_ListCredUsersFailure ErrorCode = 33
ErrorCode_NotShardLeader ErrorCode = 34
ErrorCode_NoReplicaAvailable ErrorCode = 35
ErrorCode_Success ErrorCode = 0
ErrorCode_UnexpectedError ErrorCode = 1
ErrorCode_ConnectFailed ErrorCode = 2
ErrorCode_PermissionDenied ErrorCode = 3
ErrorCode_CollectionNotExists ErrorCode = 4
ErrorCode_IllegalArgument ErrorCode = 5
ErrorCode_IllegalDimension ErrorCode = 7
ErrorCode_IllegalIndexType ErrorCode = 8
ErrorCode_IllegalCollectionName ErrorCode = 9
ErrorCode_IllegalTOPK ErrorCode = 10
ErrorCode_IllegalRowRecord ErrorCode = 11
ErrorCode_IllegalVectorID ErrorCode = 12
ErrorCode_IllegalSearchResult ErrorCode = 13
ErrorCode_FileNotFound ErrorCode = 14
ErrorCode_MetaFailed ErrorCode = 15
ErrorCode_CacheFailed ErrorCode = 16
ErrorCode_CannotCreateFolder ErrorCode = 17
ErrorCode_CannotCreateFile ErrorCode = 18
ErrorCode_CannotDeleteFolder ErrorCode = 19
ErrorCode_CannotDeleteFile ErrorCode = 20
ErrorCode_BuildIndexError ErrorCode = 21
ErrorCode_IllegalNLIST ErrorCode = 22
ErrorCode_IllegalMetricType ErrorCode = 23
ErrorCode_OutOfMemory ErrorCode = 24
ErrorCode_IndexNotExist ErrorCode = 25
ErrorCode_EmptyCollection ErrorCode = 26
ErrorCode_UpdateImportTaskFailure ErrorCode = 27
ErrorCode_CollectionNameNotFound ErrorCode = 28
ErrorCode_CreateCredentialFailure ErrorCode = 29
ErrorCode_UpdateCredentialFailure ErrorCode = 30
ErrorCode_DeleteCredentialFailure ErrorCode = 31
ErrorCode_GetCredentialFailure ErrorCode = 32
ErrorCode_ListCredUsersFailure ErrorCode = 33
ErrorCode_GetUserFailure ErrorCode = 34
ErrorCode_CreateRoleFailure ErrorCode = 35
ErrorCode_DropRoleFailure ErrorCode = 36
ErrorCode_OperateUserRoleFailure ErrorCode = 37
ErrorCode_SelectRoleFailure ErrorCode = 38
ErrorCode_SelectUserFailure ErrorCode = 39
ErrorCode_SelectResourceFailure ErrorCode = 40
ErrorCode_OperatePrivilegeFailure ErrorCode = 41
ErrorCode_SelectGrantFailure ErrorCode = 42
ErrorCode_RefreshPolicyInfoCacheFailure ErrorCode = 43
ErrorCode_ListPolicyFailure ErrorCode = 44
ErrorCode_NotShardLeader ErrorCode = 45
ErrorCode_NoReplicaAvailable ErrorCode = 46
// internal error code.
ErrorCode_DDRequestRace ErrorCode = 1000
)
@ -96,48 +108,70 @@ var ErrorCode_name = map[int32]string{
31: "DeleteCredentialFailure",
32: "GetCredentialFailure",
33: "ListCredUsersFailure",
34: "NotShardLeader",
35: "NoReplicaAvailable",
34: "GetUserFailure",
35: "CreateRoleFailure",
36: "DropRoleFailure",
37: "OperateUserRoleFailure",
38: "SelectRoleFailure",
39: "SelectUserFailure",
40: "SelectResourceFailure",
41: "OperatePrivilegeFailure",
42: "SelectGrantFailure",
43: "RefreshPolicyInfoCacheFailure",
44: "ListPolicyFailure",
45: "NotShardLeader",
46: "NoReplicaAvailable",
1000: "DDRequestRace",
}
var ErrorCode_value = map[string]int32{
"Success": 0,
"UnexpectedError": 1,
"ConnectFailed": 2,
"PermissionDenied": 3,
"CollectionNotExists": 4,
"IllegalArgument": 5,
"IllegalDimension": 7,
"IllegalIndexType": 8,
"IllegalCollectionName": 9,
"IllegalTOPK": 10,
"IllegalRowRecord": 11,
"IllegalVectorID": 12,
"IllegalSearchResult": 13,
"FileNotFound": 14,
"MetaFailed": 15,
"CacheFailed": 16,
"CannotCreateFolder": 17,
"CannotCreateFile": 18,
"CannotDeleteFolder": 19,
"CannotDeleteFile": 20,
"BuildIndexError": 21,
"IllegalNLIST": 22,
"IllegalMetricType": 23,
"OutOfMemory": 24,
"IndexNotExist": 25,
"EmptyCollection": 26,
"UpdateImportTaskFailure": 27,
"CollectionNameNotFound": 28,
"CreateCredentialFailure": 29,
"UpdateCredentialFailure": 30,
"DeleteCredentialFailure": 31,
"GetCredentialFailure": 32,
"ListCredUsersFailure": 33,
"NotShardLeader": 34,
"NoReplicaAvailable": 35,
"DDRequestRace": 1000,
"Success": 0,
"UnexpectedError": 1,
"ConnectFailed": 2,
"PermissionDenied": 3,
"CollectionNotExists": 4,
"IllegalArgument": 5,
"IllegalDimension": 7,
"IllegalIndexType": 8,
"IllegalCollectionName": 9,
"IllegalTOPK": 10,
"IllegalRowRecord": 11,
"IllegalVectorID": 12,
"IllegalSearchResult": 13,
"FileNotFound": 14,
"MetaFailed": 15,
"CacheFailed": 16,
"CannotCreateFolder": 17,
"CannotCreateFile": 18,
"CannotDeleteFolder": 19,
"CannotDeleteFile": 20,
"BuildIndexError": 21,
"IllegalNLIST": 22,
"IllegalMetricType": 23,
"OutOfMemory": 24,
"IndexNotExist": 25,
"EmptyCollection": 26,
"UpdateImportTaskFailure": 27,
"CollectionNameNotFound": 28,
"CreateCredentialFailure": 29,
"UpdateCredentialFailure": 30,
"DeleteCredentialFailure": 31,
"GetCredentialFailure": 32,
"ListCredUsersFailure": 33,
"GetUserFailure": 34,
"CreateRoleFailure": 35,
"DropRoleFailure": 36,
"OperateUserRoleFailure": 37,
"SelectRoleFailure": 38,
"SelectUserFailure": 39,
"SelectResourceFailure": 40,
"OperatePrivilegeFailure": 41,
"SelectGrantFailure": 42,
"RefreshPolicyInfoCacheFailure": 43,
"ListPolicyFailure": 44,
"NotShardLeader": 45,
"NoReplicaAvailable": 46,
"DDRequestRace": 1000,
}
func (x ErrorCode) String() string {
@ -332,6 +366,17 @@ const (
MsgType_DeleteCredential MsgType = 1502
MsgType_UpdateCredential MsgType = 1503
MsgType_ListCredUsernames MsgType = 1504
// RBAC
MsgType_CreateRole MsgType = 1600
MsgType_DropRole MsgType = 1601
MsgType_OperateUserRole MsgType = 1602
MsgType_SelectRole MsgType = 1603
MsgType_SelectUser MsgType = 1604
MsgType_SelectResource MsgType = 1605
MsgType_OperatePrivilege MsgType = 1606
MsgType_SelectGrant MsgType = 1607
MsgType_RefreshPolicyInfoCache MsgType = 1608
MsgType_ListPolicy MsgType = 1609
)
var MsgType_name = map[int32]string{
@ -402,6 +447,16 @@ var MsgType_name = map[int32]string{
1502: "DeleteCredential",
1503: "UpdateCredential",
1504: "ListCredUsernames",
1600: "CreateRole",
1601: "DropRole",
1602: "OperateUserRole",
1603: "SelectRole",
1604: "SelectUser",
1605: "SelectResource",
1606: "OperatePrivilege",
1607: "SelectGrant",
1608: "RefreshPolicyInfoCache",
1609: "ListPolicy",
}
var MsgType_value = map[string]int32{
@ -472,6 +527,16 @@ var MsgType_value = map[string]int32{
"DeleteCredential": 1502,
"UpdateCredential": 1503,
"ListCredUsernames": 1504,
"CreateRole": 1600,
"DropRole": 1601,
"OperateUserRole": 1602,
"SelectRole": 1603,
"SelectUser": 1604,
"SelectResource": 1605,
"OperatePrivilege": 1606,
"SelectGrant": 1607,
"RefreshPolicyInfoCache": 1608,
"ListPolicy": 1609,
}
func (x MsgType) String() string {
@ -609,6 +674,77 @@ func (ImportState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_555bd8c177793206, []int{8}
}
type ResourceType int32
const (
ResourceType_Collection ResourceType = 0
)
var ResourceType_name = map[int32]string{
0: "Collection",
}
var ResourceType_value = map[string]int32{
"Collection": 0,
}
func (x ResourceType) String() string {
return proto.EnumName(ResourceType_name, int32(x))
}
func (ResourceType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_555bd8c177793206, []int{9}
}
type ResourcePrivilege int32
const (
ResourcePrivilege_PrivilegeAll ResourcePrivilege = 0
ResourcePrivilege_PrivilegeCreate ResourcePrivilege = 1
ResourcePrivilege_PrivilegeDrop ResourcePrivilege = 2
ResourcePrivilege_PrivilegeAlter ResourcePrivilege = 3
ResourcePrivilege_PrivilegeRead ResourcePrivilege = 4
ResourcePrivilege_PrivilegeLoad ResourcePrivilege = 5
ResourcePrivilege_PrivilegeRelease ResourcePrivilege = 6
ResourcePrivilege_PrivilegeCompact ResourcePrivilege = 7
ResourcePrivilege_PrivilegeInsert ResourcePrivilege = 8
ResourcePrivilege_PrivilegeDelete ResourcePrivilege = 9
)
var ResourcePrivilege_name = map[int32]string{
0: "PrivilegeAll",
1: "PrivilegeCreate",
2: "PrivilegeDrop",
3: "PrivilegeAlter",
4: "PrivilegeRead",
5: "PrivilegeLoad",
6: "PrivilegeRelease",
7: "PrivilegeCompact",
8: "PrivilegeInsert",
9: "PrivilegeDelete",
}
var ResourcePrivilege_value = map[string]int32{
"PrivilegeAll": 0,
"PrivilegeCreate": 1,
"PrivilegeDrop": 2,
"PrivilegeAlter": 3,
"PrivilegeRead": 4,
"PrivilegeLoad": 5,
"PrivilegeRelease": 6,
"PrivilegeCompact": 7,
"PrivilegeInsert": 8,
"PrivilegeDelete": 9,
}
func (x ResourcePrivilege) String() string {
return proto.EnumName(ResourcePrivilege_name, int32(x))
}
func (ResourcePrivilege) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_555bd8c177793206, []int{10}
}
type Status struct {
ErrorCode ErrorCode `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3,enum=milvus.proto.common.ErrorCode" json:"error_code,omitempty"`
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
@ -1082,6 +1218,70 @@ func (m *DMLMsgHeader) GetShardName() string {
return ""
}
type PrivilegeExt struct {
ResourceType ResourceType `protobuf:"varint,1,opt,name=resource_type,json=resourceType,proto3,enum=milvus.proto.common.ResourceType" json:"resource_type,omitempty"`
ResourcePrivilege ResourcePrivilege `protobuf:"varint,2,opt,name=resource_privilege,json=resourcePrivilege,proto3,enum=milvus.proto.common.ResourcePrivilege" json:"resource_privilege,omitempty"`
ResourceNameIndex int32 `protobuf:"varint,3,opt,name=resource_name_index,json=resourceNameIndex,proto3" json:"resource_name_index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrivilegeExt) Reset() { *m = PrivilegeExt{} }
func (m *PrivilegeExt) String() string { return proto.CompactTextString(m) }
func (*PrivilegeExt) ProtoMessage() {}
func (*PrivilegeExt) Descriptor() ([]byte, []int) {
return fileDescriptor_555bd8c177793206, []int{10}
}
func (m *PrivilegeExt) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivilegeExt.Unmarshal(m, b)
}
func (m *PrivilegeExt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivilegeExt.Marshal(b, m, deterministic)
}
func (m *PrivilegeExt) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivilegeExt.Merge(m, src)
}
func (m *PrivilegeExt) XXX_Size() int {
return xxx_messageInfo_PrivilegeExt.Size(m)
}
func (m *PrivilegeExt) XXX_DiscardUnknown() {
xxx_messageInfo_PrivilegeExt.DiscardUnknown(m)
}
var xxx_messageInfo_PrivilegeExt proto.InternalMessageInfo
func (m *PrivilegeExt) GetResourceType() ResourceType {
if m != nil {
return m.ResourceType
}
return ResourceType_Collection
}
func (m *PrivilegeExt) GetResourcePrivilege() ResourcePrivilege {
if m != nil {
return m.ResourcePrivilege
}
return ResourcePrivilege_PrivilegeAll
}
func (m *PrivilegeExt) GetResourceNameIndex() int32 {
if m != nil {
return m.ResourceNameIndex
}
return 0
}
var E_PrivilegeExtObj = &proto.ExtensionDesc{
ExtendedType: (*descriptor.MessageOptions)(nil),
ExtensionType: (*PrivilegeExt)(nil),
Field: 1001,
Name: "milvus.proto.common.privilege_ext_obj",
Tag: "bytes,1001,opt,name=privilege_ext_obj",
Filename: "common.proto",
}
func init() {
proto.RegisterEnum("milvus.proto.common.ErrorCode", ErrorCode_name, ErrorCode_value)
proto.RegisterEnum("milvus.proto.common.IndexState", IndexState_name, IndexState_value)
@ -1092,6 +1292,8 @@ func init() {
proto.RegisterEnum("milvus.proto.common.CompactionState", CompactionState_name, CompactionState_value)
proto.RegisterEnum("milvus.proto.common.ConsistencyLevel", ConsistencyLevel_name, ConsistencyLevel_value)
proto.RegisterEnum("milvus.proto.common.ImportState", ImportState_name, ImportState_value)
proto.RegisterEnum("milvus.proto.common.ResourceType", ResourceType_name, ResourceType_value)
proto.RegisterEnum("milvus.proto.common.ResourcePrivilege", ResourcePrivilege_name, ResourcePrivilege_value)
proto.RegisterType((*Status)(nil), "milvus.proto.common.Status")
proto.RegisterType((*KeyValuePair)(nil), "milvus.proto.common.KeyValuePair")
proto.RegisterType((*KeyDataPair)(nil), "milvus.proto.common.KeyDataPair")
@ -1102,129 +1304,156 @@ func init() {
proto.RegisterType((*MsgBase)(nil), "milvus.proto.common.MsgBase")
proto.RegisterType((*MsgHeader)(nil), "milvus.proto.common.MsgHeader")
proto.RegisterType((*DMLMsgHeader)(nil), "milvus.proto.common.DMLMsgHeader")
proto.RegisterType((*PrivilegeExt)(nil), "milvus.proto.common.PrivilegeExt")
proto.RegisterExtension(E_PrivilegeExtObj)
}
func init() { proto.RegisterFile("common.proto", fileDescriptor_555bd8c177793206) }
var fileDescriptor_555bd8c177793206 = []byte{
// 1895 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xcb, 0x6f, 0x1c, 0x49,
0x19, 0x77, 0xcf, 0x4c, 0x6c, 0x4f, 0xcd, 0xd8, 0xae, 0x94, 0x1d, 0xc7, 0x9b, 0x64, 0x17, 0x33,
0x80, 0x14, 0x59, 0xda, 0x04, 0x12, 0x09, 0xb8, 0x2c, 0x92, 0x3d, 0x63, 0x3b, 0xa3, 0xd8, 0x8e,
0x99, 0x71, 0xb2, 0x2b, 0x24, 0x88, 0xca, 0xdd, 0x9f, 0x67, 0x8a, 0x54, 0x57, 0x35, 0x55, 0xd5,
0x8e, 0x87, 0xd3, 0xb2, 0xfc, 0x03, 0xb0, 0x1c, 0xb8, 0x72, 0x46, 0x80, 0x78, 0xc3, 0x9f, 0xc0,
0xfb, 0xcc, 0x1b, 0x8e, 0x9c, 0x11, 0xcf, 0x7d, 0xa2, 0xaf, 0xba, 0xa7, 0xbb, 0x9d, 0x64, 0xc5,
0x61, 0x6f, 0xf5, 0xfd, 0xbe, 0x47, 0x7d, 0xef, 0x2a, 0xd2, 0x0e, 0x75, 0x1c, 0x6b, 0x75, 0x23,
0x31, 0xda, 0x69, 0xb6, 0x1c, 0x0b, 0x79, 0x9a, 0xda, 0x8c, 0xba, 0x91, 0xb1, 0x3a, 0x0f, 0xc9,
0xec, 0xd0, 0x71, 0x97, 0x5a, 0xf6, 0x12, 0x21, 0x60, 0x8c, 0x36, 0x0f, 0x43, 0x1d, 0xc1, 0x5a,
0xb0, 0x1e, 0x5c, 0x5f, 0xbc, 0xf5, 0xc2, 0x8d, 0x67, 0xe8, 0xdc, 0xd8, 0x46, 0xb1, 0xae, 0x8e,
0x60, 0xd0, 0x84, 0xe9, 0x91, 0xad, 0x92, 0x59, 0x03, 0xdc, 0x6a, 0xb5, 0x56, 0x5b, 0x0f, 0xae,
0x37, 0x07, 0x39, 0xd5, 0xf9, 0x38, 0x69, 0xdf, 0x85, 0xc9, 0x03, 0x2e, 0x53, 0x38, 0xe4, 0xc2,
0x30, 0x4a, 0xea, 0x8f, 0x60, 0xe2, 0xed, 0x37, 0x07, 0x78, 0x64, 0x2b, 0xe4, 0xc2, 0x29, 0xb2,
0x73, 0xc5, 0x8c, 0xe8, 0xdc, 0x26, 0xad, 0xbb, 0x30, 0xe9, 0x71, 0xc7, 0xdf, 0x43, 0x8d, 0x91,
0x46, 0xc4, 0x1d, 0xf7, 0x5a, 0xed, 0x81, 0x3f, 0x77, 0xae, 0x91, 0xc6, 0x96, 0xd4, 0xc7, 0xa5,
0xc9, 0xc0, 0x33, 0x73, 0x93, 0xa7, 0x84, 0x1e, 0x4a, 0x1e, 0xc2, 0x58, 0xcb, 0x08, 0x8c, 0x77,
0x09, 0xed, 0x3a, 0x3e, 0x9a, 0xda, 0x75, 0x7c, 0xc4, 0x3e, 0x49, 0x1a, 0x6e, 0x92, 0x64, 0xde,
0x2c, 0xde, 0xfa, 0xf0, 0x33, 0x33, 0x50, 0x31, 0x73, 0x34, 0x49, 0x60, 0xe0, 0x35, 0x30, 0x05,
0xfe, 0x22, 0xbb, 0x56, 0x5f, 0xaf, 0x5f, 0x6f, 0x0f, 0x72, 0xaa, 0xf3, 0xd9, 0x73, 0xf7, 0xee,
0x1a, 0x9d, 0x26, 0xac, 0x4f, 0xda, 0x49, 0x89, 0xd9, 0xb5, 0x60, 0xbd, 0x7e, 0xbd, 0x75, 0xeb,
0x23, 0xff, 0xef, 0x36, 0xef, 0xf4, 0xe0, 0x9c, 0x6a, 0xe7, 0x45, 0x32, 0xb7, 0x19, 0x45, 0x06,
0xac, 0x65, 0x8b, 0xa4, 0x26, 0x92, 0x3c, 0x98, 0x9a, 0x48, 0x30, 0x47, 0x89, 0x36, 0xce, 0xc7,
0x52, 0x1f, 0xf8, 0x73, 0xe7, 0xf5, 0x80, 0xcc, 0xed, 0xdb, 0xd1, 0x16, 0xb7, 0xc0, 0x3e, 0x41,
0xe6, 0x63, 0x3b, 0x7a, 0xe8, 0xe3, 0xcd, 0x2a, 0x7e, 0xed, 0x99, 0x1e, 0xec, 0xdb, 0x91, 0x8f,
0x73, 0x2e, 0xce, 0x0e, 0x98, 0xe0, 0xd8, 0x8e, 0xfa, 0xbd, 0xdc, 0x72, 0x46, 0xb0, 0x6b, 0xa4,
0xe9, 0x44, 0x0c, 0xd6, 0xf1, 0x38, 0x59, 0xab, 0xaf, 0x07, 0xd7, 0x1b, 0x83, 0x12, 0x60, 0x57,
0xc8, 0xbc, 0xd5, 0xa9, 0x09, 0xa1, 0xdf, 0x5b, 0x6b, 0x78, 0xb5, 0x82, 0xee, 0xbc, 0x44, 0x9a,
0xfb, 0x76, 0x74, 0x07, 0x78, 0x04, 0x86, 0x7d, 0x94, 0x34, 0x8e, 0xb9, 0xcd, 0x3c, 0x6a, 0xbd,
0xb7, 0x47, 0x18, 0xc1, 0xc0, 0x4b, 0x76, 0x3e, 0x47, 0xda, 0xbd, 0xfd, 0xbd, 0xf7, 0x61, 0x01,
0x5d, 0xb7, 0x63, 0x6e, 0xa2, 0x03, 0x1e, 0x4f, 0x1b, 0xb1, 0x04, 0x36, 0xbe, 0x39, 0x4b, 0x9a,
0x45, 0xd7, 0xb3, 0x16, 0x99, 0x1b, 0xa6, 0x61, 0x08, 0xd6, 0xd2, 0x19, 0xb6, 0x4c, 0x96, 0xee,
0x2b, 0x38, 0x4b, 0x20, 0x74, 0x10, 0x79, 0x19, 0x1a, 0xb0, 0x8b, 0x64, 0xa1, 0xab, 0x95, 0x82,
0xd0, 0xed, 0x70, 0x21, 0x21, 0xa2, 0x35, 0xb6, 0x42, 0xe8, 0x21, 0x98, 0x58, 0x58, 0x2b, 0xb4,
0xea, 0x81, 0x12, 0x10, 0xd1, 0x3a, 0xbb, 0x4c, 0x96, 0xbb, 0x5a, 0x4a, 0x08, 0x9d, 0xd0, 0xea,
0x40, 0xbb, 0xed, 0x33, 0x61, 0x9d, 0xa5, 0x0d, 0x34, 0xdb, 0x97, 0x12, 0x46, 0x5c, 0x6e, 0x9a,
0x51, 0x1a, 0x83, 0x72, 0xf4, 0x02, 0xda, 0xc8, 0xc1, 0x9e, 0x88, 0x41, 0xa1, 0x25, 0x3a, 0x57,
0x41, 0xfb, 0x2a, 0x82, 0x33, 0xac, 0x0f, 0x9d, 0x67, 0xcf, 0x91, 0x4b, 0x39, 0x5a, 0xb9, 0x80,
0xc7, 0x40, 0x9b, 0x6c, 0x89, 0xb4, 0x72, 0xd6, 0xd1, 0xbd, 0xc3, 0xbb, 0x94, 0x54, 0x2c, 0x0c,
0xf4, 0xe3, 0x01, 0x84, 0xda, 0x44, 0xb4, 0x55, 0x71, 0xe1, 0x01, 0x84, 0x4e, 0x9b, 0x7e, 0x8f,
0xb6, 0xd1, 0xe1, 0x1c, 0x1c, 0x02, 0x37, 0xe1, 0x78, 0x00, 0x36, 0x95, 0x8e, 0x2e, 0x30, 0x4a,
0xda, 0x3b, 0x42, 0xc2, 0x81, 0x76, 0x3b, 0x3a, 0x55, 0x11, 0x5d, 0x64, 0x8b, 0x84, 0xec, 0x83,
0xe3, 0x79, 0x06, 0x96, 0xf0, 0xda, 0x2e, 0x0f, 0xc7, 0x90, 0x03, 0x94, 0xad, 0x12, 0xd6, 0xe5,
0x4a, 0x69, 0xd7, 0x35, 0xc0, 0x1d, 0xec, 0xf8, 0x7e, 0xa6, 0x17, 0xd1, 0x9d, 0x73, 0xb8, 0x90,
0x40, 0x59, 0x29, 0xdd, 0x03, 0x09, 0x85, 0xf4, 0x72, 0x29, 0x9d, 0xe3, 0x28, 0xbd, 0x82, 0xce,
0x6f, 0xa5, 0x42, 0x46, 0x3e, 0x25, 0x59, 0x59, 0x2e, 0xa1, 0x8f, 0xb9, 0xf3, 0x07, 0x7b, 0xfd,
0xe1, 0x11, 0x5d, 0x65, 0x97, 0xc8, 0xc5, 0x1c, 0xd9, 0x07, 0x67, 0x44, 0xe8, 0x93, 0x77, 0x19,
0x5d, 0xbd, 0x97, 0xba, 0x7b, 0x27, 0xfb, 0x10, 0x6b, 0x33, 0xa1, 0x6b, 0x58, 0x50, 0x6f, 0x69,
0x5a, 0x22, 0xfa, 0x1c, 0xde, 0xb0, 0x1d, 0x27, 0x6e, 0x52, 0xa6, 0x97, 0x5e, 0x61, 0x57, 0xc9,
0xe5, 0xfb, 0x49, 0xc4, 0x1d, 0xf4, 0x63, 0x1c, 0xb6, 0x23, 0x6e, 0x1f, 0x61, 0xb8, 0xa9, 0x01,
0x7a, 0x95, 0x5d, 0x21, 0xab, 0xe7, 0x6b, 0x51, 0x24, 0xeb, 0x1a, 0x2a, 0x66, 0xd1, 0x76, 0x0d,
0x44, 0xa0, 0x9c, 0xe0, 0x72, 0xaa, 0xf8, 0x7c, 0x69, 0xf5, 0x69, 0xe6, 0x0b, 0xc8, 0xcc, 0x22,
0x7f, 0x9a, 0xf9, 0x01, 0xb6, 0x46, 0x56, 0x76, 0xc1, 0x3d, 0xcd, 0x59, 0x47, 0xce, 0x9e, 0xb0,
0x9e, 0x75, 0xdf, 0x82, 0xb1, 0x53, 0xce, 0x07, 0x19, 0x23, 0x8b, 0x07, 0xda, 0x0d, 0xb1, 0xf9,
0xf7, 0xfc, 0x38, 0xd1, 0x0e, 0x26, 0xff, 0x40, 0x0f, 0x20, 0x91, 0x22, 0xe4, 0x9b, 0xa7, 0x5c,
0x48, 0x7e, 0x2c, 0x81, 0x7e, 0x88, 0x31, 0xb2, 0xd0, 0xeb, 0x0d, 0xe0, 0x0b, 0x29, 0x58, 0x37,
0xe0, 0x21, 0xd0, 0xbf, 0xcd, 0x6d, 0xbc, 0x42, 0x88, 0xcf, 0x15, 0xbe, 0x2b, 0x80, 0xd6, 0x4a,
0xea, 0x40, 0x2b, 0xa0, 0x33, 0xac, 0x4d, 0xe6, 0xef, 0x2b, 0x61, 0x6d, 0x0a, 0x11, 0x0d, 0xb0,
0x4f, 0xfa, 0xea, 0xd0, 0xe8, 0x11, 0xae, 0x30, 0x5a, 0x43, 0xee, 0x8e, 0x50, 0xc2, 0x8e, 0xfd,
0x84, 0x10, 0x32, 0x9b, 0x37, 0x4c, 0x63, 0xe3, 0xb5, 0x80, 0xb4, 0x87, 0x30, 0xc2, 0x69, 0xc8,
0x8c, 0xaf, 0x10, 0x5a, 0xa5, 0x4b, 0xf3, 0x45, 0x9d, 0x02, 0x9c, 0xd6, 0x5d, 0xa3, 0x1f, 0x0b,
0x35, 0xa2, 0x35, 0xb4, 0x36, 0x04, 0x2e, 0xbd, 0xe5, 0x16, 0x99, 0xdb, 0x91, 0xa9, 0xbf, 0xa6,
0xe1, 0x2f, 0x45, 0x02, 0xc5, 0x2e, 0x20, 0xab, 0x67, 0x74, 0x92, 0x40, 0x44, 0x67, 0xd9, 0x02,
0x69, 0x66, 0xd5, 0x44, 0xde, 0xdc, 0xc6, 0xa7, 0xc8, 0xd2, 0x13, 0xeb, 0x9f, 0xcd, 0x93, 0x46,
0x7e, 0x35, 0x25, 0xed, 0x2d, 0xa1, 0xb8, 0x99, 0x64, 0x23, 0x43, 0x23, 0x6c, 0xa5, 0x1d, 0xa9,
0xb9, 0xcb, 0x01, 0xd8, 0xf8, 0x3b, 0xf1, 0xfb, 0xd7, 0x2b, 0x2e, 0x90, 0xe6, 0x7d, 0x15, 0xc1,
0x89, 0x50, 0x10, 0xd1, 0x19, 0xdf, 0xca, 0x59, 0x13, 0x94, 0x3d, 0x15, 0x61, 0x06, 0xd1, 0x99,
0x0a, 0x06, 0xd8, 0x8f, 0x77, 0xb8, 0xad, 0x40, 0x27, 0x58, 0xa2, 0x1e, 0xd8, 0xd0, 0x88, 0xe3,
0xaa, 0xfa, 0x08, 0xfb, 0x74, 0x38, 0xd6, 0x8f, 0x4b, 0xcc, 0xd2, 0x31, 0xde, 0xb4, 0x0b, 0x6e,
0x38, 0xb1, 0x0e, 0xe2, 0xae, 0x56, 0x27, 0x62, 0x64, 0xa9, 0xc0, 0x9b, 0xf6, 0x34, 0x8f, 0x2a,
0xea, 0x9f, 0xc7, 0x09, 0x19, 0x80, 0x04, 0x6e, 0xab, 0x56, 0x1f, 0xf9, 0x61, 0xf6, 0xae, 0x6e,
0x4a, 0xc1, 0x2d, 0x95, 0x18, 0x0a, 0x7a, 0x99, 0x91, 0x31, 0x16, 0x75, 0x53, 0x3a, 0x30, 0x19,
0xad, 0xd8, 0x0a, 0x59, 0xca, 0xe4, 0x0f, 0xb9, 0x71, 0xc2, 0x1b, 0xf9, 0x59, 0xe0, 0xdb, 0xc7,
0xe8, 0xa4, 0xc4, 0x7e, 0x8e, 0xbb, 0xb3, 0x7d, 0x87, 0xdb, 0x12, 0xfa, 0x45, 0xc0, 0x56, 0xc9,
0xc5, 0x69, 0x68, 0x25, 0xfe, 0xcb, 0x80, 0x2d, 0x93, 0x45, 0x0c, 0xad, 0xc0, 0x2c, 0xfd, 0x95,
0x07, 0x31, 0x88, 0x0a, 0xf8, 0x6b, 0x6f, 0x21, 0x8f, 0xa2, 0x82, 0xff, 0xc6, 0x5f, 0x86, 0x16,
0xf2, 0x26, 0xb2, 0xf4, 0x8d, 0x00, 0x3d, 0x9d, 0x5e, 0x96, 0xc3, 0xf4, 0x4d, 0x2f, 0x88, 0x56,
0x0b, 0xc1, 0xb7, 0xbc, 0x60, 0x6e, 0xb3, 0x40, 0xdf, 0xf6, 0xe8, 0x1d, 0xae, 0x22, 0x7d, 0x72,
0x52, 0xa0, 0xef, 0x04, 0x6c, 0x8d, 0x2c, 0xa3, 0xfa, 0x16, 0x97, 0x5c, 0x85, 0xa5, 0xfc, 0xbb,
0x01, 0xbb, 0x44, 0xe8, 0x13, 0xd7, 0x59, 0xfa, 0x6a, 0x8d, 0xd1, 0x69, 0x7e, 0xfd, 0xf0, 0xd0,
0x6f, 0xd5, 0x7c, 0xae, 0x72, 0xc1, 0x0c, 0xfb, 0x76, 0x8d, 0x2d, 0x66, 0x49, 0xcf, 0xe8, 0xef,
0xd4, 0x58, 0x8b, 0xcc, 0xf6, 0x95, 0x05, 0xe3, 0xe8, 0x57, 0xb0, 0xbf, 0x67, 0xb3, 0xc5, 0x40,
0xbf, 0x8a, 0x63, 0x74, 0xc1, 0xf7, 0x37, 0x7d, 0x1d, 0x1f, 0x1d, 0x36, 0x00, 0x0b, 0x2a, 0xaa,
0xcc, 0x8e, 0xa5, 0x5f, 0xf3, 0x1a, 0xd9, 0x56, 0xa7, 0xff, 0xa8, 0xfb, 0xd4, 0x54, 0x57, 0xfc,
0x3f, 0xeb, 0xe8, 0xc2, 0x2e, 0xb8, 0x72, 0x9c, 0xe9, 0xbf, 0xea, 0xec, 0x0a, 0xb9, 0x34, 0xc5,
0xfc, 0xc2, 0x2d, 0x06, 0xf9, 0xdf, 0x75, 0x76, 0x8d, 0x5c, 0xc6, 0xed, 0x53, 0xf4, 0x0d, 0x2a,
0x09, 0xeb, 0x44, 0x68, 0xe9, 0x7f, 0xea, 0xec, 0x2a, 0x59, 0xdd, 0x05, 0x57, 0xd4, 0xa3, 0xc2,
0xfc, 0x6f, 0x9d, 0x2d, 0x90, 0xf9, 0x01, 0x6e, 0x64, 0x38, 0x05, 0xfa, 0x46, 0x1d, 0x8b, 0x3a,
0x25, 0x73, 0x77, 0xde, 0xac, 0x63, 0xaa, 0x5f, 0xe6, 0x2e, 0x1c, 0xf7, 0xe2, 0xee, 0x98, 0x2b,
0x05, 0xd2, 0xd2, 0xb7, 0xea, 0x98, 0xd0, 0x01, 0xc4, 0xfa, 0x14, 0x2a, 0xf0, 0xdb, 0x3e, 0x68,
0x2f, 0xfc, 0xe9, 0x14, 0xcc, 0xa4, 0x60, 0xbc, 0x53, 0xc7, 0xd2, 0x64, 0xf2, 0xe7, 0x39, 0xef,
0xd6, 0xd9, 0xf3, 0x64, 0x2d, 0x5b, 0x16, 0xd3, 0xc2, 0x20, 0x73, 0x04, 0x7d, 0x75, 0xa2, 0xe9,
0xab, 0x8d, 0xc2, 0x62, 0x0f, 0xa4, 0xe3, 0x85, 0xde, 0x97, 0x1a, 0xe8, 0x17, 0x0e, 0x57, 0xb9,
0x40, 0x2d, 0x7d, 0xad, 0x81, 0x15, 0xdd, 0x05, 0x97, 0xef, 0x50, 0x4b, 0xbf, 0xec, 0x91, 0xdc,
0xb2, 0x37, 0xf9, 0xdb, 0x06, 0x5b, 0x22, 0x24, 0x9b, 0x49, 0x0f, 0xfc, 0x6e, 0x6a, 0x0a, 0x9f,
0xe4, 0x53, 0x30, 0x13, 0x8f, 0xfe, 0xbe, 0xb8, 0xa0, 0xb2, 0xf9, 0xe8, 0x1f, 0x1a, 0x98, 0xb2,
0x23, 0x11, 0xc3, 0x91, 0x08, 0x1f, 0xd1, 0xef, 0x36, 0x31, 0x65, 0x3e, 0xa2, 0x03, 0x1d, 0x41,
0x56, 0xe1, 0xef, 0x35, 0xb1, 0x61, 0xb0, 0x0f, 0xb3, 0x86, 0xf9, 0xbe, 0xa7, 0xf3, 0xed, 0xdd,
0xef, 0xd1, 0x1f, 0xe0, 0xd7, 0x80, 0xe4, 0xf4, 0xd1, 0xf0, 0x1e, 0xfd, 0x61, 0x13, 0xaf, 0xda,
0x94, 0x52, 0x87, 0xdc, 0x15, 0xd3, 0xf0, 0xa3, 0x26, 0x8e, 0x53, 0xe5, 0xf6, 0xbc, 0x6a, 0x3f,
0x6e, 0x62, 0xee, 0x73, 0xdc, 0x37, 0x5b, 0x0f, 0x97, 0xe2, 0x4f, 0xbc, 0x55, 0xfc, 0xc8, 0xa3,
0x27, 0x47, 0x8e, 0xfe, 0xd4, 0xcb, 0x3d, 0xf9, 0xda, 0xd1, 0x3f, 0xb6, 0xf2, 0xfe, 0xaa, 0x60,
0x7f, 0x6a, 0x65, 0xf3, 0x71, 0xfe, 0x79, 0xa3, 0x7f, 0xf6, 0xf0, 0x93, 0x4f, 0x22, 0xfd, 0x4b,
0x0b, 0x1d, 0xab, 0xbe, 0x6a, 0x8a, 0xc7, 0x60, 0xe9, 0x5f, 0x5b, 0x1b, 0x1d, 0x32, 0xd7, 0xb3,
0xd2, 0xef, 0xdc, 0x39, 0x52, 0xef, 0x59, 0x49, 0x67, 0x70, 0x45, 0x6d, 0x69, 0x2d, 0xb7, 0xcf,
0x12, 0xf3, 0xe0, 0x63, 0x34, 0xd8, 0xd8, 0x22, 0x4b, 0x5d, 0x1d, 0x27, 0xbc, 0x68, 0x55, 0xbf,
0x66, 0xb3, 0xfd, 0x0c, 0x51, 0x96, 0xe6, 0x19, 0xdc, 0x73, 0xdb, 0x67, 0x10, 0xa6, 0xfe, 0x35,
0x08, 0x90, 0x44, 0x25, 0x74, 0x30, 0xa2, 0xb5, 0x8d, 0x57, 0x08, 0xed, 0x6a, 0x65, 0x85, 0x75,
0xa0, 0xc2, 0xc9, 0x1e, 0x9c, 0x82, 0xf4, 0x6f, 0x8e, 0x33, 0x5a, 0x8d, 0xe8, 0x8c, 0xff, 0x3a,
0x82, 0xff, 0x02, 0x66, 0x2f, 0xd3, 0x16, 0x3e, 0xff, 0xfe, 0x7f, 0xb8, 0x48, 0xc8, 0xf6, 0x29,
0x28, 0x97, 0x72, 0x29, 0x27, 0xb4, 0x8e, 0x74, 0x37, 0xb5, 0x4e, 0xc7, 0xe2, 0x8b, 0xfe, 0xed,
0xfb, 0x7a, 0x40, 0x5a, 0xd9, 0x33, 0x54, 0xb8, 0x96, 0x91, 0x87, 0xa0, 0x22, 0xe1, 0x8d, 0xe3,
0xf7, 0xc6, 0x43, 0xf9, 0x83, 0x19, 0x94, 0x42, 0x43, 0xc7, 0x8d, 0x9b, 0xfe, 0x43, 0x33, 0xa8,
0xa7, 0x1f, 0x2b, 0xa9, 0x79, 0xe4, 0xdf, 0xc2, 0x42, 0xf5, 0x90, 0x1b, 0xeb, 0x1f, 0x44, 0xfc,
0xfd, 0xe5, 0xf6, 0x8d, 0x8f, 0x27, 0xa2, 0x17, 0x4a, 0xb0, 0x8c, 0x79, 0x76, 0xeb, 0x65, 0xb2,
0x28, 0xf4, 0xf4, 0x8b, 0x3d, 0x32, 0x49, 0xb8, 0xd5, 0xea, 0xfa, 0x2f, 0xf6, 0x21, 0x7e, 0xb7,
0x0f, 0x83, 0xcf, 0xdc, 0x1e, 0x09, 0x37, 0x4e, 0x8f, 0xf1, 0xe3, 0x7d, 0x33, 0x13, 0x7b, 0x51,
0xe8, 0xfc, 0x74, 0x53, 0x28, 0x87, 0x75, 0x92, 0x37, 0xfd, 0xe7, 0xfc, 0x66, 0xf6, 0x39, 0x4f,
0x8e, 0xbf, 0x11, 0x04, 0xc7, 0xb3, 0x1e, 0xba, 0xfd, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x26,
0x27, 0x54, 0xc3, 0xc7, 0x0e, 0x00, 0x00,
// 2302 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0x49, 0x73, 0x24, 0x47,
0x15, 0x56, 0xa9, 0x7b, 0xd4, 0xea, 0xec, 0x92, 0x94, 0x93, 0x9a, 0x45, 0x1e, 0x8f, 0x6d, 0xb9,
0xb1, 0x8d, 0x10, 0x58, 0x03, 0x76, 0x04, 0x10, 0x44, 0x98, 0x08, 0xa9, 0x5b, 0xd2, 0x74, 0x58,
0x4b, 0x53, 0x2d, 0xd9, 0x0e, 0x22, 0x40, 0x91, 0xaa, 0x7a, 0x6a, 0x95, 0xa7, 0xaa, 0xb2, 0xc8,
0xcc, 0xd6, 0xa8, 0x39, 0x19, 0xf3, 0x07, 0xc0, 0x1c, 0xb8, 0xf2, 0x03, 0x80, 0x60, 0x35, 0x9c,
0x08, 0x76, 0x6c, 0xb6, 0x33, 0x9b, 0x81, 0x23, 0xdc, 0x59, 0xbd, 0x12, 0x2f, 0xb3, 0x36, 0xc9,
0x32, 0x1c, 0xb8, 0x75, 0x7e, 0x6f, 0x7f, 0xf9, 0x96, 0xca, 0x26, 0xae, 0x2f, 0xe2, 0x58, 0x24,
0x2b, 0xa9, 0x14, 0x5a, 0xb0, 0xf9, 0x38, 0x8c, 0x4e, 0x46, 0xca, 0x9e, 0x56, 0x2c, 0xe9, 0xc6,
0xe2, 0x50, 0x88, 0x61, 0x04, 0xb7, 0x0c, 0x78, 0x38, 0x3a, 0xba, 0x15, 0x80, 0xf2, 0x65, 0x98,
0x6a, 0x21, 0x2d, 0x63, 0xfb, 0x80, 0x4c, 0x0d, 0x34, 0xd7, 0x23, 0xc5, 0x9e, 0x20, 0x04, 0xa4,
0x14, 0xf2, 0xc0, 0x17, 0x01, 0x2c, 0x38, 0x8b, 0xce, 0xd2, 0xec, 0x63, 0xf7, 0xaf, 0x5c, 0xa0,
0x75, 0x65, 0x1d, 0xd9, 0x3a, 0x22, 0x00, 0xaf, 0x09, 0xf9, 0x4f, 0x76, 0x8d, 0x4c, 0x49, 0xe0,
0x4a, 0x24, 0x0b, 0x93, 0x8b, 0xce, 0x52, 0xd3, 0xcb, 0x4e, 0xed, 0x0f, 0x12, 0xf7, 0x49, 0x18,
0x3f, 0xc5, 0xa3, 0x11, 0xf4, 0x79, 0x28, 0x19, 0x25, 0xb5, 0x3b, 0x30, 0x36, 0xfa, 0x9b, 0x1e,
0xfe, 0x64, 0x57, 0xc8, 0xa5, 0x13, 0x24, 0x67, 0x82, 0xf6, 0xd0, 0x7e, 0x9c, 0xb4, 0x9e, 0x84,
0x71, 0x97, 0x6b, 0xfe, 0x0e, 0x62, 0x8c, 0xd4, 0x03, 0xae, 0xb9, 0x91, 0x72, 0x3d, 0xf3, 0xbb,
0x7d, 0x93, 0xd4, 0xd7, 0x22, 0x71, 0x58, 0xaa, 0x74, 0x0c, 0x31, 0x53, 0x79, 0x42, 0x68, 0x3f,
0xe2, 0x3e, 0x1c, 0x8b, 0x28, 0x00, 0x69, 0x5c, 0x42, 0xbd, 0x9a, 0x0f, 0x73, 0xbd, 0x9a, 0x0f,
0xd9, 0x87, 0x49, 0x5d, 0x8f, 0x53, 0xeb, 0xcd, 0xec, 0x63, 0x0f, 0x5d, 0x98, 0x81, 0x8a, 0x9a,
0xbd, 0x71, 0x0a, 0x9e, 0x91, 0xc0, 0x14, 0x18, 0x43, 0x6a, 0xa1, 0xb6, 0x58, 0x5b, 0x72, 0xbd,
0xec, 0xd4, 0xfe, 0xc4, 0x19, 0xbb, 0x9b, 0x52, 0x8c, 0x52, 0xd6, 0x23, 0x6e, 0x5a, 0x62, 0x6a,
0xc1, 0x59, 0xac, 0x2d, 0xb5, 0x1e, 0x7b, 0xf8, 0x7f, 0x59, 0x33, 0x4e, 0x7b, 0x67, 0x44, 0xdb,
0x8f, 0x92, 0xc6, 0x6a, 0x10, 0x48, 0x50, 0x8a, 0xcd, 0x92, 0xc9, 0x30, 0xcd, 0x82, 0x99, 0x0c,
0x53, 0xcc, 0x51, 0x2a, 0xa4, 0x36, 0xb1, 0xd4, 0x3c, 0xf3, 0xbb, 0xfd, 0x82, 0x43, 0x1a, 0xdb,
0x6a, 0xb8, 0xc6, 0x15, 0xb0, 0x0f, 0x91, 0xe9, 0x58, 0x0d, 0x0f, 0x4c, 0xbc, 0xf6, 0xc6, 0x6f,
0x5e, 0xe8, 0xc1, 0xb6, 0x1a, 0x9a, 0x38, 0x1b, 0xb1, 0xfd, 0x81, 0x09, 0x8e, 0xd5, 0xb0, 0xd7,
0xcd, 0x34, 0xdb, 0x03, 0xbb, 0x49, 0x9a, 0x3a, 0x8c, 0x41, 0x69, 0x1e, 0xa7, 0x0b, 0xb5, 0x45,
0x67, 0xa9, 0xee, 0x95, 0x00, 0xbb, 0x41, 0xa6, 0x95, 0x18, 0x49, 0x1f, 0x7a, 0xdd, 0x85, 0xba,
0x11, 0x2b, 0xce, 0xed, 0x27, 0x48, 0x73, 0x5b, 0x0d, 0x6f, 0x03, 0x0f, 0x40, 0xb2, 0xf7, 0x93,
0xfa, 0x21, 0x57, 0xd6, 0xa3, 0xd6, 0x3b, 0x7b, 0x84, 0x11, 0x78, 0x86, 0xb3, 0xfd, 0x49, 0xe2,
0x76, 0xb7, 0xb7, 0xfe, 0x0f, 0x0d, 0xe8, 0xba, 0x3a, 0xe6, 0x32, 0xd8, 0xe1, 0x71, 0x5e, 0x88,
0x25, 0xd0, 0x7e, 0xc5, 0x21, 0x6e, 0x5f, 0x86, 0x27, 0x61, 0x04, 0x43, 0x58, 0x3f, 0xd5, 0x6c,
0x83, 0xcc, 0x48, 0xb0, 0xde, 0x57, 0xb3, 0xf7, 0xe0, 0x85, 0x96, 0xbc, 0x8c, 0xd3, 0xa4, 0xd0,
0x95, 0x95, 0x13, 0xdb, 0x27, 0xac, 0xd0, 0x93, 0xe6, 0x06, 0xb2, 0xd2, 0x7b, 0xe4, 0xbf, 0x2a,
0x2b, 0xdc, 0xf1, 0x2e, 0xcb, 0xf3, 0x10, 0x5b, 0x21, 0xf3, 0x85, 0xda, 0x84, 0xc7, 0x70, 0x10,
0x26, 0x01, 0x9c, 0x9a, 0x2b, 0xb9, 0x54, 0xf2, 0x63, 0x68, 0x3d, 0x24, 0x2c, 0x7f, 0x6f, 0x9a,
0x34, 0x8b, 0xae, 0x66, 0x2d, 0xd2, 0x18, 0x8c, 0x7c, 0x1f, 0x94, 0xa2, 0x13, 0x6c, 0x9e, 0xcc,
0xed, 0x27, 0x70, 0x9a, 0x82, 0xaf, 0x21, 0x30, 0x3c, 0xd4, 0x61, 0x97, 0xc9, 0x4c, 0x47, 0x24,
0x09, 0xf8, 0x7a, 0x83, 0x87, 0x11, 0x04, 0x74, 0x92, 0x5d, 0x21, 0xb4, 0x0f, 0x32, 0x0e, 0x95,
0x0a, 0x45, 0xd2, 0x85, 0x24, 0x84, 0x80, 0xd6, 0xd8, 0x75, 0x32, 0xdf, 0x11, 0x51, 0x04, 0xbe,
0x0e, 0x45, 0xb2, 0x23, 0xf4, 0xfa, 0x69, 0xa8, 0xb4, 0xa2, 0x75, 0x54, 0xdb, 0x8b, 0x22, 0x18,
0xf2, 0x68, 0x55, 0x0e, 0x47, 0x31, 0x24, 0x9a, 0x5e, 0x42, 0x1d, 0x19, 0xd8, 0x0d, 0x63, 0x48,
0x50, 0x13, 0x6d, 0x54, 0x50, 0xe3, 0x2c, 0xe6, 0x8d, 0x4e, 0xb3, 0x7b, 0xc8, 0xd5, 0x0c, 0xad,
0x18, 0xe0, 0x31, 0xd0, 0x26, 0x9b, 0x23, 0xad, 0x8c, 0xb4, 0xb7, 0xdb, 0x7f, 0x92, 0x92, 0x8a,
0x06, 0x4f, 0xdc, 0xf5, 0xc0, 0x17, 0x32, 0xa0, 0xad, 0x8a, 0x0b, 0x4f, 0x81, 0xaf, 0x85, 0xec,
0x75, 0xa9, 0x8b, 0x0e, 0x67, 0xe0, 0x00, 0xb8, 0xf4, 0x8f, 0x3d, 0x50, 0xa3, 0x48, 0xd3, 0x19,
0x46, 0x89, 0xbb, 0x11, 0x46, 0xb0, 0x23, 0xf4, 0x86, 0x18, 0x25, 0x01, 0x9d, 0x65, 0xb3, 0x84,
0x6c, 0x83, 0xe6, 0x59, 0x06, 0xe6, 0xd0, 0x6c, 0x87, 0xfb, 0xc7, 0x90, 0x01, 0x94, 0x5d, 0x23,
0xac, 0xc3, 0x93, 0x44, 0xe8, 0x8e, 0x04, 0xae, 0x61, 0xc3, 0xf4, 0x2b, 0xbd, 0x8c, 0xee, 0x9c,
0xc1, 0xc3, 0x08, 0x28, 0x2b, 0xb9, 0xbb, 0x10, 0x41, 0xc1, 0x3d, 0x5f, 0x72, 0x67, 0x38, 0x72,
0x5f, 0x41, 0xe7, 0xd7, 0x46, 0x61, 0x14, 0x98, 0x94, 0xd8, 0x6b, 0xb9, 0x8a, 0x3e, 0x66, 0xce,
0xef, 0x6c, 0xf5, 0x06, 0x7b, 0xf4, 0x1a, 0xbb, 0x4a, 0x2e, 0x67, 0xc8, 0x36, 0x68, 0x19, 0xfa,
0x26, 0x79, 0xd7, 0xd1, 0xd5, 0xdd, 0x91, 0xde, 0x3d, 0xda, 0x86, 0x58, 0xc8, 0x31, 0x5d, 0xc0,
0x0b, 0x35, 0x9a, 0xf2, 0x2b, 0xa2, 0xf7, 0xa0, 0x85, 0xf5, 0x38, 0xd5, 0xe3, 0x32, 0xbd, 0xf4,
0x06, 0xbb, 0x97, 0x5c, 0xdf, 0x4f, 0x03, 0xae, 0xa1, 0x17, 0xe3, 0x30, 0xd9, 0xe3, 0xea, 0x0e,
0x86, 0x3b, 0x92, 0x40, 0xef, 0x65, 0x37, 0xc8, 0xb5, 0xb3, 0x77, 0x51, 0x24, 0xeb, 0x26, 0x0a,
0xda, 0x68, 0x3b, 0x12, 0x02, 0x48, 0x74, 0xc8, 0xa3, 0x5c, 0xf0, 0xbe, 0x52, 0xeb, 0xdb, 0x89,
0xf7, 0x23, 0xd1, 0x46, 0xfe, 0x76, 0xe2, 0x03, 0x6c, 0x81, 0x5c, 0xd9, 0x04, 0xfd, 0x76, 0xca,
0x22, 0x52, 0xb6, 0x42, 0x65, 0x48, 0xfb, 0x0a, 0xa4, 0xca, 0x29, 0x0f, 0x32, 0x46, 0x66, 0x37,
0x41, 0x23, 0x98, 0x63, 0x6d, 0xcc, 0x93, 0x75, 0xcf, 0x13, 0x11, 0xe4, 0xf0, 0xbb, 0x30, 0x07,
0x5d, 0x29, 0xd2, 0x2a, 0xf8, 0x10, 0x86, 0xb9, 0x9b, 0x82, 0xe4, 0x1a, 0x50, 0x47, 0x95, 0xf6,
0x30, 0xea, 0x19, 0x00, 0x66, 0xa0, 0x0a, 0x3f, 0x52, 0xc2, 0x55, 0xab, 0xef, 0xc6, 0x1a, 0xce,
0xb8, 0xb3, 0x8e, 0xcc, 0x49, 0x4b, 0x18, 0x75, 0x66, 0xa4, 0xe8, 0xea, 0x9c, 0xf8, 0x1e, 0x2c,
0x15, 0x2b, 0xb7, 0x29, 0x79, 0xa2, 0x73, 0x7c, 0x99, 0x3d, 0x48, 0xee, 0xf3, 0xe0, 0x48, 0x82,
0x3a, 0xee, 0x8b, 0x28, 0xf4, 0xc7, 0xbd, 0xe4, 0x48, 0x14, 0x25, 0x89, 0x2c, 0xef, 0x45, 0x4f,
0x30, 0x2d, 0x96, 0x9e, 0xc3, 0xef, 0xc3, 0x9c, 0xec, 0x08, 0x3d, 0xc0, 0x81, 0xb7, 0x65, 0x46,
0x28, 0x7d, 0x14, 0xad, 0xec, 0x08, 0x0f, 0xd2, 0x28, 0xf4, 0xf9, 0xea, 0x09, 0x0f, 0x23, 0x7e,
0x18, 0x01, 0x5d, 0x61, 0x8c, 0xcc, 0x74, 0xbb, 0x1e, 0x7c, 0x6a, 0x04, 0x4a, 0x7b, 0xdc, 0x07,
0xfa, 0x97, 0xc6, 0xf2, 0x33, 0x84, 0x98, 0xfa, 0xc1, 0x6f, 0x09, 0x40, 0x6d, 0xe5, 0x69, 0x47,
0x24, 0x40, 0x27, 0x98, 0x4b, 0xa6, 0xf7, 0x93, 0x50, 0xa9, 0x11, 0x04, 0xd4, 0xc1, 0xde, 0xe9,
0x25, 0x7d, 0x29, 0x86, 0xb8, 0xb6, 0xe8, 0x24, 0x52, 0x37, 0xc2, 0x24, 0x54, 0xc7, 0x66, 0x6a,
0x10, 0x32, 0x95, 0x35, 0x51, 0x7d, 0xf9, 0x79, 0x87, 0xb8, 0x03, 0x18, 0xe2, 0x84, 0xb0, 0xca,
0xaf, 0x10, 0x5a, 0x3d, 0x97, 0xea, 0x8b, 0xda, 0x75, 0x70, 0x82, 0x6d, 0x4a, 0x71, 0x37, 0x4c,
0x86, 0x74, 0x12, 0xb5, 0x0d, 0x80, 0x47, 0x46, 0x73, 0x8b, 0x34, 0x36, 0xa2, 0x91, 0x31, 0x53,
0x37, 0x46, 0xf1, 0x80, 0x6c, 0x97, 0x90, 0x84, 0x77, 0x9d, 0x42, 0x40, 0xa7, 0xd8, 0x0c, 0x69,
0xda, 0x0a, 0x47, 0x5a, 0x63, 0xf9, 0xa3, 0x64, 0xee, 0xdc, 0xca, 0x67, 0xd3, 0xa4, 0x9e, 0x99,
0xa6, 0xc4, 0x5d, 0x0b, 0x13, 0x2e, 0xc7, 0x76, 0x8c, 0xd0, 0x00, 0xdb, 0x6b, 0x23, 0x12, 0x5c,
0x67, 0x00, 0x2c, 0xbf, 0xe8, 0x9a, 0x9d, 0x6b, 0x04, 0x67, 0x48, 0x73, 0x3f, 0x09, 0xe0, 0x28,
0x4c, 0x20, 0xa0, 0x13, 0xa6, 0xbd, 0x6d, 0x63, 0x94, 0x7d, 0x16, 0x60, 0x06, 0xd1, 0x99, 0x0a,
0x06, 0xd8, 0xa3, 0xb7, 0xb9, 0xaa, 0x40, 0x47, 0x78, 0x45, 0x5d, 0xf3, 0x45, 0x77, 0x58, 0x15,
0x1f, 0x62, 0xdd, 0x0e, 0x8e, 0xc5, 0xdd, 0x12, 0x53, 0xf4, 0x18, 0x2d, 0x6d, 0x82, 0x1e, 0x8c,
0x95, 0x86, 0xb8, 0x23, 0x92, 0xa3, 0x70, 0xa8, 0x68, 0x88, 0x96, 0xb6, 0x04, 0x0f, 0x2a, 0xe2,
0xcf, 0x62, 0x91, 0x78, 0x10, 0x01, 0x57, 0x55, 0xad, 0x77, 0xcc, 0x80, 0x33, 0xae, 0xae, 0x46,
0x21, 0x57, 0x34, 0xc2, 0x50, 0xd0, 0x4b, 0x7b, 0x8c, 0xf1, 0x52, 0x57, 0x23, 0x0d, 0xd2, 0x9e,
0x13, 0x76, 0x85, 0xcc, 0x59, 0xfe, 0x3e, 0x97, 0x3a, 0x34, 0x4a, 0x5e, 0x72, 0x4c, 0xf9, 0x48,
0x91, 0x96, 0xd8, 0xcb, 0xb8, 0x4f, 0xdc, 0xdb, 0x5c, 0x95, 0xd0, 0xcf, 0x1d, 0x76, 0x8d, 0x5c,
0xce, 0x43, 0x2b, 0xf1, 0x5f, 0x38, 0x6c, 0x9e, 0xcc, 0x62, 0x68, 0x05, 0xa6, 0xe8, 0x2f, 0x0d,
0x88, 0x41, 0x54, 0xc0, 0x5f, 0x19, 0x0d, 0x59, 0x14, 0x15, 0xfc, 0xd7, 0xc6, 0x18, 0x6a, 0xc8,
0x8a, 0x48, 0xd1, 0x57, 0x1d, 0xf4, 0x34, 0x37, 0x96, 0xc1, 0xf4, 0x35, 0xc3, 0x88, 0x5a, 0x0b,
0xc6, 0xd7, 0x0d, 0x63, 0xa6, 0xb3, 0x40, 0xdf, 0x30, 0xe8, 0x6d, 0x9e, 0x04, 0xe2, 0xe8, 0xa8,
0x40, 0xdf, 0x74, 0xd8, 0x02, 0x99, 0x47, 0xf1, 0x35, 0x1e, 0xf1, 0xc4, 0x2f, 0xf9, 0xdf, 0x72,
0xd8, 0x55, 0x42, 0xcf, 0x99, 0x53, 0xf4, 0xb9, 0x49, 0x46, 0xf3, 0xfc, 0x9a, 0xe6, 0xa1, 0x5f,
0x9e, 0x34, 0xb9, 0xca, 0x18, 0x2d, 0xf6, 0x95, 0x49, 0x36, 0x6b, 0x93, 0x6e, 0xcf, 0x5f, 0x9d,
0x64, 0x2d, 0x32, 0xd5, 0x4b, 0x14, 0x48, 0x4d, 0x3f, 0x87, 0xf5, 0x3d, 0x65, 0x87, 0x25, 0xfd,
0x3c, 0xb6, 0xd1, 0x25, 0x53, 0xdf, 0xf4, 0x05, 0x5c, 0xc4, 0xcc, 0x03, 0x05, 0x49, 0x50, 0xe9,
0x1d, 0x45, 0xbf, 0x60, 0x24, 0xec, 0xa6, 0xa3, 0x7f, 0xab, 0x99, 0xd4, 0x54, 0xd7, 0xde, 0xdf,
0x6b, 0xe8, 0xc2, 0x26, 0xe8, 0xb2, 0x9d, 0xe9, 0x3f, 0x6a, 0xec, 0x06, 0xb9, 0x9a, 0x63, 0x66,
0x09, 0x15, 0x8d, 0xfc, 0xcf, 0x1a, 0xbb, 0x49, 0xae, 0xe3, 0x44, 0x2e, 0xea, 0x06, 0x85, 0x42,
0xa5, 0x43, 0x5f, 0xd1, 0x7f, 0xd5, 0xd8, 0xbd, 0xe4, 0xda, 0x26, 0xe8, 0xe2, 0x3e, 0x2a, 0xc4,
0x7f, 0xd7, 0xd8, 0x0c, 0x99, 0xf6, 0x70, 0x4b, 0xc1, 0x09, 0xd0, 0x57, 0x6b, 0x78, 0xa9, 0xf9,
0x31, 0x73, 0xe7, 0xb5, 0x1a, 0xa6, 0xfa, 0x69, 0xae, 0xfd, 0xe3, 0x6e, 0xdc, 0x39, 0xe6, 0x49,
0x02, 0x91, 0xa2, 0xaf, 0xd7, 0x30, 0xa1, 0x1e, 0xc4, 0xe2, 0x04, 0x2a, 0xf0, 0x1b, 0x26, 0x68,
0xc3, 0xfc, 0xb1, 0x11, 0xc8, 0x71, 0x41, 0x78, 0xb3, 0x86, 0x57, 0x63, 0xf9, 0xcf, 0x52, 0xde,
0xaa, 0xb1, 0xfb, 0xc8, 0x82, 0x1d, 0x16, 0xf9, 0xc5, 0x20, 0x71, 0x08, 0x38, 0x49, 0xe9, 0x73,
0xf5, 0x42, 0x63, 0x17, 0x22, 0xcd, 0x0b, 0xb9, 0xcf, 0xd4, 0xd1, 0x2f, 0x6c, 0xae, 0x72, 0x80,
0x2a, 0xfa, 0x7c, 0x1d, 0x6f, 0x74, 0x13, 0x74, 0x36, 0x43, 0x15, 0xfd, 0xac, 0x41, 0x32, 0xcd,
0x46, 0xe5, 0x6f, 0xea, 0x6c, 0x8e, 0x10, 0xdb, 0x93, 0x06, 0xf8, 0x6d, 0xae, 0x0a, 0x3f, 0x53,
0x4e, 0x40, 0x9a, 0x19, 0x4e, 0x7f, 0x57, 0x18, 0xa8, 0x4c, 0x3e, 0xfa, 0xfb, 0x3a, 0xa6, 0x6c,
0x2f, 0x8c, 0x61, 0x2f, 0xf4, 0xef, 0xd0, 0xaf, 0x35, 0x31, 0x65, 0x26, 0xa2, 0x1d, 0x11, 0x80,
0xbd, 0xe1, 0xaf, 0x37, 0xb1, 0x60, 0xb0, 0x0e, 0x6d, 0xc1, 0x7c, 0xc3, 0x9c, 0xb3, 0xe9, 0xdd,
0xeb, 0xd2, 0x6f, 0xe2, 0xe7, 0x12, 0xc9, 0xce, 0x7b, 0x83, 0x5d, 0xfa, 0xad, 0x26, 0x9a, 0x5a,
0x8d, 0x22, 0xe1, 0x73, 0x5d, 0x74, 0xc3, 0xb7, 0x9b, 0xd8, 0x4e, 0x15, 0xeb, 0xd9, 0xad, 0xbd,
0xd8, 0xc4, 0xdc, 0x67, 0xb8, 0x29, 0xb6, 0x2e, 0x0e, 0xc5, 0xef, 0x18, 0xad, 0xf8, 0x78, 0x43,
0x4f, 0xf6, 0x34, 0xfd, 0xae, 0xe1, 0x3b, 0xff, 0x05, 0x40, 0xff, 0xd0, 0xca, 0xea, 0xab, 0x82,
0xbd, 0xd2, 0xb2, 0xfd, 0x71, 0x76, 0xe5, 0xd3, 0x3f, 0x1a, 0xf8, 0xfc, 0x67, 0x02, 0xfd, 0x53,
0x0b, 0x1d, 0xab, 0x6e, 0x7a, 0xfc, 0xde, 0x55, 0xf4, 0xcf, 0x2d, 0xf4, 0xa0, 0xdc, 0xe9, 0xf4,
0xfb, 0x2e, 0x26, 0x2b, 0xdf, 0xe6, 0xf4, 0x07, 0x2e, 0x86, 0x79, 0x6e, 0x8f, 0xd3, 0x1f, 0xba,
0xe6, 0x3a, 0x8a, 0x0d, 0x4e, 0x7f, 0x54, 0x01, 0x90, 0x8b, 0xfe, 0xd8, 0x35, 0x13, 0xe8, 0xcc,
0xd6, 0xa6, 0x3f, 0x71, 0xd1, 0xb7, 0xf3, 0xfb, 0x9a, 0xfe, 0xd4, 0xb5, 0xd7, 0x5d, 0x6c, 0x6a,
0xfa, 0x33, 0x17, 0x3b, 0xe0, 0xe2, 0x1d, 0x4d, 0x5f, 0x32, 0xb6, 0xca, 0xed, 0x4c, 0x5f, 0x76,
0x97, 0xdb, 0xa4, 0xd1, 0x55, 0x91, 0xd9, 0x1b, 0x0d, 0x52, 0xeb, 0xaa, 0x88, 0x4e, 0xe0, 0x98,
0x5d, 0x13, 0x22, 0x5a, 0x3f, 0x4d, 0xe5, 0x53, 0x1f, 0xa0, 0xce, 0xf2, 0x1a, 0x99, 0xeb, 0x88,
0x38, 0xe5, 0x45, 0xbb, 0x99, 0x55, 0x61, 0x77, 0x0c, 0x04, 0xb6, 0x54, 0x26, 0x70, 0x56, 0xaf,
0x9f, 0x82, 0x3f, 0x32, 0x1b, 0xcd, 0xc1, 0x23, 0x0a, 0x61, 0x92, 0x03, 0x3a, 0xb9, 0xfc, 0x0c,
0xa1, 0x1d, 0x91, 0xa8, 0x50, 0x69, 0x48, 0xfc, 0xf1, 0x16, 0x9c, 0x40, 0x64, 0xf6, 0xa6, 0x96,
0x22, 0x19, 0xd2, 0x09, 0xf3, 0x24, 0x00, 0xf3, 0x69, 0x6f, 0xb7, 0xeb, 0x1a, 0x7e, 0xd6, 0x99,
0xef, 0xfe, 0x59, 0x42, 0xd6, 0x4f, 0x20, 0xd1, 0x23, 0x1e, 0x45, 0x63, 0x5a, 0xc3, 0x73, 0x67,
0xa4, 0xb4, 0x88, 0xc3, 0x4f, 0x9b, 0xfd, 0xfd, 0x45, 0x87, 0xb4, 0xec, 0x2a, 0x2d, 0x5c, 0xb3,
0xc7, 0x3e, 0x24, 0x41, 0x68, 0x94, 0xe3, 0x67, 0xab, 0x81, 0xb2, 0xa5, 0xef, 0x94, 0x4c, 0x03,
0xcd, 0xa5, 0xce, 0xdf, 0x17, 0x16, 0xea, 0x8a, 0xbb, 0x49, 0x24, 0x78, 0x60, 0xf6, 0x79, 0x21,
0xda, 0xe7, 0x52, 0x99, 0xa5, 0x8e, 0x5f, 0xf5, 0x99, 0x7e, 0x69, 0xe2, 0x09, 0xe8, 0xa5, 0x12,
0x2c, 0x63, 0x9e, 0x5a, 0xbe, 0x9f, 0xb8, 0xd5, 0x97, 0x99, 0xf1, 0xbc, 0x5c, 0x77, 0x13, 0xcb,
0xaf, 0x38, 0xb8, 0x40, 0xce, 0x3f, 0xad, 0x68, 0xe5, 0x25, 0xb8, 0x1a, 0x45, 0xf6, 0x85, 0x54,
0x20, 0xb6, 0xe0, 0x6c, 0x04, 0x05, 0x88, 0x45, 0x47, 0x71, 0x98, 0xcf, 0x56, 0x24, 0x35, 0x48,
0x5a, 0x3b, 0xc3, 0xe6, 0x01, 0xc7, 0x00, 0xaa, 0x10, 0xf6, 0xad, 0x7d, 0x17, 0x55, 0xb8, 0xcc,
0xfa, 0xa1, 0x53, 0x67, 0xd0, 0xac, 0x00, 0x68, 0xe3, 0x8c, 0x37, 0xd9, 0x5e, 0x98, 0x3e, 0x03,
0x66, 0xfb, 0xa1, 0xf9, 0x11, 0x41, 0x2e, 0x17, 0x4f, 0xce, 0x03, 0x38, 0xd5, 0x07, 0xe2, 0xf0,
0x59, 0xf6, 0xc0, 0x8a, 0xfd, 0xcb, 0x68, 0x25, 0xff, 0xcb, 0x68, 0x65, 0x1b, 0x94, 0xe2, 0x43,
0xd8, 0x4d, 0xcd, 0x02, 0x5d, 0xf8, 0x6b, 0xc3, 0xbc, 0xa9, 0x2f, 0x7e, 0xe9, 0x56, 0xdf, 0xc8,
0xde, 0x5c, 0x5a, 0x39, 0xed, 0x1e, 0x3e, 0xbb, 0xf6, 0x34, 0x99, 0x0d, 0x45, 0x2e, 0x37, 0x94,
0xa9, 0xbf, 0xd6, 0xea, 0x18, 0xb9, 0x3e, 0xea, 0xe8, 0x3b, 0x1f, 0x7f, 0x7c, 0x18, 0xea, 0xe3,
0xd1, 0x21, 0x6a, 0xbb, 0x65, 0xd9, 0x1e, 0x0d, 0x45, 0xf6, 0xeb, 0x56, 0x98, 0x68, 0x6c, 0xee,
0xc8, 0xfe, 0x99, 0x75, 0xcb, 0x5a, 0x4c, 0x0f, 0xbf, 0xe4, 0x38, 0x87, 0x53, 0x06, 0x7a, 0xfc,
0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x1f, 0x15, 0x60, 0x12, 0x13, 0x00, 0x00,
}

View File

@ -281,4 +281,17 @@ message ClearCredUsersCacheRequest {
message CredentialInfo {
string username = 1;
string encrypted_password = 2;
string tenant = 3;
bool is_super = 4;
}
message ListPolicyRequest {
// Not useful for now
common.MsgBase base = 1;
}
message ListPolicyResponse {
// Contain error_code and reason
common.Status status = 1;
repeated string policy_infos = 2;
}

View File

@ -2363,6 +2363,8 @@ var xxx_messageInfo_ClearCredUsersCacheRequest proto.InternalMessageInfo
type CredentialInfo struct {
Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
EncryptedPassword string `protobuf:"bytes,2,opt,name=encrypted_password,json=encryptedPassword,proto3" json:"encrypted_password,omitempty"`
Tenant string `protobuf:"bytes,3,opt,name=tenant,proto3" json:"tenant,omitempty"`
IsSuper bool `protobuf:"varint,4,opt,name=is_super,json=isSuper,proto3" json:"is_super,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -2407,6 +2409,108 @@ func (m *CredentialInfo) GetEncryptedPassword() string {
return ""
}
func (m *CredentialInfo) GetTenant() string {
if m != nil {
return m.Tenant
}
return ""
}
func (m *CredentialInfo) GetIsSuper() bool {
if m != nil {
return m.IsSuper
}
return false
}
type ListPolicyRequest struct {
// Not useful for now
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListPolicyRequest) Reset() { *m = ListPolicyRequest{} }
func (m *ListPolicyRequest) String() string { return proto.CompactTextString(m) }
func (*ListPolicyRequest) ProtoMessage() {}
func (*ListPolicyRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{33}
}
func (m *ListPolicyRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListPolicyRequest.Unmarshal(m, b)
}
func (m *ListPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListPolicyRequest.Marshal(b, m, deterministic)
}
func (m *ListPolicyRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListPolicyRequest.Merge(m, src)
}
func (m *ListPolicyRequest) XXX_Size() int {
return xxx_messageInfo_ListPolicyRequest.Size(m)
}
func (m *ListPolicyRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListPolicyRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListPolicyRequest proto.InternalMessageInfo
func (m *ListPolicyRequest) GetBase() *commonpb.MsgBase {
if m != nil {
return m.Base
}
return nil
}
type ListPolicyResponse struct {
// Contain error_code and reason
Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
PolicyInfos []string `protobuf:"bytes,2,rep,name=policy_infos,json=policyInfos,proto3" json:"policy_infos,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListPolicyResponse) Reset() { *m = ListPolicyResponse{} }
func (m *ListPolicyResponse) String() string { return proto.CompactTextString(m) }
func (*ListPolicyResponse) ProtoMessage() {}
func (*ListPolicyResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{34}
}
func (m *ListPolicyResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListPolicyResponse.Unmarshal(m, b)
}
func (m *ListPolicyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListPolicyResponse.Marshal(b, m, deterministic)
}
func (m *ListPolicyResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListPolicyResponse.Merge(m, src)
}
func (m *ListPolicyResponse) XXX_Size() int {
return xxx_messageInfo_ListPolicyResponse.Size(m)
}
func (m *ListPolicyResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListPolicyResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListPolicyResponse proto.InternalMessageInfo
func (m *ListPolicyResponse) GetStatus() *commonpb.Status {
if m != nil {
return m.Status
}
return nil
}
func (m *ListPolicyResponse) GetPolicyInfos() []string {
if m != nil {
return m.PolicyInfos
}
return nil
}
func init() {
proto.RegisterEnum("milvus.proto.internal.StateCode", StateCode_name, StateCode_value)
proto.RegisterEnum("milvus.proto.internal.InsertDataVersion", InsertDataVersion_name, InsertDataVersion_value)
@ -2443,140 +2547,146 @@ func init() {
proto.RegisterType((*ChannelTimeTickMsg)(nil), "milvus.proto.internal.ChannelTimeTickMsg")
proto.RegisterType((*ClearCredUsersCacheRequest)(nil), "milvus.proto.internal.ClearCredUsersCacheRequest")
proto.RegisterType((*CredentialInfo)(nil), "milvus.proto.internal.CredentialInfo")
proto.RegisterType((*ListPolicyRequest)(nil), "milvus.proto.internal.ListPolicyRequest")
proto.RegisterType((*ListPolicyResponse)(nil), "milvus.proto.internal.ListPolicyResponse")
}
func init() { proto.RegisterFile("internal.proto", fileDescriptor_41f4a519b878ee3b) }
var fileDescriptor_41f4a519b878ee3b = []byte{
// 2069 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x73, 0x1c, 0x47,
0x15, 0xcf, 0xec, 0xac, 0xb4, 0xbb, 0x6f, 0x57, 0xab, 0x55, 0x5b, 0x76, 0xc6, 0xb2, 0x93, 0x28,
0x93, 0x00, 0xc2, 0x26, 0xb6, 0x51, 0x42, 0x92, 0x02, 0x0a, 0xc7, 0xd2, 0x82, 0xd9, 0x72, 0x6c,
0xc4, 0xc8, 0x71, 0x15, 0x70, 0x98, 0xea, 0xdd, 0x69, 0xad, 0x06, 0xcf, 0x4c, 0x8f, 0xba, 0x7b,
0x24, 0xaf, 0x4f, 0x1c, 0x38, 0x41, 0xc1, 0x8d, 0x0b, 0x55, 0x70, 0xe6, 0x1b, 0x70, 0x83, 0x2a,
0x4e, 0x39, 0x71, 0xe2, 0xc2, 0x57, 0xa1, 0x38, 0x50, 0xfd, 0x67, 0xfe, 0xec, 0x6a, 0x25, 0x4b,
0x4a, 0x85, 0x38, 0x55, 0xb9, 0x4d, 0xbf, 0xf7, 0xba, 0xfb, 0xf5, 0xfb, 0xfd, 0xde, 0xeb, 0xd7,
0xbb, 0xd0, 0x0d, 0x13, 0x41, 0x58, 0x82, 0xa3, 0x5b, 0x29, 0xa3, 0x82, 0xa2, 0xcb, 0x71, 0x18,
0x1d, 0x66, 0x5c, 0x8f, 0x6e, 0xe5, 0xca, 0xb5, 0xce, 0x88, 0xc6, 0x31, 0x4d, 0xb4, 0x78, 0xad,
0xc3, 0x47, 0xfb, 0x24, 0xc6, 0x7a, 0xe4, 0xfe, 0xcd, 0x82, 0xa5, 0x6d, 0x1a, 0xa7, 0x34, 0x21,
0x89, 0x18, 0x24, 0x7b, 0x14, 0x5d, 0x81, 0xc5, 0x84, 0x06, 0x64, 0xd0, 0x77, 0xac, 0x75, 0x6b,
0xc3, 0xf6, 0xcc, 0x08, 0x21, 0xa8, 0x33, 0x1a, 0x11, 0xa7, 0xb6, 0x6e, 0x6d, 0xb4, 0x3c, 0xf5,
0x8d, 0xee, 0x02, 0x70, 0x81, 0x05, 0xf1, 0x47, 0x34, 0x20, 0x8e, 0xbd, 0x6e, 0x6d, 0x74, 0x37,
0xd7, 0x6f, 0xcd, 0xf5, 0xe2, 0xd6, 0xae, 0x34, 0xdc, 0xa6, 0x01, 0xf1, 0x5a, 0x3c, 0xff, 0x44,
0x1f, 0x01, 0x90, 0x67, 0x82, 0x61, 0x3f, 0x4c, 0xf6, 0xa8, 0x53, 0x5f, 0xb7, 0x37, 0xda, 0x9b,
0x6f, 0x4e, 0x2f, 0x60, 0x9c, 0x7f, 0x40, 0x26, 0x4f, 0x70, 0x94, 0x91, 0x1d, 0x1c, 0x32, 0xaf,
0xa5, 0x26, 0x49, 0x77, 0xdd, 0x7f, 0x5b, 0xb0, 0x5c, 0x1c, 0x40, 0xed, 0xc1, 0xd1, 0x77, 0x61,
0x41, 0x6d, 0xa1, 0x4e, 0xd0, 0xde, 0x7c, 0xfb, 0x04, 0x8f, 0xa6, 0xce, 0xed, 0xe9, 0x29, 0xe8,
0x13, 0xb8, 0xc4, 0xb3, 0xe1, 0x28, 0x57, 0xf9, 0x4a, 0xca, 0x9d, 0x9a, 0x72, 0xed, 0x6c, 0x2b,
0xa1, 0xea, 0x02, 0xc6, 0xa5, 0x77, 0x61, 0x51, 0xae, 0x94, 0x71, 0x15, 0xa5, 0xf6, 0xe6, 0xb5,
0xb9, 0x87, 0xdc, 0x55, 0x26, 0x9e, 0x31, 0x75, 0xaf, 0xc1, 0xd5, 0xfb, 0x44, 0xcc, 0x9c, 0xce,
0x23, 0x07, 0x19, 0xe1, 0xc2, 0x28, 0x1f, 0x87, 0x31, 0x79, 0x1c, 0x8e, 0x9e, 0x6e, 0xef, 0xe3,
0x24, 0x21, 0x51, 0xae, 0x7c, 0x0d, 0xae, 0xdd, 0x27, 0x6a, 0x42, 0xc8, 0x45, 0x38, 0xe2, 0x33,
0xea, 0xcb, 0x70, 0xe9, 0x3e, 0x11, 0xfd, 0x60, 0x46, 0xfc, 0x04, 0x9a, 0x8f, 0x24, 0xd8, 0x92,
0x06, 0xef, 0x43, 0x03, 0x07, 0x01, 0x23, 0x9c, 0x9b, 0x28, 0x5e, 0x9f, 0xeb, 0xf1, 0x3d, 0x6d,
0xe3, 0xe5, 0xc6, 0xf3, 0x68, 0xe2, 0xfe, 0x12, 0x60, 0x90, 0x84, 0x62, 0x07, 0x33, 0x1c, 0xf3,
0x13, 0x09, 0xd6, 0x87, 0x0e, 0x17, 0x98, 0x09, 0x3f, 0x55, 0x76, 0x26, 0xe4, 0x67, 0x60, 0x43,
0x5b, 0x4d, 0xd3, 0xab, 0xbb, 0x3f, 0x03, 0xd8, 0x15, 0x2c, 0x4c, 0xc6, 0x1f, 0x87, 0x5c, 0xc8,
0xbd, 0x0e, 0xa5, 0x9d, 0x3c, 0x84, 0xbd, 0xd1, 0xf2, 0xcc, 0xa8, 0x02, 0x47, 0xed, 0xec, 0x70,
0xdc, 0x85, 0x76, 0x1e, 0xee, 0x87, 0x7c, 0x8c, 0xee, 0x40, 0x7d, 0x88, 0x39, 0x39, 0x35, 0x3c,
0x0f, 0xf9, 0x78, 0x0b, 0x73, 0xe2, 0x29, 0x4b, 0xf7, 0x37, 0x36, 0xbc, 0xba, 0xcd, 0x88, 0x22,
0x7f, 0x14, 0x91, 0x91, 0x08, 0x69, 0x62, 0x62, 0x7f, 0xfe, 0xd5, 0xd0, 0xab, 0xd0, 0x08, 0x86,
0x7e, 0x82, 0xe3, 0x3c, 0xd8, 0x8b, 0xc1, 0xf0, 0x11, 0x8e, 0x09, 0xfa, 0x3a, 0x74, 0x47, 0xc5,
0xfa, 0x52, 0xa2, 0x38, 0xd7, 0xf2, 0x66, 0xa4, 0xe8, 0x6d, 0x58, 0x4a, 0x31, 0x13, 0x61, 0x61,
0x56, 0x57, 0x66, 0xd3, 0x42, 0x09, 0x68, 0x30, 0x1c, 0xf4, 0x9d, 0x05, 0x05, 0x96, 0xfa, 0x46,
0x2e, 0x74, 0xca, 0xb5, 0x06, 0x7d, 0x67, 0x51, 0xe9, 0xa6, 0x64, 0x68, 0x1d, 0xda, 0xc5, 0x42,
0x83, 0xbe, 0xd3, 0x50, 0x26, 0x55, 0x91, 0x04, 0x47, 0xd7, 0x22, 0xa7, 0xb9, 0x6e, 0x6d, 0x74,
0x3c, 0x33, 0x42, 0x77, 0xe0, 0xd2, 0x61, 0xc8, 0x44, 0x86, 0x23, 0xc3, 0x4f, 0xe9, 0x07, 0x77,
0x5a, 0x0a, 0xc1, 0x79, 0x2a, 0xb4, 0x09, 0xab, 0xe9, 0xfe, 0x84, 0x87, 0xa3, 0x99, 0x29, 0xa0,
0xa6, 0xcc, 0xd5, 0xb9, 0xff, 0xb0, 0xe0, 0x72, 0x9f, 0xd1, 0xf4, 0xa5, 0x80, 0x22, 0x0f, 0x72,
0xfd, 0x94, 0x20, 0x2f, 0x1c, 0x0f, 0xb2, 0xfb, 0xbb, 0x1a, 0x5c, 0xd1, 0x8c, 0xda, 0xc9, 0x03,
0xfb, 0x39, 0x9c, 0xe2, 0x1b, 0xb0, 0x5c, 0xee, 0xaa, 0x0d, 0xe6, 0x1f, 0xe3, 0x6b, 0xd0, 0x2d,
0x00, 0xd6, 0x76, 0xff, 0x5f, 0x4a, 0xb9, 0xbf, 0xad, 0xc1, 0xaa, 0x04, 0xf5, 0xab, 0x68, 0xc8,
0x68, 0xfc, 0xd9, 0x02, 0xa4, 0xd9, 0x71, 0x2f, 0x0a, 0x31, 0xff, 0x22, 0x63, 0xb1, 0x0a, 0x0b,
0x58, 0xfa, 0x60, 0x42, 0xa0, 0x07, 0x2e, 0x87, 0x9e, 0x44, 0xeb, 0xf3, 0xf2, 0xae, 0xd8, 0xd4,
0xae, 0x6e, 0xfa, 0x27, 0x0b, 0x56, 0xee, 0x45, 0x82, 0xb0, 0x97, 0x34, 0x28, 0x7f, 0xaf, 0xe5,
0xa8, 0x0d, 0x92, 0x80, 0x3c, 0xfb, 0x22, 0x1d, 0x7c, 0x0d, 0x60, 0x2f, 0x24, 0x51, 0x50, 0x65,
0x6f, 0x4b, 0x49, 0x3e, 0x13, 0x73, 0x1d, 0x68, 0xa8, 0x45, 0x0a, 0xd6, 0xe6, 0x43, 0xd9, 0x03,
0xe8, 0x7e, 0xd0, 0xf4, 0x00, 0xcd, 0x33, 0xf7, 0x00, 0x6a, 0x9a, 0xe9, 0x01, 0xfe, 0x59, 0x87,
0xa5, 0x41, 0xc2, 0x09, 0x13, 0x17, 0x0f, 0xde, 0x75, 0x68, 0xf1, 0x7d, 0xcc, 0xd4, 0x41, 0x4d,
0xf8, 0x4a, 0x41, 0x35, 0xb4, 0xf6, 0x8b, 0x42, 0x5b, 0x3f, 0x63, 0x71, 0x58, 0x38, 0xad, 0x38,
0x2c, 0x9e, 0x12, 0xe2, 0xc6, 0x8b, 0x8b, 0x43, 0xf3, 0xf8, 0xed, 0x2b, 0x0f, 0x48, 0xc6, 0xb1,
0x6c, 0x5a, 0xfb, 0x4e, 0x4b, 0xe9, 0x4b, 0x01, 0x7a, 0x1d, 0x40, 0x84, 0x31, 0xe1, 0x02, 0xc7,
0xa9, 0xbe, 0x47, 0xeb, 0x5e, 0x45, 0x22, 0xef, 0x6e, 0x46, 0x8f, 0x06, 0x7d, 0xee, 0xb4, 0xd7,
0x6d, 0xd9, 0xc4, 0xe9, 0x11, 0x7a, 0x0f, 0x9a, 0x8c, 0x1e, 0xf9, 0x01, 0x16, 0xd8, 0xe9, 0x28,
0xf0, 0xae, 0xce, 0x0d, 0xf6, 0x56, 0x44, 0x87, 0x5e, 0x83, 0xd1, 0xa3, 0x3e, 0x16, 0x18, 0xdd,
0x85, 0xb6, 0x62, 0x00, 0xd7, 0x13, 0x97, 0xd4, 0xc4, 0xd7, 0xa7, 0x27, 0x9a, 0x67, 0xcb, 0x8f,
0xa4, 0x9d, 0x9c, 0xe4, 0x69, 0x6a, 0x72, 0xb5, 0xc0, 0x55, 0x68, 0x26, 0x59, 0xec, 0x33, 0x7a,
0xc4, 0x9d, 0xee, 0xba, 0xb5, 0x51, 0xf7, 0x1a, 0x49, 0x16, 0x7b, 0xf4, 0x88, 0xa3, 0x2d, 0x68,
0x1c, 0x12, 0xc6, 0x43, 0x9a, 0x38, 0xcb, 0xea, 0x81, 0xb2, 0x71, 0x42, 0x13, 0xaf, 0x19, 0x23,
0x97, 0x7b, 0xa2, 0xed, 0xbd, 0x7c, 0xa2, 0xfb, 0xaf, 0x3a, 0x2c, 0xed, 0x12, 0xcc, 0x46, 0xfb,
0x17, 0x27, 0xd4, 0x2a, 0x2c, 0x30, 0x72, 0x30, 0xe8, 0x2b, 0x32, 0xd9, 0x9e, 0x1e, 0x14, 0xf8,
0xda, 0xa7, 0xe0, 0x5b, 0x9f, 0x83, 0xaf, 0x0b, 0x9d, 0x0a, 0x98, 0xdc, 0x59, 0x50, 0x28, 0x4c,
0xc9, 0x50, 0x0f, 0xec, 0x80, 0x47, 0x8a, 0x3a, 0x2d, 0x4f, 0x7e, 0xa2, 0x9b, 0xb0, 0x92, 0x46,
0x78, 0x44, 0xf6, 0x69, 0x14, 0x10, 0xe6, 0x8f, 0x19, 0xcd, 0x52, 0x45, 0x9f, 0x8e, 0xd7, 0xab,
0x28, 0xee, 0x4b, 0x39, 0xfa, 0x00, 0x9a, 0x01, 0x8f, 0x7c, 0x31, 0x49, 0x89, 0xe2, 0x4f, 0xf7,
0x84, 0x63, 0xf6, 0x79, 0xf4, 0x78, 0x92, 0x12, 0xaf, 0x11, 0xe8, 0x0f, 0x74, 0x07, 0x56, 0x39,
0x61, 0x21, 0x8e, 0xc2, 0xe7, 0x24, 0xf0, 0xc9, 0xb3, 0x94, 0xf9, 0x69, 0x84, 0x13, 0x45, 0xb2,
0x8e, 0x87, 0x4a, 0xdd, 0x0f, 0x9f, 0xa5, 0x6c, 0x27, 0xc2, 0x09, 0xda, 0x80, 0x1e, 0xcd, 0x44,
0x9a, 0x09, 0xdf, 0xd0, 0x20, 0x0c, 0x14, 0xe7, 0x6c, 0xaf, 0xab, 0xe5, 0x0a, 0x75, 0x3e, 0x08,
0xd0, 0x37, 0xa1, 0x27, 0x18, 0x3e, 0x24, 0x91, 0x5f, 0x90, 0xd1, 0x69, 0x2b, 0xc0, 0x97, 0xb5,
0xfc, 0x71, 0x2e, 0x46, 0xb7, 0xe1, 0xd2, 0x38, 0xc3, 0x0c, 0x27, 0x82, 0x90, 0x8a, 0x75, 0x47,
0x59, 0xa3, 0x42, 0x55, 0x4e, 0xb8, 0x09, 0x2b, 0xd2, 0x8c, 0x66, 0xa2, 0x62, 0xbe, 0xa4, 0xcc,
0x7b, 0x46, 0x51, 0x1a, 0x77, 0xa1, 0x96, 0x1c, 0x28, 0xae, 0xd9, 0x5e, 0x2d, 0x39, 0x90, 0x40,
0x0a, 0x9a, 0x3e, 0x55, 0x1c, 0xb3, 0x3d, 0xf5, 0x2d, 0x93, 0x28, 0x26, 0x82, 0x85, 0x23, 0x19,
0x16, 0xa7, 0xa7, 0x70, 0xa8, 0x48, 0xdc, 0xff, 0xda, 0x25, 0xad, 0x78, 0x16, 0x09, 0x7e, 0x01,
0x5a, 0x5d, 0xe4, 0x25, 0x53, 0x72, 0xd1, 0xae, 0x72, 0xf1, 0x0d, 0x68, 0x6b, 0xe7, 0x34, 0xe6,
0xf5, 0x59, 0x7f, 0xa5, 0x81, 0xcc, 0xb2, 0x83, 0x8c, 0xb0, 0x90, 0x70, 0x53, 0xf6, 0x21, 0xc9,
0xe2, 0x9f, 0x6a, 0x09, 0xba, 0x04, 0x0b, 0x82, 0xa6, 0xfe, 0xd3, 0xbc, 0x5c, 0x09, 0x9a, 0x3e,
0x40, 0xdf, 0x87, 0x35, 0x4e, 0x70, 0x44, 0x02, 0xbf, 0x28, 0x2f, 0xdc, 0xe7, 0xea, 0xd8, 0x24,
0x70, 0x1a, 0x0a, 0x66, 0x47, 0x5b, 0xec, 0x16, 0x06, 0xbb, 0x46, 0x2f, 0x51, 0x1c, 0xe9, 0xb6,
0x7d, 0x6a, 0x5a, 0x53, 0x75, 0xf6, 0xa8, 0x54, 0x15, 0x13, 0x3e, 0x04, 0x67, 0x1c, 0xd1, 0x21,
0x8e, 0xfc, 0x63, 0xbb, 0xaa, 0x27, 0x84, 0xed, 0x5d, 0xd1, 0xfa, 0xdd, 0x99, 0x2d, 0xe5, 0xf1,
0x78, 0x14, 0x8e, 0x48, 0xe0, 0x0f, 0x23, 0x3a, 0x74, 0x40, 0xd1, 0x15, 0xb4, 0x48, 0xd6, 0x2b,
0x49, 0x53, 0x63, 0x20, 0xc3, 0x30, 0xa2, 0x59, 0x22, 0x14, 0xf9, 0x6c, 0xaf, 0xab, 0xe5, 0x8f,
0xb2, 0x78, 0x5b, 0x4a, 0xd1, 0x5b, 0xb0, 0x64, 0x2c, 0xe9, 0xde, 0x1e, 0x27, 0x42, 0xb1, 0xce,
0xf6, 0x3a, 0x5a, 0xf8, 0x13, 0x25, 0x73, 0xff, 0x68, 0xc3, 0xb2, 0x27, 0xa3, 0x4b, 0x0e, 0xc9,
0x97, 0xa9, 0xae, 0x9c, 0x94, 0xdf, 0x8b, 0xe7, 0xca, 0xef, 0xc6, 0x99, 0xf3, 0xbb, 0x79, 0xae,
0xfc, 0x6e, 0x9d, 0x2f, 0xbf, 0x61, 0x7e, 0x7e, 0xbb, 0x7f, 0x99, 0x02, 0xe7, 0x25, 0xc8, 0xce,
0x1b, 0x60, 0x87, 0x81, 0x6e, 0x15, 0xdb, 0x9b, 0xce, 0xdc, 0xbb, 0x71, 0xd0, 0xe7, 0x9e, 0x34,
0x9a, 0xbd, 0x4f, 0x17, 0xce, 0x7d, 0x9f, 0xfe, 0x00, 0xae, 0x1d, 0xcf, 0x59, 0x66, 0xc2, 0x11,
0x38, 0x8b, 0x0a, 0xbb, 0xab, 0xb3, 0x49, 0x9b, 0xc7, 0x2b, 0x40, 0xdf, 0x86, 0xd5, 0x4a, 0xd6,
0x96, 0x13, 0x1b, 0xfa, 0x0d, 0x5f, 0xea, 0xca, 0x29, 0xa7, 0xe5, 0x6d, 0xf3, 0xb4, 0xbc, 0x75,
0x3f, 0xb5, 0x61, 0xa9, 0x4f, 0x22, 0x22, 0xc8, 0x57, 0xed, 0xde, 0x89, 0xed, 0xde, 0xb7, 0x00,
0x85, 0x89, 0x78, 0xff, 0x3d, 0x3f, 0x65, 0x61, 0x8c, 0xd9, 0xc4, 0x7f, 0x4a, 0x26, 0x79, 0x41,
0xec, 0x29, 0xcd, 0x8e, 0x56, 0x3c, 0x20, 0x13, 0xfe, 0xc2, 0xf6, 0xaf, 0xda, 0x6f, 0xe9, 0x0a,
0x58, 0xf4, 0x5b, 0xdf, 0x83, 0xce, 0xd4, 0x16, 0x9d, 0x17, 0x10, 0xb6, 0x9d, 0x96, 0xfb, 0xba,
0xff, 0xb1, 0xa0, 0xf5, 0x31, 0xc5, 0x81, 0x7a, 0xf9, 0x5c, 0x10, 0xc6, 0xa2, 0xa9, 0xad, 0xcd,
0x36, 0xb5, 0xd7, 0xa1, 0x7c, 0xbc, 0x18, 0x20, 0x2b, 0xaf, 0x99, 0xca, 0xab, 0xa4, 0x3e, 0xfd,
0x2a, 0x79, 0x03, 0xda, 0xa1, 0x74, 0xc8, 0x4f, 0xb1, 0xd8, 0xd7, 0x35, 0xb1, 0xe5, 0x81, 0x12,
0xed, 0x48, 0x89, 0x7c, 0xb6, 0xe4, 0x06, 0xea, 0xd9, 0xb2, 0x78, 0xe6, 0x67, 0x8b, 0x59, 0x44,
0x3d, 0x5b, 0x7e, 0x6d, 0x01, 0xa8, 0x83, 0xcb, 0x7a, 0x70, 0x7c, 0x51, 0xeb, 0x22, 0x8b, 0xca,
0x62, 0xad, 0x90, 0x22, 0x11, 0x16, 0x65, 0x52, 0x71, 0x13, 0x1c, 0x24, 0x51, 0xd3, 0x2a, 0x93,
0x50, 0xdc, 0xfd, 0xbd, 0x05, 0xa0, 0xaa, 0x82, 0x76, 0x63, 0x96, 0x7e, 0xd6, 0xe9, 0x0f, 0xba,
0xda, 0x74, 0xe8, 0xb6, 0xf2, 0xd0, 0xc9, 0xda, 0x26, 0x1f, 0xe2, 0x73, 0xce, 0x50, 0xe9, 0xc0,
0xf3, 0xc3, 0x9b, 0xe8, 0xaa, 0x6f, 0xf7, 0x0f, 0x16, 0x74, 0x8c, 0x77, 0xda, 0xa5, 0x29, 0x94,
0xad, 0x59, 0x94, 0x55, 0x1b, 0x13, 0x53, 0x36, 0xf1, 0x79, 0xf8, 0x9c, 0x18, 0x87, 0x40, 0x8b,
0x76, 0xc3, 0xe7, 0x64, 0x8a, 0xbc, 0xf6, 0x34, 0x79, 0x6f, 0xc2, 0x0a, 0x23, 0x23, 0x92, 0x88,
0x68, 0xe2, 0xc7, 0x34, 0x08, 0xf7, 0x42, 0x12, 0x28, 0x36, 0x34, 0xbd, 0x5e, 0xae, 0x78, 0x68,
0xe4, 0xee, 0xa7, 0x16, 0x74, 0x65, 0xe7, 0x33, 0x79, 0x44, 0x03, 0xa2, 0x3d, 0x3b, 0x3f, 0x63,
0x3f, 0x52, 0x67, 0x31, 0xe1, 0xd1, 0x3f, 0x79, 0xbf, 0x75, 0xd2, 0x3f, 0x28, 0x95, 0x18, 0x78,
0x4d, 0x4e, 0xc6, 0x7a, 0xcf, 0x2d, 0x53, 0xec, 0xcf, 0x14, 0xe2, 0x12, 0x58, 0x53, 0xef, 0x75,
0x88, 0x7f, 0x65, 0x41, 0xfb, 0x21, 0x1f, 0xef, 0x50, 0xae, 0xea, 0x05, 0x7a, 0x13, 0x3a, 0xa6,
0x46, 0xeb, 0x62, 0x65, 0xa9, 0x64, 0x69, 0x8f, 0xca, 0x1f, 0x50, 0xe5, 0x2d, 0x15, 0xf3, 0xb1,
0x41, 0xbc, 0xe3, 0xe9, 0x01, 0x5a, 0x83, 0x66, 0xcc, 0xc7, 0xea, 0x01, 0x61, 0x32, 0xac, 0x18,
0x4b, 0xd8, 0xca, 0x7b, 0xb7, 0xae, 0xee, 0xdd, 0x52, 0xe0, 0xfe, 0xd5, 0x02, 0x64, 0x7e, 0xa0,
0xfd, 0x4c, 0xbf, 0xb2, 0x2b, 0xc2, 0x56, 0x7f, 0x04, 0xae, 0xa9, 0x74, 0x9d, 0x92, 0xcd, 0xd4,
0x37, 0xfb, 0x58, 0x7d, 0xbb, 0x09, 0x2b, 0x01, 0xd9, 0xc3, 0x59, 0x54, 0x6d, 0x15, 0xb4, 0xcb,
0x3d, 0xa3, 0x28, 0x5b, 0x85, 0xeb, 0xb0, 0xb6, 0x1d, 0x11, 0xcc, 0xb6, 0x19, 0x09, 0x3e, 0xe1,
0x84, 0xf1, 0x6d, 0x3c, 0xda, 0xcf, 0xef, 0x22, 0xf7, 0x17, 0xd0, 0x95, 0x0a, 0x92, 0x88, 0x10,
0x47, 0xea, 0xaf, 0x95, 0x35, 0x68, 0x66, 0x5c, 0xc2, 0x51, 0x04, 0xb6, 0x18, 0xa3, 0x77, 0x00,
0x91, 0x64, 0xc4, 0x26, 0xa9, 0x4c, 0xd6, 0x14, 0x73, 0x7e, 0x44, 0x59, 0x60, 0x2e, 0xa4, 0x95,
0x42, 0xb3, 0x63, 0x14, 0x37, 0x3e, 0x84, 0x56, 0xf1, 0xbf, 0x1a, 0xea, 0x41, 0x67, 0x90, 0x84,
0x42, 0x35, 0x5f, 0x61, 0x32, 0xee, 0xbd, 0x82, 0xda, 0xd0, 0xf8, 0x31, 0xc1, 0x91, 0xd8, 0x9f,
0xf4, 0x2c, 0xd4, 0x81, 0xe6, 0xbd, 0x61, 0x42, 0x59, 0x8c, 0xa3, 0x5e, 0xed, 0xc6, 0x26, 0xac,
0x1c, 0x7b, 0xf0, 0x4a, 0x13, 0x8f, 0x1e, 0xc9, 0x58, 0x06, 0xbd, 0x57, 0xd0, 0x32, 0xb4, 0xb7,
0x69, 0x94, 0xc5, 0x89, 0x16, 0x58, 0x5b, 0x1f, 0xfc, 0xfc, 0x3b, 0xe3, 0x50, 0xec, 0x67, 0x43,
0x19, 0xf8, 0xdb, 0x1a, 0x89, 0x77, 0x42, 0x6a, 0xbe, 0x6e, 0xe7, 0x24, 0xbb, 0xad, 0xc0, 0x29,
0x86, 0xe9, 0x70, 0xb8, 0xa8, 0x24, 0xef, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xe6, 0x2f, 0x82,
0x53, 0xb1, 0x1c, 0x00, 0x00,
// 2137 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x73, 0x1c, 0x47,
0x15, 0xcf, 0xec, 0xac, 0xb4, 0xbb, 0x6f, 0x57, 0xab, 0x55, 0x5b, 0x76, 0xc6, 0xb2, 0x93, 0xc8,
0x93, 0x00, 0xc2, 0x26, 0xb6, 0x51, 0x42, 0x92, 0x02, 0x0a, 0xc7, 0xd2, 0x06, 0xb3, 0xe5, 0x0f,
0xc4, 0xc8, 0x71, 0x15, 0x5c, 0xa6, 0x7a, 0x77, 0x5a, 0xab, 0xc6, 0x33, 0xd3, 0xe3, 0xee, 0x1e,
0xc9, 0xeb, 0x13, 0x07, 0x4e, 0x50, 0x70, 0xe3, 0x42, 0x15, 0x9c, 0xf9, 0x0f, 0xb8, 0x41, 0x15,
0xa7, 0x9c, 0x38, 0x71, 0xe1, 0x5f, 0xa1, 0x38, 0x50, 0xfd, 0x31, 0xbb, 0xb3, 0xab, 0x95, 0x2c,
0x29, 0x15, 0xe2, 0x54, 0xe5, 0x36, 0xfd, 0xde, 0xeb, 0xee, 0xf7, 0xf1, 0x7b, 0xaf, 0xdf, 0xdb,
0x85, 0x36, 0x4d, 0x25, 0xe1, 0x29, 0x8e, 0x6f, 0x66, 0x9c, 0x49, 0x86, 0x2e, 0x26, 0x34, 0x3e,
0xc8, 0x85, 0x59, 0xdd, 0x2c, 0x98, 0x6b, 0xad, 0x01, 0x4b, 0x12, 0x96, 0x1a, 0xf2, 0x5a, 0x4b,
0x0c, 0xf6, 0x49, 0x82, 0xcd, 0xca, 0xff, 0x9b, 0x03, 0x4b, 0xdb, 0x2c, 0xc9, 0x58, 0x4a, 0x52,
0xd9, 0x4b, 0xf7, 0x18, 0xba, 0x04, 0x8b, 0x29, 0x8b, 0x48, 0xaf, 0xeb, 0x39, 0xeb, 0xce, 0x86,
0x1b, 0xd8, 0x15, 0x42, 0x50, 0xe5, 0x2c, 0x26, 0x5e, 0x65, 0xdd, 0xd9, 0x68, 0x04, 0xfa, 0x1b,
0xdd, 0x01, 0x10, 0x12, 0x4b, 0x12, 0x0e, 0x58, 0x44, 0x3c, 0x77, 0xdd, 0xd9, 0x68, 0x6f, 0xae,
0xdf, 0x9c, 0xab, 0xc5, 0xcd, 0x5d, 0x25, 0xb8, 0xcd, 0x22, 0x12, 0x34, 0x44, 0xf1, 0x89, 0x3e,
0x06, 0x20, 0xcf, 0x25, 0xc7, 0x21, 0x4d, 0xf7, 0x98, 0x57, 0x5d, 0x77, 0x37, 0x9a, 0x9b, 0xd7,
0xa6, 0x0f, 0xb0, 0xca, 0xdf, 0x27, 0xa3, 0x27, 0x38, 0xce, 0xc9, 0x0e, 0xa6, 0x3c, 0x68, 0xe8,
0x4d, 0x4a, 0x5d, 0xff, 0xdf, 0x0e, 0x2c, 0x8f, 0x0d, 0xd0, 0x77, 0x08, 0xf4, 0x7d, 0x58, 0xd0,
0x57, 0x68, 0x0b, 0x9a, 0x9b, 0xef, 0x1c, 0xa3, 0xd1, 0x94, 0xdd, 0x81, 0xd9, 0x82, 0x3e, 0x85,
0x0b, 0x22, 0xef, 0x0f, 0x0a, 0x56, 0xa8, 0xa9, 0xc2, 0xab, 0x68, 0xd5, 0x4e, 0x77, 0x12, 0x2a,
0x1f, 0x60, 0x55, 0x7a, 0x0f, 0x16, 0xd5, 0x49, 0xb9, 0xd0, 0x5e, 0x6a, 0x6e, 0x5e, 0x99, 0x6b,
0xe4, 0xae, 0x16, 0x09, 0xac, 0xa8, 0x7f, 0x05, 0x2e, 0xdf, 0x23, 0x72, 0xc6, 0xba, 0x80, 0x3c,
0xcb, 0x89, 0x90, 0x96, 0xf9, 0x98, 0x26, 0xe4, 0x31, 0x1d, 0x3c, 0xdd, 0xde, 0xc7, 0x69, 0x4a,
0xe2, 0x82, 0xf9, 0x06, 0x5c, 0xb9, 0x47, 0xf4, 0x06, 0x2a, 0x24, 0x1d, 0x88, 0x19, 0xf6, 0x45,
0xb8, 0x70, 0x8f, 0xc8, 0x6e, 0x34, 0x43, 0x7e, 0x02, 0xf5, 0x47, 0x2a, 0xd8, 0x0a, 0x06, 0x1f,
0x40, 0x0d, 0x47, 0x11, 0x27, 0x42, 0x58, 0x2f, 0x5e, 0x9d, 0xab, 0xf1, 0x5d, 0x23, 0x13, 0x14,
0xc2, 0xf3, 0x60, 0xe2, 0xff, 0x12, 0xa0, 0x97, 0x52, 0xb9, 0x83, 0x39, 0x4e, 0xc4, 0xb1, 0x00,
0xeb, 0x42, 0x4b, 0x48, 0xcc, 0x65, 0x98, 0x69, 0x39, 0xeb, 0xf2, 0x53, 0xa0, 0xa1, 0xa9, 0xb7,
0x99, 0xd3, 0xfd, 0x9f, 0x03, 0xec, 0x4a, 0x4e, 0xd3, 0xe1, 0x03, 0x2a, 0xa4, 0xba, 0xeb, 0x40,
0xc9, 0x29, 0x23, 0xdc, 0x8d, 0x46, 0x60, 0x57, 0xa5, 0x70, 0x54, 0x4e, 0x1f, 0x8e, 0x3b, 0xd0,
0x2c, 0xdc, 0xfd, 0x50, 0x0c, 0xd1, 0x6d, 0xa8, 0xf6, 0xb1, 0x20, 0x27, 0xba, 0xe7, 0xa1, 0x18,
0x6e, 0x61, 0x41, 0x02, 0x2d, 0xe9, 0xff, 0xc6, 0x85, 0xd7, 0xb7, 0x39, 0xd1, 0xe0, 0x8f, 0x63,
0x32, 0x90, 0x94, 0xa5, 0xd6, 0xf7, 0x67, 0x3f, 0x0d, 0xbd, 0x0e, 0xb5, 0xa8, 0x1f, 0xa6, 0x38,
0x29, 0x9c, 0xbd, 0x18, 0xf5, 0x1f, 0xe1, 0x84, 0xa0, 0x6f, 0x42, 0x7b, 0x30, 0x3e, 0x5f, 0x51,
0x34, 0xe6, 0x1a, 0xc1, 0x0c, 0x15, 0xbd, 0x03, 0x4b, 0x19, 0xe6, 0x92, 0x8e, 0xc5, 0xaa, 0x5a,
0x6c, 0x9a, 0xa8, 0x02, 0x1a, 0xf5, 0x7b, 0x5d, 0x6f, 0x41, 0x07, 0x4b, 0x7f, 0x23, 0x1f, 0x5a,
0x93, 0xb3, 0x7a, 0x5d, 0x6f, 0x51, 0xf3, 0xa6, 0x68, 0x68, 0x1d, 0x9a, 0xe3, 0x83, 0x7a, 0x5d,
0xaf, 0xa6, 0x45, 0xca, 0x24, 0x15, 0x1c, 0x53, 0x8b, 0xbc, 0xfa, 0xba, 0xb3, 0xd1, 0x0a, 0xec,
0x0a, 0xdd, 0x86, 0x0b, 0x07, 0x94, 0xcb, 0x1c, 0xc7, 0x16, 0x9f, 0x4a, 0x0f, 0xe1, 0x35, 0x74,
0x04, 0xe7, 0xb1, 0xd0, 0x26, 0xac, 0x66, 0xfb, 0x23, 0x41, 0x07, 0x33, 0x5b, 0x40, 0x6f, 0x99,
0xcb, 0xf3, 0xff, 0xe1, 0xc0, 0xc5, 0x2e, 0x67, 0xd9, 0x2b, 0x11, 0x8a, 0xc2, 0xc9, 0xd5, 0x13,
0x9c, 0xbc, 0x70, 0xd4, 0xc9, 0xfe, 0xef, 0x2a, 0x70, 0xc9, 0x20, 0x6a, 0xa7, 0x70, 0xec, 0x17,
0x60, 0xc5, 0xb7, 0x60, 0x79, 0x72, 0xab, 0x11, 0x98, 0x6f, 0xc6, 0x37, 0xa0, 0x3d, 0x0e, 0xb0,
0x91, 0xfb, 0xff, 0x42, 0xca, 0xff, 0x6d, 0x05, 0x56, 0x55, 0x50, 0xbf, 0xf6, 0x86, 0xf2, 0xc6,
0x9f, 0x1d, 0x40, 0x06, 0x1d, 0x77, 0x63, 0x8a, 0xc5, 0x97, 0xe9, 0x8b, 0x55, 0x58, 0xc0, 0x4a,
0x07, 0xeb, 0x02, 0xb3, 0xf0, 0x05, 0x74, 0x54, 0xb4, 0xbe, 0x28, 0xed, 0xc6, 0x97, 0xba, 0xe5,
0x4b, 0xff, 0xe4, 0xc0, 0xca, 0xdd, 0x58, 0x12, 0xfe, 0x8a, 0x3a, 0xe5, 0xef, 0x95, 0x22, 0x6a,
0xbd, 0x34, 0x22, 0xcf, 0xbf, 0x4c, 0x05, 0xdf, 0x00, 0xd8, 0xa3, 0x24, 0x8e, 0xca, 0xe8, 0x6d,
0x68, 0xca, 0xe7, 0x42, 0xae, 0x07, 0x35, 0x7d, 0xc8, 0x18, 0xb5, 0xc5, 0x52, 0xf5, 0x00, 0xa6,
0x1f, 0xb4, 0x3d, 0x40, 0xfd, 0xd4, 0x3d, 0x80, 0xde, 0x66, 0x7b, 0x80, 0x7f, 0x56, 0x61, 0xa9,
0x97, 0x0a, 0xc2, 0xe5, 0xf9, 0x9d, 0x77, 0x15, 0x1a, 0x62, 0x1f, 0x73, 0x6d, 0xa8, 0x75, 0xdf,
0x84, 0x50, 0x76, 0xad, 0xfb, 0x32, 0xd7, 0x56, 0x4f, 0x59, 0x1c, 0x16, 0x4e, 0x2a, 0x0e, 0x8b,
0x27, 0xb8, 0xb8, 0xf6, 0xf2, 0xe2, 0x50, 0x3f, 0xfa, 0xfa, 0x2a, 0x03, 0xc9, 0x30, 0x51, 0x4d,
0x6b, 0xd7, 0x6b, 0x68, 0xfe, 0x84, 0x80, 0xde, 0x04, 0x90, 0x34, 0x21, 0x42, 0xe2, 0x24, 0x33,
0xef, 0x68, 0x35, 0x28, 0x51, 0xd4, 0xdb, 0xcd, 0xd9, 0x61, 0xaf, 0x2b, 0xbc, 0xe6, 0xba, 0xab,
0x9a, 0x38, 0xb3, 0x42, 0xef, 0x43, 0x9d, 0xb3, 0xc3, 0x30, 0xc2, 0x12, 0x7b, 0x2d, 0x1d, 0xbc,
0xcb, 0x73, 0x9d, 0xbd, 0x15, 0xb3, 0x7e, 0x50, 0xe3, 0xec, 0xb0, 0x8b, 0x25, 0x46, 0x77, 0xa0,
0xa9, 0x11, 0x20, 0xcc, 0xc6, 0x25, 0xbd, 0xf1, 0xcd, 0xe9, 0x8d, 0x76, 0x6c, 0xf9, 0xb1, 0x92,
0x53, 0x9b, 0x02, 0x03, 0x4d, 0xa1, 0x0f, 0xb8, 0x0c, 0xf5, 0x34, 0x4f, 0x42, 0xce, 0x0e, 0x85,
0xd7, 0x5e, 0x77, 0x36, 0xaa, 0x41, 0x2d, 0xcd, 0x93, 0x80, 0x1d, 0x0a, 0xb4, 0x05, 0xb5, 0x03,
0xc2, 0x05, 0x65, 0xa9, 0xb7, 0xac, 0x07, 0x94, 0x8d, 0x63, 0x9a, 0x78, 0x83, 0x18, 0x75, 0xdc,
0x13, 0x23, 0x1f, 0x14, 0x1b, 0xfd, 0x7f, 0x55, 0x61, 0x69, 0x97, 0x60, 0x3e, 0xd8, 0x3f, 0x3f,
0xa0, 0x56, 0x61, 0x81, 0x93, 0x67, 0xbd, 0xae, 0x06, 0x93, 0x1b, 0x98, 0xc5, 0x38, 0xbe, 0xee,
0x09, 0xf1, 0xad, 0xce, 0x89, 0xaf, 0x0f, 0xad, 0x52, 0x30, 0x85, 0xb7, 0xa0, 0xa3, 0x30, 0x45,
0x43, 0x1d, 0x70, 0x23, 0x11, 0x6b, 0xe8, 0x34, 0x02, 0xf5, 0x89, 0x6e, 0xc0, 0x4a, 0x16, 0xe3,
0x01, 0xd9, 0x67, 0x71, 0x44, 0x78, 0x38, 0xe4, 0x2c, 0xcf, 0x34, 0x7c, 0x5a, 0x41, 0xa7, 0xc4,
0xb8, 0xa7, 0xe8, 0xe8, 0x43, 0xa8, 0x47, 0x22, 0x0e, 0xe5, 0x28, 0x23, 0x1a, 0x3f, 0xed, 0x63,
0xcc, 0xec, 0x8a, 0xf8, 0xf1, 0x28, 0x23, 0x41, 0x2d, 0x32, 0x1f, 0xe8, 0x36, 0xac, 0x0a, 0xc2,
0x29, 0x8e, 0xe9, 0x0b, 0x12, 0x85, 0xe4, 0x79, 0xc6, 0xc3, 0x2c, 0xc6, 0xa9, 0x06, 0x59, 0x2b,
0x40, 0x13, 0xde, 0x27, 0xcf, 0x33, 0xbe, 0x13, 0xe3, 0x14, 0x6d, 0x40, 0x87, 0xe5, 0x32, 0xcb,
0x65, 0x68, 0x61, 0x40, 0x23, 0x8d, 0x39, 0x37, 0x68, 0x1b, 0xba, 0x8e, 0xba, 0xe8, 0x45, 0xe8,
0xdb, 0xd0, 0x91, 0x1c, 0x1f, 0x90, 0x38, 0x1c, 0x83, 0xd1, 0x6b, 0xea, 0x80, 0x2f, 0x1b, 0xfa,
0xe3, 0x82, 0x8c, 0x6e, 0xc1, 0x85, 0x61, 0x8e, 0x39, 0x4e, 0x25, 0x21, 0x25, 0xe9, 0x96, 0x96,
0x46, 0x63, 0xd6, 0x64, 0xc3, 0x0d, 0x58, 0x51, 0x62, 0x2c, 0x97, 0x25, 0xf1, 0x25, 0x2d, 0xde,
0xb1, 0x8c, 0x89, 0x70, 0x1b, 0x2a, 0xe9, 0x33, 0x8d, 0x35, 0x37, 0xa8, 0xa4, 0xcf, 0x54, 0x20,
0x25, 0xcb, 0x9e, 0x6a, 0x8c, 0xb9, 0x81, 0xfe, 0x56, 0x49, 0x94, 0x10, 0xc9, 0xe9, 0x40, 0xb9,
0xc5, 0xeb, 0xe8, 0x38, 0x94, 0x28, 0xfe, 0x7f, 0xdd, 0x09, 0xac, 0x44, 0x1e, 0x4b, 0x71, 0x0e,
0x58, 0x9d, 0x67, 0x92, 0x99, 0x60, 0xd1, 0x2d, 0x63, 0xf1, 0x2d, 0x68, 0x1a, 0xe5, 0x4c, 0xcc,
0xab, 0xb3, 0xfa, 0x2a, 0x01, 0x95, 0x65, 0xcf, 0x72, 0xc2, 0x29, 0x11, 0xb6, 0xec, 0x43, 0x9a,
0x27, 0x3f, 0x33, 0x14, 0x74, 0x01, 0x16, 0x24, 0xcb, 0xc2, 0xa7, 0x45, 0xb9, 0x92, 0x2c, 0xbb,
0x8f, 0x7e, 0x08, 0x6b, 0x82, 0xe0, 0x98, 0x44, 0xe1, 0xb8, 0xbc, 0x88, 0x50, 0x68, 0xb3, 0x49,
0xe4, 0xd5, 0x74, 0x98, 0x3d, 0x23, 0xb1, 0x3b, 0x16, 0xd8, 0xb5, 0x7c, 0x15, 0xc5, 0x81, 0x69,
0xdb, 0xa7, 0xb6, 0xd5, 0x75, 0x67, 0x8f, 0x26, 0xac, 0xf1, 0x86, 0x8f, 0xc0, 0x1b, 0xc6, 0xac,
0x8f, 0xe3, 0xf0, 0xc8, 0xad, 0x7a, 0x84, 0x70, 0x83, 0x4b, 0x86, 0xbf, 0x3b, 0x73, 0xa5, 0x32,
0x4f, 0xc4, 0x74, 0x40, 0xa2, 0xb0, 0x1f, 0xb3, 0xbe, 0x07, 0x1a, 0xae, 0x60, 0x48, 0xaa, 0x5e,
0x29, 0x98, 0x5a, 0x01, 0xe5, 0x86, 0x01, 0xcb, 0x53, 0xa9, 0xc1, 0xe7, 0x06, 0x6d, 0x43, 0x7f,
0x94, 0x27, 0xdb, 0x8a, 0x8a, 0xde, 0x86, 0x25, 0x2b, 0xc9, 0xf6, 0xf6, 0x04, 0x91, 0x1a, 0x75,
0x6e, 0xd0, 0x32, 0xc4, 0x9f, 0x6a, 0x9a, 0xff, 0x47, 0x17, 0x96, 0x03, 0xe5, 0x5d, 0x72, 0x40,
0xbe, 0x4a, 0x75, 0xe5, 0xb8, 0xfc, 0x5e, 0x3c, 0x53, 0x7e, 0xd7, 0x4e, 0x9d, 0xdf, 0xf5, 0x33,
0xe5, 0x77, 0xe3, 0x6c, 0xf9, 0x0d, 0xf3, 0xf3, 0xdb, 0xff, 0xcb, 0x54, 0x70, 0x5e, 0x81, 0xec,
0xbc, 0x0e, 0x2e, 0x8d, 0x4c, 0xab, 0xd8, 0xdc, 0xf4, 0xe6, 0xbe, 0x8d, 0xbd, 0xae, 0x08, 0x94,
0xd0, 0xec, 0x7b, 0xba, 0x70, 0xe6, 0xf7, 0xf4, 0x47, 0x70, 0xe5, 0x68, 0xce, 0x72, 0xeb, 0x8e,
0xc8, 0x5b, 0xd4, 0xb1, 0xbb, 0x3c, 0x9b, 0xb4, 0x85, 0xbf, 0x22, 0xf4, 0x5d, 0x58, 0x2d, 0x65,
0xed, 0x64, 0x63, 0xcd, 0xcc, 0xf0, 0x13, 0xde, 0x64, 0xcb, 0x49, 0x79, 0x5b, 0x3f, 0x29, 0x6f,
0xfd, 0xcf, 0x5c, 0x58, 0xea, 0x92, 0x98, 0x48, 0xf2, 0x75, 0xbb, 0x77, 0x6c, 0xbb, 0xf7, 0x1d,
0x40, 0x34, 0x95, 0x1f, 0xbc, 0x1f, 0x66, 0x9c, 0x26, 0x98, 0x8f, 0xc2, 0xa7, 0x64, 0x54, 0x14,
0xc4, 0x8e, 0xe6, 0xec, 0x18, 0xc6, 0x7d, 0x32, 0x12, 0x2f, 0x6d, 0xff, 0xca, 0xfd, 0x96, 0xa9,
0x80, 0xe3, 0x7e, 0xeb, 0x07, 0xd0, 0x9a, 0xba, 0xa2, 0xf5, 0x12, 0xc0, 0x36, 0xb3, 0xc9, 0xbd,
0xfe, 0x7f, 0x1c, 0x68, 0x3c, 0x60, 0x38, 0xd2, 0x93, 0xcf, 0x39, 0xc3, 0x38, 0x6e, 0x6a, 0x2b,
0xb3, 0x4d, 0xed, 0x55, 0x98, 0x0c, 0x2f, 0x36, 0x90, 0xa5, 0x69, 0xa6, 0x34, 0x95, 0x54, 0xa7,
0xa7, 0x92, 0xb7, 0xa0, 0x49, 0x95, 0x42, 0x61, 0x86, 0xe5, 0xbe, 0xa9, 0x89, 0x8d, 0x00, 0x34,
0x69, 0x47, 0x51, 0xd4, 0xd8, 0x52, 0x08, 0xe8, 0xb1, 0x65, 0xf1, 0xd4, 0x63, 0x8b, 0x3d, 0x44,
0x8f, 0x2d, 0xbf, 0x76, 0x00, 0xb4, 0xe1, 0xaa, 0x1e, 0x1c, 0x3d, 0xd4, 0x39, 0xcf, 0xa1, 0xaa,
0x58, 0xeb, 0x48, 0x91, 0x18, 0xcb, 0x49, 0x52, 0x09, 0xeb, 0x1c, 0xa4, 0xa2, 0x66, 0x58, 0x36,
0xa1, 0x84, 0xff, 0x7b, 0x07, 0x40, 0x57, 0x05, 0xa3, 0xc6, 0x2c, 0xfc, 0x9c, 0x93, 0x07, 0xba,
0xca, 0xb4, 0xeb, 0xb6, 0x0a, 0xd7, 0xa9, 0xda, 0xa6, 0x06, 0xf1, 0x39, 0x36, 0x94, 0x3a, 0xf0,
0xc2, 0x78, 0xeb, 0x5d, 0xfd, 0xed, 0xff, 0xc1, 0x81, 0x96, 0xd5, 0xce, 0xa8, 0x34, 0x15, 0x65,
0x67, 0x36, 0xca, 0xba, 0x8d, 0x49, 0x18, 0x1f, 0x85, 0x82, 0xbe, 0x20, 0x56, 0x21, 0x30, 0xa4,
0x5d, 0xfa, 0x82, 0x4c, 0x81, 0xd7, 0x9d, 0x06, 0xef, 0x0d, 0x58, 0xe1, 0x64, 0x40, 0x52, 0x19,
0x8f, 0xc2, 0x84, 0x45, 0x74, 0x8f, 0x92, 0x48, 0xa3, 0xa1, 0x1e, 0x74, 0x0a, 0xc6, 0x43, 0x4b,
0xf7, 0x3f, 0x73, 0xa0, 0xad, 0x3a, 0x9f, 0xd1, 0x23, 0x16, 0x11, 0xa3, 0xd9, 0xd9, 0x11, 0xfb,
0xb1, 0xb6, 0xc5, 0xba, 0xc7, 0xfc, 0xe4, 0xfd, 0xf6, 0x71, 0xff, 0xa0, 0x94, 0x7c, 0x10, 0xd4,
0x05, 0x19, 0x9a, 0x3b, 0xb7, 0x6c, 0xb1, 0x3f, 0x95, 0x8b, 0x27, 0x81, 0xb5, 0xf5, 0xde, 0xb8,
0xf8, 0x57, 0x0e, 0x34, 0x1f, 0x8a, 0xe1, 0x0e, 0x13, 0xba, 0x5e, 0xa0, 0x6b, 0xd0, 0xb2, 0x35,
0xda, 0x14, 0x2b, 0x47, 0x27, 0x4b, 0x73, 0x30, 0xf9, 0x01, 0x55, 0xbd, 0x52, 0x89, 0x18, 0xda,
0x88, 0xb7, 0x02, 0xb3, 0x40, 0x6b, 0x50, 0x4f, 0xc4, 0x50, 0x0f, 0x10, 0x36, 0xc3, 0xc6, 0x6b,
0x15, 0xb6, 0xc9, 0xbb, 0x5b, 0xd5, 0xef, 0xee, 0x84, 0xe0, 0xff, 0xd5, 0x01, 0x64, 0x7f, 0xa0,
0xfd, 0x5c, 0xbf, 0xb2, 0x6b, 0xc0, 0x96, 0x7f, 0x04, 0xae, 0xe8, 0x74, 0x9d, 0xa2, 0xcd, 0xd4,
0x37, 0xf7, 0x48, 0x7d, 0xbb, 0x01, 0x2b, 0x11, 0xd9, 0xc3, 0x79, 0x5c, 0x6e, 0x15, 0x8c, 0xca,
0x1d, 0xcb, 0x98, 0xb4, 0x0a, 0x57, 0x61, 0x6d, 0x3b, 0x26, 0x98, 0x6f, 0x73, 0x12, 0x7d, 0x2a,
0x08, 0x17, 0xdb, 0x78, 0xb0, 0x5f, 0xbc, 0x45, 0x2a, 0x9d, 0xda, 0x8a, 0x43, 0x52, 0x49, 0x71,
0xac, 0xff, 0x5b, 0x59, 0x83, 0x7a, 0x2e, 0x54, 0x3c, 0xc6, 0x9e, 0x1d, 0xaf, 0xd1, 0xbb, 0x80,
0x48, 0x3a, 0xe0, 0xa3, 0x4c, 0x65, 0x6b, 0x86, 0x85, 0x38, 0x64, 0x3c, 0xb2, 0x2f, 0xd2, 0xca,
0x98, 0xb3, 0x63, 0x19, 0x6a, 0x0e, 0x97, 0x24, 0xc5, 0xa9, 0x2c, 0x1e, 0x26, 0xb3, 0x52, 0x18,
0xa7, 0x22, 0x14, 0x79, 0x46, 0xb8, 0xc5, 0x6f, 0x8d, 0x8a, 0x5d, 0xb5, 0xf4, 0x3f, 0x81, 0x95,
0x07, 0x54, 0xc8, 0x1d, 0x16, 0xd3, 0xc1, 0xe8, 0xdc, 0x2f, 0xa6, 0x1f, 0x03, 0x2a, 0x1f, 0x23,
0x32, 0x96, 0x4e, 0x35, 0x3c, 0xce, 0xe9, 0x1b, 0x9e, 0x6b, 0xd0, 0xca, 0xf4, 0x31, 0xfa, 0x6f,
0xc0, 0x22, 0x62, 0x4d, 0x43, 0x53, 0x1e, 0x13, 0xd7, 0x3f, 0x82, 0xc6, 0xf8, 0x0f, 0x44, 0xd4,
0x81, 0x56, 0x2f, 0xa5, 0x52, 0x77, 0x99, 0x34, 0x1d, 0x76, 0x5e, 0x43, 0x4d, 0xa8, 0xfd, 0x84,
0xe0, 0x58, 0xee, 0x8f, 0x3a, 0x0e, 0x6a, 0x41, 0xfd, 0x6e, 0x3f, 0x65, 0x3c, 0xc1, 0x71, 0xa7,
0x72, 0x7d, 0x13, 0x56, 0x8e, 0x4c, 0xf6, 0x4a, 0x24, 0x60, 0x87, 0xca, 0x9a, 0xa8, 0xf3, 0x1a,
0x5a, 0x86, 0xe6, 0x36, 0x8b, 0xf3, 0x24, 0x35, 0x04, 0x67, 0xeb, 0xc3, 0x5f, 0x7c, 0x6f, 0x48,
0xe5, 0x7e, 0xde, 0x57, 0x0a, 0xdf, 0x32, 0x16, 0xbc, 0x4b, 0x99, 0xfd, 0xba, 0x55, 0x64, 0xd3,
0x2d, 0x6d, 0xd4, 0x78, 0x99, 0xf5, 0xfb, 0x8b, 0x9a, 0xf2, 0xde, 0xff, 0x02, 0x00, 0x00, 0xff,
0xff, 0x0e, 0x5f, 0x80, 0x10, 0x9a, 0x1d, 0x00, 0x00,
}

View File

@ -10,6 +10,7 @@ option java_generate_equals_and_hash = true;
import "common.proto";
import "schema.proto";
import "google/protobuf/descriptor.proto";
service MilvusService {
rpc CreateCollection(CreateCollectionRequest) returns (common.Status) {}
@ -73,6 +74,16 @@ service MilvusService {
rpc UpdateCredential(UpdateCredentialRequest) returns (common.Status) {}
rpc DeleteCredential(DeleteCredentialRequest) returns (common.Status) {}
rpc ListCredUsers(ListCredUsersRequest) returns (ListCredUsersResponse) {}
// https://wiki.lfaidata.foundation/display/MIL/MEP+29+--+Support+Role-Based+Access+Control
rpc CreateRole(CreateRoleRequest) returns (common.Status) {}
rpc DropRole(DropRoleRequest) returns (common.Status) {}
rpc OperateUserRole(OperateUserRoleRequest) returns (common.Status) {}
rpc SelectRole(SelectRoleRequest) returns (SelectRoleResponse) {}
rpc SelectUser(SelectUserRequest) returns (SelectUserResponse) {}
rpc SelectResource(SelectResourceRequest) returns (SelectResourceResponse) {}
rpc OperatePrivilege(OperatePrivilegeRequest) returns (common.Status) {}
rpc SelectGrant(SelectGrantRequest) returns (SelectGrantResponse) {}
}
message CreateAliasRequest {
@ -99,14 +110,19 @@ message AlterAliasRequest{
* Create collection in milvus
*/
message CreateCollectionRequest {
option (common.privilege_ext_obj) = {
resource_type: Collection
resource_privilege: PrivilegeCreate
resource_name_index: 3
};
// Not useful for now
common.MsgBase base = 1;
// Not useful for now
string db_name = 2;
// The unique collection name in milvus.(Required)
string collection_name = 3;
string collection_name = 3;
// The serialized `schema.CollectionSchema`(Required)
bytes schema = 4;
bytes schema = 4;
// Once set, no modification is allowed (Optional)
// https://github.com/milvus-io/milvus/issues/6690
int32 shards_num = 5;
@ -115,11 +131,16 @@ message CreateCollectionRequest {
}
/**
* Drop collection in milvus, also will drop data in collection.
* Drop collection in milvus, also will drop data in collection.
*/
message DropCollectionRequest {
option (common.privilege_ext_obj) = {
resource_type: Collection
resource_privilege: PrivilegeDrop
resource_name_index: 3
};
// Not useful for now
common.MsgBase base = 1;
common.MsgBase base = 1;
// Not useful for now
string db_name = 2;
// The unique collection name in milvus.(Required)
@ -130,12 +151,17 @@ message DropCollectionRequest {
* Check collection exist in milvus or not.
*/
message HasCollectionRequest {
option (common.privilege_ext_obj) = {
resource_type: Collection
resource_privilege: PrivilegeRead
resource_name_index: 3
};
// Not useful for now
common.MsgBase base = 1;
// Not useful for now
string db_name = 2;
// The collection name you want to check.
string collection_name = 3;
string collection_name = 3;
// If time_stamp is not zero, will return true when time_stamp >= created collection timestamp, otherwise will return false.
uint64 time_stamp = 4;
}
@ -155,6 +181,11 @@ message StringResponse {
* Get collection meta datas like: schema, collectionID, shards number ...
*/
message DescribeCollectionRequest {
option (common.privilege_ext_obj) = {
resource_type: Collection
resource_privilege: PrivilegeRead
resource_name_index: 3
};
// Not useful for now
common.MsgBase base = 1;
// Not useful for now
@ -201,6 +232,11 @@ message DescribeCollectionResponse {
* Load collection data into query nodes, then you can do vector search on this collection.
*/
message LoadCollectionRequest {
option (common.privilege_ext_obj) = {
resource_type: Collection
resource_privilege: PrivilegeLoad
resource_name_index: 3
};
// Not useful for now
common.MsgBase base = 1;
// Not useful for now
@ -215,6 +251,11 @@ message LoadCollectionRequest {
* Release collection data from query nodes, then you can't do vector search on this collection.
*/
message ReleaseCollectionRequest {
option (common.privilege_ext_obj) = {
resource_type: Collection
resource_privilege: PrivilegeRelease
resource_name_index: 3
};
// Not useful for now
common.MsgBase base = 1;
// Not useful for now
@ -227,6 +268,11 @@ message ReleaseCollectionRequest {
* Get collection statistics like row_count.
*/
message GetCollectionStatisticsRequest {
option (common.privilege_ext_obj) = {
resource_type: Collection
resource_privilege: PrivilegeRead
resource_name_index: 3
};
// Not useful for now
common.MsgBase base = 1;
// Not useful for now
@ -249,16 +295,20 @@ message GetCollectionStatisticsResponse {
* This is for ShowCollectionsRequest type field.
*/
enum ShowType {
// Will return all colloections
// Will return all colloections
All = 0;
// Will return loaded collections with their inMemory_percentages
InMemory = 1;
}
/*
* List collections
* List collections
*/
message ShowCollectionsRequest {
option (common.privilege_ext_obj) = {
resource_type: Collection
resource_privilege: PrivilegeRead
};
// Not useful for now
common.MsgBase base = 1;
// Not useful for now
@ -268,7 +318,7 @@ message ShowCollectionsRequest {
// Decide return Loaded collections or All collections(Optional)
ShowType type = 4;
// When type is InMemory, will return these collection's inMemory_percentages.(Optional)
repeated string collection_names = 5;
repeated string collection_names = 5;
}
/*
@ -286,7 +336,7 @@ message ShowCollectionsResponse {
// The utc timestamp calculated by created_timestamp
repeated uint64 created_utc_timestamps = 5;
// Load percentage on querynode when type is InMemory
repeated int64 inMemory_percentages = 6;
repeated int64 inMemory_percentages = 6;
}
/*
@ -314,7 +364,7 @@ message DropPartitionRequest {
// The collection name in milvus
string collection_name = 3;
// The partition name you want to drop
string partition_name = 4;
string partition_name = 4;
}
/*
@ -374,7 +424,7 @@ message GetPartitionStatisticsRequest {
// The collection name in milvus
string collection_name = 3;
// The partition name you want to collect statistics
string partition_name = 4;
string partition_name = 4;
}
message GetPartitionStatisticsResponse {
@ -449,7 +499,7 @@ message ShowSegmentsResponse {
*/
message CreateIndexRequest {
// Not useful for now
common.MsgBase base = 1;
common.MsgBase base = 1;
// Not useful for now
string db_name = 2;
// The particular collection name you want to create index.
@ -463,7 +513,7 @@ message CreateIndexRequest {
}
/*
* Get created index information.
* Get created index information.
* Current release of Milvus only supports showing latest built index.
*/
message DescribeIndexRequest {
@ -476,7 +526,7 @@ message DescribeIndexRequest {
// The vector field name in this particular collection
string field_name = 4;
// No need to set up for now @2021.06.30
string index_name = 5;
string index_name = 5;
}
/*
@ -504,7 +554,7 @@ message DescribeIndexResponse {
}
/*
* Get index building progress
* Get index building progress
*/
message GetIndexBuildProgressRequest {
// Not useful for now
@ -647,7 +697,7 @@ message VectorsArray {
oneof array {
VectorIDs id_array = 1; // vector ids
schema.VectorField data_array = 2; // vectors data
}
}
}
message CalcDistanceRequest {
@ -802,16 +852,16 @@ message ImportRequest {
repeated string files = 5; // file paths to be imported
repeated common.KeyValuePair options = 6; // import options, bucket, etc.
}
message ImportResponse {
common.Status status = 1;
repeated int64 tasks = 2; // id array of import tasks
}
message GetImportStateRequest {
int64 task = 1; // id of an import task
}
message GetImportStateResponse {
common.Status status = 1;
common.ImportState state = 2; // is this import task finished or not
@ -912,3 +962,178 @@ message ListCredUsersRequest {
common.MsgBase base = 1;
}
// https://wiki.lfaidata.foundation/display/MIL/MEP+29+--+Support+Role-Based+Access+Control
message RoleEntity {
string name = 1;
}
message UserEntity {
string name = 1;
}
message CreateRoleRequest {
// Not useful for now
common.MsgBase base = 1;
// role
RoleEntity entity = 2;
}
message DropRoleRequest {
// Not useful for now
common.MsgBase base = 1;
// role name
string role_name = 2;
}
enum OperateUserRoleType {
AddUserToRole = 0;
RemoveUserFromRole = 1;
}
message OperateUserRoleRequest {
// Not useful for now
common.MsgBase base = 1;
// username
string username = 2;
// role name
string role_name = 3;
// operation type
OperateUserRoleType type = 4;
}
message SelectRoleRequest {
// Not useful for now
common.MsgBase base = 1;
// role
RoleEntity role = 2;
// include user info
bool include_user_info = 3;
}
message RoleResult {
RoleEntity role = 1;
repeated UserEntity users = 2;
}
message SelectRoleResponse {
// Not useful for now
common.Status status = 1;
// role result array
repeated RoleResult results = 2;
}
message SelectUserRequest {
// Not useful for now
common.MsgBase base = 1;
// user
UserEntity user = 2;
// include user info
bool include_role_info = 3;
}
message UserResult {
UserEntity user = 1;
repeated RoleEntity roles = 2;
}
message SelectUserResponse {
// Not useful for now
common.Status status = 1;
// user result array
repeated UserResult result = 2;
}
message ResourceEntity {
string type = 1;
}
message PrivilegeEntity {
string name = 1;
}
message SelectResourceRequest {
// Not useful for now
common.MsgBase base = 1;
// resource
ResourceEntity entity = 2;
// include privilege info
bool include_privilege_info = 3;
}
message ResourceResult {
ResourceEntity resource = 1;
repeated PrivilegeEntity privileges = 2;
}
message SelectResourceResponse {
// Not useful for now
common.Status status = 1;
// resource result array
repeated ResourceResult results = 2;
}
message PrincipalEntity {
// principal type, including user, role
string principal_type = 1;
// principal, including user entity or role entity
oneof principal {
UserEntity user = 2;
RoleEntity role = 3;
}
}
message GrantorEntity {
UserEntity user = 1;
PrivilegeEntity privilege = 2;
}
message GrantEntity {
// principal
PrincipalEntity principal = 1;
// resource
ResourceEntity resource = 2;
// resource name
string resource_name = 3;
// privilege
GrantorEntity grantor = 4;
}
message SelectGrantRequest {
// Not useful for now
common.MsgBase base = 1;
// grant
GrantEntity entity = 2;
}
message SelectGrantResponse {
// Not useful for now
common.Status status = 1;
// grant info array
repeated GrantEntity entities = 2;
}
enum OperatePrivilegeType {
Grant = 0;
Revoke = 1;
}
message OperatePrivilegeRequest {
// Not useful for now
common.MsgBase base = 1;
// grant
GrantEntity entity = 2;
// operation type
OperatePrivilegeType type = 3;
}
message MilvusExt {
string version = 1;
}
extend google.protobuf.FileOptions {
MilvusExt milvus_ext_obj = 1001;
}
option (milvus_ext_obj) = {
version: "2.1.0"
};

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,8 @@ service Proxy {
rpc InvalidateCredentialCache(InvalidateCredCacheRequest) returns (common.Status) {}
rpc UpdateCredentialCache(UpdateCredCacheRequest) returns (common.Status) {}
rpc ClearCredUsersCache(internal.ClearCredUsersCacheRequest) returns (common.Status) {}
rpc RefreshPolicyInfoCache(RefreshPolicyInfoCacheRequest) returns (common.Status) {}
}
message InvalidateCollMetaCacheRequest {
@ -47,3 +49,9 @@ message UpdateCredCacheRequest {
string username = 2;
string password = 3;
}
message RefreshPolicyInfoCacheRequest {
common.MsgBase base = 1;
int32 opType = 2;
string opKey = 3;
}

View File

@ -247,53 +247,113 @@ func (m *UpdateCredCacheRequest) GetPassword() string {
return ""
}
type RefreshPolicyInfoCacheRequest struct {
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
OpType int32 `protobuf:"varint,2,opt,name=opType,proto3" json:"opType,omitempty"`
OpKey string `protobuf:"bytes,3,opt,name=opKey,proto3" json:"opKey,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RefreshPolicyInfoCacheRequest) Reset() { *m = RefreshPolicyInfoCacheRequest{} }
func (m *RefreshPolicyInfoCacheRequest) String() string { return proto.CompactTextString(m) }
func (*RefreshPolicyInfoCacheRequest) ProtoMessage() {}
func (*RefreshPolicyInfoCacheRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_700b50b08ed8dbaf, []int{4}
}
func (m *RefreshPolicyInfoCacheRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RefreshPolicyInfoCacheRequest.Unmarshal(m, b)
}
func (m *RefreshPolicyInfoCacheRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RefreshPolicyInfoCacheRequest.Marshal(b, m, deterministic)
}
func (m *RefreshPolicyInfoCacheRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_RefreshPolicyInfoCacheRequest.Merge(m, src)
}
func (m *RefreshPolicyInfoCacheRequest) XXX_Size() int {
return xxx_messageInfo_RefreshPolicyInfoCacheRequest.Size(m)
}
func (m *RefreshPolicyInfoCacheRequest) XXX_DiscardUnknown() {
xxx_messageInfo_RefreshPolicyInfoCacheRequest.DiscardUnknown(m)
}
var xxx_messageInfo_RefreshPolicyInfoCacheRequest proto.InternalMessageInfo
func (m *RefreshPolicyInfoCacheRequest) GetBase() *commonpb.MsgBase {
if m != nil {
return m.Base
}
return nil
}
func (m *RefreshPolicyInfoCacheRequest) GetOpType() int32 {
if m != nil {
return m.OpType
}
return 0
}
func (m *RefreshPolicyInfoCacheRequest) GetOpKey() string {
if m != nil {
return m.OpKey
}
return ""
}
func init() {
proto.RegisterType((*InvalidateCollMetaCacheRequest)(nil), "milvus.proto.proxy.InvalidateCollMetaCacheRequest")
proto.RegisterType((*ReleaseDQLMessageStreamRequest)(nil), "milvus.proto.proxy.ReleaseDQLMessageStreamRequest")
proto.RegisterType((*InvalidateCredCacheRequest)(nil), "milvus.proto.proxy.InvalidateCredCacheRequest")
proto.RegisterType((*UpdateCredCacheRequest)(nil), "milvus.proto.proxy.UpdateCredCacheRequest")
proto.RegisterType((*RefreshPolicyInfoCacheRequest)(nil), "milvus.proto.proxy.RefreshPolicyInfoCacheRequest")
}
func init() { proto.RegisterFile("proxy.proto", fileDescriptor_700b50b08ed8dbaf) }
var fileDescriptor_700b50b08ed8dbaf = []byte{
// 566 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x54, 0xdb, 0x6e, 0xd3, 0x40,
0x10, 0xad, 0x49, 0x28, 0x65, 0x1a, 0x15, 0xb4, 0x5c, 0x1a, 0x0c, 0x54, 0x91, 0x41, 0x10, 0x55,
0x22, 0x29, 0x81, 0x2f, 0x68, 0x22, 0x45, 0x91, 0x08, 0x02, 0x47, 0x15, 0x12, 0x3c, 0xa0, 0xb5,
0x3d, 0x4a, 0x5c, 0xad, 0x77, 0xdd, 0xdd, 0x75, 0x80, 0x57, 0x1e, 0xf9, 0x0a, 0x3e, 0x83, 0xcf,
0x43, 0xbe, 0xc4, 0x89, 0x93, 0xb8, 0xe6, 0xa2, 0xbe, 0x79, 0x66, 0xcf, 0xcc, 0x99, 0xb3, 0xb3,
0xc7, 0xb0, 0x1f, 0x4a, 0xf1, 0xf5, 0x5b, 0x27, 0x94, 0x42, 0x0b, 0x42, 0x02, 0x9f, 0xcd, 0x23,
0x95, 0x46, 0x9d, 0xe4, 0xc4, 0x6c, 0xb8, 0x22, 0x08, 0x04, 0x4f, 0x73, 0xe6, 0x81, 0xcf, 0x35,
0x4a, 0x4e, 0x59, 0x16, 0x37, 0x56, 0x2b, 0xac, 0x5f, 0x06, 0x1c, 0x8d, 0xf8, 0x9c, 0x32, 0xdf,
0xa3, 0x1a, 0xfb, 0x82, 0xb1, 0x31, 0x6a, 0xda, 0xa7, 0xee, 0x0c, 0x6d, 0xbc, 0x88, 0x50, 0x69,
0x72, 0x02, 0x75, 0x87, 0x2a, 0x6c, 0x1a, 0x2d, 0xa3, 0xbd, 0xdf, 0x7b, 0xd4, 0x29, 0x30, 0x66,
0x54, 0x63, 0x35, 0x3d, 0xa5, 0x0a, 0xed, 0x04, 0x49, 0x0e, 0xe1, 0x86, 0xe7, 0x7c, 0xe6, 0x34,
0xc0, 0xe6, 0xb5, 0x96, 0xd1, 0xbe, 0x69, 0xef, 0x7a, 0xce, 0x5b, 0x1a, 0x20, 0x79, 0x0e, 0xb7,
0x5c, 0xc1, 0x18, 0xba, 0xda, 0x17, 0x3c, 0x05, 0xd4, 0x12, 0xc0, 0xc1, 0x32, 0x9d, 0x00, 0x2d,
0x68, 0x2c, 0x33, 0xa3, 0x41, 0xb3, 0xde, 0x32, 0xda, 0x35, 0xbb, 0x90, 0xb3, 0x7e, 0x18, 0x70,
0x64, 0x23, 0x43, 0xaa, 0x70, 0xf0, 0xfe, 0xcd, 0x18, 0x95, 0xa2, 0x53, 0x9c, 0x68, 0x89, 0x34,
0xf8, 0xf7, 0xd1, 0x09, 0xd4, 0x3d, 0x67, 0x34, 0x48, 0xe6, 0xae, 0xd9, 0xc9, 0xf7, 0xc6, 0x30,
0xb5, 0x2d, 0xc3, 0x9c, 0x83, 0xb9, 0x72, 0x8d, 0x12, 0xbd, 0xff, 0xbc, 0x42, 0x13, 0xf6, 0x22,
0x15, 0xaf, 0x2d, 0xbf, 0xc3, 0x3c, 0xb6, 0xbe, 0x1b, 0x70, 0xff, 0x2c, 0xbc, 0x7a, 0xa2, 0xf8,
0x2c, 0xa4, 0x4a, 0x7d, 0x11, 0xd2, 0xcb, 0xf6, 0x94, 0xc7, 0xbd, 0x9f, 0x7b, 0x70, 0xfd, 0x5d,
0xfc, 0xdc, 0x48, 0x08, 0x64, 0x88, 0xba, 0x2f, 0x82, 0x50, 0x70, 0xe4, 0x7a, 0xa2, 0xa9, 0x46,
0x45, 0x4e, 0x8a, 0xdc, 0xf9, 0x23, 0xdc, 0x84, 0x66, 0xb3, 0x9b, 0xcf, 0x4a, 0x2a, 0xd6, 0xe0,
0xd6, 0x0e, 0xb9, 0x80, 0xbb, 0x43, 0x4c, 0x42, 0x5f, 0x69, 0xdf, 0x55, 0xfd, 0x19, 0xe5, 0x1c,
0x19, 0xe9, 0x95, 0x73, 0x6e, 0x80, 0x17, 0xac, 0x4f, 0x8a, 0x35, 0x59, 0x30, 0xd1, 0xd2, 0xe7,
0x53, 0x1b, 0x55, 0x28, 0xb8, 0x42, 0x6b, 0x87, 0x48, 0x78, 0x5c, 0xb4, 0x49, 0xba, 0xf9, 0xdc,
0x2c, 0xeb, 0xdc, 0xa9, 0x47, 0x2f, 0x77, 0x96, 0xf9, 0x70, 0xeb, 0x7e, 0xe2, 0x51, 0xa3, 0x58,
0x26, 0x85, 0xc6, 0x10, 0xf5, 0xc0, 0x5b, 0xc8, 0x3b, 0x2e, 0x97, 0x97, 0x83, 0xfe, 0x52, 0x16,
0x83, 0xc3, 0x12, 0x0b, 0x6d, 0x17, 0x74, 0xb9, 0xdf, 0xaa, 0x04, 0x7d, 0x80, 0xdb, 0x13, 0xe4,
0xde, 0x04, 0xa9, 0x74, 0x67, 0x36, 0xaa, 0x88, 0x69, 0xf2, 0xb4, 0x44, 0xd4, 0x2a, 0x48, 0x55,
0x35, 0xfe, 0x04, 0x24, 0x6e, 0x6c, 0xa3, 0x96, 0x3e, 0xce, 0x31, 0x6b, 0x5d, 0xf6, 0xa0, 0x8a,
0xb0, 0xca, 0xe6, 0xe7, 0xf0, 0xa0, 0x68, 0x6d, 0xe4, 0xda, 0xa7, 0x2c, 0x5d, 0x7b, 0xa7, 0x62,
0xed, 0x6b, 0x06, 0xad, 0xe2, 0x72, 0xe0, 0xde, 0xd2, 0xd9, 0xab, 0x3c, 0xc7, 0xdb, 0x78, 0xb6,
0xff, 0x04, 0xaa, 0x38, 0xa6, 0x70, 0xa7, 0xcf, 0x90, 0xca, 0xb8, 0xee, 0x4c, 0xa1, 0x54, 0x29,
0xc3, 0xcb, 0x32, 0xfb, 0x6d, 0x62, 0xff, 0x8c, 0xe8, 0xf4, 0xf5, 0xc7, 0xde, 0xd4, 0xd7, 0xb3,
0xc8, 0x89, 0x4f, 0xba, 0x29, 0xf4, 0x85, 0x2f, 0xb2, 0xaf, 0xee, 0x82, 0xa1, 0x9b, 0x54, 0x77,
0x13, 0x49, 0xa1, 0xe3, 0xec, 0x26, 0xe1, 0xab, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xfb, 0xee,
0x9c, 0xaf, 0xe7, 0x06, 0x00, 0x00,
// 626 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x54, 0x5f, 0x4f, 0x13, 0x4f,
0x14, 0x65, 0x7f, 0x05, 0x7e, 0x72, 0x69, 0xd0, 0x8c, 0x08, 0x58, 0x85, 0x90, 0xd5, 0x28, 0x21,
0xb1, 0xc5, 0xea, 0x27, 0xa0, 0x4d, 0x48, 0xa3, 0x18, 0xdc, 0x4a, 0x4c, 0xf4, 0xc1, 0xcc, 0xee,
0x5e, 0xda, 0x21, 0xb3, 0x33, 0xcb, 0xcc, 0x14, 0xed, 0x93, 0x89, 0x8f, 0xc6, 0x0f, 0xe4, 0xc7,
0x33, 0xfb, 0xa7, 0x4b, 0xb7, 0xdd, 0x65, 0x55, 0xe2, 0xdb, 0x9c, 0x99, 0x73, 0xe7, 0x9c, 0x3b,
0x77, 0xee, 0x85, 0xd5, 0x50, 0xc9, 0x2f, 0xe3, 0x66, 0xa8, 0xa4, 0x91, 0x84, 0x04, 0x8c, 0x5f,
0x8e, 0x74, 0x82, 0x9a, 0xf1, 0x49, 0xa3, 0xee, 0xc9, 0x20, 0x90, 0x22, 0xd9, 0x6b, 0xac, 0x31,
0x61, 0x50, 0x09, 0xca, 0x53, 0x5c, 0x9f, 0x8e, 0xb0, 0x7f, 0x5a, 0xb0, 0xd3, 0x13, 0x97, 0x94,
0x33, 0x9f, 0x1a, 0xec, 0x48, 0xce, 0x8f, 0xd1, 0xd0, 0x0e, 0xf5, 0x86, 0xe8, 0xe0, 0xc5, 0x08,
0xb5, 0x21, 0x07, 0xb0, 0xe8, 0x52, 0x8d, 0x5b, 0xd6, 0xae, 0xb5, 0xb7, 0xda, 0x7e, 0xd8, 0xcc,
0x29, 0xa6, 0x52, 0xc7, 0x7a, 0x70, 0x48, 0x35, 0x3a, 0x31, 0x93, 0x6c, 0xc2, 0xff, 0xbe, 0xfb,
0x49, 0xd0, 0x00, 0xb7, 0xfe, 0xdb, 0xb5, 0xf6, 0x56, 0x9c, 0x65, 0xdf, 0x7d, 0x43, 0x03, 0x24,
0x4f, 0xe1, 0xb6, 0x27, 0x39, 0x47, 0xcf, 0x30, 0x29, 0x12, 0x42, 0x2d, 0x26, 0xac, 0x5d, 0x6d,
0xc7, 0x44, 0x1b, 0xea, 0x57, 0x3b, 0xbd, 0xee, 0xd6, 0xe2, 0xae, 0xb5, 0x57, 0x73, 0x72, 0x7b,
0xf6, 0x77, 0x0b, 0x76, 0x1c, 0xe4, 0x48, 0x35, 0x76, 0xdf, 0xbe, 0x3e, 0x46, 0xad, 0xe9, 0x00,
0xfb, 0x46, 0x21, 0x0d, 0xfe, 0xde, 0x3a, 0x81, 0x45, 0xdf, 0xed, 0x75, 0x63, 0xdf, 0x35, 0x27,
0x5e, 0xcf, 0x99, 0xa9, 0x15, 0x98, 0x39, 0x87, 0xc6, 0xd4, 0x33, 0x2a, 0xf4, 0x6f, 0xf8, 0x84,
0x0d, 0xb8, 0x35, 0xd2, 0x51, 0xd9, 0xb2, 0x37, 0xcc, 0xb0, 0xfd, 0xcd, 0x82, 0x8d, 0xd3, 0xf0,
0xdf, 0x0b, 0x45, 0x67, 0x21, 0xd5, 0xfa, 0xb3, 0x54, 0x7e, 0x5a, 0xa7, 0x0c, 0xdb, 0x5f, 0x61,
0xdb, 0xc1, 0x33, 0x85, 0x7a, 0x78, 0x22, 0x39, 0xf3, 0xc6, 0x3d, 0x71, 0x26, 0x6f, 0x68, 0x65,
0x03, 0x96, 0x65, 0xf8, 0x6e, 0x1c, 0x26, 0x46, 0x96, 0x9c, 0x14, 0x91, 0x75, 0x58, 0x92, 0xe1,
0x2b, 0x1c, 0xa7, 0x1e, 0x12, 0xd0, 0xfe, 0xb1, 0x02, 0x4b, 0x27, 0xd1, 0x7f, 0x27, 0x21, 0x90,
0x23, 0x34, 0x1d, 0x19, 0x84, 0x52, 0xa0, 0x30, 0x7d, 0x43, 0x0d, 0x6a, 0x72, 0x90, 0x57, 0xcc,
0xba, 0x60, 0x9e, 0x9a, 0x3a, 0x6e, 0x3c, 0x29, 0x89, 0x98, 0xa1, 0xdb, 0x0b, 0xe4, 0x02, 0xd6,
0x8f, 0x30, 0x86, 0x4c, 0x1b, 0xe6, 0xe9, 0xce, 0x90, 0x0a, 0x81, 0x9c, 0xb4, 0xcb, 0x35, 0xe7,
0xc8, 0x13, 0xd5, 0x47, 0xf9, 0x98, 0x14, 0xf4, 0x8d, 0x62, 0x62, 0xe0, 0xa0, 0x0e, 0xa5, 0xd0,
0x68, 0x2f, 0x10, 0x05, 0xdb, 0xf9, 0x3e, 0x4d, 0xbe, 0x5e, 0xd6, 0xad, 0xb3, 0xda, 0xc9, 0x90,
0xb8, 0xbe, 0xb5, 0x1b, 0x0f, 0x0a, 0xab, 0x12, 0x59, 0x1d, 0x45, 0x69, 0x52, 0xa8, 0x1f, 0xa1,
0xe9, 0xfa, 0x93, 0xf4, 0xf6, 0xcb, 0xd3, 0xcb, 0x48, 0x7f, 0x98, 0x16, 0x87, 0xcd, 0x92, 0x1e,
0x2e, 0x4e, 0xe8, 0xfa, 0x86, 0xaf, 0x4a, 0xe8, 0x3d, 0xdc, 0xe9, 0xa3, 0xf0, 0xfb, 0x48, 0x95,
0x37, 0x74, 0x50, 0x8f, 0xb8, 0x21, 0x8f, 0x4b, 0x92, 0x9a, 0x26, 0xe9, 0xaa, 0x8b, 0x3f, 0x02,
0x89, 0x2e, 0x76, 0xd0, 0x28, 0x86, 0x97, 0x98, 0x5e, 0x5d, 0xf6, 0xa1, 0xf2, 0xb4, 0xca, 0xcb,
0xcf, 0xe1, 0x7e, 0x7e, 0xb6, 0xa0, 0x30, 0x8c, 0xf2, 0xa4, 0xec, 0xcd, 0x8a, 0xb2, 0xcf, 0x4c,
0x88, 0x2a, 0x2d, 0x17, 0xee, 0x5d, 0x8d, 0x96, 0x69, 0x9d, 0xfd, 0x22, 0x9d, 0xe2, 0x29, 0x54,
0xa5, 0x31, 0x80, 0xbb, 0x1d, 0x8e, 0x54, 0x45, 0x71, 0xa7, 0x1a, 0x95, 0x4e, 0x14, 0x9e, 0x97,
0xb5, 0xdf, 0x3c, 0xf7, 0x37, 0x85, 0xce, 0x61, 0xa3, 0x78, 0x46, 0xcd, 0x6a, 0x4d, 0xfe, 0xd6,
0x35, 0xf3, 0xac, 0x42, 0xeb, 0xf0, 0xe5, 0x87, 0xf6, 0x80, 0x99, 0xe1, 0xc8, 0x8d, 0x4e, 0x5a,
0x09, 0xf5, 0x19, 0x93, 0xe9, 0xaa, 0x35, 0xc9, 0xa6, 0x15, 0x47, 0xb7, 0x62, 0xc1, 0xd0, 0x75,
0x97, 0x63, 0xf8, 0xe2, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x72, 0xd6, 0xdb, 0x10, 0xd4, 0x07,
0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -318,6 +378,7 @@ type ProxyClient interface {
InvalidateCredentialCache(ctx context.Context, in *InvalidateCredCacheRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
UpdateCredentialCache(ctx context.Context, in *UpdateCredCacheRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
ClearCredUsersCache(ctx context.Context, in *internalpb.ClearCredUsersCacheRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
RefreshPolicyInfoCache(ctx context.Context, in *RefreshPolicyInfoCacheRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
}
type proxyClient struct {
@ -418,6 +479,15 @@ func (c *proxyClient) ClearCredUsersCache(ctx context.Context, in *internalpb.Cl
return out, nil
}
func (c *proxyClient) RefreshPolicyInfoCache(ctx context.Context, in *RefreshPolicyInfoCacheRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
out := new(commonpb.Status)
err := c.cc.Invoke(ctx, "/milvus.proto.proxy.Proxy/RefreshPolicyInfoCache", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ProxyServer is the server API for Proxy service.
type ProxyServer interface {
GetComponentStates(context.Context, *internalpb.GetComponentStatesRequest) (*internalpb.ComponentStates, error)
@ -430,6 +500,7 @@ type ProxyServer interface {
InvalidateCredentialCache(context.Context, *InvalidateCredCacheRequest) (*commonpb.Status, error)
UpdateCredentialCache(context.Context, *UpdateCredCacheRequest) (*commonpb.Status, error)
ClearCredUsersCache(context.Context, *internalpb.ClearCredUsersCacheRequest) (*commonpb.Status, error)
RefreshPolicyInfoCache(context.Context, *RefreshPolicyInfoCacheRequest) (*commonpb.Status, error)
}
// UnimplementedProxyServer can be embedded to have forward compatible implementations.
@ -466,6 +537,9 @@ func (*UnimplementedProxyServer) UpdateCredentialCache(ctx context.Context, req
func (*UnimplementedProxyServer) ClearCredUsersCache(ctx context.Context, req *internalpb.ClearCredUsersCacheRequest) (*commonpb.Status, error) {
return nil, status.Errorf(codes.Unimplemented, "method ClearCredUsersCache not implemented")
}
func (*UnimplementedProxyServer) RefreshPolicyInfoCache(ctx context.Context, req *RefreshPolicyInfoCacheRequest) (*commonpb.Status, error) {
return nil, status.Errorf(codes.Unimplemented, "method RefreshPolicyInfoCache not implemented")
}
func RegisterProxyServer(s *grpc.Server, srv ProxyServer) {
s.RegisterService(&_Proxy_serviceDesc, srv)
@ -651,6 +725,24 @@ func _Proxy_ClearCredUsersCache_Handler(srv interface{}, ctx context.Context, de
return interceptor(ctx, in, info, handler)
}
func _Proxy_RefreshPolicyInfoCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RefreshPolicyInfoCacheRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProxyServer).RefreshPolicyInfoCache(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.proxy.Proxy/RefreshPolicyInfoCache",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProxyServer).RefreshPolicyInfoCache(ctx, req.(*RefreshPolicyInfoCacheRequest))
}
return interceptor(ctx, in, info, handler)
}
var _Proxy_serviceDesc = grpc.ServiceDesc{
ServiceName: "milvus.proto.proxy.Proxy",
HandlerType: (*ProxyServer)(nil),
@ -695,6 +787,10 @@ var _Proxy_serviceDesc = grpc.ServiceDesc{
MethodName: "ClearCredUsersCache",
Handler: _Proxy_ClearCredUsersCache_Handler,
},
{
MethodName: "RefreshPolicyInfoCache",
Handler: _Proxy_RefreshPolicyInfoCache_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "proxy.proto",

View File

@ -122,6 +122,17 @@ service RootCoord {
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 SelectResource(milvus.SelectResourceRequest) returns (milvus.SelectResourceResponse) {}
rpc OperatePrivilege(milvus.OperatePrivilegeRequest) returns (common.Status) {}
rpc SelectGrant(milvus.SelectGrantRequest) returns (milvus.SelectGrantResponse) {}
rpc ListPolicy(internal.ListPolicyRequest) returns (internal.ListPolicyResponse) {}
}
message AllocTimestampRequest {
@ -197,4 +208,4 @@ message GetCredentialResponse {
string username = 2;
// password
string password = 3;
}
}

View File

@ -675,99 +675,108 @@ func init() {
func init() { proto.RegisterFile("root_coord.proto", fileDescriptor_4513485a144f6b06) }
var fileDescriptor_4513485a144f6b06 = []byte{
// 1466 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xdd, 0x72, 0xd3, 0x46,
0x14, 0xc6, 0x36, 0xf9, 0xf1, 0xb1, 0x13, 0x87, 0x1d, 0x02, 0xae, 0x81, 0xd6, 0xb8, 0x2d, 0x38,
0xfc, 0x38, 0x4c, 0x98, 0xa1, 0x94, 0x3b, 0x62, 0x53, 0xf0, 0x94, 0xcc, 0x80, 0x0c, 0x1d, 0xfa,
0xc3, 0xb8, 0x1b, 0xe9, 0xe0, 0x68, 0x22, 0x6b, 0x8d, 0x76, 0x4d, 0x92, 0xcb, 0xce, 0xf4, 0xbe,
0xef, 0xd0, 0x47, 0x69, 0x1f, 0xa5, 0x2f, 0xd2, 0x59, 0xad, 0xb4, 0x96, 0x64, 0xc9, 0x51, 0x80,
0x3b, 0xed, 0xea, 0xd3, 0xf7, 0x9d, 0xfd, 0xce, 0xee, 0x9e, 0x5d, 0xc1, 0x86, 0xc7, 0x98, 0x18,
0x9a, 0x8c, 0x79, 0x56, 0x67, 0xe2, 0x31, 0xc1, 0xc8, 0xa5, 0xb1, 0xed, 0x7c, 0x98, 0x72, 0xd5,
0xea, 0xc8, 0xd7, 0xfe, 0xdb, 0x46, 0xd5, 0x64, 0xe3, 0x31, 0x73, 0x55, 0x7f, 0xa3, 0x1a, 0x45,
0x35, 0xd6, 0x6d, 0x57, 0xa0, 0xe7, 0x52, 0x27, 0x68, 0x57, 0x26, 0x1e, 0x3b, 0x3e, 0x09, 0x1a,
0x1b, 0x16, 0x15, 0x34, 0x2a, 0xd1, 0xa8, 0xa1, 0x30, 0xad, 0xe1, 0x18, 0x05, 0x55, 0x1d, 0xad,
0x21, 0x6c, 0x3e, 0x76, 0x1c, 0x66, 0xbe, 0xb2, 0xc7, 0xc8, 0x05, 0x1d, 0x4f, 0x0c, 0x7c, 0x3f,
0x45, 0x2e, 0xc8, 0x3d, 0x38, 0xbf, 0x4f, 0x39, 0xd6, 0x0b, 0xcd, 0x42, 0xbb, 0xb2, 0x73, 0xb5,
0x13, 0x8b, 0x2d, 0x08, 0x68, 0x8f, 0x8f, 0x76, 0x29, 0x47, 0xc3, 0x47, 0x92, 0x8b, 0xb0, 0x64,
0xb2, 0xa9, 0x2b, 0xea, 0xa5, 0x66, 0xa1, 0xbd, 0x66, 0xa8, 0x46, 0xeb, 0x8f, 0x02, 0x5c, 0x4a,
0x2a, 0xf0, 0x09, 0x73, 0x39, 0x92, 0xfb, 0xb0, 0xcc, 0x05, 0x15, 0x53, 0x1e, 0x88, 0x5c, 0x49,
0x15, 0x19, 0xf8, 0x10, 0x23, 0x80, 0x92, 0xab, 0x50, 0x16, 0x21, 0x53, 0xbd, 0xd8, 0x2c, 0xb4,
0xcf, 0x1b, 0xb3, 0x8e, 0x8c, 0x18, 0xde, 0xc0, 0xba, 0x1f, 0x42, 0xbf, 0xf7, 0x19, 0x46, 0x57,
0x8c, 0x32, 0x3b, 0x50, 0xd3, 0xcc, 0x9f, 0x32, 0xaa, 0x75, 0x28, 0xf6, 0x7b, 0x3e, 0x75, 0xc9,
0x28, 0xf6, 0x7b, 0x19, 0xe3, 0xf8, 0xa7, 0x08, 0xd5, 0xfe, 0x78, 0xc2, 0x3c, 0x61, 0x20, 0x9f,
0x3a, 0xe2, 0xe3, 0xb4, 0x2e, 0xc3, 0x8a, 0xa0, 0xfc, 0x70, 0x68, 0x5b, 0x81, 0xe0, 0xb2, 0x6c,
0xf6, 0x2d, 0xf2, 0x15, 0x54, 0xe4, 0x84, 0x71, 0x99, 0x85, 0xf2, 0x65, 0xc9, 0x7f, 0x09, 0x61,
0x57, 0xdf, 0x22, 0x0f, 0x60, 0x49, 0x72, 0x60, 0xfd, 0x7c, 0xb3, 0xd0, 0x5e, 0xdf, 0x69, 0xa6,
0xaa, 0xa9, 0x00, 0xa5, 0x26, 0x1a, 0x0a, 0x4e, 0x1a, 0xb0, 0xca, 0x71, 0x34, 0x46, 0x57, 0xf0,
0xfa, 0x52, 0xb3, 0xd4, 0x2e, 0x19, 0xba, 0x4d, 0xbe, 0x80, 0x55, 0x3a, 0x15, 0x6c, 0x68, 0x5b,
0xbc, 0xbe, 0xec, 0xbf, 0x5b, 0x91, 0xed, 0xbe, 0xc5, 0xc9, 0x15, 0x28, 0x7b, 0xec, 0x68, 0xa8,
0x8c, 0x58, 0xf1, 0xa3, 0x59, 0xf5, 0xd8, 0x51, 0x57, 0xb6, 0xc9, 0x77, 0xb0, 0x64, 0xbb, 0xef,
0x18, 0xaf, 0xaf, 0x36, 0x4b, 0xed, 0xca, 0xce, 0xf5, 0xd4, 0x58, 0x7e, 0xc4, 0x93, 0x9f, 0xa8,
0x33, 0xc5, 0x17, 0xd4, 0xf6, 0x0c, 0x85, 0x6f, 0xfd, 0x55, 0x80, 0xcb, 0x3d, 0xe4, 0xa6, 0x67,
0xef, 0xe3, 0x20, 0x88, 0xe2, 0xe3, 0xa7, 0x45, 0x0b, 0xaa, 0x26, 0x73, 0x1c, 0x34, 0x85, 0xcd,
0x5c, 0x9d, 0xc2, 0x58, 0x1f, 0xf9, 0x12, 0x20, 0x18, 0x6e, 0xbf, 0xc7, 0xeb, 0x25, 0x7f, 0x90,
0x91, 0x9e, 0xd6, 0x14, 0x6a, 0x41, 0x20, 0x92, 0xb8, 0xef, 0xbe, 0x63, 0x73, 0xb4, 0x85, 0x14,
0xda, 0x26, 0x54, 0x26, 0xd4, 0x13, 0x76, 0x4c, 0x39, 0xda, 0x25, 0xd7, 0x8a, 0x96, 0x09, 0xd2,
0x39, 0xeb, 0x68, 0xfd, 0x57, 0x84, 0x6a, 0xa0, 0x2b, 0x35, 0x39, 0xe9, 0x41, 0x59, 0x8e, 0x69,
0x28, 0x7d, 0x0a, 0x2c, 0xb8, 0xd9, 0x49, 0xdf, 0x93, 0x3a, 0x89, 0x80, 0x8d, 0xd5, 0xfd, 0x30,
0xf4, 0x1e, 0x54, 0x6c, 0xd7, 0xc2, 0xe3, 0xa1, 0x4a, 0x4f, 0xd1, 0x4f, 0xcf, 0xd7, 0x71, 0x1e,
0xb9, 0x0b, 0x75, 0xb4, 0xb6, 0x85, 0xc7, 0x3e, 0x07, 0xd8, 0xe1, 0x23, 0x27, 0x08, 0x17, 0xf0,
0x58, 0x78, 0x74, 0x18, 0xe5, 0x2a, 0xf9, 0x5c, 0xdf, 0x9f, 0x12, 0x93, 0x4f, 0xd0, 0x79, 0x22,
0xbf, 0xd6, 0xdc, 0xfc, 0x89, 0x2b, 0xbc, 0x13, 0xa3, 0x86, 0xf1, 0xde, 0xc6, 0xef, 0x70, 0x31,
0x0d, 0x48, 0x36, 0xa0, 0x74, 0x88, 0x27, 0x81, 0xed, 0xf2, 0x91, 0xec, 0xc0, 0xd2, 0x07, 0x39,
0x95, 0x7c, 0x9f, 0xe7, 0xe6, 0x86, 0x3f, 0xa0, 0xd9, 0x48, 0x14, 0xf4, 0x51, 0xf1, 0x61, 0xa1,
0xf5, 0x6f, 0x11, 0xea, 0xf3, 0xd3, 0xed, 0x53, 0xf6, 0x8a, 0x3c, 0x53, 0x6e, 0x04, 0x6b, 0x41,
0xa2, 0x63, 0xd6, 0xed, 0x66, 0x59, 0x97, 0x15, 0x61, 0xcc, 0x53, 0xe5, 0x61, 0x95, 0x47, 0xba,
0x1a, 0x08, 0x17, 0xe6, 0x20, 0x29, 0xee, 0x3d, 0x8a, 0xbb, 0xf7, 0x4d, 0x9e, 0x14, 0x46, 0x5d,
0xb4, 0xe0, 0xe2, 0x53, 0x14, 0x5d, 0x0f, 0x2d, 0x74, 0x85, 0x4d, 0x9d, 0x8f, 0x5f, 0xb0, 0x0d,
0x58, 0x9d, 0x72, 0x59, 0x31, 0xc7, 0x2a, 0x98, 0xb2, 0xa1, 0xdb, 0xad, 0x3f, 0x0b, 0xb0, 0x99,
0x90, 0xf9, 0x94, 0x44, 0x2d, 0x90, 0x92, 0xef, 0x26, 0x94, 0xf3, 0x23, 0xe6, 0xa9, 0x8d, 0xb6,
0x6c, 0xe8, 0xf6, 0xce, 0xdf, 0xd7, 0xa0, 0x6c, 0x30, 0x26, 0xba, 0xd2, 0x12, 0x32, 0x01, 0x22,
0x63, 0x62, 0xe3, 0x09, 0x73, 0xd1, 0x55, 0x1b, 0x2b, 0x27, 0xf7, 0xe2, 0x01, 0xe8, 0x53, 0xc0,
0x3c, 0x34, 0xb0, 0xaa, 0x71, 0x23, 0xe3, 0x8b, 0x04, 0xbc, 0x75, 0x8e, 0x8c, 0x7d, 0x45, 0x59,
0xaf, 0x5f, 0xd9, 0xe6, 0x61, 0xf7, 0x80, 0xba, 0x2e, 0x3a, 0x8b, 0x14, 0x13, 0xd0, 0x50, 0x31,
0xb1, 0xe8, 0x83, 0xc6, 0x40, 0x78, 0xb6, 0x3b, 0x0a, 0x9d, 0x6d, 0x9d, 0x23, 0xef, 0xfd, 0xdc,
0x4a, 0x75, 0x9b, 0x0b, 0xdb, 0xe4, 0xa1, 0xe0, 0x4e, 0xb6, 0xe0, 0x1c, 0xf8, 0x8c, 0x92, 0x43,
0xd8, 0xe8, 0x7a, 0x48, 0x05, 0x76, 0xf5, 0xa2, 0x21, 0x77, 0x52, 0x3f, 0x4d, 0xc2, 0x42, 0xa1,
0x45, 0x13, 0xa0, 0x75, 0x8e, 0xfc, 0x0a, 0xeb, 0x3d, 0x8f, 0x4d, 0x22, 0xf4, 0xb7, 0x52, 0xe9,
0xe3, 0xa0, 0x9c, 0xe4, 0x43, 0x58, 0x7b, 0x46, 0x79, 0x84, 0x7b, 0x2b, 0x95, 0x3b, 0x86, 0x09,
0xa9, 0xaf, 0xa7, 0x42, 0x77, 0x19, 0x73, 0x22, 0xf6, 0x1c, 0x01, 0x09, 0x37, 0x84, 0x88, 0x4a,
0x27, 0x7d, 0x04, 0x73, 0xc0, 0x50, 0x6a, 0x3b, 0x37, 0x5e, 0x0b, 0xbf, 0x86, 0x8a, 0x32, 0xfc,
0xb1, 0x63, 0x53, 0x4e, 0x6e, 0x2e, 0x48, 0x89, 0x8f, 0xc8, 0x69, 0xd8, 0x4b, 0x28, 0x4b, 0xa3,
0x15, 0xe9, 0xb7, 0x99, 0x89, 0x38, 0x0b, 0xe5, 0x00, 0xe0, 0xb1, 0x23, 0xd0, 0x53, 0x9c, 0x37,
0x52, 0x39, 0x67, 0x80, 0x9c, 0xa4, 0x2e, 0xd4, 0x06, 0x07, 0xf2, 0x80, 0x13, 0x5a, 0xc3, 0xc9,
0xed, 0xf4, 0x09, 0x1d, 0x47, 0x85, 0xf4, 0x77, 0xf2, 0x81, 0xb5, 0xdd, 0x6f, 0xa1, 0xa6, 0xcc,
0x7c, 0x11, 0x1e, 0x1a, 0x32, 0xf4, 0x12, 0xa8, 0x9c, 0xc3, 0xf9, 0x19, 0xd6, 0xa4, 0xad, 0x33,
0xf2, 0xad, 0x4c, 0xeb, 0xcf, 0x4a, 0xfd, 0x16, 0xaa, 0xcf, 0x28, 0x9f, 0x31, 0xb7, 0xb3, 0x56,
0xc0, 0x1c, 0x71, 0xae, 0x05, 0x70, 0x08, 0xeb, 0xd2, 0x35, 0xfd, 0x31, 0xcf, 0x58, 0xbe, 0x71,
0x50, 0x28, 0x71, 0x3b, 0x17, 0x56, 0x8b, 0xb9, 0x50, 0x4b, 0x94, 0xdf, 0x8c, 0x2c, 0x24, 0x50,
0x8b, 0xb3, 0x3e, 0x07, 0xd6, 0x7a, 0x08, 0x55, 0x19, 0x4b, 0x58, 0xea, 0x33, 0xbc, 0x8b, 0x42,
0x42, 0xa5, 0xad, 0x1c, 0xc8, 0xc8, 0x26, 0xb2, 0x91, 0x3c, 0x55, 0x90, 0xed, 0xfc, 0xe7, 0x0f,
0xa5, 0x78, 0xef, 0xac, 0x07, 0x96, 0xe8, 0x26, 0xe2, 0x9f, 0xc7, 0x16, 0x6e, 0x22, 0x3e, 0x22,
0xe7, 0x94, 0x3b, 0x80, 0xb5, 0x50, 0x54, 0x11, 0x6f, 0x2d, 0xf4, 0x3d, 0x46, 0x7d, 0x2b, 0x0f,
0x54, 0x0f, 0x20, 0xd8, 0xae, 0x94, 0x4a, 0xf6, 0x76, 0x75, 0x96, 0xe0, 0xdf, 0x07, 0x37, 0x60,
0x7d, 0x09, 0x27, 0x77, 0xb3, 0x9c, 0x4d, 0xfd, 0x1d, 0xd0, 0xe8, 0xe4, 0x85, 0xeb, 0x51, 0xfc,
0x06, 0x2b, 0xc1, 0xd5, 0x38, 0xb9, 0x3d, 0x26, 0x3e, 0xd6, 0xb7, 0xf2, 0xc6, 0xcd, 0x53, 0x71,
0x9a, 0x9d, 0xc2, 0xe6, 0xeb, 0x89, 0x25, 0x4b, 0xb3, 0x3a, 0x00, 0x84, 0x47, 0x90, 0x64, 0x56,
0x66, 0xc7, 0x9c, 0x38, 0x6e, 0x8f, 0x8f, 0x4e, 0xf3, 0xcc, 0x81, 0xcb, 0x06, 0x3a, 0x48, 0x39,
0xf6, 0x5e, 0x3e, 0xdf, 0x43, 0xce, 0xe9, 0x08, 0x07, 0xc2, 0x43, 0x3a, 0x4e, 0x1e, 0x4d, 0xd4,
0x3f, 0x97, 0x0c, 0x70, 0xce, 0x0c, 0x79, 0x70, 0xad, 0xef, 0x7e, 0xa0, 0x8e, 0x6d, 0xc5, 0xce,
0x1b, 0x7b, 0x28, 0x68, 0x97, 0x9a, 0x07, 0x98, 0xae, 0x19, 0xff, 0x44, 0x83, 0x73, 0x6a, 0x9a,
0xb0, 0x19, 0xac, 0x9f, 0x1f, 0x9c, 0x29, 0x3f, 0x90, 0x27, 0x41, 0x07, 0x05, 0x5a, 0xc9, 0xfd,
0xc7, 0xa2, 0x82, 0x76, 0x52, 0x91, 0x39, 0x6c, 0x1c, 0x02, 0x3c, 0x45, 0xb1, 0x87, 0xc2, 0xb3,
0xcd, 0xac, 0x4a, 0x39, 0x03, 0x64, 0x4c, 0x85, 0x14, 0x9c, 0x9e, 0x0a, 0x03, 0x58, 0x56, 0xff,
0x1c, 0x48, 0x2b, 0xf5, 0xa3, 0xf0, 0x8f, 0xc9, 0xa2, 0x13, 0xa2, 0xfe, 0xab, 0x12, 0xa9, 0x00,
0x4f, 0x51, 0x44, 0xfe, 0x65, 0x64, 0x54, 0x80, 0x38, 0x68, 0x71, 0x05, 0x48, 0x62, 0xa3, 0x15,
0xe0, 0xb9, 0xcd, 0x83, 0x97, 0xaf, 0x28, 0x3f, 0xcc, 0xaa, 0xfb, 0x09, 0xd4, 0xe2, 0x0a, 0x30,
0x07, 0x8e, 0x38, 0x56, 0x35, 0x50, 0xbe, 0x08, 0x7c, 0xcb, 0xbc, 0x8e, 0x45, 0x7f, 0x36, 0x9d,
0x96, 0xe7, 0x37, 0xfa, 0x4c, 0xad, 0xaf, 0x4f, 0xc9, 0xcd, 0x6b, 0xb6, 0x18, 0x35, 0x44, 0xde,
0xf4, 0x72, 0x30, 0x07, 0x6b, 0xfd, 0x73, 0x33, 0x0f, 0x65, 0x8d, 0x92, 0x13, 0x39, 0xc2, 0x9c,
0x55, 0x4e, 0xe3, 0xb0, 0xfc, 0x45, 0x43, 0xa6, 0x41, 0x7e, 0xf7, 0x9a, 0xa3, 0xc7, 0x33, 0x8a,
0x46, 0x0c, 0xb3, 0xb8, 0x68, 0x24, 0xa0, 0x91, 0x39, 0xb4, 0x16, 0xbb, 0xba, 0x26, 0xc7, 0x31,
0x4b, 0x6a, 0xda, 0x45, 0xba, 0x71, 0x37, 0x27, 0x3a, 0xd4, 0xdb, 0x7d, 0xf8, 0xcb, 0x83, 0x91,
0x2d, 0x0e, 0xa6, 0xfb, 0x72, 0xcc, 0xdb, 0xea, 0xe3, 0xbb, 0x36, 0x0b, 0x9e, 0xb6, 0xc3, 0x84,
0x6c, 0xfb, 0x7c, 0xdb, 0x9a, 0x6f, 0xb2, 0xbf, 0xbf, 0xec, 0x77, 0xdd, 0xff, 0x3f, 0x00, 0x00,
0xff, 0xff, 0x33, 0x57, 0x82, 0x35, 0x01, 0x17, 0x00, 0x00,
// 1614 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x5b, 0x73, 0xd3, 0x46,
0x14, 0xc6, 0x36, 0xb9, 0x1d, 0x3b, 0x71, 0xd8, 0x21, 0xe0, 0x1a, 0xda, 0x1a, 0x97, 0x82, 0xc3,
0xc5, 0x61, 0xc2, 0x0c, 0xa5, 0xbc, 0x91, 0x98, 0x06, 0x4f, 0xc9, 0x10, 0x64, 0xe8, 0xd0, 0x0b,
0xe3, 0x6e, 0xa4, 0x83, 0xa3, 0x89, 0xac, 0x35, 0xda, 0x75, 0x2e, 0x6f, 0xed, 0x4c, 0xdf, 0xfb,
0x9f, 0xda, 0x9f, 0xd2, 0x3f, 0xd2, 0x59, 0xad, 0xb4, 0x96, 0x64, 0xc9, 0x51, 0x80, 0x37, 0xef,
0xea, 0xdb, 0xef, 0x3b, 0xfb, 0xed, 0xe5, 0x9c, 0x35, 0xac, 0x7a, 0x8c, 0x89, 0xbe, 0xc9, 0x98,
0x67, 0xb5, 0x47, 0x1e, 0x13, 0x8c, 0x5c, 0x19, 0xda, 0xce, 0xd1, 0x98, 0xab, 0x56, 0x5b, 0x7e,
0xf6, 0xbf, 0xd6, 0x2b, 0x26, 0x1b, 0x0e, 0x99, 0xab, 0xfa, 0xeb, 0x95, 0x28, 0xaa, 0xbe, 0x62,
0xbb, 0x02, 0x3d, 0x97, 0x3a, 0x41, 0xbb, 0x3c, 0xf2, 0xd8, 0xc9, 0x69, 0xd0, 0x58, 0xb5, 0xa8,
0xa0, 0x51, 0x89, 0x7a, 0x15, 0x85, 0x69, 0xf5, 0x87, 0x28, 0xa8, 0xea, 0x68, 0xf6, 0x61, 0xed,
0xa9, 0xe3, 0x30, 0xf3, 0xb5, 0x3d, 0x44, 0x2e, 0xe8, 0x70, 0x64, 0xe0, 0x87, 0x31, 0x72, 0x41,
0x1e, 0xc0, 0xc5, 0x7d, 0xca, 0xb1, 0x56, 0x68, 0x14, 0x5a, 0xe5, 0xcd, 0xeb, 0xed, 0x58, 0x6c,
0x41, 0x40, 0xbb, 0x7c, 0xb0, 0x45, 0x39, 0x1a, 0x3e, 0x92, 0x5c, 0x86, 0x39, 0x93, 0x8d, 0x5d,
0x51, 0x2b, 0x35, 0x0a, 0xad, 0x65, 0x43, 0x35, 0x9a, 0x7f, 0x16, 0xe0, 0x4a, 0x52, 0x81, 0x8f,
0x98, 0xcb, 0x91, 0x3c, 0x84, 0x79, 0x2e, 0xa8, 0x18, 0xf3, 0x40, 0xe4, 0x5a, 0xaa, 0x48, 0xcf,
0x87, 0x18, 0x01, 0x94, 0x5c, 0x87, 0x25, 0x11, 0x32, 0xd5, 0x8a, 0x8d, 0x42, 0xeb, 0xa2, 0x31,
0xe9, 0xc8, 0x88, 0xe1, 0x2d, 0xac, 0xf8, 0x21, 0x74, 0x3b, 0x9f, 0x61, 0x76, 0xc5, 0x28, 0xb3,
0x03, 0x55, 0xcd, 0xfc, 0x29, 0xb3, 0x5a, 0x81, 0x62, 0xb7, 0xe3, 0x53, 0x97, 0x8c, 0x62, 0xb7,
0x93, 0x31, 0x8f, 0x7f, 0x8a, 0x50, 0xe9, 0x0e, 0x47, 0xcc, 0x13, 0x06, 0xf2, 0xb1, 0x23, 0x3e,
0x4e, 0xeb, 0x2a, 0x2c, 0x08, 0xca, 0x0f, 0xfb, 0xb6, 0x15, 0x08, 0xce, 0xcb, 0x66, 0xd7, 0x22,
0x5f, 0x43, 0x59, 0x6e, 0x18, 0x97, 0x59, 0x28, 0x3f, 0x96, 0xfc, 0x8f, 0x10, 0x76, 0x75, 0x2d,
0xf2, 0x08, 0xe6, 0x24, 0x07, 0xd6, 0x2e, 0x36, 0x0a, 0xad, 0x95, 0xcd, 0x46, 0xaa, 0x9a, 0x0a,
0x50, 0x6a, 0xa2, 0xa1, 0xe0, 0xa4, 0x0e, 0x8b, 0x1c, 0x07, 0x43, 0x74, 0x05, 0xaf, 0xcd, 0x35,
0x4a, 0xad, 0x92, 0xa1, 0xdb, 0xe4, 0x0b, 0x58, 0xa4, 0x63, 0xc1, 0xfa, 0xb6, 0xc5, 0x6b, 0xf3,
0xfe, 0xb7, 0x05, 0xd9, 0xee, 0x5a, 0x9c, 0x5c, 0x83, 0x25, 0x8f, 0x1d, 0xf7, 0x95, 0x11, 0x0b,
0x7e, 0x34, 0x8b, 0x1e, 0x3b, 0xde, 0x96, 0x6d, 0xf2, 0x1d, 0xcc, 0xd9, 0xee, 0x7b, 0xc6, 0x6b,
0x8b, 0x8d, 0x52, 0xab, 0xbc, 0x79, 0x23, 0x35, 0x96, 0x1f, 0xf1, 0xf4, 0x27, 0xea, 0x8c, 0x71,
0x8f, 0xda, 0x9e, 0xa1, 0xf0, 0xcd, 0xbf, 0x0b, 0x70, 0xb5, 0x83, 0xdc, 0xf4, 0xec, 0x7d, 0xec,
0x05, 0x51, 0x7c, 0xfc, 0xb6, 0x68, 0x42, 0xc5, 0x64, 0x8e, 0x83, 0xa6, 0xb0, 0x99, 0xab, 0x97,
0x30, 0xd6, 0x47, 0xbe, 0x02, 0x08, 0xa6, 0xdb, 0xed, 0xf0, 0x5a, 0xc9, 0x9f, 0x64, 0xa4, 0xa7,
0x39, 0x86, 0x6a, 0x10, 0x88, 0x24, 0xee, 0xba, 0xef, 0xd9, 0x14, 0x6d, 0x21, 0x85, 0xb6, 0x01,
0xe5, 0x11, 0xf5, 0x84, 0x1d, 0x53, 0x8e, 0x76, 0xc9, 0xb3, 0xa2, 0x65, 0x82, 0xe5, 0x9c, 0x74,
0x34, 0xff, 0x2b, 0x42, 0x25, 0xd0, 0x95, 0x9a, 0x9c, 0x74, 0x60, 0x49, 0xce, 0xa9, 0x2f, 0x7d,
0x0a, 0x2c, 0xb8, 0xdd, 0x4e, 0xbf, 0x93, 0xda, 0x89, 0x80, 0x8d, 0xc5, 0xfd, 0x30, 0xf4, 0x0e,
0x94, 0x6d, 0xd7, 0xc2, 0x93, 0xbe, 0x5a, 0x9e, 0xa2, 0xbf, 0x3c, 0xdf, 0xc4, 0x79, 0xe4, 0x2d,
0xd4, 0xd6, 0xda, 0x16, 0x9e, 0xf8, 0x1c, 0x60, 0x87, 0x3f, 0x39, 0x41, 0xb8, 0x84, 0x27, 0xc2,
0xa3, 0xfd, 0x28, 0x57, 0xc9, 0xe7, 0xfa, 0xfe, 0x8c, 0x98, 0x7c, 0x82, 0xf6, 0x33, 0x39, 0x5a,
0x73, 0xf3, 0x67, 0xae, 0xf0, 0x4e, 0x8d, 0x2a, 0xc6, 0x7b, 0xeb, 0xbf, 0xc3, 0xe5, 0x34, 0x20,
0x59, 0x85, 0xd2, 0x21, 0x9e, 0x06, 0xb6, 0xcb, 0x9f, 0x64, 0x13, 0xe6, 0x8e, 0xe4, 0x56, 0xf2,
0x7d, 0x9e, 0xda, 0x1b, 0xfe, 0x84, 0x26, 0x33, 0x51, 0xd0, 0x27, 0xc5, 0xc7, 0x85, 0xe6, 0xbf,
0x45, 0xa8, 0x4d, 0x6f, 0xb7, 0x4f, 0xb9, 0x2b, 0xf2, 0x6c, 0xb9, 0x01, 0x2c, 0x07, 0x0b, 0x1d,
0xb3, 0x6e, 0x2b, 0xcb, 0xba, 0xac, 0x08, 0x63, 0x9e, 0x2a, 0x0f, 0x2b, 0x3c, 0xd2, 0x55, 0x47,
0xb8, 0x34, 0x05, 0x49, 0x71, 0xef, 0x49, 0xdc, 0xbd, 0x9b, 0x79, 0x96, 0x30, 0xea, 0xa2, 0x05,
0x97, 0x77, 0x50, 0x6c, 0x7b, 0x68, 0xa1, 0x2b, 0x6c, 0xea, 0x7c, 0xfc, 0x81, 0xad, 0xc3, 0xe2,
0x98, 0xcb, 0x8c, 0x39, 0x54, 0xc1, 0x2c, 0x19, 0xba, 0xdd, 0xfc, 0xab, 0x00, 0x6b, 0x09, 0x99,
0x4f, 0x59, 0xa8, 0x19, 0x52, 0xf2, 0xdb, 0x88, 0x72, 0x7e, 0xcc, 0x3c, 0x75, 0xd1, 0x2e, 0x19,
0xba, 0xbd, 0xf9, 0xc7, 0x4d, 0x58, 0x32, 0x18, 0x13, 0xdb, 0xd2, 0x12, 0x32, 0x02, 0x22, 0x63,
0x62, 0xc3, 0x11, 0x73, 0xd1, 0x55, 0x17, 0x2b, 0x27, 0x0f, 0xe2, 0x01, 0xe8, 0x2a, 0x60, 0x1a,
0x1a, 0x58, 0x55, 0xbf, 0x95, 0x31, 0x22, 0x01, 0x6f, 0x5e, 0x20, 0x43, 0x5f, 0x51, 0xe6, 0xeb,
0xd7, 0xb6, 0x79, 0xb8, 0x7d, 0x40, 0x5d, 0x17, 0x9d, 0x59, 0x8a, 0x09, 0x68, 0xa8, 0x98, 0x38,
0xf4, 0x41, 0xa3, 0x27, 0x3c, 0xdb, 0x1d, 0x84, 0xce, 0x36, 0x2f, 0x90, 0x0f, 0xfe, 0xda, 0x4a,
0x75, 0x9b, 0x0b, 0xdb, 0xe4, 0xa1, 0xe0, 0x66, 0xb6, 0xe0, 0x14, 0xf8, 0x9c, 0x92, 0x7d, 0x58,
0xdd, 0xf6, 0x90, 0x0a, 0xdc, 0xd6, 0x87, 0x86, 0xdc, 0x4b, 0x1d, 0x9a, 0x84, 0x85, 0x42, 0xb3,
0x36, 0x40, 0xf3, 0x02, 0xf9, 0x15, 0x56, 0x3a, 0x1e, 0x1b, 0x45, 0xe8, 0xef, 0xa4, 0xd2, 0xc7,
0x41, 0x39, 0xc9, 0xfb, 0xb0, 0xfc, 0x9c, 0xf2, 0x08, 0xf7, 0x7a, 0x2a, 0x77, 0x0c, 0x13, 0x52,
0xdf, 0x48, 0x85, 0x6e, 0x31, 0xe6, 0x44, 0xec, 0x39, 0x06, 0x12, 0x5e, 0x08, 0x11, 0x95, 0x76,
0xfa, 0x0c, 0xa6, 0x80, 0xa1, 0xd4, 0x46, 0x6e, 0xbc, 0x16, 0x7e, 0x03, 0x65, 0x65, 0xf8, 0x53,
0xc7, 0xa6, 0x9c, 0xdc, 0x9e, 0xb1, 0x24, 0x3e, 0x22, 0xa7, 0x61, 0xaf, 0x60, 0x49, 0x1a, 0xad,
0x48, 0xbf, 0xcd, 0x5c, 0x88, 0xf3, 0x50, 0xf6, 0x00, 0x9e, 0x3a, 0x02, 0x3d, 0xc5, 0x79, 0x2b,
0x95, 0x73, 0x02, 0xc8, 0x49, 0xea, 0x42, 0xb5, 0x77, 0x20, 0x0b, 0x9c, 0xd0, 0x1a, 0x4e, 0xee,
0xa6, 0x6f, 0xe8, 0x38, 0x2a, 0xa4, 0xbf, 0x97, 0x0f, 0xac, 0xed, 0x7e, 0x07, 0x55, 0x65, 0xe6,
0x5e, 0x58, 0x34, 0x64, 0xe8, 0x25, 0x50, 0x39, 0xa7, 0xf3, 0x33, 0x2c, 0x4b, 0x5b, 0x27, 0xe4,
0xeb, 0x99, 0xd6, 0x9f, 0x97, 0xfa, 0x1d, 0x54, 0x9e, 0x53, 0x3e, 0x61, 0x6e, 0x65, 0x9d, 0x80,
0x29, 0xe2, 0x5c, 0x07, 0xe0, 0x10, 0x56, 0xa4, 0x6b, 0x7a, 0x30, 0xcf, 0x38, 0xbe, 0x71, 0x50,
0x28, 0x71, 0x37, 0x17, 0x56, 0x8b, 0xb9, 0x50, 0x4d, 0xa4, 0xdf, 0x8c, 0x55, 0x48, 0xa0, 0x66,
0xaf, 0xfa, 0x14, 0x58, 0xeb, 0x21, 0x54, 0x64, 0x2c, 0x61, 0xaa, 0xcf, 0xf0, 0x2e, 0x0a, 0x09,
0x95, 0xd6, 0x73, 0x20, 0x23, 0x97, 0xc8, 0x6a, 0xb2, 0xaa, 0x20, 0x1b, 0xf9, 0xeb, 0x0f, 0xa5,
0xf8, 0xe0, 0xbc, 0x05, 0x4b, 0xf4, 0x12, 0xf1, 0xeb, 0xb1, 0x99, 0x97, 0x88, 0x8f, 0xc8, 0xb9,
0xe5, 0x0e, 0x60, 0x39, 0x14, 0x55, 0xc4, 0xeb, 0x33, 0x7d, 0x8f, 0x51, 0xdf, 0xc9, 0x03, 0xd5,
0x13, 0x08, 0xae, 0x2b, 0xa5, 0x92, 0x7d, 0x5d, 0x9d, 0x27, 0xf8, 0x0f, 0xc1, 0x0b, 0x58, 0x3f,
0xc2, 0xc9, 0xfd, 0x2c, 0x67, 0x53, 0xff, 0x0e, 0xa8, 0xb7, 0xf3, 0xc2, 0xf5, 0x2c, 0x7e, 0x83,
0x85, 0xe0, 0x69, 0x9c, 0xbc, 0x1e, 0x13, 0x83, 0xf5, 0xab, 0xbc, 0x7e, 0xfb, 0x4c, 0x9c, 0x66,
0xa7, 0xb0, 0xf6, 0x66, 0x64, 0xc9, 0xd4, 0xac, 0x0a, 0x80, 0xb0, 0x04, 0x49, 0xae, 0xca, 0xa4,
0xcc, 0x89, 0xe3, 0x76, 0xf9, 0xe0, 0x2c, 0xcf, 0x1c, 0xb8, 0x6a, 0xa0, 0x83, 0x94, 0x63, 0xe7,
0xd5, 0x8b, 0x5d, 0xe4, 0x9c, 0x0e, 0xb0, 0x27, 0x3c, 0xa4, 0xc3, 0x64, 0x69, 0xa2, 0xfe, 0x73,
0xc9, 0x00, 0xe7, 0x5c, 0x21, 0x0f, 0xbe, 0xec, 0xba, 0x47, 0xd4, 0xb1, 0xad, 0x58, 0xbd, 0xb1,
0x8b, 0x82, 0x6e, 0x53, 0xf3, 0x00, 0xd3, 0x35, 0xe3, 0x43, 0x34, 0x38, 0xa7, 0xa6, 0x09, 0x6b,
0xc1, 0xf9, 0xf9, 0xc1, 0x19, 0xf3, 0x03, 0x59, 0x09, 0x3a, 0x28, 0xd0, 0x4a, 0xde, 0x3f, 0x16,
0x15, 0xb4, 0x9d, 0x8a, 0xcc, 0x61, 0x63, 0x1f, 0x60, 0x07, 0xc5, 0x2e, 0x0a, 0xcf, 0x36, 0xb3,
0x32, 0xe5, 0x04, 0x90, 0xb1, 0x15, 0x52, 0x70, 0x7a, 0x2b, 0xf4, 0x60, 0x5e, 0xfd, 0xe7, 0x40,
0x9a, 0xa9, 0x83, 0xc2, 0x7f, 0x4c, 0x66, 0x55, 0x88, 0xfa, 0x5f, 0x95, 0x48, 0x06, 0xd8, 0x41,
0x11, 0xf9, 0x2f, 0x23, 0x23, 0x03, 0xc4, 0x41, 0xb3, 0x33, 0x40, 0x12, 0x1b, 0xcd, 0x00, 0x2f,
0x6c, 0x1e, 0x7c, 0x7c, 0x4d, 0xf9, 0x61, 0x56, 0xde, 0x4f, 0xa0, 0x66, 0x67, 0x80, 0x29, 0x70,
0xc4, 0xb1, 0x8a, 0x81, 0xf2, 0x43, 0xe0, 0x5b, 0xe6, 0x73, 0x2c, 0xfa, 0x67, 0xd3, 0x59, 0xeb,
0xfc, 0x56, 0xd7, 0xd4, 0xfa, 0xf9, 0x94, 0xbc, 0xbc, 0x26, 0x87, 0x51, 0x43, 0xe4, 0x4b, 0x2f,
0x07, 0x73, 0x70, 0xd6, 0x3f, 0x37, 0x73, 0x5f, 0xe6, 0x28, 0xb9, 0x91, 0x23, 0xcc, 0x59, 0xe9,
0x34, 0x0e, 0xcb, 0x9f, 0x34, 0xe4, 0x32, 0xc8, 0x71, 0x6f, 0x38, 0x7a, 0x3c, 0x23, 0x69, 0xc4,
0x30, 0xb3, 0x93, 0x46, 0x02, 0x1a, 0xd9, 0x43, 0xcb, 0xb1, 0xa7, 0x6b, 0x72, 0x1e, 0x93, 0x45,
0x4d, 0x7b, 0x48, 0xd7, 0xef, 0xe7, 0x44, 0x47, 0xf6, 0x10, 0xa8, 0xe5, 0x36, 0x98, 0x83, 0x19,
0xc7, 0x7a, 0x02, 0xc8, 0x69, 0xd7, 0x4b, 0x58, 0x94, 0x99, 0xcd, 0xa7, 0xbc, 0x99, 0x99, 0xf8,
0xce, 0x41, 0xf8, 0x0e, 0xaa, 0x2f, 0x47, 0xe8, 0x51, 0x81, 0xd2, 0x2f, 0x9f, 0x37, 0xfd, 0x64,
0x25, 0x50, 0xb9, 0x5f, 0x62, 0xd0, 0x43, 0x79, 0x53, 0xcf, 0x30, 0x61, 0x02, 0x98, 0x7d, 0xb7,
0x45, 0x71, 0x91, 0x87, 0x6a, 0x20, 0x20, 0x03, 0x9b, 0x29, 0xe0, 0x47, 0x9e, 0x43, 0x40, 0xe1,
0x62, 0x95, 0xae, 0x12, 0x46, 0xce, 0xc6, 0x9e, 0x99, 0x75, 0xcf, 0xc5, 0x41, 0x67, 0x54, 0xba,
0x09, 0x6c, 0xf4, 0xd9, 0x1d, 0xf8, 0xbc, 0xe7, 0xd9, 0x47, 0xb6, 0x83, 0x03, 0xcc, 0x38, 0x6e,
0x49, 0x58, 0xce, 0xf5, 0xd8, 0x87, 0xb2, 0x12, 0xdf, 0xf1, 0xa8, 0x2b, 0xc8, 0x2c, 0x1f, 0x7c,
0x44, 0x48, 0xdb, 0x3a, 0x1b, 0xa8, 0x27, 0x61, 0x02, 0xc8, 0x33, 0xb8, 0xc7, 0x1c, 0xdb, 0x3c,
0x4d, 0x16, 0xcf, 0xfa, 0x1e, 0x9a, 0x40, 0x32, 0x8a, 0xe7, 0x54, 0x64, 0x28, 0xb2, 0xf5, 0xf8,
0x97, 0x47, 0x03, 0x5b, 0x1c, 0x8c, 0xf7, 0xe5, 0x14, 0x37, 0xd4, 0xc0, 0xfb, 0x36, 0x0b, 0x7e,
0x6d, 0x84, 0x83, 0x37, 0x7c, 0xae, 0x0d, 0x7d, 0x5a, 0x47, 0xfb, 0xfb, 0xf3, 0x7e, 0xd7, 0xc3,
0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x34, 0x40, 0xda, 0x7b, 0x5f, 0x1a, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -869,6 +878,16 @@ type RootCoordClient interface {
ListCredUsers(ctx context.Context, in *milvuspb.ListCredUsersRequest, opts ...grpc.CallOption) (*milvuspb.ListCredUsersResponse, error)
// userd by proxy, not exposed to sdk
GetCredential(ctx context.Context, in *GetCredentialRequest, opts ...grpc.CallOption) (*GetCredentialResponse, error)
// https://wiki.lfaidata.foundation/display/MIL/MEP+29+--+Support+Role-Based+Access+Control
CreateRole(ctx context.Context, in *milvuspb.CreateRoleRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
DropRole(ctx context.Context, in *milvuspb.DropRoleRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
OperateUserRole(ctx context.Context, in *milvuspb.OperateUserRoleRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
SelectRole(ctx context.Context, in *milvuspb.SelectRoleRequest, opts ...grpc.CallOption) (*milvuspb.SelectRoleResponse, error)
SelectUser(ctx context.Context, in *milvuspb.SelectUserRequest, opts ...grpc.CallOption) (*milvuspb.SelectUserResponse, error)
SelectResource(ctx context.Context, in *milvuspb.SelectResourceRequest, opts ...grpc.CallOption) (*milvuspb.SelectResourceResponse, error)
OperatePrivilege(ctx context.Context, in *milvuspb.OperatePrivilegeRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
SelectGrant(ctx context.Context, in *milvuspb.SelectGrantRequest, opts ...grpc.CallOption) (*milvuspb.SelectGrantResponse, error)
ListPolicy(ctx context.Context, in *internalpb.ListPolicyRequest, opts ...grpc.CallOption) (*internalpb.ListPolicyResponse, error)
}
type rootCoordClient struct {
@ -1212,6 +1231,87 @@ func (c *rootCoordClient) GetCredential(ctx context.Context, in *GetCredentialRe
return out, nil
}
func (c *rootCoordClient) CreateRole(ctx context.Context, in *milvuspb.CreateRoleRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
out := new(commonpb.Status)
err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/CreateRole", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *rootCoordClient) DropRole(ctx context.Context, in *milvuspb.DropRoleRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
out := new(commonpb.Status)
err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/DropRole", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *rootCoordClient) OperateUserRole(ctx context.Context, in *milvuspb.OperateUserRoleRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
out := new(commonpb.Status)
err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/OperateUserRole", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *rootCoordClient) SelectRole(ctx context.Context, in *milvuspb.SelectRoleRequest, opts ...grpc.CallOption) (*milvuspb.SelectRoleResponse, error) {
out := new(milvuspb.SelectRoleResponse)
err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/SelectRole", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *rootCoordClient) SelectUser(ctx context.Context, in *milvuspb.SelectUserRequest, opts ...grpc.CallOption) (*milvuspb.SelectUserResponse, error) {
out := new(milvuspb.SelectUserResponse)
err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/SelectUser", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *rootCoordClient) SelectResource(ctx context.Context, in *milvuspb.SelectResourceRequest, opts ...grpc.CallOption) (*milvuspb.SelectResourceResponse, error) {
out := new(milvuspb.SelectResourceResponse)
err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/SelectResource", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *rootCoordClient) OperatePrivilege(ctx context.Context, in *milvuspb.OperatePrivilegeRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
out := new(commonpb.Status)
err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/OperatePrivilege", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *rootCoordClient) SelectGrant(ctx context.Context, in *milvuspb.SelectGrantRequest, opts ...grpc.CallOption) (*milvuspb.SelectGrantResponse, error) {
out := new(milvuspb.SelectGrantResponse)
err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/SelectGrant", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *rootCoordClient) ListPolicy(ctx context.Context, in *internalpb.ListPolicyRequest, opts ...grpc.CallOption) (*internalpb.ListPolicyResponse, error) {
out := new(internalpb.ListPolicyResponse)
err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/ListPolicy", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// RootCoordServer is the server API for RootCoord service.
type RootCoordServer interface {
GetComponentStates(context.Context, *internalpb.GetComponentStatesRequest) (*internalpb.ComponentStates, error)
@ -1301,6 +1401,16 @@ type RootCoordServer interface {
ListCredUsers(context.Context, *milvuspb.ListCredUsersRequest) (*milvuspb.ListCredUsersResponse, error)
// userd by proxy, not exposed to sdk
GetCredential(context.Context, *GetCredentialRequest) (*GetCredentialResponse, error)
// https://wiki.lfaidata.foundation/display/MIL/MEP+29+--+Support+Role-Based+Access+Control
CreateRole(context.Context, *milvuspb.CreateRoleRequest) (*commonpb.Status, error)
DropRole(context.Context, *milvuspb.DropRoleRequest) (*commonpb.Status, error)
OperateUserRole(context.Context, *milvuspb.OperateUserRoleRequest) (*commonpb.Status, error)
SelectRole(context.Context, *milvuspb.SelectRoleRequest) (*milvuspb.SelectRoleResponse, error)
SelectUser(context.Context, *milvuspb.SelectUserRequest) (*milvuspb.SelectUserResponse, error)
SelectResource(context.Context, *milvuspb.SelectResourceRequest) (*milvuspb.SelectResourceResponse, error)
OperatePrivilege(context.Context, *milvuspb.OperatePrivilegeRequest) (*commonpb.Status, error)
SelectGrant(context.Context, *milvuspb.SelectGrantRequest) (*milvuspb.SelectGrantResponse, error)
ListPolicy(context.Context, *internalpb.ListPolicyRequest) (*internalpb.ListPolicyResponse, error)
}
// UnimplementedRootCoordServer can be embedded to have forward compatible implementations.
@ -1418,6 +1528,33 @@ func (*UnimplementedRootCoordServer) ListCredUsers(ctx context.Context, req *mil
func (*UnimplementedRootCoordServer) GetCredential(ctx context.Context, req *GetCredentialRequest) (*GetCredentialResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetCredential not implemented")
}
func (*UnimplementedRootCoordServer) CreateRole(ctx context.Context, req *milvuspb.CreateRoleRequest) (*commonpb.Status, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateRole not implemented")
}
func (*UnimplementedRootCoordServer) DropRole(ctx context.Context, req *milvuspb.DropRoleRequest) (*commonpb.Status, error) {
return nil, status.Errorf(codes.Unimplemented, "method DropRole not implemented")
}
func (*UnimplementedRootCoordServer) OperateUserRole(ctx context.Context, req *milvuspb.OperateUserRoleRequest) (*commonpb.Status, error) {
return nil, status.Errorf(codes.Unimplemented, "method OperateUserRole not implemented")
}
func (*UnimplementedRootCoordServer) SelectRole(ctx context.Context, req *milvuspb.SelectRoleRequest) (*milvuspb.SelectRoleResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SelectRole not implemented")
}
func (*UnimplementedRootCoordServer) SelectUser(ctx context.Context, req *milvuspb.SelectUserRequest) (*milvuspb.SelectUserResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SelectUser not implemented")
}
func (*UnimplementedRootCoordServer) SelectResource(ctx context.Context, req *milvuspb.SelectResourceRequest) (*milvuspb.SelectResourceResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SelectResource not implemented")
}
func (*UnimplementedRootCoordServer) OperatePrivilege(ctx context.Context, req *milvuspb.OperatePrivilegeRequest) (*commonpb.Status, error) {
return nil, status.Errorf(codes.Unimplemented, "method OperatePrivilege not implemented")
}
func (*UnimplementedRootCoordServer) SelectGrant(ctx context.Context, req *milvuspb.SelectGrantRequest) (*milvuspb.SelectGrantResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SelectGrant not implemented")
}
func (*UnimplementedRootCoordServer) ListPolicy(ctx context.Context, req *internalpb.ListPolicyRequest) (*internalpb.ListPolicyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListPolicy not implemented")
}
func RegisterRootCoordServer(s *grpc.Server, srv RootCoordServer) {
s.RegisterService(&_RootCoord_serviceDesc, srv)
@ -2089,6 +2226,168 @@ func _RootCoord_GetCredential_Handler(srv interface{}, ctx context.Context, dec
return interceptor(ctx, in, info, handler)
}
func _RootCoord_CreateRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(milvuspb.CreateRoleRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RootCoordServer).CreateRole(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.rootcoord.RootCoord/CreateRole",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RootCoordServer).CreateRole(ctx, req.(*milvuspb.CreateRoleRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RootCoord_DropRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(milvuspb.DropRoleRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RootCoordServer).DropRole(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.rootcoord.RootCoord/DropRole",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RootCoordServer).DropRole(ctx, req.(*milvuspb.DropRoleRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RootCoord_OperateUserRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(milvuspb.OperateUserRoleRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RootCoordServer).OperateUserRole(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.rootcoord.RootCoord/OperateUserRole",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RootCoordServer).OperateUserRole(ctx, req.(*milvuspb.OperateUserRoleRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RootCoord_SelectRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(milvuspb.SelectRoleRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RootCoordServer).SelectRole(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.rootcoord.RootCoord/SelectRole",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RootCoordServer).SelectRole(ctx, req.(*milvuspb.SelectRoleRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RootCoord_SelectUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(milvuspb.SelectUserRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RootCoordServer).SelectUser(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.rootcoord.RootCoord/SelectUser",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RootCoordServer).SelectUser(ctx, req.(*milvuspb.SelectUserRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RootCoord_SelectResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(milvuspb.SelectResourceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RootCoordServer).SelectResource(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.rootcoord.RootCoord/SelectResource",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RootCoordServer).SelectResource(ctx, req.(*milvuspb.SelectResourceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RootCoord_OperatePrivilege_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(milvuspb.OperatePrivilegeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RootCoordServer).OperatePrivilege(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.rootcoord.RootCoord/OperatePrivilege",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RootCoordServer).OperatePrivilege(ctx, req.(*milvuspb.OperatePrivilegeRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RootCoord_SelectGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(milvuspb.SelectGrantRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RootCoordServer).SelectGrant(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.rootcoord.RootCoord/SelectGrant",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RootCoordServer).SelectGrant(ctx, req.(*milvuspb.SelectGrantRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RootCoord_ListPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(internalpb.ListPolicyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RootCoordServer).ListPolicy(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.rootcoord.RootCoord/ListPolicy",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RootCoordServer).ListPolicy(ctx, req.(*internalpb.ListPolicyRequest))
}
return interceptor(ctx, in, info, handler)
}
var _RootCoord_serviceDesc = grpc.ServiceDesc{
ServiceName: "milvus.proto.rootcoord.RootCoord",
HandlerType: (*RootCoordServer)(nil),
@ -2241,6 +2540,42 @@ var _RootCoord_serviceDesc = grpc.ServiceDesc{
MethodName: "GetCredential",
Handler: _RootCoord_GetCredential_Handler,
},
{
MethodName: "CreateRole",
Handler: _RootCoord_CreateRole_Handler,
},
{
MethodName: "DropRole",
Handler: _RootCoord_DropRole_Handler,
},
{
MethodName: "OperateUserRole",
Handler: _RootCoord_OperateUserRole_Handler,
},
{
MethodName: "SelectRole",
Handler: _RootCoord_SelectRole_Handler,
},
{
MethodName: "SelectUser",
Handler: _RootCoord_SelectUser_Handler,
},
{
MethodName: "SelectResource",
Handler: _RootCoord_SelectResource_Handler,
},
{
MethodName: "OperatePrivilege",
Handler: _RootCoord_OperatePrivilege_Handler,
},
{
MethodName: "SelectGrant",
Handler: _RootCoord_SelectGrant_Handler,
},
{
MethodName: "ListPolicy",
Handler: _RootCoord_ListPolicy_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "root_coord.proto",

View File

@ -3909,3 +3909,48 @@ func (node *Proxy) SendRetrieveResult(ctx context.Context, req *internalpb.Retri
Reason: "Not implemented",
}, nil
}
func (node *Proxy) CreateRole(ctx context.Context, request *milvuspb.CreateRoleRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (node *Proxy) DropRole(ctx context.Context, request *milvuspb.DropRoleRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (node *Proxy) OperateUserRole(ctx context.Context, request *milvuspb.OperateUserRoleRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (node *Proxy) SelectRole(ctx context.Context, request *milvuspb.SelectRoleRequest) (*milvuspb.SelectRoleResponse, error) {
//TODO implement me
panic("implement me")
}
func (node *Proxy) SelectUser(ctx context.Context, request *milvuspb.SelectUserRequest) (*milvuspb.SelectUserResponse, error) {
//TODO implement me
panic("implement me")
}
func (node *Proxy) SelectResource(ctx context.Context, request *milvuspb.SelectResourceRequest) (*milvuspb.SelectResourceResponse, error) {
//TODO implement me
panic("implement me")
}
func (node *Proxy) OperatePrivilege(ctx context.Context, request *milvuspb.OperatePrivilegeRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}
func (node *Proxy) SelectGrant(ctx context.Context, request *milvuspb.SelectGrantRequest) (*milvuspb.SelectGrantResponse, error) {
//TODO implement me
panic("implement me")
}
func (node *Proxy) RefreshPolicyInfoCache(ctx context.Context, request *proxypb.RefreshPolicyInfoCacheRequest) (*commonpb.Status, error) {
//TODO implement me
panic("implement me")
}

View File

@ -70,3 +70,7 @@ func (m *ProxyClient) UpdateCredentialCache(ctx context.Context, in *proxypb.Upd
func (m *ProxyClient) ClearCredUsersCache(ctx context.Context, in *internalpb.ClearCredUsersCacheRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
return &commonpb.Status{}, m.Err
}
func (m *ProxyClient) RefreshPolicyInfoCache(ctx context.Context, in *proxypb.RefreshPolicyInfoCacheRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
return &commonpb.Status{}, m.Err
}

View File

@ -17,10 +17,10 @@
package mock
import (
"context"
"google.golang.org/grpc"
"context"
"github.com/milvus-io/milvus/internal/proto/commonpb"
"github.com/milvus-io/milvus/internal/proto/datapb"
"github.com/milvus-io/milvus/internal/proto/internalpb"
@ -178,3 +178,39 @@ func (m *RootCoordClient) ListCredUsers(ctx context.Context, in *milvuspb.ListCr
func (m *RootCoordClient) GetCredential(ctx context.Context, in *rootcoordpb.GetCredentialRequest, opts ...grpc.CallOption) (*rootcoordpb.GetCredentialResponse, error) {
return &rootcoordpb.GetCredentialResponse{}, m.Err
}
func (m *RootCoordClient) CreateRole(ctx context.Context, req *milvuspb.CreateRoleRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
return &commonpb.Status{}, m.Err
}
func (m *RootCoordClient) DropRole(ctx context.Context, req *milvuspb.DropRoleRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
return &commonpb.Status{}, m.Err
}
func (m *RootCoordClient) OperateUserRole(ctx context.Context, req *milvuspb.OperateUserRoleRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
return &commonpb.Status{}, m.Err
}
func (m *RootCoordClient) SelectRole(ctx context.Context, req *milvuspb.SelectRoleRequest, opts ...grpc.CallOption) (*milvuspb.SelectRoleResponse, error) {
return &milvuspb.SelectRoleResponse{}, m.Err
}
func (m *RootCoordClient) SelectUser(ctx context.Context, req *milvuspb.SelectUserRequest, opts ...grpc.CallOption) (*milvuspb.SelectUserResponse, error) {
return &milvuspb.SelectUserResponse{}, m.Err
}
func (m *RootCoordClient) SelectResource(ctx context.Context, req *milvuspb.SelectResourceRequest, opts ...grpc.CallOption) (*milvuspb.SelectResourceResponse, error) {
return &milvuspb.SelectResourceResponse{}, m.Err
}
func (m *RootCoordClient) OperatePrivilege(ctx context.Context, req *milvuspb.OperatePrivilegeRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
return &commonpb.Status{}, m.Err
}
func (m *RootCoordClient) SelectGrant(ctx context.Context, req *milvuspb.SelectGrantRequest, opts ...grpc.CallOption) (*milvuspb.SelectGrantResponse, error) {
return &milvuspb.SelectGrantResponse{}, m.Err
}
func (m *RootCoordClient) ListPolicy(ctx context.Context, req *internalpb.ListPolicyRequest, opts ...grpc.CallOption) (*internalpb.ListPolicyResponse, error) {
return &internalpb.ListPolicyResponse{}, m.Err
}

View File

@ -19,6 +19,7 @@
SCRIPTS_DIR=$(dirname "$0")
PROTO_DIR=$SCRIPTS_DIR/../internal/proto/
GOOGLE_PROTO_DIR=$SCRIPTS_DIR/../cmake_build/thirdparty/protobuf/protobuf-src/src/
PROGRAM=$(basename "$0")
GOPATH=$(go env GOPATH)
@ -51,20 +52,20 @@ mkdir -p datapb
mkdir -p querypb
mkdir -p planpb
${protoc} --go_out=plugins=grpc,paths=source_relative:./commonpb common.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./schemapb schema.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./etcdpb etcd_meta.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./indexcgopb index_cgo_msg.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./commonpb common.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./schemapb schema.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./etcdpb etcd_meta.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./indexcgopb index_cgo_msg.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./rootcoordpb root_coord.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./rootcoordpb root_coord.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./internalpb internal.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./milvuspb milvus.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./proxypb proxy.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./indexpb index_coord.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./datapb data_coord.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./querypb query_coord.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./planpb plan.proto
${protoc} --go_out=plugins=grpc,paths=source_relative:./segcorepb segcore.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./internalpb internal.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./milvuspb milvus.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./proxypb proxy.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./indexpb index_coord.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./datapb data_coord.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./querypb query_coord.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./planpb plan.proto
${protoc} --proto_path="${GOOGLE_PROTO_DIR}" --proto_path=. --go_out=plugins=grpc,paths=source_relative:./segcorepb segcore.proto
popd