diff --git a/api/client/accesslist/accesslist.go b/api/client/accesslist/accesslist.go index 617543d01dcbf..c95f86f4f7c8d 100644 --- a/api/client/accesslist/accesslist.go +++ b/api/client/accesslist/accesslist.go @@ -123,6 +123,18 @@ func (c *Client) UpsertAccessList(ctx context.Context, accessList *accesslist.Ac return responseAccessList, trace.Wrap(err) } +// UpdateAccessList updates an access list resource. +func (c *Client) UpdateAccessList(ctx context.Context, accessList *accesslist.AccessList) (*accesslist.AccessList, error) { + resp, err := c.grpcClient.UpdateAccessList(ctx, &accesslistv1.UpdateAccessListRequest{ + AccessList: conv.ToProto(accessList), + }) + if err != nil { + return nil, trace.Wrap(err) + } + responseAccessList, err := conv.FromProto(resp) + return responseAccessList, trace.Wrap(err) +} + // DeleteAccessList removes the specified access list resource. func (c *Client) DeleteAccessList(ctx context.Context, name string) error { _, err := c.grpcClient.DeleteAccessList(ctx, &accesslistv1.DeleteAccessListRequest{ @@ -219,6 +231,18 @@ func (c *Client) UpsertAccessListMember(ctx context.Context, member *accesslist. return responseMember, trace.Wrap(err) } +// UpdateAccessListMember updates an access list member resource using a conditional update. +func (c *Client) UpdateAccessListMember(ctx context.Context, member *accesslist.AccessListMember) (*accesslist.AccessListMember, error) { + resp, err := c.grpcClient.UpdateAccessListMember(ctx, &accesslistv1.UpdateAccessListMemberRequest{ + Member: conv.ToMemberProto(member), + }) + if err != nil { + return nil, trace.Wrap(err) + } + responseMember, err := conv.FromMemberProto(resp) + return responseMember, trace.Wrap(err) +} + // DeleteAccessListMember hard deletes the specified access list member resource. func (c *Client) DeleteAccessListMember(ctx context.Context, accessList string, memberName string) error { _, err := c.grpcClient.DeleteAccessListMember(ctx, &accesslistv1.DeleteAccessListMemberRequest{ diff --git a/api/gen/proto/go/teleport/accesslist/v1/accesslist_service.pb.go b/api/gen/proto/go/teleport/accesslist/v1/accesslist_service.pb.go index 164c0337847a4..3533695410fca 100644 --- a/api/gen/proto/go/teleport/accesslist/v1/accesslist_service.pb.go +++ b/api/gen/proto/go/teleport/accesslist/v1/accesslist_service.pb.go @@ -339,6 +339,55 @@ func (x *UpsertAccessListRequest) GetAccessList() *AccessList { return nil } +// UpdateAccessListRequest is the request for updating an access list. +type UpdateAccessListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // access_list is the access list to upsert. + AccessList *AccessList `protobuf:"bytes,1,opt,name=access_list,json=accessList,proto3" json:"access_list,omitempty"` +} + +func (x *UpdateAccessListRequest) Reset() { + *x = UpdateAccessListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateAccessListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAccessListRequest) ProtoMessage() {} + +func (x *UpdateAccessListRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAccessListRequest.ProtoReflect.Descriptor instead. +func (*UpdateAccessListRequest) Descriptor() ([]byte, []int) { + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{6} +} + +func (x *UpdateAccessListRequest) GetAccessList() *AccessList { + if x != nil { + return x.AccessList + } + return nil +} + // DeleteAccessListRequest is the request for deleting an access list. type DeleteAccessListRequest struct { state protoimpl.MessageState @@ -352,7 +401,7 @@ type DeleteAccessListRequest struct { func (x *DeleteAccessListRequest) Reset() { *x = DeleteAccessListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[6] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -365,7 +414,7 @@ func (x *DeleteAccessListRequest) String() string { func (*DeleteAccessListRequest) ProtoMessage() {} func (x *DeleteAccessListRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[6] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -378,7 +427,7 @@ func (x *DeleteAccessListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAccessListRequest.ProtoReflect.Descriptor instead. func (*DeleteAccessListRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{6} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{7} } func (x *DeleteAccessListRequest) GetName() string { @@ -398,7 +447,7 @@ type DeleteAllAccessListsRequest struct { func (x *DeleteAllAccessListsRequest) Reset() { *x = DeleteAllAccessListsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[7] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -411,7 +460,7 @@ func (x *DeleteAllAccessListsRequest) String() string { func (*DeleteAllAccessListsRequest) ProtoMessage() {} func (x *DeleteAllAccessListsRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[7] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -424,7 +473,7 @@ func (x *DeleteAllAccessListsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAllAccessListsRequest.ProtoReflect.Descriptor instead. func (*DeleteAllAccessListsRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{7} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{8} } // GetAccessListsToReviewRequest is the request for getting access lists that @@ -438,7 +487,7 @@ type GetAccessListsToReviewRequest struct { func (x *GetAccessListsToReviewRequest) Reset() { *x = GetAccessListsToReviewRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[8] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -451,7 +500,7 @@ func (x *GetAccessListsToReviewRequest) String() string { func (*GetAccessListsToReviewRequest) ProtoMessage() {} func (x *GetAccessListsToReviewRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[8] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -464,7 +513,7 @@ func (x *GetAccessListsToReviewRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAccessListsToReviewRequest.ProtoReflect.Descriptor instead. func (*GetAccessListsToReviewRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{8} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{9} } // GetAccessListsToReviewResponse is the response for getting access lists that @@ -480,7 +529,7 @@ type GetAccessListsToReviewResponse struct { func (x *GetAccessListsToReviewResponse) Reset() { *x = GetAccessListsToReviewResponse{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[9] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -493,7 +542,7 @@ func (x *GetAccessListsToReviewResponse) String() string { func (*GetAccessListsToReviewResponse) ProtoMessage() {} func (x *GetAccessListsToReviewResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[9] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -506,7 +555,7 @@ func (x *GetAccessListsToReviewResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAccessListsToReviewResponse.ProtoReflect.Descriptor instead. func (*GetAccessListsToReviewResponse) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{9} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{10} } func (x *GetAccessListsToReviewResponse) GetAccessLists() []*AccessList { @@ -530,7 +579,7 @@ type CountAccessListMembersRequest struct { func (x *CountAccessListMembersRequest) Reset() { *x = CountAccessListMembersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[10] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -543,7 +592,7 @@ func (x *CountAccessListMembersRequest) String() string { func (*CountAccessListMembersRequest) ProtoMessage() {} func (x *CountAccessListMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[10] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -556,7 +605,7 @@ func (x *CountAccessListMembersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CountAccessListMembersRequest.ProtoReflect.Descriptor instead. func (*CountAccessListMembersRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{10} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{11} } func (x *CountAccessListMembersRequest) GetAccessListName() string { @@ -580,7 +629,7 @@ type CountAccessListMembersResponse struct { func (x *CountAccessListMembersResponse) Reset() { *x = CountAccessListMembersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[11] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -593,7 +642,7 @@ func (x *CountAccessListMembersResponse) String() string { func (*CountAccessListMembersResponse) ProtoMessage() {} func (x *CountAccessListMembersResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[11] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -606,7 +655,7 @@ func (x *CountAccessListMembersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CountAccessListMembersResponse.ProtoReflect.Descriptor instead. func (*CountAccessListMembersResponse) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{11} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{12} } func (x *CountAccessListMembersResponse) GetCount() uint32 { @@ -634,7 +683,7 @@ type ListAccessListMembersRequest struct { func (x *ListAccessListMembersRequest) Reset() { *x = ListAccessListMembersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[12] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -647,7 +696,7 @@ func (x *ListAccessListMembersRequest) String() string { func (*ListAccessListMembersRequest) ProtoMessage() {} func (x *ListAccessListMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[12] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -660,7 +709,7 @@ func (x *ListAccessListMembersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAccessListMembersRequest.ProtoReflect.Descriptor instead. func (*ListAccessListMembersRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{12} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{13} } func (x *ListAccessListMembersRequest) GetPageSize() int32 { @@ -700,7 +749,7 @@ type ListAccessListMembersResponse struct { func (x *ListAccessListMembersResponse) Reset() { *x = ListAccessListMembersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[13] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -713,7 +762,7 @@ func (x *ListAccessListMembersResponse) String() string { func (*ListAccessListMembersResponse) ProtoMessage() {} func (x *ListAccessListMembersResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[13] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -726,7 +775,7 @@ func (x *ListAccessListMembersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAccessListMembersResponse.ProtoReflect.Descriptor instead. func (*ListAccessListMembersResponse) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{13} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{14} } func (x *ListAccessListMembersResponse) GetMembers() []*Member { @@ -759,7 +808,7 @@ type ListAllAccessListMembersRequest struct { func (x *ListAllAccessListMembersRequest) Reset() { *x = ListAllAccessListMembersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[14] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -772,7 +821,7 @@ func (x *ListAllAccessListMembersRequest) String() string { func (*ListAllAccessListMembersRequest) ProtoMessage() {} func (x *ListAllAccessListMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[14] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -785,7 +834,7 @@ func (x *ListAllAccessListMembersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAllAccessListMembersRequest.ProtoReflect.Descriptor instead. func (*ListAllAccessListMembersRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{14} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{15} } func (x *ListAllAccessListMembersRequest) GetPageSize() int32 { @@ -818,7 +867,7 @@ type ListAllAccessListMembersResponse struct { func (x *ListAllAccessListMembersResponse) Reset() { *x = ListAllAccessListMembersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[15] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -831,7 +880,7 @@ func (x *ListAllAccessListMembersResponse) String() string { func (*ListAllAccessListMembersResponse) ProtoMessage() {} func (x *ListAllAccessListMembersResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[15] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -844,7 +893,7 @@ func (x *ListAllAccessListMembersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAllAccessListMembersResponse.ProtoReflect.Descriptor instead. func (*ListAllAccessListMembersResponse) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{15} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{16} } func (x *ListAllAccessListMembersResponse) GetMembers() []*Member { @@ -877,7 +926,7 @@ type UpsertAccessListWithMembersRequest struct { func (x *UpsertAccessListWithMembersRequest) Reset() { *x = UpsertAccessListWithMembersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[16] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -890,7 +939,7 @@ func (x *UpsertAccessListWithMembersRequest) String() string { func (*UpsertAccessListWithMembersRequest) ProtoMessage() {} func (x *UpsertAccessListWithMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[16] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -903,7 +952,7 @@ func (x *UpsertAccessListWithMembersRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpsertAccessListWithMembersRequest.ProtoReflect.Descriptor instead. func (*UpsertAccessListWithMembersRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{16} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{17} } func (x *UpsertAccessListWithMembersRequest) GetAccessList() *AccessList { @@ -936,7 +985,7 @@ type UpsertAccessListWithMembersResponse struct { func (x *UpsertAccessListWithMembersResponse) Reset() { *x = UpsertAccessListWithMembersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[17] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -949,7 +998,7 @@ func (x *UpsertAccessListWithMembersResponse) String() string { func (*UpsertAccessListWithMembersResponse) ProtoMessage() {} func (x *UpsertAccessListWithMembersResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[17] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -962,7 +1011,7 @@ func (x *UpsertAccessListWithMembersResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use UpsertAccessListWithMembersResponse.ProtoReflect.Descriptor instead. func (*UpsertAccessListWithMembersResponse) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{17} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{18} } func (x *UpsertAccessListWithMembersResponse) GetAccessList() *AccessList { @@ -995,7 +1044,7 @@ type GetAccessListMemberRequest struct { func (x *GetAccessListMemberRequest) Reset() { *x = GetAccessListMemberRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[18] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1008,7 +1057,7 @@ func (x *GetAccessListMemberRequest) String() string { func (*GetAccessListMemberRequest) ProtoMessage() {} func (x *GetAccessListMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[18] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1021,7 +1070,7 @@ func (x *GetAccessListMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAccessListMemberRequest.ProtoReflect.Descriptor instead. func (*GetAccessListMemberRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{18} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{19} } func (x *GetAccessListMemberRequest) GetAccessList() string { @@ -1052,7 +1101,7 @@ type UpsertAccessListMemberRequest struct { func (x *UpsertAccessListMemberRequest) Reset() { *x = UpsertAccessListMemberRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[19] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1065,7 +1114,7 @@ func (x *UpsertAccessListMemberRequest) String() string { func (*UpsertAccessListMemberRequest) ProtoMessage() {} func (x *UpsertAccessListMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[19] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1078,7 +1127,7 @@ func (x *UpsertAccessListMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertAccessListMemberRequest.ProtoReflect.Descriptor instead. func (*UpsertAccessListMemberRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{19} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{20} } func (x *UpsertAccessListMemberRequest) GetMember() *Member { @@ -1088,6 +1137,56 @@ func (x *UpsertAccessListMemberRequest) GetMember() *Member { return nil } +// UpdateAccessListMemberRequest is the request for updating an access list +// member. +type UpdateAccessListMemberRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // member is the access list member to upsert. + Member *Member `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"` +} + +func (x *UpdateAccessListMemberRequest) Reset() { + *x = UpdateAccessListMemberRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateAccessListMemberRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAccessListMemberRequest) ProtoMessage() {} + +func (x *UpdateAccessListMemberRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAccessListMemberRequest.ProtoReflect.Descriptor instead. +func (*UpdateAccessListMemberRequest) Descriptor() ([]byte, []int) { + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{21} +} + +func (x *UpdateAccessListMemberRequest) GetMember() *Member { + if x != nil { + return x.Member + } + return nil +} + // DeleteAccessListMemberRequest is the request for deleting a member from an // access list. type DeleteAccessListMemberRequest struct { @@ -1104,7 +1203,7 @@ type DeleteAccessListMemberRequest struct { func (x *DeleteAccessListMemberRequest) Reset() { *x = DeleteAccessListMemberRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[20] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1117,7 +1216,7 @@ func (x *DeleteAccessListMemberRequest) String() string { func (*DeleteAccessListMemberRequest) ProtoMessage() {} func (x *DeleteAccessListMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[20] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1130,7 +1229,7 @@ func (x *DeleteAccessListMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAccessListMemberRequest.ProtoReflect.Descriptor instead. func (*DeleteAccessListMemberRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{20} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{22} } func (x *DeleteAccessListMemberRequest) GetAccessList() string { @@ -1161,7 +1260,7 @@ type DeleteAllAccessListMembersForAccessListRequest struct { func (x *DeleteAllAccessListMembersForAccessListRequest) Reset() { *x = DeleteAllAccessListMembersForAccessListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[21] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1174,7 +1273,7 @@ func (x *DeleteAllAccessListMembersForAccessListRequest) String() string { func (*DeleteAllAccessListMembersForAccessListRequest) ProtoMessage() {} func (x *DeleteAllAccessListMembersForAccessListRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[21] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1187,7 +1286,7 @@ func (x *DeleteAllAccessListMembersForAccessListRequest) ProtoReflect() protoref // Deprecated: Use DeleteAllAccessListMembersForAccessListRequest.ProtoReflect.Descriptor instead. func (*DeleteAllAccessListMembersForAccessListRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{21} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{23} } func (x *DeleteAllAccessListMembersForAccessListRequest) GetAccessList() string { @@ -1208,7 +1307,7 @@ type DeleteAllAccessListMembersRequest struct { func (x *DeleteAllAccessListMembersRequest) Reset() { *x = DeleteAllAccessListMembersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[22] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1221,7 +1320,7 @@ func (x *DeleteAllAccessListMembersRequest) String() string { func (*DeleteAllAccessListMembersRequest) ProtoMessage() {} func (x *DeleteAllAccessListMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[22] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1234,7 +1333,7 @@ func (x *DeleteAllAccessListMembersRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteAllAccessListMembersRequest.ProtoReflect.Descriptor instead. func (*DeleteAllAccessListMembersRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{22} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{24} } // ListAccessListReviewsRequest is the request for getting paginated access list @@ -1255,7 +1354,7 @@ type ListAccessListReviewsRequest struct { func (x *ListAccessListReviewsRequest) Reset() { *x = ListAccessListReviewsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[23] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1268,7 +1367,7 @@ func (x *ListAccessListReviewsRequest) String() string { func (*ListAccessListReviewsRequest) ProtoMessage() {} func (x *ListAccessListReviewsRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[23] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1281,7 +1380,7 @@ func (x *ListAccessListReviewsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAccessListReviewsRequest.ProtoReflect.Descriptor instead. func (*ListAccessListReviewsRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{23} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{25} } func (x *ListAccessListReviewsRequest) GetAccessList() string { @@ -1321,7 +1420,7 @@ type ListAccessListReviewsResponse struct { func (x *ListAccessListReviewsResponse) Reset() { *x = ListAccessListReviewsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[24] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1334,7 +1433,7 @@ func (x *ListAccessListReviewsResponse) String() string { func (*ListAccessListReviewsResponse) ProtoMessage() {} func (x *ListAccessListReviewsResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[24] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1347,7 +1446,7 @@ func (x *ListAccessListReviewsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAccessListReviewsResponse.ProtoReflect.Descriptor instead. func (*ListAccessListReviewsResponse) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{24} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{26} } func (x *ListAccessListReviewsResponse) GetReviews() []*Review { @@ -1380,7 +1479,7 @@ type ListAllAccessListReviewsRequest struct { func (x *ListAllAccessListReviewsRequest) Reset() { *x = ListAllAccessListReviewsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[25] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1393,7 +1492,7 @@ func (x *ListAllAccessListReviewsRequest) String() string { func (*ListAllAccessListReviewsRequest) ProtoMessage() {} func (x *ListAllAccessListReviewsRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[25] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1406,7 +1505,7 @@ func (x *ListAllAccessListReviewsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAllAccessListReviewsRequest.ProtoReflect.Descriptor instead. func (*ListAllAccessListReviewsRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{25} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{27} } func (x *ListAllAccessListReviewsRequest) GetPageSize() int32 { @@ -1439,7 +1538,7 @@ type ListAllAccessListReviewsResponse struct { func (x *ListAllAccessListReviewsResponse) Reset() { *x = ListAllAccessListReviewsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[26] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1452,7 +1551,7 @@ func (x *ListAllAccessListReviewsResponse) String() string { func (*ListAllAccessListReviewsResponse) ProtoMessage() {} func (x *ListAllAccessListReviewsResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[26] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1465,7 +1564,7 @@ func (x *ListAllAccessListReviewsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAllAccessListReviewsResponse.ProtoReflect.Descriptor instead. func (*ListAllAccessListReviewsResponse) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{26} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{28} } func (x *ListAllAccessListReviewsResponse) GetReviews() []*Review { @@ -1496,7 +1595,7 @@ type CreateAccessListReviewRequest struct { func (x *CreateAccessListReviewRequest) Reset() { *x = CreateAccessListReviewRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[27] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1509,7 +1608,7 @@ func (x *CreateAccessListReviewRequest) String() string { func (*CreateAccessListReviewRequest) ProtoMessage() {} func (x *CreateAccessListReviewRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[27] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1522,7 +1621,7 @@ func (x *CreateAccessListReviewRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAccessListReviewRequest.ProtoReflect.Descriptor instead. func (*CreateAccessListReviewRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{27} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{29} } func (x *CreateAccessListReviewRequest) GetReview() *Review { @@ -1548,7 +1647,7 @@ type CreateAccessListReviewResponse struct { func (x *CreateAccessListReviewResponse) Reset() { *x = CreateAccessListReviewResponse{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[28] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1561,7 +1660,7 @@ func (x *CreateAccessListReviewResponse) String() string { func (*CreateAccessListReviewResponse) ProtoMessage() {} func (x *CreateAccessListReviewResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[28] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1574,7 +1673,7 @@ func (x *CreateAccessListReviewResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAccessListReviewResponse.ProtoReflect.Descriptor instead. func (*CreateAccessListReviewResponse) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{28} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{30} } func (x *CreateAccessListReviewResponse) GetReviewName() string { @@ -1607,7 +1706,7 @@ type DeleteAccessListReviewRequest struct { func (x *DeleteAccessListReviewRequest) Reset() { *x = DeleteAccessListReviewRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[29] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1620,7 +1719,7 @@ func (x *DeleteAccessListReviewRequest) String() string { func (*DeleteAccessListReviewRequest) ProtoMessage() {} func (x *DeleteAccessListReviewRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[29] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1633,7 +1732,7 @@ func (x *DeleteAccessListReviewRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAccessListReviewRequest.ProtoReflect.Descriptor instead. func (*DeleteAccessListReviewRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{29} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{31} } func (x *DeleteAccessListReviewRequest) GetReviewName() string { @@ -1668,7 +1767,7 @@ type AccessRequestPromoteRequest struct { func (x *AccessRequestPromoteRequest) Reset() { *x = AccessRequestPromoteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[30] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1681,7 +1780,7 @@ func (x *AccessRequestPromoteRequest) String() string { func (*AccessRequestPromoteRequest) ProtoMessage() {} func (x *AccessRequestPromoteRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[30] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1694,7 +1793,7 @@ func (x *AccessRequestPromoteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AccessRequestPromoteRequest.ProtoReflect.Descriptor instead. func (*AccessRequestPromoteRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{30} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{32} } func (x *AccessRequestPromoteRequest) GetRequestId() string { @@ -1732,7 +1831,7 @@ type AccessRequestPromoteResponse struct { func (x *AccessRequestPromoteResponse) Reset() { *x = AccessRequestPromoteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[31] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1745,7 +1844,7 @@ func (x *AccessRequestPromoteResponse) String() string { func (*AccessRequestPromoteResponse) ProtoMessage() {} func (x *AccessRequestPromoteResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[31] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1758,7 +1857,7 @@ func (x *AccessRequestPromoteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AccessRequestPromoteResponse.ProtoReflect.Descriptor instead. func (*AccessRequestPromoteResponse) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{31} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{33} } func (x *AccessRequestPromoteResponse) GetAccessRequest() *types.AccessRequestV3 { @@ -1782,7 +1881,7 @@ type GetSuggestedAccessListsRequest struct { func (x *GetSuggestedAccessListsRequest) Reset() { *x = GetSuggestedAccessListsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[32] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1795,7 +1894,7 @@ func (x *GetSuggestedAccessListsRequest) String() string { func (*GetSuggestedAccessListsRequest) ProtoMessage() {} func (x *GetSuggestedAccessListsRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[32] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1808,7 +1907,7 @@ func (x *GetSuggestedAccessListsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSuggestedAccessListsRequest.ProtoReflect.Descriptor instead. func (*GetSuggestedAccessListsRequest) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{32} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{34} } func (x *GetSuggestedAccessListsRequest) GetAccessRequestId() string { @@ -1832,7 +1931,7 @@ type GetSuggestedAccessListsResponse struct { func (x *GetSuggestedAccessListsResponse) Reset() { *x = GetSuggestedAccessListsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[33] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1845,7 +1944,7 @@ func (x *GetSuggestedAccessListsResponse) String() string { func (*GetSuggestedAccessListsResponse) ProtoMessage() {} func (x *GetSuggestedAccessListsResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[33] + mi := &file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1858,7 +1957,7 @@ func (x *GetSuggestedAccessListsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSuggestedAccessListsResponse.ProtoReflect.Descriptor instead. func (*GetSuggestedAccessListsResponse) Descriptor() ([]byte, []int) { - return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{33} + return file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP(), []int{35} } func (x *GetSuggestedAccessListsResponse) GetAccessLists() []*AccessList { @@ -1914,6 +2013,12 @@ var file_teleport_accesslist_v1_accesslist_service_proto_rawDesc = []byte{ 0x32, 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x22, 0x5e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x2d, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, @@ -2001,275 +2106,294 @@ var file_teleport_accesslist_v1_accesslist_service_proto_rawDesc = []byte{ 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x06, - 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x57, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, - 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x36, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x04, 0x08, - 0x01, 0x10, 0x02, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, - 0x22, 0x7b, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, + 0x6d, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x78, 0x0a, - 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, - 0x0a, 0x07, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, - 0x07, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, - 0x78, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5d, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x61, + 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x51, + 0x0a, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x46, 0x6f, 0x72, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x36, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x0b, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x7b, 0x0a, 0x1c, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, - 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7b, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, - 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x72, 0x65, - 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, - 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x07, 0x72, 0x65, 0x76, - 0x69, 0x65, 0x77, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0x57, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x78, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x07, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x5d, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x7b, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x76, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x22, 0x85, 0x01, 0x0a, - 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x42, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, - 0x44, 0x61, 0x74, 0x65, 0x22, 0x6a, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x22, 0x7e, 0x0a, 0x1b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x28, - 0x0a, 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x22, 0x5d, 0x0a, 0x1c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3d, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x33, - 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x4c, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x68, 0x0a, - 0x1f, 0x47, 0x65, 0x74, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x45, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x32, 0xa7, 0x15, 0x0a, 0x11, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6f, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, - 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, - 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, - 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x73, 0x12, 0x2e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2f, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x10, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x74, 0x65, 0x6c, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x76, 0x69, 0x65, 0x77, 0x52, 0x07, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x57, 0x0a, 0x1d, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, + 0x06, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, + 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, + 0x65, 0x76, 0x69, 0x65, 0x77, 0x22, 0x85, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, + 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, + 0x65, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x65, 0x22, 0x6a, 0x0a, + 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x28, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x7e, 0x0a, 0x1b, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x1c, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x33, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x53, + 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x53, 0x75, 0x67, + 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, + 0x32, 0x81, 0x17, 0x0a, 0x11, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x74, 0x65, 0x6c, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x74, 0x65, 0x6c, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0d, 0x47, + 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x74, + 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, + 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5b, - 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x67, + 0x0a, 0x10, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x63, 0x0a, 0x14, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x12, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x35, 0x2e, 0x74, 0x65, + 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x74, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, - 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x34, - 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x18, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x37, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x38, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x32, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x6f, 0x0a, 0x16, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x12, 0x89, 0x01, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x46, - 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x2e, 0x74, - 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, - 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x46, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x6f, 0x0a, 0x1a, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x39, 0x2e, 0x74, 0x65, 0x6c, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x5b, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x96, 0x01, - 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x2e, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x63, 0x0a, + 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, - 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x74, 0x65, 0x6c, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x54, 0x6f, 0x52, 0x65, + 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, + 0x16, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, + 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, + 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8d, 0x01, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, 0x37, 0x2e, 0x74, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x37, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, - 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x6f, 0x0a, 0x16, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x6f, 0x0a, 0x16, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x6c, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x16, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x89, 0x01, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, + 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x46, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x6f, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x39, 0x2e, + 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, + 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x12, 0x81, 0x01, 0x0a, 0x14, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x12, 0x96, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x12, 0x3a, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x74, + 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, + 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x15, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, + 0x65, 0x77, 0x73, 0x12, 0x34, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, - 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x75, 0x67, 0x67, - 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, - 0x12, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x67, - 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x42, 0x58, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, - 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x8d, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x12, 0x37, 0x2e, + 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, + 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x87, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x35, 0x2e, 0x74, 0x65, + 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, + 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x16, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x76, 0x69, 0x65, 0x77, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x74, + 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, + 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x34, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, + 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x73, 0x12, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x74, 0x65, + 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x58, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, + 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x76, + 0x31, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x76, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2284,7 +2408,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_rawDescGZIP() []byte { return file_teleport_accesslist_v1_accesslist_service_proto_rawDescData } -var file_teleport_accesslist_v1_accesslist_service_proto_msgTypes = make([]protoimpl.MessageInfo, 34) +var file_teleport_accesslist_v1_accesslist_service_proto_msgTypes = make([]protoimpl.MessageInfo, 36) var file_teleport_accesslist_v1_accesslist_service_proto_goTypes = []interface{}{ (*GetAccessListsRequest)(nil), // 0: teleport.accesslist.v1.GetAccessListsRequest (*GetAccessListsResponse)(nil), // 1: teleport.accesslist.v1.GetAccessListsResponse @@ -2292,108 +2416,116 @@ var file_teleport_accesslist_v1_accesslist_service_proto_goTypes = []interface{} (*ListAccessListsResponse)(nil), // 3: teleport.accesslist.v1.ListAccessListsResponse (*GetAccessListRequest)(nil), // 4: teleport.accesslist.v1.GetAccessListRequest (*UpsertAccessListRequest)(nil), // 5: teleport.accesslist.v1.UpsertAccessListRequest - (*DeleteAccessListRequest)(nil), // 6: teleport.accesslist.v1.DeleteAccessListRequest - (*DeleteAllAccessListsRequest)(nil), // 7: teleport.accesslist.v1.DeleteAllAccessListsRequest - (*GetAccessListsToReviewRequest)(nil), // 8: teleport.accesslist.v1.GetAccessListsToReviewRequest - (*GetAccessListsToReviewResponse)(nil), // 9: teleport.accesslist.v1.GetAccessListsToReviewResponse - (*CountAccessListMembersRequest)(nil), // 10: teleport.accesslist.v1.CountAccessListMembersRequest - (*CountAccessListMembersResponse)(nil), // 11: teleport.accesslist.v1.CountAccessListMembersResponse - (*ListAccessListMembersRequest)(nil), // 12: teleport.accesslist.v1.ListAccessListMembersRequest - (*ListAccessListMembersResponse)(nil), // 13: teleport.accesslist.v1.ListAccessListMembersResponse - (*ListAllAccessListMembersRequest)(nil), // 14: teleport.accesslist.v1.ListAllAccessListMembersRequest - (*ListAllAccessListMembersResponse)(nil), // 15: teleport.accesslist.v1.ListAllAccessListMembersResponse - (*UpsertAccessListWithMembersRequest)(nil), // 16: teleport.accesslist.v1.UpsertAccessListWithMembersRequest - (*UpsertAccessListWithMembersResponse)(nil), // 17: teleport.accesslist.v1.UpsertAccessListWithMembersResponse - (*GetAccessListMemberRequest)(nil), // 18: teleport.accesslist.v1.GetAccessListMemberRequest - (*UpsertAccessListMemberRequest)(nil), // 19: teleport.accesslist.v1.UpsertAccessListMemberRequest - (*DeleteAccessListMemberRequest)(nil), // 20: teleport.accesslist.v1.DeleteAccessListMemberRequest - (*DeleteAllAccessListMembersForAccessListRequest)(nil), // 21: teleport.accesslist.v1.DeleteAllAccessListMembersForAccessListRequest - (*DeleteAllAccessListMembersRequest)(nil), // 22: teleport.accesslist.v1.DeleteAllAccessListMembersRequest - (*ListAccessListReviewsRequest)(nil), // 23: teleport.accesslist.v1.ListAccessListReviewsRequest - (*ListAccessListReviewsResponse)(nil), // 24: teleport.accesslist.v1.ListAccessListReviewsResponse - (*ListAllAccessListReviewsRequest)(nil), // 25: teleport.accesslist.v1.ListAllAccessListReviewsRequest - (*ListAllAccessListReviewsResponse)(nil), // 26: teleport.accesslist.v1.ListAllAccessListReviewsResponse - (*CreateAccessListReviewRequest)(nil), // 27: teleport.accesslist.v1.CreateAccessListReviewRequest - (*CreateAccessListReviewResponse)(nil), // 28: teleport.accesslist.v1.CreateAccessListReviewResponse - (*DeleteAccessListReviewRequest)(nil), // 29: teleport.accesslist.v1.DeleteAccessListReviewRequest - (*AccessRequestPromoteRequest)(nil), // 30: teleport.accesslist.v1.AccessRequestPromoteRequest - (*AccessRequestPromoteResponse)(nil), // 31: teleport.accesslist.v1.AccessRequestPromoteResponse - (*GetSuggestedAccessListsRequest)(nil), // 32: teleport.accesslist.v1.GetSuggestedAccessListsRequest - (*GetSuggestedAccessListsResponse)(nil), // 33: teleport.accesslist.v1.GetSuggestedAccessListsResponse - (*AccessList)(nil), // 34: teleport.accesslist.v1.AccessList - (*Member)(nil), // 35: teleport.accesslist.v1.Member - (*Review)(nil), // 36: teleport.accesslist.v1.Review - (*timestamppb.Timestamp)(nil), // 37: google.protobuf.Timestamp - (*types.AccessRequestV3)(nil), // 38: types.AccessRequestV3 - (*emptypb.Empty)(nil), // 39: google.protobuf.Empty + (*UpdateAccessListRequest)(nil), // 6: teleport.accesslist.v1.UpdateAccessListRequest + (*DeleteAccessListRequest)(nil), // 7: teleport.accesslist.v1.DeleteAccessListRequest + (*DeleteAllAccessListsRequest)(nil), // 8: teleport.accesslist.v1.DeleteAllAccessListsRequest + (*GetAccessListsToReviewRequest)(nil), // 9: teleport.accesslist.v1.GetAccessListsToReviewRequest + (*GetAccessListsToReviewResponse)(nil), // 10: teleport.accesslist.v1.GetAccessListsToReviewResponse + (*CountAccessListMembersRequest)(nil), // 11: teleport.accesslist.v1.CountAccessListMembersRequest + (*CountAccessListMembersResponse)(nil), // 12: teleport.accesslist.v1.CountAccessListMembersResponse + (*ListAccessListMembersRequest)(nil), // 13: teleport.accesslist.v1.ListAccessListMembersRequest + (*ListAccessListMembersResponse)(nil), // 14: teleport.accesslist.v1.ListAccessListMembersResponse + (*ListAllAccessListMembersRequest)(nil), // 15: teleport.accesslist.v1.ListAllAccessListMembersRequest + (*ListAllAccessListMembersResponse)(nil), // 16: teleport.accesslist.v1.ListAllAccessListMembersResponse + (*UpsertAccessListWithMembersRequest)(nil), // 17: teleport.accesslist.v1.UpsertAccessListWithMembersRequest + (*UpsertAccessListWithMembersResponse)(nil), // 18: teleport.accesslist.v1.UpsertAccessListWithMembersResponse + (*GetAccessListMemberRequest)(nil), // 19: teleport.accesslist.v1.GetAccessListMemberRequest + (*UpsertAccessListMemberRequest)(nil), // 20: teleport.accesslist.v1.UpsertAccessListMemberRequest + (*UpdateAccessListMemberRequest)(nil), // 21: teleport.accesslist.v1.UpdateAccessListMemberRequest + (*DeleteAccessListMemberRequest)(nil), // 22: teleport.accesslist.v1.DeleteAccessListMemberRequest + (*DeleteAllAccessListMembersForAccessListRequest)(nil), // 23: teleport.accesslist.v1.DeleteAllAccessListMembersForAccessListRequest + (*DeleteAllAccessListMembersRequest)(nil), // 24: teleport.accesslist.v1.DeleteAllAccessListMembersRequest + (*ListAccessListReviewsRequest)(nil), // 25: teleport.accesslist.v1.ListAccessListReviewsRequest + (*ListAccessListReviewsResponse)(nil), // 26: teleport.accesslist.v1.ListAccessListReviewsResponse + (*ListAllAccessListReviewsRequest)(nil), // 27: teleport.accesslist.v1.ListAllAccessListReviewsRequest + (*ListAllAccessListReviewsResponse)(nil), // 28: teleport.accesslist.v1.ListAllAccessListReviewsResponse + (*CreateAccessListReviewRequest)(nil), // 29: teleport.accesslist.v1.CreateAccessListReviewRequest + (*CreateAccessListReviewResponse)(nil), // 30: teleport.accesslist.v1.CreateAccessListReviewResponse + (*DeleteAccessListReviewRequest)(nil), // 31: teleport.accesslist.v1.DeleteAccessListReviewRequest + (*AccessRequestPromoteRequest)(nil), // 32: teleport.accesslist.v1.AccessRequestPromoteRequest + (*AccessRequestPromoteResponse)(nil), // 33: teleport.accesslist.v1.AccessRequestPromoteResponse + (*GetSuggestedAccessListsRequest)(nil), // 34: teleport.accesslist.v1.GetSuggestedAccessListsRequest + (*GetSuggestedAccessListsResponse)(nil), // 35: teleport.accesslist.v1.GetSuggestedAccessListsResponse + (*AccessList)(nil), // 36: teleport.accesslist.v1.AccessList + (*Member)(nil), // 37: teleport.accesslist.v1.Member + (*Review)(nil), // 38: teleport.accesslist.v1.Review + (*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp + (*types.AccessRequestV3)(nil), // 40: types.AccessRequestV3 + (*emptypb.Empty)(nil), // 41: google.protobuf.Empty } var file_teleport_accesslist_v1_accesslist_service_proto_depIdxs = []int32{ - 34, // 0: teleport.accesslist.v1.GetAccessListsResponse.access_lists:type_name -> teleport.accesslist.v1.AccessList - 34, // 1: teleport.accesslist.v1.ListAccessListsResponse.access_lists:type_name -> teleport.accesslist.v1.AccessList - 34, // 2: teleport.accesslist.v1.UpsertAccessListRequest.access_list:type_name -> teleport.accesslist.v1.AccessList - 34, // 3: teleport.accesslist.v1.GetAccessListsToReviewResponse.access_lists:type_name -> teleport.accesslist.v1.AccessList - 35, // 4: teleport.accesslist.v1.ListAccessListMembersResponse.members:type_name -> teleport.accesslist.v1.Member - 35, // 5: teleport.accesslist.v1.ListAllAccessListMembersResponse.members:type_name -> teleport.accesslist.v1.Member - 34, // 6: teleport.accesslist.v1.UpsertAccessListWithMembersRequest.access_list:type_name -> teleport.accesslist.v1.AccessList - 35, // 7: teleport.accesslist.v1.UpsertAccessListWithMembersRequest.members:type_name -> teleport.accesslist.v1.Member - 34, // 8: teleport.accesslist.v1.UpsertAccessListWithMembersResponse.access_list:type_name -> teleport.accesslist.v1.AccessList - 35, // 9: teleport.accesslist.v1.UpsertAccessListWithMembersResponse.members:type_name -> teleport.accesslist.v1.Member - 35, // 10: teleport.accesslist.v1.UpsertAccessListMemberRequest.member:type_name -> teleport.accesslist.v1.Member - 36, // 11: teleport.accesslist.v1.ListAccessListReviewsResponse.reviews:type_name -> teleport.accesslist.v1.Review - 36, // 12: teleport.accesslist.v1.ListAllAccessListReviewsResponse.reviews:type_name -> teleport.accesslist.v1.Review - 36, // 13: teleport.accesslist.v1.CreateAccessListReviewRequest.review:type_name -> teleport.accesslist.v1.Review - 37, // 14: teleport.accesslist.v1.CreateAccessListReviewResponse.next_audit_date:type_name -> google.protobuf.Timestamp - 38, // 15: teleport.accesslist.v1.AccessRequestPromoteResponse.access_request:type_name -> types.AccessRequestV3 - 34, // 16: teleport.accesslist.v1.GetSuggestedAccessListsResponse.access_lists:type_name -> teleport.accesslist.v1.AccessList - 0, // 17: teleport.accesslist.v1.AccessListService.GetAccessLists:input_type -> teleport.accesslist.v1.GetAccessListsRequest - 2, // 18: teleport.accesslist.v1.AccessListService.ListAccessLists:input_type -> teleport.accesslist.v1.ListAccessListsRequest - 4, // 19: teleport.accesslist.v1.AccessListService.GetAccessList:input_type -> teleport.accesslist.v1.GetAccessListRequest - 5, // 20: teleport.accesslist.v1.AccessListService.UpsertAccessList:input_type -> teleport.accesslist.v1.UpsertAccessListRequest - 6, // 21: teleport.accesslist.v1.AccessListService.DeleteAccessList:input_type -> teleport.accesslist.v1.DeleteAccessListRequest - 7, // 22: teleport.accesslist.v1.AccessListService.DeleteAllAccessLists:input_type -> teleport.accesslist.v1.DeleteAllAccessListsRequest - 8, // 23: teleport.accesslist.v1.AccessListService.GetAccessListsToReview:input_type -> teleport.accesslist.v1.GetAccessListsToReviewRequest - 10, // 24: teleport.accesslist.v1.AccessListService.CountAccessListMembers:input_type -> teleport.accesslist.v1.CountAccessListMembersRequest - 12, // 25: teleport.accesslist.v1.AccessListService.ListAccessListMembers:input_type -> teleport.accesslist.v1.ListAccessListMembersRequest - 14, // 26: teleport.accesslist.v1.AccessListService.ListAllAccessListMembers:input_type -> teleport.accesslist.v1.ListAllAccessListMembersRequest - 18, // 27: teleport.accesslist.v1.AccessListService.GetAccessListMember:input_type -> teleport.accesslist.v1.GetAccessListMemberRequest - 19, // 28: teleport.accesslist.v1.AccessListService.UpsertAccessListMember:input_type -> teleport.accesslist.v1.UpsertAccessListMemberRequest - 20, // 29: teleport.accesslist.v1.AccessListService.DeleteAccessListMember:input_type -> teleport.accesslist.v1.DeleteAccessListMemberRequest - 21, // 30: teleport.accesslist.v1.AccessListService.DeleteAllAccessListMembersForAccessList:input_type -> teleport.accesslist.v1.DeleteAllAccessListMembersForAccessListRequest - 22, // 31: teleport.accesslist.v1.AccessListService.DeleteAllAccessListMembers:input_type -> teleport.accesslist.v1.DeleteAllAccessListMembersRequest - 16, // 32: teleport.accesslist.v1.AccessListService.UpsertAccessListWithMembers:input_type -> teleport.accesslist.v1.UpsertAccessListWithMembersRequest - 23, // 33: teleport.accesslist.v1.AccessListService.ListAccessListReviews:input_type -> teleport.accesslist.v1.ListAccessListReviewsRequest - 25, // 34: teleport.accesslist.v1.AccessListService.ListAllAccessListReviews:input_type -> teleport.accesslist.v1.ListAllAccessListReviewsRequest - 27, // 35: teleport.accesslist.v1.AccessListService.CreateAccessListReview:input_type -> teleport.accesslist.v1.CreateAccessListReviewRequest - 29, // 36: teleport.accesslist.v1.AccessListService.DeleteAccessListReview:input_type -> teleport.accesslist.v1.DeleteAccessListReviewRequest - 30, // 37: teleport.accesslist.v1.AccessListService.AccessRequestPromote:input_type -> teleport.accesslist.v1.AccessRequestPromoteRequest - 32, // 38: teleport.accesslist.v1.AccessListService.GetSuggestedAccessLists:input_type -> teleport.accesslist.v1.GetSuggestedAccessListsRequest - 1, // 39: teleport.accesslist.v1.AccessListService.GetAccessLists:output_type -> teleport.accesslist.v1.GetAccessListsResponse - 3, // 40: teleport.accesslist.v1.AccessListService.ListAccessLists:output_type -> teleport.accesslist.v1.ListAccessListsResponse - 34, // 41: teleport.accesslist.v1.AccessListService.GetAccessList:output_type -> teleport.accesslist.v1.AccessList - 34, // 42: teleport.accesslist.v1.AccessListService.UpsertAccessList:output_type -> teleport.accesslist.v1.AccessList - 39, // 43: teleport.accesslist.v1.AccessListService.DeleteAccessList:output_type -> google.protobuf.Empty - 39, // 44: teleport.accesslist.v1.AccessListService.DeleteAllAccessLists:output_type -> google.protobuf.Empty - 9, // 45: teleport.accesslist.v1.AccessListService.GetAccessListsToReview:output_type -> teleport.accesslist.v1.GetAccessListsToReviewResponse - 11, // 46: teleport.accesslist.v1.AccessListService.CountAccessListMembers:output_type -> teleport.accesslist.v1.CountAccessListMembersResponse - 13, // 47: teleport.accesslist.v1.AccessListService.ListAccessListMembers:output_type -> teleport.accesslist.v1.ListAccessListMembersResponse - 15, // 48: teleport.accesslist.v1.AccessListService.ListAllAccessListMembers:output_type -> teleport.accesslist.v1.ListAllAccessListMembersResponse - 35, // 49: teleport.accesslist.v1.AccessListService.GetAccessListMember:output_type -> teleport.accesslist.v1.Member - 35, // 50: teleport.accesslist.v1.AccessListService.UpsertAccessListMember:output_type -> teleport.accesslist.v1.Member - 39, // 51: teleport.accesslist.v1.AccessListService.DeleteAccessListMember:output_type -> google.protobuf.Empty - 39, // 52: teleport.accesslist.v1.AccessListService.DeleteAllAccessListMembersForAccessList:output_type -> google.protobuf.Empty - 39, // 53: teleport.accesslist.v1.AccessListService.DeleteAllAccessListMembers:output_type -> google.protobuf.Empty - 17, // 54: teleport.accesslist.v1.AccessListService.UpsertAccessListWithMembers:output_type -> teleport.accesslist.v1.UpsertAccessListWithMembersResponse - 24, // 55: teleport.accesslist.v1.AccessListService.ListAccessListReviews:output_type -> teleport.accesslist.v1.ListAccessListReviewsResponse - 26, // 56: teleport.accesslist.v1.AccessListService.ListAllAccessListReviews:output_type -> teleport.accesslist.v1.ListAllAccessListReviewsResponse - 28, // 57: teleport.accesslist.v1.AccessListService.CreateAccessListReview:output_type -> teleport.accesslist.v1.CreateAccessListReviewResponse - 39, // 58: teleport.accesslist.v1.AccessListService.DeleteAccessListReview:output_type -> google.protobuf.Empty - 31, // 59: teleport.accesslist.v1.AccessListService.AccessRequestPromote:output_type -> teleport.accesslist.v1.AccessRequestPromoteResponse - 33, // 60: teleport.accesslist.v1.AccessListService.GetSuggestedAccessLists:output_type -> teleport.accesslist.v1.GetSuggestedAccessListsResponse - 39, // [39:61] is the sub-list for method output_type - 17, // [17:39] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name + 36, // 0: teleport.accesslist.v1.GetAccessListsResponse.access_lists:type_name -> teleport.accesslist.v1.AccessList + 36, // 1: teleport.accesslist.v1.ListAccessListsResponse.access_lists:type_name -> teleport.accesslist.v1.AccessList + 36, // 2: teleport.accesslist.v1.UpsertAccessListRequest.access_list:type_name -> teleport.accesslist.v1.AccessList + 36, // 3: teleport.accesslist.v1.UpdateAccessListRequest.access_list:type_name -> teleport.accesslist.v1.AccessList + 36, // 4: teleport.accesslist.v1.GetAccessListsToReviewResponse.access_lists:type_name -> teleport.accesslist.v1.AccessList + 37, // 5: teleport.accesslist.v1.ListAccessListMembersResponse.members:type_name -> teleport.accesslist.v1.Member + 37, // 6: teleport.accesslist.v1.ListAllAccessListMembersResponse.members:type_name -> teleport.accesslist.v1.Member + 36, // 7: teleport.accesslist.v1.UpsertAccessListWithMembersRequest.access_list:type_name -> teleport.accesslist.v1.AccessList + 37, // 8: teleport.accesslist.v1.UpsertAccessListWithMembersRequest.members:type_name -> teleport.accesslist.v1.Member + 36, // 9: teleport.accesslist.v1.UpsertAccessListWithMembersResponse.access_list:type_name -> teleport.accesslist.v1.AccessList + 37, // 10: teleport.accesslist.v1.UpsertAccessListWithMembersResponse.members:type_name -> teleport.accesslist.v1.Member + 37, // 11: teleport.accesslist.v1.UpsertAccessListMemberRequest.member:type_name -> teleport.accesslist.v1.Member + 37, // 12: teleport.accesslist.v1.UpdateAccessListMemberRequest.member:type_name -> teleport.accesslist.v1.Member + 38, // 13: teleport.accesslist.v1.ListAccessListReviewsResponse.reviews:type_name -> teleport.accesslist.v1.Review + 38, // 14: teleport.accesslist.v1.ListAllAccessListReviewsResponse.reviews:type_name -> teleport.accesslist.v1.Review + 38, // 15: teleport.accesslist.v1.CreateAccessListReviewRequest.review:type_name -> teleport.accesslist.v1.Review + 39, // 16: teleport.accesslist.v1.CreateAccessListReviewResponse.next_audit_date:type_name -> google.protobuf.Timestamp + 40, // 17: teleport.accesslist.v1.AccessRequestPromoteResponse.access_request:type_name -> types.AccessRequestV3 + 36, // 18: teleport.accesslist.v1.GetSuggestedAccessListsResponse.access_lists:type_name -> teleport.accesslist.v1.AccessList + 0, // 19: teleport.accesslist.v1.AccessListService.GetAccessLists:input_type -> teleport.accesslist.v1.GetAccessListsRequest + 2, // 20: teleport.accesslist.v1.AccessListService.ListAccessLists:input_type -> teleport.accesslist.v1.ListAccessListsRequest + 4, // 21: teleport.accesslist.v1.AccessListService.GetAccessList:input_type -> teleport.accesslist.v1.GetAccessListRequest + 5, // 22: teleport.accesslist.v1.AccessListService.UpsertAccessList:input_type -> teleport.accesslist.v1.UpsertAccessListRequest + 6, // 23: teleport.accesslist.v1.AccessListService.UpdateAccessList:input_type -> teleport.accesslist.v1.UpdateAccessListRequest + 7, // 24: teleport.accesslist.v1.AccessListService.DeleteAccessList:input_type -> teleport.accesslist.v1.DeleteAccessListRequest + 8, // 25: teleport.accesslist.v1.AccessListService.DeleteAllAccessLists:input_type -> teleport.accesslist.v1.DeleteAllAccessListsRequest + 9, // 26: teleport.accesslist.v1.AccessListService.GetAccessListsToReview:input_type -> teleport.accesslist.v1.GetAccessListsToReviewRequest + 11, // 27: teleport.accesslist.v1.AccessListService.CountAccessListMembers:input_type -> teleport.accesslist.v1.CountAccessListMembersRequest + 13, // 28: teleport.accesslist.v1.AccessListService.ListAccessListMembers:input_type -> teleport.accesslist.v1.ListAccessListMembersRequest + 15, // 29: teleport.accesslist.v1.AccessListService.ListAllAccessListMembers:input_type -> teleport.accesslist.v1.ListAllAccessListMembersRequest + 19, // 30: teleport.accesslist.v1.AccessListService.GetAccessListMember:input_type -> teleport.accesslist.v1.GetAccessListMemberRequest + 20, // 31: teleport.accesslist.v1.AccessListService.UpsertAccessListMember:input_type -> teleport.accesslist.v1.UpsertAccessListMemberRequest + 21, // 32: teleport.accesslist.v1.AccessListService.UpdateAccessListMember:input_type -> teleport.accesslist.v1.UpdateAccessListMemberRequest + 22, // 33: teleport.accesslist.v1.AccessListService.DeleteAccessListMember:input_type -> teleport.accesslist.v1.DeleteAccessListMemberRequest + 23, // 34: teleport.accesslist.v1.AccessListService.DeleteAllAccessListMembersForAccessList:input_type -> teleport.accesslist.v1.DeleteAllAccessListMembersForAccessListRequest + 24, // 35: teleport.accesslist.v1.AccessListService.DeleteAllAccessListMembers:input_type -> teleport.accesslist.v1.DeleteAllAccessListMembersRequest + 17, // 36: teleport.accesslist.v1.AccessListService.UpsertAccessListWithMembers:input_type -> teleport.accesslist.v1.UpsertAccessListWithMembersRequest + 25, // 37: teleport.accesslist.v1.AccessListService.ListAccessListReviews:input_type -> teleport.accesslist.v1.ListAccessListReviewsRequest + 27, // 38: teleport.accesslist.v1.AccessListService.ListAllAccessListReviews:input_type -> teleport.accesslist.v1.ListAllAccessListReviewsRequest + 29, // 39: teleport.accesslist.v1.AccessListService.CreateAccessListReview:input_type -> teleport.accesslist.v1.CreateAccessListReviewRequest + 31, // 40: teleport.accesslist.v1.AccessListService.DeleteAccessListReview:input_type -> teleport.accesslist.v1.DeleteAccessListReviewRequest + 32, // 41: teleport.accesslist.v1.AccessListService.AccessRequestPromote:input_type -> teleport.accesslist.v1.AccessRequestPromoteRequest + 34, // 42: teleport.accesslist.v1.AccessListService.GetSuggestedAccessLists:input_type -> teleport.accesslist.v1.GetSuggestedAccessListsRequest + 1, // 43: teleport.accesslist.v1.AccessListService.GetAccessLists:output_type -> teleport.accesslist.v1.GetAccessListsResponse + 3, // 44: teleport.accesslist.v1.AccessListService.ListAccessLists:output_type -> teleport.accesslist.v1.ListAccessListsResponse + 36, // 45: teleport.accesslist.v1.AccessListService.GetAccessList:output_type -> teleport.accesslist.v1.AccessList + 36, // 46: teleport.accesslist.v1.AccessListService.UpsertAccessList:output_type -> teleport.accesslist.v1.AccessList + 36, // 47: teleport.accesslist.v1.AccessListService.UpdateAccessList:output_type -> teleport.accesslist.v1.AccessList + 41, // 48: teleport.accesslist.v1.AccessListService.DeleteAccessList:output_type -> google.protobuf.Empty + 41, // 49: teleport.accesslist.v1.AccessListService.DeleteAllAccessLists:output_type -> google.protobuf.Empty + 10, // 50: teleport.accesslist.v1.AccessListService.GetAccessListsToReview:output_type -> teleport.accesslist.v1.GetAccessListsToReviewResponse + 12, // 51: teleport.accesslist.v1.AccessListService.CountAccessListMembers:output_type -> teleport.accesslist.v1.CountAccessListMembersResponse + 14, // 52: teleport.accesslist.v1.AccessListService.ListAccessListMembers:output_type -> teleport.accesslist.v1.ListAccessListMembersResponse + 16, // 53: teleport.accesslist.v1.AccessListService.ListAllAccessListMembers:output_type -> teleport.accesslist.v1.ListAllAccessListMembersResponse + 37, // 54: teleport.accesslist.v1.AccessListService.GetAccessListMember:output_type -> teleport.accesslist.v1.Member + 37, // 55: teleport.accesslist.v1.AccessListService.UpsertAccessListMember:output_type -> teleport.accesslist.v1.Member + 37, // 56: teleport.accesslist.v1.AccessListService.UpdateAccessListMember:output_type -> teleport.accesslist.v1.Member + 41, // 57: teleport.accesslist.v1.AccessListService.DeleteAccessListMember:output_type -> google.protobuf.Empty + 41, // 58: teleport.accesslist.v1.AccessListService.DeleteAllAccessListMembersForAccessList:output_type -> google.protobuf.Empty + 41, // 59: teleport.accesslist.v1.AccessListService.DeleteAllAccessListMembers:output_type -> google.protobuf.Empty + 18, // 60: teleport.accesslist.v1.AccessListService.UpsertAccessListWithMembers:output_type -> teleport.accesslist.v1.UpsertAccessListWithMembersResponse + 26, // 61: teleport.accesslist.v1.AccessListService.ListAccessListReviews:output_type -> teleport.accesslist.v1.ListAccessListReviewsResponse + 28, // 62: teleport.accesslist.v1.AccessListService.ListAllAccessListReviews:output_type -> teleport.accesslist.v1.ListAllAccessListReviewsResponse + 30, // 63: teleport.accesslist.v1.AccessListService.CreateAccessListReview:output_type -> teleport.accesslist.v1.CreateAccessListReviewResponse + 41, // 64: teleport.accesslist.v1.AccessListService.DeleteAccessListReview:output_type -> google.protobuf.Empty + 33, // 65: teleport.accesslist.v1.AccessListService.AccessRequestPromote:output_type -> teleport.accesslist.v1.AccessRequestPromoteResponse + 35, // 66: teleport.accesslist.v1.AccessListService.GetSuggestedAccessLists:output_type -> teleport.accesslist.v1.GetSuggestedAccessListsResponse + 43, // [43:67] is the sub-list for method output_type + 19, // [19:43] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_teleport_accesslist_v1_accesslist_service_proto_init() } @@ -2476,7 +2608,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAccessListRequest); i { + switch v := v.(*UpdateAccessListRequest); i { case 0: return &v.state case 1: @@ -2488,7 +2620,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAllAccessListsRequest); i { + switch v := v.(*DeleteAccessListRequest); i { case 0: return &v.state case 1: @@ -2500,7 +2632,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAccessListsToReviewRequest); i { + switch v := v.(*DeleteAllAccessListsRequest); i { case 0: return &v.state case 1: @@ -2512,7 +2644,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAccessListsToReviewResponse); i { + switch v := v.(*GetAccessListsToReviewRequest); i { case 0: return &v.state case 1: @@ -2524,7 +2656,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CountAccessListMembersRequest); i { + switch v := v.(*GetAccessListsToReviewResponse); i { case 0: return &v.state case 1: @@ -2536,7 +2668,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CountAccessListMembersResponse); i { + switch v := v.(*CountAccessListMembersRequest); i { case 0: return &v.state case 1: @@ -2548,7 +2680,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAccessListMembersRequest); i { + switch v := v.(*CountAccessListMembersResponse); i { case 0: return &v.state case 1: @@ -2560,7 +2692,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAccessListMembersResponse); i { + switch v := v.(*ListAccessListMembersRequest); i { case 0: return &v.state case 1: @@ -2572,7 +2704,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAllAccessListMembersRequest); i { + switch v := v.(*ListAccessListMembersResponse); i { case 0: return &v.state case 1: @@ -2584,7 +2716,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAllAccessListMembersResponse); i { + switch v := v.(*ListAllAccessListMembersRequest); i { case 0: return &v.state case 1: @@ -2596,7 +2728,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertAccessListWithMembersRequest); i { + switch v := v.(*ListAllAccessListMembersResponse); i { case 0: return &v.state case 1: @@ -2608,7 +2740,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertAccessListWithMembersResponse); i { + switch v := v.(*UpsertAccessListWithMembersRequest); i { case 0: return &v.state case 1: @@ -2620,7 +2752,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAccessListMemberRequest); i { + switch v := v.(*UpsertAccessListWithMembersResponse); i { case 0: return &v.state case 1: @@ -2632,7 +2764,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertAccessListMemberRequest); i { + switch v := v.(*GetAccessListMemberRequest); i { case 0: return &v.state case 1: @@ -2644,7 +2776,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAccessListMemberRequest); i { + switch v := v.(*UpsertAccessListMemberRequest); i { case 0: return &v.state case 1: @@ -2656,7 +2788,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAllAccessListMembersForAccessListRequest); i { + switch v := v.(*UpdateAccessListMemberRequest); i { case 0: return &v.state case 1: @@ -2668,7 +2800,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAllAccessListMembersRequest); i { + switch v := v.(*DeleteAccessListMemberRequest); i { case 0: return &v.state case 1: @@ -2680,7 +2812,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAccessListReviewsRequest); i { + switch v := v.(*DeleteAllAccessListMembersForAccessListRequest); i { case 0: return &v.state case 1: @@ -2692,7 +2824,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAccessListReviewsResponse); i { + switch v := v.(*DeleteAllAccessListMembersRequest); i { case 0: return &v.state case 1: @@ -2704,7 +2836,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAllAccessListReviewsRequest); i { + switch v := v.(*ListAccessListReviewsRequest); i { case 0: return &v.state case 1: @@ -2716,7 +2848,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAllAccessListReviewsResponse); i { + switch v := v.(*ListAccessListReviewsResponse); i { case 0: return &v.state case 1: @@ -2728,7 +2860,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAccessListReviewRequest); i { + switch v := v.(*ListAllAccessListReviewsRequest); i { case 0: return &v.state case 1: @@ -2740,7 +2872,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAccessListReviewResponse); i { + switch v := v.(*ListAllAccessListReviewsResponse); i { case 0: return &v.state case 1: @@ -2752,7 +2884,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAccessListReviewRequest); i { + switch v := v.(*CreateAccessListReviewRequest); i { case 0: return &v.state case 1: @@ -2764,7 +2896,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccessRequestPromoteRequest); i { + switch v := v.(*CreateAccessListReviewResponse); i { case 0: return &v.state case 1: @@ -2776,7 +2908,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccessRequestPromoteResponse); i { + switch v := v.(*DeleteAccessListReviewRequest); i { case 0: return &v.state case 1: @@ -2788,7 +2920,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSuggestedAccessListsRequest); i { + switch v := v.(*AccessRequestPromoteRequest); i { case 0: return &v.state case 1: @@ -2800,6 +2932,30 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { } } file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessRequestPromoteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSuggestedAccessListsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_accesslist_v1_accesslist_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSuggestedAccessListsResponse); i { case 0: return &v.state @@ -2818,7 +2974,7 @@ func file_teleport_accesslist_v1_accesslist_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_teleport_accesslist_v1_accesslist_service_proto_rawDesc, NumEnums: 0, - NumMessages: 34, + NumMessages: 36, NumExtensions: 0, NumServices: 1, }, diff --git a/api/gen/proto/go/teleport/accesslist/v1/accesslist_service_grpc.pb.go b/api/gen/proto/go/teleport/accesslist/v1/accesslist_service_grpc.pb.go index 44d2df20e00df..d9419c95fbc0c 100644 --- a/api/gen/proto/go/teleport/accesslist/v1/accesslist_service_grpc.pb.go +++ b/api/gen/proto/go/teleport/accesslist/v1/accesslist_service_grpc.pb.go @@ -38,6 +38,7 @@ const ( AccessListService_ListAccessLists_FullMethodName = "/teleport.accesslist.v1.AccessListService/ListAccessLists" AccessListService_GetAccessList_FullMethodName = "/teleport.accesslist.v1.AccessListService/GetAccessList" AccessListService_UpsertAccessList_FullMethodName = "/teleport.accesslist.v1.AccessListService/UpsertAccessList" + AccessListService_UpdateAccessList_FullMethodName = "/teleport.accesslist.v1.AccessListService/UpdateAccessList" AccessListService_DeleteAccessList_FullMethodName = "/teleport.accesslist.v1.AccessListService/DeleteAccessList" AccessListService_DeleteAllAccessLists_FullMethodName = "/teleport.accesslist.v1.AccessListService/DeleteAllAccessLists" AccessListService_GetAccessListsToReview_FullMethodName = "/teleport.accesslist.v1.AccessListService/GetAccessListsToReview" @@ -46,6 +47,7 @@ const ( AccessListService_ListAllAccessListMembers_FullMethodName = "/teleport.accesslist.v1.AccessListService/ListAllAccessListMembers" AccessListService_GetAccessListMember_FullMethodName = "/teleport.accesslist.v1.AccessListService/GetAccessListMember" AccessListService_UpsertAccessListMember_FullMethodName = "/teleport.accesslist.v1.AccessListService/UpsertAccessListMember" + AccessListService_UpdateAccessListMember_FullMethodName = "/teleport.accesslist.v1.AccessListService/UpdateAccessListMember" AccessListService_DeleteAccessListMember_FullMethodName = "/teleport.accesslist.v1.AccessListService/DeleteAccessListMember" AccessListService_DeleteAllAccessListMembersForAccessList_FullMethodName = "/teleport.accesslist.v1.AccessListService/DeleteAllAccessListMembersForAccessList" AccessListService_DeleteAllAccessListMembers_FullMethodName = "/teleport.accesslist.v1.AccessListService/DeleteAllAccessListMembers" @@ -70,6 +72,8 @@ type AccessListServiceClient interface { GetAccessList(ctx context.Context, in *GetAccessListRequest, opts ...grpc.CallOption) (*AccessList, error) // UpsertAccessList creates or updates an access list resource. UpsertAccessList(ctx context.Context, in *UpsertAccessListRequest, opts ...grpc.CallOption) (*AccessList, error) + // UpdateAccessList updates an access list resource. + UpdateAccessList(ctx context.Context, in *UpdateAccessListRequest, opts ...grpc.CallOption) (*AccessList, error) // DeleteAccessList hard deletes the specified access list resource. DeleteAccessList(ctx context.Context, in *DeleteAccessListRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // DeleteAllAccessLists hard deletes all access lists. @@ -89,6 +93,8 @@ type AccessListServiceClient interface { GetAccessListMember(ctx context.Context, in *GetAccessListMemberRequest, opts ...grpc.CallOption) (*Member, error) // UpsertAccessListMember creates or updates an access list member resource. UpsertAccessListMember(ctx context.Context, in *UpsertAccessListMemberRequest, opts ...grpc.CallOption) (*Member, error) + // UpdateAccessListMember conditionally updates an access list member resource. + UpdateAccessListMember(ctx context.Context, in *UpdateAccessListMemberRequest, opts ...grpc.CallOption) (*Member, error) // DeleteAccessListMember hard deletes the specified access list member // resource. DeleteAccessListMember(ctx context.Context, in *DeleteAccessListMemberRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) @@ -163,6 +169,15 @@ func (c *accessListServiceClient) UpsertAccessList(ctx context.Context, in *Upse return out, nil } +func (c *accessListServiceClient) UpdateAccessList(ctx context.Context, in *UpdateAccessListRequest, opts ...grpc.CallOption) (*AccessList, error) { + out := new(AccessList) + err := c.cc.Invoke(ctx, AccessListService_UpdateAccessList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *accessListServiceClient) DeleteAccessList(ctx context.Context, in *DeleteAccessListRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, AccessListService_DeleteAccessList_FullMethodName, in, out, opts...) @@ -235,6 +250,15 @@ func (c *accessListServiceClient) UpsertAccessListMember(ctx context.Context, in return out, nil } +func (c *accessListServiceClient) UpdateAccessListMember(ctx context.Context, in *UpdateAccessListMemberRequest, opts ...grpc.CallOption) (*Member, error) { + out := new(Member) + err := c.cc.Invoke(ctx, AccessListService_UpdateAccessListMember_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *accessListServiceClient) DeleteAccessListMember(ctx context.Context, in *DeleteAccessListMemberRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, AccessListService_DeleteAccessListMember_FullMethodName, in, out, opts...) @@ -337,6 +361,8 @@ type AccessListServiceServer interface { GetAccessList(context.Context, *GetAccessListRequest) (*AccessList, error) // UpsertAccessList creates or updates an access list resource. UpsertAccessList(context.Context, *UpsertAccessListRequest) (*AccessList, error) + // UpdateAccessList updates an access list resource. + UpdateAccessList(context.Context, *UpdateAccessListRequest) (*AccessList, error) // DeleteAccessList hard deletes the specified access list resource. DeleteAccessList(context.Context, *DeleteAccessListRequest) (*emptypb.Empty, error) // DeleteAllAccessLists hard deletes all access lists. @@ -356,6 +382,8 @@ type AccessListServiceServer interface { GetAccessListMember(context.Context, *GetAccessListMemberRequest) (*Member, error) // UpsertAccessListMember creates or updates an access list member resource. UpsertAccessListMember(context.Context, *UpsertAccessListMemberRequest) (*Member, error) + // UpdateAccessListMember conditionally updates an access list member resource. + UpdateAccessListMember(context.Context, *UpdateAccessListMemberRequest) (*Member, error) // DeleteAccessListMember hard deletes the specified access list member // resource. DeleteAccessListMember(context.Context, *DeleteAccessListMemberRequest) (*emptypb.Empty, error) @@ -403,6 +431,9 @@ func (UnimplementedAccessListServiceServer) GetAccessList(context.Context, *GetA func (UnimplementedAccessListServiceServer) UpsertAccessList(context.Context, *UpsertAccessListRequest) (*AccessList, error) { return nil, status.Errorf(codes.Unimplemented, "method UpsertAccessList not implemented") } +func (UnimplementedAccessListServiceServer) UpdateAccessList(context.Context, *UpdateAccessListRequest) (*AccessList, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateAccessList not implemented") +} func (UnimplementedAccessListServiceServer) DeleteAccessList(context.Context, *DeleteAccessListRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteAccessList not implemented") } @@ -427,6 +458,9 @@ func (UnimplementedAccessListServiceServer) GetAccessListMember(context.Context, func (UnimplementedAccessListServiceServer) UpsertAccessListMember(context.Context, *UpsertAccessListMemberRequest) (*Member, error) { return nil, status.Errorf(codes.Unimplemented, "method UpsertAccessListMember not implemented") } +func (UnimplementedAccessListServiceServer) UpdateAccessListMember(context.Context, *UpdateAccessListMemberRequest) (*Member, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateAccessListMember not implemented") +} func (UnimplementedAccessListServiceServer) DeleteAccessListMember(context.Context, *DeleteAccessListMemberRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteAccessListMember not implemented") } @@ -542,6 +576,24 @@ func _AccessListService_UpsertAccessList_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } +func _AccessListService_UpdateAccessList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateAccessListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessListServiceServer).UpdateAccessList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccessListService_UpdateAccessList_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessListServiceServer).UpdateAccessList(ctx, req.(*UpdateAccessListRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _AccessListService_DeleteAccessList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeleteAccessListRequest) if err := dec(in); err != nil { @@ -686,6 +738,24 @@ func _AccessListService_UpsertAccessListMember_Handler(srv interface{}, ctx cont return interceptor(ctx, in, info, handler) } +func _AccessListService_UpdateAccessListMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateAccessListMemberRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessListServiceServer).UpdateAccessListMember(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccessListService_UpdateAccessListMember_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessListServiceServer).UpdateAccessListMember(ctx, req.(*UpdateAccessListMemberRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _AccessListService_DeleteAccessListMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeleteAccessListMemberRequest) if err := dec(in); err != nil { @@ -889,6 +959,10 @@ var AccessListService_ServiceDesc = grpc.ServiceDesc{ MethodName: "UpsertAccessList", Handler: _AccessListService_UpsertAccessList_Handler, }, + { + MethodName: "UpdateAccessList", + Handler: _AccessListService_UpdateAccessList_Handler, + }, { MethodName: "DeleteAccessList", Handler: _AccessListService_DeleteAccessList_Handler, @@ -921,6 +995,10 @@ var AccessListService_ServiceDesc = grpc.ServiceDesc{ MethodName: "UpsertAccessListMember", Handler: _AccessListService_UpsertAccessListMember_Handler, }, + { + MethodName: "UpdateAccessListMember", + Handler: _AccessListService_UpdateAccessListMember_Handler, + }, { MethodName: "DeleteAccessListMember", Handler: _AccessListService_DeleteAccessListMember_Handler, diff --git a/api/proto/teleport/accesslist/v1/accesslist_service.proto b/api/proto/teleport/accesslist/v1/accesslist_service.proto index 5ddeaef65dd72..5dbe81ca3c9ce 100644 --- a/api/proto/teleport/accesslist/v1/accesslist_service.proto +++ b/api/proto/teleport/accesslist/v1/accesslist_service.proto @@ -33,6 +33,8 @@ service AccessListService { rpc GetAccessList(GetAccessListRequest) returns (AccessList); // UpsertAccessList creates or updates an access list resource. rpc UpsertAccessList(UpsertAccessListRequest) returns (AccessList); + // UpdateAccessList updates an access list resource. + rpc UpdateAccessList(UpdateAccessListRequest) returns (AccessList); // DeleteAccessList hard deletes the specified access list resource. rpc DeleteAccessList(DeleteAccessListRequest) returns (google.protobuf.Empty); // DeleteAllAccessLists hard deletes all access lists. @@ -53,6 +55,8 @@ service AccessListService { rpc GetAccessListMember(GetAccessListMemberRequest) returns (Member); // UpsertAccessListMember creates or updates an access list member resource. rpc UpsertAccessListMember(UpsertAccessListMemberRequest) returns (Member); + // UpdateAccessListMember conditionally updates an access list member resource. + rpc UpdateAccessListMember(UpdateAccessListMemberRequest) returns (Member); // DeleteAccessListMember hard deletes the specified access list member // resource. rpc DeleteAccessListMember(DeleteAccessListMemberRequest) returns (google.protobuf.Empty); @@ -125,6 +129,12 @@ message UpsertAccessListRequest { AccessList access_list = 1; } +// UpdateAccessListRequest is the request for updating an access list. +message UpdateAccessListRequest { + // access_list is the access list to upsert. + AccessList access_list = 1; +} + // DeleteAccessListRequest is the request for deleting an access list. message DeleteAccessListRequest { // name is the name of the access list to delete. @@ -237,6 +247,13 @@ message UpsertAccessListMemberRequest { Member member = 4; } +// UpdateAccessListMemberRequest is the request for updating an access list +// member. +message UpdateAccessListMemberRequest { + // member is the access list member to upsert. + Member member = 1; +} + // DeleteAccessListMemberRequest is the request for deleting a member from an // access list. message DeleteAccessListMemberRequest { diff --git a/gen/proto/js/teleport/accesslist/v1/accesslist_service_grpc_pb.d.ts b/gen/proto/js/teleport/accesslist/v1/accesslist_service_grpc_pb.d.ts index 1184536e31d5c..89f0102dd4ea3 100644 --- a/gen/proto/js/teleport/accesslist/v1/accesslist_service_grpc_pb.d.ts +++ b/gen/proto/js/teleport/accesslist/v1/accesslist_service_grpc_pb.d.ts @@ -16,6 +16,7 @@ interface IAccessListServiceService extends grpc.ServiceDefinition; responseDeserialize: grpc.deserialize; } +interface IAccessListServiceService_IUpdateAccessList extends grpc.MethodDefinition { + path: "/teleport.accesslist.v1.AccessListService/UpdateAccessList"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} interface IAccessListServiceService_IDeleteAccessList extends grpc.MethodDefinition { path: "/teleport.accesslist.v1.AccessListService/DeleteAccessList"; requestStream: false; @@ -144,6 +155,15 @@ interface IAccessListServiceService_IUpsertAccessListMember extends grpc.MethodD responseSerialize: grpc.serialize; responseDeserialize: grpc.deserialize; } +interface IAccessListServiceService_IUpdateAccessListMember extends grpc.MethodDefinition { + path: "/teleport.accesslist.v1.AccessListService/UpdateAccessListMember"; + requestStream: false; + responseStream: false; + requestSerialize: grpc.serialize; + requestDeserialize: grpc.deserialize; + responseSerialize: grpc.serialize; + responseDeserialize: grpc.deserialize; +} interface IAccessListServiceService_IDeleteAccessListMember extends grpc.MethodDefinition { path: "/teleport.accesslist.v1.AccessListService/DeleteAccessListMember"; requestStream: false; @@ -242,6 +262,7 @@ export interface IAccessListServiceServer { listAccessLists: grpc.handleUnaryCall; getAccessList: grpc.handleUnaryCall; upsertAccessList: grpc.handleUnaryCall; + updateAccessList: grpc.handleUnaryCall; deleteAccessList: grpc.handleUnaryCall; deleteAllAccessLists: grpc.handleUnaryCall; getAccessListsToReview: grpc.handleUnaryCall; @@ -250,6 +271,7 @@ export interface IAccessListServiceServer { listAllAccessListMembers: grpc.handleUnaryCall; getAccessListMember: grpc.handleUnaryCall; upsertAccessListMember: grpc.handleUnaryCall; + updateAccessListMember: grpc.handleUnaryCall; deleteAccessListMember: grpc.handleUnaryCall; deleteAllAccessListMembersForAccessList: grpc.handleUnaryCall; deleteAllAccessListMembers: grpc.handleUnaryCall; @@ -275,6 +297,9 @@ export interface IAccessListServiceClient { upsertAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListRequest, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; upsertAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; upsertAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; + updateAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListRequest, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; + updateAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; + updateAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; deleteAccessList(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListRequest, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; deleteAccessList(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; deleteAccessList(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; @@ -299,6 +324,9 @@ export interface IAccessListServiceClient { upsertAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListMemberRequest, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; upsertAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListMemberRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; upsertAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListMemberRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; + updateAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListMemberRequest, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; + updateAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListMemberRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; + updateAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListMemberRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; deleteAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListMemberRequest, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; deleteAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListMemberRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; deleteAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListMemberRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; @@ -345,6 +373,9 @@ export class AccessListServiceClient extends grpc.Client implements IAccessListS public upsertAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListRequest, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; public upsertAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; public upsertAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; + public updateAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListRequest, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; + public updateAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; + public updateAccessList(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.AccessList) => void): grpc.ClientUnaryCall; public deleteAccessList(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListRequest, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; public deleteAccessList(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; public deleteAccessList(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; @@ -369,6 +400,9 @@ export class AccessListServiceClient extends grpc.Client implements IAccessListS public upsertAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListMemberRequest, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; public upsertAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListMemberRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; public upsertAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListMemberRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; + public updateAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListMemberRequest, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; + public updateAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListMemberRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; + public updateAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListMemberRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: teleport_accesslist_v1_accesslist_pb.Member) => void): grpc.ClientUnaryCall; public deleteAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListMemberRequest, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; public deleteAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListMemberRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; public deleteAccessListMember(request: teleport_accesslist_v1_accesslist_service_pb.DeleteAccessListMemberRequest, metadata: grpc.Metadata, options: Partial, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall; diff --git a/gen/proto/js/teleport/accesslist/v1/accesslist_service_grpc_pb.js b/gen/proto/js/teleport/accesslist/v1/accesslist_service_grpc_pb.js index 55b77df6209d4..8c7efb9f6980c 100644 --- a/gen/proto/js/teleport/accesslist/v1/accesslist_service_grpc_pb.js +++ b/gen/proto/js/teleport/accesslist/v1/accesslist_service_grpc_pb.js @@ -386,6 +386,28 @@ function deserialize_teleport_accesslist_v1_Member(buffer_arg) { return teleport_accesslist_v1_accesslist_pb.Member.deserializeBinary(new Uint8Array(buffer_arg)); } +function serialize_teleport_accesslist_v1_UpdateAccessListMemberRequest(arg) { + if (!(arg instanceof teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListMemberRequest)) { + throw new Error('Expected argument of type teleport.accesslist.v1.UpdateAccessListMemberRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_teleport_accesslist_v1_UpdateAccessListMemberRequest(buffer_arg) { + return teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListMemberRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + +function serialize_teleport_accesslist_v1_UpdateAccessListRequest(arg) { + if (!(arg instanceof teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListRequest)) { + throw new Error('Expected argument of type teleport.accesslist.v1.UpdateAccessListRequest'); + } + return Buffer.from(arg.serializeBinary()); +} + +function deserialize_teleport_accesslist_v1_UpdateAccessListRequest(buffer_arg) { + return teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListRequest.deserializeBinary(new Uint8Array(buffer_arg)); +} + function serialize_teleport_accesslist_v1_UpsertAccessListMemberRequest(arg) { if (!(arg instanceof teleport_accesslist_v1_accesslist_service_pb.UpsertAccessListMemberRequest)) { throw new Error('Expected argument of type teleport.accesslist.v1.UpsertAccessListMemberRequest'); @@ -481,6 +503,18 @@ upsertAccessList: { responseSerialize: serialize_teleport_accesslist_v1_AccessList, responseDeserialize: deserialize_teleport_accesslist_v1_AccessList, }, + // UpdateAccessList updates an access list resource. +updateAccessList: { + path: '/teleport.accesslist.v1.AccessListService/UpdateAccessList', + requestStream: false, + responseStream: false, + requestType: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListRequest, + responseType: teleport_accesslist_v1_accesslist_pb.AccessList, + requestSerialize: serialize_teleport_accesslist_v1_UpdateAccessListRequest, + requestDeserialize: deserialize_teleport_accesslist_v1_UpdateAccessListRequest, + responseSerialize: serialize_teleport_accesslist_v1_AccessList, + responseDeserialize: deserialize_teleport_accesslist_v1_AccessList, + }, // DeleteAccessList hard deletes the specified access list resource. deleteAccessList: { path: '/teleport.accesslist.v1.AccessListService/DeleteAccessList', @@ -580,6 +614,18 @@ upsertAccessListMember: { responseSerialize: serialize_teleport_accesslist_v1_Member, responseDeserialize: deserialize_teleport_accesslist_v1_Member, }, + // UpdateAccessListMember conditionally updates an access list member resource. +updateAccessListMember: { + path: '/teleport.accesslist.v1.AccessListService/UpdateAccessListMember', + requestStream: false, + responseStream: false, + requestType: teleport_accesslist_v1_accesslist_service_pb.UpdateAccessListMemberRequest, + responseType: teleport_accesslist_v1_accesslist_pb.Member, + requestSerialize: serialize_teleport_accesslist_v1_UpdateAccessListMemberRequest, + requestDeserialize: deserialize_teleport_accesslist_v1_UpdateAccessListMemberRequest, + responseSerialize: serialize_teleport_accesslist_v1_Member, + responseDeserialize: deserialize_teleport_accesslist_v1_Member, + }, // DeleteAccessListMember hard deletes the specified access list member // resource. deleteAccessListMember: { diff --git a/gen/proto/js/teleport/accesslist/v1/accesslist_service_pb.d.ts b/gen/proto/js/teleport/accesslist/v1/accesslist_service_pb.d.ts index d0938dac5fde9..050c50147e103 100644 --- a/gen/proto/js/teleport/accesslist/v1/accesslist_service_pb.d.ts +++ b/gen/proto/js/teleport/accesslist/v1/accesslist_service_pb.d.ts @@ -140,6 +140,29 @@ export namespace UpsertAccessListRequest { } } +export class UpdateAccessListRequest extends jspb.Message { + + hasAccessList(): boolean; + clearAccessList(): void; + getAccessList(): teleport_accesslist_v1_accesslist_pb.AccessList | undefined; + setAccessList(value?: teleport_accesslist_v1_accesslist_pb.AccessList): UpdateAccessListRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): UpdateAccessListRequest.AsObject; + static toObject(includeInstance: boolean, msg: UpdateAccessListRequest): UpdateAccessListRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: UpdateAccessListRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): UpdateAccessListRequest; + static deserializeBinaryFromReader(message: UpdateAccessListRequest, reader: jspb.BinaryReader): UpdateAccessListRequest; +} + +export namespace UpdateAccessListRequest { + export type AsObject = { + accessList?: teleport_accesslist_v1_accesslist_pb.AccessList.AsObject, + } +} + export class DeleteAccessListRequest extends jspb.Message { getName(): string; setName(value: string): DeleteAccessListRequest; @@ -457,6 +480,29 @@ export namespace UpsertAccessListMemberRequest { } } +export class UpdateAccessListMemberRequest extends jspb.Message { + + hasMember(): boolean; + clearMember(): void; + getMember(): teleport_accesslist_v1_accesslist_pb.Member | undefined; + setMember(value?: teleport_accesslist_v1_accesslist_pb.Member): UpdateAccessListMemberRequest; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): UpdateAccessListMemberRequest.AsObject; + static toObject(includeInstance: boolean, msg: UpdateAccessListMemberRequest): UpdateAccessListMemberRequest.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: UpdateAccessListMemberRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): UpdateAccessListMemberRequest; + static deserializeBinaryFromReader(message: UpdateAccessListMemberRequest, reader: jspb.BinaryReader): UpdateAccessListMemberRequest; +} + +export namespace UpdateAccessListMemberRequest { + export type AsObject = { + member?: teleport_accesslist_v1_accesslist_pb.Member.AsObject, + } +} + export class DeleteAccessListMemberRequest extends jspb.Message { getAccessList(): string; setAccessList(value: string): DeleteAccessListMemberRequest; diff --git a/gen/proto/js/teleport/accesslist/v1/accesslist_service_pb.js b/gen/proto/js/teleport/accesslist/v1/accesslist_service_pb.js index e0fd906b6b586..df7509c002c0e 100644 --- a/gen/proto/js/teleport/accesslist/v1/accesslist_service_pb.js +++ b/gen/proto/js/teleport/accesslist/v1/accesslist_service_pb.js @@ -53,6 +53,8 @@ goog.exportSymbol('proto.teleport.accesslist.v1.ListAllAccessListMembersRequest' goog.exportSymbol('proto.teleport.accesslist.v1.ListAllAccessListMembersResponse', null, global); goog.exportSymbol('proto.teleport.accesslist.v1.ListAllAccessListReviewsRequest', null, global); goog.exportSymbol('proto.teleport.accesslist.v1.ListAllAccessListReviewsResponse', null, global); +goog.exportSymbol('proto.teleport.accesslist.v1.UpdateAccessListMemberRequest', null, global); +goog.exportSymbol('proto.teleport.accesslist.v1.UpdateAccessListRequest', null, global); goog.exportSymbol('proto.teleport.accesslist.v1.UpsertAccessListMemberRequest', null, global); goog.exportSymbol('proto.teleport.accesslist.v1.UpsertAccessListRequest', null, global); goog.exportSymbol('proto.teleport.accesslist.v1.UpsertAccessListWithMembersRequest', null, global); @@ -183,6 +185,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.teleport.accesslist.v1.UpsertAccessListRequest.displayName = 'proto.teleport.accesslist.v1.UpsertAccessListRequest'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.teleport.accesslist.v1.UpdateAccessListRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.teleport.accesslist.v1.UpdateAccessListRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.teleport.accesslist.v1.UpdateAccessListRequest.displayName = 'proto.teleport.accesslist.v1.UpdateAccessListRequest'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -477,6 +500,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.teleport.accesslist.v1.UpsertAccessListMemberRequest.displayName = 'proto.teleport.accesslist.v1.UpsertAccessListMemberRequest'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.teleport.accesslist.v1.UpdateAccessListMemberRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.teleport.accesslist.v1.UpdateAccessListMemberRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.displayName = 'proto.teleport.accesslist.v1.UpdateAccessListMemberRequest'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -1666,6 +1710,157 @@ proto.teleport.accesslist.v1.UpsertAccessListRequest.prototype.hasAccessList = f +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.teleport.accesslist.v1.UpdateAccessListRequest.prototype.toObject = function(opt_includeInstance) { + return proto.teleport.accesslist.v1.UpdateAccessListRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.teleport.accesslist.v1.UpdateAccessListRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.teleport.accesslist.v1.UpdateAccessListRequest.toObject = function(includeInstance, msg) { + var f, obj = { + accessList: (f = msg.getAccessList()) && teleport_accesslist_v1_accesslist_pb.AccessList.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.teleport.accesslist.v1.UpdateAccessListRequest} + */ +proto.teleport.accesslist.v1.UpdateAccessListRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.teleport.accesslist.v1.UpdateAccessListRequest; + return proto.teleport.accesslist.v1.UpdateAccessListRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.teleport.accesslist.v1.UpdateAccessListRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.teleport.accesslist.v1.UpdateAccessListRequest} + */ +proto.teleport.accesslist.v1.UpdateAccessListRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new teleport_accesslist_v1_accesslist_pb.AccessList; + reader.readMessage(value,teleport_accesslist_v1_accesslist_pb.AccessList.deserializeBinaryFromReader); + msg.setAccessList(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.teleport.accesslist.v1.UpdateAccessListRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.teleport.accesslist.v1.UpdateAccessListRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.teleport.accesslist.v1.UpdateAccessListRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.teleport.accesslist.v1.UpdateAccessListRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getAccessList(); + if (f != null) { + writer.writeMessage( + 1, + f, + teleport_accesslist_v1_accesslist_pb.AccessList.serializeBinaryToWriter + ); + } +}; + + +/** + * optional AccessList access_list = 1; + * @return {?proto.teleport.accesslist.v1.AccessList} + */ +proto.teleport.accesslist.v1.UpdateAccessListRequest.prototype.getAccessList = function() { + return /** @type{?proto.teleport.accesslist.v1.AccessList} */ ( + jspb.Message.getWrapperField(this, teleport_accesslist_v1_accesslist_pb.AccessList, 1)); +}; + + +/** + * @param {?proto.teleport.accesslist.v1.AccessList|undefined} value + * @return {!proto.teleport.accesslist.v1.UpdateAccessListRequest} returns this +*/ +proto.teleport.accesslist.v1.UpdateAccessListRequest.prototype.setAccessList = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.teleport.accesslist.v1.UpdateAccessListRequest} returns this + */ +proto.teleport.accesslist.v1.UpdateAccessListRequest.prototype.clearAccessList = function() { + return this.setAccessList(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.teleport.accesslist.v1.UpdateAccessListRequest.prototype.hasAccessList = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. @@ -3881,6 +4076,157 @@ proto.teleport.accesslist.v1.UpsertAccessListMemberRequest.prototype.hasMember = +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.prototype.toObject = function(opt_includeInstance) { + return proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.teleport.accesslist.v1.UpdateAccessListMemberRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.toObject = function(includeInstance, msg) { + var f, obj = { + member: (f = msg.getMember()) && teleport_accesslist_v1_accesslist_pb.Member.toObject(includeInstance, f) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.teleport.accesslist.v1.UpdateAccessListMemberRequest} + */ +proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.teleport.accesslist.v1.UpdateAccessListMemberRequest; + return proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.teleport.accesslist.v1.UpdateAccessListMemberRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.teleport.accesslist.v1.UpdateAccessListMemberRequest} + */ +proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new teleport_accesslist_v1_accesslist_pb.Member; + reader.readMessage(value,teleport_accesslist_v1_accesslist_pb.Member.deserializeBinaryFromReader); + msg.setMember(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.teleport.accesslist.v1.UpdateAccessListMemberRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getMember(); + if (f != null) { + writer.writeMessage( + 1, + f, + teleport_accesslist_v1_accesslist_pb.Member.serializeBinaryToWriter + ); + } +}; + + +/** + * optional Member member = 1; + * @return {?proto.teleport.accesslist.v1.Member} + */ +proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.prototype.getMember = function() { + return /** @type{?proto.teleport.accesslist.v1.Member} */ ( + jspb.Message.getWrapperField(this, teleport_accesslist_v1_accesslist_pb.Member, 1)); +}; + + +/** + * @param {?proto.teleport.accesslist.v1.Member|undefined} value + * @return {!proto.teleport.accesslist.v1.UpdateAccessListMemberRequest} returns this +*/ +proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.prototype.setMember = function(value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.teleport.accesslist.v1.UpdateAccessListMemberRequest} returns this + */ +proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.prototype.clearMember = function() { + return this.setMember(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.teleport.accesslist.v1.UpdateAccessListMemberRequest.prototype.hasMember = function() { + return jspb.Message.getField(this, 1) != null; +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. diff --git a/lib/auth/api.go b/lib/auth/api.go index 746c011bb2ea3..d5b627390eb41 100644 --- a/lib/auth/api.go +++ b/lib/auth/api.go @@ -1120,6 +1120,8 @@ type Cache interface { // implicit member list and the underlying implementation does not have // enough information to compute the dynamic member list. ListAccessListMembers(ctx context.Context, accessListName string, pageSize int, pageToken string) (members []*accesslist.AccessListMember, nextToken string, err error) + // ListAllAccessListMembers returns a paginated list of all access list members for all access lists. + ListAllAccessListMembers(ctx context.Context, pageSize int, pageToken string) (members []*accesslist.AccessListMember, nextToken string, err error) // GetAccessListMember returns the specified access list member resource. // May return a DynamicAccessListError if the requested access list has an // implicit member list and the underlying implementation does not have diff --git a/lib/cache/cache.go b/lib/cache/cache.go index 84f0eccbc5803..6f7dcdaa77d9a 100644 --- a/lib/cache/cache.go +++ b/lib/cache/cache.go @@ -2991,6 +2991,19 @@ func (c *Cache) ListAccessListMembers(ctx context.Context, accessListName string return rg.reader.ListAccessListMembers(ctx, accessListName, pageSize, pageToken) } +// ListAllAccessListMembers returns a paginated list of all access list members for all access lists. +func (c *Cache) ListAllAccessListMembers(ctx context.Context, pageSize int, pageToken string) (members []*accesslist.AccessListMember, nextToken string, err error) { + ctx, span := c.Tracer.Start(ctx, "cache/ListAllAccessListMembers") + defer span.End() + + rg, err := readCollectionCache(c, c.collections.accessListMembers) + if err != nil { + return nil, "", trace.Wrap(err) + } + defer rg.Release() + return rg.reader.ListAllAccessListMembers(ctx, pageSize, pageToken) +} + // GetAccessListMember returns the specified access list member resource. // May return a DynamicAccessListError if the requested access list has an // implicit member list and the underlying implementation does not have diff --git a/lib/cache/collections.go b/lib/cache/collections.go index 6c5db05073fd9..b5f17641c1329 100644 --- a/lib/cache/collections.go +++ b/lib/cache/collections.go @@ -2793,6 +2793,7 @@ type accessListMembersGetter interface { CountAccessListMembers(ctx context.Context, accessListName string) (uint32, error) ListAccessListMembers(ctx context.Context, accessListName string, pageSize int, nextToken string) ([]*accesslist.AccessListMember, string, error) GetAccessListMember(ctx context.Context, accessList string, memberName string) (*accesslist.AccessListMember, error) + ListAllAccessListMembers(ctx context.Context, pageSize int, pageToken string) ([]*accesslist.AccessListMember, string, error) } type accessListReviewExecutor struct{} diff --git a/lib/services/access_list.go b/lib/services/access_list.go index 8691568c6041c..04d177a9610fb 100644 --- a/lib/services/access_list.go +++ b/lib/services/access_list.go @@ -63,6 +63,8 @@ type AccessLists interface { // UpsertAccessList creates or updates an access list resource. UpsertAccessList(context.Context, *accesslist.AccessList) (*accesslist.AccessList, error) + // UpdateAccessList updates an access list resource. + UpdateAccessList(context.Context, *accesslist.AccessList) (*accesslist.AccessList, error) // DeleteAccessList removes the specified access list resource. DeleteAccessList(context.Context, string) error // DeleteAllAccessLists removes all access lists. @@ -164,6 +166,8 @@ type AccessListMembers interface { // UpsertAccessListMember creates or updates an access list member resource. UpsertAccessListMember(ctx context.Context, member *accesslist.AccessListMember) (*accesslist.AccessListMember, error) + // UpdateAccessListMember conditionally updates an access list member resource. + UpdateAccessListMember(ctx context.Context, member *accesslist.AccessListMember) (*accesslist.AccessListMember, error) // DeleteAccessListMember hard deletes the specified access list member resource. DeleteAccessListMember(ctx context.Context, accessList string, memberName string) error // DeleteAllAccessListMembersForAccessList hard deletes all access list members for an access list. diff --git a/lib/services/local/access_list.go b/lib/services/local/access_list.go index 34546e28fca76..cc21998eccdcd 100644 --- a/lib/services/local/access_list.go +++ b/lib/services/local/access_list.go @@ -145,6 +145,31 @@ func (a *AccessListService) GetAccessListsToReview(ctx context.Context) ([]*acce // UpsertAccessList creates or updates an access list resource. func (a *AccessListService) UpsertAccessList(ctx context.Context, accessList *accesslist.AccessList) (*accesslist.AccessList, error) { + op := a.service.UpsertResource + return a.runOpWithLock(ctx, accessList, op) +} + +// UpdateAccessList updates an access list resource. +func (a *AccessListService) UpdateAccessList(ctx context.Context, accessList *accesslist.AccessList) (*accesslist.AccessList, error) { + op := func(ctx context.Context, accessList *accesslist.AccessList) (*accesslist.AccessList, error) { + oldAccessList, err := a.service.GetResource(ctx, accessList.GetName()) + if err != nil { + return nil, trace.Wrap(err) + } + // Compare the old and new members to ensure that the member has not been modified. + // This is fine because we are under a lock and the member is not being modified by + // another process. + if oldAccessList.GetRevision() != accessList.GetRevision() { + return nil, trace.CompareFailed("access list %v has been modified", accessList.GetName()) + } + return a.service.UpdateResource(ctx, accessList) + } + return a.runOpWithLock(ctx, accessList, op) +} + +type opFunc func(context.Context, *accesslist.AccessList) (*accesslist.AccessList, error) + +func (a *AccessListService) runOpWithLock(ctx context.Context, accessList *accesslist.AccessList, op opFunc) (*accesslist.AccessList, error) { var upserted *accesslist.AccessList upsertWithLockFn := func() error { return a.service.RunWhileLocked(ctx, lockName(accessList.GetName()), accessListLockTTL, func(ctx context.Context, _ backend.Backend) error { @@ -157,7 +182,7 @@ func (a *AccessListService) UpsertAccessList(ctx context.Context, accessList *ac } var err error - upserted, err = a.service.UpsertResource(ctx, accessList) + upserted, err = op(ctx, accessList) return trace.Wrap(err) }) } @@ -286,6 +311,34 @@ func (a *AccessListService) UpsertAccessListMember(ctx context.Context, member * return upserted, nil } +// UpdateAccessListMember conditionally updates an access list member resource. +func (a *AccessListService) UpdateAccessListMember(ctx context.Context, member *accesslist.AccessListMember) (*accesslist.AccessListMember, error) { + var updated *accesslist.AccessListMember + err := a.service.RunWhileLocked(ctx, lockName(member.Spec.AccessList), accessListLockTTL, func(ctx context.Context, _ backend.Backend) error { + _, err := a.service.GetResource(ctx, member.Spec.AccessList) + if err != nil { + return trace.Wrap(err) + } + oldMember, err := a.memberService.WithPrefix(member.Spec.AccessList).GetResource(ctx, member.GetName()) + if err != nil { + return trace.Wrap(err) + } + // Compare the old and new members to ensure that the member has not been modified. + // This is fine because we are under a lock and the member is not being modified by + // another process. + if oldMember.GetRevision() != member.GetRevision() { + return trace.CompareFailed("access list member %v has been modified", member.GetName()) + } + + updated, err = a.memberService.WithPrefix(member.Spec.AccessList).UpdateResource(ctx, member) + return trace.Wrap(err) + }) + if err != nil { + return nil, trace.Wrap(err) + } + return updated, nil +} + // DeleteAccessListMember hard deletes the specified access list member resource. func (a *AccessListService) DeleteAccessListMember(ctx context.Context, accessList string, memberName string) error { err := a.service.RunWhileLocked(ctx, lockName(accessList), accessListLockTTL, func(ctx context.Context, _ backend.Backend) error { diff --git a/lib/services/local/access_list_test.go b/lib/services/local/access_list_test.go index ef4197c48d5b4..259b9e22a4695 100644 --- a/lib/services/local/access_list_test.go +++ b/lib/services/local/access_list_test.go @@ -170,6 +170,40 @@ func TestAccessListCreate_UpsertAccessList_WithoutLimit(t *testing.T) { require.Len(t, out, 3) } +// TestAccessListCreate_UpdateAccessList tests creating access list +// and updating access list with the same name. +func TestAccessListCreate_UpdateAccessList(t *testing.T) { + ctx := context.Background() + clock := clockwork.NewFakeClock() + + mem, err := memory.New(memory.Config{ + Context: ctx, + Clock: clock, + }) + require.NoError(t, err) + + service := newAccessListService(t, mem, clock, true /* igsEnabled */) + + // No limit to creating access list. + result, err := service.UpsertAccessList(ctx, newAccessList(t, "accessList1", clock)) + require.NoError(t, err) + // Fetch all access lists. + out, err := service.GetAccessLists(ctx) + require.NoError(t, err) + require.Len(t, out, 1) + + result.Spec.Description = "changing description" + // Update access list with the correct revision. + _, err = service.UpdateAccessList(ctx, result) + require.NoError(t, err) + result.Spec.Description = "changing description again" + result.Metadata.Revision = "fake revision" + // Update access list with wrong revision should return an error. + _, err = service.UpdateAccessList(ctx, result) + require.Error(t, err) + require.True(t, trace.IsCompareFailed(err), "expected precondition failed error, got %v", err) +} + // TestAccessListCreate_UpsertAccessList_WithLimit tests creating access list // is limited to the limit defined in feature if IGS is NOT enabled. // Also tests "upserting" and deleting is allowed despite "create" limit reached. @@ -571,6 +605,12 @@ func TestAccessListMembersCRUD(t *testing.T) { _, err = service.UpsertAccessListMember(ctx, accessList1Member2) require.NoError(t, err) + // try to update a member with the wrong revision. + accessList1Member2.Metadata.Revision = "fake revision" + _, err = service.UpdateAccessListMember(ctx, accessList1Member2) + require.Error(t, err) + require.True(t, trace.IsCompareFailed(err), "expected precondition failed error, got %v", err) + // Delete all members from access list 1. require.NoError(t, service.DeleteAllAccessListMembersForAccessList(ctx, accessList1.GetName())) diff --git a/lib/services/simple/access_list.go b/lib/services/simple/access_list.go index b49abc35bbc48..e2087358da082 100644 --- a/lib/services/simple/access_list.go +++ b/lib/services/simple/access_list.go @@ -182,3 +182,9 @@ func (a *AccessListService) DeleteAccessListReview(ctx context.Context, accessLi func (a *AccessListService) DeleteAllAccessListReviews(ctx context.Context) error { return trace.Wrap(a.reviewService.DeleteAllResources(ctx)) } + +// ListAllAccessListMembers returns a paginated list of all access list members for all access lists. +func (a *AccessListService) ListAllAccessListMembers(ctx context.Context, pageSize int, pageToken string) (members []*accesslist.AccessListMember, nextToken string, err error) { + members, nextToken, err = a.memberService.ListResources(ctx, pageSize, nextToken) + return members, nextToken, trace.Wrap(err) +}