From 80d4308aa3fbeead49c9f939c983f166b630fc59 Mon Sep 17 00:00:00 2001 From: Rusty Bee <145002912+rustybee42@users.noreply.github.com> Date: Wed, 12 Aug 2026 12:53:15 +0200 Subject: [PATCH] feat: Add modify buddy group message, add quota accounting field --- cpp/management.pb.cc | 789 +++++++++--- cpp/management.pb.h | 612 +++++++++- go/management/management.pb.go | 1231 +++++++++++-------- go/management/management_grpc.pb.go | 38 + go/management/management_protoopaque.pb.go | 1265 ++++++++++++-------- proto/management.proto | 21 + rust/management.rs | 123 ++ 7 files changed, 2942 insertions(+), 1137 deletions(-) diff --git a/cpp/management.pb.cc b/cpp/management.pb.cc index 8b5fad4..975d573 100644 --- a/cpp/management.pb.cc +++ b/cpp/management.pb.cc @@ -116,6 +116,24 @@ struct SetAliasResponseDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SetAliasResponseDefaultTypeInternal _SetAliasResponse_default_instance_; template +PROTOBUF_CONSTEXPR ModifyBuddyGroupResponse::ModifyBuddyGroupResponse(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::internal::ZeroFieldsBase(_class_data_.base()){} +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::internal::ZeroFieldsBase() { +} +#endif // PROTOBUF_CUSTOM_VTABLE +struct ModifyBuddyGroupResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR ModifyBuddyGroupResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ModifyBuddyGroupResponseDefaultTypeInternal() {} + union { + ModifyBuddyGroupResponse _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ModifyBuddyGroupResponseDefaultTypeInternal _ModifyBuddyGroupResponse_default_instance_; + template PROTOBUF_CONSTEXPR MirrorRootInodeResponse::MirrorRootInodeResponse(::_pbi::ConstantInitialized) #if defined(PROTOBUF_CUSTOM_VTABLE) : ::google::protobuf::internal::ZeroFieldsBase(_class_data_.base()){} @@ -436,6 +454,32 @@ struct QuotaInfoDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 QuotaInfoDefaultTypeInternal _QuotaInfo_default_instance_; +inline constexpr ModifyBuddyGroupRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + group_{nullptr}, + quota_accounting_{static_cast< ::management::BuddyGroupQuotaAccounting >(0)} {} + +template +PROTOBUF_CONSTEXPR ModifyBuddyGroupRequest::ModifyBuddyGroupRequest(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ModifyBuddyGroupRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR ModifyBuddyGroupRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ModifyBuddyGroupRequestDefaultTypeInternal() {} + union { + ModifyBuddyGroupRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ModifyBuddyGroupRequestDefaultTypeInternal _ModifyBuddyGroupRequest_default_instance_; + inline constexpr GetTargetsResponse_Target::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : _cached_size_{0}, @@ -923,7 +967,8 @@ inline constexpr CreateBuddyGroupRequest::Impl_::Impl_( primary_target_{nullptr}, secondary_target_{nullptr}, node_type_{static_cast< ::beegfs::NodeType >(0)}, - num_id_{0u} {} + num_id_{0u}, + quota_accounting_{static_cast< ::management::BuddyGroupQuotaAccounting >(0)} {} template PROTOBUF_CONSTEXPR CreateBuddyGroupRequest::CreateBuddyGroupRequest(::_pbi::ConstantInitialized) @@ -1203,8 +1248,7 @@ struct GetBuddyGroupsResponseDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetBuddyGroupsResponseDefaultTypeInternal _GetBuddyGroupsResponse_default_instance_; } // namespace management -static constexpr const ::_pb::EnumDescriptor** - file_level_enum_descriptors_management_2eproto = nullptr; +static const ::_pb::EnumDescriptor* file_level_enum_descriptors_management_2eproto[1]; static constexpr const ::_pb::ServiceDescriptor** file_level_service_descriptors_management_2eproto = nullptr; const ::uint32_t @@ -1563,11 +1607,13 @@ const ::uint32_t PROTOBUF_FIELD_OFFSET(::management::CreateBuddyGroupRequest, _impl_.alias_), PROTOBUF_FIELD_OFFSET(::management::CreateBuddyGroupRequest, _impl_.primary_target_), PROTOBUF_FIELD_OFFSET(::management::CreateBuddyGroupRequest, _impl_.secondary_target_), + PROTOBUF_FIELD_OFFSET(::management::CreateBuddyGroupRequest, _impl_.quota_accounting_), 3, 4, 0, 1, 2, + 5, PROTOBUF_FIELD_OFFSET(::management::CreateBuddyGroupResponse, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::management::CreateBuddyGroupResponse, _internal_metadata_), ~0u, // no _extensions_ @@ -1578,6 +1624,26 @@ const ::uint32_t ~0u, // no sizeof(Split) PROTOBUF_FIELD_OFFSET(::management::CreateBuddyGroupResponse, _impl_.group_), 0, + PROTOBUF_FIELD_OFFSET(::management::ModifyBuddyGroupRequest, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::management::ModifyBuddyGroupRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::management::ModifyBuddyGroupRequest, _impl_.group_), + PROTOBUF_FIELD_OFFSET(::management::ModifyBuddyGroupRequest, _impl_.quota_accounting_), + 0, + 1, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::management::ModifyBuddyGroupResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) PROTOBUF_FIELD_OFFSET(::management::DeleteBuddyGroupRequest, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::management::DeleteBuddyGroupRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -1822,25 +1888,27 @@ static const ::_pbi::MigrationSchema {301, -1, -1, sizeof(::management::GetBuddyGroupsRequest)}, {309, 324, -1, sizeof(::management::GetBuddyGroupsResponse_BuddyGroup)}, {331, -1, -1, sizeof(::management::GetBuddyGroupsResponse)}, - {340, 353, -1, sizeof(::management::CreateBuddyGroupRequest)}, - {358, 367, -1, sizeof(::management::CreateBuddyGroupResponse)}, - {368, 378, -1, sizeof(::management::DeleteBuddyGroupRequest)}, - {380, 389, -1, sizeof(::management::DeleteBuddyGroupResponse)}, - {390, -1, -1, sizeof(::management::MirrorRootInodeRequest)}, - {398, -1, -1, sizeof(::management::MirrorRootInodeResponse)}, - {406, 417, -1, sizeof(::management::StartResyncRequest)}, - {420, -1, -1, sizeof(::management::StartResyncResponse)}, - {428, 443, -1, sizeof(::management::QuotaInfo)}, - {450, 463, -1, sizeof(::management::SetDefaultQuotaLimitsRequest)}, - {468, -1, -1, sizeof(::management::SetDefaultQuotaLimitsResponse)}, - {476, -1, -1, sizeof(::management::SetQuotaLimitsRequest)}, - {485, -1, -1, sizeof(::management::SetQuotaLimitsResponse)}, - {493, 508, -1, sizeof(::management::GetQuotaLimitsRequest)}, - {515, 524, -1, sizeof(::management::GetQuotaLimitsResponse)}, - {525, 541, -1, sizeof(::management::GetQuotaUsageRequest)}, - {549, 559, -1, sizeof(::management::GetQuotaUsageResponse)}, - {561, 570, -1, sizeof(::management::GetLicenseRequest)}, - {571, 580, -1, sizeof(::management::GetLicenseResponse)}, + {340, 354, -1, sizeof(::management::CreateBuddyGroupRequest)}, + {360, 369, -1, sizeof(::management::CreateBuddyGroupResponse)}, + {370, 380, -1, sizeof(::management::ModifyBuddyGroupRequest)}, + {382, -1, -1, sizeof(::management::ModifyBuddyGroupResponse)}, + {390, 400, -1, sizeof(::management::DeleteBuddyGroupRequest)}, + {402, 411, -1, sizeof(::management::DeleteBuddyGroupResponse)}, + {412, -1, -1, sizeof(::management::MirrorRootInodeRequest)}, + {420, -1, -1, sizeof(::management::MirrorRootInodeResponse)}, + {428, 439, -1, sizeof(::management::StartResyncRequest)}, + {442, -1, -1, sizeof(::management::StartResyncResponse)}, + {450, 465, -1, sizeof(::management::QuotaInfo)}, + {472, 485, -1, sizeof(::management::SetDefaultQuotaLimitsRequest)}, + {490, -1, -1, sizeof(::management::SetDefaultQuotaLimitsResponse)}, + {498, -1, -1, sizeof(::management::SetQuotaLimitsRequest)}, + {507, -1, -1, sizeof(::management::SetQuotaLimitsResponse)}, + {515, 530, -1, sizeof(::management::GetQuotaLimitsRequest)}, + {537, 546, -1, sizeof(::management::GetQuotaLimitsResponse)}, + {547, 563, -1, sizeof(::management::GetQuotaUsageRequest)}, + {571, 581, -1, sizeof(::management::GetQuotaUsageResponse)}, + {583, 592, -1, sizeof(::management::GetLicenseRequest)}, + {593, 602, -1, sizeof(::management::GetLicenseResponse)}, }; static const ::_pb::Message* const file_default_instances[] = { &::management::_SetAliasRequest_default_instance_._instance, @@ -1872,6 +1940,8 @@ static const ::_pb::Message* const file_default_instances[] = { &::management::_GetBuddyGroupsResponse_default_instance_._instance, &::management::_CreateBuddyGroupRequest_default_instance_._instance, &::management::_CreateBuddyGroupResponse_default_instance_._instance, + &::management::_ModifyBuddyGroupRequest_default_instance_._instance, + &::management::_ModifyBuddyGroupResponse_default_instance_._instance, &::management::_DeleteBuddyGroupRequest_default_instance_._instance, &::management::_DeleteBuddyGroupResponse_default_instance_._instance, &::management::_MirrorRootInodeRequest_default_instance_._instance, @@ -1981,112 +2051,126 @@ const char descriptor_table_protodef_management_2eproto[] ABSL_ATTRIBUTE_SECTION "ate\022=\n\033secondary_consistency_state\030\006 \001(\016" "2\030.beegfs.ConsistencyState\022.\n\014storage_po" "ol\030\007 \001(\0132\023.beegfs.EntityIdSetH\000\210\001\001B\017\n\r_s" - "torage_pool\"\235\002\n\027CreateBuddyGroupRequest\022" + "torage_pool\"\370\002\n\027CreateBuddyGroupRequest\022" "(\n\tnode_type\030\001 \001(\0162\020.beegfs.NodeTypeH\000\210\001" "\001\022\023\n\006num_id\030\002 \001(\rH\001\210\001\001\022\022\n\005alias\030\003 \001(\tH\002\210" "\001\001\0220\n\016primary_target\030\004 \001(\0132\023.beegfs.Enti" "tyIdSetH\003\210\001\001\0222\n\020secondary_target\030\005 \001(\0132\023" - ".beegfs.EntityIdSetH\004\210\001\001B\014\n\n_node_typeB\t" - "\n\007_num_idB\010\n\006_aliasB\021\n\017_primary_targetB\023" - "\n\021_secondary_target\"M\n\030CreateBuddyGroupR" + ".beegfs.EntityIdSetH\004\210\001\001\022D\n\020quota_accoun" + "ting\030\006 \001(\0162%.management.BuddyGroupQuotaA" + "ccountingH\005\210\001\001B\014\n\n_node_typeB\t\n\007_num_idB" + "\010\n\006_aliasB\021\n\017_primary_targetB\023\n\021_seconda" + "ry_targetB\023\n\021_quota_accounting\"M\n\030Create" + "BuddyGroupResponse\022\'\n\005group\030\001 \001(\0132\023.beeg" + "fs.EntityIdSetH\000\210\001\001B\010\n\006_group\"\247\001\n\027Modify" + "BuddyGroupRequest\022\'\n\005group\030\001 \001(\0132\023.beegf" + "s.EntityIdSetH\000\210\001\001\022D\n\020quota_accounting\030\002" + " \001(\0162%.management.BuddyGroupQuotaAccount" + "ingH\001\210\001\001B\010\n\006_groupB\023\n\021_quota_accounting\"" + "\032\n\030ModifyBuddyGroupResponse\"n\n\027DeleteBud" + "dyGroupRequest\022\'\n\005group\030\001 \001(\0132\023.beegfs.E" + "ntityIdSetH\000\210\001\001\022\024\n\007execute\030\002 \001(\010H\001\210\001\001B\010\n" + "\006_groupB\n\n\010_execute\"M\n\030DeleteBuddyGroupR" "esponse\022\'\n\005group\030\001 \001(\0132\023.beegfs.EntityId" - "SetH\000\210\001\001B\010\n\006_group\"n\n\027DeleteBuddyGroupRe" - "quest\022\'\n\005group\030\001 \001(\0132\023.beegfs.EntityIdSe" - "tH\000\210\001\001\022\024\n\007execute\030\002 \001(\010H\001\210\001\001B\010\n\006_groupB\n" - "\n\010_execute\"M\n\030DeleteBuddyGroupResponse\022\'" - "\n\005group\030\001 \001(\0132\023.beegfs.EntityIdSetH\000\210\001\001B" - "\010\n\006_group\"\030\n\026MirrorRootInodeRequest\"\031\n\027M" - "irrorRootInodeResponse\"\233\001\n\022StartResyncRe" - "quest\022-\n\013buddy_group\030\001 \001(\0132\023.beegfs.Enti" - "tyIdSetH\000\210\001\001\022\026\n\ttimestamp\030\002 \001(\003H\001\210\001\001\022\024\n\007" - "restart\030\003 \001(\010H\002\210\001\001B\016\n\014_buddy_groupB\014\n\n_t" - "imestampB\n\n\010_restart\"\025\n\023StartResyncRespo" - "nse\"\252\002\n\tQuotaInfo\022\025\n\010quota_id\030\001 \001(\rH\000\210\001\001" - "\022$\n\007id_type\030\002 \001(\0162\023.beegfs.QuotaIdType\022&" - "\n\004pool\030\003 \001(\0132\023.beegfs.EntityIdSetH\001\210\001\001\022\030" - "\n\013space_limit\030\004 \001(\003H\002\210\001\001\022\030\n\013inode_limit\030" - "\005 \001(\003H\003\210\001\001\022\027\n\nspace_used\030\006 \001(\003H\004\210\001\001\022\027\n\ni" - "node_used\030\007 \001(\003H\005\210\001\001B\013\n\t_quota_idB\007\n\005_po" - "olB\016\n\014_space_limitB\016\n\014_inode_limitB\r\n\013_s" - "pace_usedB\r\n\013_inode_used\"\243\002\n\034SetDefaultQ" - "uotaLimitsRequest\022&\n\004pool\030\001 \001(\0132\023.beegfs" - ".EntityIdSetH\000\210\001\001\022\035\n\020user_space_limit\030\002 " - "\001(\003H\001\210\001\001\022\035\n\020user_inode_limit\030\003 \001(\003H\002\210\001\001\022" - "\036\n\021group_space_limit\030\004 \001(\003H\003\210\001\001\022\036\n\021group" - "_inode_limit\030\005 \001(\003H\004\210\001\001B\007\n\005_poolB\023\n\021_use" - "r_space_limitB\023\n\021_user_inode_limitB\024\n\022_g" - "roup_space_limitB\024\n\022_group_inode_limit\"\037" - "\n\035SetDefaultQuotaLimitsResponse\">\n\025SetQu" - "otaLimitsRequest\022%\n\006limits\030\001 \003(\0132\025.manag" - "ement.QuotaInfo\"\030\n\026SetQuotaLimitsRespons" - "e\"\241\002\n\025GetQuotaLimitsRequest\022\030\n\013user_id_m" - "in\030\001 \001(\rH\000\210\001\001\022\030\n\013user_id_max\030\002 \001(\rH\001\210\001\001\022" - "\024\n\014user_id_list\030\003 \003(\r\022\031\n\014group_id_min\030\004 " - "\001(\rH\002\210\001\001\022\031\n\014group_id_max\030\005 \001(\rH\003\210\001\001\022\025\n\rg" - "roup_id_list\030\006 \003(\r\022&\n\004pool\030\007 \001(\0132\023.beegf" - "s.EntityIdSetH\004\210\001\001B\016\n\014_user_id_minB\016\n\014_u" - "ser_id_maxB\017\n\r_group_id_minB\017\n\r_group_id" - "_maxB\007\n\005_pool\"O\n\026GetQuotaLimitsResponse\022" - "*\n\006limits\030\001 \001(\0132\025.management.QuotaInfoH\000" - "\210\001\001B\t\n\007_limits\"\304\002\n\024GetQuotaUsageRequest\022" - "\030\n\013user_id_min\030\001 \001(\rH\000\210\001\001\022\030\n\013user_id_max" - "\030\002 \001(\rH\001\210\001\001\022\024\n\014user_id_list\030\003 \003(\r\022\031\n\014gro" - "up_id_min\030\004 \001(\rH\002\210\001\001\022\031\n\014group_id_max\030\005 \001" - "(\rH\003\210\001\001\022\025\n\rgroup_id_list\030\006 \003(\r\022&\n\004pool\030\007" - " \001(\0132\023.beegfs.EntityIdSetH\004\210\001\001\022\025\n\010exceed" - "ed\030\010 \001(\010H\005\210\001\001B\016\n\014_user_id_minB\016\n\014_user_i" - "d_maxB\017\n\r_group_id_minB\017\n\r_group_id_maxB" - "\007\n\005_poolB\013\n\t_exceeded\"\200\001\n\025GetQuotaUsageR" - "esponse\022)\n\005entry\030\001 \001(\0132\025.management.Quot" - "aInfoH\000\210\001\001\022\035\n\020refresh_period_s\030\002 \001(\004H\001\210\001" - "\001B\010\n\006_entryB\023\n\021_refresh_period_s\"3\n\021GetL" - "icenseRequest\022\023\n\006reload\030\001 \001(\010H\000\210\001\001B\t\n\007_r" - "eload\"V\n\022GetLicenseResponse\0222\n\tcert_data" - "\030\001 \001(\0132\032.license.GetCertDataResultH\000\210\001\001B" - "\014\n\n_cert_data2\230\r\n\nManagement\022E\n\010SetAlias" - "\022\033.management.SetAliasRequest\032\034.manageme" - "nt.SetAliasResponse\022E\n\010GetNodes\022\033.manage" - "ment.GetNodesRequest\032\034.management.GetNod" - "esResponse\022K\n\nDeleteNode\022\035.management.De" - "leteNodeRequest\032\036.management.DeleteNodeR" - "esponse\022K\n\nGetTargets\022\035.management.GetTa" - "rgetsRequest\032\036.management.GetTargetsResp" - "onse\022Q\n\014DeleteTarget\022\037.management.Delete" - "TargetRequest\032 .management.DeleteTargetR" - "esponse\022W\n\016SetTargetState\022!.management.S" - "etTargetStateRequest\032\".management.SetTar" - "getStateResponse\022E\n\010GetPools\022\033.managemen" - "t.GetPoolsRequest\032\034.management.GetPoolsR" - "esponse\022K\n\nCreatePool\022\035.management.Creat" - "ePoolRequest\032\036.management.CreatePoolResp" - "onse\022K\n\nAssignPool\022\035.management.AssignPo" - "olRequest\032\036.management.AssignPoolRespons" - "e\022K\n\nDeletePool\022\035.management.DeletePoolR" - "equest\032\036.management.DeletePoolResponse\022W" - "\n\016GetBuddyGroups\022!.management.GetBuddyGr" - "oupsRequest\032\".management.GetBuddyGroupsR" - "esponse\022]\n\020CreateBuddyGroup\022#.management" - ".CreateBuddyGroupRequest\032$.management.Cr" - "eateBuddyGroupResponse\022]\n\020DeleteBuddyGro" - "up\022#.management.DeleteBuddyGroupRequest\032" - "$.management.DeleteBuddyGroupResponse\022Z\n" - "\017MirrorRootInode\022\".management.MirrorRoot" - "InodeRequest\032#.management.MirrorRootInod" - "eResponse\022N\n\013StartResync\022\036.management.St" - "artResyncRequest\032\037.management.StartResyn" - "cResponse\022l\n\025SetDefaultQuotaLimits\022(.man" - "agement.SetDefaultQuotaLimitsRequest\032).m" - "anagement.SetDefaultQuotaLimitsResponse\022" - "W\n\016SetQuotaLimits\022!.management.SetQuotaL" - "imitsRequest\032\".management.SetQuotaLimits" - "Response\022Y\n\016GetQuotaLimits\022!.management." - "GetQuotaLimitsRequest\032\".management.GetQu" - "otaLimitsResponse0\001\022V\n\rGetQuotaUsage\022 .m" - "anagement.GetQuotaUsageRequest\032!.managem" - "ent.GetQuotaUsageResponse0\001\022K\n\nGetLicens" - "e\022\035.management.GetLicenseRequest\032\036.manag" - "ement.GetLicenseResponseB-Z+github.com/t" - "hinkparq/protobuf/go/managementb\006proto3" + "SetH\000\210\001\001B\010\n\006_group\"\030\n\026MirrorRootInodeReq" + "uest\"\031\n\027MirrorRootInodeResponse\"\233\001\n\022Star" + "tResyncRequest\022-\n\013buddy_group\030\001 \001(\0132\023.be" + "egfs.EntityIdSetH\000\210\001\001\022\026\n\ttimestamp\030\002 \001(\003" + "H\001\210\001\001\022\024\n\007restart\030\003 \001(\010H\002\210\001\001B\016\n\014_buddy_gr" + "oupB\014\n\n_timestampB\n\n\010_restart\"\025\n\023StartRe" + "syncResponse\"\252\002\n\tQuotaInfo\022\025\n\010quota_id\030\001" + " \001(\rH\000\210\001\001\022$\n\007id_type\030\002 \001(\0162\023.beegfs.Quot" + "aIdType\022&\n\004pool\030\003 \001(\0132\023.beegfs.EntityIdS" + "etH\001\210\001\001\022\030\n\013space_limit\030\004 \001(\003H\002\210\001\001\022\030\n\013ino" + "de_limit\030\005 \001(\003H\003\210\001\001\022\027\n\nspace_used\030\006 \001(\003H" + "\004\210\001\001\022\027\n\ninode_used\030\007 \001(\003H\005\210\001\001B\013\n\t_quota_" + "idB\007\n\005_poolB\016\n\014_space_limitB\016\n\014_inode_li" + "mitB\r\n\013_space_usedB\r\n\013_inode_used\"\243\002\n\034Se" + "tDefaultQuotaLimitsRequest\022&\n\004pool\030\001 \001(\013" + "2\023.beegfs.EntityIdSetH\000\210\001\001\022\035\n\020user_space" + "_limit\030\002 \001(\003H\001\210\001\001\022\035\n\020user_inode_limit\030\003 " + "\001(\003H\002\210\001\001\022\036\n\021group_space_limit\030\004 \001(\003H\003\210\001\001" + "\022\036\n\021group_inode_limit\030\005 \001(\003H\004\210\001\001B\007\n\005_poo" + "lB\023\n\021_user_space_limitB\023\n\021_user_inode_li" + "mitB\024\n\022_group_space_limitB\024\n\022_group_inod" + "e_limit\"\037\n\035SetDefaultQuotaLimitsResponse" + "\">\n\025SetQuotaLimitsRequest\022%\n\006limits\030\001 \003(" + "\0132\025.management.QuotaInfo\"\030\n\026SetQuotaLimi" + "tsResponse\"\241\002\n\025GetQuotaLimitsRequest\022\030\n\013" + "user_id_min\030\001 \001(\rH\000\210\001\001\022\030\n\013user_id_max\030\002 " + "\001(\rH\001\210\001\001\022\024\n\014user_id_list\030\003 \003(\r\022\031\n\014group_" + "id_min\030\004 \001(\rH\002\210\001\001\022\031\n\014group_id_max\030\005 \001(\rH" + "\003\210\001\001\022\025\n\rgroup_id_list\030\006 \003(\r\022&\n\004pool\030\007 \001(" + "\0132\023.beegfs.EntityIdSetH\004\210\001\001B\016\n\014_user_id_" + "minB\016\n\014_user_id_maxB\017\n\r_group_id_minB\017\n\r" + "_group_id_maxB\007\n\005_pool\"O\n\026GetQuotaLimits" + "Response\022*\n\006limits\030\001 \001(\0132\025.management.Qu" + "otaInfoH\000\210\001\001B\t\n\007_limits\"\304\002\n\024GetQuotaUsag" + "eRequest\022\030\n\013user_id_min\030\001 \001(\rH\000\210\001\001\022\030\n\013us" + "er_id_max\030\002 \001(\rH\001\210\001\001\022\024\n\014user_id_list\030\003 \003" + "(\r\022\031\n\014group_id_min\030\004 \001(\rH\002\210\001\001\022\031\n\014group_i" + "d_max\030\005 \001(\rH\003\210\001\001\022\025\n\rgroup_id_list\030\006 \003(\r\022" + "&\n\004pool\030\007 \001(\0132\023.beegfs.EntityIdSetH\004\210\001\001\022" + "\025\n\010exceeded\030\010 \001(\010H\005\210\001\001B\016\n\014_user_id_minB\016" + "\n\014_user_id_maxB\017\n\r_group_id_minB\017\n\r_grou" + "p_id_maxB\007\n\005_poolB\013\n\t_exceeded\"\200\001\n\025GetQu" + "otaUsageResponse\022)\n\005entry\030\001 \001(\0132\025.manage" + "ment.QuotaInfoH\000\210\001\001\022\035\n\020refresh_period_s\030" + "\002 \001(\004H\001\210\001\001B\010\n\006_entryB\023\n\021_refresh_period_" + "s\"3\n\021GetLicenseRequest\022\023\n\006reload\030\001 \001(\010H\000" + "\210\001\001B\t\n\007_reload\"V\n\022GetLicenseResponse\0222\n\t" + "cert_data\030\001 \001(\0132\032.license.GetCertDataRes" + "ultH\000\210\001\001B\014\n\n_cert_data*\232\001\n\031BuddyGroupQuo" + "taAccounting\022,\n(BUDDY_GROUP_QUOTA_ACCOUN" + "TING_UNSPECIFIED\020\000\022(\n$BUDDY_GROUP_QUOTA_" + "ACCOUNTING_PRIMARY\020\001\022%\n!BUDDY_GROUP_QUOT" + "A_ACCOUNTING_BOTH\020\0022\367\r\n\nManagement\022E\n\010Se" + "tAlias\022\033.management.SetAliasRequest\032\034.ma" + "nagement.SetAliasResponse\022E\n\010GetNodes\022\033." + "management.GetNodesRequest\032\034.management." + "GetNodesResponse\022K\n\nDeleteNode\022\035.managem" + "ent.DeleteNodeRequest\032\036.management.Delet" + "eNodeResponse\022K\n\nGetTargets\022\035.management" + ".GetTargetsRequest\032\036.management.GetTarge" + "tsResponse\022Q\n\014DeleteTarget\022\037.management." + "DeleteTargetRequest\032 .management.DeleteT" + "argetResponse\022W\n\016SetTargetState\022!.manage" + "ment.SetTargetStateRequest\032\".management." + "SetTargetStateResponse\022E\n\010GetPools\022\033.man" + "agement.GetPoolsRequest\032\034.management.Get" + "PoolsResponse\022K\n\nCreatePool\022\035.management" + ".CreatePoolRequest\032\036.management.CreatePo" + "olResponse\022K\n\nAssignPool\022\035.management.As" + "signPoolRequest\032\036.management.AssignPoolR" + "esponse\022K\n\nDeletePool\022\035.management.Delet" + "ePoolRequest\032\036.management.DeletePoolResp" + "onse\022W\n\016GetBuddyGroups\022!.management.GetB" + "uddyGroupsRequest\032\".management.GetBuddyG" + "roupsResponse\022]\n\020CreateBuddyGroup\022#.mana" + "gement.CreateBuddyGroupRequest\032$.managem" + "ent.CreateBuddyGroupResponse\022]\n\020ModifyBu" + "ddyGroup\022#.management.ModifyBuddyGroupRe" + "quest\032$.management.ModifyBuddyGroupRespo" + "nse\022]\n\020DeleteBuddyGroup\022#.management.Del" + "eteBuddyGroupRequest\032$.management.Delete" + "BuddyGroupResponse\022Z\n\017MirrorRootInode\022\"." + "management.MirrorRootInodeRequest\032#.mana" + "gement.MirrorRootInodeResponse\022N\n\013StartR" + "esync\022\036.management.StartResyncRequest\032\037." + "management.StartResyncResponse\022l\n\025SetDef" + "aultQuotaLimits\022(.management.SetDefaultQ" + "uotaLimitsRequest\032).management.SetDefaul" + "tQuotaLimitsResponse\022W\n\016SetQuotaLimits\022!" + ".management.SetQuotaLimitsRequest\032\".mana" + "gement.SetQuotaLimitsResponse\022Y\n\016GetQuot" + "aLimits\022!.management.GetQuotaLimitsReque" + "st\032\".management.GetQuotaLimitsResponse0\001" + "\022V\n\rGetQuotaUsage\022 .management.GetQuotaU" + "sageRequest\032!.management.GetQuotaUsageRe" + "sponse0\001\022K\n\nGetLicense\022\035.management.GetL" + "icenseRequest\032\036.management.GetLicenseRes" + "ponseB-Z+github.com/thinkparq/protobuf/g" + "o/managementb\006proto3" }; static const ::_pbi::DescriptorTable* const descriptor_table_management_2eproto_deps[2] = { @@ -2097,13 +2181,13 @@ static ::absl::once_flag descriptor_table_management_2eproto_once; PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_management_2eproto = { false, false, - 7799, + 8340, descriptor_table_protodef_management_2eproto, "management.proto", &descriptor_table_management_2eproto_once, descriptor_table_management_2eproto_deps, 2, - 46, + 48, schemas, file_default_instances, TableStruct_management_2eproto::offsets, @@ -2111,6 +2195,15 @@ PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_management_2ep file_level_service_descriptors_management_2eproto, }; namespace management { +const ::google::protobuf::EnumDescriptor* BuddyGroupQuotaAccounting_descriptor() { + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_management_2eproto); + return file_level_enum_descriptors_management_2eproto[0]; +} +PROTOBUF_CONSTINIT const uint32_t BuddyGroupQuotaAccounting_internal_data_[] = { + 196608u, 0u, }; +bool BuddyGroupQuotaAccounting_IsValid(int value) { + return 0 <= value && value <= 2; +} // =================================================================== class SetAliasRequest::_Internal { @@ -9775,9 +9868,9 @@ CreateBuddyGroupRequest::CreateBuddyGroupRequest( offsetof(Impl_, node_type_), reinterpret_cast(&from._impl_) + offsetof(Impl_, node_type_), - offsetof(Impl_, num_id_) - + offsetof(Impl_, quota_accounting_) - offsetof(Impl_, node_type_) + - sizeof(Impl_::num_id_)); + sizeof(Impl_::quota_accounting_)); // @@protoc_insertion_point(copy_constructor:management.CreateBuddyGroupRequest) } @@ -9792,9 +9885,9 @@ inline void CreateBuddyGroupRequest::SharedCtor(::_pb::Arena* arena) { ::memset(reinterpret_cast(&_impl_) + offsetof(Impl_, primary_target_), 0, - offsetof(Impl_, num_id_) - + offsetof(Impl_, quota_accounting_) - offsetof(Impl_, primary_target_) + - sizeof(Impl_::num_id_)); + sizeof(Impl_::quota_accounting_)); } CreateBuddyGroupRequest::~CreateBuddyGroupRequest() { // @@protoc_insertion_point(destructor:management.CreateBuddyGroupRequest) @@ -9846,15 +9939,15 @@ const ::google::protobuf::internal::ClassData* CreateBuddyGroupRequest::GetClass return _class_data_.base(); } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::_pbi::TcParseTable<3, 5, 2, 48, 2> CreateBuddyGroupRequest::_table_ = { +const ::_pbi::TcParseTable<3, 6, 2, 48, 2> CreateBuddyGroupRequest::_table_ = { { PROTOBUF_FIELD_OFFSET(CreateBuddyGroupRequest, _impl_._has_bits_), 0, // no _extensions_ - 5, 56, // max_field_number, fast_idx_mask + 6, 56, // max_field_number, fast_idx_mask offsetof(decltype(_table_), field_lookup_table), - 4294967264, // skipmap + 4294967232, // skipmap offsetof(decltype(_table_), field_entries), - 5, // num_field_entries + 6, // num_field_entries 2, // num_aux_entries offsetof(decltype(_table_), aux_entries), _class_data_.base(), @@ -9880,7 +9973,9 @@ const ::_pbi::TcParseTable<3, 5, 2, 48, 2> CreateBuddyGroupRequest::_table_ = { // optional .beegfs.EntityIdSet secondary_target = 5; {::_pbi::TcParser::FastMtS1, {42, 2, 1, PROTOBUF_FIELD_OFFSET(CreateBuddyGroupRequest, _impl_.secondary_target_)}}, - {::_pbi::TcParser::MiniParse, {}}, + // optional .management.BuddyGroupQuotaAccounting quota_accounting = 6; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CreateBuddyGroupRequest, _impl_.quota_accounting_), 5>(), + {48, 5, 0, PROTOBUF_FIELD_OFFSET(CreateBuddyGroupRequest, _impl_.quota_accounting_)}}, {::_pbi::TcParser::MiniParse, {}}, }}, {{ 65535, 65535 @@ -9900,6 +9995,9 @@ const ::_pbi::TcParseTable<3, 5, 2, 48, 2> CreateBuddyGroupRequest::_table_ = { // optional .beegfs.EntityIdSet secondary_target = 5; {PROTOBUF_FIELD_OFFSET(CreateBuddyGroupRequest, _impl_.secondary_target_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // optional .management.BuddyGroupQuotaAccounting quota_accounting = 6; + {PROTOBUF_FIELD_OFFSET(CreateBuddyGroupRequest, _impl_.quota_accounting_), _Internal::kHasBitsOffset + 5, 0, + (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)}, }}, {{ {::_pbi::TcParser::GetTable<::beegfs::EntityIdSet>()}, {::_pbi::TcParser::GetTable<::beegfs::EntityIdSet>()}, @@ -9931,10 +10029,10 @@ PROTOBUF_NOINLINE void CreateBuddyGroupRequest::Clear() { _impl_.secondary_target_->Clear(); } } - if (cached_has_bits & 0x00000018u) { + if (cached_has_bits & 0x00000038u) { ::memset(&_impl_.node_type_, 0, static_cast<::size_t>( - reinterpret_cast(&_impl_.num_id_) - - reinterpret_cast(&_impl_.node_type_)) + sizeof(_impl_.num_id_)); + reinterpret_cast(&_impl_.quota_accounting_) - + reinterpret_cast(&_impl_.node_type_)) + sizeof(_impl_.quota_accounting_)); } _impl_._has_bits_.Clear(); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); @@ -9992,6 +10090,13 @@ PROTOBUF_NOINLINE void CreateBuddyGroupRequest::Clear() { stream); } + // optional .management.BuddyGroupQuotaAccounting quota_accounting = 6; + if (cached_has_bits & 0x00000020u) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 6, this_._internal_quota_accounting(), target); + } + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( @@ -10017,7 +10122,7 @@ PROTOBUF_NOINLINE void CreateBuddyGroupRequest::Clear() { ::_pbi::Prefetch5LinesFrom7Lines(&this_); cached_has_bits = this_._impl_._has_bits_[0]; - if (cached_has_bits & 0x0000001fu) { + if (cached_has_bits & 0x0000003fu) { // optional string alias = 3; if (cached_has_bits & 0x00000001u) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( @@ -10043,6 +10148,11 @@ PROTOBUF_NOINLINE void CreateBuddyGroupRequest::Clear() { total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( this_._internal_num_id()); } + // optional .management.BuddyGroupQuotaAccounting quota_accounting = 6; + if (cached_has_bits & 0x00000020u) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_quota_accounting()); + } } return this_.MaybeComputeUnknownFieldsSize(total_size, &this_._impl_._cached_size_); @@ -10058,7 +10168,7 @@ void CreateBuddyGroupRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, (void) cached_has_bits; cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x0000001fu) { + if (cached_has_bits & 0x0000003fu) { if (cached_has_bits & 0x00000001u) { _this->_internal_set_alias(from._internal_alias()); } @@ -10086,6 +10196,9 @@ void CreateBuddyGroupRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, if (cached_has_bits & 0x00000010u) { _this->_impl_.num_id_ = from._impl_.num_id_; } + if (cached_has_bits & 0x00000020u) { + _this->_impl_.quota_accounting_ = from._impl_.quota_accounting_; + } } _this->_impl_._has_bits_[0] |= cached_has_bits; _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); @@ -10107,8 +10220,8 @@ void CreateBuddyGroupRequest::InternalSwap(CreateBuddyGroupRequest* PROTOBUF_RES swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.alias_, &other->_impl_.alias_, arena); ::google::protobuf::internal::memswap< - PROTOBUF_FIELD_OFFSET(CreateBuddyGroupRequest, _impl_.num_id_) - + sizeof(CreateBuddyGroupRequest::_impl_.num_id_) + PROTOBUF_FIELD_OFFSET(CreateBuddyGroupRequest, _impl_.quota_accounting_) + + sizeof(CreateBuddyGroupRequest::_impl_.quota_accounting_) - PROTOBUF_FIELD_OFFSET(CreateBuddyGroupRequest, _impl_.primary_target_)>( reinterpret_cast(&_impl_.primary_target_), reinterpret_cast(&other->_impl_.primary_target_)); @@ -10374,6 +10487,400 @@ ::google::protobuf::Metadata CreateBuddyGroupResponse::GetMetadata() const { } // =================================================================== +class ModifyBuddyGroupRequest::_Internal { + public: + using HasBits = + decltype(std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(ModifyBuddyGroupRequest, _impl_._has_bits_); +}; + +void ModifyBuddyGroupRequest::clear_group() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.group_ != nullptr) _impl_.group_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +ModifyBuddyGroupRequest::ModifyBuddyGroupRequest(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:management.ModifyBuddyGroupRequest) +} +inline PROTOBUF_NDEBUG_INLINE ModifyBuddyGroupRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::management::ModifyBuddyGroupRequest& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0} {} + +ModifyBuddyGroupRequest::ModifyBuddyGroupRequest( + ::google::protobuf::Arena* arena, + const ModifyBuddyGroupRequest& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + ModifyBuddyGroupRequest* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.group_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::beegfs::EntityIdSet>( + arena, *from._impl_.group_) + : nullptr; + _impl_.quota_accounting_ = from._impl_.quota_accounting_; + + // @@protoc_insertion_point(copy_constructor:management.ModifyBuddyGroupRequest) +} +inline PROTOBUF_NDEBUG_INLINE ModifyBuddyGroupRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0} {} + +inline void ModifyBuddyGroupRequest::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, group_), + 0, + offsetof(Impl_, quota_accounting_) - + offsetof(Impl_, group_) + + sizeof(Impl_::quota_accounting_)); +} +ModifyBuddyGroupRequest::~ModifyBuddyGroupRequest() { + // @@protoc_insertion_point(destructor:management.ModifyBuddyGroupRequest) + SharedDtor(*this); +} +inline void ModifyBuddyGroupRequest::SharedDtor(MessageLite& self) { + ModifyBuddyGroupRequest& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + delete this_._impl_.group_; + this_._impl_.~Impl_(); +} + +inline void* ModifyBuddyGroupRequest::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) ModifyBuddyGroupRequest(arena); +} +constexpr auto ModifyBuddyGroupRequest::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ModifyBuddyGroupRequest), + alignof(ModifyBuddyGroupRequest)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull ModifyBuddyGroupRequest::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_ModifyBuddyGroupRequest_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &ModifyBuddyGroupRequest::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &ModifyBuddyGroupRequest::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &ModifyBuddyGroupRequest::ByteSizeLong, + &ModifyBuddyGroupRequest::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(ModifyBuddyGroupRequest, _impl_._cached_size_), + false, + }, + &ModifyBuddyGroupRequest::kDescriptorMethods, + &descriptor_table_management_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* ModifyBuddyGroupRequest::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 1, 0, 2> ModifyBuddyGroupRequest::_table_ = { + { + PROTOBUF_FIELD_OFFSET(ModifyBuddyGroupRequest, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::management::ModifyBuddyGroupRequest>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // optional .management.BuddyGroupQuotaAccounting quota_accounting = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ModifyBuddyGroupRequest, _impl_.quota_accounting_), 1>(), + {16, 1, 0, PROTOBUF_FIELD_OFFSET(ModifyBuddyGroupRequest, _impl_.quota_accounting_)}}, + // optional .beegfs.EntityIdSet group = 1; + {::_pbi::TcParser::FastMtS1, + {10, 0, 0, PROTOBUF_FIELD_OFFSET(ModifyBuddyGroupRequest, _impl_.group_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional .beegfs.EntityIdSet group = 1; + {PROTOBUF_FIELD_OFFSET(ModifyBuddyGroupRequest, _impl_.group_), _Internal::kHasBitsOffset + 0, 0, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // optional .management.BuddyGroupQuotaAccounting quota_accounting = 2; + {PROTOBUF_FIELD_OFFSET(ModifyBuddyGroupRequest, _impl_.quota_accounting_), _Internal::kHasBitsOffset + 1, 0, + (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)}, + }}, {{ + {::_pbi::TcParser::GetTable<::beegfs::EntityIdSet>()}, + }}, {{ + }}, +}; + +PROTOBUF_NOINLINE void ModifyBuddyGroupRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:management.ModifyBuddyGroupRequest) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.group_ != nullptr); + _impl_.group_->Clear(); + } + _impl_.quota_accounting_ = 0; + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* ModifyBuddyGroupRequest::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const ModifyBuddyGroupRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* ModifyBuddyGroupRequest::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const ModifyBuddyGroupRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:management.ModifyBuddyGroupRequest) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional .beegfs.EntityIdSet group = 1; + if (cached_has_bits & 0x00000001u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, *this_._impl_.group_, this_._impl_.group_->GetCachedSize(), target, + stream); + } + + // optional .management.BuddyGroupQuotaAccounting quota_accounting = 2; + if (cached_has_bits & 0x00000002u) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 2, this_._internal_quota_accounting(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:management.ModifyBuddyGroupRequest) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t ModifyBuddyGroupRequest::ByteSizeLong(const MessageLite& base) { + const ModifyBuddyGroupRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t ModifyBuddyGroupRequest::ByteSizeLong() const { + const ModifyBuddyGroupRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:management.ModifyBuddyGroupRequest) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + cached_has_bits = this_._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + // optional .beegfs.EntityIdSet group = 1; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.group_); + } + // optional .management.BuddyGroupQuotaAccounting quota_accounting = 2; + if (cached_has_bits & 0x00000002u) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_quota_accounting()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void ModifyBuddyGroupRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:management.ModifyBuddyGroupRequest) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(from._impl_.group_ != nullptr); + if (_this->_impl_.group_ == nullptr) { + _this->_impl_.group_ = + ::google::protobuf::Message::CopyConstruct<::beegfs::EntityIdSet>(arena, *from._impl_.group_); + } else { + _this->_impl_.group_->MergeFrom(*from._impl_.group_); + } + } + if (cached_has_bits & 0x00000002u) { + _this->_impl_.quota_accounting_ = from._impl_.quota_accounting_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void ModifyBuddyGroupRequest::CopyFrom(const ModifyBuddyGroupRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:management.ModifyBuddyGroupRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void ModifyBuddyGroupRequest::InternalSwap(ModifyBuddyGroupRequest* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(ModifyBuddyGroupRequest, _impl_.quota_accounting_) + + sizeof(ModifyBuddyGroupRequest::_impl_.quota_accounting_) + - PROTOBUF_FIELD_OFFSET(ModifyBuddyGroupRequest, _impl_.group_)>( + reinterpret_cast(&_impl_.group_), + reinterpret_cast(&other->_impl_.group_)); +} + +::google::protobuf::Metadata ModifyBuddyGroupRequest::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class ModifyBuddyGroupResponse::_Internal { + public: +}; + +ModifyBuddyGroupResponse::ModifyBuddyGroupResponse(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::internal::ZeroFieldsBase(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::internal::ZeroFieldsBase(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(arena_constructor:management.ModifyBuddyGroupResponse) +} +ModifyBuddyGroupResponse::ModifyBuddyGroupResponse( + ::google::protobuf::Arena* arena, + const ModifyBuddyGroupResponse& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::internal::ZeroFieldsBase(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::internal::ZeroFieldsBase(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + ModifyBuddyGroupResponse* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + + // @@protoc_insertion_point(copy_constructor:management.ModifyBuddyGroupResponse) +} + +inline void* ModifyBuddyGroupResponse::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) ModifyBuddyGroupResponse(arena); +} +constexpr auto ModifyBuddyGroupResponse::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ModifyBuddyGroupResponse), + alignof(ModifyBuddyGroupResponse)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull ModifyBuddyGroupResponse::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_ModifyBuddyGroupResponse_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &ModifyBuddyGroupResponse::MergeImpl, + ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &ModifyBuddyGroupResponse::SharedDtor, + ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl(), &ModifyBuddyGroupResponse::ByteSizeLong, + &ModifyBuddyGroupResponse::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(ModifyBuddyGroupResponse, _impl_._cached_size_), + false, + }, + &ModifyBuddyGroupResponse::kDescriptorMethods, + &descriptor_table_management_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* ModifyBuddyGroupResponse::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 0, 0, 0, 2> ModifyBuddyGroupResponse::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 0, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967295, // skipmap + offsetof(decltype(_table_), field_names), // no field_entries + 0, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::management::ModifyBuddyGroupResponse>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, + // no field_entries, or aux_entries + {{ + }}, +}; + + + + + + + + +::google::protobuf::Metadata ModifyBuddyGroupResponse::GetMetadata() const { + return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + class DeleteBuddyGroupRequest::_Internal { public: using HasBits = diff --git a/cpp/management.pb.h b/cpp/management.pb.h index cf3fb71..f13f88d 100644 --- a/cpp/management.pb.h +++ b/cpp/management.pb.h @@ -29,6 +29,7 @@ #include "google/protobuf/message_lite.h" #include "google/protobuf/repeated_field.h" // IWYU pragma: export #include "google/protobuf/extension_set.h" // IWYU pragma: export +#include "google/protobuf/generated_enum_reflection.h" #include "google/protobuf/unknown_field_set.h" #include "beegfs.pb.h" #include "license.pb.h" @@ -160,6 +161,12 @@ extern MirrorRootInodeRequestDefaultTypeInternal _MirrorRootInodeRequest_default class MirrorRootInodeResponse; struct MirrorRootInodeResponseDefaultTypeInternal; extern MirrorRootInodeResponseDefaultTypeInternal _MirrorRootInodeResponse_default_instance_; +class ModifyBuddyGroupRequest; +struct ModifyBuddyGroupRequestDefaultTypeInternal; +extern ModifyBuddyGroupRequestDefaultTypeInternal _ModifyBuddyGroupRequest_default_instance_; +class ModifyBuddyGroupResponse; +struct ModifyBuddyGroupResponseDefaultTypeInternal; +extern ModifyBuddyGroupResponseDefaultTypeInternal _ModifyBuddyGroupResponse_default_instance_; class QuotaInfo; struct QuotaInfoDefaultTypeInternal; extern QuotaInfoDefaultTypeInternal _QuotaInfo_default_instance_; @@ -200,6 +207,40 @@ namespace protobuf { } // namespace google namespace management { +enum BuddyGroupQuotaAccounting : int { + BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED = 0, + BUDDY_GROUP_QUOTA_ACCOUNTING_PRIMARY = 1, + BUDDY_GROUP_QUOTA_ACCOUNTING_BOTH = 2, + BuddyGroupQuotaAccounting_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + BuddyGroupQuotaAccounting_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool BuddyGroupQuotaAccounting_IsValid(int value); +extern const uint32_t BuddyGroupQuotaAccounting_internal_data_[]; +constexpr BuddyGroupQuotaAccounting BuddyGroupQuotaAccounting_MIN = static_cast(0); +constexpr BuddyGroupQuotaAccounting BuddyGroupQuotaAccounting_MAX = static_cast(2); +constexpr int BuddyGroupQuotaAccounting_ARRAYSIZE = 2 + 1; +const ::google::protobuf::EnumDescriptor* +BuddyGroupQuotaAccounting_descriptor(); +template +const std::string& BuddyGroupQuotaAccounting_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to BuddyGroupQuotaAccounting_Name()."); + return BuddyGroupQuotaAccounting_Name(static_cast(value)); +} +template <> +inline const std::string& BuddyGroupQuotaAccounting_Name(BuddyGroupQuotaAccounting value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool BuddyGroupQuotaAccounting_Parse(absl::string_view name, BuddyGroupQuotaAccounting* value) { + return ::google::protobuf::internal::ParseNamedEnum( + BuddyGroupQuotaAccounting_descriptor(), name, value); +} // =================================================================== @@ -264,7 +305,7 @@ class StartResyncResponse final : public ::google::protobuf::internal::ZeroField return reinterpret_cast( &_StartResyncResponse_default_instance_); } - static constexpr int kIndexInFileMessages = 34; + static constexpr int kIndexInFileMessages = 36; friend void swap(StartResyncResponse& a, StartResyncResponse& b) { a.Swap(&b); } inline void Swap(StartResyncResponse* other) { if (other == this) return; @@ -554,7 +595,7 @@ class SetQuotaLimitsResponse final : public ::google::protobuf::internal::ZeroFi return reinterpret_cast( &_SetQuotaLimitsResponse_default_instance_); } - static constexpr int kIndexInFileMessages = 39; + static constexpr int kIndexInFileMessages = 41; friend void swap(SetQuotaLimitsResponse& a, SetQuotaLimitsResponse& b) { a.Swap(&b); } inline void Swap(SetQuotaLimitsResponse* other) { if (other == this) return; @@ -699,7 +740,7 @@ class SetDefaultQuotaLimitsResponse final : public ::google::protobuf::internal: return reinterpret_cast( &_SetDefaultQuotaLimitsResponse_default_instance_); } - static constexpr int kIndexInFileMessages = 37; + static constexpr int kIndexInFileMessages = 39; friend void swap(SetDefaultQuotaLimitsResponse& a, SetDefaultQuotaLimitsResponse& b) { a.Swap(&b); } inline void Swap(SetDefaultQuotaLimitsResponse* other) { if (other == this) return; @@ -931,6 +972,151 @@ class SetAliasResponse final : public ::google::protobuf::internal::ZeroFieldsBa }; // ------------------------------------------------------------------- +class ModifyBuddyGroupResponse final : public ::google::protobuf::internal::ZeroFieldsBase +/* @@protoc_insertion_point(class_definition:management.ModifyBuddyGroupResponse) */ { + public: + inline ModifyBuddyGroupResponse() : ModifyBuddyGroupResponse(nullptr) {} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(ModifyBuddyGroupResponse* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(ModifyBuddyGroupResponse)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR ModifyBuddyGroupResponse( + ::google::protobuf::internal::ConstantInitialized); + + inline ModifyBuddyGroupResponse(const ModifyBuddyGroupResponse& from) : ModifyBuddyGroupResponse(nullptr, from) {} + inline ModifyBuddyGroupResponse(ModifyBuddyGroupResponse&& from) noexcept + : ModifyBuddyGroupResponse(nullptr, std::move(from)) {} + inline ModifyBuddyGroupResponse& operator=(const ModifyBuddyGroupResponse& from) { + CopyFrom(from); + return *this; + } + inline ModifyBuddyGroupResponse& operator=(ModifyBuddyGroupResponse&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ModifyBuddyGroupResponse& default_instance() { + return *internal_default_instance(); + } + static inline const ModifyBuddyGroupResponse* internal_default_instance() { + return reinterpret_cast( + &_ModifyBuddyGroupResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = 30; + friend void swap(ModifyBuddyGroupResponse& a, ModifyBuddyGroupResponse& b) { a.Swap(&b); } + inline void Swap(ModifyBuddyGroupResponse* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ModifyBuddyGroupResponse* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ModifyBuddyGroupResponse* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct(arena); + } + using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom; + inline void CopyFrom(const ModifyBuddyGroupResponse& from) { + ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); + } + using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom; + void MergeFrom(const ModifyBuddyGroupResponse& from) { + ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); + } + + public: + bool IsInitialized() const { + return true; + } + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "management.ModifyBuddyGroupResponse"; } + + protected: + explicit ModifyBuddyGroupResponse(::google::protobuf::Arena* arena); + ModifyBuddyGroupResponse(::google::protobuf::Arena* arena, const ModifyBuddyGroupResponse& from); + ModifyBuddyGroupResponse(::google::protobuf::Arena* arena, ModifyBuddyGroupResponse&& from) noexcept + : ModifyBuddyGroupResponse(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + // @@protoc_insertion_point(class_scope:management.ModifyBuddyGroupResponse) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 0, 0, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const ModifyBuddyGroupResponse& from_msg); + PROTOBUF_TSAN_DECLARE_MEMBER + }; + friend struct ::TableStruct_management_2eproto; +}; +// ------------------------------------------------------------------- + class MirrorRootInodeResponse final : public ::google::protobuf::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:management.MirrorRootInodeResponse) */ { public: @@ -989,7 +1175,7 @@ class MirrorRootInodeResponse final : public ::google::protobuf::internal::ZeroF return reinterpret_cast( &_MirrorRootInodeResponse_default_instance_); } - static constexpr int kIndexInFileMessages = 32; + static constexpr int kIndexInFileMessages = 34; friend void swap(MirrorRootInodeResponse& a, MirrorRootInodeResponse& b) { a.Swap(&b); } inline void Swap(MirrorRootInodeResponse* other) { if (other == this) return; @@ -1134,7 +1320,7 @@ class MirrorRootInodeRequest final : public ::google::protobuf::internal::ZeroFi return reinterpret_cast( &_MirrorRootInodeRequest_default_instance_); } - static constexpr int kIndexInFileMessages = 31; + static constexpr int kIndexInFileMessages = 33; friend void swap(MirrorRootInodeRequest& a, MirrorRootInodeRequest& b) { a.Swap(&b); } inline void Swap(MirrorRootInodeRequest* other) { if (other == this) return; @@ -2031,7 +2217,7 @@ class GetLicenseRequest final : public ::google::protobuf::Message return reinterpret_cast( &_GetLicenseRequest_default_instance_); } - static constexpr int kIndexInFileMessages = 44; + static constexpr int kIndexInFileMessages = 46; friend void swap(GetLicenseRequest& a, GetLicenseRequest& b) { a.Swap(&b); } inline void Swap(GetLicenseRequest* other) { if (other == this) return; @@ -2368,7 +2554,7 @@ class StartResyncRequest final : public ::google::protobuf::Message return reinterpret_cast( &_StartResyncRequest_default_instance_); } - static constexpr int kIndexInFileMessages = 33; + static constexpr int kIndexInFileMessages = 35; friend void swap(StartResyncRequest& a, StartResyncRequest& b) { a.Swap(&b); } inline void Swap(StartResyncRequest* other) { if (other == this) return; @@ -2799,7 +2985,7 @@ class SetDefaultQuotaLimitsRequest final : public ::google::protobuf::Message return reinterpret_cast( &_SetDefaultQuotaLimitsRequest_default_instance_); } - static constexpr int kIndexInFileMessages = 36; + static constexpr int kIndexInFileMessages = 38; friend void swap(SetDefaultQuotaLimitsRequest& a, SetDefaultQuotaLimitsRequest& b) { a.Swap(&b); } inline void Swap(SetDefaultQuotaLimitsRequest* other) { if (other == this) return; @@ -3273,7 +3459,7 @@ class QuotaInfo final : public ::google::protobuf::Message return reinterpret_cast( &_QuotaInfo_default_instance_); } - static constexpr int kIndexInFileMessages = 35; + static constexpr int kIndexInFileMessages = 37; friend void swap(QuotaInfo& a, QuotaInfo& b) { a.Swap(&b); } inline void Swap(QuotaInfo* other) { if (other == this) return; @@ -3487,6 +3673,215 @@ class QuotaInfo final : public ::google::protobuf::Message }; // ------------------------------------------------------------------- +class ModifyBuddyGroupRequest final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:management.ModifyBuddyGroupRequest) */ { + public: + inline ModifyBuddyGroupRequest() : ModifyBuddyGroupRequest(nullptr) {} + ~ModifyBuddyGroupRequest() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(ModifyBuddyGroupRequest* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(ModifyBuddyGroupRequest)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR ModifyBuddyGroupRequest( + ::google::protobuf::internal::ConstantInitialized); + + inline ModifyBuddyGroupRequest(const ModifyBuddyGroupRequest& from) : ModifyBuddyGroupRequest(nullptr, from) {} + inline ModifyBuddyGroupRequest(ModifyBuddyGroupRequest&& from) noexcept + : ModifyBuddyGroupRequest(nullptr, std::move(from)) {} + inline ModifyBuddyGroupRequest& operator=(const ModifyBuddyGroupRequest& from) { + CopyFrom(from); + return *this; + } + inline ModifyBuddyGroupRequest& operator=(ModifyBuddyGroupRequest&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ModifyBuddyGroupRequest& default_instance() { + return *internal_default_instance(); + } + static inline const ModifyBuddyGroupRequest* internal_default_instance() { + return reinterpret_cast( + &_ModifyBuddyGroupRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = 29; + friend void swap(ModifyBuddyGroupRequest& a, ModifyBuddyGroupRequest& b) { a.Swap(&b); } + inline void Swap(ModifyBuddyGroupRequest* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ModifyBuddyGroupRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ModifyBuddyGroupRequest* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ModifyBuddyGroupRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const ModifyBuddyGroupRequest& from) { ModifyBuddyGroupRequest::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(ModifyBuddyGroupRequest* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "management.ModifyBuddyGroupRequest"; } + + protected: + explicit ModifyBuddyGroupRequest(::google::protobuf::Arena* arena); + ModifyBuddyGroupRequest(::google::protobuf::Arena* arena, const ModifyBuddyGroupRequest& from); + ModifyBuddyGroupRequest(::google::protobuf::Arena* arena, ModifyBuddyGroupRequest&& from) noexcept + : ModifyBuddyGroupRequest(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kGroupFieldNumber = 1, + kQuotaAccountingFieldNumber = 2, + }; + // optional .beegfs.EntityIdSet group = 1; + bool has_group() const; + void clear_group() ; + const ::beegfs::EntityIdSet& group() const; + PROTOBUF_NODISCARD ::beegfs::EntityIdSet* release_group(); + ::beegfs::EntityIdSet* mutable_group(); + void set_allocated_group(::beegfs::EntityIdSet* value); + void unsafe_arena_set_allocated_group(::beegfs::EntityIdSet* value); + ::beegfs::EntityIdSet* unsafe_arena_release_group(); + + private: + const ::beegfs::EntityIdSet& _internal_group() const; + ::beegfs::EntityIdSet* _internal_mutable_group(); + + public: + // optional .management.BuddyGroupQuotaAccounting quota_accounting = 2; + bool has_quota_accounting() const; + void clear_quota_accounting() ; + ::management::BuddyGroupQuotaAccounting quota_accounting() const; + void set_quota_accounting(::management::BuddyGroupQuotaAccounting value); + + private: + ::management::BuddyGroupQuotaAccounting _internal_quota_accounting() const; + void _internal_set_quota_accounting(::management::BuddyGroupQuotaAccounting value); + + public: + // @@protoc_insertion_point(class_scope:management.ModifyBuddyGroupRequest) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const ModifyBuddyGroupRequest& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::beegfs::EntityIdSet* group_; + int quota_accounting_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_management_2eproto; +}; +// ------------------------------------------------------------------- + class GetTargetsResponse_Target final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:management.GetTargetsResponse.Target) */ { public: @@ -3889,7 +4284,7 @@ class GetQuotaUsageRequest final : public ::google::protobuf::Message return reinterpret_cast( &_GetQuotaUsageRequest_default_instance_); } - static constexpr int kIndexInFileMessages = 42; + static constexpr int kIndexInFileMessages = 44; friend void swap(GetQuotaUsageRequest& a, GetQuotaUsageRequest& b) { a.Swap(&b); } inline void Swap(GetQuotaUsageRequest* other) { if (other == this) return; @@ -4192,7 +4587,7 @@ class GetQuotaLimitsRequest final : public ::google::protobuf::Message return reinterpret_cast( &_GetQuotaLimitsRequest_default_instance_); } - static constexpr int kIndexInFileMessages = 40; + static constexpr int kIndexInFileMessages = 42; friend void swap(GetQuotaLimitsRequest& a, GetQuotaLimitsRequest& b) { a.Swap(&b); } inline void Swap(GetQuotaLimitsRequest* other) { if (other == this) return; @@ -6506,7 +6901,7 @@ class DeleteBuddyGroupResponse final : public ::google::protobuf::Message return reinterpret_cast( &_DeleteBuddyGroupResponse_default_instance_); } - static constexpr int kIndexInFileMessages = 30; + static constexpr int kIndexInFileMessages = 32; friend void swap(DeleteBuddyGroupResponse& a, DeleteBuddyGroupResponse& b) { a.Swap(&b); } inline void Swap(DeleteBuddyGroupResponse* other) { if (other == this) return; @@ -6702,7 +7097,7 @@ class DeleteBuddyGroupRequest final : public ::google::protobuf::Message return reinterpret_cast( &_DeleteBuddyGroupRequest_default_instance_); } - static constexpr int kIndexInFileMessages = 29; + static constexpr int kIndexInFileMessages = 31; friend void swap(DeleteBuddyGroupRequest& a, DeleteBuddyGroupRequest& b) { a.Swap(&b); } inline void Swap(DeleteBuddyGroupRequest* other) { if (other == this) return; @@ -7657,6 +8052,7 @@ class CreateBuddyGroupRequest final : public ::google::protobuf::Message kSecondaryTargetFieldNumber = 5, kNodeTypeFieldNumber = 1, kNumIdFieldNumber = 2, + kQuotaAccountingFieldNumber = 6, }; // optional string alias = 3; bool has_alias() const; @@ -7726,13 +8122,24 @@ class CreateBuddyGroupRequest final : public ::google::protobuf::Message ::uint32_t _internal_num_id() const; void _internal_set_num_id(::uint32_t value); + public: + // optional .management.BuddyGroupQuotaAccounting quota_accounting = 6; + bool has_quota_accounting() const; + void clear_quota_accounting() ; + ::management::BuddyGroupQuotaAccounting quota_accounting() const; + void set_quota_accounting(::management::BuddyGroupQuotaAccounting value); + + private: + ::management::BuddyGroupQuotaAccounting _internal_quota_accounting() const; + void _internal_set_quota_accounting(::management::BuddyGroupQuotaAccounting value); + public: // @@protoc_insertion_point(class_scope:management.CreateBuddyGroupRequest) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 2, + 3, 6, 2, 48, 2> _table_; @@ -7757,6 +8164,7 @@ class CreateBuddyGroupRequest final : public ::google::protobuf::Message ::beegfs::EntityIdSet* secondary_target_; int node_type_; ::uint32_t num_id_; + int quota_accounting_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; @@ -8253,7 +8661,7 @@ class SetQuotaLimitsRequest final : public ::google::protobuf::Message return reinterpret_cast( &_SetQuotaLimitsRequest_default_instance_); } - static constexpr int kIndexInFileMessages = 38; + static constexpr int kIndexInFileMessages = 40; friend void swap(SetQuotaLimitsRequest& a, SetQuotaLimitsRequest& b) { a.Swap(&b); } inline void Swap(SetQuotaLimitsRequest* other) { if (other == this) return; @@ -8648,7 +9056,7 @@ class GetQuotaUsageResponse final : public ::google::protobuf::Message return reinterpret_cast( &_GetQuotaUsageResponse_default_instance_); } - static constexpr int kIndexInFileMessages = 43; + static constexpr int kIndexInFileMessages = 45; friend void swap(GetQuotaUsageResponse& a, GetQuotaUsageResponse& b) { a.Swap(&b); } inline void Swap(GetQuotaUsageResponse* other) { if (other == this) return; @@ -8857,7 +9265,7 @@ class GetQuotaLimitsResponse final : public ::google::protobuf::Message return reinterpret_cast( &_GetQuotaLimitsResponse_default_instance_); } - static constexpr int kIndexInFileMessages = 41; + static constexpr int kIndexInFileMessages = 43; friend void swap(GetQuotaLimitsResponse& a, GetQuotaLimitsResponse& b) { a.Swap(&b); } inline void Swap(GetQuotaLimitsResponse* other) { if (other == this) return; @@ -9503,7 +9911,7 @@ class GetLicenseResponse final : public ::google::protobuf::Message return reinterpret_cast( &_GetLicenseResponse_default_instance_); } - static constexpr int kIndexInFileMessages = 45; + static constexpr int kIndexInFileMessages = 47; friend void swap(GetLicenseResponse& a, GetLicenseResponse& b) { a.Swap(&b); } inline void Swap(GetLicenseResponse* other) { if (other == this) return; @@ -13773,6 +14181,34 @@ inline void CreateBuddyGroupRequest::set_allocated_secondary_target(::beegfs::En // @@protoc_insertion_point(field_set_allocated:management.CreateBuddyGroupRequest.secondary_target) } +// optional .management.BuddyGroupQuotaAccounting quota_accounting = 6; +inline bool CreateBuddyGroupRequest::has_quota_accounting() const { + bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; + return value; +} +inline void CreateBuddyGroupRequest::clear_quota_accounting() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.quota_accounting_ = 0; + _impl_._has_bits_[0] &= ~0x00000020u; +} +inline ::management::BuddyGroupQuotaAccounting CreateBuddyGroupRequest::quota_accounting() const { + // @@protoc_insertion_point(field_get:management.CreateBuddyGroupRequest.quota_accounting) + return _internal_quota_accounting(); +} +inline void CreateBuddyGroupRequest::set_quota_accounting(::management::BuddyGroupQuotaAccounting value) { + _internal_set_quota_accounting(value); + _impl_._has_bits_[0] |= 0x00000020u; + // @@protoc_insertion_point(field_set:management.CreateBuddyGroupRequest.quota_accounting) +} +inline ::management::BuddyGroupQuotaAccounting CreateBuddyGroupRequest::_internal_quota_accounting() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::management::BuddyGroupQuotaAccounting>(_impl_.quota_accounting_); +} +inline void CreateBuddyGroupRequest::_internal_set_quota_accounting(::management::BuddyGroupQuotaAccounting value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.quota_accounting_ = value; +} + // ------------------------------------------------------------------- // CreateBuddyGroupResponse @@ -13870,6 +14306,133 @@ inline void CreateBuddyGroupResponse::set_allocated_group(::beegfs::EntityIdSet* // ------------------------------------------------------------------- +// ModifyBuddyGroupRequest + +// optional .beegfs.EntityIdSet group = 1; +inline bool ModifyBuddyGroupRequest::has_group() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.group_ != nullptr); + return value; +} +inline const ::beegfs::EntityIdSet& ModifyBuddyGroupRequest::_internal_group() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::beegfs::EntityIdSet* p = _impl_.group_; + return p != nullptr ? *p : reinterpret_cast(::beegfs::_EntityIdSet_default_instance_); +} +inline const ::beegfs::EntityIdSet& ModifyBuddyGroupRequest::group() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:management.ModifyBuddyGroupRequest.group) + return _internal_group(); +} +inline void ModifyBuddyGroupRequest::unsafe_arena_set_allocated_group(::beegfs::EntityIdSet* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.group_); + } + _impl_.group_ = reinterpret_cast<::beegfs::EntityIdSet*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:management.ModifyBuddyGroupRequest.group) +} +inline ::beegfs::EntityIdSet* ModifyBuddyGroupRequest::release_group() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::beegfs::EntityIdSet* released = _impl_.group_; + _impl_.group_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::beegfs::EntityIdSet* ModifyBuddyGroupRequest::unsafe_arena_release_group() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:management.ModifyBuddyGroupRequest.group) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::beegfs::EntityIdSet* temp = _impl_.group_; + _impl_.group_ = nullptr; + return temp; +} +inline ::beegfs::EntityIdSet* ModifyBuddyGroupRequest::_internal_mutable_group() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.group_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::beegfs::EntityIdSet>(GetArena()); + _impl_.group_ = reinterpret_cast<::beegfs::EntityIdSet*>(p); + } + return _impl_.group_; +} +inline ::beegfs::EntityIdSet* ModifyBuddyGroupRequest::mutable_group() ABSL_ATTRIBUTE_LIFETIME_BOUND { + _impl_._has_bits_[0] |= 0x00000001u; + ::beegfs::EntityIdSet* _msg = _internal_mutable_group(); + // @@protoc_insertion_point(field_mutable:management.ModifyBuddyGroupRequest.group) + return _msg; +} +inline void ModifyBuddyGroupRequest::set_allocated_group(::beegfs::EntityIdSet* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.group_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.group_ = reinterpret_cast<::beegfs::EntityIdSet*>(value); + // @@protoc_insertion_point(field_set_allocated:management.ModifyBuddyGroupRequest.group) +} + +// optional .management.BuddyGroupQuotaAccounting quota_accounting = 2; +inline bool ModifyBuddyGroupRequest::has_quota_accounting() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline void ModifyBuddyGroupRequest::clear_quota_accounting() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.quota_accounting_ = 0; + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline ::management::BuddyGroupQuotaAccounting ModifyBuddyGroupRequest::quota_accounting() const { + // @@protoc_insertion_point(field_get:management.ModifyBuddyGroupRequest.quota_accounting) + return _internal_quota_accounting(); +} +inline void ModifyBuddyGroupRequest::set_quota_accounting(::management::BuddyGroupQuotaAccounting value) { + _internal_set_quota_accounting(value); + _impl_._has_bits_[0] |= 0x00000002u; + // @@protoc_insertion_point(field_set:management.ModifyBuddyGroupRequest.quota_accounting) +} +inline ::management::BuddyGroupQuotaAccounting ModifyBuddyGroupRequest::_internal_quota_accounting() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::management::BuddyGroupQuotaAccounting>(_impl_.quota_accounting_); +} +inline void ModifyBuddyGroupRequest::_internal_set_quota_accounting(::management::BuddyGroupQuotaAccounting value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.quota_accounting_ = value; +} + +// ------------------------------------------------------------------- + +// ModifyBuddyGroupResponse + +// ------------------------------------------------------------------- + // DeleteBuddyGroupRequest // optional .beegfs.EntityIdSet group = 1; @@ -15759,6 +16322,19 @@ inline void GetLicenseResponse::set_allocated_cert_data(::license::GetCertDataRe } // namespace management +namespace google { +namespace protobuf { + +template <> +struct is_proto_enum<::management::BuddyGroupQuotaAccounting> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::management::BuddyGroupQuotaAccounting>() { + return ::management::BuddyGroupQuotaAccounting_descriptor(); +} + +} // namespace protobuf +} // namespace google + // @@protoc_insertion_point(global_scope) #include "google/protobuf/port_undef.inc" diff --git a/go/management/management.pb.go b/go/management/management.pb.go index 49e0e8b..7aa510f 100644 --- a/go/management/management.pb.go +++ b/go/management/management.pb.go @@ -23,6 +23,50 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type BuddyGroupQuotaAccounting int32 + +const ( + BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED BuddyGroupQuotaAccounting = 0 + BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_PRIMARY BuddyGroupQuotaAccounting = 1 + BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_BOTH BuddyGroupQuotaAccounting = 2 +) + +// Enum value maps for BuddyGroupQuotaAccounting. +var ( + BuddyGroupQuotaAccounting_name = map[int32]string{ + 0: "BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED", + 1: "BUDDY_GROUP_QUOTA_ACCOUNTING_PRIMARY", + 2: "BUDDY_GROUP_QUOTA_ACCOUNTING_BOTH", + } + BuddyGroupQuotaAccounting_value = map[string]int32{ + "BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED": 0, + "BUDDY_GROUP_QUOTA_ACCOUNTING_PRIMARY": 1, + "BUDDY_GROUP_QUOTA_ACCOUNTING_BOTH": 2, + } +) + +func (x BuddyGroupQuotaAccounting) Enum() *BuddyGroupQuotaAccounting { + p := new(BuddyGroupQuotaAccounting) + *p = x + return p +} + +func (x BuddyGroupQuotaAccounting) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BuddyGroupQuotaAccounting) Descriptor() protoreflect.EnumDescriptor { + return file_management_proto_enumTypes[0].Descriptor() +} + +func (BuddyGroupQuotaAccounting) Type() protoreflect.EnumType { + return &file_management_proto_enumTypes[0] +} + +func (x BuddyGroupQuotaAccounting) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + // Sets an entity alias. type SetAliasRequest struct { state protoimpl.MessageState `protogen:"hybrid.v1"` @@ -1819,6 +1863,9 @@ type CreateBuddyGroupRequest struct { // The new buddy groups secondary target. // Required. One identifier is sufficient. SecondaryTarget *beegfs.EntityIdSet `protobuf:"bytes,5,opt,name=secondary_target,json=secondaryTarget,proto3,oneof" json:"secondary_target,omitempty"` + // How quota on the mirrored targets shall be taken into account. + // Optional. Management is free to choose the default if not given. + QuotaAccounting *BuddyGroupQuotaAccounting `protobuf:"varint,6,opt,name=quota_accounting,json=quotaAccounting,proto3,enum=management.BuddyGroupQuotaAccounting,oneof" json:"quota_accounting,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1883,6 +1930,13 @@ func (x *CreateBuddyGroupRequest) GetSecondaryTarget() *beegfs.EntityIdSet { return nil } +func (x *CreateBuddyGroupRequest) GetQuotaAccounting() BuddyGroupQuotaAccounting { + if x != nil && x.QuotaAccounting != nil { + return *x.QuotaAccounting + } + return BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED +} + func (x *CreateBuddyGroupRequest) SetNodeType(v beegfs.NodeType) { x.NodeType = &v } @@ -1903,6 +1957,10 @@ func (x *CreateBuddyGroupRequest) SetSecondaryTarget(v *beegfs.EntityIdSet) { x.SecondaryTarget = v } +func (x *CreateBuddyGroupRequest) SetQuotaAccounting(v BuddyGroupQuotaAccounting) { + x.QuotaAccounting = &v +} + func (x *CreateBuddyGroupRequest) HasNodeType() bool { if x == nil { return false @@ -1938,6 +1996,13 @@ func (x *CreateBuddyGroupRequest) HasSecondaryTarget() bool { return x.SecondaryTarget != nil } +func (x *CreateBuddyGroupRequest) HasQuotaAccounting() bool { + if x == nil { + return false + } + return x.QuotaAccounting != nil +} + func (x *CreateBuddyGroupRequest) ClearNodeType() { x.NodeType = nil } @@ -1958,6 +2023,10 @@ func (x *CreateBuddyGroupRequest) ClearSecondaryTarget() { x.SecondaryTarget = nil } +func (x *CreateBuddyGroupRequest) ClearQuotaAccounting() { + x.QuotaAccounting = nil +} + type CreateBuddyGroupRequest_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. @@ -1976,6 +2045,9 @@ type CreateBuddyGroupRequest_builder struct { // The new buddy groups secondary target. // Required. One identifier is sufficient. SecondaryTarget *beegfs.EntityIdSet + // How quota on the mirrored targets shall be taken into account. + // Optional. Management is free to choose the default if not given. + QuotaAccounting *BuddyGroupQuotaAccounting } func (b0 CreateBuddyGroupRequest_builder) Build() *CreateBuddyGroupRequest { @@ -1987,6 +2059,7 @@ func (b0 CreateBuddyGroupRequest_builder) Build() *CreateBuddyGroupRequest { x.Alias = b.Alias x.PrimaryTarget = b.PrimaryTarget x.SecondaryTarget = b.SecondaryTarget + x.QuotaAccounting = b.QuotaAccounting return m0 } @@ -2062,6 +2135,151 @@ func (b0 CreateBuddyGroupResponse_builder) Build() *CreateBuddyGroupResponse { return m0 } +// Modifies a buddy group or its config. +type ModifyBuddyGroupRequest struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // The buddy group to modify. + // Required. One identifier is sufficient. + Group *beegfs.EntityIdSet `protobuf:"bytes,1,opt,name=group,proto3,oneof" json:"group,omitempty"` + // How quota on the mirrored targets shall be taken into account. + // Optional. Not modified if not given + QuotaAccounting *BuddyGroupQuotaAccounting `protobuf:"varint,2,opt,name=quota_accounting,json=quotaAccounting,proto3,enum=management.BuddyGroupQuotaAccounting,oneof" json:"quota_accounting,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ModifyBuddyGroupRequest) Reset() { + *x = ModifyBuddyGroupRequest{} + mi := &file_management_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ModifyBuddyGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModifyBuddyGroupRequest) ProtoMessage() {} + +func (x *ModifyBuddyGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_management_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ModifyBuddyGroupRequest) GetGroup() *beegfs.EntityIdSet { + if x != nil { + return x.Group + } + return nil +} + +func (x *ModifyBuddyGroupRequest) GetQuotaAccounting() BuddyGroupQuotaAccounting { + if x != nil && x.QuotaAccounting != nil { + return *x.QuotaAccounting + } + return BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED +} + +func (x *ModifyBuddyGroupRequest) SetGroup(v *beegfs.EntityIdSet) { + x.Group = v +} + +func (x *ModifyBuddyGroupRequest) SetQuotaAccounting(v BuddyGroupQuotaAccounting) { + x.QuotaAccounting = &v +} + +func (x *ModifyBuddyGroupRequest) HasGroup() bool { + if x == nil { + return false + } + return x.Group != nil +} + +func (x *ModifyBuddyGroupRequest) HasQuotaAccounting() bool { + if x == nil { + return false + } + return x.QuotaAccounting != nil +} + +func (x *ModifyBuddyGroupRequest) ClearGroup() { + x.Group = nil +} + +func (x *ModifyBuddyGroupRequest) ClearQuotaAccounting() { + x.QuotaAccounting = nil +} + +type ModifyBuddyGroupRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // The buddy group to modify. + // Required. One identifier is sufficient. + Group *beegfs.EntityIdSet + // How quota on the mirrored targets shall be taken into account. + // Optional. Not modified if not given + QuotaAccounting *BuddyGroupQuotaAccounting +} + +func (b0 ModifyBuddyGroupRequest_builder) Build() *ModifyBuddyGroupRequest { + m0 := &ModifyBuddyGroupRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Group = b.Group + x.QuotaAccounting = b.QuotaAccounting + return m0 +} + +type ModifyBuddyGroupResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ModifyBuddyGroupResponse) Reset() { + *x = ModifyBuddyGroupResponse{} + mi := &file_management_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ModifyBuddyGroupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModifyBuddyGroupResponse) ProtoMessage() {} + +func (x *ModifyBuddyGroupResponse) ProtoReflect() protoreflect.Message { + mi := &file_management_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type ModifyBuddyGroupResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ModifyBuddyGroupResponse_builder) Build() *ModifyBuddyGroupResponse { + m0 := &ModifyBuddyGroupResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + // Deletes a buddy group from the system. type DeleteBuddyGroupRequest struct { state protoimpl.MessageState `protogen:"hybrid.v1"` @@ -2078,7 +2296,7 @@ type DeleteBuddyGroupRequest struct { func (x *DeleteBuddyGroupRequest) Reset() { *x = DeleteBuddyGroupRequest{} - mi := &file_management_proto_msgTypes[24] + mi := &file_management_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2090,7 +2308,7 @@ func (x *DeleteBuddyGroupRequest) String() string { func (*DeleteBuddyGroupRequest) ProtoMessage() {} func (x *DeleteBuddyGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[24] + mi := &file_management_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2177,7 +2395,7 @@ type DeleteBuddyGroupResponse struct { func (x *DeleteBuddyGroupResponse) Reset() { *x = DeleteBuddyGroupResponse{} - mi := &file_management_proto_msgTypes[25] + mi := &file_management_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2189,7 +2407,7 @@ func (x *DeleteBuddyGroupResponse) String() string { func (*DeleteBuddyGroupResponse) ProtoMessage() {} func (x *DeleteBuddyGroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[25] + mi := &file_management_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2247,7 +2465,7 @@ type MirrorRootInodeRequest struct { func (x *MirrorRootInodeRequest) Reset() { *x = MirrorRootInodeRequest{} - mi := &file_management_proto_msgTypes[26] + mi := &file_management_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2259,7 +2477,7 @@ func (x *MirrorRootInodeRequest) String() string { func (*MirrorRootInodeRequest) ProtoMessage() {} func (x *MirrorRootInodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[26] + mi := &file_management_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2290,7 +2508,7 @@ type MirrorRootInodeResponse struct { func (x *MirrorRootInodeResponse) Reset() { *x = MirrorRootInodeResponse{} - mi := &file_management_proto_msgTypes[27] + mi := &file_management_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2302,7 +2520,7 @@ func (x *MirrorRootInodeResponse) String() string { func (*MirrorRootInodeResponse) ProtoMessage() {} func (x *MirrorRootInodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[27] + mi := &file_management_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2343,7 +2561,7 @@ type StartResyncRequest struct { func (x *StartResyncRequest) Reset() { *x = StartResyncRequest{} - mi := &file_management_proto_msgTypes[28] + mi := &file_management_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2355,7 +2573,7 @@ func (x *StartResyncRequest) String() string { func (*StartResyncRequest) ProtoMessage() {} func (x *StartResyncRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[28] + mi := &file_management_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2464,7 +2682,7 @@ type StartResyncResponse struct { func (x *StartResyncResponse) Reset() { *x = StartResyncResponse{} - mi := &file_management_proto_msgTypes[29] + mi := &file_management_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2476,7 +2694,7 @@ func (x *StartResyncResponse) String() string { func (*StartResyncResponse) ProtoMessage() {} func (x *StartResyncResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[29] + mi := &file_management_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2534,7 +2752,7 @@ type QuotaInfo struct { func (x *QuotaInfo) Reset() { *x = QuotaInfo{} - mi := &file_management_proto_msgTypes[30] + mi := &file_management_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2546,7 +2764,7 @@ func (x *QuotaInfo) String() string { func (*QuotaInfo) ProtoMessage() {} func (x *QuotaInfo) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[30] + mi := &file_management_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2768,7 +2986,7 @@ type SetDefaultQuotaLimitsRequest struct { func (x *SetDefaultQuotaLimitsRequest) Reset() { *x = SetDefaultQuotaLimitsRequest{} - mi := &file_management_proto_msgTypes[31] + mi := &file_management_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2780,7 +2998,7 @@ func (x *SetDefaultQuotaLimitsRequest) String() string { func (*SetDefaultQuotaLimitsRequest) ProtoMessage() {} func (x *SetDefaultQuotaLimitsRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[31] + mi := &file_management_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2941,7 +3159,7 @@ type SetDefaultQuotaLimitsResponse struct { func (x *SetDefaultQuotaLimitsResponse) Reset() { *x = SetDefaultQuotaLimitsResponse{} - mi := &file_management_proto_msgTypes[32] + mi := &file_management_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2953,7 +3171,7 @@ func (x *SetDefaultQuotaLimitsResponse) String() string { func (*SetDefaultQuotaLimitsResponse) ProtoMessage() {} func (x *SetDefaultQuotaLimitsResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[32] + mi := &file_management_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2987,7 +3205,7 @@ type SetQuotaLimitsRequest struct { func (x *SetQuotaLimitsRequest) Reset() { *x = SetQuotaLimitsRequest{} - mi := &file_management_proto_msgTypes[33] + mi := &file_management_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2999,7 +3217,7 @@ func (x *SetQuotaLimitsRequest) String() string { func (*SetQuotaLimitsRequest) ProtoMessage() {} func (x *SetQuotaLimitsRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[33] + mi := &file_management_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3044,7 +3262,7 @@ type SetQuotaLimitsResponse struct { func (x *SetQuotaLimitsResponse) Reset() { *x = SetQuotaLimitsResponse{} - mi := &file_management_proto_msgTypes[34] + mi := &file_management_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3056,7 +3274,7 @@ func (x *SetQuotaLimitsResponse) String() string { func (*SetQuotaLimitsResponse) ProtoMessage() {} func (x *SetQuotaLimitsResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[34] + mi := &file_management_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3109,7 +3327,7 @@ type GetQuotaLimitsRequest struct { func (x *GetQuotaLimitsRequest) Reset() { *x = GetQuotaLimitsRequest{} - mi := &file_management_proto_msgTypes[35] + mi := &file_management_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3121,7 +3339,7 @@ func (x *GetQuotaLimitsRequest) String() string { func (*GetQuotaLimitsRequest) ProtoMessage() {} func (x *GetQuotaLimitsRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[35] + mi := &file_management_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3315,7 +3533,7 @@ type GetQuotaLimitsResponse struct { func (x *GetQuotaLimitsResponse) Reset() { *x = GetQuotaLimitsResponse{} - mi := &file_management_proto_msgTypes[36] + mi := &file_management_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3327,7 +3545,7 @@ func (x *GetQuotaLimitsResponse) String() string { func (*GetQuotaLimitsResponse) ProtoMessage() {} func (x *GetQuotaLimitsResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[36] + mi := &file_management_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3411,7 +3629,7 @@ type GetQuotaUsageRequest struct { func (x *GetQuotaUsageRequest) Reset() { *x = GetQuotaUsageRequest{} - mi := &file_management_proto_msgTypes[37] + mi := &file_management_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3423,7 +3641,7 @@ func (x *GetQuotaUsageRequest) String() string { func (*GetQuotaUsageRequest) ProtoMessage() {} func (x *GetQuotaUsageRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[37] + mi := &file_management_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3646,7 +3864,7 @@ type GetQuotaUsageResponse struct { func (x *GetQuotaUsageResponse) Reset() { *x = GetQuotaUsageResponse{} - mi := &file_management_proto_msgTypes[38] + mi := &file_management_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3658,7 +3876,7 @@ func (x *GetQuotaUsageResponse) String() string { func (*GetQuotaUsageResponse) ProtoMessage() {} func (x *GetQuotaUsageResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[38] + mi := &file_management_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3746,7 +3964,7 @@ type GetLicenseRequest struct { func (x *GetLicenseRequest) Reset() { *x = GetLicenseRequest{} - mi := &file_management_proto_msgTypes[39] + mi := &file_management_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3758,7 +3976,7 @@ func (x *GetLicenseRequest) String() string { func (*GetLicenseRequest) ProtoMessage() {} func (x *GetLicenseRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[39] + mi := &file_management_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3818,7 +4036,7 @@ type GetLicenseResponse struct { func (x *GetLicenseResponse) Reset() { *x = GetLicenseResponse{} - mi := &file_management_proto_msgTypes[40] + mi := &file_management_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3830,7 +4048,7 @@ func (x *GetLicenseResponse) String() string { func (*GetLicenseResponse) ProtoMessage() {} func (x *GetLicenseResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[40] + mi := &file_management_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3899,7 +4117,7 @@ type GetNodesResponse_Node struct { func (x *GetNodesResponse_Node) Reset() { *x = GetNodesResponse_Node{} - mi := &file_management_proto_msgTypes[41] + mi := &file_management_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3911,7 +4129,7 @@ func (x *GetNodesResponse_Node) String() string { func (*GetNodesResponse_Node) ProtoMessage() {} func (x *GetNodesResponse_Node) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[41] + mi := &file_management_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4022,7 +4240,7 @@ type GetNodesResponse_Node_Nic struct { func (x *GetNodesResponse_Node_Nic) Reset() { *x = GetNodesResponse_Node_Nic{} - mi := &file_management_proto_msgTypes[42] + mi := &file_management_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4034,7 +4252,7 @@ func (x *GetNodesResponse_Node_Nic) String() string { func (*GetNodesResponse_Node_Nic) ProtoMessage() {} func (x *GetNodesResponse_Node_Nic) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[42] + mi := &file_management_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4149,7 +4367,7 @@ type GetTargetsResponse_Target struct { func (x *GetTargetsResponse_Target) Reset() { *x = GetTargetsResponse_Target{} - mi := &file_management_proto_msgTypes[43] + mi := &file_management_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4161,7 +4379,7 @@ func (x *GetTargetsResponse_Target) String() string { func (*GetTargetsResponse_Target) ProtoMessage() {} func (x *GetTargetsResponse_Target) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[43] + mi := &file_management_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4488,7 +4706,7 @@ type GetPoolsResponse_StoragePool struct { func (x *GetPoolsResponse_StoragePool) Reset() { *x = GetPoolsResponse_StoragePool{} - mi := &file_management_proto_msgTypes[44] + mi := &file_management_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4500,7 +4718,7 @@ func (x *GetPoolsResponse_StoragePool) String() string { func (*GetPoolsResponse_StoragePool) ProtoMessage() {} func (x *GetPoolsResponse_StoragePool) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[44] + mi := &file_management_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4718,7 +4936,7 @@ type GetBuddyGroupsResponse_BuddyGroup struct { func (x *GetBuddyGroupsResponse_BuddyGroup) Reset() { *x = GetBuddyGroupsResponse_BuddyGroup{} - mi := &file_management_proto_msgTypes[45] + mi := &file_management_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4730,7 +4948,7 @@ func (x *GetBuddyGroupsResponse_BuddyGroup) String() string { func (*GetBuddyGroupsResponse_BuddyGroup) ProtoMessage() {} func (x *GetBuddyGroupsResponse_BuddyGroup) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[45] + mi := &file_management_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5174,7 +5392,7 @@ var file_management_proto_rawDesc = []byte{ 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, - 0x70, 0x6f, 0x6f, 0x6c, 0x22, 0xd5, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, + 0x70, 0x6f, 0x6f, 0x6c, 0x22, 0xc1, 0x03, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x4e, 0x6f, 0x64, @@ -5191,451 +5409,496 @@ var file_management_proto_rawDesc = []byte{ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x04, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, - 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x54, 0x0a, 0x18, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x01, 0x12, 0x55, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, + 0x6e, 0x67, 0x48, 0x05, 0x52, 0x0f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x69, + 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x13, + 0x0a, 0x11, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x54, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xbf, + 0x01, 0x0a, 0x17, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, + 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, + 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x10, 0x71, 0x75, + 0x6f, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x01, 0x52, 0x0f, 0x71, + 0x75, 0x6f, 0x74, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x13, 0x0a, 0x11, 0x5f, + 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, + 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x17, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x22, 0x54, 0x0a, 0x18, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x22, 0x7e, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, - 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, - 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, - 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, - 0x74, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, - 0x07, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, - 0x52, 0x07, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x65, 0x22, 0x54, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, - 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, - 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, - 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x69, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, - 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbb, 0x01, - 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0b, 0x62, 0x75, 0x64, 0x64, 0x79, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, - 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, - 0x52, 0x0a, 0x62, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, - 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x07, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, - 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x75, 0x64, 0x64, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xef, 0x02, 0x0a, 0x09, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x1e, 0x0a, 0x08, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x00, 0x52, 0x07, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2c, 0x0a, 0x07, 0x69, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, - 0x49, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, - 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, - 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, - 0x74, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x02, 0x52, 0x0a, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x6f, 0x64, 0x65, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x09, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, - 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x55, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x5f, 0x75, 0x73, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, - 0x75, 0x73, 0x65, 0x64, 0x22, 0xeb, 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, + 0x75, 0x70, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, + 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x19, 0x0a, 0x17, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbb, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, + 0x0a, 0x0b, 0x62, 0x75, 0x64, 0x64, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, - 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, - 0x0e, 0x75, 0x73, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0e, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, - 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x13, 0x0a, 0x11, - 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x14, 0x0a, 0x12, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x22, 0x1f, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x46, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x53, - 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xee, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, + 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x75, 0x64, 0x64, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, + 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, + 0x07, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x62, 0x75, 0x64, 0x64, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xef, 0x02, 0x0a, + 0x09, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x08, 0x71, 0x75, + 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x07, + 0x71, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x07, 0x69, 0x64, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x62, 0x65, + 0x65, 0x67, 0x66, 0x73, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x01, 0x52, 0x04, 0x70, + 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0a, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, + 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x55, + 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x75, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, 0x09, 0x69, 0x6e, + 0x6f, 0x64, 0x65, 0x55, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x71, + 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x22, 0xeb, + 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x69, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, - 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0c, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x69, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, - 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, - 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, - 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, - 0x48, 0x04, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x22, 0x57, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, - 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x32, 0x0a, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, - 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, - 0x9b, 0x03, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, - 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, - 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, - 0x01, 0x01, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, - 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x03, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, - 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x04, 0x52, 0x04, 0x70, 0x6f, 0x6f, - 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x08, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, - 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, + 0x65, 0x74, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, + 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x53, + 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, + 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x1f, 0x0a, 0x1d, + 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x0a, + 0x15, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xee, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, + 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, + 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x61, 0x78, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, + 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, + 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x61, 0x78, + 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x04, 0x52, 0x04, 0x70, 0x6f, + 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x22, 0x97, 0x01, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, - 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x72, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x53, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x22, 0x3b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, - 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, - 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, - 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x60, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x63, 0x65, - 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x08, 0x63, 0x65, 0x72, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, - 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x32, 0x98, 0x0d, 0x0a, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, - 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x41, - 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x22, 0x57, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, + 0x6f, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x9b, 0x03, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x0c, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, + 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, + 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, + 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0a, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0d, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, + 0x53, 0x65, 0x74, 0x48, 0x04, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1f, + 0x0a, 0x08, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x05, 0x52, 0x08, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, + 0x78, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, + 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x51, + 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x70, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, + 0x0e, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x88, + 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, + 0x73, 0x22, 0x3b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x60, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x08, 0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x88, + 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x2a, 0x9a, 0x01, 0x0a, 0x19, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, + 0x75, 0x6f, 0x74, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2c, + 0x0a, 0x28, 0x42, 0x55, 0x44, 0x44, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x51, 0x55, + 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, + 0x42, 0x55, 0x44, 0x44, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x51, 0x55, 0x4f, 0x54, + 0x41, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x52, 0x49, + 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x42, 0x55, 0x44, 0x44, 0x59, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x43, 0x43, 0x4f, + 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x02, 0x32, 0xf7, 0x0d, + 0x0a, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x08, + 0x53, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x1d, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, - 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x57, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x47, 0x65, 0x74, - 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4b, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, - 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, - 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, - 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, + 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, 0x75, - 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x64, - 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, - 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5d, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, - 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, - 0x0a, 0x0f, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, - 0x65, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, - 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, - 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, - 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x15, 0x53, 0x65, - 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x45, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x1b, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, + 0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, + 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, + 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x2e, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, + 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x75, + 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x64, + 0x69, 0x66, 0x79, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, + 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, + 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0f, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, + 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, + 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, + 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4e, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x12, + 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6c, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x51, - 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x51, 0x75, - 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x56, 0x0a, 0x0d, - 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, - 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, - 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x70, 0x61, 0x72, 0x71, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var file_management_proto_msgTypes = make([]protoimpl.MessageInfo, 46) + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, + 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, + 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, + 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, + 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x56, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x70, 0x61, 0x72, 0x71, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_management_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_management_proto_msgTypes = make([]protoimpl.MessageInfo, 48) var file_management_proto_goTypes = []any{ - (*SetAliasRequest)(nil), // 0: management.SetAliasRequest - (*SetAliasResponse)(nil), // 1: management.SetAliasResponse - (*GetNodesRequest)(nil), // 2: management.GetNodesRequest - (*GetNodesResponse)(nil), // 3: management.GetNodesResponse - (*DeleteNodeRequest)(nil), // 4: management.DeleteNodeRequest - (*DeleteNodeResponse)(nil), // 5: management.DeleteNodeResponse - (*GetTargetsRequest)(nil), // 6: management.GetTargetsRequest - (*GetTargetsResponse)(nil), // 7: management.GetTargetsResponse - (*DeleteTargetRequest)(nil), // 8: management.DeleteTargetRequest - (*DeleteTargetResponse)(nil), // 9: management.DeleteTargetResponse - (*SetTargetStateRequest)(nil), // 10: management.SetTargetStateRequest - (*SetTargetStateResponse)(nil), // 11: management.SetTargetStateResponse - (*GetPoolsRequest)(nil), // 12: management.GetPoolsRequest - (*GetPoolsResponse)(nil), // 13: management.GetPoolsResponse - (*CreatePoolRequest)(nil), // 14: management.CreatePoolRequest - (*CreatePoolResponse)(nil), // 15: management.CreatePoolResponse - (*AssignPoolRequest)(nil), // 16: management.AssignPoolRequest - (*AssignPoolResponse)(nil), // 17: management.AssignPoolResponse - (*DeletePoolRequest)(nil), // 18: management.DeletePoolRequest - (*DeletePoolResponse)(nil), // 19: management.DeletePoolResponse - (*GetBuddyGroupsRequest)(nil), // 20: management.GetBuddyGroupsRequest - (*GetBuddyGroupsResponse)(nil), // 21: management.GetBuddyGroupsResponse - (*CreateBuddyGroupRequest)(nil), // 22: management.CreateBuddyGroupRequest - (*CreateBuddyGroupResponse)(nil), // 23: management.CreateBuddyGroupResponse - (*DeleteBuddyGroupRequest)(nil), // 24: management.DeleteBuddyGroupRequest - (*DeleteBuddyGroupResponse)(nil), // 25: management.DeleteBuddyGroupResponse - (*MirrorRootInodeRequest)(nil), // 26: management.MirrorRootInodeRequest - (*MirrorRootInodeResponse)(nil), // 27: management.MirrorRootInodeResponse - (*StartResyncRequest)(nil), // 28: management.StartResyncRequest - (*StartResyncResponse)(nil), // 29: management.StartResyncResponse - (*QuotaInfo)(nil), // 30: management.QuotaInfo - (*SetDefaultQuotaLimitsRequest)(nil), // 31: management.SetDefaultQuotaLimitsRequest - (*SetDefaultQuotaLimitsResponse)(nil), // 32: management.SetDefaultQuotaLimitsResponse - (*SetQuotaLimitsRequest)(nil), // 33: management.SetQuotaLimitsRequest - (*SetQuotaLimitsResponse)(nil), // 34: management.SetQuotaLimitsResponse - (*GetQuotaLimitsRequest)(nil), // 35: management.GetQuotaLimitsRequest - (*GetQuotaLimitsResponse)(nil), // 36: management.GetQuotaLimitsResponse - (*GetQuotaUsageRequest)(nil), // 37: management.GetQuotaUsageRequest - (*GetQuotaUsageResponse)(nil), // 38: management.GetQuotaUsageResponse - (*GetLicenseRequest)(nil), // 39: management.GetLicenseRequest - (*GetLicenseResponse)(nil), // 40: management.GetLicenseResponse - (*GetNodesResponse_Node)(nil), // 41: management.GetNodesResponse.Node - (*GetNodesResponse_Node_Nic)(nil), // 42: management.GetNodesResponse.Node.Nic - (*GetTargetsResponse_Target)(nil), // 43: management.GetTargetsResponse.Target - (*GetPoolsResponse_StoragePool)(nil), // 44: management.GetPoolsResponse.StoragePool - (*GetBuddyGroupsResponse_BuddyGroup)(nil), // 45: management.GetBuddyGroupsResponse.BuddyGroup - (*beegfs.EntityIdSet)(nil), // 46: beegfs.EntityIdSet - (beegfs.EntityType)(0), // 47: beegfs.EntityType - (beegfs.ConsistencyState)(0), // 48: beegfs.ConsistencyState - (beegfs.NodeType)(0), // 49: beegfs.NodeType - (beegfs.QuotaIdType)(0), // 50: beegfs.QuotaIdType - (*license.GetCertDataResult)(nil), // 51: license.GetCertDataResult - (beegfs.NicType)(0), // 52: beegfs.NicType - (beegfs.ReachabilityState)(0), // 53: beegfs.ReachabilityState - (beegfs.CapacityPool)(0), // 54: beegfs.CapacityPool + (BuddyGroupQuotaAccounting)(0), // 0: management.BuddyGroupQuotaAccounting + (*SetAliasRequest)(nil), // 1: management.SetAliasRequest + (*SetAliasResponse)(nil), // 2: management.SetAliasResponse + (*GetNodesRequest)(nil), // 3: management.GetNodesRequest + (*GetNodesResponse)(nil), // 4: management.GetNodesResponse + (*DeleteNodeRequest)(nil), // 5: management.DeleteNodeRequest + (*DeleteNodeResponse)(nil), // 6: management.DeleteNodeResponse + (*GetTargetsRequest)(nil), // 7: management.GetTargetsRequest + (*GetTargetsResponse)(nil), // 8: management.GetTargetsResponse + (*DeleteTargetRequest)(nil), // 9: management.DeleteTargetRequest + (*DeleteTargetResponse)(nil), // 10: management.DeleteTargetResponse + (*SetTargetStateRequest)(nil), // 11: management.SetTargetStateRequest + (*SetTargetStateResponse)(nil), // 12: management.SetTargetStateResponse + (*GetPoolsRequest)(nil), // 13: management.GetPoolsRequest + (*GetPoolsResponse)(nil), // 14: management.GetPoolsResponse + (*CreatePoolRequest)(nil), // 15: management.CreatePoolRequest + (*CreatePoolResponse)(nil), // 16: management.CreatePoolResponse + (*AssignPoolRequest)(nil), // 17: management.AssignPoolRequest + (*AssignPoolResponse)(nil), // 18: management.AssignPoolResponse + (*DeletePoolRequest)(nil), // 19: management.DeletePoolRequest + (*DeletePoolResponse)(nil), // 20: management.DeletePoolResponse + (*GetBuddyGroupsRequest)(nil), // 21: management.GetBuddyGroupsRequest + (*GetBuddyGroupsResponse)(nil), // 22: management.GetBuddyGroupsResponse + (*CreateBuddyGroupRequest)(nil), // 23: management.CreateBuddyGroupRequest + (*CreateBuddyGroupResponse)(nil), // 24: management.CreateBuddyGroupResponse + (*ModifyBuddyGroupRequest)(nil), // 25: management.ModifyBuddyGroupRequest + (*ModifyBuddyGroupResponse)(nil), // 26: management.ModifyBuddyGroupResponse + (*DeleteBuddyGroupRequest)(nil), // 27: management.DeleteBuddyGroupRequest + (*DeleteBuddyGroupResponse)(nil), // 28: management.DeleteBuddyGroupResponse + (*MirrorRootInodeRequest)(nil), // 29: management.MirrorRootInodeRequest + (*MirrorRootInodeResponse)(nil), // 30: management.MirrorRootInodeResponse + (*StartResyncRequest)(nil), // 31: management.StartResyncRequest + (*StartResyncResponse)(nil), // 32: management.StartResyncResponse + (*QuotaInfo)(nil), // 33: management.QuotaInfo + (*SetDefaultQuotaLimitsRequest)(nil), // 34: management.SetDefaultQuotaLimitsRequest + (*SetDefaultQuotaLimitsResponse)(nil), // 35: management.SetDefaultQuotaLimitsResponse + (*SetQuotaLimitsRequest)(nil), // 36: management.SetQuotaLimitsRequest + (*SetQuotaLimitsResponse)(nil), // 37: management.SetQuotaLimitsResponse + (*GetQuotaLimitsRequest)(nil), // 38: management.GetQuotaLimitsRequest + (*GetQuotaLimitsResponse)(nil), // 39: management.GetQuotaLimitsResponse + (*GetQuotaUsageRequest)(nil), // 40: management.GetQuotaUsageRequest + (*GetQuotaUsageResponse)(nil), // 41: management.GetQuotaUsageResponse + (*GetLicenseRequest)(nil), // 42: management.GetLicenseRequest + (*GetLicenseResponse)(nil), // 43: management.GetLicenseResponse + (*GetNodesResponse_Node)(nil), // 44: management.GetNodesResponse.Node + (*GetNodesResponse_Node_Nic)(nil), // 45: management.GetNodesResponse.Node.Nic + (*GetTargetsResponse_Target)(nil), // 46: management.GetTargetsResponse.Target + (*GetPoolsResponse_StoragePool)(nil), // 47: management.GetPoolsResponse.StoragePool + (*GetBuddyGroupsResponse_BuddyGroup)(nil), // 48: management.GetBuddyGroupsResponse.BuddyGroup + (*beegfs.EntityIdSet)(nil), // 49: beegfs.EntityIdSet + (beegfs.EntityType)(0), // 50: beegfs.EntityType + (beegfs.ConsistencyState)(0), // 51: beegfs.ConsistencyState + (beegfs.NodeType)(0), // 52: beegfs.NodeType + (beegfs.QuotaIdType)(0), // 53: beegfs.QuotaIdType + (*license.GetCertDataResult)(nil), // 54: license.GetCertDataResult + (beegfs.NicType)(0), // 55: beegfs.NicType + (beegfs.ReachabilityState)(0), // 56: beegfs.ReachabilityState + (beegfs.CapacityPool)(0), // 57: beegfs.CapacityPool } var file_management_proto_depIdxs = []int32{ - 46, // 0: management.SetAliasRequest.entity_id:type_name -> beegfs.EntityIdSet - 47, // 1: management.SetAliasRequest.entity_type:type_name -> beegfs.EntityType - 41, // 2: management.GetNodesResponse.nodes:type_name -> management.GetNodesResponse.Node - 46, // 3: management.GetNodesResponse.meta_root_node:type_name -> beegfs.EntityIdSet - 46, // 4: management.GetNodesResponse.meta_root_buddy_group:type_name -> beegfs.EntityIdSet - 46, // 5: management.DeleteNodeRequest.node:type_name -> beegfs.EntityIdSet - 46, // 6: management.DeleteNodeResponse.node:type_name -> beegfs.EntityIdSet - 43, // 7: management.GetTargetsResponse.targets:type_name -> management.GetTargetsResponse.Target - 46, // 8: management.DeleteTargetRequest.target:type_name -> beegfs.EntityIdSet - 46, // 9: management.DeleteTargetResponse.target:type_name -> beegfs.EntityIdSet - 46, // 10: management.SetTargetStateRequest.target:type_name -> beegfs.EntityIdSet - 48, // 11: management.SetTargetStateRequest.consistency_state:type_name -> beegfs.ConsistencyState - 44, // 12: management.GetPoolsResponse.pools:type_name -> management.GetPoolsResponse.StoragePool - 49, // 13: management.CreatePoolRequest.node_type:type_name -> beegfs.NodeType - 46, // 14: management.CreatePoolRequest.targets:type_name -> beegfs.EntityIdSet - 46, // 15: management.CreatePoolRequest.buddy_groups:type_name -> beegfs.EntityIdSet - 46, // 16: management.CreatePoolResponse.pool:type_name -> beegfs.EntityIdSet - 46, // 17: management.AssignPoolRequest.pool:type_name -> beegfs.EntityIdSet - 46, // 18: management.AssignPoolRequest.targets:type_name -> beegfs.EntityIdSet - 46, // 19: management.AssignPoolRequest.buddy_groups:type_name -> beegfs.EntityIdSet - 46, // 20: management.AssignPoolResponse.pool:type_name -> beegfs.EntityIdSet - 46, // 21: management.DeletePoolRequest.pool:type_name -> beegfs.EntityIdSet - 46, // 22: management.DeletePoolResponse.pool:type_name -> beegfs.EntityIdSet - 45, // 23: management.GetBuddyGroupsResponse.buddy_groups:type_name -> management.GetBuddyGroupsResponse.BuddyGroup - 49, // 24: management.CreateBuddyGroupRequest.node_type:type_name -> beegfs.NodeType - 46, // 25: management.CreateBuddyGroupRequest.primary_target:type_name -> beegfs.EntityIdSet - 46, // 26: management.CreateBuddyGroupRequest.secondary_target:type_name -> beegfs.EntityIdSet - 46, // 27: management.CreateBuddyGroupResponse.group:type_name -> beegfs.EntityIdSet - 46, // 28: management.DeleteBuddyGroupRequest.group:type_name -> beegfs.EntityIdSet - 46, // 29: management.DeleteBuddyGroupResponse.group:type_name -> beegfs.EntityIdSet - 46, // 30: management.StartResyncRequest.buddy_group:type_name -> beegfs.EntityIdSet - 50, // 31: management.QuotaInfo.id_type:type_name -> beegfs.QuotaIdType - 46, // 32: management.QuotaInfo.pool:type_name -> beegfs.EntityIdSet - 46, // 33: management.SetDefaultQuotaLimitsRequest.pool:type_name -> beegfs.EntityIdSet - 30, // 34: management.SetQuotaLimitsRequest.limits:type_name -> management.QuotaInfo - 46, // 35: management.GetQuotaLimitsRequest.pool:type_name -> beegfs.EntityIdSet - 30, // 36: management.GetQuotaLimitsResponse.limits:type_name -> management.QuotaInfo - 46, // 37: management.GetQuotaUsageRequest.pool:type_name -> beegfs.EntityIdSet - 30, // 38: management.GetQuotaUsageResponse.entry:type_name -> management.QuotaInfo - 51, // 39: management.GetLicenseResponse.cert_data:type_name -> license.GetCertDataResult - 46, // 40: management.GetNodesResponse.Node.id:type_name -> beegfs.EntityIdSet - 49, // 41: management.GetNodesResponse.Node.node_type:type_name -> beegfs.NodeType - 42, // 42: management.GetNodesResponse.Node.nics:type_name -> management.GetNodesResponse.Node.Nic - 52, // 43: management.GetNodesResponse.Node.Nic.nic_type:type_name -> beegfs.NicType - 46, // 44: management.GetTargetsResponse.Target.id:type_name -> beegfs.EntityIdSet - 49, // 45: management.GetTargetsResponse.Target.node_type:type_name -> beegfs.NodeType - 53, // 46: management.GetTargetsResponse.Target.reachability_state:type_name -> beegfs.ReachabilityState - 48, // 47: management.GetTargetsResponse.Target.consistency_state:type_name -> beegfs.ConsistencyState - 54, // 48: management.GetTargetsResponse.Target.cap_pool:type_name -> beegfs.CapacityPool - 46, // 49: management.GetTargetsResponse.Target.node:type_name -> beegfs.EntityIdSet - 46, // 50: management.GetTargetsResponse.Target.storage_pool:type_name -> beegfs.EntityIdSet - 46, // 51: management.GetPoolsResponse.StoragePool.id:type_name -> beegfs.EntityIdSet - 46, // 52: management.GetPoolsResponse.StoragePool.targets:type_name -> beegfs.EntityIdSet - 46, // 53: management.GetPoolsResponse.StoragePool.buddy_groups:type_name -> beegfs.EntityIdSet - 46, // 54: management.GetBuddyGroupsResponse.BuddyGroup.id:type_name -> beegfs.EntityIdSet - 49, // 55: management.GetBuddyGroupsResponse.BuddyGroup.node_type:type_name -> beegfs.NodeType - 46, // 56: management.GetBuddyGroupsResponse.BuddyGroup.primary_target:type_name -> beegfs.EntityIdSet - 46, // 57: management.GetBuddyGroupsResponse.BuddyGroup.secondary_target:type_name -> beegfs.EntityIdSet - 48, // 58: management.GetBuddyGroupsResponse.BuddyGroup.primary_consistency_state:type_name -> beegfs.ConsistencyState - 48, // 59: management.GetBuddyGroupsResponse.BuddyGroup.secondary_consistency_state:type_name -> beegfs.ConsistencyState - 46, // 60: management.GetBuddyGroupsResponse.BuddyGroup.storage_pool:type_name -> beegfs.EntityIdSet - 0, // 61: management.Management.SetAlias:input_type -> management.SetAliasRequest - 2, // 62: management.Management.GetNodes:input_type -> management.GetNodesRequest - 4, // 63: management.Management.DeleteNode:input_type -> management.DeleteNodeRequest - 6, // 64: management.Management.GetTargets:input_type -> management.GetTargetsRequest - 8, // 65: management.Management.DeleteTarget:input_type -> management.DeleteTargetRequest - 10, // 66: management.Management.SetTargetState:input_type -> management.SetTargetStateRequest - 12, // 67: management.Management.GetPools:input_type -> management.GetPoolsRequest - 14, // 68: management.Management.CreatePool:input_type -> management.CreatePoolRequest - 16, // 69: management.Management.AssignPool:input_type -> management.AssignPoolRequest - 18, // 70: management.Management.DeletePool:input_type -> management.DeletePoolRequest - 20, // 71: management.Management.GetBuddyGroups:input_type -> management.GetBuddyGroupsRequest - 22, // 72: management.Management.CreateBuddyGroup:input_type -> management.CreateBuddyGroupRequest - 24, // 73: management.Management.DeleteBuddyGroup:input_type -> management.DeleteBuddyGroupRequest - 26, // 74: management.Management.MirrorRootInode:input_type -> management.MirrorRootInodeRequest - 28, // 75: management.Management.StartResync:input_type -> management.StartResyncRequest - 31, // 76: management.Management.SetDefaultQuotaLimits:input_type -> management.SetDefaultQuotaLimitsRequest - 33, // 77: management.Management.SetQuotaLimits:input_type -> management.SetQuotaLimitsRequest - 35, // 78: management.Management.GetQuotaLimits:input_type -> management.GetQuotaLimitsRequest - 37, // 79: management.Management.GetQuotaUsage:input_type -> management.GetQuotaUsageRequest - 39, // 80: management.Management.GetLicense:input_type -> management.GetLicenseRequest - 1, // 81: management.Management.SetAlias:output_type -> management.SetAliasResponse - 3, // 82: management.Management.GetNodes:output_type -> management.GetNodesResponse - 5, // 83: management.Management.DeleteNode:output_type -> management.DeleteNodeResponse - 7, // 84: management.Management.GetTargets:output_type -> management.GetTargetsResponse - 9, // 85: management.Management.DeleteTarget:output_type -> management.DeleteTargetResponse - 11, // 86: management.Management.SetTargetState:output_type -> management.SetTargetStateResponse - 13, // 87: management.Management.GetPools:output_type -> management.GetPoolsResponse - 15, // 88: management.Management.CreatePool:output_type -> management.CreatePoolResponse - 17, // 89: management.Management.AssignPool:output_type -> management.AssignPoolResponse - 19, // 90: management.Management.DeletePool:output_type -> management.DeletePoolResponse - 21, // 91: management.Management.GetBuddyGroups:output_type -> management.GetBuddyGroupsResponse - 23, // 92: management.Management.CreateBuddyGroup:output_type -> management.CreateBuddyGroupResponse - 25, // 93: management.Management.DeleteBuddyGroup:output_type -> management.DeleteBuddyGroupResponse - 27, // 94: management.Management.MirrorRootInode:output_type -> management.MirrorRootInodeResponse - 29, // 95: management.Management.StartResync:output_type -> management.StartResyncResponse - 32, // 96: management.Management.SetDefaultQuotaLimits:output_type -> management.SetDefaultQuotaLimitsResponse - 34, // 97: management.Management.SetQuotaLimits:output_type -> management.SetQuotaLimitsResponse - 36, // 98: management.Management.GetQuotaLimits:output_type -> management.GetQuotaLimitsResponse - 38, // 99: management.Management.GetQuotaUsage:output_type -> management.GetQuotaUsageResponse - 40, // 100: management.Management.GetLicense:output_type -> management.GetLicenseResponse - 81, // [81:101] is the sub-list for method output_type - 61, // [61:81] is the sub-list for method input_type - 61, // [61:61] is the sub-list for extension type_name - 61, // [61:61] is the sub-list for extension extendee - 0, // [0:61] is the sub-list for field type_name + 49, // 0: management.SetAliasRequest.entity_id:type_name -> beegfs.EntityIdSet + 50, // 1: management.SetAliasRequest.entity_type:type_name -> beegfs.EntityType + 44, // 2: management.GetNodesResponse.nodes:type_name -> management.GetNodesResponse.Node + 49, // 3: management.GetNodesResponse.meta_root_node:type_name -> beegfs.EntityIdSet + 49, // 4: management.GetNodesResponse.meta_root_buddy_group:type_name -> beegfs.EntityIdSet + 49, // 5: management.DeleteNodeRequest.node:type_name -> beegfs.EntityIdSet + 49, // 6: management.DeleteNodeResponse.node:type_name -> beegfs.EntityIdSet + 46, // 7: management.GetTargetsResponse.targets:type_name -> management.GetTargetsResponse.Target + 49, // 8: management.DeleteTargetRequest.target:type_name -> beegfs.EntityIdSet + 49, // 9: management.DeleteTargetResponse.target:type_name -> beegfs.EntityIdSet + 49, // 10: management.SetTargetStateRequest.target:type_name -> beegfs.EntityIdSet + 51, // 11: management.SetTargetStateRequest.consistency_state:type_name -> beegfs.ConsistencyState + 47, // 12: management.GetPoolsResponse.pools:type_name -> management.GetPoolsResponse.StoragePool + 52, // 13: management.CreatePoolRequest.node_type:type_name -> beegfs.NodeType + 49, // 14: management.CreatePoolRequest.targets:type_name -> beegfs.EntityIdSet + 49, // 15: management.CreatePoolRequest.buddy_groups:type_name -> beegfs.EntityIdSet + 49, // 16: management.CreatePoolResponse.pool:type_name -> beegfs.EntityIdSet + 49, // 17: management.AssignPoolRequest.pool:type_name -> beegfs.EntityIdSet + 49, // 18: management.AssignPoolRequest.targets:type_name -> beegfs.EntityIdSet + 49, // 19: management.AssignPoolRequest.buddy_groups:type_name -> beegfs.EntityIdSet + 49, // 20: management.AssignPoolResponse.pool:type_name -> beegfs.EntityIdSet + 49, // 21: management.DeletePoolRequest.pool:type_name -> beegfs.EntityIdSet + 49, // 22: management.DeletePoolResponse.pool:type_name -> beegfs.EntityIdSet + 48, // 23: management.GetBuddyGroupsResponse.buddy_groups:type_name -> management.GetBuddyGroupsResponse.BuddyGroup + 52, // 24: management.CreateBuddyGroupRequest.node_type:type_name -> beegfs.NodeType + 49, // 25: management.CreateBuddyGroupRequest.primary_target:type_name -> beegfs.EntityIdSet + 49, // 26: management.CreateBuddyGroupRequest.secondary_target:type_name -> beegfs.EntityIdSet + 0, // 27: management.CreateBuddyGroupRequest.quota_accounting:type_name -> management.BuddyGroupQuotaAccounting + 49, // 28: management.CreateBuddyGroupResponse.group:type_name -> beegfs.EntityIdSet + 49, // 29: management.ModifyBuddyGroupRequest.group:type_name -> beegfs.EntityIdSet + 0, // 30: management.ModifyBuddyGroupRequest.quota_accounting:type_name -> management.BuddyGroupQuotaAccounting + 49, // 31: management.DeleteBuddyGroupRequest.group:type_name -> beegfs.EntityIdSet + 49, // 32: management.DeleteBuddyGroupResponse.group:type_name -> beegfs.EntityIdSet + 49, // 33: management.StartResyncRequest.buddy_group:type_name -> beegfs.EntityIdSet + 53, // 34: management.QuotaInfo.id_type:type_name -> beegfs.QuotaIdType + 49, // 35: management.QuotaInfo.pool:type_name -> beegfs.EntityIdSet + 49, // 36: management.SetDefaultQuotaLimitsRequest.pool:type_name -> beegfs.EntityIdSet + 33, // 37: management.SetQuotaLimitsRequest.limits:type_name -> management.QuotaInfo + 49, // 38: management.GetQuotaLimitsRequest.pool:type_name -> beegfs.EntityIdSet + 33, // 39: management.GetQuotaLimitsResponse.limits:type_name -> management.QuotaInfo + 49, // 40: management.GetQuotaUsageRequest.pool:type_name -> beegfs.EntityIdSet + 33, // 41: management.GetQuotaUsageResponse.entry:type_name -> management.QuotaInfo + 54, // 42: management.GetLicenseResponse.cert_data:type_name -> license.GetCertDataResult + 49, // 43: management.GetNodesResponse.Node.id:type_name -> beegfs.EntityIdSet + 52, // 44: management.GetNodesResponse.Node.node_type:type_name -> beegfs.NodeType + 45, // 45: management.GetNodesResponse.Node.nics:type_name -> management.GetNodesResponse.Node.Nic + 55, // 46: management.GetNodesResponse.Node.Nic.nic_type:type_name -> beegfs.NicType + 49, // 47: management.GetTargetsResponse.Target.id:type_name -> beegfs.EntityIdSet + 52, // 48: management.GetTargetsResponse.Target.node_type:type_name -> beegfs.NodeType + 56, // 49: management.GetTargetsResponse.Target.reachability_state:type_name -> beegfs.ReachabilityState + 51, // 50: management.GetTargetsResponse.Target.consistency_state:type_name -> beegfs.ConsistencyState + 57, // 51: management.GetTargetsResponse.Target.cap_pool:type_name -> beegfs.CapacityPool + 49, // 52: management.GetTargetsResponse.Target.node:type_name -> beegfs.EntityIdSet + 49, // 53: management.GetTargetsResponse.Target.storage_pool:type_name -> beegfs.EntityIdSet + 49, // 54: management.GetPoolsResponse.StoragePool.id:type_name -> beegfs.EntityIdSet + 49, // 55: management.GetPoolsResponse.StoragePool.targets:type_name -> beegfs.EntityIdSet + 49, // 56: management.GetPoolsResponse.StoragePool.buddy_groups:type_name -> beegfs.EntityIdSet + 49, // 57: management.GetBuddyGroupsResponse.BuddyGroup.id:type_name -> beegfs.EntityIdSet + 52, // 58: management.GetBuddyGroupsResponse.BuddyGroup.node_type:type_name -> beegfs.NodeType + 49, // 59: management.GetBuddyGroupsResponse.BuddyGroup.primary_target:type_name -> beegfs.EntityIdSet + 49, // 60: management.GetBuddyGroupsResponse.BuddyGroup.secondary_target:type_name -> beegfs.EntityIdSet + 51, // 61: management.GetBuddyGroupsResponse.BuddyGroup.primary_consistency_state:type_name -> beegfs.ConsistencyState + 51, // 62: management.GetBuddyGroupsResponse.BuddyGroup.secondary_consistency_state:type_name -> beegfs.ConsistencyState + 49, // 63: management.GetBuddyGroupsResponse.BuddyGroup.storage_pool:type_name -> beegfs.EntityIdSet + 1, // 64: management.Management.SetAlias:input_type -> management.SetAliasRequest + 3, // 65: management.Management.GetNodes:input_type -> management.GetNodesRequest + 5, // 66: management.Management.DeleteNode:input_type -> management.DeleteNodeRequest + 7, // 67: management.Management.GetTargets:input_type -> management.GetTargetsRequest + 9, // 68: management.Management.DeleteTarget:input_type -> management.DeleteTargetRequest + 11, // 69: management.Management.SetTargetState:input_type -> management.SetTargetStateRequest + 13, // 70: management.Management.GetPools:input_type -> management.GetPoolsRequest + 15, // 71: management.Management.CreatePool:input_type -> management.CreatePoolRequest + 17, // 72: management.Management.AssignPool:input_type -> management.AssignPoolRequest + 19, // 73: management.Management.DeletePool:input_type -> management.DeletePoolRequest + 21, // 74: management.Management.GetBuddyGroups:input_type -> management.GetBuddyGroupsRequest + 23, // 75: management.Management.CreateBuddyGroup:input_type -> management.CreateBuddyGroupRequest + 25, // 76: management.Management.ModifyBuddyGroup:input_type -> management.ModifyBuddyGroupRequest + 27, // 77: management.Management.DeleteBuddyGroup:input_type -> management.DeleteBuddyGroupRequest + 29, // 78: management.Management.MirrorRootInode:input_type -> management.MirrorRootInodeRequest + 31, // 79: management.Management.StartResync:input_type -> management.StartResyncRequest + 34, // 80: management.Management.SetDefaultQuotaLimits:input_type -> management.SetDefaultQuotaLimitsRequest + 36, // 81: management.Management.SetQuotaLimits:input_type -> management.SetQuotaLimitsRequest + 38, // 82: management.Management.GetQuotaLimits:input_type -> management.GetQuotaLimitsRequest + 40, // 83: management.Management.GetQuotaUsage:input_type -> management.GetQuotaUsageRequest + 42, // 84: management.Management.GetLicense:input_type -> management.GetLicenseRequest + 2, // 85: management.Management.SetAlias:output_type -> management.SetAliasResponse + 4, // 86: management.Management.GetNodes:output_type -> management.GetNodesResponse + 6, // 87: management.Management.DeleteNode:output_type -> management.DeleteNodeResponse + 8, // 88: management.Management.GetTargets:output_type -> management.GetTargetsResponse + 10, // 89: management.Management.DeleteTarget:output_type -> management.DeleteTargetResponse + 12, // 90: management.Management.SetTargetState:output_type -> management.SetTargetStateResponse + 14, // 91: management.Management.GetPools:output_type -> management.GetPoolsResponse + 16, // 92: management.Management.CreatePool:output_type -> management.CreatePoolResponse + 18, // 93: management.Management.AssignPool:output_type -> management.AssignPoolResponse + 20, // 94: management.Management.DeletePool:output_type -> management.DeletePoolResponse + 22, // 95: management.Management.GetBuddyGroups:output_type -> management.GetBuddyGroupsResponse + 24, // 96: management.Management.CreateBuddyGroup:output_type -> management.CreateBuddyGroupResponse + 26, // 97: management.Management.ModifyBuddyGroup:output_type -> management.ModifyBuddyGroupResponse + 28, // 98: management.Management.DeleteBuddyGroup:output_type -> management.DeleteBuddyGroupResponse + 30, // 99: management.Management.MirrorRootInode:output_type -> management.MirrorRootInodeResponse + 32, // 100: management.Management.StartResync:output_type -> management.StartResyncResponse + 35, // 101: management.Management.SetDefaultQuotaLimits:output_type -> management.SetDefaultQuotaLimitsResponse + 37, // 102: management.Management.SetQuotaLimits:output_type -> management.SetQuotaLimitsResponse + 39, // 103: management.Management.GetQuotaLimits:output_type -> management.GetQuotaLimitsResponse + 41, // 104: management.Management.GetQuotaUsage:output_type -> management.GetQuotaUsageResponse + 43, // 105: management.Management.GetLicense:output_type -> management.GetLicenseResponse + 85, // [85:106] is the sub-list for method output_type + 64, // [64:85] is the sub-list for method input_type + 64, // [64:64] is the sub-list for extension type_name + 64, // [64:64] is the sub-list for extension extendee + 0, // [0:64] is the sub-list for field type_name } func init() { file_management_proto_init() } @@ -5658,31 +5921,33 @@ func file_management_proto_init() { file_management_proto_msgTypes[22].OneofWrappers = []any{} file_management_proto_msgTypes[23].OneofWrappers = []any{} file_management_proto_msgTypes[24].OneofWrappers = []any{} - file_management_proto_msgTypes[25].OneofWrappers = []any{} - file_management_proto_msgTypes[28].OneofWrappers = []any{} + file_management_proto_msgTypes[26].OneofWrappers = []any{} + file_management_proto_msgTypes[27].OneofWrappers = []any{} file_management_proto_msgTypes[30].OneofWrappers = []any{} - file_management_proto_msgTypes[31].OneofWrappers = []any{} - file_management_proto_msgTypes[35].OneofWrappers = []any{} - file_management_proto_msgTypes[36].OneofWrappers = []any{} + file_management_proto_msgTypes[32].OneofWrappers = []any{} + file_management_proto_msgTypes[33].OneofWrappers = []any{} file_management_proto_msgTypes[37].OneofWrappers = []any{} file_management_proto_msgTypes[38].OneofWrappers = []any{} file_management_proto_msgTypes[39].OneofWrappers = []any{} file_management_proto_msgTypes[40].OneofWrappers = []any{} - file_management_proto_msgTypes[43].OneofWrappers = []any{} - file_management_proto_msgTypes[44].OneofWrappers = []any{} + file_management_proto_msgTypes[41].OneofWrappers = []any{} + file_management_proto_msgTypes[42].OneofWrappers = []any{} file_management_proto_msgTypes[45].OneofWrappers = []any{} + file_management_proto_msgTypes[46].OneofWrappers = []any{} + file_management_proto_msgTypes[47].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_management_proto_rawDesc, - NumEnums: 0, - NumMessages: 46, + NumEnums: 1, + NumMessages: 48, NumExtensions: 0, NumServices: 1, }, GoTypes: file_management_proto_goTypes, DependencyIndexes: file_management_proto_depIdxs, + EnumInfos: file_management_proto_enumTypes, MessageInfos: file_management_proto_msgTypes, }.Build() File_management_proto = out.File diff --git a/go/management/management_grpc.pb.go b/go/management/management_grpc.pb.go index 92fa8bd..53557d9 100644 --- a/go/management/management_grpc.pb.go +++ b/go/management/management_grpc.pb.go @@ -31,6 +31,7 @@ const ( Management_DeletePool_FullMethodName = "/management.Management/DeletePool" Management_GetBuddyGroups_FullMethodName = "/management.Management/GetBuddyGroups" Management_CreateBuddyGroup_FullMethodName = "/management.Management/CreateBuddyGroup" + Management_ModifyBuddyGroup_FullMethodName = "/management.Management/ModifyBuddyGroup" Management_DeleteBuddyGroup_FullMethodName = "/management.Management/DeleteBuddyGroup" Management_MirrorRootInode_FullMethodName = "/management.Management/MirrorRootInode" Management_StartResync_FullMethodName = "/management.Management/StartResync" @@ -62,6 +63,7 @@ type ManagementClient interface { // Buddy groups GetBuddyGroups(ctx context.Context, in *GetBuddyGroupsRequest, opts ...grpc.CallOption) (*GetBuddyGroupsResponse, error) CreateBuddyGroup(ctx context.Context, in *CreateBuddyGroupRequest, opts ...grpc.CallOption) (*CreateBuddyGroupResponse, error) + ModifyBuddyGroup(ctx context.Context, in *ModifyBuddyGroupRequest, opts ...grpc.CallOption) (*ModifyBuddyGroupResponse, error) DeleteBuddyGroup(ctx context.Context, in *DeleteBuddyGroupRequest, opts ...grpc.CallOption) (*DeleteBuddyGroupResponse, error) MirrorRootInode(ctx context.Context, in *MirrorRootInodeRequest, opts ...grpc.CallOption) (*MirrorRootInodeResponse, error) StartResync(ctx context.Context, in *StartResyncRequest, opts ...grpc.CallOption) (*StartResyncResponse, error) @@ -202,6 +204,16 @@ func (c *managementClient) CreateBuddyGroup(ctx context.Context, in *CreateBuddy return out, nil } +func (c *managementClient) ModifyBuddyGroup(ctx context.Context, in *ModifyBuddyGroupRequest, opts ...grpc.CallOption) (*ModifyBuddyGroupResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ModifyBuddyGroupResponse) + err := c.cc.Invoke(ctx, Management_ModifyBuddyGroup_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *managementClient) DeleteBuddyGroup(ctx context.Context, in *DeleteBuddyGroupRequest, opts ...grpc.CallOption) (*DeleteBuddyGroupResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(DeleteBuddyGroupResponse) @@ -321,6 +333,7 @@ type ManagementServer interface { // Buddy groups GetBuddyGroups(context.Context, *GetBuddyGroupsRequest) (*GetBuddyGroupsResponse, error) CreateBuddyGroup(context.Context, *CreateBuddyGroupRequest) (*CreateBuddyGroupResponse, error) + ModifyBuddyGroup(context.Context, *ModifyBuddyGroupRequest) (*ModifyBuddyGroupResponse, error) DeleteBuddyGroup(context.Context, *DeleteBuddyGroupRequest) (*DeleteBuddyGroupResponse, error) MirrorRootInode(context.Context, *MirrorRootInodeRequest) (*MirrorRootInodeResponse, error) StartResync(context.Context, *StartResyncRequest) (*StartResyncResponse, error) @@ -377,6 +390,9 @@ func (UnimplementedManagementServer) GetBuddyGroups(context.Context, *GetBuddyGr func (UnimplementedManagementServer) CreateBuddyGroup(context.Context, *CreateBuddyGroupRequest) (*CreateBuddyGroupResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateBuddyGroup not implemented") } +func (UnimplementedManagementServer) ModifyBuddyGroup(context.Context, *ModifyBuddyGroupRequest) (*ModifyBuddyGroupResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ModifyBuddyGroup not implemented") +} func (UnimplementedManagementServer) DeleteBuddyGroup(context.Context, *DeleteBuddyGroupRequest) (*DeleteBuddyGroupResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteBuddyGroup not implemented") } @@ -638,6 +654,24 @@ func _Management_CreateBuddyGroup_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _Management_ModifyBuddyGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ModifyBuddyGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ManagementServer).ModifyBuddyGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Management_ModifyBuddyGroup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ManagementServer).ModifyBuddyGroup(ctx, req.(*ModifyBuddyGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Management_DeleteBuddyGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeleteBuddyGroupRequest) if err := dec(in); err != nil { @@ -823,6 +857,10 @@ var Management_ServiceDesc = grpc.ServiceDesc{ MethodName: "CreateBuddyGroup", Handler: _Management_CreateBuddyGroup_Handler, }, + { + MethodName: "ModifyBuddyGroup", + Handler: _Management_ModifyBuddyGroup_Handler, + }, { MethodName: "DeleteBuddyGroup", Handler: _Management_DeleteBuddyGroup_Handler, diff --git a/go/management/management_protoopaque.pb.go b/go/management/management_protoopaque.pb.go index 5ec382d..39e57fa 100644 --- a/go/management/management_protoopaque.pb.go +++ b/go/management/management_protoopaque.pb.go @@ -23,6 +23,50 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type BuddyGroupQuotaAccounting int32 + +const ( + BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED BuddyGroupQuotaAccounting = 0 + BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_PRIMARY BuddyGroupQuotaAccounting = 1 + BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_BOTH BuddyGroupQuotaAccounting = 2 +) + +// Enum value maps for BuddyGroupQuotaAccounting. +var ( + BuddyGroupQuotaAccounting_name = map[int32]string{ + 0: "BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED", + 1: "BUDDY_GROUP_QUOTA_ACCOUNTING_PRIMARY", + 2: "BUDDY_GROUP_QUOTA_ACCOUNTING_BOTH", + } + BuddyGroupQuotaAccounting_value = map[string]int32{ + "BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED": 0, + "BUDDY_GROUP_QUOTA_ACCOUNTING_PRIMARY": 1, + "BUDDY_GROUP_QUOTA_ACCOUNTING_BOTH": 2, + } +) + +func (x BuddyGroupQuotaAccounting) Enum() *BuddyGroupQuotaAccounting { + p := new(BuddyGroupQuotaAccounting) + *p = x + return p +} + +func (x BuddyGroupQuotaAccounting) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BuddyGroupQuotaAccounting) Descriptor() protoreflect.EnumDescriptor { + return file_management_proto_enumTypes[0].Descriptor() +} + +func (BuddyGroupQuotaAccounting) Type() protoreflect.EnumType { + return &file_management_proto_enumTypes[0] +} + +func (x BuddyGroupQuotaAccounting) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + // Sets an entity alias. type SetAliasRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` @@ -1817,12 +1861,13 @@ func (b0 GetBuddyGroupsResponse_builder) Build() *GetBuddyGroupsResponse { // Creates a new buddy group. type CreateBuddyGroupRequest struct { - state protoimpl.MessageState `protogen:"opaque.v1"` - xxx_hidden_NodeType beegfs.NodeType `protobuf:"varint,1,opt,name=node_type,json=nodeType,proto3,enum=beegfs.NodeType,oneof" json:"node_type,omitempty"` - xxx_hidden_NumId uint32 `protobuf:"varint,2,opt,name=num_id,json=numId,proto3,oneof" json:"num_id,omitempty"` - xxx_hidden_Alias *string `protobuf:"bytes,3,opt,name=alias,proto3,oneof" json:"alias,omitempty"` - xxx_hidden_PrimaryTarget *beegfs.EntityIdSet `protobuf:"bytes,4,opt,name=primary_target,json=primaryTarget,proto3,oneof" json:"primary_target,omitempty"` - xxx_hidden_SecondaryTarget *beegfs.EntityIdSet `protobuf:"bytes,5,opt,name=secondary_target,json=secondaryTarget,proto3,oneof" json:"secondary_target,omitempty"` + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_NodeType beegfs.NodeType `protobuf:"varint,1,opt,name=node_type,json=nodeType,proto3,enum=beegfs.NodeType,oneof" json:"node_type,omitempty"` + xxx_hidden_NumId uint32 `protobuf:"varint,2,opt,name=num_id,json=numId,proto3,oneof" json:"num_id,omitempty"` + xxx_hidden_Alias *string `protobuf:"bytes,3,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + xxx_hidden_PrimaryTarget *beegfs.EntityIdSet `protobuf:"bytes,4,opt,name=primary_target,json=primaryTarget,proto3,oneof" json:"primary_target,omitempty"` + xxx_hidden_SecondaryTarget *beegfs.EntityIdSet `protobuf:"bytes,5,opt,name=secondary_target,json=secondaryTarget,proto3,oneof" json:"secondary_target,omitempty"` + xxx_hidden_QuotaAccounting BuddyGroupQuotaAccounting `protobuf:"varint,6,opt,name=quota_accounting,json=quotaAccounting,proto3,enum=management.BuddyGroupQuotaAccounting,oneof" json:"quota_accounting,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields @@ -1894,19 +1939,28 @@ func (x *CreateBuddyGroupRequest) GetSecondaryTarget() *beegfs.EntityIdSet { return nil } +func (x *CreateBuddyGroupRequest) GetQuotaAccounting() BuddyGroupQuotaAccounting { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[0]), 5) { + return x.xxx_hidden_QuotaAccounting + } + } + return BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED +} + func (x *CreateBuddyGroupRequest) SetNodeType(v beegfs.NodeType) { x.xxx_hidden_NodeType = v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 5) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) } func (x *CreateBuddyGroupRequest) SetNumId(v uint32) { x.xxx_hidden_NumId = v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 5) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 6) } func (x *CreateBuddyGroupRequest) SetAlias(v string) { x.xxx_hidden_Alias = &v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 5) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 6) } func (x *CreateBuddyGroupRequest) SetPrimaryTarget(v *beegfs.EntityIdSet) { @@ -1917,6 +1971,11 @@ func (x *CreateBuddyGroupRequest) SetSecondaryTarget(v *beegfs.EntityIdSet) { x.xxx_hidden_SecondaryTarget = v } +func (x *CreateBuddyGroupRequest) SetQuotaAccounting(v BuddyGroupQuotaAccounting) { + x.xxx_hidden_QuotaAccounting = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 6) +} + func (x *CreateBuddyGroupRequest) HasNodeType() bool { if x == nil { return false @@ -1952,6 +2011,13 @@ func (x *CreateBuddyGroupRequest) HasSecondaryTarget() bool { return x.xxx_hidden_SecondaryTarget != nil } +func (x *CreateBuddyGroupRequest) HasQuotaAccounting() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 5) +} + func (x *CreateBuddyGroupRequest) ClearNodeType() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) x.xxx_hidden_NodeType = beegfs.NodeType_NODE_TYPE_UNSPECIFIED @@ -1975,6 +2041,11 @@ func (x *CreateBuddyGroupRequest) ClearSecondaryTarget() { x.xxx_hidden_SecondaryTarget = nil } +func (x *CreateBuddyGroupRequest) ClearQuotaAccounting() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 5) + x.xxx_hidden_QuotaAccounting = BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED +} + type CreateBuddyGroupRequest_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. @@ -1993,6 +2064,9 @@ type CreateBuddyGroupRequest_builder struct { // The new buddy groups secondary target. // Required. One identifier is sufficient. SecondaryTarget *beegfs.EntityIdSet + // How quota on the mirrored targets shall be taken into account. + // Optional. Management is free to choose the default if not given. + QuotaAccounting *BuddyGroupQuotaAccounting } func (b0 CreateBuddyGroupRequest_builder) Build() *CreateBuddyGroupRequest { @@ -2000,19 +2074,23 @@ func (b0 CreateBuddyGroupRequest_builder) Build() *CreateBuddyGroupRequest { b, x := &b0, m0 _, _ = b, x if b.NodeType != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 5) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) x.xxx_hidden_NodeType = *b.NodeType } if b.NumId != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 5) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 6) x.xxx_hidden_NumId = *b.NumId } if b.Alias != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 5) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 6) x.xxx_hidden_Alias = b.Alias } x.xxx_hidden_PrimaryTarget = b.PrimaryTarget x.xxx_hidden_SecondaryTarget = b.SecondaryTarget + if b.QuotaAccounting != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 6) + x.xxx_hidden_QuotaAccounting = *b.QuotaAccounting + } return m0 } @@ -2086,6 +2164,156 @@ func (b0 CreateBuddyGroupResponse_builder) Build() *CreateBuddyGroupResponse { return m0 } +// Modifies a buddy group or its config. +type ModifyBuddyGroupRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Group *beegfs.EntityIdSet `protobuf:"bytes,1,opt,name=group,proto3,oneof" json:"group,omitempty"` + xxx_hidden_QuotaAccounting BuddyGroupQuotaAccounting `protobuf:"varint,2,opt,name=quota_accounting,json=quotaAccounting,proto3,enum=management.BuddyGroupQuotaAccounting,oneof" json:"quota_accounting,omitempty"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ModifyBuddyGroupRequest) Reset() { + *x = ModifyBuddyGroupRequest{} + mi := &file_management_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ModifyBuddyGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModifyBuddyGroupRequest) ProtoMessage() {} + +func (x *ModifyBuddyGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_management_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ModifyBuddyGroupRequest) GetGroup() *beegfs.EntityIdSet { + if x != nil { + return x.xxx_hidden_Group + } + return nil +} + +func (x *ModifyBuddyGroupRequest) GetQuotaAccounting() BuddyGroupQuotaAccounting { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[0]), 1) { + return x.xxx_hidden_QuotaAccounting + } + } + return BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED +} + +func (x *ModifyBuddyGroupRequest) SetGroup(v *beegfs.EntityIdSet) { + x.xxx_hidden_Group = v +} + +func (x *ModifyBuddyGroupRequest) SetQuotaAccounting(v BuddyGroupQuotaAccounting) { + x.xxx_hidden_QuotaAccounting = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2) +} + +func (x *ModifyBuddyGroupRequest) HasGroup() bool { + if x == nil { + return false + } + return x.xxx_hidden_Group != nil +} + +func (x *ModifyBuddyGroupRequest) HasQuotaAccounting() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *ModifyBuddyGroupRequest) ClearGroup() { + x.xxx_hidden_Group = nil +} + +func (x *ModifyBuddyGroupRequest) ClearQuotaAccounting() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_QuotaAccounting = BuddyGroupQuotaAccounting_BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED +} + +type ModifyBuddyGroupRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // The buddy group to modify. + // Required. One identifier is sufficient. + Group *beegfs.EntityIdSet + // How quota on the mirrored targets shall be taken into account. + // Optional. Not modified if not given + QuotaAccounting *BuddyGroupQuotaAccounting +} + +func (b0 ModifyBuddyGroupRequest_builder) Build() *ModifyBuddyGroupRequest { + m0 := &ModifyBuddyGroupRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Group = b.Group + if b.QuotaAccounting != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2) + x.xxx_hidden_QuotaAccounting = *b.QuotaAccounting + } + return m0 +} + +type ModifyBuddyGroupResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ModifyBuddyGroupResponse) Reset() { + *x = ModifyBuddyGroupResponse{} + mi := &file_management_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ModifyBuddyGroupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModifyBuddyGroupResponse) ProtoMessage() {} + +func (x *ModifyBuddyGroupResponse) ProtoReflect() protoreflect.Message { + mi := &file_management_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type ModifyBuddyGroupResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ModifyBuddyGroupResponse_builder) Build() *ModifyBuddyGroupResponse { + m0 := &ModifyBuddyGroupResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + // Deletes a buddy group from the system. type DeleteBuddyGroupRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` @@ -2099,7 +2327,7 @@ type DeleteBuddyGroupRequest struct { func (x *DeleteBuddyGroupRequest) Reset() { *x = DeleteBuddyGroupRequest{} - mi := &file_management_proto_msgTypes[24] + mi := &file_management_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2111,7 +2339,7 @@ func (x *DeleteBuddyGroupRequest) String() string { func (*DeleteBuddyGroupRequest) ProtoMessage() {} func (x *DeleteBuddyGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[24] + mi := &file_management_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2201,7 +2429,7 @@ type DeleteBuddyGroupResponse struct { func (x *DeleteBuddyGroupResponse) Reset() { *x = DeleteBuddyGroupResponse{} - mi := &file_management_proto_msgTypes[25] + mi := &file_management_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2213,7 +2441,7 @@ func (x *DeleteBuddyGroupResponse) String() string { func (*DeleteBuddyGroupResponse) ProtoMessage() {} func (x *DeleteBuddyGroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[25] + mi := &file_management_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2271,7 +2499,7 @@ type MirrorRootInodeRequest struct { func (x *MirrorRootInodeRequest) Reset() { *x = MirrorRootInodeRequest{} - mi := &file_management_proto_msgTypes[26] + mi := &file_management_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2283,7 +2511,7 @@ func (x *MirrorRootInodeRequest) String() string { func (*MirrorRootInodeRequest) ProtoMessage() {} func (x *MirrorRootInodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[26] + mi := &file_management_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2314,7 +2542,7 @@ type MirrorRootInodeResponse struct { func (x *MirrorRootInodeResponse) Reset() { *x = MirrorRootInodeResponse{} - mi := &file_management_proto_msgTypes[27] + mi := &file_management_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2326,7 +2554,7 @@ func (x *MirrorRootInodeResponse) String() string { func (*MirrorRootInodeResponse) ProtoMessage() {} func (x *MirrorRootInodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[27] + mi := &file_management_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2363,7 +2591,7 @@ type StartResyncRequest struct { func (x *StartResyncRequest) Reset() { *x = StartResyncRequest{} - mi := &file_management_proto_msgTypes[28] + mi := &file_management_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2375,7 +2603,7 @@ func (x *StartResyncRequest) String() string { func (*StartResyncRequest) ProtoMessage() {} func (x *StartResyncRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[28] + mi := &file_management_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2494,7 +2722,7 @@ type StartResyncResponse struct { func (x *StartResyncResponse) Reset() { *x = StartResyncResponse{} - mi := &file_management_proto_msgTypes[29] + mi := &file_management_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2506,7 +2734,7 @@ func (x *StartResyncResponse) String() string { func (*StartResyncResponse) ProtoMessage() {} func (x *StartResyncResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[29] + mi := &file_management_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2548,7 +2776,7 @@ type QuotaInfo struct { func (x *QuotaInfo) Reset() { *x = QuotaInfo{} - mi := &file_management_proto_msgTypes[30] + mi := &file_management_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2560,7 +2788,7 @@ func (x *QuotaInfo) String() string { func (*QuotaInfo) ProtoMessage() {} func (x *QuotaInfo) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[30] + mi := &file_management_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2799,7 +3027,7 @@ type SetDefaultQuotaLimitsRequest struct { func (x *SetDefaultQuotaLimitsRequest) Reset() { *x = SetDefaultQuotaLimitsRequest{} - mi := &file_management_proto_msgTypes[31] + mi := &file_management_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2811,7 +3039,7 @@ func (x *SetDefaultQuotaLimitsRequest) String() string { func (*SetDefaultQuotaLimitsRequest) ProtoMessage() {} func (x *SetDefaultQuotaLimitsRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[31] + mi := &file_management_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2992,7 +3220,7 @@ type SetDefaultQuotaLimitsResponse struct { func (x *SetDefaultQuotaLimitsResponse) Reset() { *x = SetDefaultQuotaLimitsResponse{} - mi := &file_management_proto_msgTypes[32] + mi := &file_management_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3004,7 +3232,7 @@ func (x *SetDefaultQuotaLimitsResponse) String() string { func (*SetDefaultQuotaLimitsResponse) ProtoMessage() {} func (x *SetDefaultQuotaLimitsResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[32] + mi := &file_management_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3037,7 +3265,7 @@ type SetQuotaLimitsRequest struct { func (x *SetQuotaLimitsRequest) Reset() { *x = SetQuotaLimitsRequest{} - mi := &file_management_proto_msgTypes[33] + mi := &file_management_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3049,7 +3277,7 @@ func (x *SetQuotaLimitsRequest) String() string { func (*SetQuotaLimitsRequest) ProtoMessage() {} func (x *SetQuotaLimitsRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[33] + mi := &file_management_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3096,7 +3324,7 @@ type SetQuotaLimitsResponse struct { func (x *SetQuotaLimitsResponse) Reset() { *x = SetQuotaLimitsResponse{} - mi := &file_management_proto_msgTypes[34] + mi := &file_management_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3108,7 +3336,7 @@ func (x *SetQuotaLimitsResponse) String() string { func (*SetQuotaLimitsResponse) ProtoMessage() {} func (x *SetQuotaLimitsResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[34] + mi := &file_management_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3151,7 +3379,7 @@ type GetQuotaLimitsRequest struct { func (x *GetQuotaLimitsRequest) Reset() { *x = GetQuotaLimitsRequest{} - mi := &file_management_proto_msgTypes[35] + mi := &file_management_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3163,7 +3391,7 @@ func (x *GetQuotaLimitsRequest) String() string { func (*GetQuotaLimitsRequest) ProtoMessage() {} func (x *GetQuotaLimitsRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[35] + mi := &file_management_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3374,7 +3602,7 @@ type GetQuotaLimitsResponse struct { func (x *GetQuotaLimitsResponse) Reset() { *x = GetQuotaLimitsResponse{} - mi := &file_management_proto_msgTypes[36] + mi := &file_management_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3386,7 +3614,7 @@ func (x *GetQuotaLimitsResponse) String() string { func (*GetQuotaLimitsResponse) ProtoMessage() {} func (x *GetQuotaLimitsResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[36] + mi := &file_management_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3458,7 +3686,7 @@ type GetQuotaUsageRequest struct { func (x *GetQuotaUsageRequest) Reset() { *x = GetQuotaUsageRequest{} - mi := &file_management_proto_msgTypes[37] + mi := &file_management_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3470,7 +3698,7 @@ func (x *GetQuotaUsageRequest) String() string { func (*GetQuotaUsageRequest) ProtoMessage() {} func (x *GetQuotaUsageRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[37] + mi := &file_management_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3715,7 +3943,7 @@ type GetQuotaUsageResponse struct { func (x *GetQuotaUsageResponse) Reset() { *x = GetQuotaUsageResponse{} - mi := &file_management_proto_msgTypes[38] + mi := &file_management_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3727,7 +3955,7 @@ func (x *GetQuotaUsageResponse) String() string { func (*GetQuotaUsageResponse) ProtoMessage() {} func (x *GetQuotaUsageResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[38] + mi := &file_management_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3820,7 +4048,7 @@ type GetLicenseRequest struct { func (x *GetLicenseRequest) Reset() { *x = GetLicenseRequest{} - mi := &file_management_proto_msgTypes[39] + mi := &file_management_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3832,7 +4060,7 @@ func (x *GetLicenseRequest) String() string { func (*GetLicenseRequest) ProtoMessage() {} func (x *GetLicenseRequest) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[39] + mi := &file_management_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3895,7 +4123,7 @@ type GetLicenseResponse struct { func (x *GetLicenseResponse) Reset() { *x = GetLicenseResponse{} - mi := &file_management_proto_msgTypes[40] + mi := &file_management_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3907,7 +4135,7 @@ func (x *GetLicenseResponse) String() string { func (*GetLicenseResponse) ProtoMessage() {} func (x *GetLicenseResponse) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[40] + mi := &file_management_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3969,7 +4197,7 @@ type GetNodesResponse_Node struct { func (x *GetNodesResponse_Node) Reset() { *x = GetNodesResponse_Node{} - mi := &file_management_proto_msgTypes[41] + mi := &file_management_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3981,7 +4209,7 @@ func (x *GetNodesResponse_Node) String() string { func (*GetNodesResponse_Node) ProtoMessage() {} func (x *GetNodesResponse_Node) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[41] + mi := &file_management_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4088,7 +4316,7 @@ type GetNodesResponse_Node_Nic struct { func (x *GetNodesResponse_Node_Nic) Reset() { *x = GetNodesResponse_Node_Nic{} - mi := &file_management_proto_msgTypes[42] + mi := &file_management_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4100,7 +4328,7 @@ func (x *GetNodesResponse_Node_Nic) String() string { func (*GetNodesResponse_Node_Nic) ProtoMessage() {} func (x *GetNodesResponse_Node_Nic) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[42] + mi := &file_management_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4191,7 +4419,7 @@ type GetTargetsResponse_Target struct { func (x *GetTargetsResponse_Target) Reset() { *x = GetTargetsResponse_Target{} - mi := &file_management_proto_msgTypes[43] + mi := &file_management_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4203,7 +4431,7 @@ func (x *GetTargetsResponse_Target) String() string { func (*GetTargetsResponse_Target) ProtoMessage() {} func (x *GetTargetsResponse_Target) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[43] + mi := &file_management_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4539,7 +4767,7 @@ type GetPoolsResponse_StoragePool struct { func (x *GetPoolsResponse_StoragePool) Reset() { *x = GetPoolsResponse_StoragePool{} - mi := &file_management_proto_msgTypes[44] + mi := &file_management_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4551,7 +4779,7 @@ func (x *GetPoolsResponse_StoragePool) String() string { func (*GetPoolsResponse_StoragePool) ProtoMessage() {} func (x *GetPoolsResponse_StoragePool) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[44] + mi := &file_management_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4778,7 +5006,7 @@ type GetBuddyGroupsResponse_BuddyGroup struct { func (x *GetBuddyGroupsResponse_BuddyGroup) Reset() { *x = GetBuddyGroupsResponse_BuddyGroup{} - mi := &file_management_proto_msgTypes[45] + mi := &file_management_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4790,7 +5018,7 @@ func (x *GetBuddyGroupsResponse_BuddyGroup) String() string { func (*GetBuddyGroupsResponse_BuddyGroup) ProtoMessage() {} func (x *GetBuddyGroupsResponse_BuddyGroup) ProtoReflect() protoreflect.Message { - mi := &file_management_proto_msgTypes[45] + mi := &file_management_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5234,7 +5462,7 @@ var file_management_proto_rawDesc = []byte{ 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, - 0x70, 0x6f, 0x6f, 0x6c, 0x22, 0xd5, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, + 0x70, 0x6f, 0x6f, 0x6c, 0x22, 0xc1, 0x03, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x4e, 0x6f, 0x64, @@ -5251,451 +5479,496 @@ var file_management_proto_rawDesc = []byte{ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x04, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, - 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x54, 0x0a, 0x18, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x01, 0x12, 0x55, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, + 0x6e, 0x67, 0x48, 0x05, 0x52, 0x0f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x69, + 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x13, + 0x0a, 0x11, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x54, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xbf, + 0x01, 0x0a, 0x17, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, + 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, + 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x10, 0x71, 0x75, + 0x6f, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x01, 0x52, 0x0f, 0x71, + 0x75, 0x6f, 0x74, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x13, 0x0a, 0x11, 0x5f, + 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, + 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x17, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x22, 0x54, 0x0a, 0x18, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x22, 0x7e, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, - 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, - 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, - 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, - 0x74, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, - 0x07, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, - 0x52, 0x07, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x65, 0x22, 0x54, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, - 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, - 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, - 0x65, 0x74, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x69, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, - 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbb, 0x01, - 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0b, 0x62, 0x75, 0x64, 0x64, 0x79, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, - 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, - 0x52, 0x0a, 0x62, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, - 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x07, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, - 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x75, 0x64, 0x64, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xef, 0x02, 0x0a, 0x09, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x1e, 0x0a, 0x08, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x00, 0x52, 0x07, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2c, 0x0a, 0x07, 0x69, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, - 0x49, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, - 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, - 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, - 0x74, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x02, 0x52, 0x0a, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x6f, 0x64, 0x65, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x09, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x55, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, - 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x55, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x5f, 0x75, 0x73, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, - 0x75, 0x73, 0x65, 0x64, 0x22, 0xeb, 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, + 0x75, 0x70, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, + 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x19, 0x0a, 0x17, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbb, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, + 0x0a, 0x0b, 0x62, 0x75, 0x64, 0x64, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, - 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, - 0x0e, 0x75, 0x73, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0e, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, - 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x13, 0x0a, 0x11, - 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x14, 0x0a, 0x12, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x22, 0x1f, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x46, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x53, - 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xee, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, + 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x75, 0x64, 0x64, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, + 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, + 0x07, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x62, 0x75, 0x64, 0x64, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xef, 0x02, 0x0a, + 0x09, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x08, 0x71, 0x75, + 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x07, + 0x71, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x07, 0x69, 0x64, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x62, 0x65, + 0x65, 0x67, 0x66, 0x73, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x06, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x01, 0x52, 0x04, 0x70, + 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0a, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, + 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x55, + 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x75, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, 0x09, 0x69, 0x6e, + 0x6f, 0x64, 0x65, 0x55, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x71, + 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x22, 0xeb, + 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x69, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, - 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0c, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x69, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, - 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, - 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, - 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, - 0x48, 0x04, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x22, 0x57, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, - 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x32, 0x0a, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, - 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, - 0x9b, 0x03, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, - 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, - 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, - 0x01, 0x01, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, - 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x03, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, - 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x04, 0x52, 0x04, 0x70, 0x6f, 0x6f, - 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x08, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, - 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, + 0x65, 0x74, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, + 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x53, + 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, + 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x1f, 0x0a, 0x1d, + 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x0a, + 0x15, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xee, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, + 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, + 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x61, 0x78, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, + 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, + 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x61, 0x78, + 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x74, 0x48, 0x04, 0x52, 0x04, 0x70, 0x6f, + 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x22, 0x97, 0x01, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, - 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x72, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x53, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x22, 0x3b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, - 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, - 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, - 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x60, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x63, 0x65, - 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x08, 0x63, 0x65, 0x72, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, - 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x32, 0x98, 0x0d, 0x0a, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, - 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x41, - 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x22, 0x57, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, + 0x6f, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x9b, 0x03, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x4d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x0c, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, + 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, + 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, + 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0a, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0d, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x2c, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x62, 0x65, 0x65, 0x67, 0x66, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, + 0x53, 0x65, 0x74, 0x48, 0x04, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1f, + 0x0a, 0x08, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x05, 0x52, 0x08, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x69, 0x6e, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, + 0x78, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, + 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x51, + 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x70, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, + 0x0e, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x88, + 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, + 0x73, 0x22, 0x3b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x60, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x08, 0x63, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x88, + 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x2a, 0x9a, 0x01, 0x0a, 0x19, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, + 0x75, 0x6f, 0x74, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2c, + 0x0a, 0x28, 0x42, 0x55, 0x44, 0x44, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x51, 0x55, + 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, + 0x42, 0x55, 0x44, 0x44, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x51, 0x55, 0x4f, 0x54, + 0x41, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x52, 0x49, + 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x42, 0x55, 0x44, 0x44, 0x59, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x43, 0x43, 0x4f, + 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x02, 0x32, 0xf7, 0x0d, + 0x0a, 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x08, + 0x53, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x1d, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, - 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x57, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x47, 0x65, 0x74, - 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4b, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, - 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, - 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, - 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, - 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, + 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, 0x75, - 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x64, - 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, - 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5d, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, - 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, - 0x0a, 0x0f, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, - 0x65, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, - 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, - 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, - 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x15, 0x53, 0x65, - 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x45, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x1b, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, + 0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, + 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, + 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x2e, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, + 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x75, + 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x64, + 0x69, 0x66, 0x79, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, + 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x64, + 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x42, 0x75, 0x64, 0x64, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0f, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, + 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x49, + 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, + 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4e, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x12, + 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6c, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x51, - 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x51, 0x75, - 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x56, 0x0a, 0x0d, - 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x2e, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, - 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, - 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x70, 0x61, 0x72, 0x71, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var file_management_proto_msgTypes = make([]protoimpl.MessageInfo, 46) + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, + 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, + 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, + 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, + 0x74, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x56, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x70, 0x61, 0x72, 0x71, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_management_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_management_proto_msgTypes = make([]protoimpl.MessageInfo, 48) var file_management_proto_goTypes = []any{ - (*SetAliasRequest)(nil), // 0: management.SetAliasRequest - (*SetAliasResponse)(nil), // 1: management.SetAliasResponse - (*GetNodesRequest)(nil), // 2: management.GetNodesRequest - (*GetNodesResponse)(nil), // 3: management.GetNodesResponse - (*DeleteNodeRequest)(nil), // 4: management.DeleteNodeRequest - (*DeleteNodeResponse)(nil), // 5: management.DeleteNodeResponse - (*GetTargetsRequest)(nil), // 6: management.GetTargetsRequest - (*GetTargetsResponse)(nil), // 7: management.GetTargetsResponse - (*DeleteTargetRequest)(nil), // 8: management.DeleteTargetRequest - (*DeleteTargetResponse)(nil), // 9: management.DeleteTargetResponse - (*SetTargetStateRequest)(nil), // 10: management.SetTargetStateRequest - (*SetTargetStateResponse)(nil), // 11: management.SetTargetStateResponse - (*GetPoolsRequest)(nil), // 12: management.GetPoolsRequest - (*GetPoolsResponse)(nil), // 13: management.GetPoolsResponse - (*CreatePoolRequest)(nil), // 14: management.CreatePoolRequest - (*CreatePoolResponse)(nil), // 15: management.CreatePoolResponse - (*AssignPoolRequest)(nil), // 16: management.AssignPoolRequest - (*AssignPoolResponse)(nil), // 17: management.AssignPoolResponse - (*DeletePoolRequest)(nil), // 18: management.DeletePoolRequest - (*DeletePoolResponse)(nil), // 19: management.DeletePoolResponse - (*GetBuddyGroupsRequest)(nil), // 20: management.GetBuddyGroupsRequest - (*GetBuddyGroupsResponse)(nil), // 21: management.GetBuddyGroupsResponse - (*CreateBuddyGroupRequest)(nil), // 22: management.CreateBuddyGroupRequest - (*CreateBuddyGroupResponse)(nil), // 23: management.CreateBuddyGroupResponse - (*DeleteBuddyGroupRequest)(nil), // 24: management.DeleteBuddyGroupRequest - (*DeleteBuddyGroupResponse)(nil), // 25: management.DeleteBuddyGroupResponse - (*MirrorRootInodeRequest)(nil), // 26: management.MirrorRootInodeRequest - (*MirrorRootInodeResponse)(nil), // 27: management.MirrorRootInodeResponse - (*StartResyncRequest)(nil), // 28: management.StartResyncRequest - (*StartResyncResponse)(nil), // 29: management.StartResyncResponse - (*QuotaInfo)(nil), // 30: management.QuotaInfo - (*SetDefaultQuotaLimitsRequest)(nil), // 31: management.SetDefaultQuotaLimitsRequest - (*SetDefaultQuotaLimitsResponse)(nil), // 32: management.SetDefaultQuotaLimitsResponse - (*SetQuotaLimitsRequest)(nil), // 33: management.SetQuotaLimitsRequest - (*SetQuotaLimitsResponse)(nil), // 34: management.SetQuotaLimitsResponse - (*GetQuotaLimitsRequest)(nil), // 35: management.GetQuotaLimitsRequest - (*GetQuotaLimitsResponse)(nil), // 36: management.GetQuotaLimitsResponse - (*GetQuotaUsageRequest)(nil), // 37: management.GetQuotaUsageRequest - (*GetQuotaUsageResponse)(nil), // 38: management.GetQuotaUsageResponse - (*GetLicenseRequest)(nil), // 39: management.GetLicenseRequest - (*GetLicenseResponse)(nil), // 40: management.GetLicenseResponse - (*GetNodesResponse_Node)(nil), // 41: management.GetNodesResponse.Node - (*GetNodesResponse_Node_Nic)(nil), // 42: management.GetNodesResponse.Node.Nic - (*GetTargetsResponse_Target)(nil), // 43: management.GetTargetsResponse.Target - (*GetPoolsResponse_StoragePool)(nil), // 44: management.GetPoolsResponse.StoragePool - (*GetBuddyGroupsResponse_BuddyGroup)(nil), // 45: management.GetBuddyGroupsResponse.BuddyGroup - (*beegfs.EntityIdSet)(nil), // 46: beegfs.EntityIdSet - (beegfs.EntityType)(0), // 47: beegfs.EntityType - (beegfs.ConsistencyState)(0), // 48: beegfs.ConsistencyState - (beegfs.NodeType)(0), // 49: beegfs.NodeType - (beegfs.QuotaIdType)(0), // 50: beegfs.QuotaIdType - (*license.GetCertDataResult)(nil), // 51: license.GetCertDataResult - (beegfs.NicType)(0), // 52: beegfs.NicType - (beegfs.ReachabilityState)(0), // 53: beegfs.ReachabilityState - (beegfs.CapacityPool)(0), // 54: beegfs.CapacityPool + (BuddyGroupQuotaAccounting)(0), // 0: management.BuddyGroupQuotaAccounting + (*SetAliasRequest)(nil), // 1: management.SetAliasRequest + (*SetAliasResponse)(nil), // 2: management.SetAliasResponse + (*GetNodesRequest)(nil), // 3: management.GetNodesRequest + (*GetNodesResponse)(nil), // 4: management.GetNodesResponse + (*DeleteNodeRequest)(nil), // 5: management.DeleteNodeRequest + (*DeleteNodeResponse)(nil), // 6: management.DeleteNodeResponse + (*GetTargetsRequest)(nil), // 7: management.GetTargetsRequest + (*GetTargetsResponse)(nil), // 8: management.GetTargetsResponse + (*DeleteTargetRequest)(nil), // 9: management.DeleteTargetRequest + (*DeleteTargetResponse)(nil), // 10: management.DeleteTargetResponse + (*SetTargetStateRequest)(nil), // 11: management.SetTargetStateRequest + (*SetTargetStateResponse)(nil), // 12: management.SetTargetStateResponse + (*GetPoolsRequest)(nil), // 13: management.GetPoolsRequest + (*GetPoolsResponse)(nil), // 14: management.GetPoolsResponse + (*CreatePoolRequest)(nil), // 15: management.CreatePoolRequest + (*CreatePoolResponse)(nil), // 16: management.CreatePoolResponse + (*AssignPoolRequest)(nil), // 17: management.AssignPoolRequest + (*AssignPoolResponse)(nil), // 18: management.AssignPoolResponse + (*DeletePoolRequest)(nil), // 19: management.DeletePoolRequest + (*DeletePoolResponse)(nil), // 20: management.DeletePoolResponse + (*GetBuddyGroupsRequest)(nil), // 21: management.GetBuddyGroupsRequest + (*GetBuddyGroupsResponse)(nil), // 22: management.GetBuddyGroupsResponse + (*CreateBuddyGroupRequest)(nil), // 23: management.CreateBuddyGroupRequest + (*CreateBuddyGroupResponse)(nil), // 24: management.CreateBuddyGroupResponse + (*ModifyBuddyGroupRequest)(nil), // 25: management.ModifyBuddyGroupRequest + (*ModifyBuddyGroupResponse)(nil), // 26: management.ModifyBuddyGroupResponse + (*DeleteBuddyGroupRequest)(nil), // 27: management.DeleteBuddyGroupRequest + (*DeleteBuddyGroupResponse)(nil), // 28: management.DeleteBuddyGroupResponse + (*MirrorRootInodeRequest)(nil), // 29: management.MirrorRootInodeRequest + (*MirrorRootInodeResponse)(nil), // 30: management.MirrorRootInodeResponse + (*StartResyncRequest)(nil), // 31: management.StartResyncRequest + (*StartResyncResponse)(nil), // 32: management.StartResyncResponse + (*QuotaInfo)(nil), // 33: management.QuotaInfo + (*SetDefaultQuotaLimitsRequest)(nil), // 34: management.SetDefaultQuotaLimitsRequest + (*SetDefaultQuotaLimitsResponse)(nil), // 35: management.SetDefaultQuotaLimitsResponse + (*SetQuotaLimitsRequest)(nil), // 36: management.SetQuotaLimitsRequest + (*SetQuotaLimitsResponse)(nil), // 37: management.SetQuotaLimitsResponse + (*GetQuotaLimitsRequest)(nil), // 38: management.GetQuotaLimitsRequest + (*GetQuotaLimitsResponse)(nil), // 39: management.GetQuotaLimitsResponse + (*GetQuotaUsageRequest)(nil), // 40: management.GetQuotaUsageRequest + (*GetQuotaUsageResponse)(nil), // 41: management.GetQuotaUsageResponse + (*GetLicenseRequest)(nil), // 42: management.GetLicenseRequest + (*GetLicenseResponse)(nil), // 43: management.GetLicenseResponse + (*GetNodesResponse_Node)(nil), // 44: management.GetNodesResponse.Node + (*GetNodesResponse_Node_Nic)(nil), // 45: management.GetNodesResponse.Node.Nic + (*GetTargetsResponse_Target)(nil), // 46: management.GetTargetsResponse.Target + (*GetPoolsResponse_StoragePool)(nil), // 47: management.GetPoolsResponse.StoragePool + (*GetBuddyGroupsResponse_BuddyGroup)(nil), // 48: management.GetBuddyGroupsResponse.BuddyGroup + (*beegfs.EntityIdSet)(nil), // 49: beegfs.EntityIdSet + (beegfs.EntityType)(0), // 50: beegfs.EntityType + (beegfs.ConsistencyState)(0), // 51: beegfs.ConsistencyState + (beegfs.NodeType)(0), // 52: beegfs.NodeType + (beegfs.QuotaIdType)(0), // 53: beegfs.QuotaIdType + (*license.GetCertDataResult)(nil), // 54: license.GetCertDataResult + (beegfs.NicType)(0), // 55: beegfs.NicType + (beegfs.ReachabilityState)(0), // 56: beegfs.ReachabilityState + (beegfs.CapacityPool)(0), // 57: beegfs.CapacityPool } var file_management_proto_depIdxs = []int32{ - 46, // 0: management.SetAliasRequest.entity_id:type_name -> beegfs.EntityIdSet - 47, // 1: management.SetAliasRequest.entity_type:type_name -> beegfs.EntityType - 41, // 2: management.GetNodesResponse.nodes:type_name -> management.GetNodesResponse.Node - 46, // 3: management.GetNodesResponse.meta_root_node:type_name -> beegfs.EntityIdSet - 46, // 4: management.GetNodesResponse.meta_root_buddy_group:type_name -> beegfs.EntityIdSet - 46, // 5: management.DeleteNodeRequest.node:type_name -> beegfs.EntityIdSet - 46, // 6: management.DeleteNodeResponse.node:type_name -> beegfs.EntityIdSet - 43, // 7: management.GetTargetsResponse.targets:type_name -> management.GetTargetsResponse.Target - 46, // 8: management.DeleteTargetRequest.target:type_name -> beegfs.EntityIdSet - 46, // 9: management.DeleteTargetResponse.target:type_name -> beegfs.EntityIdSet - 46, // 10: management.SetTargetStateRequest.target:type_name -> beegfs.EntityIdSet - 48, // 11: management.SetTargetStateRequest.consistency_state:type_name -> beegfs.ConsistencyState - 44, // 12: management.GetPoolsResponse.pools:type_name -> management.GetPoolsResponse.StoragePool - 49, // 13: management.CreatePoolRequest.node_type:type_name -> beegfs.NodeType - 46, // 14: management.CreatePoolRequest.targets:type_name -> beegfs.EntityIdSet - 46, // 15: management.CreatePoolRequest.buddy_groups:type_name -> beegfs.EntityIdSet - 46, // 16: management.CreatePoolResponse.pool:type_name -> beegfs.EntityIdSet - 46, // 17: management.AssignPoolRequest.pool:type_name -> beegfs.EntityIdSet - 46, // 18: management.AssignPoolRequest.targets:type_name -> beegfs.EntityIdSet - 46, // 19: management.AssignPoolRequest.buddy_groups:type_name -> beegfs.EntityIdSet - 46, // 20: management.AssignPoolResponse.pool:type_name -> beegfs.EntityIdSet - 46, // 21: management.DeletePoolRequest.pool:type_name -> beegfs.EntityIdSet - 46, // 22: management.DeletePoolResponse.pool:type_name -> beegfs.EntityIdSet - 45, // 23: management.GetBuddyGroupsResponse.buddy_groups:type_name -> management.GetBuddyGroupsResponse.BuddyGroup - 49, // 24: management.CreateBuddyGroupRequest.node_type:type_name -> beegfs.NodeType - 46, // 25: management.CreateBuddyGroupRequest.primary_target:type_name -> beegfs.EntityIdSet - 46, // 26: management.CreateBuddyGroupRequest.secondary_target:type_name -> beegfs.EntityIdSet - 46, // 27: management.CreateBuddyGroupResponse.group:type_name -> beegfs.EntityIdSet - 46, // 28: management.DeleteBuddyGroupRequest.group:type_name -> beegfs.EntityIdSet - 46, // 29: management.DeleteBuddyGroupResponse.group:type_name -> beegfs.EntityIdSet - 46, // 30: management.StartResyncRequest.buddy_group:type_name -> beegfs.EntityIdSet - 50, // 31: management.QuotaInfo.id_type:type_name -> beegfs.QuotaIdType - 46, // 32: management.QuotaInfo.pool:type_name -> beegfs.EntityIdSet - 46, // 33: management.SetDefaultQuotaLimitsRequest.pool:type_name -> beegfs.EntityIdSet - 30, // 34: management.SetQuotaLimitsRequest.limits:type_name -> management.QuotaInfo - 46, // 35: management.GetQuotaLimitsRequest.pool:type_name -> beegfs.EntityIdSet - 30, // 36: management.GetQuotaLimitsResponse.limits:type_name -> management.QuotaInfo - 46, // 37: management.GetQuotaUsageRequest.pool:type_name -> beegfs.EntityIdSet - 30, // 38: management.GetQuotaUsageResponse.entry:type_name -> management.QuotaInfo - 51, // 39: management.GetLicenseResponse.cert_data:type_name -> license.GetCertDataResult - 46, // 40: management.GetNodesResponse.Node.id:type_name -> beegfs.EntityIdSet - 49, // 41: management.GetNodesResponse.Node.node_type:type_name -> beegfs.NodeType - 42, // 42: management.GetNodesResponse.Node.nics:type_name -> management.GetNodesResponse.Node.Nic - 52, // 43: management.GetNodesResponse.Node.Nic.nic_type:type_name -> beegfs.NicType - 46, // 44: management.GetTargetsResponse.Target.id:type_name -> beegfs.EntityIdSet - 49, // 45: management.GetTargetsResponse.Target.node_type:type_name -> beegfs.NodeType - 53, // 46: management.GetTargetsResponse.Target.reachability_state:type_name -> beegfs.ReachabilityState - 48, // 47: management.GetTargetsResponse.Target.consistency_state:type_name -> beegfs.ConsistencyState - 54, // 48: management.GetTargetsResponse.Target.cap_pool:type_name -> beegfs.CapacityPool - 46, // 49: management.GetTargetsResponse.Target.node:type_name -> beegfs.EntityIdSet - 46, // 50: management.GetTargetsResponse.Target.storage_pool:type_name -> beegfs.EntityIdSet - 46, // 51: management.GetPoolsResponse.StoragePool.id:type_name -> beegfs.EntityIdSet - 46, // 52: management.GetPoolsResponse.StoragePool.targets:type_name -> beegfs.EntityIdSet - 46, // 53: management.GetPoolsResponse.StoragePool.buddy_groups:type_name -> beegfs.EntityIdSet - 46, // 54: management.GetBuddyGroupsResponse.BuddyGroup.id:type_name -> beegfs.EntityIdSet - 49, // 55: management.GetBuddyGroupsResponse.BuddyGroup.node_type:type_name -> beegfs.NodeType - 46, // 56: management.GetBuddyGroupsResponse.BuddyGroup.primary_target:type_name -> beegfs.EntityIdSet - 46, // 57: management.GetBuddyGroupsResponse.BuddyGroup.secondary_target:type_name -> beegfs.EntityIdSet - 48, // 58: management.GetBuddyGroupsResponse.BuddyGroup.primary_consistency_state:type_name -> beegfs.ConsistencyState - 48, // 59: management.GetBuddyGroupsResponse.BuddyGroup.secondary_consistency_state:type_name -> beegfs.ConsistencyState - 46, // 60: management.GetBuddyGroupsResponse.BuddyGroup.storage_pool:type_name -> beegfs.EntityIdSet - 0, // 61: management.Management.SetAlias:input_type -> management.SetAliasRequest - 2, // 62: management.Management.GetNodes:input_type -> management.GetNodesRequest - 4, // 63: management.Management.DeleteNode:input_type -> management.DeleteNodeRequest - 6, // 64: management.Management.GetTargets:input_type -> management.GetTargetsRequest - 8, // 65: management.Management.DeleteTarget:input_type -> management.DeleteTargetRequest - 10, // 66: management.Management.SetTargetState:input_type -> management.SetTargetStateRequest - 12, // 67: management.Management.GetPools:input_type -> management.GetPoolsRequest - 14, // 68: management.Management.CreatePool:input_type -> management.CreatePoolRequest - 16, // 69: management.Management.AssignPool:input_type -> management.AssignPoolRequest - 18, // 70: management.Management.DeletePool:input_type -> management.DeletePoolRequest - 20, // 71: management.Management.GetBuddyGroups:input_type -> management.GetBuddyGroupsRequest - 22, // 72: management.Management.CreateBuddyGroup:input_type -> management.CreateBuddyGroupRequest - 24, // 73: management.Management.DeleteBuddyGroup:input_type -> management.DeleteBuddyGroupRequest - 26, // 74: management.Management.MirrorRootInode:input_type -> management.MirrorRootInodeRequest - 28, // 75: management.Management.StartResync:input_type -> management.StartResyncRequest - 31, // 76: management.Management.SetDefaultQuotaLimits:input_type -> management.SetDefaultQuotaLimitsRequest - 33, // 77: management.Management.SetQuotaLimits:input_type -> management.SetQuotaLimitsRequest - 35, // 78: management.Management.GetQuotaLimits:input_type -> management.GetQuotaLimitsRequest - 37, // 79: management.Management.GetQuotaUsage:input_type -> management.GetQuotaUsageRequest - 39, // 80: management.Management.GetLicense:input_type -> management.GetLicenseRequest - 1, // 81: management.Management.SetAlias:output_type -> management.SetAliasResponse - 3, // 82: management.Management.GetNodes:output_type -> management.GetNodesResponse - 5, // 83: management.Management.DeleteNode:output_type -> management.DeleteNodeResponse - 7, // 84: management.Management.GetTargets:output_type -> management.GetTargetsResponse - 9, // 85: management.Management.DeleteTarget:output_type -> management.DeleteTargetResponse - 11, // 86: management.Management.SetTargetState:output_type -> management.SetTargetStateResponse - 13, // 87: management.Management.GetPools:output_type -> management.GetPoolsResponse - 15, // 88: management.Management.CreatePool:output_type -> management.CreatePoolResponse - 17, // 89: management.Management.AssignPool:output_type -> management.AssignPoolResponse - 19, // 90: management.Management.DeletePool:output_type -> management.DeletePoolResponse - 21, // 91: management.Management.GetBuddyGroups:output_type -> management.GetBuddyGroupsResponse - 23, // 92: management.Management.CreateBuddyGroup:output_type -> management.CreateBuddyGroupResponse - 25, // 93: management.Management.DeleteBuddyGroup:output_type -> management.DeleteBuddyGroupResponse - 27, // 94: management.Management.MirrorRootInode:output_type -> management.MirrorRootInodeResponse - 29, // 95: management.Management.StartResync:output_type -> management.StartResyncResponse - 32, // 96: management.Management.SetDefaultQuotaLimits:output_type -> management.SetDefaultQuotaLimitsResponse - 34, // 97: management.Management.SetQuotaLimits:output_type -> management.SetQuotaLimitsResponse - 36, // 98: management.Management.GetQuotaLimits:output_type -> management.GetQuotaLimitsResponse - 38, // 99: management.Management.GetQuotaUsage:output_type -> management.GetQuotaUsageResponse - 40, // 100: management.Management.GetLicense:output_type -> management.GetLicenseResponse - 81, // [81:101] is the sub-list for method output_type - 61, // [61:81] is the sub-list for method input_type - 61, // [61:61] is the sub-list for extension type_name - 61, // [61:61] is the sub-list for extension extendee - 0, // [0:61] is the sub-list for field type_name + 49, // 0: management.SetAliasRequest.entity_id:type_name -> beegfs.EntityIdSet + 50, // 1: management.SetAliasRequest.entity_type:type_name -> beegfs.EntityType + 44, // 2: management.GetNodesResponse.nodes:type_name -> management.GetNodesResponse.Node + 49, // 3: management.GetNodesResponse.meta_root_node:type_name -> beegfs.EntityIdSet + 49, // 4: management.GetNodesResponse.meta_root_buddy_group:type_name -> beegfs.EntityIdSet + 49, // 5: management.DeleteNodeRequest.node:type_name -> beegfs.EntityIdSet + 49, // 6: management.DeleteNodeResponse.node:type_name -> beegfs.EntityIdSet + 46, // 7: management.GetTargetsResponse.targets:type_name -> management.GetTargetsResponse.Target + 49, // 8: management.DeleteTargetRequest.target:type_name -> beegfs.EntityIdSet + 49, // 9: management.DeleteTargetResponse.target:type_name -> beegfs.EntityIdSet + 49, // 10: management.SetTargetStateRequest.target:type_name -> beegfs.EntityIdSet + 51, // 11: management.SetTargetStateRequest.consistency_state:type_name -> beegfs.ConsistencyState + 47, // 12: management.GetPoolsResponse.pools:type_name -> management.GetPoolsResponse.StoragePool + 52, // 13: management.CreatePoolRequest.node_type:type_name -> beegfs.NodeType + 49, // 14: management.CreatePoolRequest.targets:type_name -> beegfs.EntityIdSet + 49, // 15: management.CreatePoolRequest.buddy_groups:type_name -> beegfs.EntityIdSet + 49, // 16: management.CreatePoolResponse.pool:type_name -> beegfs.EntityIdSet + 49, // 17: management.AssignPoolRequest.pool:type_name -> beegfs.EntityIdSet + 49, // 18: management.AssignPoolRequest.targets:type_name -> beegfs.EntityIdSet + 49, // 19: management.AssignPoolRequest.buddy_groups:type_name -> beegfs.EntityIdSet + 49, // 20: management.AssignPoolResponse.pool:type_name -> beegfs.EntityIdSet + 49, // 21: management.DeletePoolRequest.pool:type_name -> beegfs.EntityIdSet + 49, // 22: management.DeletePoolResponse.pool:type_name -> beegfs.EntityIdSet + 48, // 23: management.GetBuddyGroupsResponse.buddy_groups:type_name -> management.GetBuddyGroupsResponse.BuddyGroup + 52, // 24: management.CreateBuddyGroupRequest.node_type:type_name -> beegfs.NodeType + 49, // 25: management.CreateBuddyGroupRequest.primary_target:type_name -> beegfs.EntityIdSet + 49, // 26: management.CreateBuddyGroupRequest.secondary_target:type_name -> beegfs.EntityIdSet + 0, // 27: management.CreateBuddyGroupRequest.quota_accounting:type_name -> management.BuddyGroupQuotaAccounting + 49, // 28: management.CreateBuddyGroupResponse.group:type_name -> beegfs.EntityIdSet + 49, // 29: management.ModifyBuddyGroupRequest.group:type_name -> beegfs.EntityIdSet + 0, // 30: management.ModifyBuddyGroupRequest.quota_accounting:type_name -> management.BuddyGroupQuotaAccounting + 49, // 31: management.DeleteBuddyGroupRequest.group:type_name -> beegfs.EntityIdSet + 49, // 32: management.DeleteBuddyGroupResponse.group:type_name -> beegfs.EntityIdSet + 49, // 33: management.StartResyncRequest.buddy_group:type_name -> beegfs.EntityIdSet + 53, // 34: management.QuotaInfo.id_type:type_name -> beegfs.QuotaIdType + 49, // 35: management.QuotaInfo.pool:type_name -> beegfs.EntityIdSet + 49, // 36: management.SetDefaultQuotaLimitsRequest.pool:type_name -> beegfs.EntityIdSet + 33, // 37: management.SetQuotaLimitsRequest.limits:type_name -> management.QuotaInfo + 49, // 38: management.GetQuotaLimitsRequest.pool:type_name -> beegfs.EntityIdSet + 33, // 39: management.GetQuotaLimitsResponse.limits:type_name -> management.QuotaInfo + 49, // 40: management.GetQuotaUsageRequest.pool:type_name -> beegfs.EntityIdSet + 33, // 41: management.GetQuotaUsageResponse.entry:type_name -> management.QuotaInfo + 54, // 42: management.GetLicenseResponse.cert_data:type_name -> license.GetCertDataResult + 49, // 43: management.GetNodesResponse.Node.id:type_name -> beegfs.EntityIdSet + 52, // 44: management.GetNodesResponse.Node.node_type:type_name -> beegfs.NodeType + 45, // 45: management.GetNodesResponse.Node.nics:type_name -> management.GetNodesResponse.Node.Nic + 55, // 46: management.GetNodesResponse.Node.Nic.nic_type:type_name -> beegfs.NicType + 49, // 47: management.GetTargetsResponse.Target.id:type_name -> beegfs.EntityIdSet + 52, // 48: management.GetTargetsResponse.Target.node_type:type_name -> beegfs.NodeType + 56, // 49: management.GetTargetsResponse.Target.reachability_state:type_name -> beegfs.ReachabilityState + 51, // 50: management.GetTargetsResponse.Target.consistency_state:type_name -> beegfs.ConsistencyState + 57, // 51: management.GetTargetsResponse.Target.cap_pool:type_name -> beegfs.CapacityPool + 49, // 52: management.GetTargetsResponse.Target.node:type_name -> beegfs.EntityIdSet + 49, // 53: management.GetTargetsResponse.Target.storage_pool:type_name -> beegfs.EntityIdSet + 49, // 54: management.GetPoolsResponse.StoragePool.id:type_name -> beegfs.EntityIdSet + 49, // 55: management.GetPoolsResponse.StoragePool.targets:type_name -> beegfs.EntityIdSet + 49, // 56: management.GetPoolsResponse.StoragePool.buddy_groups:type_name -> beegfs.EntityIdSet + 49, // 57: management.GetBuddyGroupsResponse.BuddyGroup.id:type_name -> beegfs.EntityIdSet + 52, // 58: management.GetBuddyGroupsResponse.BuddyGroup.node_type:type_name -> beegfs.NodeType + 49, // 59: management.GetBuddyGroupsResponse.BuddyGroup.primary_target:type_name -> beegfs.EntityIdSet + 49, // 60: management.GetBuddyGroupsResponse.BuddyGroup.secondary_target:type_name -> beegfs.EntityIdSet + 51, // 61: management.GetBuddyGroupsResponse.BuddyGroup.primary_consistency_state:type_name -> beegfs.ConsistencyState + 51, // 62: management.GetBuddyGroupsResponse.BuddyGroup.secondary_consistency_state:type_name -> beegfs.ConsistencyState + 49, // 63: management.GetBuddyGroupsResponse.BuddyGroup.storage_pool:type_name -> beegfs.EntityIdSet + 1, // 64: management.Management.SetAlias:input_type -> management.SetAliasRequest + 3, // 65: management.Management.GetNodes:input_type -> management.GetNodesRequest + 5, // 66: management.Management.DeleteNode:input_type -> management.DeleteNodeRequest + 7, // 67: management.Management.GetTargets:input_type -> management.GetTargetsRequest + 9, // 68: management.Management.DeleteTarget:input_type -> management.DeleteTargetRequest + 11, // 69: management.Management.SetTargetState:input_type -> management.SetTargetStateRequest + 13, // 70: management.Management.GetPools:input_type -> management.GetPoolsRequest + 15, // 71: management.Management.CreatePool:input_type -> management.CreatePoolRequest + 17, // 72: management.Management.AssignPool:input_type -> management.AssignPoolRequest + 19, // 73: management.Management.DeletePool:input_type -> management.DeletePoolRequest + 21, // 74: management.Management.GetBuddyGroups:input_type -> management.GetBuddyGroupsRequest + 23, // 75: management.Management.CreateBuddyGroup:input_type -> management.CreateBuddyGroupRequest + 25, // 76: management.Management.ModifyBuddyGroup:input_type -> management.ModifyBuddyGroupRequest + 27, // 77: management.Management.DeleteBuddyGroup:input_type -> management.DeleteBuddyGroupRequest + 29, // 78: management.Management.MirrorRootInode:input_type -> management.MirrorRootInodeRequest + 31, // 79: management.Management.StartResync:input_type -> management.StartResyncRequest + 34, // 80: management.Management.SetDefaultQuotaLimits:input_type -> management.SetDefaultQuotaLimitsRequest + 36, // 81: management.Management.SetQuotaLimits:input_type -> management.SetQuotaLimitsRequest + 38, // 82: management.Management.GetQuotaLimits:input_type -> management.GetQuotaLimitsRequest + 40, // 83: management.Management.GetQuotaUsage:input_type -> management.GetQuotaUsageRequest + 42, // 84: management.Management.GetLicense:input_type -> management.GetLicenseRequest + 2, // 85: management.Management.SetAlias:output_type -> management.SetAliasResponse + 4, // 86: management.Management.GetNodes:output_type -> management.GetNodesResponse + 6, // 87: management.Management.DeleteNode:output_type -> management.DeleteNodeResponse + 8, // 88: management.Management.GetTargets:output_type -> management.GetTargetsResponse + 10, // 89: management.Management.DeleteTarget:output_type -> management.DeleteTargetResponse + 12, // 90: management.Management.SetTargetState:output_type -> management.SetTargetStateResponse + 14, // 91: management.Management.GetPools:output_type -> management.GetPoolsResponse + 16, // 92: management.Management.CreatePool:output_type -> management.CreatePoolResponse + 18, // 93: management.Management.AssignPool:output_type -> management.AssignPoolResponse + 20, // 94: management.Management.DeletePool:output_type -> management.DeletePoolResponse + 22, // 95: management.Management.GetBuddyGroups:output_type -> management.GetBuddyGroupsResponse + 24, // 96: management.Management.CreateBuddyGroup:output_type -> management.CreateBuddyGroupResponse + 26, // 97: management.Management.ModifyBuddyGroup:output_type -> management.ModifyBuddyGroupResponse + 28, // 98: management.Management.DeleteBuddyGroup:output_type -> management.DeleteBuddyGroupResponse + 30, // 99: management.Management.MirrorRootInode:output_type -> management.MirrorRootInodeResponse + 32, // 100: management.Management.StartResync:output_type -> management.StartResyncResponse + 35, // 101: management.Management.SetDefaultQuotaLimits:output_type -> management.SetDefaultQuotaLimitsResponse + 37, // 102: management.Management.SetQuotaLimits:output_type -> management.SetQuotaLimitsResponse + 39, // 103: management.Management.GetQuotaLimits:output_type -> management.GetQuotaLimitsResponse + 41, // 104: management.Management.GetQuotaUsage:output_type -> management.GetQuotaUsageResponse + 43, // 105: management.Management.GetLicense:output_type -> management.GetLicenseResponse + 85, // [85:106] is the sub-list for method output_type + 64, // [64:85] is the sub-list for method input_type + 64, // [64:64] is the sub-list for extension type_name + 64, // [64:64] is the sub-list for extension extendee + 0, // [0:64] is the sub-list for field type_name } func init() { file_management_proto_init() } @@ -5718,31 +5991,33 @@ func file_management_proto_init() { file_management_proto_msgTypes[22].OneofWrappers = []any{} file_management_proto_msgTypes[23].OneofWrappers = []any{} file_management_proto_msgTypes[24].OneofWrappers = []any{} - file_management_proto_msgTypes[25].OneofWrappers = []any{} - file_management_proto_msgTypes[28].OneofWrappers = []any{} + file_management_proto_msgTypes[26].OneofWrappers = []any{} + file_management_proto_msgTypes[27].OneofWrappers = []any{} file_management_proto_msgTypes[30].OneofWrappers = []any{} - file_management_proto_msgTypes[31].OneofWrappers = []any{} - file_management_proto_msgTypes[35].OneofWrappers = []any{} - file_management_proto_msgTypes[36].OneofWrappers = []any{} + file_management_proto_msgTypes[32].OneofWrappers = []any{} + file_management_proto_msgTypes[33].OneofWrappers = []any{} file_management_proto_msgTypes[37].OneofWrappers = []any{} file_management_proto_msgTypes[38].OneofWrappers = []any{} file_management_proto_msgTypes[39].OneofWrappers = []any{} file_management_proto_msgTypes[40].OneofWrappers = []any{} - file_management_proto_msgTypes[43].OneofWrappers = []any{} - file_management_proto_msgTypes[44].OneofWrappers = []any{} + file_management_proto_msgTypes[41].OneofWrappers = []any{} + file_management_proto_msgTypes[42].OneofWrappers = []any{} file_management_proto_msgTypes[45].OneofWrappers = []any{} + file_management_proto_msgTypes[46].OneofWrappers = []any{} + file_management_proto_msgTypes[47].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_management_proto_rawDesc, - NumEnums: 0, - NumMessages: 46, + NumEnums: 1, + NumMessages: 48, NumExtensions: 0, NumServices: 1, }, GoTypes: file_management_proto_goTypes, DependencyIndexes: file_management_proto_depIdxs, + EnumInfos: file_management_proto_enumTypes, MessageInfos: file_management_proto_msgTypes, }.Build() File_management_proto = out.File diff --git a/proto/management.proto b/proto/management.proto index c11acb8..9429080 100644 --- a/proto/management.proto +++ b/proto/management.proto @@ -27,6 +27,7 @@ service Management { // Buddy groups rpc GetBuddyGroups(GetBuddyGroupsRequest) returns (GetBuddyGroupsResponse); rpc CreateBuddyGroup(CreateBuddyGroupRequest) returns (CreateBuddyGroupResponse); + rpc ModifyBuddyGroup(ModifyBuddyGroupRequest) returns (ModifyBuddyGroupResponse); rpc DeleteBuddyGroup(DeleteBuddyGroupRequest) returns (DeleteBuddyGroupResponse); rpc MirrorRootInode(MirrorRootInodeRequest) returns (MirrorRootInodeResponse); rpc StartResync(StartResyncRequest) returns (StartResyncResponse); @@ -334,6 +335,12 @@ message GetBuddyGroupsResponse { repeated BuddyGroup buddy_groups = 1; } +enum BuddyGroupQuotaAccounting { + BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED = 0; + BUDDY_GROUP_QUOTA_ACCOUNTING_PRIMARY = 1; + BUDDY_GROUP_QUOTA_ACCOUNTING_BOTH = 2; +} + // Creates a new buddy group. message CreateBuddyGroupRequest { // The node type of the new buddy group. @@ -351,6 +358,9 @@ message CreateBuddyGroupRequest { // The new buddy groups secondary target. // Required. One identifier is sufficient. optional beegfs.EntityIdSet secondary_target = 5; + // How quota on the mirrored targets shall be taken into account. + // Optional. Management is free to choose the default if not given. + optional BuddyGroupQuotaAccounting quota_accounting = 6; } message CreateBuddyGroupResponse { // The identifier set of the new buddy group. @@ -358,6 +368,17 @@ message CreateBuddyGroupResponse { optional beegfs.EntityIdSet group = 1; } +// Modifies a buddy group or its config. +message ModifyBuddyGroupRequest { + // The buddy group to modify. + // Required. One identifier is sufficient. + optional beegfs.EntityIdSet group = 1; + // How quota on the mirrored targets shall be taken into account. + // Optional. Not modified if not given + optional BuddyGroupQuotaAccounting quota_accounting = 2; +} +message ModifyBuddyGroupResponse {} + // Deletes a buddy group from the system. message DeleteBuddyGroupRequest { // The buddy group to delete. diff --git a/rust/management.rs b/rust/management.rs index 05a0a43..2760479 100644 --- a/rust/management.rs +++ b/rust/management.rs @@ -398,6 +398,10 @@ pub struct CreateBuddyGroupRequest { /// Required. One identifier is sufficient. #[prost(message, optional, tag = "5")] pub secondary_target: ::core::option::Option, + /// How quota on the mirrored targets shall be taken into account. + /// Optional. Management is free to choose the default if not given. + #[prost(enumeration = "BuddyGroupQuotaAccounting", optional, tag = "6")] + pub quota_accounting: ::core::option::Option, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateBuddyGroupResponse { @@ -406,6 +410,20 @@ pub struct CreateBuddyGroupResponse { #[prost(message, optional, tag = "1")] pub group: ::core::option::Option, } +/// Modifies a buddy group or its config. +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct ModifyBuddyGroupRequest { + /// The buddy group to modify. + /// Required. One identifier is sufficient. + #[prost(message, optional, tag = "1")] + pub group: ::core::option::Option, + /// How quota on the mirrored targets shall be taken into account. + /// Optional. Not modified if not given + #[prost(enumeration = "BuddyGroupQuotaAccounting", optional, tag = "2")] + pub quota_accounting: ::core::option::Option, +} +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +pub struct ModifyBuddyGroupResponse {} /// Deletes a buddy group from the system. #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteBuddyGroupRequest { @@ -627,6 +645,35 @@ pub struct GetLicenseResponse { #[prost(message, optional, tag = "1")] pub cert_data: ::core::option::Option, } +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum BuddyGroupQuotaAccounting { + Unspecified = 0, + Primary = 1, + Both = 2, +} +impl BuddyGroupQuotaAccounting { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Unspecified => "BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED", + Self::Primary => "BUDDY_GROUP_QUOTA_ACCOUNTING_PRIMARY", + Self::Both => "BUDDY_GROUP_QUOTA_ACCOUNTING_BOTH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BUDDY_GROUP_QUOTA_ACCOUNTING_UNSPECIFIED" => Some(Self::Unspecified), + "BUDDY_GROUP_QUOTA_ACCOUNTING_PRIMARY" => Some(Self::Primary), + "BUDDY_GROUP_QUOTA_ACCOUNTING_BOTH" => Some(Self::Both), + _ => None, + } + } +} /// Generated client implementations. pub mod management_client { #![allow( @@ -1011,6 +1058,30 @@ pub mod management_client { .insert(GrpcMethod::new("management.Management", "CreateBuddyGroup")); self.inner.unary(req, path, codec).await } + pub async fn modify_buddy_group( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/management.Management/ModifyBuddyGroup", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("management.Management", "ModifyBuddyGroup")); + self.inner.unary(req, path, codec).await + } pub async fn delete_buddy_group( &mut self, request: impl tonic::IntoRequest, @@ -1311,6 +1382,13 @@ pub mod management_server { tonic::Response, tonic::Status, >; + async fn modify_buddy_group( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; async fn delete_buddy_group( &self, request: tonic::Request, @@ -1998,6 +2076,51 @@ pub mod management_server { }; Box::pin(fut) } + "/management.Management/ModifyBuddyGroup" => { + #[allow(non_camel_case_types)] + struct ModifyBuddyGroupSvc(pub Arc); + impl< + T: Management, + > tonic::server::UnaryService + for ModifyBuddyGroupSvc { + type Response = super::ModifyBuddyGroupResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::modify_buddy_group(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = ModifyBuddyGroupSvc(inner); + let codec = tonic_prost::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } "/management.Management/DeleteBuddyGroup" => { #[allow(non_camel_case_types)] struct DeleteBuddyGroupSvc(pub Arc);