diff --git a/gen/proto/go/teleport/lib/teleterm/v1/service.pb.go b/gen/proto/go/teleport/lib/teleterm/v1/service.pb.go index e6015d7758df3..5a50ad6e3022c 100644 --- a/gen/proto/go/teleport/lib/teleterm/v1/service.pb.go +++ b/gen/proto/go/teleport/lib/teleterm/v1/service.pb.go @@ -2664,158 +2664,6 @@ func (x *SetGatewayLocalPortRequest) GetLocalPort() string { return "" } -type GetServersRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - ClusterUri string `protobuf:"bytes,1,opt,name=cluster_uri,json=clusterUri,proto3" json:"cluster_uri,omitempty"` - Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` - StartKey string `protobuf:"bytes,3,opt,name=start_key,json=startKey,proto3" json:"start_key,omitempty"` - Search string `protobuf:"bytes,4,opt,name=search,proto3" json:"search,omitempty"` - Query string `protobuf:"bytes,5,opt,name=query,proto3" json:"query,omitempty"` - SortBy string `protobuf:"bytes,6,opt,name=sort_by,json=sortBy,proto3" json:"sort_by,omitempty"` - SearchAsRoles string `protobuf:"bytes,7,opt,name=search_as_roles,json=searchAsRoles,proto3" json:"search_as_roles,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetServersRequest) Reset() { - *x = GetServersRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetServersRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetServersRequest) ProtoMessage() {} - -func (x *GetServersRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[45] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetServersRequest.ProtoReflect.Descriptor instead. -func (*GetServersRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{45} -} - -func (x *GetServersRequest) GetClusterUri() string { - if x != nil { - return x.ClusterUri - } - return "" -} - -func (x *GetServersRequest) GetLimit() int32 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *GetServersRequest) GetStartKey() string { - if x != nil { - return x.StartKey - } - return "" -} - -func (x *GetServersRequest) GetSearch() string { - if x != nil { - return x.Search - } - return "" -} - -func (x *GetServersRequest) GetQuery() string { - if x != nil { - return x.Query - } - return "" -} - -func (x *GetServersRequest) GetSortBy() string { - if x != nil { - return x.SortBy - } - return "" -} - -func (x *GetServersRequest) GetSearchAsRoles() string { - if x != nil { - return x.SearchAsRoles - } - return "" -} - -type GetServersResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Agents []*Server `protobuf:"bytes,1,rep,name=agents,proto3" json:"agents,omitempty"` - TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` - StartKey string `protobuf:"bytes,3,opt,name=start_key,json=startKey,proto3" json:"start_key,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetServersResponse) Reset() { - *x = GetServersResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetServersResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetServersResponse) ProtoMessage() {} - -func (x *GetServersResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[46] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetServersResponse.ProtoReflect.Descriptor instead. -func (*GetServersResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{46} -} - -func (x *GetServersResponse) GetAgents() []*Server { - if x != nil { - return x.Agents - } - return nil -} - -func (x *GetServersResponse) GetTotalCount() int32 { - if x != nil { - return x.TotalCount - } - return 0 -} - -func (x *GetServersResponse) GetStartKey() string { - if x != nil { - return x.StartKey - } - return "" -} - type GetAuthSettingsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` ClusterUri string `protobuf:"bytes,1,opt,name=cluster_uri,json=clusterUri,proto3" json:"cluster_uri,omitempty"` @@ -2825,7 +2673,7 @@ type GetAuthSettingsRequest struct { func (x *GetAuthSettingsRequest) Reset() { *x = GetAuthSettingsRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[47] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2837,7 +2685,7 @@ func (x *GetAuthSettingsRequest) String() string { func (*GetAuthSettingsRequest) ProtoMessage() {} func (x *GetAuthSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[47] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2850,7 +2698,7 @@ func (x *GetAuthSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAuthSettingsRequest.ProtoReflect.Descriptor instead. func (*GetAuthSettingsRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{47} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{45} } func (x *GetAuthSettingsRequest) GetClusterUri() string { @@ -2869,7 +2717,7 @@ type UpdateTshdEventsServerAddressRequest struct { func (x *UpdateTshdEventsServerAddressRequest) Reset() { *x = UpdateTshdEventsServerAddressRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[48] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2881,7 +2729,7 @@ func (x *UpdateTshdEventsServerAddressRequest) String() string { func (*UpdateTshdEventsServerAddressRequest) ProtoMessage() {} func (x *UpdateTshdEventsServerAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[48] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2894,7 +2742,7 @@ func (x *UpdateTshdEventsServerAddressRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use UpdateTshdEventsServerAddressRequest.ProtoReflect.Descriptor instead. func (*UpdateTshdEventsServerAddressRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{48} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{46} } func (x *UpdateTshdEventsServerAddressRequest) GetAddress() string { @@ -2912,7 +2760,7 @@ type UpdateTshdEventsServerAddressResponse struct { func (x *UpdateTshdEventsServerAddressResponse) Reset() { *x = UpdateTshdEventsServerAddressResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[49] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2924,7 +2772,7 @@ func (x *UpdateTshdEventsServerAddressResponse) String() string { func (*UpdateTshdEventsServerAddressResponse) ProtoMessage() {} func (x *UpdateTshdEventsServerAddressResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[49] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2937,7 +2785,7 @@ func (x *UpdateTshdEventsServerAddressResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use UpdateTshdEventsServerAddressResponse.ProtoReflect.Descriptor instead. func (*UpdateTshdEventsServerAddressResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{49} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{47} } type UpdateHeadlessAuthenticationStateRequest struct { @@ -2951,7 +2799,7 @@ type UpdateHeadlessAuthenticationStateRequest struct { func (x *UpdateHeadlessAuthenticationStateRequest) Reset() { *x = UpdateHeadlessAuthenticationStateRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[50] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2963,7 +2811,7 @@ func (x *UpdateHeadlessAuthenticationStateRequest) String() string { func (*UpdateHeadlessAuthenticationStateRequest) ProtoMessage() {} func (x *UpdateHeadlessAuthenticationStateRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[50] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2976,7 +2824,7 @@ func (x *UpdateHeadlessAuthenticationStateRequest) ProtoReflect() protoreflect.M // Deprecated: Use UpdateHeadlessAuthenticationStateRequest.ProtoReflect.Descriptor instead. func (*UpdateHeadlessAuthenticationStateRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{50} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{48} } func (x *UpdateHeadlessAuthenticationStateRequest) GetRootClusterUri() string { @@ -3008,7 +2856,7 @@ type UpdateHeadlessAuthenticationStateResponse struct { func (x *UpdateHeadlessAuthenticationStateResponse) Reset() { *x = UpdateHeadlessAuthenticationStateResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[51] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3020,7 +2868,7 @@ func (x *UpdateHeadlessAuthenticationStateResponse) String() string { func (*UpdateHeadlessAuthenticationStateResponse) ProtoMessage() {} func (x *UpdateHeadlessAuthenticationStateResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[51] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3033,7 +2881,7 @@ func (x *UpdateHeadlessAuthenticationStateResponse) ProtoReflect() protoreflect. // Deprecated: Use UpdateHeadlessAuthenticationStateResponse.ProtoReflect.Descriptor instead. func (*UpdateHeadlessAuthenticationStateResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{51} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{49} } type CreateConnectMyComputerRoleRequest struct { @@ -3045,7 +2893,7 @@ type CreateConnectMyComputerRoleRequest struct { func (x *CreateConnectMyComputerRoleRequest) Reset() { *x = CreateConnectMyComputerRoleRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[52] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3057,7 +2905,7 @@ func (x *CreateConnectMyComputerRoleRequest) String() string { func (*CreateConnectMyComputerRoleRequest) ProtoMessage() {} func (x *CreateConnectMyComputerRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[52] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3070,7 +2918,7 @@ func (x *CreateConnectMyComputerRoleRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CreateConnectMyComputerRoleRequest.ProtoReflect.Descriptor instead. func (*CreateConnectMyComputerRoleRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{52} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{50} } func (x *CreateConnectMyComputerRoleRequest) GetRootClusterUri() string { @@ -3091,7 +2939,7 @@ type CreateConnectMyComputerRoleResponse struct { func (x *CreateConnectMyComputerRoleResponse) Reset() { *x = CreateConnectMyComputerRoleResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[53] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3103,7 +2951,7 @@ func (x *CreateConnectMyComputerRoleResponse) String() string { func (*CreateConnectMyComputerRoleResponse) ProtoMessage() {} func (x *CreateConnectMyComputerRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[53] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3116,7 +2964,7 @@ func (x *CreateConnectMyComputerRoleResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CreateConnectMyComputerRoleResponse.ProtoReflect.Descriptor instead. func (*CreateConnectMyComputerRoleResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{53} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{51} } func (x *CreateConnectMyComputerRoleResponse) GetCertsReloaded() bool { @@ -3135,7 +2983,7 @@ type CreateConnectMyComputerNodeTokenRequest struct { func (x *CreateConnectMyComputerNodeTokenRequest) Reset() { *x = CreateConnectMyComputerNodeTokenRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[54] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3147,7 +2995,7 @@ func (x *CreateConnectMyComputerNodeTokenRequest) String() string { func (*CreateConnectMyComputerNodeTokenRequest) ProtoMessage() {} func (x *CreateConnectMyComputerNodeTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[54] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3160,7 +3008,7 @@ func (x *CreateConnectMyComputerNodeTokenRequest) ProtoReflect() protoreflect.Me // Deprecated: Use CreateConnectMyComputerNodeTokenRequest.ProtoReflect.Descriptor instead. func (*CreateConnectMyComputerNodeTokenRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{54} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{52} } func (x *CreateConnectMyComputerNodeTokenRequest) GetRootClusterUri() string { @@ -3179,7 +3027,7 @@ type CreateConnectMyComputerNodeTokenResponse struct { func (x *CreateConnectMyComputerNodeTokenResponse) Reset() { *x = CreateConnectMyComputerNodeTokenResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[55] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3191,7 +3039,7 @@ func (x *CreateConnectMyComputerNodeTokenResponse) String() string { func (*CreateConnectMyComputerNodeTokenResponse) ProtoMessage() {} func (x *CreateConnectMyComputerNodeTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[55] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3204,7 +3052,7 @@ func (x *CreateConnectMyComputerNodeTokenResponse) ProtoReflect() protoreflect.M // Deprecated: Use CreateConnectMyComputerNodeTokenResponse.ProtoReflect.Descriptor instead. func (*CreateConnectMyComputerNodeTokenResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{55} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{53} } func (x *CreateConnectMyComputerNodeTokenResponse) GetToken() string { @@ -3223,7 +3071,7 @@ type WaitForConnectMyComputerNodeJoinRequest struct { func (x *WaitForConnectMyComputerNodeJoinRequest) Reset() { *x = WaitForConnectMyComputerNodeJoinRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[56] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3235,7 +3083,7 @@ func (x *WaitForConnectMyComputerNodeJoinRequest) String() string { func (*WaitForConnectMyComputerNodeJoinRequest) ProtoMessage() {} func (x *WaitForConnectMyComputerNodeJoinRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[56] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3248,7 +3096,7 @@ func (x *WaitForConnectMyComputerNodeJoinRequest) ProtoReflect() protoreflect.Me // Deprecated: Use WaitForConnectMyComputerNodeJoinRequest.ProtoReflect.Descriptor instead. func (*WaitForConnectMyComputerNodeJoinRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{56} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{54} } func (x *WaitForConnectMyComputerNodeJoinRequest) GetRootClusterUri() string { @@ -3267,7 +3115,7 @@ type WaitForConnectMyComputerNodeJoinResponse struct { func (x *WaitForConnectMyComputerNodeJoinResponse) Reset() { *x = WaitForConnectMyComputerNodeJoinResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[57] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3279,7 +3127,7 @@ func (x *WaitForConnectMyComputerNodeJoinResponse) String() string { func (*WaitForConnectMyComputerNodeJoinResponse) ProtoMessage() {} func (x *WaitForConnectMyComputerNodeJoinResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[57] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3292,7 +3140,7 @@ func (x *WaitForConnectMyComputerNodeJoinResponse) ProtoReflect() protoreflect.M // Deprecated: Use WaitForConnectMyComputerNodeJoinResponse.ProtoReflect.Descriptor instead. func (*WaitForConnectMyComputerNodeJoinResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{57} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{55} } func (x *WaitForConnectMyComputerNodeJoinResponse) GetServer() *Server { @@ -3311,7 +3159,7 @@ type DeleteConnectMyComputerNodeRequest struct { func (x *DeleteConnectMyComputerNodeRequest) Reset() { *x = DeleteConnectMyComputerNodeRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[58] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3323,7 +3171,7 @@ func (x *DeleteConnectMyComputerNodeRequest) String() string { func (*DeleteConnectMyComputerNodeRequest) ProtoMessage() {} func (x *DeleteConnectMyComputerNodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[58] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3336,7 +3184,7 @@ func (x *DeleteConnectMyComputerNodeRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteConnectMyComputerNodeRequest.ProtoReflect.Descriptor instead. func (*DeleteConnectMyComputerNodeRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{58} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{56} } func (x *DeleteConnectMyComputerNodeRequest) GetRootClusterUri() string { @@ -3354,7 +3202,7 @@ type DeleteConnectMyComputerNodeResponse struct { func (x *DeleteConnectMyComputerNodeResponse) Reset() { *x = DeleteConnectMyComputerNodeResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[59] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3366,7 +3214,7 @@ func (x *DeleteConnectMyComputerNodeResponse) String() string { func (*DeleteConnectMyComputerNodeResponse) ProtoMessage() {} func (x *DeleteConnectMyComputerNodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[59] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3379,7 +3227,7 @@ func (x *DeleteConnectMyComputerNodeResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use DeleteConnectMyComputerNodeResponse.ProtoReflect.Descriptor instead. func (*DeleteConnectMyComputerNodeResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{59} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{57} } type GetConnectMyComputerNodeNameRequest struct { @@ -3391,7 +3239,7 @@ type GetConnectMyComputerNodeNameRequest struct { func (x *GetConnectMyComputerNodeNameRequest) Reset() { *x = GetConnectMyComputerNodeNameRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[60] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3403,7 +3251,7 @@ func (x *GetConnectMyComputerNodeNameRequest) String() string { func (*GetConnectMyComputerNodeNameRequest) ProtoMessage() {} func (x *GetConnectMyComputerNodeNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[60] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3416,7 +3264,7 @@ func (x *GetConnectMyComputerNodeNameRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetConnectMyComputerNodeNameRequest.ProtoReflect.Descriptor instead. func (*GetConnectMyComputerNodeNameRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{60} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{58} } func (x *GetConnectMyComputerNodeNameRequest) GetRootClusterUri() string { @@ -3435,7 +3283,7 @@ type GetConnectMyComputerNodeNameResponse struct { func (x *GetConnectMyComputerNodeNameResponse) Reset() { *x = GetConnectMyComputerNodeNameResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[61] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3447,7 +3295,7 @@ func (x *GetConnectMyComputerNodeNameResponse) String() string { func (*GetConnectMyComputerNodeNameResponse) ProtoMessage() {} func (x *GetConnectMyComputerNodeNameResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[61] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3460,7 +3308,7 @@ func (x *GetConnectMyComputerNodeNameResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use GetConnectMyComputerNodeNameResponse.ProtoReflect.Descriptor instead. func (*GetConnectMyComputerNodeNameResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{61} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{59} } func (x *GetConnectMyComputerNodeNameResponse) GetName() string { @@ -3500,7 +3348,7 @@ type ListUnifiedResourcesRequest struct { func (x *ListUnifiedResourcesRequest) Reset() { *x = ListUnifiedResourcesRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[62] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3512,7 +3360,7 @@ func (x *ListUnifiedResourcesRequest) String() string { func (*ListUnifiedResourcesRequest) ProtoMessage() {} func (x *ListUnifiedResourcesRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[62] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3525,7 +3373,7 @@ func (x *ListUnifiedResourcesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUnifiedResourcesRequest.ProtoReflect.Descriptor instead. func (*ListUnifiedResourcesRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{62} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{60} } func (x *ListUnifiedResourcesRequest) GetClusterUri() string { @@ -3610,7 +3458,7 @@ type SortBy struct { func (x *SortBy) Reset() { *x = SortBy{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[63] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3622,7 +3470,7 @@ func (x *SortBy) String() string { func (*SortBy) ProtoMessage() {} func (x *SortBy) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[63] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3635,7 +3483,7 @@ func (x *SortBy) ProtoReflect() protoreflect.Message { // Deprecated: Use SortBy.ProtoReflect.Descriptor instead. func (*SortBy) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{63} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{61} } func (x *SortBy) GetIsDesc() bool { @@ -3664,7 +3512,7 @@ type ListUnifiedResourcesResponse struct { func (x *ListUnifiedResourcesResponse) Reset() { *x = ListUnifiedResourcesResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[64] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3676,7 +3524,7 @@ func (x *ListUnifiedResourcesResponse) String() string { func (*ListUnifiedResourcesResponse) ProtoMessage() {} func (x *ListUnifiedResourcesResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[64] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3689,7 +3537,7 @@ func (x *ListUnifiedResourcesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUnifiedResourcesResponse.ProtoReflect.Descriptor instead. func (*ListUnifiedResourcesResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{64} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{62} } func (x *ListUnifiedResourcesResponse) GetResources() []*PaginatedResource { @@ -3723,7 +3571,7 @@ type PaginatedResource struct { func (x *PaginatedResource) Reset() { *x = PaginatedResource{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[65] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3735,7 +3583,7 @@ func (x *PaginatedResource) String() string { func (*PaginatedResource) ProtoMessage() {} func (x *PaginatedResource) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[65] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3748,7 +3596,7 @@ func (x *PaginatedResource) ProtoReflect() protoreflect.Message { // Deprecated: Use PaginatedResource.ProtoReflect.Descriptor instead. func (*PaginatedResource) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{65} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{63} } func (x *PaginatedResource) GetResource() isPaginatedResource_Resource { @@ -3853,7 +3701,7 @@ type GetUserPreferencesRequest struct { func (x *GetUserPreferencesRequest) Reset() { *x = GetUserPreferencesRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[66] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3865,7 +3713,7 @@ func (x *GetUserPreferencesRequest) String() string { func (*GetUserPreferencesRequest) ProtoMessage() {} func (x *GetUserPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[66] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3878,7 +3726,7 @@ func (x *GetUserPreferencesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserPreferencesRequest.ProtoReflect.Descriptor instead. func (*GetUserPreferencesRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{66} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{64} } func (x *GetUserPreferencesRequest) GetClusterUri() string { @@ -3897,7 +3745,7 @@ type GetUserPreferencesResponse struct { func (x *GetUserPreferencesResponse) Reset() { *x = GetUserPreferencesResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[67] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3909,7 +3757,7 @@ func (x *GetUserPreferencesResponse) String() string { func (*GetUserPreferencesResponse) ProtoMessage() {} func (x *GetUserPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[67] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3922,7 +3770,7 @@ func (x *GetUserPreferencesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserPreferencesResponse.ProtoReflect.Descriptor instead. func (*GetUserPreferencesResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{67} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{65} } func (x *GetUserPreferencesResponse) GetUserPreferences() *UserPreferences { @@ -3942,7 +3790,7 @@ type UpdateUserPreferencesRequest struct { func (x *UpdateUserPreferencesRequest) Reset() { *x = UpdateUserPreferencesRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[68] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3954,7 +3802,7 @@ func (x *UpdateUserPreferencesRequest) String() string { func (*UpdateUserPreferencesRequest) ProtoMessage() {} func (x *UpdateUserPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[68] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3967,7 +3815,7 @@ func (x *UpdateUserPreferencesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateUserPreferencesRequest.ProtoReflect.Descriptor instead. func (*UpdateUserPreferencesRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{68} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{66} } func (x *UpdateUserPreferencesRequest) GetClusterUri() string { @@ -3993,7 +3841,7 @@ type UpdateUserPreferencesResponse struct { func (x *UpdateUserPreferencesResponse) Reset() { *x = UpdateUserPreferencesResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[69] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4005,7 +3853,7 @@ func (x *UpdateUserPreferencesResponse) String() string { func (*UpdateUserPreferencesResponse) ProtoMessage() {} func (x *UpdateUserPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[69] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4018,7 +3866,7 @@ func (x *UpdateUserPreferencesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateUserPreferencesResponse.ProtoReflect.Descriptor instead. func (*UpdateUserPreferencesResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{69} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{67} } func (x *UpdateUserPreferencesResponse) GetUserPreferences() *UserPreferences { @@ -4040,7 +3888,7 @@ type UserPreferences struct { func (x *UserPreferences) Reset() { *x = UserPreferences{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[70] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4052,7 +3900,7 @@ func (x *UserPreferences) String() string { func (*UserPreferences) ProtoMessage() {} func (x *UserPreferences) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[70] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4065,7 +3913,7 @@ func (x *UserPreferences) ProtoReflect() protoreflect.Message { // Deprecated: Use UserPreferences.ProtoReflect.Descriptor instead. func (*UserPreferences) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{70} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{68} } func (x *UserPreferences) GetClusterPreferences() *v11.ClusterUserPreferences { @@ -4095,7 +3943,7 @@ type AuthenticateWebDeviceRequest struct { func (x *AuthenticateWebDeviceRequest) Reset() { *x = AuthenticateWebDeviceRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[71] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4107,7 +3955,7 @@ func (x *AuthenticateWebDeviceRequest) String() string { func (*AuthenticateWebDeviceRequest) ProtoMessage() {} func (x *AuthenticateWebDeviceRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[71] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4120,7 +3968,7 @@ func (x *AuthenticateWebDeviceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthenticateWebDeviceRequest.ProtoReflect.Descriptor instead. func (*AuthenticateWebDeviceRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{71} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{69} } func (x *AuthenticateWebDeviceRequest) GetDeviceWebToken() *v12.DeviceWebToken { @@ -4149,7 +3997,7 @@ type AuthenticateWebDeviceResponse struct { func (x *AuthenticateWebDeviceResponse) Reset() { *x = AuthenticateWebDeviceResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[72] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4161,7 +4009,7 @@ func (x *AuthenticateWebDeviceResponse) String() string { func (*AuthenticateWebDeviceResponse) ProtoMessage() {} func (x *AuthenticateWebDeviceResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[72] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4174,7 +4022,7 @@ func (x *AuthenticateWebDeviceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthenticateWebDeviceResponse.ProtoReflect.Descriptor instead. func (*AuthenticateWebDeviceResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{72} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{70} } func (x *AuthenticateWebDeviceResponse) GetConfirmationToken() *v12.DeviceConfirmationToken { @@ -4193,7 +4041,7 @@ type GetAppRequest struct { func (x *GetAppRequest) Reset() { *x = GetAppRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[73] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4205,7 +4053,7 @@ func (x *GetAppRequest) String() string { func (*GetAppRequest) ProtoMessage() {} func (x *GetAppRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[73] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4218,7 +4066,7 @@ func (x *GetAppRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAppRequest.ProtoReflect.Descriptor instead. func (*GetAppRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{73} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{71} } func (x *GetAppRequest) GetAppUri() string { @@ -4237,7 +4085,7 @@ type GetAppResponse struct { func (x *GetAppResponse) Reset() { *x = GetAppResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[74] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4249,7 +4097,7 @@ func (x *GetAppResponse) String() string { func (*GetAppResponse) ProtoMessage() {} func (x *GetAppResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[74] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4262,7 +4110,7 @@ func (x *GetAppResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAppResponse.ProtoReflect.Descriptor instead. func (*GetAppResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{74} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{72} } func (x *GetAppResponse) GetApp() *App { @@ -4285,7 +4133,7 @@ type TargetDesktop struct { func (x *TargetDesktop) Reset() { *x = TargetDesktop{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[75] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4297,7 +4145,7 @@ func (x *TargetDesktop) String() string { func (*TargetDesktop) ProtoMessage() {} func (x *TargetDesktop) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[75] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4310,7 +4158,7 @@ func (x *TargetDesktop) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetDesktop.ProtoReflect.Descriptor instead. func (*TargetDesktop) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{75} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{73} } func (x *TargetDesktop) GetDesktopUri() string { @@ -4341,7 +4189,7 @@ type ConnectToDesktopRequest struct { func (x *ConnectToDesktopRequest) Reset() { *x = ConnectToDesktopRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[76] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4353,7 +4201,7 @@ func (x *ConnectToDesktopRequest) String() string { func (*ConnectToDesktopRequest) ProtoMessage() {} func (x *ConnectToDesktopRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[76] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4366,7 +4214,7 @@ func (x *ConnectToDesktopRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectToDesktopRequest.ProtoReflect.Descriptor instead. func (*ConnectToDesktopRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{76} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{74} } func (x *ConnectToDesktopRequest) GetData() []byte { @@ -4394,7 +4242,7 @@ type ConnectToDesktopResponse struct { func (x *ConnectToDesktopResponse) Reset() { *x = ConnectToDesktopResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[77] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4406,7 +4254,7 @@ func (x *ConnectToDesktopResponse) String() string { func (*ConnectToDesktopResponse) ProtoMessage() {} func (x *ConnectToDesktopResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[77] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4419,7 +4267,7 @@ func (x *ConnectToDesktopResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectToDesktopResponse.ProtoReflect.Descriptor instead. func (*ConnectToDesktopResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{77} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{75} } func (x *ConnectToDesktopResponse) GetData() []byte { @@ -4444,7 +4292,7 @@ type SetSharedDirectoryForDesktopSessionRequest struct { func (x *SetSharedDirectoryForDesktopSessionRequest) Reset() { *x = SetSharedDirectoryForDesktopSessionRequest{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[78] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4456,7 +4304,7 @@ func (x *SetSharedDirectoryForDesktopSessionRequest) String() string { func (*SetSharedDirectoryForDesktopSessionRequest) ProtoMessage() {} func (x *SetSharedDirectoryForDesktopSessionRequest) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[78] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4469,7 +4317,7 @@ func (x *SetSharedDirectoryForDesktopSessionRequest) ProtoReflect() protoreflect // Deprecated: Use SetSharedDirectoryForDesktopSessionRequest.ProtoReflect.Descriptor instead. func (*SetSharedDirectoryForDesktopSessionRequest) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{78} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{76} } func (x *SetSharedDirectoryForDesktopSessionRequest) GetDesktopUri() string { @@ -4502,7 +4350,7 @@ type SetSharedDirectoryForDesktopSessionResponse struct { func (x *SetSharedDirectoryForDesktopSessionResponse) Reset() { *x = SetSharedDirectoryForDesktopSessionResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[79] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4514,7 +4362,7 @@ func (x *SetSharedDirectoryForDesktopSessionResponse) String() string { func (*SetSharedDirectoryForDesktopSessionResponse) ProtoMessage() {} func (x *SetSharedDirectoryForDesktopSessionResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[79] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4527,7 +4375,7 @@ func (x *SetSharedDirectoryForDesktopSessionResponse) ProtoReflect() protoreflec // Deprecated: Use SetSharedDirectoryForDesktopSessionResponse.ProtoReflect.Descriptor instead. func (*SetSharedDirectoryForDesktopSessionResponse) Descriptor() ([]byte, []int) { - return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{79} + return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{77} } // LoginPasswordlessRequestInit contains fields needed to init the stream request. @@ -4541,7 +4389,7 @@ type LoginPasswordlessRequest_LoginPasswordlessRequestInit struct { func (x *LoginPasswordlessRequest_LoginPasswordlessRequestInit) Reset() { *x = LoginPasswordlessRequest_LoginPasswordlessRequestInit{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[80] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4553,7 +4401,7 @@ func (x *LoginPasswordlessRequest_LoginPasswordlessRequestInit) String() string func (*LoginPasswordlessRequest_LoginPasswordlessRequestInit) ProtoMessage() {} func (x *LoginPasswordlessRequest_LoginPasswordlessRequestInit) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[80] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4587,7 +4435,7 @@ type LoginPasswordlessRequest_LoginPasswordlessPINResponse struct { func (x *LoginPasswordlessRequest_LoginPasswordlessPINResponse) Reset() { *x = LoginPasswordlessRequest_LoginPasswordlessPINResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[81] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4599,7 +4447,7 @@ func (x *LoginPasswordlessRequest_LoginPasswordlessPINResponse) String() string func (*LoginPasswordlessRequest_LoginPasswordlessPINResponse) ProtoMessage() {} func (x *LoginPasswordlessRequest_LoginPasswordlessPINResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[81] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[79] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4635,7 +4483,7 @@ type LoginPasswordlessRequest_LoginPasswordlessCredentialResponse struct { func (x *LoginPasswordlessRequest_LoginPasswordlessCredentialResponse) Reset() { *x = LoginPasswordlessRequest_LoginPasswordlessCredentialResponse{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[82] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4647,7 +4495,7 @@ func (x *LoginPasswordlessRequest_LoginPasswordlessCredentialResponse) String() func (*LoginPasswordlessRequest_LoginPasswordlessCredentialResponse) ProtoMessage() {} func (x *LoginPasswordlessRequest_LoginPasswordlessCredentialResponse) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[82] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[80] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4685,7 +4533,7 @@ type LoginRequest_LocalParams struct { func (x *LoginRequest_LocalParams) Reset() { *x = LoginRequest_LocalParams{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[83] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4697,7 +4545,7 @@ func (x *LoginRequest_LocalParams) String() string { func (*LoginRequest_LocalParams) ProtoMessage() {} func (x *LoginRequest_LocalParams) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[83] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[81] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4747,7 +4595,7 @@ type LoginRequest_SsoParams struct { func (x *LoginRequest_SsoParams) Reset() { *x = LoginRequest_SsoParams{} - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[84] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4759,7 +4607,7 @@ func (x *LoginRequest_SsoParams) String() string { func (*LoginRequest_SsoParams) ProtoMessage() {} func (x *LoginRequest_SsoParams) ProtoReflect() protoreflect.Message { - mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[84] + mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[82] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4968,21 +4816,7 @@ const file_teleport_lib_teleterm_v1_service_proto_rawDesc = "" + "\vgateway_uri\x18\x01 \x01(\tR\n" + "gatewayUri\x12\x1d\n" + "\n" + - "local_port\x18\x02 \x01(\tR\tlocalPort\"\xd6\x01\n" + - "\x11GetServersRequest\x12\x1f\n" + - "\vcluster_uri\x18\x01 \x01(\tR\n" + - "clusterUri\x12\x14\n" + - "\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x1b\n" + - "\tstart_key\x18\x03 \x01(\tR\bstartKey\x12\x16\n" + - "\x06search\x18\x04 \x01(\tR\x06search\x12\x14\n" + - "\x05query\x18\x05 \x01(\tR\x05query\x12\x17\n" + - "\asort_by\x18\x06 \x01(\tR\x06sortBy\x12&\n" + - "\x0fsearch_as_roles\x18\a \x01(\tR\rsearchAsRoles\"\x8c\x01\n" + - "\x12GetServersResponse\x128\n" + - "\x06agents\x18\x01 \x03(\v2 .teleport.lib.teleterm.v1.ServerR\x06agents\x12\x1f\n" + - "\vtotal_count\x18\x02 \x01(\x05R\n" + - "totalCount\x12\x1b\n" + - "\tstart_key\x18\x03 \x01(\tR\bstartKey\"9\n" + + "local_port\x18\x02 \x01(\tR\tlocalPort\"9\n" + "\x16GetAuthSettingsRequest\x12\x1f\n" + "\vcluster_uri\x18\x01 \x01(\tR\n" + "clusterUri\"@\n" + @@ -5093,16 +4927,14 @@ const file_teleport_lib_teleterm_v1_service_proto_rawDesc = "" + ")HEADLESS_AUTHENTICATION_STATE_UNSPECIFIED\x10\x00\x12)\n" + "%HEADLESS_AUTHENTICATION_STATE_PENDING\x10\x01\x12(\n" + "$HEADLESS_AUTHENTICATION_STATE_DENIED\x10\x02\x12*\n" + - "&HEADLESS_AUTHENTICATION_STATE_APPROVED\x10\x032\x97,\n" + + "&HEADLESS_AUTHENTICATION_STATE_APPROVED\x10\x032\xa9+\n" + "\x0fTerminalService\x12\xa0\x01\n" + "\x1dUpdateTshdEventsServerAddress\x12>.teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressRequest\x1a?.teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressResponse\x12q\n" + "\x10ListRootClusters\x12-.teleport.lib.teleterm.v1.ListClustersRequest\x1a..teleport.lib.teleterm.v1.ListClustersResponse\x12u\n" + "\x10ListLeafClusters\x121.teleport.lib.teleterm.v1.ListLeafClustersRequest\x1a..teleport.lib.teleterm.v1.ListClustersResponse\x12\x85\x01\n" + "\x14StartHeadlessWatcher\x125.teleport.lib.teleterm.v1.StartHeadlessWatcherRequest\x1a6.teleport.lib.teleterm.v1.StartHeadlessWatcherResponse\x12|\n" + "\x11ListDatabaseUsers\x122.teleport.lib.teleterm.v1.ListDatabaseUsersRequest\x1a3.teleport.lib.teleterm.v1.ListDatabaseUsersResponse\x12\x82\x01\n" + - "\x13ListDatabaseServers\x124.teleport.lib.teleterm.v1.ListDatabaseServersRequest\x1a5.teleport.lib.teleterm.v1.ListDatabaseServersResponse\x12l\n" + - "\n" + - "GetServers\x12+.teleport.lib.teleterm.v1.GetServersRequest\x1a,.teleport.lib.teleterm.v1.GetServersResponse\"\x03\x88\x02\x01\x12|\n" + + "\x13ListDatabaseServers\x124.teleport.lib.teleterm.v1.ListDatabaseServersRequest\x1a5.teleport.lib.teleterm.v1.ListDatabaseServersResponse\x12|\n" + "\x11GetAccessRequests\x122.teleport.lib.teleterm.v1.GetAccessRequestsRequest\x1a3.teleport.lib.teleterm.v1.GetAccessRequestsResponse\x12y\n" + "\x10GetAccessRequest\x121.teleport.lib.teleterm.v1.GetAccessRequestRequest\x1a2.teleport.lib.teleterm.v1.GetAccessRequestResponse\x12t\n" + "\x13DeleteAccessRequest\x124.teleport.lib.teleterm.v1.DeleteAccessRequestRequest\x1a'.teleport.lib.teleterm.v1.EmptyResponse\x12\x82\x01\n" + @@ -5157,7 +4989,7 @@ func file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP() []byte { } var file_teleport_lib_teleterm_v1_service_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_teleport_lib_teleterm_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 85) +var file_teleport_lib_teleterm_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 83) var file_teleport_lib_teleterm_v1_service_proto_goTypes = []any{ (PasswordlessPrompt)(0), // 0: teleport.lib.teleterm.v1.PasswordlessPrompt (FileTransferDirection)(0), // 1: teleport.lib.teleterm.v1.FileTransferDirection @@ -5207,204 +5039,199 @@ var file_teleport_lib_teleterm_v1_service_proto_goTypes = []any{ (*RemoveGatewayRequest)(nil), // 45: teleport.lib.teleterm.v1.RemoveGatewayRequest (*SetGatewayTargetSubresourceNameRequest)(nil), // 46: teleport.lib.teleterm.v1.SetGatewayTargetSubresourceNameRequest (*SetGatewayLocalPortRequest)(nil), // 47: teleport.lib.teleterm.v1.SetGatewayLocalPortRequest - (*GetServersRequest)(nil), // 48: teleport.lib.teleterm.v1.GetServersRequest - (*GetServersResponse)(nil), // 49: teleport.lib.teleterm.v1.GetServersResponse - (*GetAuthSettingsRequest)(nil), // 50: teleport.lib.teleterm.v1.GetAuthSettingsRequest - (*UpdateTshdEventsServerAddressRequest)(nil), // 51: teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressRequest - (*UpdateTshdEventsServerAddressResponse)(nil), // 52: teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressResponse - (*UpdateHeadlessAuthenticationStateRequest)(nil), // 53: teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateRequest - (*UpdateHeadlessAuthenticationStateResponse)(nil), // 54: teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateResponse - (*CreateConnectMyComputerRoleRequest)(nil), // 55: teleport.lib.teleterm.v1.CreateConnectMyComputerRoleRequest - (*CreateConnectMyComputerRoleResponse)(nil), // 56: teleport.lib.teleterm.v1.CreateConnectMyComputerRoleResponse - (*CreateConnectMyComputerNodeTokenRequest)(nil), // 57: teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenRequest - (*CreateConnectMyComputerNodeTokenResponse)(nil), // 58: teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenResponse - (*WaitForConnectMyComputerNodeJoinRequest)(nil), // 59: teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinRequest - (*WaitForConnectMyComputerNodeJoinResponse)(nil), // 60: teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinResponse - (*DeleteConnectMyComputerNodeRequest)(nil), // 61: teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeRequest - (*DeleteConnectMyComputerNodeResponse)(nil), // 62: teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeResponse - (*GetConnectMyComputerNodeNameRequest)(nil), // 63: teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameRequest - (*GetConnectMyComputerNodeNameResponse)(nil), // 64: teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameResponse - (*ListUnifiedResourcesRequest)(nil), // 65: teleport.lib.teleterm.v1.ListUnifiedResourcesRequest - (*SortBy)(nil), // 66: teleport.lib.teleterm.v1.SortBy - (*ListUnifiedResourcesResponse)(nil), // 67: teleport.lib.teleterm.v1.ListUnifiedResourcesResponse - (*PaginatedResource)(nil), // 68: teleport.lib.teleterm.v1.PaginatedResource - (*GetUserPreferencesRequest)(nil), // 69: teleport.lib.teleterm.v1.GetUserPreferencesRequest - (*GetUserPreferencesResponse)(nil), // 70: teleport.lib.teleterm.v1.GetUserPreferencesResponse - (*UpdateUserPreferencesRequest)(nil), // 71: teleport.lib.teleterm.v1.UpdateUserPreferencesRequest - (*UpdateUserPreferencesResponse)(nil), // 72: teleport.lib.teleterm.v1.UpdateUserPreferencesResponse - (*UserPreferences)(nil), // 73: teleport.lib.teleterm.v1.UserPreferences - (*AuthenticateWebDeviceRequest)(nil), // 74: teleport.lib.teleterm.v1.AuthenticateWebDeviceRequest - (*AuthenticateWebDeviceResponse)(nil), // 75: teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse - (*GetAppRequest)(nil), // 76: teleport.lib.teleterm.v1.GetAppRequest - (*GetAppResponse)(nil), // 77: teleport.lib.teleterm.v1.GetAppResponse - (*TargetDesktop)(nil), // 78: teleport.lib.teleterm.v1.TargetDesktop - (*ConnectToDesktopRequest)(nil), // 79: teleport.lib.teleterm.v1.ConnectToDesktopRequest - (*ConnectToDesktopResponse)(nil), // 80: teleport.lib.teleterm.v1.ConnectToDesktopResponse - (*SetSharedDirectoryForDesktopSessionRequest)(nil), // 81: teleport.lib.teleterm.v1.SetSharedDirectoryForDesktopSessionRequest - (*SetSharedDirectoryForDesktopSessionResponse)(nil), // 82: teleport.lib.teleterm.v1.SetSharedDirectoryForDesktopSessionResponse - (*LoginPasswordlessRequest_LoginPasswordlessRequestInit)(nil), // 83: teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessRequestInit - (*LoginPasswordlessRequest_LoginPasswordlessPINResponse)(nil), // 84: teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessPINResponse - (*LoginPasswordlessRequest_LoginPasswordlessCredentialResponse)(nil), // 85: teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessCredentialResponse - (*LoginRequest_LocalParams)(nil), // 86: teleport.lib.teleterm.v1.LoginRequest.LocalParams - (*LoginRequest_SsoParams)(nil), // 87: teleport.lib.teleterm.v1.LoginRequest.SsoParams - (*AccessRequest)(nil), // 88: teleport.lib.teleterm.v1.AccessRequest - (*ResourceID)(nil), // 89: teleport.lib.teleterm.v1.ResourceID - (*timestamppb.Timestamp)(nil), // 90: google.protobuf.Timestamp - (*v1.AccessList)(nil), // 91: teleport.accesslist.v1.AccessList - (*KubeResource)(nil), // 92: teleport.lib.teleterm.v1.KubeResource - (*Cluster)(nil), // 93: teleport.lib.teleterm.v1.Cluster - (*DatabaseServer)(nil), // 94: teleport.lib.teleterm.v1.DatabaseServer - (*Gateway)(nil), // 95: teleport.lib.teleterm.v1.Gateway - (*Server)(nil), // 96: teleport.lib.teleterm.v1.Server - (*Database)(nil), // 97: teleport.lib.teleterm.v1.Database - (*Kube)(nil), // 98: teleport.lib.teleterm.v1.Kube - (*App)(nil), // 99: teleport.lib.teleterm.v1.App - (*WindowsDesktop)(nil), // 100: teleport.lib.teleterm.v1.WindowsDesktop - (*v11.ClusterUserPreferences)(nil), // 101: teleport.userpreferences.v1.ClusterUserPreferences - (*v11.UnifiedResourcePreferences)(nil), // 102: teleport.userpreferences.v1.UnifiedResourcePreferences - (*v12.DeviceWebToken)(nil), // 103: teleport.devicetrust.v1.DeviceWebToken - (*v12.DeviceConfirmationToken)(nil), // 104: teleport.devicetrust.v1.DeviceConfirmationToken - (*ReportUsageEventRequest)(nil), // 105: teleport.lib.teleterm.v1.ReportUsageEventRequest - (*AuthSettings)(nil), // 106: teleport.lib.teleterm.v1.AuthSettings + (*GetAuthSettingsRequest)(nil), // 48: teleport.lib.teleterm.v1.GetAuthSettingsRequest + (*UpdateTshdEventsServerAddressRequest)(nil), // 49: teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressRequest + (*UpdateTshdEventsServerAddressResponse)(nil), // 50: teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressResponse + (*UpdateHeadlessAuthenticationStateRequest)(nil), // 51: teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateRequest + (*UpdateHeadlessAuthenticationStateResponse)(nil), // 52: teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateResponse + (*CreateConnectMyComputerRoleRequest)(nil), // 53: teleport.lib.teleterm.v1.CreateConnectMyComputerRoleRequest + (*CreateConnectMyComputerRoleResponse)(nil), // 54: teleport.lib.teleterm.v1.CreateConnectMyComputerRoleResponse + (*CreateConnectMyComputerNodeTokenRequest)(nil), // 55: teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenRequest + (*CreateConnectMyComputerNodeTokenResponse)(nil), // 56: teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenResponse + (*WaitForConnectMyComputerNodeJoinRequest)(nil), // 57: teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinRequest + (*WaitForConnectMyComputerNodeJoinResponse)(nil), // 58: teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinResponse + (*DeleteConnectMyComputerNodeRequest)(nil), // 59: teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeRequest + (*DeleteConnectMyComputerNodeResponse)(nil), // 60: teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeResponse + (*GetConnectMyComputerNodeNameRequest)(nil), // 61: teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameRequest + (*GetConnectMyComputerNodeNameResponse)(nil), // 62: teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameResponse + (*ListUnifiedResourcesRequest)(nil), // 63: teleport.lib.teleterm.v1.ListUnifiedResourcesRequest + (*SortBy)(nil), // 64: teleport.lib.teleterm.v1.SortBy + (*ListUnifiedResourcesResponse)(nil), // 65: teleport.lib.teleterm.v1.ListUnifiedResourcesResponse + (*PaginatedResource)(nil), // 66: teleport.lib.teleterm.v1.PaginatedResource + (*GetUserPreferencesRequest)(nil), // 67: teleport.lib.teleterm.v1.GetUserPreferencesRequest + (*GetUserPreferencesResponse)(nil), // 68: teleport.lib.teleterm.v1.GetUserPreferencesResponse + (*UpdateUserPreferencesRequest)(nil), // 69: teleport.lib.teleterm.v1.UpdateUserPreferencesRequest + (*UpdateUserPreferencesResponse)(nil), // 70: teleport.lib.teleterm.v1.UpdateUserPreferencesResponse + (*UserPreferences)(nil), // 71: teleport.lib.teleterm.v1.UserPreferences + (*AuthenticateWebDeviceRequest)(nil), // 72: teleport.lib.teleterm.v1.AuthenticateWebDeviceRequest + (*AuthenticateWebDeviceResponse)(nil), // 73: teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse + (*GetAppRequest)(nil), // 74: teleport.lib.teleterm.v1.GetAppRequest + (*GetAppResponse)(nil), // 75: teleport.lib.teleterm.v1.GetAppResponse + (*TargetDesktop)(nil), // 76: teleport.lib.teleterm.v1.TargetDesktop + (*ConnectToDesktopRequest)(nil), // 77: teleport.lib.teleterm.v1.ConnectToDesktopRequest + (*ConnectToDesktopResponse)(nil), // 78: teleport.lib.teleterm.v1.ConnectToDesktopResponse + (*SetSharedDirectoryForDesktopSessionRequest)(nil), // 79: teleport.lib.teleterm.v1.SetSharedDirectoryForDesktopSessionRequest + (*SetSharedDirectoryForDesktopSessionResponse)(nil), // 80: teleport.lib.teleterm.v1.SetSharedDirectoryForDesktopSessionResponse + (*LoginPasswordlessRequest_LoginPasswordlessRequestInit)(nil), // 81: teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessRequestInit + (*LoginPasswordlessRequest_LoginPasswordlessPINResponse)(nil), // 82: teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessPINResponse + (*LoginPasswordlessRequest_LoginPasswordlessCredentialResponse)(nil), // 83: teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessCredentialResponse + (*LoginRequest_LocalParams)(nil), // 84: teleport.lib.teleterm.v1.LoginRequest.LocalParams + (*LoginRequest_SsoParams)(nil), // 85: teleport.lib.teleterm.v1.LoginRequest.SsoParams + (*AccessRequest)(nil), // 86: teleport.lib.teleterm.v1.AccessRequest + (*ResourceID)(nil), // 87: teleport.lib.teleterm.v1.ResourceID + (*timestamppb.Timestamp)(nil), // 88: google.protobuf.Timestamp + (*v1.AccessList)(nil), // 89: teleport.accesslist.v1.AccessList + (*KubeResource)(nil), // 90: teleport.lib.teleterm.v1.KubeResource + (*Cluster)(nil), // 91: teleport.lib.teleterm.v1.Cluster + (*DatabaseServer)(nil), // 92: teleport.lib.teleterm.v1.DatabaseServer + (*Gateway)(nil), // 93: teleport.lib.teleterm.v1.Gateway + (*Server)(nil), // 94: teleport.lib.teleterm.v1.Server + (*Database)(nil), // 95: teleport.lib.teleterm.v1.Database + (*Kube)(nil), // 96: teleport.lib.teleterm.v1.Kube + (*App)(nil), // 97: teleport.lib.teleterm.v1.App + (*WindowsDesktop)(nil), // 98: teleport.lib.teleterm.v1.WindowsDesktop + (*v11.ClusterUserPreferences)(nil), // 99: teleport.userpreferences.v1.ClusterUserPreferences + (*v11.UnifiedResourcePreferences)(nil), // 100: teleport.userpreferences.v1.UnifiedResourcePreferences + (*v12.DeviceWebToken)(nil), // 101: teleport.devicetrust.v1.DeviceWebToken + (*v12.DeviceConfirmationToken)(nil), // 102: teleport.devicetrust.v1.DeviceConfirmationToken + (*ReportUsageEventRequest)(nil), // 103: teleport.lib.teleterm.v1.ReportUsageEventRequest + (*AuthSettings)(nil), // 104: teleport.lib.teleterm.v1.AuthSettings } var file_teleport_lib_teleterm_v1_service_proto_depIdxs = []int32{ - 88, // 0: teleport.lib.teleterm.v1.GetAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest - 88, // 1: teleport.lib.teleterm.v1.GetAccessRequestsResponse.requests:type_name -> teleport.lib.teleterm.v1.AccessRequest - 89, // 2: teleport.lib.teleterm.v1.CreateAccessRequestRequest.resource_ids:type_name -> teleport.lib.teleterm.v1.ResourceID - 90, // 3: teleport.lib.teleterm.v1.CreateAccessRequestRequest.assume_start_time:type_name -> google.protobuf.Timestamp - 90, // 4: teleport.lib.teleterm.v1.CreateAccessRequestRequest.max_duration:type_name -> google.protobuf.Timestamp - 90, // 5: teleport.lib.teleterm.v1.CreateAccessRequestRequest.request_ttl:type_name -> google.protobuf.Timestamp - 88, // 6: teleport.lib.teleterm.v1.CreateAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest - 89, // 7: teleport.lib.teleterm.v1.GetRequestableRolesRequest.resource_ids:type_name -> teleport.lib.teleterm.v1.ResourceID - 90, // 8: teleport.lib.teleterm.v1.ReviewAccessRequestRequest.assume_start_time:type_name -> google.protobuf.Timestamp - 88, // 9: teleport.lib.teleterm.v1.ReviewAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest - 88, // 10: teleport.lib.teleterm.v1.PromoteAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest - 91, // 11: teleport.lib.teleterm.v1.GetSuggestedAccessListsResponse.access_lists:type_name -> teleport.accesslist.v1.AccessList - 92, // 12: teleport.lib.teleterm.v1.ListKubernetesResourcesResponse.resources:type_name -> teleport.lib.teleterm.v1.KubeResource + 86, // 0: teleport.lib.teleterm.v1.GetAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest + 86, // 1: teleport.lib.teleterm.v1.GetAccessRequestsResponse.requests:type_name -> teleport.lib.teleterm.v1.AccessRequest + 87, // 2: teleport.lib.teleterm.v1.CreateAccessRequestRequest.resource_ids:type_name -> teleport.lib.teleterm.v1.ResourceID + 88, // 3: teleport.lib.teleterm.v1.CreateAccessRequestRequest.assume_start_time:type_name -> google.protobuf.Timestamp + 88, // 4: teleport.lib.teleterm.v1.CreateAccessRequestRequest.max_duration:type_name -> google.protobuf.Timestamp + 88, // 5: teleport.lib.teleterm.v1.CreateAccessRequestRequest.request_ttl:type_name -> google.protobuf.Timestamp + 86, // 6: teleport.lib.teleterm.v1.CreateAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest + 87, // 7: teleport.lib.teleterm.v1.GetRequestableRolesRequest.resource_ids:type_name -> teleport.lib.teleterm.v1.ResourceID + 88, // 8: teleport.lib.teleterm.v1.ReviewAccessRequestRequest.assume_start_time:type_name -> google.protobuf.Timestamp + 86, // 9: teleport.lib.teleterm.v1.ReviewAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest + 86, // 10: teleport.lib.teleterm.v1.PromoteAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest + 89, // 11: teleport.lib.teleterm.v1.GetSuggestedAccessListsResponse.access_lists:type_name -> teleport.accesslist.v1.AccessList + 90, // 12: teleport.lib.teleterm.v1.ListKubernetesResourcesResponse.resources:type_name -> teleport.lib.teleterm.v1.KubeResource 0, // 13: teleport.lib.teleterm.v1.LoginPasswordlessResponse.prompt:type_name -> teleport.lib.teleterm.v1.PasswordlessPrompt 27, // 14: teleport.lib.teleterm.v1.LoginPasswordlessResponse.credentials:type_name -> teleport.lib.teleterm.v1.CredentialInfo - 83, // 15: teleport.lib.teleterm.v1.LoginPasswordlessRequest.init:type_name -> teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessRequestInit - 84, // 16: teleport.lib.teleterm.v1.LoginPasswordlessRequest.pin:type_name -> teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessPINResponse - 85, // 17: teleport.lib.teleterm.v1.LoginPasswordlessRequest.credential:type_name -> teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessCredentialResponse + 81, // 15: teleport.lib.teleterm.v1.LoginPasswordlessRequest.init:type_name -> teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessRequestInit + 82, // 16: teleport.lib.teleterm.v1.LoginPasswordlessRequest.pin:type_name -> teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessPINResponse + 83, // 17: teleport.lib.teleterm.v1.LoginPasswordlessRequest.credential:type_name -> teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessCredentialResponse 1, // 18: teleport.lib.teleterm.v1.FileTransferRequest.direction:type_name -> teleport.lib.teleterm.v1.FileTransferDirection - 86, // 19: teleport.lib.teleterm.v1.LoginRequest.local:type_name -> teleport.lib.teleterm.v1.LoginRequest.LocalParams - 87, // 20: teleport.lib.teleterm.v1.LoginRequest.sso:type_name -> teleport.lib.teleterm.v1.LoginRequest.SsoParams - 93, // 21: teleport.lib.teleterm.v1.ListClustersResponse.clusters:type_name -> teleport.lib.teleterm.v1.Cluster + 84, // 19: teleport.lib.teleterm.v1.LoginRequest.local:type_name -> teleport.lib.teleterm.v1.LoginRequest.LocalParams + 85, // 20: teleport.lib.teleterm.v1.LoginRequest.sso:type_name -> teleport.lib.teleterm.v1.LoginRequest.SsoParams + 91, // 21: teleport.lib.teleterm.v1.ListClustersResponse.clusters:type_name -> teleport.lib.teleterm.v1.Cluster 39, // 22: teleport.lib.teleterm.v1.ListDatabaseServersRequest.params:type_name -> teleport.lib.teleterm.v1.ListResourcesParams - 94, // 23: teleport.lib.teleterm.v1.ListDatabaseServersResponse.resources:type_name -> teleport.lib.teleterm.v1.DatabaseServer - 95, // 24: teleport.lib.teleterm.v1.ListGatewaysResponse.gateways:type_name -> teleport.lib.teleterm.v1.Gateway - 96, // 25: teleport.lib.teleterm.v1.GetServersResponse.agents:type_name -> teleport.lib.teleterm.v1.Server - 2, // 26: teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateRequest.state:type_name -> teleport.lib.teleterm.v1.HeadlessAuthenticationState - 96, // 27: teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinResponse.server:type_name -> teleport.lib.teleterm.v1.Server - 66, // 28: teleport.lib.teleterm.v1.ListUnifiedResourcesRequest.sort_by:type_name -> teleport.lib.teleterm.v1.SortBy - 68, // 29: teleport.lib.teleterm.v1.ListUnifiedResourcesResponse.resources:type_name -> teleport.lib.teleterm.v1.PaginatedResource - 97, // 30: teleport.lib.teleterm.v1.PaginatedResource.database:type_name -> teleport.lib.teleterm.v1.Database - 96, // 31: teleport.lib.teleterm.v1.PaginatedResource.server:type_name -> teleport.lib.teleterm.v1.Server - 98, // 32: teleport.lib.teleterm.v1.PaginatedResource.kube:type_name -> teleport.lib.teleterm.v1.Kube - 99, // 33: teleport.lib.teleterm.v1.PaginatedResource.app:type_name -> teleport.lib.teleterm.v1.App - 100, // 34: teleport.lib.teleterm.v1.PaginatedResource.windows_desktop:type_name -> teleport.lib.teleterm.v1.WindowsDesktop - 73, // 35: teleport.lib.teleterm.v1.GetUserPreferencesResponse.user_preferences:type_name -> teleport.lib.teleterm.v1.UserPreferences - 73, // 36: teleport.lib.teleterm.v1.UpdateUserPreferencesRequest.user_preferences:type_name -> teleport.lib.teleterm.v1.UserPreferences - 73, // 37: teleport.lib.teleterm.v1.UpdateUserPreferencesResponse.user_preferences:type_name -> teleport.lib.teleterm.v1.UserPreferences - 101, // 38: teleport.lib.teleterm.v1.UserPreferences.cluster_preferences:type_name -> teleport.userpreferences.v1.ClusterUserPreferences - 102, // 39: teleport.lib.teleterm.v1.UserPreferences.unified_resource_preferences:type_name -> teleport.userpreferences.v1.UnifiedResourcePreferences - 103, // 40: teleport.lib.teleterm.v1.AuthenticateWebDeviceRequest.device_web_token:type_name -> teleport.devicetrust.v1.DeviceWebToken - 104, // 41: teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse.confirmation_token:type_name -> teleport.devicetrust.v1.DeviceConfirmationToken - 99, // 42: teleport.lib.teleterm.v1.GetAppResponse.app:type_name -> teleport.lib.teleterm.v1.App - 78, // 43: teleport.lib.teleterm.v1.ConnectToDesktopRequest.target_desktop:type_name -> teleport.lib.teleterm.v1.TargetDesktop - 51, // 44: teleport.lib.teleterm.v1.TerminalService.UpdateTshdEventsServerAddress:input_type -> teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressRequest - 34, // 45: teleport.lib.teleterm.v1.TerminalService.ListRootClusters:input_type -> teleport.lib.teleterm.v1.ListClustersRequest - 36, // 46: teleport.lib.teleterm.v1.TerminalService.ListLeafClusters:input_type -> teleport.lib.teleterm.v1.ListLeafClustersRequest - 7, // 47: teleport.lib.teleterm.v1.TerminalService.StartHeadlessWatcher:input_type -> teleport.lib.teleterm.v1.StartHeadlessWatcherRequest - 37, // 48: teleport.lib.teleterm.v1.TerminalService.ListDatabaseUsers:input_type -> teleport.lib.teleterm.v1.ListDatabaseUsersRequest - 40, // 49: teleport.lib.teleterm.v1.TerminalService.ListDatabaseServers:input_type -> teleport.lib.teleterm.v1.ListDatabaseServersRequest - 48, // 50: teleport.lib.teleterm.v1.TerminalService.GetServers:input_type -> teleport.lib.teleterm.v1.GetServersRequest - 10, // 51: teleport.lib.teleterm.v1.TerminalService.GetAccessRequests:input_type -> teleport.lib.teleterm.v1.GetAccessRequestsRequest - 9, // 52: teleport.lib.teleterm.v1.TerminalService.GetAccessRequest:input_type -> teleport.lib.teleterm.v1.GetAccessRequestRequest - 13, // 53: teleport.lib.teleterm.v1.TerminalService.DeleteAccessRequest:input_type -> teleport.lib.teleterm.v1.DeleteAccessRequestRequest - 14, // 54: teleport.lib.teleterm.v1.TerminalService.CreateAccessRequest:input_type -> teleport.lib.teleterm.v1.CreateAccessRequestRequest - 19, // 55: teleport.lib.teleterm.v1.TerminalService.ReviewAccessRequest:input_type -> teleport.lib.teleterm.v1.ReviewAccessRequestRequest - 17, // 56: teleport.lib.teleterm.v1.TerminalService.GetRequestableRoles:input_type -> teleport.lib.teleterm.v1.GetRequestableRolesRequest - 16, // 57: teleport.lib.teleterm.v1.TerminalService.AssumeRole:input_type -> teleport.lib.teleterm.v1.AssumeRoleRequest - 21, // 58: teleport.lib.teleterm.v1.TerminalService.PromoteAccessRequest:input_type -> teleport.lib.teleterm.v1.PromoteAccessRequestRequest - 23, // 59: teleport.lib.teleterm.v1.TerminalService.GetSuggestedAccessLists:input_type -> teleport.lib.teleterm.v1.GetSuggestedAccessListsRequest - 25, // 60: teleport.lib.teleterm.v1.TerminalService.ListKubernetesResources:input_type -> teleport.lib.teleterm.v1.ListKubernetesResourcesRequest - 33, // 61: teleport.lib.teleterm.v1.TerminalService.AddCluster:input_type -> teleport.lib.teleterm.v1.AddClusterRequest - 4, // 62: teleport.lib.teleterm.v1.TerminalService.RemoveCluster:input_type -> teleport.lib.teleterm.v1.RemoveClusterRequest - 43, // 63: teleport.lib.teleterm.v1.TerminalService.ListGateways:input_type -> teleport.lib.teleterm.v1.ListGatewaysRequest - 42, // 64: teleport.lib.teleterm.v1.TerminalService.CreateGateway:input_type -> teleport.lib.teleterm.v1.CreateGatewayRequest - 45, // 65: teleport.lib.teleterm.v1.TerminalService.RemoveGateway:input_type -> teleport.lib.teleterm.v1.RemoveGatewayRequest - 46, // 66: teleport.lib.teleterm.v1.TerminalService.SetGatewayTargetSubresourceName:input_type -> teleport.lib.teleterm.v1.SetGatewayTargetSubresourceNameRequest - 47, // 67: teleport.lib.teleterm.v1.TerminalService.SetGatewayLocalPort:input_type -> teleport.lib.teleterm.v1.SetGatewayLocalPortRequest - 50, // 68: teleport.lib.teleterm.v1.TerminalService.GetAuthSettings:input_type -> teleport.lib.teleterm.v1.GetAuthSettingsRequest - 5, // 69: teleport.lib.teleterm.v1.TerminalService.GetCluster:input_type -> teleport.lib.teleterm.v1.GetClusterRequest - 32, // 70: teleport.lib.teleterm.v1.TerminalService.Login:input_type -> teleport.lib.teleterm.v1.LoginRequest - 29, // 71: teleport.lib.teleterm.v1.TerminalService.LoginPasswordless:input_type -> teleport.lib.teleterm.v1.LoginPasswordlessRequest - 6, // 72: teleport.lib.teleterm.v1.TerminalService.Logout:input_type -> teleport.lib.teleterm.v1.LogoutRequest - 30, // 73: teleport.lib.teleterm.v1.TerminalService.TransferFile:input_type -> teleport.lib.teleterm.v1.FileTransferRequest - 105, // 74: teleport.lib.teleterm.v1.TerminalService.ReportUsageEvent:input_type -> teleport.lib.teleterm.v1.ReportUsageEventRequest - 53, // 75: teleport.lib.teleterm.v1.TerminalService.UpdateHeadlessAuthenticationState:input_type -> teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateRequest - 55, // 76: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerRole:input_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerRoleRequest - 57, // 77: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerNodeToken:input_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenRequest - 59, // 78: teleport.lib.teleterm.v1.TerminalService.WaitForConnectMyComputerNodeJoin:input_type -> teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinRequest - 61, // 79: teleport.lib.teleterm.v1.TerminalService.DeleteConnectMyComputerNode:input_type -> teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeRequest - 63, // 80: teleport.lib.teleterm.v1.TerminalService.GetConnectMyComputerNodeName:input_type -> teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameRequest - 65, // 81: teleport.lib.teleterm.v1.TerminalService.ListUnifiedResources:input_type -> teleport.lib.teleterm.v1.ListUnifiedResourcesRequest - 69, // 82: teleport.lib.teleterm.v1.TerminalService.GetUserPreferences:input_type -> teleport.lib.teleterm.v1.GetUserPreferencesRequest - 71, // 83: teleport.lib.teleterm.v1.TerminalService.UpdateUserPreferences:input_type -> teleport.lib.teleterm.v1.UpdateUserPreferencesRequest - 74, // 84: teleport.lib.teleterm.v1.TerminalService.AuthenticateWebDevice:input_type -> teleport.lib.teleterm.v1.AuthenticateWebDeviceRequest - 76, // 85: teleport.lib.teleterm.v1.TerminalService.GetApp:input_type -> teleport.lib.teleterm.v1.GetAppRequest - 79, // 86: teleport.lib.teleterm.v1.TerminalService.ConnectToDesktop:input_type -> teleport.lib.teleterm.v1.ConnectToDesktopRequest - 81, // 87: teleport.lib.teleterm.v1.TerminalService.SetSharedDirectoryForDesktopSession:input_type -> teleport.lib.teleterm.v1.SetSharedDirectoryForDesktopSessionRequest - 52, // 88: teleport.lib.teleterm.v1.TerminalService.UpdateTshdEventsServerAddress:output_type -> teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressResponse - 35, // 89: teleport.lib.teleterm.v1.TerminalService.ListRootClusters:output_type -> teleport.lib.teleterm.v1.ListClustersResponse - 35, // 90: teleport.lib.teleterm.v1.TerminalService.ListLeafClusters:output_type -> teleport.lib.teleterm.v1.ListClustersResponse - 8, // 91: teleport.lib.teleterm.v1.TerminalService.StartHeadlessWatcher:output_type -> teleport.lib.teleterm.v1.StartHeadlessWatcherResponse - 38, // 92: teleport.lib.teleterm.v1.TerminalService.ListDatabaseUsers:output_type -> teleport.lib.teleterm.v1.ListDatabaseUsersResponse - 41, // 93: teleport.lib.teleterm.v1.TerminalService.ListDatabaseServers:output_type -> teleport.lib.teleterm.v1.ListDatabaseServersResponse - 49, // 94: teleport.lib.teleterm.v1.TerminalService.GetServers:output_type -> teleport.lib.teleterm.v1.GetServersResponse - 12, // 95: teleport.lib.teleterm.v1.TerminalService.GetAccessRequests:output_type -> teleport.lib.teleterm.v1.GetAccessRequestsResponse - 11, // 96: teleport.lib.teleterm.v1.TerminalService.GetAccessRequest:output_type -> teleport.lib.teleterm.v1.GetAccessRequestResponse - 3, // 97: teleport.lib.teleterm.v1.TerminalService.DeleteAccessRequest:output_type -> teleport.lib.teleterm.v1.EmptyResponse - 15, // 98: teleport.lib.teleterm.v1.TerminalService.CreateAccessRequest:output_type -> teleport.lib.teleterm.v1.CreateAccessRequestResponse - 20, // 99: teleport.lib.teleterm.v1.TerminalService.ReviewAccessRequest:output_type -> teleport.lib.teleterm.v1.ReviewAccessRequestResponse - 18, // 100: teleport.lib.teleterm.v1.TerminalService.GetRequestableRoles:output_type -> teleport.lib.teleterm.v1.GetRequestableRolesResponse - 3, // 101: teleport.lib.teleterm.v1.TerminalService.AssumeRole:output_type -> teleport.lib.teleterm.v1.EmptyResponse - 22, // 102: teleport.lib.teleterm.v1.TerminalService.PromoteAccessRequest:output_type -> teleport.lib.teleterm.v1.PromoteAccessRequestResponse - 24, // 103: teleport.lib.teleterm.v1.TerminalService.GetSuggestedAccessLists:output_type -> teleport.lib.teleterm.v1.GetSuggestedAccessListsResponse - 26, // 104: teleport.lib.teleterm.v1.TerminalService.ListKubernetesResources:output_type -> teleport.lib.teleterm.v1.ListKubernetesResourcesResponse - 93, // 105: teleport.lib.teleterm.v1.TerminalService.AddCluster:output_type -> teleport.lib.teleterm.v1.Cluster - 3, // 106: teleport.lib.teleterm.v1.TerminalService.RemoveCluster:output_type -> teleport.lib.teleterm.v1.EmptyResponse - 44, // 107: teleport.lib.teleterm.v1.TerminalService.ListGateways:output_type -> teleport.lib.teleterm.v1.ListGatewaysResponse - 95, // 108: teleport.lib.teleterm.v1.TerminalService.CreateGateway:output_type -> teleport.lib.teleterm.v1.Gateway - 3, // 109: teleport.lib.teleterm.v1.TerminalService.RemoveGateway:output_type -> teleport.lib.teleterm.v1.EmptyResponse - 95, // 110: teleport.lib.teleterm.v1.TerminalService.SetGatewayTargetSubresourceName:output_type -> teleport.lib.teleterm.v1.Gateway - 95, // 111: teleport.lib.teleterm.v1.TerminalService.SetGatewayLocalPort:output_type -> teleport.lib.teleterm.v1.Gateway - 106, // 112: teleport.lib.teleterm.v1.TerminalService.GetAuthSettings:output_type -> teleport.lib.teleterm.v1.AuthSettings - 93, // 113: teleport.lib.teleterm.v1.TerminalService.GetCluster:output_type -> teleport.lib.teleterm.v1.Cluster - 3, // 114: teleport.lib.teleterm.v1.TerminalService.Login:output_type -> teleport.lib.teleterm.v1.EmptyResponse - 28, // 115: teleport.lib.teleterm.v1.TerminalService.LoginPasswordless:output_type -> teleport.lib.teleterm.v1.LoginPasswordlessResponse - 3, // 116: teleport.lib.teleterm.v1.TerminalService.Logout:output_type -> teleport.lib.teleterm.v1.EmptyResponse - 31, // 117: teleport.lib.teleterm.v1.TerminalService.TransferFile:output_type -> teleport.lib.teleterm.v1.FileTransferProgress - 3, // 118: teleport.lib.teleterm.v1.TerminalService.ReportUsageEvent:output_type -> teleport.lib.teleterm.v1.EmptyResponse - 54, // 119: teleport.lib.teleterm.v1.TerminalService.UpdateHeadlessAuthenticationState:output_type -> teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateResponse - 56, // 120: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerRole:output_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerRoleResponse - 58, // 121: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerNodeToken:output_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenResponse - 60, // 122: teleport.lib.teleterm.v1.TerminalService.WaitForConnectMyComputerNodeJoin:output_type -> teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinResponse - 62, // 123: teleport.lib.teleterm.v1.TerminalService.DeleteConnectMyComputerNode:output_type -> teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeResponse - 64, // 124: teleport.lib.teleterm.v1.TerminalService.GetConnectMyComputerNodeName:output_type -> teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameResponse - 67, // 125: teleport.lib.teleterm.v1.TerminalService.ListUnifiedResources:output_type -> teleport.lib.teleterm.v1.ListUnifiedResourcesResponse - 70, // 126: teleport.lib.teleterm.v1.TerminalService.GetUserPreferences:output_type -> teleport.lib.teleterm.v1.GetUserPreferencesResponse - 72, // 127: teleport.lib.teleterm.v1.TerminalService.UpdateUserPreferences:output_type -> teleport.lib.teleterm.v1.UpdateUserPreferencesResponse - 75, // 128: teleport.lib.teleterm.v1.TerminalService.AuthenticateWebDevice:output_type -> teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse - 77, // 129: teleport.lib.teleterm.v1.TerminalService.GetApp:output_type -> teleport.lib.teleterm.v1.GetAppResponse - 80, // 130: teleport.lib.teleterm.v1.TerminalService.ConnectToDesktop:output_type -> teleport.lib.teleterm.v1.ConnectToDesktopResponse - 82, // 131: teleport.lib.teleterm.v1.TerminalService.SetSharedDirectoryForDesktopSession:output_type -> teleport.lib.teleterm.v1.SetSharedDirectoryForDesktopSessionResponse - 88, // [88:132] is the sub-list for method output_type - 44, // [44:88] is the sub-list for method input_type - 44, // [44:44] is the sub-list for extension type_name - 44, // [44:44] is the sub-list for extension extendee - 0, // [0:44] is the sub-list for field type_name + 92, // 23: teleport.lib.teleterm.v1.ListDatabaseServersResponse.resources:type_name -> teleport.lib.teleterm.v1.DatabaseServer + 93, // 24: teleport.lib.teleterm.v1.ListGatewaysResponse.gateways:type_name -> teleport.lib.teleterm.v1.Gateway + 2, // 25: teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateRequest.state:type_name -> teleport.lib.teleterm.v1.HeadlessAuthenticationState + 94, // 26: teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinResponse.server:type_name -> teleport.lib.teleterm.v1.Server + 64, // 27: teleport.lib.teleterm.v1.ListUnifiedResourcesRequest.sort_by:type_name -> teleport.lib.teleterm.v1.SortBy + 66, // 28: teleport.lib.teleterm.v1.ListUnifiedResourcesResponse.resources:type_name -> teleport.lib.teleterm.v1.PaginatedResource + 95, // 29: teleport.lib.teleterm.v1.PaginatedResource.database:type_name -> teleport.lib.teleterm.v1.Database + 94, // 30: teleport.lib.teleterm.v1.PaginatedResource.server:type_name -> teleport.lib.teleterm.v1.Server + 96, // 31: teleport.lib.teleterm.v1.PaginatedResource.kube:type_name -> teleport.lib.teleterm.v1.Kube + 97, // 32: teleport.lib.teleterm.v1.PaginatedResource.app:type_name -> teleport.lib.teleterm.v1.App + 98, // 33: teleport.lib.teleterm.v1.PaginatedResource.windows_desktop:type_name -> teleport.lib.teleterm.v1.WindowsDesktop + 71, // 34: teleport.lib.teleterm.v1.GetUserPreferencesResponse.user_preferences:type_name -> teleport.lib.teleterm.v1.UserPreferences + 71, // 35: teleport.lib.teleterm.v1.UpdateUserPreferencesRequest.user_preferences:type_name -> teleport.lib.teleterm.v1.UserPreferences + 71, // 36: teleport.lib.teleterm.v1.UpdateUserPreferencesResponse.user_preferences:type_name -> teleport.lib.teleterm.v1.UserPreferences + 99, // 37: teleport.lib.teleterm.v1.UserPreferences.cluster_preferences:type_name -> teleport.userpreferences.v1.ClusterUserPreferences + 100, // 38: teleport.lib.teleterm.v1.UserPreferences.unified_resource_preferences:type_name -> teleport.userpreferences.v1.UnifiedResourcePreferences + 101, // 39: teleport.lib.teleterm.v1.AuthenticateWebDeviceRequest.device_web_token:type_name -> teleport.devicetrust.v1.DeviceWebToken + 102, // 40: teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse.confirmation_token:type_name -> teleport.devicetrust.v1.DeviceConfirmationToken + 97, // 41: teleport.lib.teleterm.v1.GetAppResponse.app:type_name -> teleport.lib.teleterm.v1.App + 76, // 42: teleport.lib.teleterm.v1.ConnectToDesktopRequest.target_desktop:type_name -> teleport.lib.teleterm.v1.TargetDesktop + 49, // 43: teleport.lib.teleterm.v1.TerminalService.UpdateTshdEventsServerAddress:input_type -> teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressRequest + 34, // 44: teleport.lib.teleterm.v1.TerminalService.ListRootClusters:input_type -> teleport.lib.teleterm.v1.ListClustersRequest + 36, // 45: teleport.lib.teleterm.v1.TerminalService.ListLeafClusters:input_type -> teleport.lib.teleterm.v1.ListLeafClustersRequest + 7, // 46: teleport.lib.teleterm.v1.TerminalService.StartHeadlessWatcher:input_type -> teleport.lib.teleterm.v1.StartHeadlessWatcherRequest + 37, // 47: teleport.lib.teleterm.v1.TerminalService.ListDatabaseUsers:input_type -> teleport.lib.teleterm.v1.ListDatabaseUsersRequest + 40, // 48: teleport.lib.teleterm.v1.TerminalService.ListDatabaseServers:input_type -> teleport.lib.teleterm.v1.ListDatabaseServersRequest + 10, // 49: teleport.lib.teleterm.v1.TerminalService.GetAccessRequests:input_type -> teleport.lib.teleterm.v1.GetAccessRequestsRequest + 9, // 50: teleport.lib.teleterm.v1.TerminalService.GetAccessRequest:input_type -> teleport.lib.teleterm.v1.GetAccessRequestRequest + 13, // 51: teleport.lib.teleterm.v1.TerminalService.DeleteAccessRequest:input_type -> teleport.lib.teleterm.v1.DeleteAccessRequestRequest + 14, // 52: teleport.lib.teleterm.v1.TerminalService.CreateAccessRequest:input_type -> teleport.lib.teleterm.v1.CreateAccessRequestRequest + 19, // 53: teleport.lib.teleterm.v1.TerminalService.ReviewAccessRequest:input_type -> teleport.lib.teleterm.v1.ReviewAccessRequestRequest + 17, // 54: teleport.lib.teleterm.v1.TerminalService.GetRequestableRoles:input_type -> teleport.lib.teleterm.v1.GetRequestableRolesRequest + 16, // 55: teleport.lib.teleterm.v1.TerminalService.AssumeRole:input_type -> teleport.lib.teleterm.v1.AssumeRoleRequest + 21, // 56: teleport.lib.teleterm.v1.TerminalService.PromoteAccessRequest:input_type -> teleport.lib.teleterm.v1.PromoteAccessRequestRequest + 23, // 57: teleport.lib.teleterm.v1.TerminalService.GetSuggestedAccessLists:input_type -> teleport.lib.teleterm.v1.GetSuggestedAccessListsRequest + 25, // 58: teleport.lib.teleterm.v1.TerminalService.ListKubernetesResources:input_type -> teleport.lib.teleterm.v1.ListKubernetesResourcesRequest + 33, // 59: teleport.lib.teleterm.v1.TerminalService.AddCluster:input_type -> teleport.lib.teleterm.v1.AddClusterRequest + 4, // 60: teleport.lib.teleterm.v1.TerminalService.RemoveCluster:input_type -> teleport.lib.teleterm.v1.RemoveClusterRequest + 43, // 61: teleport.lib.teleterm.v1.TerminalService.ListGateways:input_type -> teleport.lib.teleterm.v1.ListGatewaysRequest + 42, // 62: teleport.lib.teleterm.v1.TerminalService.CreateGateway:input_type -> teleport.lib.teleterm.v1.CreateGatewayRequest + 45, // 63: teleport.lib.teleterm.v1.TerminalService.RemoveGateway:input_type -> teleport.lib.teleterm.v1.RemoveGatewayRequest + 46, // 64: teleport.lib.teleterm.v1.TerminalService.SetGatewayTargetSubresourceName:input_type -> teleport.lib.teleterm.v1.SetGatewayTargetSubresourceNameRequest + 47, // 65: teleport.lib.teleterm.v1.TerminalService.SetGatewayLocalPort:input_type -> teleport.lib.teleterm.v1.SetGatewayLocalPortRequest + 48, // 66: teleport.lib.teleterm.v1.TerminalService.GetAuthSettings:input_type -> teleport.lib.teleterm.v1.GetAuthSettingsRequest + 5, // 67: teleport.lib.teleterm.v1.TerminalService.GetCluster:input_type -> teleport.lib.teleterm.v1.GetClusterRequest + 32, // 68: teleport.lib.teleterm.v1.TerminalService.Login:input_type -> teleport.lib.teleterm.v1.LoginRequest + 29, // 69: teleport.lib.teleterm.v1.TerminalService.LoginPasswordless:input_type -> teleport.lib.teleterm.v1.LoginPasswordlessRequest + 6, // 70: teleport.lib.teleterm.v1.TerminalService.Logout:input_type -> teleport.lib.teleterm.v1.LogoutRequest + 30, // 71: teleport.lib.teleterm.v1.TerminalService.TransferFile:input_type -> teleport.lib.teleterm.v1.FileTransferRequest + 103, // 72: teleport.lib.teleterm.v1.TerminalService.ReportUsageEvent:input_type -> teleport.lib.teleterm.v1.ReportUsageEventRequest + 51, // 73: teleport.lib.teleterm.v1.TerminalService.UpdateHeadlessAuthenticationState:input_type -> teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateRequest + 53, // 74: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerRole:input_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerRoleRequest + 55, // 75: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerNodeToken:input_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenRequest + 57, // 76: teleport.lib.teleterm.v1.TerminalService.WaitForConnectMyComputerNodeJoin:input_type -> teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinRequest + 59, // 77: teleport.lib.teleterm.v1.TerminalService.DeleteConnectMyComputerNode:input_type -> teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeRequest + 61, // 78: teleport.lib.teleterm.v1.TerminalService.GetConnectMyComputerNodeName:input_type -> teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameRequest + 63, // 79: teleport.lib.teleterm.v1.TerminalService.ListUnifiedResources:input_type -> teleport.lib.teleterm.v1.ListUnifiedResourcesRequest + 67, // 80: teleport.lib.teleterm.v1.TerminalService.GetUserPreferences:input_type -> teleport.lib.teleterm.v1.GetUserPreferencesRequest + 69, // 81: teleport.lib.teleterm.v1.TerminalService.UpdateUserPreferences:input_type -> teleport.lib.teleterm.v1.UpdateUserPreferencesRequest + 72, // 82: teleport.lib.teleterm.v1.TerminalService.AuthenticateWebDevice:input_type -> teleport.lib.teleterm.v1.AuthenticateWebDeviceRequest + 74, // 83: teleport.lib.teleterm.v1.TerminalService.GetApp:input_type -> teleport.lib.teleterm.v1.GetAppRequest + 77, // 84: teleport.lib.teleterm.v1.TerminalService.ConnectToDesktop:input_type -> teleport.lib.teleterm.v1.ConnectToDesktopRequest + 79, // 85: teleport.lib.teleterm.v1.TerminalService.SetSharedDirectoryForDesktopSession:input_type -> teleport.lib.teleterm.v1.SetSharedDirectoryForDesktopSessionRequest + 50, // 86: teleport.lib.teleterm.v1.TerminalService.UpdateTshdEventsServerAddress:output_type -> teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressResponse + 35, // 87: teleport.lib.teleterm.v1.TerminalService.ListRootClusters:output_type -> teleport.lib.teleterm.v1.ListClustersResponse + 35, // 88: teleport.lib.teleterm.v1.TerminalService.ListLeafClusters:output_type -> teleport.lib.teleterm.v1.ListClustersResponse + 8, // 89: teleport.lib.teleterm.v1.TerminalService.StartHeadlessWatcher:output_type -> teleport.lib.teleterm.v1.StartHeadlessWatcherResponse + 38, // 90: teleport.lib.teleterm.v1.TerminalService.ListDatabaseUsers:output_type -> teleport.lib.teleterm.v1.ListDatabaseUsersResponse + 41, // 91: teleport.lib.teleterm.v1.TerminalService.ListDatabaseServers:output_type -> teleport.lib.teleterm.v1.ListDatabaseServersResponse + 12, // 92: teleport.lib.teleterm.v1.TerminalService.GetAccessRequests:output_type -> teleport.lib.teleterm.v1.GetAccessRequestsResponse + 11, // 93: teleport.lib.teleterm.v1.TerminalService.GetAccessRequest:output_type -> teleport.lib.teleterm.v1.GetAccessRequestResponse + 3, // 94: teleport.lib.teleterm.v1.TerminalService.DeleteAccessRequest:output_type -> teleport.lib.teleterm.v1.EmptyResponse + 15, // 95: teleport.lib.teleterm.v1.TerminalService.CreateAccessRequest:output_type -> teleport.lib.teleterm.v1.CreateAccessRequestResponse + 20, // 96: teleport.lib.teleterm.v1.TerminalService.ReviewAccessRequest:output_type -> teleport.lib.teleterm.v1.ReviewAccessRequestResponse + 18, // 97: teleport.lib.teleterm.v1.TerminalService.GetRequestableRoles:output_type -> teleport.lib.teleterm.v1.GetRequestableRolesResponse + 3, // 98: teleport.lib.teleterm.v1.TerminalService.AssumeRole:output_type -> teleport.lib.teleterm.v1.EmptyResponse + 22, // 99: teleport.lib.teleterm.v1.TerminalService.PromoteAccessRequest:output_type -> teleport.lib.teleterm.v1.PromoteAccessRequestResponse + 24, // 100: teleport.lib.teleterm.v1.TerminalService.GetSuggestedAccessLists:output_type -> teleport.lib.teleterm.v1.GetSuggestedAccessListsResponse + 26, // 101: teleport.lib.teleterm.v1.TerminalService.ListKubernetesResources:output_type -> teleport.lib.teleterm.v1.ListKubernetesResourcesResponse + 91, // 102: teleport.lib.teleterm.v1.TerminalService.AddCluster:output_type -> teleport.lib.teleterm.v1.Cluster + 3, // 103: teleport.lib.teleterm.v1.TerminalService.RemoveCluster:output_type -> teleport.lib.teleterm.v1.EmptyResponse + 44, // 104: teleport.lib.teleterm.v1.TerminalService.ListGateways:output_type -> teleport.lib.teleterm.v1.ListGatewaysResponse + 93, // 105: teleport.lib.teleterm.v1.TerminalService.CreateGateway:output_type -> teleport.lib.teleterm.v1.Gateway + 3, // 106: teleport.lib.teleterm.v1.TerminalService.RemoveGateway:output_type -> teleport.lib.teleterm.v1.EmptyResponse + 93, // 107: teleport.lib.teleterm.v1.TerminalService.SetGatewayTargetSubresourceName:output_type -> teleport.lib.teleterm.v1.Gateway + 93, // 108: teleport.lib.teleterm.v1.TerminalService.SetGatewayLocalPort:output_type -> teleport.lib.teleterm.v1.Gateway + 104, // 109: teleport.lib.teleterm.v1.TerminalService.GetAuthSettings:output_type -> teleport.lib.teleterm.v1.AuthSettings + 91, // 110: teleport.lib.teleterm.v1.TerminalService.GetCluster:output_type -> teleport.lib.teleterm.v1.Cluster + 3, // 111: teleport.lib.teleterm.v1.TerminalService.Login:output_type -> teleport.lib.teleterm.v1.EmptyResponse + 28, // 112: teleport.lib.teleterm.v1.TerminalService.LoginPasswordless:output_type -> teleport.lib.teleterm.v1.LoginPasswordlessResponse + 3, // 113: teleport.lib.teleterm.v1.TerminalService.Logout:output_type -> teleport.lib.teleterm.v1.EmptyResponse + 31, // 114: teleport.lib.teleterm.v1.TerminalService.TransferFile:output_type -> teleport.lib.teleterm.v1.FileTransferProgress + 3, // 115: teleport.lib.teleterm.v1.TerminalService.ReportUsageEvent:output_type -> teleport.lib.teleterm.v1.EmptyResponse + 52, // 116: teleport.lib.teleterm.v1.TerminalService.UpdateHeadlessAuthenticationState:output_type -> teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateResponse + 54, // 117: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerRole:output_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerRoleResponse + 56, // 118: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerNodeToken:output_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenResponse + 58, // 119: teleport.lib.teleterm.v1.TerminalService.WaitForConnectMyComputerNodeJoin:output_type -> teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinResponse + 60, // 120: teleport.lib.teleterm.v1.TerminalService.DeleteConnectMyComputerNode:output_type -> teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeResponse + 62, // 121: teleport.lib.teleterm.v1.TerminalService.GetConnectMyComputerNodeName:output_type -> teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameResponse + 65, // 122: teleport.lib.teleterm.v1.TerminalService.ListUnifiedResources:output_type -> teleport.lib.teleterm.v1.ListUnifiedResourcesResponse + 68, // 123: teleport.lib.teleterm.v1.TerminalService.GetUserPreferences:output_type -> teleport.lib.teleterm.v1.GetUserPreferencesResponse + 70, // 124: teleport.lib.teleterm.v1.TerminalService.UpdateUserPreferences:output_type -> teleport.lib.teleterm.v1.UpdateUserPreferencesResponse + 73, // 125: teleport.lib.teleterm.v1.TerminalService.AuthenticateWebDevice:output_type -> teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse + 75, // 126: teleport.lib.teleterm.v1.TerminalService.GetApp:output_type -> teleport.lib.teleterm.v1.GetAppResponse + 78, // 127: teleport.lib.teleterm.v1.TerminalService.ConnectToDesktop:output_type -> teleport.lib.teleterm.v1.ConnectToDesktopResponse + 80, // 128: teleport.lib.teleterm.v1.TerminalService.SetSharedDirectoryForDesktopSession:output_type -> teleport.lib.teleterm.v1.SetSharedDirectoryForDesktopSessionResponse + 86, // [86:129] is the sub-list for method output_type + 43, // [43:86] is the sub-list for method input_type + 43, // [43:43] is the sub-list for extension type_name + 43, // [43:43] is the sub-list for extension extendee + 0, // [0:43] is the sub-list for field type_name } func init() { file_teleport_lib_teleterm_v1_service_proto_init() } @@ -5431,7 +5258,7 @@ func file_teleport_lib_teleterm_v1_service_proto_init() { (*LoginRequest_Local)(nil), (*LoginRequest_Sso)(nil), } - file_teleport_lib_teleterm_v1_service_proto_msgTypes[65].OneofWrappers = []any{ + file_teleport_lib_teleterm_v1_service_proto_msgTypes[63].OneofWrappers = []any{ (*PaginatedResource_Database)(nil), (*PaginatedResource_Server)(nil), (*PaginatedResource_Kube)(nil), @@ -5444,7 +5271,7 @@ func file_teleport_lib_teleterm_v1_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_teleport_lib_teleterm_v1_service_proto_rawDesc), len(file_teleport_lib_teleterm_v1_service_proto_rawDesc)), NumEnums: 3, - NumMessages: 85, + NumMessages: 83, NumExtensions: 0, NumServices: 1, }, diff --git a/gen/proto/go/teleport/lib/teleterm/v1/service_grpc.pb.go b/gen/proto/go/teleport/lib/teleterm/v1/service_grpc.pb.go index e6b72d2e80cd4..141df93ab86e2 100644 --- a/gen/proto/go/teleport/lib/teleterm/v1/service_grpc.pb.go +++ b/gen/proto/go/teleport/lib/teleterm/v1/service_grpc.pb.go @@ -42,7 +42,6 @@ const ( TerminalService_StartHeadlessWatcher_FullMethodName = "/teleport.lib.teleterm.v1.TerminalService/StartHeadlessWatcher" TerminalService_ListDatabaseUsers_FullMethodName = "/teleport.lib.teleterm.v1.TerminalService/ListDatabaseUsers" TerminalService_ListDatabaseServers_FullMethodName = "/teleport.lib.teleterm.v1.TerminalService/ListDatabaseServers" - TerminalService_GetServers_FullMethodName = "/teleport.lib.teleterm.v1.TerminalService/GetServers" TerminalService_GetAccessRequests_FullMethodName = "/teleport.lib.teleterm.v1.TerminalService/GetAccessRequests" TerminalService_GetAccessRequest_FullMethodName = "/teleport.lib.teleterm.v1.TerminalService/GetAccessRequest" TerminalService_DeleteAccessRequest_FullMethodName = "/teleport.lib.teleterm.v1.TerminalService/DeleteAccessRequest" @@ -112,11 +111,6 @@ type TerminalServiceClient interface { ListDatabaseUsers(ctx context.Context, in *ListDatabaseUsersRequest, opts ...grpc.CallOption) (*ListDatabaseUsersResponse, error) // ListDatabaseServers lists allowed users for the given database based on the role set. ListDatabaseServers(ctx context.Context, in *ListDatabaseServersRequest, opts ...grpc.CallOption) (*ListDatabaseServersResponse, error) - // Deprecated: Do not use. - // GetServers returns filtered, sorted, and paginated servers - // - // Deprecated: Use ListUnifiedResources instead. - GetServers(ctx context.Context, in *GetServersRequest, opts ...grpc.CallOption) (*GetServersResponse, error) // GetAccessRequests lists filtered AccessRequests GetAccessRequests(ctx context.Context, in *GetAccessRequestsRequest, opts ...grpc.CallOption) (*GetAccessRequestsResponse, error) // GetAccessRequest retreives a single Access Request @@ -301,17 +295,6 @@ func (c *terminalServiceClient) ListDatabaseServers(ctx context.Context, in *Lis return out, nil } -// Deprecated: Do not use. -func (c *terminalServiceClient) GetServers(ctx context.Context, in *GetServersRequest, opts ...grpc.CallOption) (*GetServersResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(GetServersResponse) - err := c.cc.Invoke(ctx, TerminalService_GetServers_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *terminalServiceClient) GetAccessRequests(ctx context.Context, in *GetAccessRequestsRequest, opts ...grpc.CallOption) (*GetAccessRequestsResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetAccessRequestsResponse) @@ -727,11 +710,6 @@ type TerminalServiceServer interface { ListDatabaseUsers(context.Context, *ListDatabaseUsersRequest) (*ListDatabaseUsersResponse, error) // ListDatabaseServers lists allowed users for the given database based on the role set. ListDatabaseServers(context.Context, *ListDatabaseServersRequest) (*ListDatabaseServersResponse, error) - // Deprecated: Do not use. - // GetServers returns filtered, sorted, and paginated servers - // - // Deprecated: Use ListUnifiedResources instead. - GetServers(context.Context, *GetServersRequest) (*GetServersResponse, error) // GetAccessRequests lists filtered AccessRequests GetAccessRequests(context.Context, *GetAccessRequestsRequest) (*GetAccessRequestsResponse, error) // GetAccessRequest retreives a single Access Request @@ -874,9 +852,6 @@ func (UnimplementedTerminalServiceServer) ListDatabaseUsers(context.Context, *Li func (UnimplementedTerminalServiceServer) ListDatabaseServers(context.Context, *ListDatabaseServersRequest) (*ListDatabaseServersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListDatabaseServers not implemented") } -func (UnimplementedTerminalServiceServer) GetServers(context.Context, *GetServersRequest) (*GetServersResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetServers not implemented") -} func (UnimplementedTerminalServiceServer) GetAccessRequests(context.Context, *GetAccessRequestsRequest) (*GetAccessRequestsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccessRequests not implemented") } @@ -1117,24 +1092,6 @@ func _TerminalService_ListDatabaseServers_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } -func _TerminalService_GetServers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetServersRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(TerminalServiceServer).GetServers(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: TerminalService_GetServers_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(TerminalServiceServer).GetServers(ctx, req.(*GetServersRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _TerminalService_GetAccessRequests_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetAccessRequestsRequest) if err := dec(in); err != nil { @@ -1803,10 +1760,6 @@ var TerminalService_ServiceDesc = grpc.ServiceDesc{ MethodName: "ListDatabaseServers", Handler: _TerminalService_ListDatabaseServers_Handler, }, - { - MethodName: "GetServers", - Handler: _TerminalService_GetServers_Handler, - }, { MethodName: "GetAccessRequests", Handler: _TerminalService_GetAccessRequests_Handler, diff --git a/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.client.ts b/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.client.ts index 5e92fc2ef4293..f7058a048c356 100644 --- a/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.client.ts +++ b/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.client.ts @@ -91,8 +91,6 @@ import type { GetAccessRequestResponse } from "./service_pb"; import type { GetAccessRequestRequest } from "./service_pb"; import type { GetAccessRequestsResponse } from "./service_pb"; import type { GetAccessRequestsRequest } from "./service_pb"; -import type { GetServersResponse } from "./service_pb"; -import type { GetServersRequest } from "./service_pb"; import type { ListDatabaseServersResponse } from "./service_pb"; import type { ListDatabaseServersRequest } from "./service_pb"; import type { ListDatabaseUsersResponse } from "./service_pb"; @@ -161,15 +159,6 @@ export interface ITerminalServiceClient { * @generated from protobuf rpc: ListDatabaseServers(teleport.lib.teleterm.v1.ListDatabaseServersRequest) returns (teleport.lib.teleterm.v1.ListDatabaseServersResponse); */ listDatabaseServers(input: ListDatabaseServersRequest, options?: RpcOptions): UnaryCall; - /** - * GetServers returns filtered, sorted, and paginated servers - * - * Deprecated: Use ListUnifiedResources instead. - * - * @deprecated - * @generated from protobuf rpc: GetServers(teleport.lib.teleterm.v1.GetServersRequest) returns (teleport.lib.teleterm.v1.GetServersResponse); - */ - getServers(input: GetServersRequest, options?: RpcOptions): UnaryCall; /** * GetAccessRequests lists filtered AccessRequests * @@ -510,25 +499,13 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf const method = this.methods[5], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } - /** - * GetServers returns filtered, sorted, and paginated servers - * - * Deprecated: Use ListUnifiedResources instead. - * - * @deprecated - * @generated from protobuf rpc: GetServers(teleport.lib.teleterm.v1.GetServersRequest) returns (teleport.lib.teleterm.v1.GetServersResponse); - */ - getServers(input: GetServersRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[6], opt = this._transport.mergeOptions(options); - return stackIntercept("unary", this._transport, method, opt, input); - } /** * GetAccessRequests lists filtered AccessRequests * * @generated from protobuf rpc: GetAccessRequests(teleport.lib.teleterm.v1.GetAccessRequestsRequest) returns (teleport.lib.teleterm.v1.GetAccessRequestsResponse); */ getAccessRequests(input: GetAccessRequestsRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[7], opt = this._transport.mergeOptions(options); + const method = this.methods[6], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -537,7 +514,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: GetAccessRequest(teleport.lib.teleterm.v1.GetAccessRequestRequest) returns (teleport.lib.teleterm.v1.GetAccessRequestResponse); */ getAccessRequest(input: GetAccessRequestRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[8], opt = this._transport.mergeOptions(options); + const method = this.methods[7], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -546,7 +523,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: DeleteAccessRequest(teleport.lib.teleterm.v1.DeleteAccessRequestRequest) returns (teleport.lib.teleterm.v1.EmptyResponse); */ deleteAccessRequest(input: DeleteAccessRequestRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[9], opt = this._transport.mergeOptions(options); + const method = this.methods[8], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -555,7 +532,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: CreateAccessRequest(teleport.lib.teleterm.v1.CreateAccessRequestRequest) returns (teleport.lib.teleterm.v1.CreateAccessRequestResponse); */ createAccessRequest(input: CreateAccessRequestRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[10], opt = this._transport.mergeOptions(options); + const method = this.methods[9], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -564,7 +541,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: ReviewAccessRequest(teleport.lib.teleterm.v1.ReviewAccessRequestRequest) returns (teleport.lib.teleterm.v1.ReviewAccessRequestResponse); */ reviewAccessRequest(input: ReviewAccessRequestRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[11], opt = this._transport.mergeOptions(options); + const method = this.methods[10], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -573,7 +550,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: GetRequestableRoles(teleport.lib.teleterm.v1.GetRequestableRolesRequest) returns (teleport.lib.teleterm.v1.GetRequestableRolesResponse); */ getRequestableRoles(input: GetRequestableRolesRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[12], opt = this._transport.mergeOptions(options); + const method = this.methods[11], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -582,7 +559,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: AssumeRole(teleport.lib.teleterm.v1.AssumeRoleRequest) returns (teleport.lib.teleterm.v1.EmptyResponse); */ assumeRole(input: AssumeRoleRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[13], opt = this._transport.mergeOptions(options); + const method = this.methods[12], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -591,7 +568,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: PromoteAccessRequest(teleport.lib.teleterm.v1.PromoteAccessRequestRequest) returns (teleport.lib.teleterm.v1.PromoteAccessRequestResponse); */ promoteAccessRequest(input: PromoteAccessRequestRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[14], opt = this._transport.mergeOptions(options); + const method = this.methods[13], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -600,7 +577,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: GetSuggestedAccessLists(teleport.lib.teleterm.v1.GetSuggestedAccessListsRequest) returns (teleport.lib.teleterm.v1.GetSuggestedAccessListsResponse); */ getSuggestedAccessLists(input: GetSuggestedAccessListsRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[15], opt = this._transport.mergeOptions(options); + const method = this.methods[14], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -610,7 +587,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: ListKubernetesResources(teleport.lib.teleterm.v1.ListKubernetesResourcesRequest) returns (teleport.lib.teleterm.v1.ListKubernetesResourcesResponse); */ listKubernetesResources(input: ListKubernetesResourcesRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[16], opt = this._transport.mergeOptions(options); + const method = this.methods[15], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -619,7 +596,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: AddCluster(teleport.lib.teleterm.v1.AddClusterRequest) returns (teleport.lib.teleterm.v1.Cluster); */ addCluster(input: AddClusterRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[17], opt = this._transport.mergeOptions(options); + const method = this.methods[16], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -628,7 +605,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: RemoveCluster(teleport.lib.teleterm.v1.RemoveClusterRequest) returns (teleport.lib.teleterm.v1.EmptyResponse); */ removeCluster(input: RemoveClusterRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[18], opt = this._transport.mergeOptions(options); + const method = this.methods[17], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -637,7 +614,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: ListGateways(teleport.lib.teleterm.v1.ListGatewaysRequest) returns (teleport.lib.teleterm.v1.ListGatewaysResponse); */ listGateways(input: ListGatewaysRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[19], opt = this._transport.mergeOptions(options); + const method = this.methods[18], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -646,7 +623,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: CreateGateway(teleport.lib.teleterm.v1.CreateGatewayRequest) returns (teleport.lib.teleterm.v1.Gateway); */ createGateway(input: CreateGatewayRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[20], opt = this._transport.mergeOptions(options); + const method = this.methods[19], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -655,7 +632,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: RemoveGateway(teleport.lib.teleterm.v1.RemoveGatewayRequest) returns (teleport.lib.teleterm.v1.EmptyResponse); */ removeGateway(input: RemoveGatewayRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[21], opt = this._transport.mergeOptions(options); + const method = this.methods[20], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -667,7 +644,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: SetGatewayTargetSubresourceName(teleport.lib.teleterm.v1.SetGatewayTargetSubresourceNameRequest) returns (teleport.lib.teleterm.v1.Gateway); */ setGatewayTargetSubresourceName(input: SetGatewayTargetSubresourceNameRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[22], opt = this._transport.mergeOptions(options); + const method = this.methods[21], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -677,7 +654,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: SetGatewayLocalPort(teleport.lib.teleterm.v1.SetGatewayLocalPortRequest) returns (teleport.lib.teleterm.v1.Gateway); */ setGatewayLocalPort(input: SetGatewayLocalPortRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[23], opt = this._transport.mergeOptions(options); + const method = this.methods[22], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -686,7 +663,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: GetAuthSettings(teleport.lib.teleterm.v1.GetAuthSettingsRequest) returns (teleport.lib.teleterm.v1.AuthSettings); */ getAuthSettings(input: GetAuthSettingsRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[24], opt = this._transport.mergeOptions(options); + const method = this.methods[23], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -696,7 +673,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: GetCluster(teleport.lib.teleterm.v1.GetClusterRequest) returns (teleport.lib.teleterm.v1.Cluster); */ getCluster(input: GetClusterRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[25], opt = this._transport.mergeOptions(options); + const method = this.methods[24], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -705,7 +682,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: Login(teleport.lib.teleterm.v1.LoginRequest) returns (teleport.lib.teleterm.v1.EmptyResponse); */ login(input: LoginRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[26], opt = this._transport.mergeOptions(options); + const method = this.methods[25], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -729,7 +706,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: LoginPasswordless(stream teleport.lib.teleterm.v1.LoginPasswordlessRequest) returns (stream teleport.lib.teleterm.v1.LoginPasswordlessResponse); */ loginPasswordless(options?: RpcOptions): DuplexStreamingCall { - const method = this.methods[27], opt = this._transport.mergeOptions(options); + const method = this.methods[26], opt = this._transport.mergeOptions(options); return stackIntercept("duplex", this._transport, method, opt); } /** @@ -738,7 +715,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: Logout(teleport.lib.teleterm.v1.LogoutRequest) returns (teleport.lib.teleterm.v1.EmptyResponse); */ logout(input: LogoutRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[28], opt = this._transport.mergeOptions(options); + const method = this.methods[27], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -747,7 +724,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: TransferFile(teleport.lib.teleterm.v1.FileTransferRequest) returns (stream teleport.lib.teleterm.v1.FileTransferProgress); */ transferFile(input: FileTransferRequest, options?: RpcOptions): ServerStreamingCall { - const method = this.methods[29], opt = this._transport.mergeOptions(options); + const method = this.methods[28], opt = this._transport.mergeOptions(options); return stackIntercept("serverStreaming", this._transport, method, opt, input); } /** @@ -756,7 +733,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: ReportUsageEvent(teleport.lib.teleterm.v1.ReportUsageEventRequest) returns (teleport.lib.teleterm.v1.EmptyResponse); */ reportUsageEvent(input: ReportUsageEventRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[30], opt = this._transport.mergeOptions(options); + const method = this.methods[29], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -766,7 +743,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: UpdateHeadlessAuthenticationState(teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateRequest) returns (teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateResponse); */ updateHeadlessAuthenticationState(input: UpdateHeadlessAuthenticationStateRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[31], opt = this._transport.mergeOptions(options); + const method = this.methods[30], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -777,7 +754,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: CreateConnectMyComputerRole(teleport.lib.teleterm.v1.CreateConnectMyComputerRoleRequest) returns (teleport.lib.teleterm.v1.CreateConnectMyComputerRoleResponse); */ createConnectMyComputerRole(input: CreateConnectMyComputerRoleRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[32], opt = this._transport.mergeOptions(options); + const method = this.methods[31], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -786,7 +763,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: CreateConnectMyComputerNodeToken(teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenRequest) returns (teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenResponse); */ createConnectMyComputerNodeToken(input: CreateConnectMyComputerNodeTokenRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[33], opt = this._transport.mergeOptions(options); + const method = this.methods[32], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -800,7 +777,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: WaitForConnectMyComputerNodeJoin(teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinRequest) returns (teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinResponse); */ waitForConnectMyComputerNodeJoin(input: WaitForConnectMyComputerNodeJoinRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[34], opt = this._transport.mergeOptions(options); + const method = this.methods[33], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -809,7 +786,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: DeleteConnectMyComputerNode(teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeRequest) returns (teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeResponse); */ deleteConnectMyComputerNode(input: DeleteConnectMyComputerNodeRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[35], opt = this._transport.mergeOptions(options); + const method = this.methods[34], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -818,7 +795,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: GetConnectMyComputerNodeName(teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameRequest) returns (teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameResponse); */ getConnectMyComputerNodeName(input: GetConnectMyComputerNodeNameRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[36], opt = this._transport.mergeOptions(options); + const method = this.methods[35], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -827,7 +804,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: ListUnifiedResources(teleport.lib.teleterm.v1.ListUnifiedResourcesRequest) returns (teleport.lib.teleterm.v1.ListUnifiedResourcesResponse); */ listUnifiedResources(input: ListUnifiedResourcesRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[37], opt = this._transport.mergeOptions(options); + const method = this.methods[36], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -836,7 +813,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: GetUserPreferences(teleport.lib.teleterm.v1.GetUserPreferencesRequest) returns (teleport.lib.teleterm.v1.GetUserPreferencesResponse); */ getUserPreferences(input: GetUserPreferencesRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[38], opt = this._transport.mergeOptions(options); + const method = this.methods[37], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -846,7 +823,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: UpdateUserPreferences(teleport.lib.teleterm.v1.UpdateUserPreferencesRequest) returns (teleport.lib.teleterm.v1.UpdateUserPreferencesResponse); */ updateUserPreferences(input: UpdateUserPreferencesRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[39], opt = this._transport.mergeOptions(options); + const method = this.methods[38], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -859,7 +836,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: AuthenticateWebDevice(teleport.lib.teleterm.v1.AuthenticateWebDeviceRequest) returns (teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse); */ authenticateWebDevice(input: AuthenticateWebDeviceRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[40], opt = this._transport.mergeOptions(options); + const method = this.methods[39], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -869,7 +846,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: GetApp(teleport.lib.teleterm.v1.GetAppRequest) returns (teleport.lib.teleterm.v1.GetAppResponse); */ getApp(input: GetAppRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[41], opt = this._transport.mergeOptions(options); + const method = this.methods[40], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } /** @@ -878,7 +855,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: ConnectToDesktop(stream teleport.lib.teleterm.v1.ConnectToDesktopRequest) returns (stream teleport.lib.teleterm.v1.ConnectToDesktopResponse); */ connectToDesktop(options?: RpcOptions): DuplexStreamingCall { - const method = this.methods[42], opt = this._transport.mergeOptions(options); + const method = this.methods[41], opt = this._transport.mergeOptions(options); return stackIntercept("duplex", this._transport, method, opt); } /** @@ -892,7 +869,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf * @generated from protobuf rpc: SetSharedDirectoryForDesktopSession(teleport.lib.teleterm.v1.SetSharedDirectoryForDesktopSessionRequest) returns (teleport.lib.teleterm.v1.SetSharedDirectoryForDesktopSessionResponse); */ setSharedDirectoryForDesktopSession(input: SetSharedDirectoryForDesktopSessionRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[43], opt = this._transport.mergeOptions(options); + const method = this.methods[42], opt = this._transport.mergeOptions(options); return stackIntercept("unary", this._transport, method, opt, input); } } diff --git a/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.grpc-server.ts b/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.grpc-server.ts index 505fa636f9a33..87a9d98541bcb 100644 --- a/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.grpc-server.ts +++ b/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.grpc-server.ts @@ -86,8 +86,6 @@ import { GetAccessRequestResponse } from "./service_pb"; import { GetAccessRequestRequest } from "./service_pb"; import { GetAccessRequestsResponse } from "./service_pb"; import { GetAccessRequestsRequest } from "./service_pb"; -import { GetServersResponse } from "./service_pb"; -import { GetServersRequest } from "./service_pb"; import { ListDatabaseServersResponse } from "./service_pb"; import { ListDatabaseServersRequest } from "./service_pb"; import { ListDatabaseUsersResponse } from "./service_pb"; @@ -154,15 +152,6 @@ export interface ITerminalService extends grpc.UntypedServiceImplementation { * @generated from protobuf rpc: ListDatabaseServers(teleport.lib.teleterm.v1.ListDatabaseServersRequest) returns (teleport.lib.teleterm.v1.ListDatabaseServersResponse); */ listDatabaseServers: grpc.handleUnaryCall; - /** - * GetServers returns filtered, sorted, and paginated servers - * - * Deprecated: Use ListUnifiedResources instead. - * - * @deprecated - * @generated from protobuf rpc: GetServers(teleport.lib.teleterm.v1.GetServersRequest) returns (teleport.lib.teleterm.v1.GetServersResponse); - */ - getServers: grpc.handleUnaryCall; /** * GetAccessRequests lists filtered AccessRequests * @@ -498,16 +487,6 @@ export const terminalServiceDefinition: grpc.ServiceDefinition responseSerialize: value => Buffer.from(ListDatabaseServersResponse.toBinary(value)), requestSerialize: value => Buffer.from(ListDatabaseServersRequest.toBinary(value)) }, - getServers: { - path: "/teleport.lib.teleterm.v1.TerminalService/GetServers", - originalName: "GetServers", - requestStream: false, - responseStream: false, - responseDeserialize: bytes => GetServersResponse.fromBinary(bytes), - requestDeserialize: bytes => GetServersRequest.fromBinary(bytes), - responseSerialize: value => Buffer.from(GetServersResponse.toBinary(value)), - requestSerialize: value => Buffer.from(GetServersRequest.toBinary(value)) - }, getAccessRequests: { path: "/teleport.lib.teleterm.v1.TerminalService/GetAccessRequests", originalName: "GetAccessRequests", diff --git a/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.ts b/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.ts index 177b2fb6b5abe..4a2e966ae2e95 100644 --- a/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.ts +++ b/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.ts @@ -825,56 +825,6 @@ export interface SetGatewayLocalPortRequest { */ localPort: string; } -/** - * @generated from protobuf message teleport.lib.teleterm.v1.GetServersRequest - */ -export interface GetServersRequest { - /** - * @generated from protobuf field: string cluster_uri = 1; - */ - clusterUri: string; - /** - * @generated from protobuf field: int32 limit = 2; - */ - limit: number; - /** - * @generated from protobuf field: string start_key = 3; - */ - startKey: string; - /** - * @generated from protobuf field: string search = 4; - */ - search: string; - /** - * @generated from protobuf field: string query = 5; - */ - query: string; - /** - * @generated from protobuf field: string sort_by = 6; - */ - sortBy: string; - /** - * @generated from protobuf field: string search_as_roles = 7; - */ - searchAsRoles: string; -} -/** - * @generated from protobuf message teleport.lib.teleterm.v1.GetServersResponse - */ -export interface GetServersResponse { - /** - * @generated from protobuf field: repeated teleport.lib.teleterm.v1.Server agents = 1; - */ - agents: Server[]; - /** - * @generated from protobuf field: int32 total_count = 2; - */ - totalCount: number; - /** - * @generated from protobuf field: string start_key = 3; - */ - startKey: string; -} /** * @generated from protobuf message teleport.lib.teleterm.v1.GetAuthSettingsRequest */ @@ -4106,164 +4056,6 @@ class SetGatewayLocalPortRequest$Type extends MessageType { - constructor() { - super("teleport.lib.teleterm.v1.GetServersRequest", [ - { no: 1, name: "cluster_uri", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, - { no: 2, name: "limit", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, - { no: 3, name: "start_key", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, - { no: 4, name: "search", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, - { no: 5, name: "query", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, - { no: 6, name: "sort_by", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, - { no: 7, name: "search_as_roles", kind: "scalar", T: 9 /*ScalarType.STRING*/ } - ]); - } - create(value?: PartialMessage): GetServersRequest { - const message = globalThis.Object.create((this.messagePrototype!)); - message.clusterUri = ""; - message.limit = 0; - message.startKey = ""; - message.search = ""; - message.query = ""; - message.sortBy = ""; - message.searchAsRoles = ""; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetServersRequest): GetServersRequest { - let message = target ?? this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string cluster_uri */ 1: - message.clusterUri = reader.string(); - break; - case /* int32 limit */ 2: - message.limit = reader.int32(); - break; - case /* string start_key */ 3: - message.startKey = reader.string(); - break; - case /* string search */ 4: - message.search = reader.string(); - break; - case /* string query */ 5: - message.query = reader.string(); - break; - case /* string sort_by */ 6: - message.sortBy = reader.string(); - break; - case /* string search_as_roles */ 7: - message.searchAsRoles = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; - } - internalBinaryWrite(message: GetServersRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { - /* string cluster_uri = 1; */ - if (message.clusterUri !== "") - writer.tag(1, WireType.LengthDelimited).string(message.clusterUri); - /* int32 limit = 2; */ - if (message.limit !== 0) - writer.tag(2, WireType.Varint).int32(message.limit); - /* string start_key = 3; */ - if (message.startKey !== "") - writer.tag(3, WireType.LengthDelimited).string(message.startKey); - /* string search = 4; */ - if (message.search !== "") - writer.tag(4, WireType.LengthDelimited).string(message.search); - /* string query = 5; */ - if (message.query !== "") - writer.tag(5, WireType.LengthDelimited).string(message.query); - /* string sort_by = 6; */ - if (message.sortBy !== "") - writer.tag(6, WireType.LengthDelimited).string(message.sortBy); - /* string search_as_roles = 7; */ - if (message.searchAsRoles !== "") - writer.tag(7, WireType.LengthDelimited).string(message.searchAsRoles); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } -} -/** - * @generated MessageType for protobuf message teleport.lib.teleterm.v1.GetServersRequest - */ -export const GetServersRequest = new GetServersRequest$Type(); -// @generated message type with reflection information, may provide speed optimized methods -class GetServersResponse$Type extends MessageType { - constructor() { - super("teleport.lib.teleterm.v1.GetServersResponse", [ - { no: 1, name: "agents", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => Server }, - { no: 2, name: "total_count", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, - { no: 3, name: "start_key", kind: "scalar", T: 9 /*ScalarType.STRING*/ } - ]); - } - create(value?: PartialMessage): GetServersResponse { - const message = globalThis.Object.create((this.messagePrototype!)); - message.agents = []; - message.totalCount = 0; - message.startKey = ""; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetServersResponse): GetServersResponse { - let message = target ?? this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* repeated teleport.lib.teleterm.v1.Server agents */ 1: - message.agents.push(Server.internalBinaryRead(reader, reader.uint32(), options)); - break; - case /* int32 total_count */ 2: - message.totalCount = reader.int32(); - break; - case /* string start_key */ 3: - message.startKey = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; - } - internalBinaryWrite(message: GetServersResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { - /* repeated teleport.lib.teleterm.v1.Server agents = 1; */ - for (let i = 0; i < message.agents.length; i++) - Server.internalBinaryWrite(message.agents[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join(); - /* int32 total_count = 2; */ - if (message.totalCount !== 0) - writer.tag(2, WireType.Varint).int32(message.totalCount); - /* string start_key = 3; */ - if (message.startKey !== "") - writer.tag(3, WireType.LengthDelimited).string(message.startKey); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } -} -/** - * @generated MessageType for protobuf message teleport.lib.teleterm.v1.GetServersResponse - */ -export const GetServersResponse = new GetServersResponse$Type(); -// @generated message type with reflection information, may provide speed optimized methods class GetAuthSettingsRequest$Type extends MessageType { constructor() { super("teleport.lib.teleterm.v1.GetAuthSettingsRequest", [ @@ -5936,7 +5728,6 @@ export const TerminalService = new ServiceType("teleport.lib.teleterm.v1.Termina { name: "StartHeadlessWatcher", options: {}, I: StartHeadlessWatcherRequest, O: StartHeadlessWatcherResponse }, { name: "ListDatabaseUsers", options: {}, I: ListDatabaseUsersRequest, O: ListDatabaseUsersResponse }, { name: "ListDatabaseServers", options: {}, I: ListDatabaseServersRequest, O: ListDatabaseServersResponse }, - { name: "GetServers", options: {}, I: GetServersRequest, O: GetServersResponse }, { name: "GetAccessRequests", options: {}, I: GetAccessRequestsRequest, O: GetAccessRequestsResponse }, { name: "GetAccessRequest", options: {}, I: GetAccessRequestRequest, O: GetAccessRequestResponse }, { name: "DeleteAccessRequest", options: {}, I: DeleteAccessRequestRequest, O: EmptyResponse }, diff --git a/lib/teleterm/apiserver/handler/handler_servers.go b/lib/teleterm/apiserver/handler/handler_servers.go deleted file mode 100644 index ac21e9082c31b..0000000000000 --- a/lib/teleterm/apiserver/handler/handler_servers.go +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Teleport - * Copyright (C) 2023 Gravitational, Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package handler - -import ( - "context" - - "github.com/gravitational/trace" - - api "github.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1" - "github.com/gravitational/teleport/lib/teleterm/clusters" - "github.com/gravitational/teleport/lib/ui" -) - -// GetServers accepts parameterized input to enable searching, sorting, and pagination -func (s *Handler) GetServers(ctx context.Context, req *api.GetServersRequest) (*api.GetServersResponse, error) { - resp, err := s.DaemonService.GetServers(ctx, req) - if err != nil { - return nil, trace.Wrap(err) - } - - response := &api.GetServersResponse{ - TotalCount: int32(resp.TotalCount), - StartKey: resp.StartKey, - } - for _, srv := range resp.Servers { - response.Agents = append(response.Agents, newAPIServer(srv)) - } - - return response, nil -} - -func newAPIServer(server clusters.Server) *api.Server { - serverLabels := server.GetStaticLabels() - serverCmdLabels := server.GetCmdLabels() - apiLabels := makeAPILabels( - ui.MakeLabelsWithoutInternalPrefixes(serverLabels, ui.TransformCommandLabels(serverCmdLabels)), - ) - - return &api.Server{ - Uri: server.URI.String(), - Tunnel: server.GetUseTunnel(), - Name: server.GetName(), - Hostname: server.GetHostname(), - Addr: server.GetAddr(), - SubKind: server.GetSubKind(), - Labels: apiLabels, - } -} diff --git a/lib/teleterm/apiserver/handler/handler_unified_resources.go b/lib/teleterm/apiserver/handler/handler_unified_resources.go index 8543d1a64eba2..11c95e305df88 100644 --- a/lib/teleterm/apiserver/handler/handler_unified_resources.go +++ b/lib/teleterm/apiserver/handler/handler_unified_resources.go @@ -28,6 +28,8 @@ import ( api "github.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1" "github.com/gravitational/teleport/lib/client" "github.com/gravitational/teleport/lib/teleterm/api/uri" + "github.com/gravitational/teleport/lib/teleterm/clusters" + "github.com/gravitational/teleport/lib/ui" ) func (s *Handler) ListUnifiedResources(ctx context.Context, req *api.ListUnifiedResourcesRequest) (*api.ListUnifiedResourcesResponse, error) { @@ -114,3 +116,21 @@ func (s *Handler) ListUnifiedResources(ctx context.Context, req *api.ListUnified return &response, nil } + +func newAPIServer(server clusters.Server) *api.Server { + serverLabels := server.GetStaticLabels() + serverCmdLabels := server.GetCmdLabels() + apiLabels := makeAPILabels( + ui.MakeLabelsWithoutInternalPrefixes(serverLabels, ui.TransformCommandLabels(serverCmdLabels)), + ) + + return &api.Server{ + Uri: server.URI.String(), + Tunnel: server.GetUseTunnel(), + Name: server.GetName(), + Hostname: server.GetHostname(), + Addr: server.GetAddr(), + SubKind: server.GetSubKind(), + Labels: apiLabels, + } +} diff --git a/lib/teleterm/clusters/cluster.go b/lib/teleterm/clusters/cluster.go index d35e6740e364d..c16bc61aaad18 100644 --- a/lib/teleterm/clusters/cluster.go +++ b/lib/teleterm/clusters/cluster.go @@ -385,3 +385,11 @@ func UserTypeFromString(userType types.UserType) (api.LoggedInUser_UserType, err trace.BadParameter("unknown user type %q", userType) } } + +// Server describes an SSH node. +type Server struct { + // URI is the database URI + URI uri.ResourceURI + + types.Server +} diff --git a/lib/teleterm/clusters/cluster_servers.go b/lib/teleterm/clusters/cluster_servers.go deleted file mode 100644 index f1df147d2abe0..0000000000000 --- a/lib/teleterm/clusters/cluster_servers.go +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Teleport - * Copyright (C) 2023 Gravitational, Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package clusters - -import ( - "context" - - "github.com/gravitational/trace" - - apiclient "github.com/gravitational/teleport/api/client" - "github.com/gravitational/teleport/api/client/proto" - "github.com/gravitational/teleport/api/defaults" - "github.com/gravitational/teleport/api/types" - api "github.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1" - "github.com/gravitational/teleport/lib/auth/authclient" - "github.com/gravitational/teleport/lib/client" - "github.com/gravitational/teleport/lib/teleterm/api/uri" -) - -// Database describes database -type Server struct { - // URI is the database URI - URI uri.ResourceURI - - types.Server -} - -// GetServers returns a paginated list of servers. -func (c *Cluster) GetServers(ctx context.Context, r *api.GetServersRequest, authClient authclient.ClientI) (*GetServersResponse, error) { - var ( - page apiclient.ResourcePage[types.Server] - err error - ) - - req := &proto.ListResourcesRequest{ - Namespace: defaults.Namespace, - ResourceType: types.KindNode, - Limit: r.Limit, - SortBy: types.GetSortByFromString(r.SortBy), - StartKey: r.StartKey, - PredicateExpression: r.Query, - SearchKeywords: client.ParseSearchKeywords(r.Search, ' '), - UseSearchAsRoles: r.SearchAsRoles == "yes", - } - - err = AddMetadataToRetryableError(ctx, func() error { - page, err = apiclient.GetResourcePage[types.Server](ctx, authClient, req) - if err != nil { - return trace.Wrap(err) - } - - return nil - }) - if err != nil { - return nil, trace.Wrap(err) - } - - results := make([]Server, 0, len(page.Resources)) - for _, server := range page.Resources { - results = append(results, Server{ - URI: c.URI.AppendServer(server.GetName()), - Server: server, - }) - } - - return &GetServersResponse{ - Servers: results, - StartKey: page.NextKey, - TotalCount: page.Total, - }, nil -} - -type GetServersResponse struct { - Servers []Server - // StartKey is the next key to use as a starting point. - StartKey string - // TotalCount is the total number of resources available as a whole. - TotalCount int -} diff --git a/lib/teleterm/daemon/daemon.go b/lib/teleterm/daemon/daemon.go index 50f6113b94784..5d33e8c42db54 100644 --- a/lib/teleterm/daemon/daemon.go +++ b/lib/teleterm/daemon/daemon.go @@ -672,26 +672,6 @@ func (s *Service) SetGatewayLocalPort(gatewayURI, localPort string) (gateway.Gat return newGateway, nil } -// GetServers accepts parameterized input to enable searching, sorting, and pagination. -func (s *Service) GetServers(ctx context.Context, req *api.GetServersRequest) (*clusters.GetServersResponse, error) { - cluster, _, err := s.ResolveCluster(req.ClusterUri) - if err != nil { - return nil, trace.Wrap(err) - } - - proxyClient, err := s.GetCachedClient(ctx, cluster.URI) - if err != nil { - return nil, trace.Wrap(err) - } - - response, err := cluster.GetServers(ctx, req, proxyClient.CurrentCluster()) - if err != nil { - return nil, trace.Wrap(err) - } - - return response, nil -} - func (s *Service) GetRequestableRoles(ctx context.Context, req *api.GetRequestableRolesRequest) (*api.GetRequestableRolesResponse, error) { cluster, _, err := s.ResolveCluster(req.ClusterUri) if err != nil { diff --git a/proto/teleport/lib/teleterm/v1/service.proto b/proto/teleport/lib/teleterm/v1/service.proto index 1b1bbcb27f83e..a63f0f2ca6746 100644 --- a/proto/teleport/lib/teleterm/v1/service.proto +++ b/proto/teleport/lib/teleterm/v1/service.proto @@ -66,12 +66,6 @@ service TerminalService { rpc ListDatabaseUsers(ListDatabaseUsersRequest) returns (ListDatabaseUsersResponse); // ListDatabaseServers lists allowed users for the given database based on the role set. rpc ListDatabaseServers(ListDatabaseServersRequest) returns (ListDatabaseServersResponse); - // GetServers returns filtered, sorted, and paginated servers - // - // Deprecated: Use ListUnifiedResources instead. - rpc GetServers(GetServersRequest) returns (GetServersResponse) { - option deprecated = true; - } // GetAccessRequests lists filtered AccessRequests rpc GetAccessRequests(GetAccessRequestsRequest) returns (GetAccessRequestsResponse); // GetAccessRequest retreives a single Access Request @@ -532,22 +526,6 @@ message SetGatewayLocalPortRequest { string local_port = 2; } -message GetServersRequest { - string cluster_uri = 1; - int32 limit = 2; - string start_key = 3; - string search = 4; - string query = 5; - string sort_by = 6; - string search_as_roles = 7; -} - -message GetServersResponse { - repeated Server agents = 1; - int32 total_count = 2; - string start_key = 3; -} - message GetAuthSettingsRequest { string cluster_uri = 1; } diff --git a/web/packages/teleterm/src/services/pty/ptyHost/buildPtyOptions.ts b/web/packages/teleterm/src/services/pty/ptyHost/buildPtyOptions.ts index 218f7c36cc1ab..90077b8359727 100644 --- a/web/packages/teleterm/src/services/pty/ptyHost/buildPtyOptions.ts +++ b/web/packages/teleterm/src/services/pty/ptyHost/buildPtyOptions.ts @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -import path, { delimiter } from 'path'; +import { delimiter } from 'path'; import { makeCustomShellFromPath, Shell } from 'teleterm/mainProcess/shell'; import { RuntimeSettings } from 'teleterm/mainProcess/types'; @@ -33,7 +33,6 @@ import { PtyProcessCreationStatus, ShellCommand, SshOptions, - TshKubeLoginCommand, WindowsPty, } from '../types'; import { @@ -184,32 +183,6 @@ export function getPtyProcessOptions({ }; } - case 'pty.tsh-kube-login': { - const isWindows = settings.platform === 'win32'; - - // backtick (PowerShell) and backslash (Bash) are used to escape a whitespace - const escapedBinaryPath = settings.tshd.binaryPath.replaceAll( - ' ', - isWindows ? '` ' : '\\ ' - ); - const kubeLoginCommand = [ - escapedBinaryPath, - `--proxy=${cmd.rootClusterId}`, - `kube login ${cmd.kubeId} --cluster=${cmd.clusterName}`, - settings.insecure && '--insecure', - ] - .filter(Boolean) - .join(' '); - const bashCommandArgs = ['-c', `${kubeLoginCommand};$SHELL`]; - const powershellCommandArgs = ['-NoExit', '-c', kubeLoginCommand]; - return { - path: shellBinPath, - args: isWindows ? powershellCommandArgs : bashCommandArgs, - env: { ...env, KUBECONFIG: getKubeConfigFilePath(cmd, settings) }, - useConpty, - }; - } - case 'pty.tsh-login': { const loginHost = cmd.login ? `${cmd.login}@${cmd.serverId}` @@ -273,13 +246,6 @@ function prependBinDirToPath( .join(delimiter); } -function getKubeConfigFilePath( - command: TshKubeLoginCommand, - settings: RuntimeSettings -): string { - return path.join(settings.kubeConfigsDir, command.kubeConfigRelativePath); -} - async function resolveShell( cmd: ShellCommand, settings: RuntimeSettings, diff --git a/web/packages/teleterm/src/services/pty/types.ts b/web/packages/teleterm/src/services/pty/types.ts index 548fb389acfb4..24326af1a7886 100644 --- a/web/packages/teleterm/src/services/pty/types.ts +++ b/web/packages/teleterm/src/services/pty/types.ts @@ -82,14 +82,6 @@ export type TshLoginCommand = PtyCommandBase & { leafClusterId: string | undefined; }; -export type TshKubeLoginCommand = PtyCommandBase & { - kind: 'pty.tsh-kube-login'; - kubeId: string; - kubeConfigRelativePath: string; - rootClusterId: string; - leafClusterId?: string; -}; - export type GatewayCliClientCommand = PtyCommandBase & { kind: 'pty.gateway-cli-client'; // path is an absolute path to the CLI client. It is resolved on tshd side by GO's @@ -114,7 +106,6 @@ type PtyCommandBase = { export type PtyCommand = | ShellCommand | TshLoginCommand - | TshKubeLoginCommand | GatewayCliClientCommand; export type SshOptions = { diff --git a/web/packages/teleterm/src/services/tshd/fixtures/mocks.ts b/web/packages/teleterm/src/services/tshd/fixtures/mocks.ts index ab398ed2ad89a..a53701d1bf292 100644 --- a/web/packages/teleterm/src/services/tshd/fixtures/mocks.ts +++ b/web/packages/teleterm/src/services/tshd/fixtures/mocks.ts @@ -43,12 +43,6 @@ export class MockTshClient implements TshdClient { roles: [], applicableRoles: [], }); - getServers = () => - new MockedUnaryCall({ - agents: [], - totalCount: 0, - startKey: '', - }); assumeRole = () => new MockedUnaryCall({}); deleteAccessRequest = () => new MockedUnaryCall({}); getAccessRequests = () => diff --git a/web/packages/teleterm/src/ui/DocumentGatewayKube/DocumentGatewayKube.tsx b/web/packages/teleterm/src/ui/DocumentGatewayKube/DocumentGatewayKube.tsx index fc3ec8ce81388..c1afdf0c30758 100644 --- a/web/packages/teleterm/src/ui/DocumentGatewayKube/DocumentGatewayKube.tsx +++ b/web/packages/teleterm/src/ui/DocumentGatewayKube/DocumentGatewayKube.tsx @@ -36,15 +36,6 @@ import { emptyFormSchema, OfflineGateway } from '../components/OfflineGateway'; * * It first tries to create a kube gateway by calling the clusterService. Once * connected, it will render DocumentTerminal. - * - * TODO(greedy52) doc.gateway_kube replaces doc.terminal_tsh_kube when opening - * a new kube tab. However, the old doc.terminal_tsh_kube is kept to handle the - * case where doc.terminal_tsh_kube tabs are saved on disk by the old version - * of Teleport Connect and need to be reopen by the new version of Teleport - * Connect. The old doc.terminal_tsh_kube can be DELETED in the next major - * version (15.0.0) assuming migration should be done by then. Here is the - * discussion reference: - * https://github.com/gravitational/teleport/pull/28312#discussion_r1253214517 */ export const DocumentGatewayKube = (props: { visible: boolean; diff --git a/web/packages/teleterm/src/ui/DocumentTerminal/DocumentTerminal.tsx b/web/packages/teleterm/src/ui/DocumentTerminal/DocumentTerminal.tsx index e1dd90a7bd0b1..18dddd754a483 100644 --- a/web/packages/teleterm/src/ui/DocumentTerminal/DocumentTerminal.tsx +++ b/web/packages/teleterm/src/ui/DocumentTerminal/DocumentTerminal.tsx @@ -27,7 +27,6 @@ import { TerminalSearch } from 'shared/components/TerminalSearch'; import { useAppContext } from 'teleterm/ui/appContextProvider'; import Document from 'teleterm/ui/Document'; -import { isDocumentTshNodeWithServerId } from 'teleterm/ui/services/workspacesService'; import type * as types from 'teleterm/ui/services/workspacesService'; import { Reconnect } from './Reconnect'; @@ -85,43 +84,42 @@ export function DocumentTerminal(props: { const docConnected = doc.kind === 'doc.terminal_tsh_node' && doc.status === 'connected'; - const $fileTransfer = doc.kind === 'doc.terminal_tsh_node' && - isDocumentTshNodeWithServerId(doc) && ( - - // TODO (gzdunek): replace with a native dialog - window.confirm('Are you sure you want to cancel file transfers?') - } - transferHandlers={{ - getDownloader: async (sourcePath, abortController) => { - const fileDialog = - await ctx.mainProcessClient.showFileSaveDialog(sourcePath); - if (fileDialog.canceled) { - return; - } - return download( - { - serverUri: doc.serverUri, - login: doc.login, - source: sourcePath, - destination: fileDialog.filePath, - }, - abortController - ); - }, - getUploader: async (destinationPath, file, abortController) => - upload( - { - serverUri: doc.serverUri, - login: doc.login, - source: ctx.getPathForFile(file), - destination: destinationPath, - }, - abortController - ), - }} - /> - ); + const $fileTransfer = doc.kind === 'doc.terminal_tsh_node' && ( + + // TODO (gzdunek): replace with a native dialog + window.confirm('Are you sure you want to cancel file transfers?') + } + transferHandlers={{ + getDownloader: async (sourcePath, abortController) => { + const fileDialog = + await ctx.mainProcessClient.showFileSaveDialog(sourcePath); + if (fileDialog.canceled) { + return; + } + return download( + { + serverUri: doc.serverUri, + login: doc.login, + source: sourcePath, + destination: fileDialog.filePath, + }, + abortController + ); + }, + getUploader: async (destinationPath, file, abortController) => + upload( + { + serverUri: doc.serverUri, + login: doc.login, + source: ctx.getPathForFile(file), + destination: destinationPath, + }, + abortController + ), + }} + /> + ); return ( { const rootClusterUri = '/clusters/test' as const; const leafClusterUri = `${rootClusterUri}/leaves/leaf` as const; const serverUUID = 'bed30649-3af5-40f1-a832-54ff4adcca41'; -const server: tsh.Server = makeServer({ - uri: `${rootClusterUri}/servers/${serverUUID}`, - name: serverUUID, -}); -const leafServer = makeServer({ - ...server, - uri: `${leafClusterUri}/servers/${serverUUID}`, -}); -const getDocTshNodeWithServerId: () => DocumentTshNodeWithServerId = () => ({ +const getDocTshNode: () => DocumentTshNode = () => ({ kind: 'doc.terminal_tsh_node', uri: '/docs/123', title: '', @@ -88,15 +71,6 @@ const getDocPtySession: () => DocumentPtySession = () => ({ rootClusterId: 'test', }); -const getDocTshNodeWithLoginHost: () => DocumentTshNodeWithLoginHost = () => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const { serverId, serverUri, login, ...rest } = getDocTshNodeWithServerId(); - return { - ...rest, - loginHost: 'user@foo', - }; -}; - const getPtyProcessMock = (): IPtyProcess => ({ onOpen: jest.fn(), write: jest.fn(), @@ -111,7 +85,7 @@ const getPtyProcessMock = (): IPtyProcess => ({ }); test('useDocumentTerminal calls TerminalsService during init', async () => { - const doc = getDocTshNodeWithServerId(); + const doc = getDocTshNode(); const { wrapper, appContext } = testSetup(doc); const { result } = renderHook(() => useDocumentTerminal(doc), { wrapper }); @@ -136,7 +110,7 @@ test('useDocumentTerminal calls TerminalsService during init', async () => { }); test('useDocumentTerminal calls TerminalsService only once', async () => { - const doc = getDocTshNodeWithServerId(); + const doc = getDocTshNode(); const { wrapper, appContext } = testSetup(doc); const { result, rerender } = renderHook(() => useDocumentTerminal(doc), { @@ -152,7 +126,7 @@ test('useDocumentTerminal calls TerminalsService only once', async () => { }); test('useDocumentTerminal gets leaf cluster ID from ClustersService when the leaf cluster is in ClustersService', async () => { - const doc = getDocTshNodeWithServerId(); + const doc = getDocTshNode(); doc.leafClusterId = 'leaf'; doc.serverUri = `${leafClusterUri}/servers/${doc.serverId}`; const { wrapper, appContext } = testSetup(doc, leafClusterUri); @@ -179,7 +153,7 @@ test('useDocumentTerminal gets leaf cluster ID from ClustersService when the lea }); test('useDocumentTerminal gets leaf cluster ID from doc.leafClusterId if the leaf cluster is not synced yet', async () => { - const doc = getDocTshNodeWithServerId(); + const doc = getDocTshNode(); doc.leafClusterId = 'leaf'; doc.serverUri = `${leafClusterUri}/servers/${doc.serverId}`; const { wrapper, appContext } = testSetup(doc, leafClusterUri); @@ -209,7 +183,7 @@ test('useDocumentTerminal gets leaf cluster ID from doc.leafClusterId if the lea }); test('useDocumentTerminal returns a failed attempt if the call to TerminalsService fails', async () => { - const doc = getDocTshNodeWithServerId(); + const doc = getDocTshNode(); const { wrapper, appContext } = testSetup(doc); const { terminalsService } = appContext; @@ -231,7 +205,7 @@ test('useDocumentTerminal returns a failed attempt if the call to TerminalsServi }); test('useDocumentTerminal shows a warning notification if the call to TerminalsService fails due to resolving env timeout', async () => { - const doc = getDocTshNodeWithServerId(); + const doc = getDocTshNode(); const { wrapper, appContext } = testSetup(doc); const { terminalsService, notificationsService } = appContext; @@ -266,297 +240,6 @@ test('useDocumentTerminal shows a warning notification if the call to TerminalsS expect(notificationsService.notifyWarning).toHaveBeenCalledTimes(1); }); -describe('calling useDocumentTerminal with a doc with a loginHost', () => { - const tests: Array< - { - name: string; - prepareDoc?: (doc: DocumentTshNodeWithLoginHost) => void; - prepareContext?: (ctx: IAppContext) => void; - mockGetServerByHostname: - | Awaited> - | AmbiguousHostnameError - | Error; - expectedDocumentUpdate: Partial; - expectedArgsOfGetServerByHostname: Parameters< - ResourcesService['getServerByHostname'] - >; - } & ( - | { expectedPtyCommand: PtyCommand; expectedError?: never } - | { expectedPtyCommand?: never; expectedError: string } - ) - > = [ - { - name: 'calls ResourcesService to resolve the hostname of a root cluster SSH server to a UUID', - mockGetServerByHostname: server, - expectedPtyCommand: { - kind: 'pty.tsh-login', - proxyHost: 'localhost:3080', - clusterName: 'Test', - login: 'user', - serverId: serverUUID, - rootClusterId: 'test', - leafClusterId: undefined, - }, - expectedDocumentUpdate: { - serverId: serverUUID, - serverUri: server.uri, - login: 'user', - loginHost: undefined, - title: 'user@foo', - }, - expectedArgsOfGetServerByHostname: [rootClusterUri, 'foo'], - }, - { - name: 'calls ResourcesService to resolve the hostname of a leaf cluster SSH server to a UUID', - prepareDoc: doc => { - doc.leafClusterId = 'leaf'; - }, - mockGetServerByHostname: leafServer, - expectedPtyCommand: { - kind: 'pty.tsh-login', - proxyHost: 'localhost:3080', - clusterName: 'leaf', - login: 'user', - serverId: serverUUID, - rootClusterId: 'test', - leafClusterId: 'leaf', - }, - expectedDocumentUpdate: { - serverId: serverUUID, - serverUri: leafServer.uri, - login: 'user', - loginHost: undefined, - title: 'user@foo', - }, - expectedArgsOfGetServerByHostname: [leafClusterUri, 'foo'], - }, - { - name: 'starts the session even if the leaf cluster is not synced yet', - prepareDoc: doc => { - doc.leafClusterId = 'leaf'; - }, - prepareContext: ctx => { - ctx.clustersService.setState(draft => { - draft.clusters.delete(leafClusterUri); - }); - }, - mockGetServerByHostname: leafServer, - expectedPtyCommand: { - kind: 'pty.tsh-login', - proxyHost: 'localhost:3080', - clusterName: 'leaf', - login: 'user', - serverId: serverUUID, - rootClusterId: 'test', - leafClusterId: 'leaf', - }, - expectedDocumentUpdate: { - serverId: serverUUID, - serverUri: leafServer.uri, - login: 'user', - loginHost: undefined, - title: 'user@foo', - }, - expectedArgsOfGetServerByHostname: [leafClusterUri, 'foo'], - }, - { - name: 'maintains incorrect loginHost with too many parts', - prepareDoc: doc => { - doc.loginHost = 'user@foo@baz'; - }, - mockGetServerByHostname: undefined, - expectedPtyCommand: { - kind: 'pty.tsh-login', - proxyHost: 'localhost:3080', - clusterName: 'Test', - login: 'user@foo', - serverId: 'baz', - rootClusterId: 'test', - leafClusterId: undefined, - }, - expectedDocumentUpdate: { - serverId: 'baz', - serverUri: `${rootClusterUri}/servers/baz`, - login: 'user@foo', - loginHost: undefined, - title: 'user@foo@baz', - }, - expectedArgsOfGetServerByHostname: [rootClusterUri, 'baz'], - }, - { - // This is in order to call `tsh ssh user@foo` anyway and make tsh show an appropriate error. - name: 'uses hostname as serverId if no matching server was found', - mockGetServerByHostname: undefined, - expectedPtyCommand: { - kind: 'pty.tsh-login', - proxyHost: 'localhost:3080', - clusterName: 'Test', - login: 'user', - serverId: 'foo', - rootClusterId: 'test', - leafClusterId: undefined, - }, - expectedDocumentUpdate: { - serverId: 'foo', - serverUri: `${rootClusterUri}/servers/foo`, - login: 'user', - loginHost: undefined, - title: 'user@foo', - }, - expectedArgsOfGetServerByHostname: [rootClusterUri, 'foo'], - }, - { - // This is the case when the user tries to execute `tsh ssh host`. We want to call `tsh ssh - // host` anyway and make tsh show an appropriate error. But… - name: 'attempts to connect even if only the host was supplied and the server was not resolved', - prepareDoc: doc => { - doc.loginHost = 'host'; - }, - mockGetServerByHostname: undefined, - expectedPtyCommand: { - kind: 'pty.tsh-login', - proxyHost: 'localhost:3080', - clusterName: 'Test', - login: undefined, - serverId: 'host', - rootClusterId: 'test', - leafClusterId: undefined, - }, - expectedDocumentUpdate: { - serverId: 'host', - serverUri: `${rootClusterUri}/servers/host`, - login: undefined, - loginHost: undefined, - title: 'host', - }, - expectedArgsOfGetServerByHostname: [rootClusterUri, 'host'], - }, - { - // …it might also be the case that the username of a Teleport user is equal to a user on the - // host, in which case explicitly providing the username is not necessary. - name: 'attempts to connect even if only the host was supplied and the server was resolved', - prepareDoc: doc => { - doc.loginHost = 'foo'; - }, - mockGetServerByHostname: server, - expectedPtyCommand: { - kind: 'pty.tsh-login', - proxyHost: 'localhost:3080', - clusterName: 'Test', - login: undefined, - serverId: serverUUID, - rootClusterId: 'test', - leafClusterId: undefined, - }, - expectedDocumentUpdate: { - serverId: serverUUID, - serverUri: server.uri, - login: undefined, - loginHost: undefined, - title: 'foo', - }, - expectedArgsOfGetServerByHostname: [rootClusterUri, 'foo'], - }, - { - // As in other scenarios, we execute `tsh ssh user@ambiguous-host` anyway and let tsh show the - // error message. - name: 'silently ignores an ambiguous hostname error', - prepareDoc: doc => { - doc.loginHost = 'user@ambiguous-host'; - }, - mockGetServerByHostname: new AmbiguousHostnameError('ambiguous-host'), - expectedPtyCommand: { - kind: 'pty.tsh-login', - proxyHost: 'localhost:3080', - clusterName: 'Test', - login: 'user', - serverId: 'ambiguous-host', - rootClusterId: 'test', - leafClusterId: undefined, - }, - expectedDocumentUpdate: { - serverId: 'ambiguous-host', - serverUri: `${rootClusterUri}/servers/ambiguous-host`, - login: 'user', - loginHost: undefined, - title: 'user@ambiguous-host', - }, - expectedArgsOfGetServerByHostname: [rootClusterUri, 'ambiguous-host'], - }, - { - name: 'returns a failed attempt if there was an error when resolving hostname', - mockGetServerByHostname: new Error('oops'), - expectedError: 'oops', - expectedDocumentUpdate: { status: 'error' }, - expectedArgsOfGetServerByHostname: [rootClusterUri, 'foo'], - }, - ]; - - test.each(tests)( - '$name', - async ({ - prepareDoc, - prepareContext, - mockGetServerByHostname, - expectedPtyCommand, - expectedDocumentUpdate, - expectedArgsOfGetServerByHostname, - expectedError, - }) => { - const doc = getDocTshNodeWithLoginHost(); - prepareDoc?.(doc); - const { wrapper, appContext, documentsService } = testSetup(doc); - prepareContext?.(appContext); - const { resourcesService, terminalsService } = appContext; - - jest.spyOn(documentsService, 'update'); - - if (mockGetServerByHostname instanceof Error) { - jest - .spyOn(resourcesService, 'getServerByHostname') - .mockRejectedValueOnce(mockGetServerByHostname); - } else { - jest - .spyOn(resourcesService, 'getServerByHostname') - .mockResolvedValueOnce(mockGetServerByHostname); - } - - const { result } = renderHook(() => useDocumentTerminal(doc), { - wrapper, - }); - - await waitFor(() => - expect(result.current.attempt.status).toBe( - expectedError ? 'error' : 'success' - ) - ); - - const { attempt } = result.current; - /* eslint-disable jest/no-conditional-expect */ - if (expectedError) { - expect(attempt.statusText).toBe(expectedError); - expect(attempt.status).toBe('error'); - expect(terminalsService.createPtyProcess).not.toHaveBeenCalled(); - } else { - expect(attempt.statusText).toBeFalsy(); - expect(attempt.status).toBe('success'); - expect(terminalsService.createPtyProcess).toHaveBeenCalledWith( - expectedPtyCommand - ); - } - /* eslint-enable jest/no-conditional-expect */ - - expect(resourcesService.getServerByHostname).toHaveBeenCalledWith( - ...expectedArgsOfGetServerByHostname - ); - expect(documentsService.update).toHaveBeenCalledWith( - doc.uri, - expectedDocumentUpdate - ); - } - ); -}); - // testSetup adds a cluster to ClustersService and WorkspacesService. // It also makes TerminalsService.prototype.createPtyProcess a noop. const testSetup = ( diff --git a/web/packages/teleterm/src/ui/DocumentTerminal/useDocumentTerminal.ts b/web/packages/teleterm/src/ui/DocumentTerminal/useDocumentTerminal.ts index 3b9e60c124db0..2940ec4fb65b6 100644 --- a/web/packages/teleterm/src/ui/DocumentTerminal/useDocumentTerminal.ts +++ b/web/packages/teleterm/src/ui/DocumentTerminal/useDocumentTerminal.ts @@ -16,12 +16,11 @@ * along with this program. If not, see . */ -import { useEffect, useRef } from 'react'; +import { useEffect } from 'react'; import { useAsync } from 'shared/hooks/useAsync'; import { runOnce } from 'shared/utils/highbar'; -import Logger from 'teleterm/logger'; import type { Shell } from 'teleterm/mainProcess/shell'; import { PtyCommand, @@ -29,25 +28,19 @@ import { WindowsPty, } from 'teleterm/services/pty'; import * as tshdGateway from 'teleterm/services/tshd/gateway'; -import type * as tsh from 'teleterm/services/tshd/types'; import { IPtyProcess } from 'teleterm/sharedProcess/ptyHost'; import { useAppContext } from 'teleterm/ui/appContextProvider'; import { useWorkspaceContext } from 'teleterm/ui/Documents'; import { ClustersService } from 'teleterm/ui/services/clusters'; -import { AmbiguousHostnameError } from 'teleterm/ui/services/resources'; import { canDocChangeShell, DocumentsService, - isDocumentTshNodeWithLoginHost, } from 'teleterm/ui/services/workspacesService'; import type * as types from 'teleterm/ui/services/workspacesService'; import { IAppContext } from 'teleterm/ui/types'; import { routing } from 'teleterm/ui/uri'; -import type * as uri from 'teleterm/ui/uri'; -import { retryWithRelogin } from 'teleterm/ui/utils'; export function useDocumentTerminal(doc: types.DocumentTerminal) { - const logger = useRef(new Logger('useDocumentTerminal')); const ctx = useAppContext(); const { documentsService } = useWorkspaceContext(); const [attempt, runAttempt] = useAsync(async () => { @@ -71,9 +64,8 @@ export function useDocumentTerminal(doc: types.DocumentTerminal) { } try { - return await initializePtyProcess( + return await setUpPtyProcess( ctx, - logger.current, documentsService, docWithDefaultShell || doc ); @@ -104,115 +96,6 @@ export function useDocumentTerminal(doc: types.DocumentTerminal) { return { attempt, initializePtyProcess: runAttempt }; } -async function initializePtyProcess( - ctx: IAppContext, - logger: Logger, - documentsService: DocumentsService, - doc: types.DocumentTerminal -) { - // DELETE IN 14.0.0 - // - // Logging in to an arbitrary host was removed in 13.0 together with the command bar. - // However, there's a slight chance that some users upgrading from 12.x to 13.0 still have - // documents with loginHost in the app state (e.g. if the doc failed to connect to the server). - // Let's just remove this in 14.0.0 instead to make sure those users can safely upgrade the app. - if (isDocumentTshNodeWithLoginHost(doc)) { - doc = await resolveLoginHost(ctx, logger, documentsService, doc); - } - - return setUpPtyProcess(ctx, documentsService, doc); -} - -/** - * resolveLoginHost tries to split loginHost from the doc into a login and a host and then resolve - * the host to a server UUID by asking the cluster for an SSH server with a matching hostname. - * - * It also updates the doc in DocumentsService. It's important for this function to return the - * updated doc so that setUpPtyProcess can use the resolved server UUID – startTerminalSession is - * called only once, it won't be re-run after the doc gets updated. - */ -async function resolveLoginHost( - ctx: IAppContext, - logger: Logger, - documentsService: DocumentsService, - doc: types.DocumentTshNodeWithLoginHost -): Promise { - let login: string | undefined, host: string; - const parts = doc.loginHost.split('@'); - const clusterUri = routing.getClusterUri({ - rootClusterId: doc.rootClusterId, - leafClusterId: doc.leafClusterId, - }); - - if (parts.length > 1) { - host = parts.pop(); - // If someone enters `foo@bar@baz` as an input here, `parts` will have more than two elements. - // `foo@bar` is probably not a valid login, but we don't want to lose that input here. - // - // In any case, we're just repeating what `tsh ssh` is doing with inputs like these - it treats - // the last part as the host and all the text before it as the login. - login = parts.join('@'); - } else { - // If someone enters just `host` as an input, we still want to execute `tsh ssh host`. It might - // be that the username of the current OS user matches one of the usernames available on the - // host in which case providing the username directly is not necessary. - host = parts[0]; - } - - let server: tsh.Server | undefined; - let serverUri: uri.ServerUri, serverHostname: string; - - try { - // TODO(ravicious): Handle finding a server by more than just a name. - // Basically we have to replicate tsh ssh behavior here. - server = await retryWithRelogin(ctx, clusterUri, () => - ctx.resourcesService.getServerByHostname(clusterUri, host) - ); - } catch (error) { - // TODO(ravicious): Handle ambiguous host name. See `onSSH` in `tool/tsh/tsh.go`. - if (error instanceof AmbiguousHostnameError) { - // Log the ambiguity of the hostname but continue anyway. This will pass the ambiguous - // hostname to tsh ssh and show an appropriate error in the new tab. - logger.error(error.message); - } else { - throw error; - } - } - - if (server) { - serverUri = server.uri; - serverHostname = server.hostname; - } else { - // If we can't find a server by the given hostname, we still want to create a document to - // handle the error further down the line. It also lets the user connect to a host by its UUID. - serverUri = routing.getServerUri({ - rootClusterId: doc.rootClusterId, - leafClusterId: doc.leafClusterId, - serverId: host, - }); - serverHostname = host; - } - - const title = login ? `${login}@${serverHostname}` : serverHostname; - - const docFieldsToUpdate = { - loginHost: undefined, - serverId: routing.parseServerUri(serverUri).params.serverId, - serverUri, - login, - title, - }; - - // Returning the updated doc as described in the JSDoc for this function. - const updatedDoc = { - ...doc, - ...docFieldsToUpdate, - }; - - documentsService.update(doc.uri, docFieldsToUpdate); - return updatedDoc; -} - async function setUpPtyProcess( ctx: IAppContext, documentsService: DocumentsService, @@ -269,7 +152,7 @@ async function setUpPtyProcess( accessThrough: 'proxy_service', }); } - if (doc.kind === 'doc.terminal_tsh_kube' || doc.kind === 'doc.gateway_kube') { + if (doc.kind === 'doc.gateway_kube') { ctx.usageService.captureProtocolUse({ uri: clusterUri, // Other gateways send one protocol use event per gateway being created, but here we're @@ -388,12 +271,6 @@ function createCmd( clusterName: string ): PtyCommand { if (doc.kind === 'doc.terminal_tsh_node') { - if (isDocumentTshNodeWithLoginHost(doc)) { - throw new Error( - 'Cannot create a PTY for doc.terminal_tsh_node without serverId' - ); - } - return { kind: 'pty.tsh-login', proxyHost, @@ -405,16 +282,6 @@ function createCmd( }; } - // DELETE IN 15.0.0. See DocumentGatewayKube for more details. - if (doc.kind === 'doc.terminal_tsh_kube') { - return { - ...doc, - proxyHost, - clusterName, - kind: 'pty.tsh-kube-login', - }; - } - if (doc.kind === 'doc.gateway_cli_client') { const gateway = clustersService.findGatewayByConnectionParams({ targetUri: doc.targetUri, diff --git a/web/packages/teleterm/src/ui/Documents/DocumentsRenderer.tsx b/web/packages/teleterm/src/ui/Documents/DocumentsRenderer.tsx index 1b72912a87d6b..342650e4481f6 100644 --- a/web/packages/teleterm/src/ui/Documents/DocumentsRenderer.tsx +++ b/web/packages/teleterm/src/ui/Documents/DocumentsRenderer.tsx @@ -165,9 +165,6 @@ function MemoizedDocument(props: { doc: types.Document; visible: boolean }) { case 'doc.terminal_shell': case 'doc.terminal_tsh_node': return ; - // DELETE IN 15.0.0. See DocumentGatewayKube for more details. - case 'doc.terminal_tsh_kube': - return ; case 'doc.access_requests': return ; case 'doc.connect_my_computer': diff --git a/web/packages/teleterm/src/ui/TabHost/TabHost.story.tsx b/web/packages/teleterm/src/ui/TabHost/TabHost.story.tsx index 1c7b217157ceb..4639ebda02ea3 100644 --- a/web/packages/teleterm/src/ui/TabHost/TabHost.story.tsx +++ b/web/packages/teleterm/src/ui/TabHost/TabHost.story.tsx @@ -95,11 +95,7 @@ type ArrayElement = T extends (infer U)[] ? U : never; type AllExpectedDocs = Exclude< Document, // DocumentBlank isn't rendered with other documents in the real app. - | { kind: 'doc.blank' } - // Deprecated DocumentTshNodeWithLoginHost. - | { kind: 'doc.terminal_tsh_node'; loginHost: string } - // Deprecated DocumentTshKube. - | { kind: 'doc.terminal_tsh_kube' } + { kind: 'doc.blank' } >; // This is going to raise a type error if allDocuments does not include all expected documents // defined in Document. diff --git a/web/packages/teleterm/src/ui/services/connectionTracker/connectionTrackerService.legacy.test.ts b/web/packages/teleterm/src/ui/services/connectionTracker/connectionTrackerService.legacy.test.ts index 16c29c9251631..a152b769fb85c 100644 --- a/web/packages/teleterm/src/ui/services/connectionTracker/connectionTrackerService.legacy.test.ts +++ b/web/packages/teleterm/src/ui/services/connectionTracker/connectionTrackerService.legacy.test.ts @@ -24,8 +24,7 @@ import { Document, DocumentGateway, DocumentGatewayKube, - DocumentTshNodeWithLoginHost, - DocumentTshNodeWithServerId, + DocumentTshNode, WorkspacesService, } from '../workspacesService'; import { getEmptyPendingAccessRequest } from '../workspacesService/accessRequestsService'; @@ -143,7 +142,7 @@ it('updates the port of a gateway connection when the underlying doc gets update }); it('creates a connection for doc.terminal_tsh_node docs with serverUri', () => { - const document: DocumentTshNodeWithServerId = { + const document: DocumentTshNode = { kind: 'doc.terminal_tsh_node', uri: '/docs/123', title: '', @@ -173,25 +172,6 @@ it('creates a connection for doc.terminal_tsh_node docs with serverUri', () => { }); }); -it('ignores doc.terminal_tsh_node docs with no serverUri', () => { - const document: DocumentTshNodeWithLoginHost = { - kind: 'doc.terminal_tsh_node', - uri: '/docs/123', - title: '', - status: '', - loginHost: 'user@foo', - rootClusterId: 'test', - leafClusterId: undefined, - origin: 'resource_table', - }; - - const { connectionTrackerService } = getTestSetupWithMockedDocuments([ - document, - ]); - - expect(connectionTrackerService.getConnections()).toEqual([]); -}); - it('creates a kube connection for doc.gateway_kube', () => { const document: DocumentGatewayKube = { kind: 'doc.gateway_kube', diff --git a/web/packages/teleterm/src/ui/services/connectionTracker/connectionTrackerService.ts b/web/packages/teleterm/src/ui/services/connectionTracker/connectionTrackerService.ts index a9ff030fe1fbc..c61d5d54ded0a 100644 --- a/web/packages/teleterm/src/ui/services/connectionTracker/connectionTrackerService.ts +++ b/web/packages/teleterm/src/ui/services/connectionTracker/connectionTrackerService.ts @@ -23,7 +23,6 @@ import { StatePersistenceService } from 'teleterm/ui/services/statePersistence'; import { Document, DocumentOrigin, - isDocumentTshNodeWithLoginHost, WorkspacesService, } from 'teleterm/ui/services/workspacesService'; import * as uri from 'teleterm/ui/uri'; @@ -36,12 +35,10 @@ import { createDesktopConnection, createGatewayConnection, createGatewayKubeConnection, - createKubeConnection, createServerConnection, getDesktopConnectionByDocument, getGatewayConnectionByDocument, getGatewayKubeConnectionByDocument, - getKubeConnectionByDocument, getServerConnectionByDocument, } from './trackedConnectionUtils'; import { @@ -125,10 +122,6 @@ export class ConnectionTrackerService extends ImmutableStore { documentsService.close(document.uri); }); - - // Remove deprecated doc.terminal_tsh_kube documents. - // DELETE IN 15.0.0. See DocumentGatewayKube for more details. - documentsService - .getDocuments() - .filter(getKubeDocumentByConnection(connection)) - .forEach(document => { - documentsService.close(document.uri); - }); }) ); }, diff --git a/web/packages/teleterm/src/ui/services/connectionTracker/trackedConnectionUtils.ts b/web/packages/teleterm/src/ui/services/connectionTracker/trackedConnectionUtils.ts index fc79220f7e421..10aecd311154d 100644 --- a/web/packages/teleterm/src/ui/services/connectionTracker/trackedConnectionUtils.ts +++ b/web/packages/teleterm/src/ui/services/connectionTracker/trackedConnectionUtils.ts @@ -21,11 +21,8 @@ import { DocumentDesktopSession, DocumentGateway, DocumentGatewayKube, - DocumentTshKube, DocumentTshNode, - DocumentTshNodeWithServerId, getDocumentGatewayTargetUriKind, - isDocumentTshNodeWithServerId, } from 'teleterm/ui/services/workspacesService'; import { unique } from 'teleterm/ui/utils/uid'; @@ -82,18 +79,11 @@ export function getGatewayConnectionByDocument( export function getServerConnectionByDocument(document: DocumentTshNode) { return (i: TrackedServerConnection) => - isDocumentTshNodeWithServerId(document) && i.kind === 'connection.server' && i.serverUri === document.serverUri && i.login === document.login; } -// DELETE IN 15.0.0. See DocumentGatewayKube for more details. -export function getKubeConnectionByDocument(document: DocumentTshKube) { - return (i: TrackedKubeConnection) => - i.kind === 'connection.kube' && i.kubeUri === document.kubeUri; -} - export function getGatewayKubeConnectionByDocument( document: DocumentGatewayKube ) { @@ -171,18 +161,11 @@ export function getGatewayKubeDocumentByConnection( i.kind === 'doc.gateway_kube' && i.targetUri === connection.kubeUri; } -// DELETE IN 15.0.0. See DocumentGatewayKube for more details. -export function getKubeDocumentByConnection(connection: TrackedKubeConnection) { - return (i: DocumentTshKube) => - i.kind === 'doc.terminal_tsh_kube' && i.kubeUri === connection.kubeUri; -} - export function getServerDocumentByConnection( connection: TrackedServerConnection ) { return (i: DocumentTshNode) => i.kind === 'doc.terminal_tsh_node' && - isDocumentTshNodeWithServerId(i) && i.serverUri === connection.serverUri && i.login === connection.login; } @@ -204,7 +187,7 @@ export function createGatewayConnection( } export function createServerConnection( - document: DocumentTshNodeWithServerId + document: DocumentTshNode ): TrackedServerConnection { return { kind: 'connection.server', @@ -216,19 +199,6 @@ export function createServerConnection( }; } -export function createKubeConnection( - document: DocumentTshKube -): TrackedKubeConnection { - return { - kind: 'connection.kube', - connected: document.status === 'connected', - id: unique(), - title: document.title, - kubeConfigRelativePath: document.kubeConfigRelativePath, - kubeUri: document.kubeUri, - }; -} - export function createGatewayKubeConnection( document: DocumentGatewayKube ): TrackedKubeConnection { diff --git a/web/packages/teleterm/src/ui/services/connectionTracker/types.ts b/web/packages/teleterm/src/ui/services/connectionTracker/types.ts index f9251d5fc3512..013781d42ffb1 100644 --- a/web/packages/teleterm/src/ui/services/connectionTracker/types.ts +++ b/web/packages/teleterm/src/ui/services/connectionTracker/types.ts @@ -48,10 +48,6 @@ export interface TrackedGatewayConnection extends TrackedConnectionBase { export interface TrackedKubeConnection extends TrackedConnectionBase { kind: 'connection.kube'; - /** - * @deprecated Used only by connections created by doc.terminal_tsh_kube. - */ - kubeConfigRelativePath?: string; kubeUri: KubeUri; } diff --git a/web/packages/teleterm/src/ui/services/resources/resourcesService.test.ts b/web/packages/teleterm/src/ui/services/resources/resourcesService.test.ts index 9c0f7369d4ba8..e1666abb6d383 100644 --- a/web/packages/teleterm/src/ui/services/resources/resourcesService.test.ts +++ b/web/packages/teleterm/src/ui/services/resources/resourcesService.test.ts @@ -24,84 +24,8 @@ import { makeKube, makeServer, } from 'teleterm/services/tshd/testHelpers'; -import type * as tsh from 'teleterm/services/tshd/types'; -import { - AmbiguousHostnameError, - ResourceSearchError, - ResourcesService, -} from './resourcesService'; - -describe('getServerByHostname', () => { - const server: tsh.Server = makeServer(); - const getServerByHostnameTests: Array< - { - name: string; - getServersMockedValue: ReturnType; - } & ( - | { expectedServer: tsh.Server; expectedErr?: never } - | { expectedErr: any; expectedServer?: never } - ) - > = [ - { - name: 'returns a server when the hostname matches a single server', - getServersMockedValue: new MockedUnaryCall({ - agents: [server], - totalCount: 1, - startKey: 'foo', - }), - expectedServer: server, - }, - { - name: 'throws an error when the hostname matches multiple servers', - getServersMockedValue: new MockedUnaryCall({ - agents: [server, server], - totalCount: 2, - startKey: 'foo', - }), - expectedErr: AmbiguousHostnameError, - }, - { - name: 'returns nothing if the hostname does not match any servers', - getServersMockedValue: new MockedUnaryCall({ - agents: [], - totalCount: 0, - startKey: 'foo', - }), - expectedServer: undefined, - }, - ]; - test.each(getServerByHostnameTests)( - '$name', - async ({ getServersMockedValue, expectedServer, expectedErr }) => { - const tshClient: Partial = { - getServers: jest.fn().mockResolvedValueOnce(getServersMockedValue), - }; - const service = new ResourcesService(tshClient as TshdClient); - - const promise = service.getServerByHostname('/clusters/bar', 'foo'); - - if (expectedErr) { - // eslint-disable-next-line jest/no-conditional-expect - await expect(promise).rejects.toThrow(expectedErr); - } else { - // eslint-disable-next-line jest/no-conditional-expect - await expect(promise).resolves.toStrictEqual(expectedServer); - } - - expect(tshClient.getServers).toHaveBeenCalledWith({ - clusterUri: '/clusters/bar', - query: 'name == "foo"', - limit: 2, - sort: null, - sortBy: '', - startKey: '', - search: '', - searchAsRoles: '', - }); - } - ); -}); +import { ResourceSearchError, ResourcesService } from './resourcesService'; describe('searchResources', () => { it('returns a promise with resources', async () => { diff --git a/web/packages/teleterm/src/ui/services/resources/resourcesService.ts b/web/packages/teleterm/src/ui/services/resources/resourcesService.ts index 9d293e75b2bbc..2064acf3706cc 100644 --- a/web/packages/teleterm/src/ui/services/resources/resourcesService.ts +++ b/web/packages/teleterm/src/ui/services/resources/resourcesService.ts @@ -43,31 +43,6 @@ export class ResourcesService { constructor(private tshClient: TshdClient) {} - // TODO(ravicious): Refactor it to use logic similar to that in the Web UI. - // https://github.com/gravitational/teleport/blob/2a2b08dbfdaf71706a5af3812d3a7ec843d099b4/lib/web/apiserver.go#L2471 - async getServerByHostname( - clusterUri: uri.ClusterUri, - hostname: string - ): Promise { - const query = `name == "${hostname}"`; - const { - response: { agents: servers }, - } = await this.tshClient.getServers( - makeGetResourcesParamsRequest({ - clusterUri, - query, - limit: 2, - sort: null, - }) - ); - - if (servers.length > 1) { - throw new AmbiguousHostnameError(hostname); - } - - return servers[0]; - } - async getDbUsers(dbUri: uri.DatabaseUri): Promise { const { response } = await this.tshClient.listDatabaseUsers({ dbUri }); return response.users; @@ -197,13 +172,6 @@ export class ResourcesService { } } -export class AmbiguousHostnameError extends Error { - constructor(hostname: string) { - super(`Ambiguous hostname "${hostname}"`); - this.name = 'AmbiguousHostname'; - } -} - export class ResourceSearchError extends Error { constructor( public clusterUri: uri.ClusterUri, @@ -282,19 +250,6 @@ export type SearchResultResource = ? SearchResultWindowsDesktop['resource'] : never; -function makeGetResourcesParamsRequest(params: types.GetResourcesParams) { - return { - ...params, - search: params.search || '', - query: params.query || '', - searchAsRoles: params.searchAsRoles || '', - startKey: params.startKey || '', - sortBy: params.sort - ? `${params.sort.fieldName}:${params.sort.dir.toLowerCase()}` - : '', - }; -} - export type UnifiedResourceResponse = | { kind: 'server'; resource: types.Server; requiresRequest: boolean } | { diff --git a/web/packages/teleterm/src/ui/services/workspacesService/documentsService/documentsService.ts b/web/packages/teleterm/src/ui/services/workspacesService/documentsService/documentsService.ts index 9b8aafed82bd1..e974727d40926 100644 --- a/web/packages/teleterm/src/ui/services/workspacesService/documentsService/documentsService.ts +++ b/web/packages/teleterm/src/ui/services/workspacesService/documentsService/documentsService.ts @@ -36,7 +36,6 @@ import { getDocumentGatewayTitle } from './documentsUtils'; import { CreateAccessRequestDocumentOpts, CreateGatewayDocumentOpts, - CreateTshKubeDocumentOptions, Document, DocumentAccessRequests, DocumentAuthorizeWebSession, @@ -49,9 +48,7 @@ import { DocumentGatewayKube, DocumentOrigin, DocumentPtySession, - DocumentTshKube, DocumentTshNode, - DocumentTshNodeWithServerId, DocumentVnetDiagReport, DocumentVnetInfo, WebSessionRequest, @@ -111,38 +108,10 @@ export class DocumentsService { return createClusterDocument(opts); } - /** - * @deprecated Use createGatewayKubeDocument instead. - * DELETE IN 15.0.0. See DocumentGatewayKube for more details. - */ - createTshKubeDocument( - options: CreateTshKubeDocumentOptions - ): DocumentTshKube { - const { params } = routing.parseKubeUri(options.kubeUri); - const uri = routing.getDocUri({ docId: unique() }); - return { - uri, - kind: 'doc.terminal_tsh_kube', - status: 'connecting', - rootClusterId: params.rootClusterId, - leafClusterId: params.leafClusterId, - kubeId: params.kubeId, - kubeUri: options.kubeUri, - // We prepend the name with `rootClusterId/` to create a kube config - // inside this directory. When the user logs out of the cluster, - // the entire directory is deleted. - kubeConfigRelativePath: - options.kubeConfigRelativePath || - `${params.rootClusterId}/${params.kubeId}-${unique(5)}`, - title: params.kubeId, - origin: options.origin, - }; - } - createTshNodeDocument( serverUri: ServerUri, params: { origin: DocumentOrigin } - ): DocumentTshNodeWithServerId { + ): DocumentTshNode { const { params: routingParams } = routing.parseServerUri(serverUri); const uri = routing.getDocUri({ docId: unique() }); diff --git a/web/packages/teleterm/src/ui/services/workspacesService/documentsService/documentsUtils.ts b/web/packages/teleterm/src/ui/services/workspacesService/documentsService/documentsUtils.ts index 1805a90eea24c..be2ba06cfe4b3 100644 --- a/web/packages/teleterm/src/ui/services/workspacesService/documentsService/documentsUtils.ts +++ b/web/packages/teleterm/src/ui/services/workspacesService/documentsService/documentsUtils.ts @@ -41,11 +41,7 @@ import { routing, } from 'teleterm/ui/uri'; -import { - Document, - DocumentGateway, - isDocumentTshNodeWithServerId, -} from './types'; +import { Document, DocumentGateway } from './types'; /** * getResourceUri returns the URI of the cluster resource that is the subject of the document. @@ -66,11 +62,7 @@ export function getResourceUri( case 'doc.gateway_kube': return document.targetUri; case 'doc.terminal_tsh_node': - return isDocumentTshNodeWithServerId(document) - ? document.serverUri - : undefined; - case 'doc.terminal_tsh_kube': - return document.kubeUri; + return document.serverUri; case 'doc.access_requests': return document.clusterUri; case 'doc.terminal_shell': @@ -178,12 +170,10 @@ export function getStaticNameAndIcon( Icon: Kubernetes, }; case 'doc.terminal_tsh_node': - return isDocumentTshNodeWithServerId(document) - ? { - name: document.title, - Icon: Server, - } - : undefined; + return { + name: document.title, + Icon: Server, + }; case 'doc.access_requests': return { name: document.title, @@ -220,7 +210,6 @@ export function getStaticNameAndIcon( Icon: Desktop, }; case 'doc.blank': - case 'doc.terminal_tsh_kube': return undefined; default: document satisfies never; diff --git a/web/packages/teleterm/src/ui/services/workspacesService/documentsService/testHelpers.ts b/web/packages/teleterm/src/ui/services/workspacesService/documentsService/testHelpers.ts index 526f188eee715..90f3f72cd77ac 100644 --- a/web/packages/teleterm/src/ui/services/workspacesService/documentsService/testHelpers.ts +++ b/web/packages/teleterm/src/ui/services/workspacesService/documentsService/testHelpers.ts @@ -102,8 +102,8 @@ export function makeDocumentPtySession( } export function makeDocumentTshNode( - props?: Partial -): types.DocumentTshNodeWithServerId { + props?: Partial +): types.DocumentTshNode { return { kind: 'doc.terminal_tsh_node', uri: '/docs/terminal_tsh_node', @@ -114,6 +114,7 @@ export function makeDocumentTshNode( leafClusterId: '', origin: 'connection_list', serverId: '1234abcd-1234-abcd-1234-abcd1234abcd', + login: 'alice', ...props, }; } diff --git a/web/packages/teleterm/src/ui/services/workspacesService/documentsService/types.test.ts b/web/packages/teleterm/src/ui/services/workspacesService/documentsService/types.test.ts deleted file mode 100644 index e6f749653d271..0000000000000 --- a/web/packages/teleterm/src/ui/services/workspacesService/documentsService/types.test.ts +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Teleport - * Copyright (C) 2023 Gravitational, Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -import { - DocumentTshNodeWithLoginHost, - DocumentTshNodeWithServerId, - isDocumentTshNodeWithLoginHost, - isDocumentTshNodeWithServerId, -} from './types'; - -const docWithServerId: DocumentTshNodeWithServerId = { - kind: 'doc.terminal_tsh_node', - uri: '/docs/123', - title: '', - status: '', - serverId: 'bed30649-3af5-40f1-a832-54ff4adcca41', - serverUri: `/clusters/root/servers/bed30649-3af5-40f1-a832-54ff4adcca41`, - rootClusterId: 'test', - leafClusterId: undefined, - login: 'user', - origin: 'resource_table', -}; -// eslint-disable-next-line @typescript-eslint/no-unused-vars -const { serverId, serverUri, login, ...rest } = docWithServerId; -const docWithLoginHost: DocumentTshNodeWithLoginHost = { - ...rest, - loginHost: 'user@bar', -}; - -// Testing type guards because TypeScript doesn't guarantee soundness inside them. -test('isDocumentTshNodeWithServerId returns true for DocumentTshNode with ServerId', () => { - expect(isDocumentTshNodeWithServerId(docWithServerId)).toBe(true); -}); - -test('isDocumentTshNodeWithServerId returns false for DocumentTshNode with LoginHost', () => { - expect(isDocumentTshNodeWithServerId(docWithLoginHost)).toBe(false); -}); - -test('isDocumentTshNodeWithLoginHost returns true for DocumentTshNode with LoginHost', () => { - expect(isDocumentTshNodeWithLoginHost(docWithLoginHost)).toBe(true); -}); - -test('isDocumentTshNodeWithLoginHost returns false for DocumentTshNode with ServerId', () => { - expect(isDocumentTshNodeWithLoginHost(docWithServerId)).toBe(false); -}); diff --git a/web/packages/teleterm/src/ui/services/workspacesService/documentsService/types.ts b/web/packages/teleterm/src/ui/services/workspacesService/documentsService/types.ts index 1b1c86670864f..cf702cab71fe8 100644 --- a/web/packages/teleterm/src/ui/services/workspacesService/documentsService/types.ts +++ b/web/packages/teleterm/src/ui/services/workspacesService/documentsService/types.ts @@ -43,26 +43,13 @@ export interface DocumentBlank extends DocumentBase { kind: 'doc.blank'; } -export type DocumentTshNode = - | DocumentTshNodeWithServerId - // DELETE IN 14.0.0 - // - // Logging in to an arbitrary host was removed in 13.0 together with the command bar. - // However, there's a slight chance that some users upgrading from 12.x to 13.0 still have - // documents with loginHost in the app state (e.g. if the doc failed to connect to the server). - // Let's just remove this in 14.0.0 instead to make sure those users can safely upgrade the app. - | DocumentTshNodeWithLoginHost; - -interface DocumentTshNodeBase extends DocumentBase { +export interface DocumentTshNode extends DocumentBase { kind: 'doc.terminal_tsh_node'; // status is used merely to show a progress bar when the document is being set up. status: '' | 'connecting' | 'connected' | 'error'; rootClusterId: string; leafClusterId: string | undefined; origin: DocumentOrigin; -} - -export interface DocumentTshNodeWithServerId extends DocumentTshNodeBase { // serverId is the UUID of the SSH server. If it's is present, we can immediately start an SSH // session. // @@ -71,35 +58,7 @@ export interface DocumentTshNodeWithServerId extends DocumentTshNodeBase { // serverUri is used for file transfer and for identifying a specific server among different // profiles and clusters. serverUri: uri.ServerUri; - // login is missing when the user executes `tsh ssh host` from the command bar without supplying - // the login. In that case, login will be undefined and serverId will be equal to "host". tsh will - // assume that login equals to the current OS user. - login?: string; - // loginHost exists on DocumentTshNodeWithServerId mostly because - // DocumentsService.prototype.update doesn't let us remove fields. To keep the types truthful to - // the implementation (which is something we should avoid doing, it should work the other way - // around), loginHost was kept on DocumentTshNodeWithServerId. - loginHost?: undefined; -} - -export interface DocumentTshNodeWithLoginHost extends DocumentTshNodeBase { - // serverId is missing, so we need to resolve loginHost to a server UUID. - loginHost: string; - // We don't provide types for other fields on purpose (such as serverId?: undefined) in order to - // force places which use DocumentTshNode to narrow down the type before using it. -} - -// DELETE IN 15.0.0. See DocumentGatewayKube for more details. -export interface DocumentTshKube extends DocumentBase { - kind: 'doc.terminal_tsh_kube'; - // status is used merely to show a progress bar when the document is being set up. - status: '' | 'connecting' | 'connected' | 'error'; - kubeId: string; - kubeUri: uri.KubeUri; - kubeConfigRelativePath: string; - rootClusterId: string; - leafClusterId?: string; - origin: DocumentOrigin; + login: string; } /** @@ -176,9 +135,8 @@ export interface DocumentGatewayCliClient extends DocumentBase { } /** - * DocumentGatewayKube replaced DocumentTshKube in Connect v14. Before removing DocumentTshKube - * completely, we should add a migration that transforms all DocumentTshKube docs into - * DocumentGatewayKube docs when loading the workspace state from disk. + * DocumentGatewayKube transparently sets up a local proxy for the given kube cluster and spins up + * a local shell session with KUBECONFIG pointing at the config managed by the local proxy. */ export interface DocumentGatewayKube extends DocumentBase { kind: 'doc.gateway_kube'; @@ -326,7 +284,6 @@ export type DocumentTerminal = | DocumentPtySession | DocumentGatewayCliClient | DocumentTshNode - | DocumentTshKube | DocumentGatewayKube; export type Document = @@ -341,30 +298,6 @@ export type Document = | DocumentAuthorizeWebSession | DocumentDesktopSession; -/** - * @deprecated DocumentTshNode is supposed to be simplified to just DocumentTshNodeWithServerId. - * See the comment for DocumentTshNodeWithLoginHost for more details. - */ -export function isDocumentTshNodeWithLoginHost( - doc: Document -): doc is DocumentTshNodeWithLoginHost { - // Careful here as TypeScript lets you make type guards unsound. You can double invert the last - // check and TypeScript won't complain. - return doc.kind === 'doc.terminal_tsh_node' && !('serverId' in doc); -} - -/** - * @deprecated DocumentTshNode is supposed to be simplified to just DocumentTshNodeWithServerId. - * See the comment for DocumentTshNodeWithLoginHost for more details. - */ -export function isDocumentTshNodeWithServerId( - doc: Document -): doc is DocumentTshNodeWithServerId { - // Careful here as TypeScript lets you make type guards unsound. You can double invert the last - // check and TypeScript won't complain. - return doc.kind === 'doc.terminal_tsh_node' && 'serverId' in doc; -} - /** * `DocumentPtySession` and `DocumentGatewayKube` spawn a shell. * The shell is taken from the `doc.shellId` property. @@ -386,12 +319,6 @@ export type CreateGatewayDocumentOpts = { origin: DocumentOrigin; }; -export type CreateTshKubeDocumentOptions = { - kubeUri: uri.KubeUri; - kubeConfigRelativePath?: string; - origin: DocumentOrigin; -}; - export type CreateAccessRequestDocumentOpts = { clusterUri: uri.ClusterUri; state: AccessRequestDocumentState; diff --git a/web/packages/teleterm/src/ui/services/workspacesService/workspacesService.ts b/web/packages/teleterm/src/ui/services/workspacesService/workspacesService.ts index 17b0123f871d7..1f2874502cad6 100644 --- a/web/packages/teleterm/src/ui/services/workspacesService/workspacesService.ts +++ b/web/packages/teleterm/src/ui/services/workspacesService/workspacesService.ts @@ -63,7 +63,6 @@ import { DocumentCluster, DocumentGateway, DocumentsService, - DocumentTshKube, DocumentTshNode, DocumentVnetInfo, getDefaultDocumentClusterQueryParams, @@ -551,11 +550,8 @@ export class WorkspacesService extends ImmutableStore { // DocumentsService // TrackedConnectionOperationsFactory // here - if ( - d.kind === 'doc.terminal_tsh_kube' || - d.kind === 'doc.terminal_tsh_node' - ) { - const documentTerminal: DocumentTshKube | DocumentTshNode = { + if (d.kind === 'doc.terminal_tsh_node') { + const documentTerminal: DocumentTshNode = { ...d, status: 'connecting', origin: 'reopened_session',