diff --git a/gen/proto/go/teleport/lib/teleterm/v1/database.pb.go b/gen/proto/go/teleport/lib/teleterm/v1/database.pb.go
index 9ce29dba18f..694b1e76fad 100644
--- a/gen/proto/go/teleport/lib/teleterm/v1/database.pb.go
+++ b/gen/proto/go/teleport/lib/teleterm/v1/database.pb.go
@@ -38,7 +38,7 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
-// Database describes a database
+// Database describes a database (resource kind "db")
type Database struct {
state protoimpl.MessageState `protogen:"open.v1"`
// uri is the cluster resource URI
@@ -56,7 +56,9 @@ type Database struct {
// addr is this database ip address
Addr string `protobuf:"bytes,7,opt,name=addr,proto3" json:"addr,omitempty"`
// labels is a list of labels for this database
- Labels []*Label `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty"`
+ Labels []*Label `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty"`
+ // target_health of the "db_server" that is serving this database.
+ TargetHealth *TargetHealth `protobuf:"bytes,9,opt,name=target_health,json=targetHealth,proto3" json:"target_health,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -147,11 +149,89 @@ func (x *Database) GetLabels() []*Label {
return nil
}
+func (x *Database) GetTargetHealth() *TargetHealth {
+ if x != nil {
+ return x.TargetHealth
+ }
+ return nil
+}
+
+// DatabaseServer (db_server) describes a database heartbeat signal
+// reported from an agent (db_service) that is proxying
+// the database.
+type DatabaseServer struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
+ Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`
+ HostId string `protobuf:"bytes,3,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
+ TargetHealth *TargetHealth `protobuf:"bytes,4,opt,name=target_health,json=targetHealth,proto3" json:"target_health,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *DatabaseServer) Reset() {
+ *x = DatabaseServer{}
+ mi := &file_teleport_lib_teleterm_v1_database_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *DatabaseServer) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DatabaseServer) ProtoMessage() {}
+
+func (x *DatabaseServer) ProtoReflect() protoreflect.Message {
+ mi := &file_teleport_lib_teleterm_v1_database_proto_msgTypes[1]
+ 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 DatabaseServer.ProtoReflect.Descriptor instead.
+func (*DatabaseServer) Descriptor() ([]byte, []int) {
+ return file_teleport_lib_teleterm_v1_database_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *DatabaseServer) GetUri() string {
+ if x != nil {
+ return x.Uri
+ }
+ return ""
+}
+
+func (x *DatabaseServer) GetHostname() string {
+ if x != nil {
+ return x.Hostname
+ }
+ return ""
+}
+
+func (x *DatabaseServer) GetHostId() string {
+ if x != nil {
+ return x.HostId
+ }
+ return ""
+}
+
+func (x *DatabaseServer) GetTargetHealth() *TargetHealth {
+ if x != nil {
+ return x.TargetHealth
+ }
+ return nil
+}
+
var File_teleport_lib_teleterm_v1_database_proto protoreflect.FileDescriptor
const file_teleport_lib_teleterm_v1_database_proto_rawDesc = "" +
"\n" +
- "'teleport/lib/teleterm/v1/database.proto\x12\x18teleport.lib.teleterm.v1\x1a$teleport/lib/teleterm/v1/label.proto\"\xdd\x01\n" +
+ "'teleport/lib/teleterm/v1/database.proto\x12\x18teleport.lib.teleterm.v1\x1a$teleport/lib/teleterm/v1/label.proto\x1a,teleport/lib/teleterm/v1/target_health.proto\"\xaa\x02\n" +
"\bDatabase\x12\x10\n" +
"\x03uri\x18\x01 \x01(\tR\x03uri\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
@@ -160,7 +240,13 @@ const file_teleport_lib_teleterm_v1_database_proto_rawDesc = "" +
"\x04type\x18\x05 \x01(\tR\x04type\x12\x1a\n" +
"\bhostname\x18\x06 \x01(\tR\bhostname\x12\x12\n" +
"\x04addr\x18\a \x01(\tR\x04addr\x127\n" +
- "\x06labels\x18\b \x03(\v2\x1f.teleport.lib.teleterm.v1.LabelR\x06labelsBTZRgithub.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1;teletermv1b\x06proto3"
+ "\x06labels\x18\b \x03(\v2\x1f.teleport.lib.teleterm.v1.LabelR\x06labels\x12K\n" +
+ "\rtarget_health\x18\t \x01(\v2&.teleport.lib.teleterm.v1.TargetHealthR\ftargetHealth\"\xa4\x01\n" +
+ "\x0eDatabaseServer\x12\x10\n" +
+ "\x03uri\x18\x01 \x01(\tR\x03uri\x12\x1a\n" +
+ "\bhostname\x18\x02 \x01(\tR\bhostname\x12\x17\n" +
+ "\ahost_id\x18\x03 \x01(\tR\x06hostId\x12K\n" +
+ "\rtarget_health\x18\x04 \x01(\v2&.teleport.lib.teleterm.v1.TargetHealthR\ftargetHealthBTZRgithub.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1;teletermv1b\x06proto3"
var (
file_teleport_lib_teleterm_v1_database_proto_rawDescOnce sync.Once
@@ -174,18 +260,22 @@ func file_teleport_lib_teleterm_v1_database_proto_rawDescGZIP() []byte {
return file_teleport_lib_teleterm_v1_database_proto_rawDescData
}
-var file_teleport_lib_teleterm_v1_database_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_teleport_lib_teleterm_v1_database_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_teleport_lib_teleterm_v1_database_proto_goTypes = []any{
- (*Database)(nil), // 0: teleport.lib.teleterm.v1.Database
- (*Label)(nil), // 1: teleport.lib.teleterm.v1.Label
+ (*Database)(nil), // 0: teleport.lib.teleterm.v1.Database
+ (*DatabaseServer)(nil), // 1: teleport.lib.teleterm.v1.DatabaseServer
+ (*Label)(nil), // 2: teleport.lib.teleterm.v1.Label
+ (*TargetHealth)(nil), // 3: teleport.lib.teleterm.v1.TargetHealth
}
var file_teleport_lib_teleterm_v1_database_proto_depIdxs = []int32{
- 1, // 0: teleport.lib.teleterm.v1.Database.labels:type_name -> teleport.lib.teleterm.v1.Label
- 1, // [1:1] is the sub-list for method output_type
- 1, // [1:1] is the sub-list for method input_type
- 1, // [1:1] is the sub-list for extension type_name
- 1, // [1:1] is the sub-list for extension extendee
- 0, // [0:1] is the sub-list for field type_name
+ 2, // 0: teleport.lib.teleterm.v1.Database.labels:type_name -> teleport.lib.teleterm.v1.Label
+ 3, // 1: teleport.lib.teleterm.v1.Database.target_health:type_name -> teleport.lib.teleterm.v1.TargetHealth
+ 3, // 2: teleport.lib.teleterm.v1.DatabaseServer.target_health:type_name -> teleport.lib.teleterm.v1.TargetHealth
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
}
func init() { file_teleport_lib_teleterm_v1_database_proto_init() }
@@ -194,13 +284,14 @@ func file_teleport_lib_teleterm_v1_database_proto_init() {
return
}
file_teleport_lib_teleterm_v1_label_proto_init()
+ file_teleport_lib_teleterm_v1_target_health_proto_init()
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_teleport_lib_teleterm_v1_database_proto_rawDesc), len(file_teleport_lib_teleterm_v1_database_proto_rawDesc)),
NumEnums: 0,
- NumMessages: 1,
+ NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
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 9265624585c..e583b27bb1a 100644
--- a/gen/proto/go/teleport/lib/teleterm/v1/service.pb.go
+++ b/gen/proto/go/teleport/lib/teleterm/v1/service.pb.go
@@ -2191,6 +2191,183 @@ func (x *ListDatabaseUsersResponse) GetUsers() []string {
return nil
}
+// ListResourcesParams describes different types of params
+// that can be applied when sending a request to a method that
+// uses the ListResources API underneath.
+type ListResourcesParams struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ StartKey string `protobuf:"bytes,1,opt,name=start_key,json=startKey,proto3" json:"start_key,omitempty"`
+ Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
+ PredicateExpression string `protobuf:"bytes,3,opt,name=predicate_expression,json=predicateExpression,proto3" json:"predicate_expression,omitempty"`
+ // UseSearchAsRoles indicates that the response should include all resources
+ // the caller is able to request access to using search_as_roles
+ UseSearchAsRoles bool `protobuf:"varint,4,opt,name=use_search_as_roles,json=useSearchAsRoles,proto3" json:"use_search_as_roles,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ListResourcesParams) Reset() {
+ *x = ListResourcesParams{}
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[36]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ListResourcesParams) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListResourcesParams) ProtoMessage() {}
+
+func (x *ListResourcesParams) ProtoReflect() protoreflect.Message {
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[36]
+ 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 ListResourcesParams.ProtoReflect.Descriptor instead.
+func (*ListResourcesParams) Descriptor() ([]byte, []int) {
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{36}
+}
+
+func (x *ListResourcesParams) GetStartKey() string {
+ if x != nil {
+ return x.StartKey
+ }
+ return ""
+}
+
+func (x *ListResourcesParams) GetLimit() int32 {
+ if x != nil {
+ return x.Limit
+ }
+ return 0
+}
+
+func (x *ListResourcesParams) GetPredicateExpression() string {
+ if x != nil {
+ return x.PredicateExpression
+ }
+ return ""
+}
+
+func (x *ListResourcesParams) GetUseSearchAsRoles() bool {
+ if x != nil {
+ return x.UseSearchAsRoles
+ }
+ return false
+}
+
+type ListDatabaseServersRequest struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ ClusterUri string `protobuf:"bytes,1,opt,name=cluster_uri,json=clusterUri,proto3" json:"cluster_uri,omitempty"`
+ Params *ListResourcesParams `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ListDatabaseServersRequest) Reset() {
+ *x = ListDatabaseServersRequest{}
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[37]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ListDatabaseServersRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListDatabaseServersRequest) ProtoMessage() {}
+
+func (x *ListDatabaseServersRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[37]
+ 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 ListDatabaseServersRequest.ProtoReflect.Descriptor instead.
+func (*ListDatabaseServersRequest) Descriptor() ([]byte, []int) {
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{37}
+}
+
+func (x *ListDatabaseServersRequest) GetClusterUri() string {
+ if x != nil {
+ return x.ClusterUri
+ }
+ return ""
+}
+
+func (x *ListDatabaseServersRequest) GetParams() *ListResourcesParams {
+ if x != nil {
+ return x.Params
+ }
+ return nil
+}
+
+type ListDatabaseServersResponse struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Resources []*DatabaseServer `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty"`
+ NextKey string `protobuf:"bytes,2,opt,name=next_key,json=nextKey,proto3" json:"next_key,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ListDatabaseServersResponse) Reset() {
+ *x = ListDatabaseServersResponse{}
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[38]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ListDatabaseServersResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListDatabaseServersResponse) ProtoMessage() {}
+
+func (x *ListDatabaseServersResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[38]
+ 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 ListDatabaseServersResponse.ProtoReflect.Descriptor instead.
+func (*ListDatabaseServersResponse) Descriptor() ([]byte, []int) {
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{38}
+}
+
+func (x *ListDatabaseServersResponse) GetResources() []*DatabaseServer {
+ if x != nil {
+ return x.Resources
+ }
+ return nil
+}
+
+func (x *ListDatabaseServersResponse) GetNextKey() string {
+ if x != nil {
+ return x.NextKey
+ }
+ return ""
+}
+
type CreateGatewayRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
TargetUri string `protobuf:"bytes,1,opt,name=target_uri,json=targetUri,proto3" json:"target_uri,omitempty"`
@@ -2203,7 +2380,7 @@ type CreateGatewayRequest struct {
func (x *CreateGatewayRequest) Reset() {
*x = CreateGatewayRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[36]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2215,7 +2392,7 @@ func (x *CreateGatewayRequest) String() string {
func (*CreateGatewayRequest) ProtoMessage() {}
func (x *CreateGatewayRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[36]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[39]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2228,7 +2405,7 @@ func (x *CreateGatewayRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use CreateGatewayRequest.ProtoReflect.Descriptor instead.
func (*CreateGatewayRequest) Descriptor() ([]byte, []int) {
- return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{36}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{39}
}
func (x *CreateGatewayRequest) GetTargetUri() string {
@@ -2267,7 +2444,7 @@ type ListGatewaysRequest struct {
func (x *ListGatewaysRequest) Reset() {
*x = ListGatewaysRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[37]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2279,7 +2456,7 @@ func (x *ListGatewaysRequest) String() string {
func (*ListGatewaysRequest) ProtoMessage() {}
func (x *ListGatewaysRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[37]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[40]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2292,7 +2469,7 @@ func (x *ListGatewaysRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListGatewaysRequest.ProtoReflect.Descriptor instead.
func (*ListGatewaysRequest) Descriptor() ([]byte, []int) {
- return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{37}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{40}
}
type ListGatewaysResponse struct {
@@ -2304,7 +2481,7 @@ type ListGatewaysResponse struct {
func (x *ListGatewaysResponse) Reset() {
*x = ListGatewaysResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[38]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2316,7 +2493,7 @@ func (x *ListGatewaysResponse) String() string {
func (*ListGatewaysResponse) ProtoMessage() {}
func (x *ListGatewaysResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[38]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[41]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2329,7 +2506,7 @@ func (x *ListGatewaysResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListGatewaysResponse.ProtoReflect.Descriptor instead.
func (*ListGatewaysResponse) Descriptor() ([]byte, []int) {
- return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{38}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{41}
}
func (x *ListGatewaysResponse) GetGateways() []*Gateway {
@@ -2348,7 +2525,7 @@ type RemoveGatewayRequest struct {
func (x *RemoveGatewayRequest) Reset() {
*x = RemoveGatewayRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[39]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2360,7 +2537,7 @@ func (x *RemoveGatewayRequest) String() string {
func (*RemoveGatewayRequest) ProtoMessage() {}
func (x *RemoveGatewayRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[39]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[42]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2373,7 +2550,7 @@ func (x *RemoveGatewayRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveGatewayRequest.ProtoReflect.Descriptor instead.
func (*RemoveGatewayRequest) Descriptor() ([]byte, []int) {
- return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{39}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{42}
}
func (x *RemoveGatewayRequest) GetGatewayUri() string {
@@ -2393,7 +2570,7 @@ type SetGatewayTargetSubresourceNameRequest struct {
func (x *SetGatewayTargetSubresourceNameRequest) Reset() {
*x = SetGatewayTargetSubresourceNameRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[40]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2405,7 +2582,7 @@ func (x *SetGatewayTargetSubresourceNameRequest) String() string {
func (*SetGatewayTargetSubresourceNameRequest) ProtoMessage() {}
func (x *SetGatewayTargetSubresourceNameRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[40]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[43]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2418,7 +2595,7 @@ func (x *SetGatewayTargetSubresourceNameRequest) ProtoReflect() protoreflect.Mes
// Deprecated: Use SetGatewayTargetSubresourceNameRequest.ProtoReflect.Descriptor instead.
func (*SetGatewayTargetSubresourceNameRequest) Descriptor() ([]byte, []int) {
- return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{40}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{43}
}
func (x *SetGatewayTargetSubresourceNameRequest) GetGatewayUri() string {
@@ -2445,7 +2622,7 @@ type SetGatewayLocalPortRequest struct {
func (x *SetGatewayLocalPortRequest) Reset() {
*x = SetGatewayLocalPortRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[41]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2457,7 +2634,7 @@ func (x *SetGatewayLocalPortRequest) String() string {
func (*SetGatewayLocalPortRequest) ProtoMessage() {}
func (x *SetGatewayLocalPortRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[41]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[44]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2470,7 +2647,7 @@ func (x *SetGatewayLocalPortRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetGatewayLocalPortRequest.ProtoReflect.Descriptor instead.
func (*SetGatewayLocalPortRequest) Descriptor() ([]byte, []int) {
- return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{41}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{44}
}
func (x *SetGatewayLocalPortRequest) GetGatewayUri() string {
@@ -2502,7 +2679,7 @@ type GetServersRequest struct {
func (x *GetServersRequest) Reset() {
*x = GetServersRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[42]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2514,7 +2691,7 @@ func (x *GetServersRequest) String() string {
func (*GetServersRequest) ProtoMessage() {}
func (x *GetServersRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[42]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[45]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2527,7 +2704,7 @@ func (x *GetServersRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetServersRequest.ProtoReflect.Descriptor instead.
func (*GetServersRequest) Descriptor() ([]byte, []int) {
- return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{42}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{45}
}
func (x *GetServersRequest) GetClusterUri() string {
@@ -2590,7 +2767,7 @@ type GetServersResponse struct {
func (x *GetServersResponse) Reset() {
*x = GetServersResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[43]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2602,7 +2779,7 @@ func (x *GetServersResponse) String() string {
func (*GetServersResponse) ProtoMessage() {}
func (x *GetServersResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[43]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[46]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2615,7 +2792,7 @@ func (x *GetServersResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetServersResponse.ProtoReflect.Descriptor instead.
func (*GetServersResponse) Descriptor() ([]byte, []int) {
- return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{43}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{46}
}
func (x *GetServersResponse) GetAgents() []*Server {
@@ -2648,7 +2825,7 @@ type GetAuthSettingsRequest struct {
func (x *GetAuthSettingsRequest) Reset() {
*x = GetAuthSettingsRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[44]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2660,7 +2837,7 @@ func (x *GetAuthSettingsRequest) String() string {
func (*GetAuthSettingsRequest) ProtoMessage() {}
func (x *GetAuthSettingsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[44]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[47]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2673,7 +2850,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{44}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{47}
}
func (x *GetAuthSettingsRequest) GetClusterUri() string {
@@ -2692,7 +2869,7 @@ type UpdateTshdEventsServerAddressRequest struct {
func (x *UpdateTshdEventsServerAddressRequest) Reset() {
*x = UpdateTshdEventsServerAddressRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[45]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2704,7 +2881,7 @@ func (x *UpdateTshdEventsServerAddressRequest) String() string {
func (*UpdateTshdEventsServerAddressRequest) ProtoMessage() {}
func (x *UpdateTshdEventsServerAddressRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[45]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[48]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2717,7 +2894,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{45}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{48}
}
func (x *UpdateTshdEventsServerAddressRequest) GetAddress() string {
@@ -2735,7 +2912,7 @@ type UpdateTshdEventsServerAddressResponse struct {
func (x *UpdateTshdEventsServerAddressResponse) Reset() {
*x = UpdateTshdEventsServerAddressResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[46]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2747,7 +2924,7 @@ func (x *UpdateTshdEventsServerAddressResponse) String() string {
func (*UpdateTshdEventsServerAddressResponse) ProtoMessage() {}
func (x *UpdateTshdEventsServerAddressResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[46]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[49]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2760,7 +2937,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{46}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{49}
}
type UpdateHeadlessAuthenticationStateRequest struct {
@@ -2774,7 +2951,7 @@ type UpdateHeadlessAuthenticationStateRequest struct {
func (x *UpdateHeadlessAuthenticationStateRequest) Reset() {
*x = UpdateHeadlessAuthenticationStateRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[47]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2786,7 +2963,7 @@ func (x *UpdateHeadlessAuthenticationStateRequest) String() string {
func (*UpdateHeadlessAuthenticationStateRequest) ProtoMessage() {}
func (x *UpdateHeadlessAuthenticationStateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[47]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[50]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2799,7 +2976,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{47}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{50}
}
func (x *UpdateHeadlessAuthenticationStateRequest) GetRootClusterUri() string {
@@ -2831,7 +3008,7 @@ type UpdateHeadlessAuthenticationStateResponse struct {
func (x *UpdateHeadlessAuthenticationStateResponse) Reset() {
*x = UpdateHeadlessAuthenticationStateResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[48]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2843,7 +3020,7 @@ func (x *UpdateHeadlessAuthenticationStateResponse) String() string {
func (*UpdateHeadlessAuthenticationStateResponse) ProtoMessage() {}
func (x *UpdateHeadlessAuthenticationStateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[48]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[51]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2856,7 +3033,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{48}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{51}
}
type CreateConnectMyComputerRoleRequest struct {
@@ -2868,7 +3045,7 @@ type CreateConnectMyComputerRoleRequest struct {
func (x *CreateConnectMyComputerRoleRequest) Reset() {
*x = CreateConnectMyComputerRoleRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[49]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2880,7 +3057,7 @@ func (x *CreateConnectMyComputerRoleRequest) String() string {
func (*CreateConnectMyComputerRoleRequest) ProtoMessage() {}
func (x *CreateConnectMyComputerRoleRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[49]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[52]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2893,7 +3070,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{49}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{52}
}
func (x *CreateConnectMyComputerRoleRequest) GetRootClusterUri() string {
@@ -2914,7 +3091,7 @@ type CreateConnectMyComputerRoleResponse struct {
func (x *CreateConnectMyComputerRoleResponse) Reset() {
*x = CreateConnectMyComputerRoleResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[50]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2926,7 +3103,7 @@ func (x *CreateConnectMyComputerRoleResponse) String() string {
func (*CreateConnectMyComputerRoleResponse) ProtoMessage() {}
func (x *CreateConnectMyComputerRoleResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[50]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[53]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2939,7 +3116,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{50}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{53}
}
func (x *CreateConnectMyComputerRoleResponse) GetCertsReloaded() bool {
@@ -2958,7 +3135,7 @@ type CreateConnectMyComputerNodeTokenRequest struct {
func (x *CreateConnectMyComputerNodeTokenRequest) Reset() {
*x = CreateConnectMyComputerNodeTokenRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[51]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2970,7 +3147,7 @@ func (x *CreateConnectMyComputerNodeTokenRequest) String() string {
func (*CreateConnectMyComputerNodeTokenRequest) ProtoMessage() {}
func (x *CreateConnectMyComputerNodeTokenRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[51]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[54]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2983,7 +3160,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{51}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{54}
}
func (x *CreateConnectMyComputerNodeTokenRequest) GetRootClusterUri() string {
@@ -3002,7 +3179,7 @@ type CreateConnectMyComputerNodeTokenResponse struct {
func (x *CreateConnectMyComputerNodeTokenResponse) Reset() {
*x = CreateConnectMyComputerNodeTokenResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[52]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3014,7 +3191,7 @@ func (x *CreateConnectMyComputerNodeTokenResponse) String() string {
func (*CreateConnectMyComputerNodeTokenResponse) ProtoMessage() {}
func (x *CreateConnectMyComputerNodeTokenResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[52]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[55]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3027,7 +3204,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{52}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{55}
}
func (x *CreateConnectMyComputerNodeTokenResponse) GetToken() string {
@@ -3046,7 +3223,7 @@ type WaitForConnectMyComputerNodeJoinRequest struct {
func (x *WaitForConnectMyComputerNodeJoinRequest) Reset() {
*x = WaitForConnectMyComputerNodeJoinRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[53]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3058,7 +3235,7 @@ func (x *WaitForConnectMyComputerNodeJoinRequest) String() string {
func (*WaitForConnectMyComputerNodeJoinRequest) ProtoMessage() {}
func (x *WaitForConnectMyComputerNodeJoinRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[53]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[56]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3071,7 +3248,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{53}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{56}
}
func (x *WaitForConnectMyComputerNodeJoinRequest) GetRootClusterUri() string {
@@ -3090,7 +3267,7 @@ type WaitForConnectMyComputerNodeJoinResponse struct {
func (x *WaitForConnectMyComputerNodeJoinResponse) Reset() {
*x = WaitForConnectMyComputerNodeJoinResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[54]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3102,7 +3279,7 @@ func (x *WaitForConnectMyComputerNodeJoinResponse) String() string {
func (*WaitForConnectMyComputerNodeJoinResponse) ProtoMessage() {}
func (x *WaitForConnectMyComputerNodeJoinResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[54]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[57]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3115,7 +3292,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{54}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{57}
}
func (x *WaitForConnectMyComputerNodeJoinResponse) GetServer() *Server {
@@ -3134,7 +3311,7 @@ type DeleteConnectMyComputerNodeRequest struct {
func (x *DeleteConnectMyComputerNodeRequest) Reset() {
*x = DeleteConnectMyComputerNodeRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[55]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3146,7 +3323,7 @@ func (x *DeleteConnectMyComputerNodeRequest) String() string {
func (*DeleteConnectMyComputerNodeRequest) ProtoMessage() {}
func (x *DeleteConnectMyComputerNodeRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[55]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[58]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3159,7 +3336,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{55}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{58}
}
func (x *DeleteConnectMyComputerNodeRequest) GetRootClusterUri() string {
@@ -3177,7 +3354,7 @@ type DeleteConnectMyComputerNodeResponse struct {
func (x *DeleteConnectMyComputerNodeResponse) Reset() {
*x = DeleteConnectMyComputerNodeResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[56]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3189,7 +3366,7 @@ func (x *DeleteConnectMyComputerNodeResponse) String() string {
func (*DeleteConnectMyComputerNodeResponse) ProtoMessage() {}
func (x *DeleteConnectMyComputerNodeResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[56]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[59]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3202,7 +3379,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{56}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{59}
}
type GetConnectMyComputerNodeNameRequest struct {
@@ -3214,7 +3391,7 @@ type GetConnectMyComputerNodeNameRequest struct {
func (x *GetConnectMyComputerNodeNameRequest) Reset() {
*x = GetConnectMyComputerNodeNameRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[57]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3226,7 +3403,7 @@ func (x *GetConnectMyComputerNodeNameRequest) String() string {
func (*GetConnectMyComputerNodeNameRequest) ProtoMessage() {}
func (x *GetConnectMyComputerNodeNameRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[57]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[60]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3239,7 +3416,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{57}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{60}
}
func (x *GetConnectMyComputerNodeNameRequest) GetRootClusterUri() string {
@@ -3258,7 +3435,7 @@ type GetConnectMyComputerNodeNameResponse struct {
func (x *GetConnectMyComputerNodeNameResponse) Reset() {
*x = GetConnectMyComputerNodeNameResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[58]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3270,7 +3447,7 @@ func (x *GetConnectMyComputerNodeNameResponse) String() string {
func (*GetConnectMyComputerNodeNameResponse) ProtoMessage() {}
func (x *GetConnectMyComputerNodeNameResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[58]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[61]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3283,7 +3460,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{58}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{61}
}
func (x *GetConnectMyComputerNodeNameResponse) GetName() string {
@@ -3323,7 +3500,7 @@ type ListUnifiedResourcesRequest struct {
func (x *ListUnifiedResourcesRequest) Reset() {
*x = ListUnifiedResourcesRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[59]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3335,7 +3512,7 @@ func (x *ListUnifiedResourcesRequest) String() string {
func (*ListUnifiedResourcesRequest) ProtoMessage() {}
func (x *ListUnifiedResourcesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[59]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[62]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3348,7 +3525,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{59}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{62}
}
func (x *ListUnifiedResourcesRequest) GetClusterUri() string {
@@ -3433,7 +3610,7 @@ type SortBy struct {
func (x *SortBy) Reset() {
*x = SortBy{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[60]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3445,7 +3622,7 @@ func (x *SortBy) String() string {
func (*SortBy) ProtoMessage() {}
func (x *SortBy) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[60]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[63]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3458,7 +3635,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{60}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{63}
}
func (x *SortBy) GetIsDesc() bool {
@@ -3478,7 +3655,7 @@ func (x *SortBy) GetField() string {
type ListUnifiedResourcesResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Resources []*PaginatedResource `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty"`
- // A key to use as start_key in a ListResourcesRequest to continue retrieving
+ // A key to use as start_key in a ListUnifiedResourcesRequest to continue retrieving
// the next pages. If it is empty, there are no more pages.
NextKey string `protobuf:"bytes,2,opt,name=next_key,json=nextKey,proto3" json:"next_key,omitempty"`
unknownFields protoimpl.UnknownFields
@@ -3487,7 +3664,7 @@ type ListUnifiedResourcesResponse struct {
func (x *ListUnifiedResourcesResponse) Reset() {
*x = ListUnifiedResourcesResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[61]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3499,7 +3676,7 @@ func (x *ListUnifiedResourcesResponse) String() string {
func (*ListUnifiedResourcesResponse) ProtoMessage() {}
func (x *ListUnifiedResourcesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[61]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[64]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3512,7 +3689,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{61}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{64}
}
func (x *ListUnifiedResourcesResponse) GetResources() []*PaginatedResource {
@@ -3546,7 +3723,7 @@ type PaginatedResource struct {
func (x *PaginatedResource) Reset() {
*x = PaginatedResource{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[62]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3558,7 +3735,7 @@ func (x *PaginatedResource) String() string {
func (*PaginatedResource) ProtoMessage() {}
func (x *PaginatedResource) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[62]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[65]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3571,7 +3748,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{62}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{65}
}
func (x *PaginatedResource) GetResource() isPaginatedResource_Resource {
@@ -3676,7 +3853,7 @@ type GetUserPreferencesRequest struct {
func (x *GetUserPreferencesRequest) Reset() {
*x = GetUserPreferencesRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[63]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3688,7 +3865,7 @@ func (x *GetUserPreferencesRequest) String() string {
func (*GetUserPreferencesRequest) ProtoMessage() {}
func (x *GetUserPreferencesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[63]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[66]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3701,7 +3878,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{63}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{66}
}
func (x *GetUserPreferencesRequest) GetClusterUri() string {
@@ -3720,7 +3897,7 @@ type GetUserPreferencesResponse struct {
func (x *GetUserPreferencesResponse) Reset() {
*x = GetUserPreferencesResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[64]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3732,7 +3909,7 @@ func (x *GetUserPreferencesResponse) String() string {
func (*GetUserPreferencesResponse) ProtoMessage() {}
func (x *GetUserPreferencesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[64]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[67]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3745,7 +3922,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{64}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{67}
}
func (x *GetUserPreferencesResponse) GetUserPreferences() *UserPreferences {
@@ -3765,7 +3942,7 @@ type UpdateUserPreferencesRequest struct {
func (x *UpdateUserPreferencesRequest) Reset() {
*x = UpdateUserPreferencesRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[65]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3777,7 +3954,7 @@ func (x *UpdateUserPreferencesRequest) String() string {
func (*UpdateUserPreferencesRequest) ProtoMessage() {}
func (x *UpdateUserPreferencesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[65]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[68]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3790,7 +3967,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{65}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{68}
}
func (x *UpdateUserPreferencesRequest) GetClusterUri() string {
@@ -3816,7 +3993,7 @@ type UpdateUserPreferencesResponse struct {
func (x *UpdateUserPreferencesResponse) Reset() {
*x = UpdateUserPreferencesResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[66]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3828,7 +4005,7 @@ func (x *UpdateUserPreferencesResponse) String() string {
func (*UpdateUserPreferencesResponse) ProtoMessage() {}
func (x *UpdateUserPreferencesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[66]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[69]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3841,7 +4018,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{66}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{69}
}
func (x *UpdateUserPreferencesResponse) GetUserPreferences() *UserPreferences {
@@ -3863,7 +4040,7 @@ type UserPreferences struct {
func (x *UserPreferences) Reset() {
*x = UserPreferences{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[67]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3875,7 +4052,7 @@ func (x *UserPreferences) String() string {
func (*UserPreferences) ProtoMessage() {}
func (x *UserPreferences) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[67]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[70]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3888,7 +4065,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{67}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{70}
}
func (x *UserPreferences) GetClusterPreferences() *v11.ClusterUserPreferences {
@@ -3918,7 +4095,7 @@ type AuthenticateWebDeviceRequest struct {
func (x *AuthenticateWebDeviceRequest) Reset() {
*x = AuthenticateWebDeviceRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[68]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3930,7 +4107,7 @@ func (x *AuthenticateWebDeviceRequest) String() string {
func (*AuthenticateWebDeviceRequest) ProtoMessage() {}
func (x *AuthenticateWebDeviceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[68]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[71]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3943,7 +4120,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{68}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{71}
}
func (x *AuthenticateWebDeviceRequest) GetDeviceWebToken() *v12.DeviceWebToken {
@@ -3972,7 +4149,7 @@ type AuthenticateWebDeviceResponse struct {
func (x *AuthenticateWebDeviceResponse) Reset() {
*x = AuthenticateWebDeviceResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[69]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3984,7 +4161,7 @@ func (x *AuthenticateWebDeviceResponse) String() string {
func (*AuthenticateWebDeviceResponse) ProtoMessage() {}
func (x *AuthenticateWebDeviceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[69]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[72]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3997,7 +4174,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{69}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{72}
}
func (x *AuthenticateWebDeviceResponse) GetConfirmationToken() *v12.DeviceConfirmationToken {
@@ -4016,7 +4193,7 @@ type GetAppRequest struct {
func (x *GetAppRequest) Reset() {
*x = GetAppRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[70]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4028,7 +4205,7 @@ func (x *GetAppRequest) String() string {
func (*GetAppRequest) ProtoMessage() {}
func (x *GetAppRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[70]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[73]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4041,7 +4218,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{70}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{73}
}
func (x *GetAppRequest) GetAppUri() string {
@@ -4060,7 +4237,7 @@ type GetAppResponse struct {
func (x *GetAppResponse) Reset() {
*x = GetAppResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[71]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4072,7 +4249,7 @@ func (x *GetAppResponse) String() string {
func (*GetAppResponse) ProtoMessage() {}
func (x *GetAppResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[71]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[74]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4085,7 +4262,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{71}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{74}
}
func (x *GetAppResponse) GetApp() *App {
@@ -4108,7 +4285,7 @@ type TargetDesktop struct {
func (x *TargetDesktop) Reset() {
*x = TargetDesktop{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[72]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4120,7 +4297,7 @@ func (x *TargetDesktop) String() string {
func (*TargetDesktop) ProtoMessage() {}
func (x *TargetDesktop) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[72]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[75]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4133,7 +4310,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{72}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{75}
}
func (x *TargetDesktop) GetDesktopUri() string {
@@ -4164,7 +4341,7 @@ type ConnectToDesktopRequest struct {
func (x *ConnectToDesktopRequest) Reset() {
*x = ConnectToDesktopRequest{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[73]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4176,7 +4353,7 @@ func (x *ConnectToDesktopRequest) String() string {
func (*ConnectToDesktopRequest) ProtoMessage() {}
func (x *ConnectToDesktopRequest) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[73]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[76]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4189,7 +4366,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{73}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{76}
}
func (x *ConnectToDesktopRequest) GetData() []byte {
@@ -4217,7 +4394,7 @@ type ConnectToDesktopResponse struct {
func (x *ConnectToDesktopResponse) Reset() {
*x = ConnectToDesktopResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[74]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4229,7 +4406,7 @@ func (x *ConnectToDesktopResponse) String() string {
func (*ConnectToDesktopResponse) ProtoMessage() {}
func (x *ConnectToDesktopResponse) ProtoReflect() protoreflect.Message {
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[74]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[77]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4242,7 +4419,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{74}
+ return file_teleport_lib_teleterm_v1_service_proto_rawDescGZIP(), []int{77}
}
func (x *ConnectToDesktopResponse) GetData() []byte {
@@ -4263,7 +4440,7 @@ type LoginPasswordlessRequest_LoginPasswordlessRequestInit struct {
func (x *LoginPasswordlessRequest_LoginPasswordlessRequestInit) Reset() {
*x = LoginPasswordlessRequest_LoginPasswordlessRequestInit{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[75]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4275,7 +4452,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[75]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[78]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4309,7 +4486,7 @@ type LoginPasswordlessRequest_LoginPasswordlessPINResponse struct {
func (x *LoginPasswordlessRequest_LoginPasswordlessPINResponse) Reset() {
*x = LoginPasswordlessRequest_LoginPasswordlessPINResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[76]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4321,7 +4498,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[76]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[79]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4357,7 +4534,7 @@ type LoginPasswordlessRequest_LoginPasswordlessCredentialResponse struct {
func (x *LoginPasswordlessRequest_LoginPasswordlessCredentialResponse) Reset() {
*x = LoginPasswordlessRequest_LoginPasswordlessCredentialResponse{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[77]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4369,7 +4546,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[77]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[80]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4407,7 +4584,7 @@ type LoginRequest_LocalParams struct {
func (x *LoginRequest_LocalParams) Reset() {
*x = LoginRequest_LocalParams{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[78]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4419,7 +4596,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[78]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[81]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4469,7 +4646,7 @@ type LoginRequest_SsoParams struct {
func (x *LoginRequest_SsoParams) Reset() {
*x = LoginRequest_SsoParams{}
- mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[79]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4481,7 +4658,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[79]
+ mi := &file_teleport_lib_teleterm_v1_service_proto_msgTypes[82]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4655,7 +4832,19 @@ const file_teleport_lib_teleterm_v1_service_proto_rawDesc = "" +
"\x18ListDatabaseUsersRequest\x12\x15\n" +
"\x06db_uri\x18\x01 \x01(\tR\x05dbUri\"1\n" +
"\x19ListDatabaseUsersResponse\x12\x14\n" +
- "\x05users\x18\x01 \x03(\tR\x05users\"\xad\x01\n" +
+ "\x05users\x18\x01 \x03(\tR\x05users\"\xaa\x01\n" +
+ "\x13ListResourcesParams\x12\x1b\n" +
+ "\tstart_key\x18\x01 \x01(\tR\bstartKey\x12\x14\n" +
+ "\x05limit\x18\x02 \x01(\x05R\x05limit\x121\n" +
+ "\x14predicate_expression\x18\x03 \x01(\tR\x13predicateExpression\x12-\n" +
+ "\x13use_search_as_roles\x18\x04 \x01(\bR\x10useSearchAsRoles\"\x84\x01\n" +
+ "\x1aListDatabaseServersRequest\x12\x1f\n" +
+ "\vcluster_uri\x18\x01 \x01(\tR\n" +
+ "clusterUri\x12E\n" +
+ "\x06params\x18\x02 \x01(\v2-.teleport.lib.teleterm.v1.ListResourcesParamsR\x06params\"\x80\x01\n" +
+ "\x1bListDatabaseServersResponse\x12F\n" +
+ "\tresources\x18\x01 \x03(\v2(.teleport.lib.teleterm.v1.DatabaseServerR\tresources\x12\x19\n" +
+ "\bnext_key\x18\x02 \x01(\tR\anextKey\"\xad\x01\n" +
"\x14CreateGatewayRequest\x12\x1d\n" +
"\n" +
"target_uri\x18\x01 \x01(\tR\ttargetUri\x12\x1f\n" +
@@ -4797,13 +4986,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\xdd)\n" +
+ "&HEADLESS_AUTHENTICATION_STATE_APPROVED\x10\x032\xe2*\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\x12l\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" +
"\x11GetAccessRequests\x122.teleport.lib.teleterm.v1.GetAccessRequestsRequest\x1a3.teleport.lib.teleterm.v1.GetAccessRequestsResponse\x12y\n" +
@@ -4859,7 +5049,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, 80)
+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
@@ -4900,201 +5090,209 @@ var file_teleport_lib_teleterm_v1_service_proto_goTypes = []any{
(*ListLeafClustersRequest)(nil), // 36: teleport.lib.teleterm.v1.ListLeafClustersRequest
(*ListDatabaseUsersRequest)(nil), // 37: teleport.lib.teleterm.v1.ListDatabaseUsersRequest
(*ListDatabaseUsersResponse)(nil), // 38: teleport.lib.teleterm.v1.ListDatabaseUsersResponse
- (*CreateGatewayRequest)(nil), // 39: teleport.lib.teleterm.v1.CreateGatewayRequest
- (*ListGatewaysRequest)(nil), // 40: teleport.lib.teleterm.v1.ListGatewaysRequest
- (*ListGatewaysResponse)(nil), // 41: teleport.lib.teleterm.v1.ListGatewaysResponse
- (*RemoveGatewayRequest)(nil), // 42: teleport.lib.teleterm.v1.RemoveGatewayRequest
- (*SetGatewayTargetSubresourceNameRequest)(nil), // 43: teleport.lib.teleterm.v1.SetGatewayTargetSubresourceNameRequest
- (*SetGatewayLocalPortRequest)(nil), // 44: teleport.lib.teleterm.v1.SetGatewayLocalPortRequest
- (*GetServersRequest)(nil), // 45: teleport.lib.teleterm.v1.GetServersRequest
- (*GetServersResponse)(nil), // 46: teleport.lib.teleterm.v1.GetServersResponse
- (*GetAuthSettingsRequest)(nil), // 47: teleport.lib.teleterm.v1.GetAuthSettingsRequest
- (*UpdateTshdEventsServerAddressRequest)(nil), // 48: teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressRequest
- (*UpdateTshdEventsServerAddressResponse)(nil), // 49: teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressResponse
- (*UpdateHeadlessAuthenticationStateRequest)(nil), // 50: teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateRequest
- (*UpdateHeadlessAuthenticationStateResponse)(nil), // 51: teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateResponse
- (*CreateConnectMyComputerRoleRequest)(nil), // 52: teleport.lib.teleterm.v1.CreateConnectMyComputerRoleRequest
- (*CreateConnectMyComputerRoleResponse)(nil), // 53: teleport.lib.teleterm.v1.CreateConnectMyComputerRoleResponse
- (*CreateConnectMyComputerNodeTokenRequest)(nil), // 54: teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenRequest
- (*CreateConnectMyComputerNodeTokenResponse)(nil), // 55: teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenResponse
- (*WaitForConnectMyComputerNodeJoinRequest)(nil), // 56: teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinRequest
- (*WaitForConnectMyComputerNodeJoinResponse)(nil), // 57: teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinResponse
- (*DeleteConnectMyComputerNodeRequest)(nil), // 58: teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeRequest
- (*DeleteConnectMyComputerNodeResponse)(nil), // 59: teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeResponse
- (*GetConnectMyComputerNodeNameRequest)(nil), // 60: teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameRequest
- (*GetConnectMyComputerNodeNameResponse)(nil), // 61: teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameResponse
- (*ListUnifiedResourcesRequest)(nil), // 62: teleport.lib.teleterm.v1.ListUnifiedResourcesRequest
- (*SortBy)(nil), // 63: teleport.lib.teleterm.v1.SortBy
- (*ListUnifiedResourcesResponse)(nil), // 64: teleport.lib.teleterm.v1.ListUnifiedResourcesResponse
- (*PaginatedResource)(nil), // 65: teleport.lib.teleterm.v1.PaginatedResource
- (*GetUserPreferencesRequest)(nil), // 66: teleport.lib.teleterm.v1.GetUserPreferencesRequest
- (*GetUserPreferencesResponse)(nil), // 67: teleport.lib.teleterm.v1.GetUserPreferencesResponse
- (*UpdateUserPreferencesRequest)(nil), // 68: teleport.lib.teleterm.v1.UpdateUserPreferencesRequest
- (*UpdateUserPreferencesResponse)(nil), // 69: teleport.lib.teleterm.v1.UpdateUserPreferencesResponse
- (*UserPreferences)(nil), // 70: teleport.lib.teleterm.v1.UserPreferences
- (*AuthenticateWebDeviceRequest)(nil), // 71: teleport.lib.teleterm.v1.AuthenticateWebDeviceRequest
- (*AuthenticateWebDeviceResponse)(nil), // 72: teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse
- (*GetAppRequest)(nil), // 73: teleport.lib.teleterm.v1.GetAppRequest
- (*GetAppResponse)(nil), // 74: teleport.lib.teleterm.v1.GetAppResponse
- (*TargetDesktop)(nil), // 75: teleport.lib.teleterm.v1.TargetDesktop
- (*ConnectToDesktopRequest)(nil), // 76: teleport.lib.teleterm.v1.ConnectToDesktopRequest
- (*ConnectToDesktopResponse)(nil), // 77: teleport.lib.teleterm.v1.ConnectToDesktopResponse
- (*LoginPasswordlessRequest_LoginPasswordlessRequestInit)(nil), // 78: teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessRequestInit
- (*LoginPasswordlessRequest_LoginPasswordlessPINResponse)(nil), // 79: teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessPINResponse
- (*LoginPasswordlessRequest_LoginPasswordlessCredentialResponse)(nil), // 80: teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessCredentialResponse
- (*LoginRequest_LocalParams)(nil), // 81: teleport.lib.teleterm.v1.LoginRequest.LocalParams
- (*LoginRequest_SsoParams)(nil), // 82: teleport.lib.teleterm.v1.LoginRequest.SsoParams
- (*AccessRequest)(nil), // 83: teleport.lib.teleterm.v1.AccessRequest
- (*ResourceID)(nil), // 84: teleport.lib.teleterm.v1.ResourceID
- (*timestamppb.Timestamp)(nil), // 85: google.protobuf.Timestamp
- (*v1.AccessList)(nil), // 86: teleport.accesslist.v1.AccessList
- (*KubeResource)(nil), // 87: teleport.lib.teleterm.v1.KubeResource
- (*Cluster)(nil), // 88: teleport.lib.teleterm.v1.Cluster
- (*Gateway)(nil), // 89: teleport.lib.teleterm.v1.Gateway
- (*Server)(nil), // 90: teleport.lib.teleterm.v1.Server
- (*Database)(nil), // 91: teleport.lib.teleterm.v1.Database
- (*Kube)(nil), // 92: teleport.lib.teleterm.v1.Kube
- (*App)(nil), // 93: teleport.lib.teleterm.v1.App
- (*WindowsDesktop)(nil), // 94: teleport.lib.teleterm.v1.WindowsDesktop
- (*v11.ClusterUserPreferences)(nil), // 95: teleport.userpreferences.v1.ClusterUserPreferences
- (*v11.UnifiedResourcePreferences)(nil), // 96: teleport.userpreferences.v1.UnifiedResourcePreferences
- (*v12.DeviceWebToken)(nil), // 97: teleport.devicetrust.v1.DeviceWebToken
- (*v12.DeviceConfirmationToken)(nil), // 98: teleport.devicetrust.v1.DeviceConfirmationToken
- (*ReportUsageEventRequest)(nil), // 99: teleport.lib.teleterm.v1.ReportUsageEventRequest
- (*AuthSettings)(nil), // 100: teleport.lib.teleterm.v1.AuthSettings
+ (*ListResourcesParams)(nil), // 39: teleport.lib.teleterm.v1.ListResourcesParams
+ (*ListDatabaseServersRequest)(nil), // 40: teleport.lib.teleterm.v1.ListDatabaseServersRequest
+ (*ListDatabaseServersResponse)(nil), // 41: teleport.lib.teleterm.v1.ListDatabaseServersResponse
+ (*CreateGatewayRequest)(nil), // 42: teleport.lib.teleterm.v1.CreateGatewayRequest
+ (*ListGatewaysRequest)(nil), // 43: teleport.lib.teleterm.v1.ListGatewaysRequest
+ (*ListGatewaysResponse)(nil), // 44: teleport.lib.teleterm.v1.ListGatewaysResponse
+ (*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
+ (*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{
- 83, // 0: teleport.lib.teleterm.v1.GetAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest
- 83, // 1: teleport.lib.teleterm.v1.GetAccessRequestsResponse.requests:type_name -> teleport.lib.teleterm.v1.AccessRequest
- 84, // 2: teleport.lib.teleterm.v1.CreateAccessRequestRequest.resource_ids:type_name -> teleport.lib.teleterm.v1.ResourceID
- 85, // 3: teleport.lib.teleterm.v1.CreateAccessRequestRequest.assume_start_time:type_name -> google.protobuf.Timestamp
- 85, // 4: teleport.lib.teleterm.v1.CreateAccessRequestRequest.max_duration:type_name -> google.protobuf.Timestamp
- 85, // 5: teleport.lib.teleterm.v1.CreateAccessRequestRequest.request_ttl:type_name -> google.protobuf.Timestamp
- 83, // 6: teleport.lib.teleterm.v1.CreateAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest
- 84, // 7: teleport.lib.teleterm.v1.GetRequestableRolesRequest.resource_ids:type_name -> teleport.lib.teleterm.v1.ResourceID
- 85, // 8: teleport.lib.teleterm.v1.ReviewAccessRequestRequest.assume_start_time:type_name -> google.protobuf.Timestamp
- 83, // 9: teleport.lib.teleterm.v1.ReviewAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest
- 83, // 10: teleport.lib.teleterm.v1.PromoteAccessRequestResponse.request:type_name -> teleport.lib.teleterm.v1.AccessRequest
- 86, // 11: teleport.lib.teleterm.v1.GetSuggestedAccessListsResponse.access_lists:type_name -> teleport.accesslist.v1.AccessList
- 87, // 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
- 78, // 15: teleport.lib.teleterm.v1.LoginPasswordlessRequest.init:type_name -> teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessRequestInit
- 79, // 16: teleport.lib.teleterm.v1.LoginPasswordlessRequest.pin:type_name -> teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessPINResponse
- 80, // 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
- 81, // 19: teleport.lib.teleterm.v1.LoginRequest.local:type_name -> teleport.lib.teleterm.v1.LoginRequest.LocalParams
- 82, // 20: teleport.lib.teleterm.v1.LoginRequest.sso:type_name -> teleport.lib.teleterm.v1.LoginRequest.SsoParams
- 88, // 21: teleport.lib.teleterm.v1.ListClustersResponse.clusters:type_name -> teleport.lib.teleterm.v1.Cluster
- 89, // 22: teleport.lib.teleterm.v1.ListGatewaysResponse.gateways:type_name -> teleport.lib.teleterm.v1.Gateway
- 90, // 23: teleport.lib.teleterm.v1.GetServersResponse.agents:type_name -> teleport.lib.teleterm.v1.Server
- 2, // 24: teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateRequest.state:type_name -> teleport.lib.teleterm.v1.HeadlessAuthenticationState
- 90, // 25: teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinResponse.server:type_name -> teleport.lib.teleterm.v1.Server
- 63, // 26: teleport.lib.teleterm.v1.ListUnifiedResourcesRequest.sort_by:type_name -> teleport.lib.teleterm.v1.SortBy
- 65, // 27: teleport.lib.teleterm.v1.ListUnifiedResourcesResponse.resources:type_name -> teleport.lib.teleterm.v1.PaginatedResource
- 91, // 28: teleport.lib.teleterm.v1.PaginatedResource.database:type_name -> teleport.lib.teleterm.v1.Database
- 90, // 29: teleport.lib.teleterm.v1.PaginatedResource.server:type_name -> teleport.lib.teleterm.v1.Server
- 92, // 30: teleport.lib.teleterm.v1.PaginatedResource.kube:type_name -> teleport.lib.teleterm.v1.Kube
- 93, // 31: teleport.lib.teleterm.v1.PaginatedResource.app:type_name -> teleport.lib.teleterm.v1.App
- 94, // 32: teleport.lib.teleterm.v1.PaginatedResource.windows_desktop:type_name -> teleport.lib.teleterm.v1.WindowsDesktop
- 70, // 33: teleport.lib.teleterm.v1.GetUserPreferencesResponse.user_preferences:type_name -> teleport.lib.teleterm.v1.UserPreferences
- 70, // 34: teleport.lib.teleterm.v1.UpdateUserPreferencesRequest.user_preferences:type_name -> teleport.lib.teleterm.v1.UserPreferences
- 70, // 35: teleport.lib.teleterm.v1.UpdateUserPreferencesResponse.user_preferences:type_name -> teleport.lib.teleterm.v1.UserPreferences
- 95, // 36: teleport.lib.teleterm.v1.UserPreferences.cluster_preferences:type_name -> teleport.userpreferences.v1.ClusterUserPreferences
- 96, // 37: teleport.lib.teleterm.v1.UserPreferences.unified_resource_preferences:type_name -> teleport.userpreferences.v1.UnifiedResourcePreferences
- 97, // 38: teleport.lib.teleterm.v1.AuthenticateWebDeviceRequest.device_web_token:type_name -> teleport.devicetrust.v1.DeviceWebToken
- 98, // 39: teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse.confirmation_token:type_name -> teleport.devicetrust.v1.DeviceConfirmationToken
- 93, // 40: teleport.lib.teleterm.v1.GetAppResponse.app:type_name -> teleport.lib.teleterm.v1.App
- 75, // 41: teleport.lib.teleterm.v1.ConnectToDesktopRequest.target_desktop:type_name -> teleport.lib.teleterm.v1.TargetDesktop
- 48, // 42: teleport.lib.teleterm.v1.TerminalService.UpdateTshdEventsServerAddress:input_type -> teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressRequest
- 34, // 43: teleport.lib.teleterm.v1.TerminalService.ListRootClusters:input_type -> teleport.lib.teleterm.v1.ListClustersRequest
- 36, // 44: teleport.lib.teleterm.v1.TerminalService.ListLeafClusters:input_type -> teleport.lib.teleterm.v1.ListLeafClustersRequest
- 7, // 45: teleport.lib.teleterm.v1.TerminalService.StartHeadlessWatcher:input_type -> teleport.lib.teleterm.v1.StartHeadlessWatcherRequest
- 37, // 46: teleport.lib.teleterm.v1.TerminalService.ListDatabaseUsers:input_type -> teleport.lib.teleterm.v1.ListDatabaseUsersRequest
- 45, // 47: teleport.lib.teleterm.v1.TerminalService.GetServers:input_type -> teleport.lib.teleterm.v1.GetServersRequest
- 10, // 48: teleport.lib.teleterm.v1.TerminalService.GetAccessRequests:input_type -> teleport.lib.teleterm.v1.GetAccessRequestsRequest
- 9, // 49: teleport.lib.teleterm.v1.TerminalService.GetAccessRequest:input_type -> teleport.lib.teleterm.v1.GetAccessRequestRequest
- 13, // 50: teleport.lib.teleterm.v1.TerminalService.DeleteAccessRequest:input_type -> teleport.lib.teleterm.v1.DeleteAccessRequestRequest
- 14, // 51: teleport.lib.teleterm.v1.TerminalService.CreateAccessRequest:input_type -> teleport.lib.teleterm.v1.CreateAccessRequestRequest
- 19, // 52: teleport.lib.teleterm.v1.TerminalService.ReviewAccessRequest:input_type -> teleport.lib.teleterm.v1.ReviewAccessRequestRequest
- 17, // 53: teleport.lib.teleterm.v1.TerminalService.GetRequestableRoles:input_type -> teleport.lib.teleterm.v1.GetRequestableRolesRequest
- 16, // 54: teleport.lib.teleterm.v1.TerminalService.AssumeRole:input_type -> teleport.lib.teleterm.v1.AssumeRoleRequest
- 21, // 55: teleport.lib.teleterm.v1.TerminalService.PromoteAccessRequest:input_type -> teleport.lib.teleterm.v1.PromoteAccessRequestRequest
- 23, // 56: teleport.lib.teleterm.v1.TerminalService.GetSuggestedAccessLists:input_type -> teleport.lib.teleterm.v1.GetSuggestedAccessListsRequest
- 25, // 57: teleport.lib.teleterm.v1.TerminalService.ListKubernetesResources:input_type -> teleport.lib.teleterm.v1.ListKubernetesResourcesRequest
- 33, // 58: teleport.lib.teleterm.v1.TerminalService.AddCluster:input_type -> teleport.lib.teleterm.v1.AddClusterRequest
- 4, // 59: teleport.lib.teleterm.v1.TerminalService.RemoveCluster:input_type -> teleport.lib.teleterm.v1.RemoveClusterRequest
- 40, // 60: teleport.lib.teleterm.v1.TerminalService.ListGateways:input_type -> teleport.lib.teleterm.v1.ListGatewaysRequest
- 39, // 61: teleport.lib.teleterm.v1.TerminalService.CreateGateway:input_type -> teleport.lib.teleterm.v1.CreateGatewayRequest
- 42, // 62: teleport.lib.teleterm.v1.TerminalService.RemoveGateway:input_type -> teleport.lib.teleterm.v1.RemoveGatewayRequest
- 43, // 63: teleport.lib.teleterm.v1.TerminalService.SetGatewayTargetSubresourceName:input_type -> teleport.lib.teleterm.v1.SetGatewayTargetSubresourceNameRequest
- 44, // 64: teleport.lib.teleterm.v1.TerminalService.SetGatewayLocalPort:input_type -> teleport.lib.teleterm.v1.SetGatewayLocalPortRequest
- 47, // 65: teleport.lib.teleterm.v1.TerminalService.GetAuthSettings:input_type -> teleport.lib.teleterm.v1.GetAuthSettingsRequest
- 5, // 66: teleport.lib.teleterm.v1.TerminalService.GetCluster:input_type -> teleport.lib.teleterm.v1.GetClusterRequest
- 32, // 67: teleport.lib.teleterm.v1.TerminalService.Login:input_type -> teleport.lib.teleterm.v1.LoginRequest
- 29, // 68: teleport.lib.teleterm.v1.TerminalService.LoginPasswordless:input_type -> teleport.lib.teleterm.v1.LoginPasswordlessRequest
- 6, // 69: teleport.lib.teleterm.v1.TerminalService.Logout:input_type -> teleport.lib.teleterm.v1.LogoutRequest
- 30, // 70: teleport.lib.teleterm.v1.TerminalService.TransferFile:input_type -> teleport.lib.teleterm.v1.FileTransferRequest
- 99, // 71: teleport.lib.teleterm.v1.TerminalService.ReportUsageEvent:input_type -> teleport.lib.teleterm.v1.ReportUsageEventRequest
- 50, // 72: teleport.lib.teleterm.v1.TerminalService.UpdateHeadlessAuthenticationState:input_type -> teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateRequest
- 52, // 73: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerRole:input_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerRoleRequest
- 54, // 74: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerNodeToken:input_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenRequest
- 56, // 75: teleport.lib.teleterm.v1.TerminalService.WaitForConnectMyComputerNodeJoin:input_type -> teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinRequest
- 58, // 76: teleport.lib.teleterm.v1.TerminalService.DeleteConnectMyComputerNode:input_type -> teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeRequest
- 60, // 77: teleport.lib.teleterm.v1.TerminalService.GetConnectMyComputerNodeName:input_type -> teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameRequest
- 62, // 78: teleport.lib.teleterm.v1.TerminalService.ListUnifiedResources:input_type -> teleport.lib.teleterm.v1.ListUnifiedResourcesRequest
- 66, // 79: teleport.lib.teleterm.v1.TerminalService.GetUserPreferences:input_type -> teleport.lib.teleterm.v1.GetUserPreferencesRequest
- 68, // 80: teleport.lib.teleterm.v1.TerminalService.UpdateUserPreferences:input_type -> teleport.lib.teleterm.v1.UpdateUserPreferencesRequest
- 71, // 81: teleport.lib.teleterm.v1.TerminalService.AuthenticateWebDevice:input_type -> teleport.lib.teleterm.v1.AuthenticateWebDeviceRequest
- 73, // 82: teleport.lib.teleterm.v1.TerminalService.GetApp:input_type -> teleport.lib.teleterm.v1.GetAppRequest
- 76, // 83: teleport.lib.teleterm.v1.TerminalService.ConnectToDesktop:input_type -> teleport.lib.teleterm.v1.ConnectToDesktopRequest
- 49, // 84: teleport.lib.teleterm.v1.TerminalService.UpdateTshdEventsServerAddress:output_type -> teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressResponse
- 35, // 85: teleport.lib.teleterm.v1.TerminalService.ListRootClusters:output_type -> teleport.lib.teleterm.v1.ListClustersResponse
- 35, // 86: teleport.lib.teleterm.v1.TerminalService.ListLeafClusters:output_type -> teleport.lib.teleterm.v1.ListClustersResponse
- 8, // 87: teleport.lib.teleterm.v1.TerminalService.StartHeadlessWatcher:output_type -> teleport.lib.teleterm.v1.StartHeadlessWatcherResponse
- 38, // 88: teleport.lib.teleterm.v1.TerminalService.ListDatabaseUsers:output_type -> teleport.lib.teleterm.v1.ListDatabaseUsersResponse
- 46, // 89: teleport.lib.teleterm.v1.TerminalService.GetServers:output_type -> teleport.lib.teleterm.v1.GetServersResponse
- 12, // 90: teleport.lib.teleterm.v1.TerminalService.GetAccessRequests:output_type -> teleport.lib.teleterm.v1.GetAccessRequestsResponse
- 11, // 91: teleport.lib.teleterm.v1.TerminalService.GetAccessRequest:output_type -> teleport.lib.teleterm.v1.GetAccessRequestResponse
- 3, // 92: teleport.lib.teleterm.v1.TerminalService.DeleteAccessRequest:output_type -> teleport.lib.teleterm.v1.EmptyResponse
- 15, // 93: teleport.lib.teleterm.v1.TerminalService.CreateAccessRequest:output_type -> teleport.lib.teleterm.v1.CreateAccessRequestResponse
- 20, // 94: teleport.lib.teleterm.v1.TerminalService.ReviewAccessRequest:output_type -> teleport.lib.teleterm.v1.ReviewAccessRequestResponse
- 18, // 95: teleport.lib.teleterm.v1.TerminalService.GetRequestableRoles:output_type -> teleport.lib.teleterm.v1.GetRequestableRolesResponse
- 3, // 96: teleport.lib.teleterm.v1.TerminalService.AssumeRole:output_type -> teleport.lib.teleterm.v1.EmptyResponse
- 22, // 97: teleport.lib.teleterm.v1.TerminalService.PromoteAccessRequest:output_type -> teleport.lib.teleterm.v1.PromoteAccessRequestResponse
- 24, // 98: teleport.lib.teleterm.v1.TerminalService.GetSuggestedAccessLists:output_type -> teleport.lib.teleterm.v1.GetSuggestedAccessListsResponse
- 26, // 99: teleport.lib.teleterm.v1.TerminalService.ListKubernetesResources:output_type -> teleport.lib.teleterm.v1.ListKubernetesResourcesResponse
- 88, // 100: teleport.lib.teleterm.v1.TerminalService.AddCluster:output_type -> teleport.lib.teleterm.v1.Cluster
- 3, // 101: teleport.lib.teleterm.v1.TerminalService.RemoveCluster:output_type -> teleport.lib.teleterm.v1.EmptyResponse
- 41, // 102: teleport.lib.teleterm.v1.TerminalService.ListGateways:output_type -> teleport.lib.teleterm.v1.ListGatewaysResponse
- 89, // 103: teleport.lib.teleterm.v1.TerminalService.CreateGateway:output_type -> teleport.lib.teleterm.v1.Gateway
- 3, // 104: teleport.lib.teleterm.v1.TerminalService.RemoveGateway:output_type -> teleport.lib.teleterm.v1.EmptyResponse
- 89, // 105: teleport.lib.teleterm.v1.TerminalService.SetGatewayTargetSubresourceName:output_type -> teleport.lib.teleterm.v1.Gateway
- 89, // 106: teleport.lib.teleterm.v1.TerminalService.SetGatewayLocalPort:output_type -> teleport.lib.teleterm.v1.Gateway
- 100, // 107: teleport.lib.teleterm.v1.TerminalService.GetAuthSettings:output_type -> teleport.lib.teleterm.v1.AuthSettings
- 88, // 108: teleport.lib.teleterm.v1.TerminalService.GetCluster:output_type -> teleport.lib.teleterm.v1.Cluster
- 3, // 109: teleport.lib.teleterm.v1.TerminalService.Login:output_type -> teleport.lib.teleterm.v1.EmptyResponse
- 28, // 110: teleport.lib.teleterm.v1.TerminalService.LoginPasswordless:output_type -> teleport.lib.teleterm.v1.LoginPasswordlessResponse
- 3, // 111: teleport.lib.teleterm.v1.TerminalService.Logout:output_type -> teleport.lib.teleterm.v1.EmptyResponse
- 31, // 112: teleport.lib.teleterm.v1.TerminalService.TransferFile:output_type -> teleport.lib.teleterm.v1.FileTransferProgress
- 3, // 113: teleport.lib.teleterm.v1.TerminalService.ReportUsageEvent:output_type -> teleport.lib.teleterm.v1.EmptyResponse
- 51, // 114: teleport.lib.teleterm.v1.TerminalService.UpdateHeadlessAuthenticationState:output_type -> teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateResponse
- 53, // 115: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerRole:output_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerRoleResponse
- 55, // 116: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerNodeToken:output_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenResponse
- 57, // 117: teleport.lib.teleterm.v1.TerminalService.WaitForConnectMyComputerNodeJoin:output_type -> teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinResponse
- 59, // 118: teleport.lib.teleterm.v1.TerminalService.DeleteConnectMyComputerNode:output_type -> teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeResponse
- 61, // 119: teleport.lib.teleterm.v1.TerminalService.GetConnectMyComputerNodeName:output_type -> teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameResponse
- 64, // 120: teleport.lib.teleterm.v1.TerminalService.ListUnifiedResources:output_type -> teleport.lib.teleterm.v1.ListUnifiedResourcesResponse
- 67, // 121: teleport.lib.teleterm.v1.TerminalService.GetUserPreferences:output_type -> teleport.lib.teleterm.v1.GetUserPreferencesResponse
- 69, // 122: teleport.lib.teleterm.v1.TerminalService.UpdateUserPreferences:output_type -> teleport.lib.teleterm.v1.UpdateUserPreferencesResponse
- 72, // 123: teleport.lib.teleterm.v1.TerminalService.AuthenticateWebDevice:output_type -> teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse
- 74, // 124: teleport.lib.teleterm.v1.TerminalService.GetApp:output_type -> teleport.lib.teleterm.v1.GetAppResponse
- 77, // 125: teleport.lib.teleterm.v1.TerminalService.ConnectToDesktop:output_type -> teleport.lib.teleterm.v1.ConnectToDesktopResponse
- 84, // [84:126] is the sub-list for method output_type
- 42, // [42:84] is the sub-list for method input_type
- 42, // [42:42] is the sub-list for extension type_name
- 42, // [42:42] is the sub-list for extension extendee
- 0, // [0:42] is the sub-list for field type_name
+ 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
+ 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
+ 94, // 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
+ 94, // 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
+ 95, // 30: teleport.lib.teleterm.v1.PaginatedResource.database:type_name -> teleport.lib.teleterm.v1.Database
+ 94, // 31: teleport.lib.teleterm.v1.PaginatedResource.server:type_name -> teleport.lib.teleterm.v1.Server
+ 96, // 32: teleport.lib.teleterm.v1.PaginatedResource.kube:type_name -> teleport.lib.teleterm.v1.Kube
+ 97, // 33: teleport.lib.teleterm.v1.PaginatedResource.app:type_name -> teleport.lib.teleterm.v1.App
+ 98, // 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
+ 99, // 38: teleport.lib.teleterm.v1.UserPreferences.cluster_preferences:type_name -> teleport.userpreferences.v1.ClusterUserPreferences
+ 100, // 39: teleport.lib.teleterm.v1.UserPreferences.unified_resource_preferences:type_name -> teleport.userpreferences.v1.UnifiedResourcePreferences
+ 101, // 40: teleport.lib.teleterm.v1.AuthenticateWebDeviceRequest.device_web_token:type_name -> teleport.devicetrust.v1.DeviceWebToken
+ 102, // 41: teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse.confirmation_token:type_name -> teleport.devicetrust.v1.DeviceConfirmationToken
+ 97, // 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
+ 103, // 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
+ 52, // 87: teleport.lib.teleterm.v1.TerminalService.UpdateTshdEventsServerAddress:output_type -> teleport.lib.teleterm.v1.UpdateTshdEventsServerAddressResponse
+ 35, // 88: teleport.lib.teleterm.v1.TerminalService.ListRootClusters:output_type -> teleport.lib.teleterm.v1.ListClustersResponse
+ 35, // 89: teleport.lib.teleterm.v1.TerminalService.ListLeafClusters:output_type -> teleport.lib.teleterm.v1.ListClustersResponse
+ 8, // 90: teleport.lib.teleterm.v1.TerminalService.StartHeadlessWatcher:output_type -> teleport.lib.teleterm.v1.StartHeadlessWatcherResponse
+ 38, // 91: teleport.lib.teleterm.v1.TerminalService.ListDatabaseUsers:output_type -> teleport.lib.teleterm.v1.ListDatabaseUsersResponse
+ 41, // 92: teleport.lib.teleterm.v1.TerminalService.ListDatabaseServers:output_type -> teleport.lib.teleterm.v1.ListDatabaseServersResponse
+ 49, // 93: teleport.lib.teleterm.v1.TerminalService.GetServers:output_type -> teleport.lib.teleterm.v1.GetServersResponse
+ 12, // 94: teleport.lib.teleterm.v1.TerminalService.GetAccessRequests:output_type -> teleport.lib.teleterm.v1.GetAccessRequestsResponse
+ 11, // 95: teleport.lib.teleterm.v1.TerminalService.GetAccessRequest:output_type -> teleport.lib.teleterm.v1.GetAccessRequestResponse
+ 3, // 96: teleport.lib.teleterm.v1.TerminalService.DeleteAccessRequest:output_type -> teleport.lib.teleterm.v1.EmptyResponse
+ 15, // 97: teleport.lib.teleterm.v1.TerminalService.CreateAccessRequest:output_type -> teleport.lib.teleterm.v1.CreateAccessRequestResponse
+ 20, // 98: teleport.lib.teleterm.v1.TerminalService.ReviewAccessRequest:output_type -> teleport.lib.teleterm.v1.ReviewAccessRequestResponse
+ 18, // 99: teleport.lib.teleterm.v1.TerminalService.GetRequestableRoles:output_type -> teleport.lib.teleterm.v1.GetRequestableRolesResponse
+ 3, // 100: teleport.lib.teleterm.v1.TerminalService.AssumeRole:output_type -> teleport.lib.teleterm.v1.EmptyResponse
+ 22, // 101: teleport.lib.teleterm.v1.TerminalService.PromoteAccessRequest:output_type -> teleport.lib.teleterm.v1.PromoteAccessRequestResponse
+ 24, // 102: teleport.lib.teleterm.v1.TerminalService.GetSuggestedAccessLists:output_type -> teleport.lib.teleterm.v1.GetSuggestedAccessListsResponse
+ 26, // 103: teleport.lib.teleterm.v1.TerminalService.ListKubernetesResources:output_type -> teleport.lib.teleterm.v1.ListKubernetesResourcesResponse
+ 91, // 104: teleport.lib.teleterm.v1.TerminalService.AddCluster:output_type -> teleport.lib.teleterm.v1.Cluster
+ 3, // 105: teleport.lib.teleterm.v1.TerminalService.RemoveCluster:output_type -> teleport.lib.teleterm.v1.EmptyResponse
+ 44, // 106: teleport.lib.teleterm.v1.TerminalService.ListGateways:output_type -> teleport.lib.teleterm.v1.ListGatewaysResponse
+ 93, // 107: teleport.lib.teleterm.v1.TerminalService.CreateGateway:output_type -> teleport.lib.teleterm.v1.Gateway
+ 3, // 108: teleport.lib.teleterm.v1.TerminalService.RemoveGateway:output_type -> teleport.lib.teleterm.v1.EmptyResponse
+ 93, // 109: teleport.lib.teleterm.v1.TerminalService.SetGatewayTargetSubresourceName:output_type -> teleport.lib.teleterm.v1.Gateway
+ 93, // 110: teleport.lib.teleterm.v1.TerminalService.SetGatewayLocalPort:output_type -> teleport.lib.teleterm.v1.Gateway
+ 104, // 111: teleport.lib.teleterm.v1.TerminalService.GetAuthSettings:output_type -> teleport.lib.teleterm.v1.AuthSettings
+ 91, // 112: teleport.lib.teleterm.v1.TerminalService.GetCluster:output_type -> teleport.lib.teleterm.v1.Cluster
+ 3, // 113: teleport.lib.teleterm.v1.TerminalService.Login:output_type -> teleport.lib.teleterm.v1.EmptyResponse
+ 28, // 114: teleport.lib.teleterm.v1.TerminalService.LoginPasswordless:output_type -> teleport.lib.teleterm.v1.LoginPasswordlessResponse
+ 3, // 115: teleport.lib.teleterm.v1.TerminalService.Logout:output_type -> teleport.lib.teleterm.v1.EmptyResponse
+ 31, // 116: teleport.lib.teleterm.v1.TerminalService.TransferFile:output_type -> teleport.lib.teleterm.v1.FileTransferProgress
+ 3, // 117: teleport.lib.teleterm.v1.TerminalService.ReportUsageEvent:output_type -> teleport.lib.teleterm.v1.EmptyResponse
+ 54, // 118: teleport.lib.teleterm.v1.TerminalService.UpdateHeadlessAuthenticationState:output_type -> teleport.lib.teleterm.v1.UpdateHeadlessAuthenticationStateResponse
+ 56, // 119: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerRole:output_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerRoleResponse
+ 58, // 120: teleport.lib.teleterm.v1.TerminalService.CreateConnectMyComputerNodeToken:output_type -> teleport.lib.teleterm.v1.CreateConnectMyComputerNodeTokenResponse
+ 60, // 121: teleport.lib.teleterm.v1.TerminalService.WaitForConnectMyComputerNodeJoin:output_type -> teleport.lib.teleterm.v1.WaitForConnectMyComputerNodeJoinResponse
+ 62, // 122: teleport.lib.teleterm.v1.TerminalService.DeleteConnectMyComputerNode:output_type -> teleport.lib.teleterm.v1.DeleteConnectMyComputerNodeResponse
+ 64, // 123: teleport.lib.teleterm.v1.TerminalService.GetConnectMyComputerNodeName:output_type -> teleport.lib.teleterm.v1.GetConnectMyComputerNodeNameResponse
+ 67, // 124: teleport.lib.teleterm.v1.TerminalService.ListUnifiedResources:output_type -> teleport.lib.teleterm.v1.ListUnifiedResourcesResponse
+ 70, // 125: teleport.lib.teleterm.v1.TerminalService.GetUserPreferences:output_type -> teleport.lib.teleterm.v1.GetUserPreferencesResponse
+ 72, // 126: teleport.lib.teleterm.v1.TerminalService.UpdateUserPreferences:output_type -> teleport.lib.teleterm.v1.UpdateUserPreferencesResponse
+ 75, // 127: teleport.lib.teleterm.v1.TerminalService.AuthenticateWebDevice:output_type -> teleport.lib.teleterm.v1.AuthenticateWebDeviceResponse
+ 77, // 128: teleport.lib.teleterm.v1.TerminalService.GetApp:output_type -> teleport.lib.teleterm.v1.GetAppResponse
+ 80, // 129: teleport.lib.teleterm.v1.TerminalService.ConnectToDesktop:output_type -> teleport.lib.teleterm.v1.ConnectToDesktopResponse
+ 87, // [87:130] is the sub-list for method output_type
+ 44, // [44:87] 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
}
func init() { file_teleport_lib_teleterm_v1_service_proto_init() }
@@ -5121,7 +5319,7 @@ func file_teleport_lib_teleterm_v1_service_proto_init() {
(*LoginRequest_Local)(nil),
(*LoginRequest_Sso)(nil),
}
- file_teleport_lib_teleterm_v1_service_proto_msgTypes[62].OneofWrappers = []any{
+ file_teleport_lib_teleterm_v1_service_proto_msgTypes[65].OneofWrappers = []any{
(*PaginatedResource_Database)(nil),
(*PaginatedResource_Server)(nil),
(*PaginatedResource_Kube)(nil),
@@ -5134,7 +5332,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: 80,
+ 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 eacaf31589b..cb58bda1a6c 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
@@ -41,6 +41,7 @@ const (
TerminalService_ListLeafClusters_FullMethodName = "/teleport.lib.teleterm.v1.TerminalService/ListLeafClusters"
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"
@@ -108,6 +109,8 @@ type TerminalServiceClient interface {
StartHeadlessWatcher(ctx context.Context, in *StartHeadlessWatcherRequest, opts ...grpc.CallOption) (*StartHeadlessWatcherResponse, error)
// ListDatabaseUsers lists allowed users for the given database based on the role set.
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
//
@@ -280,6 +283,16 @@ func (c *terminalServiceClient) ListDatabaseUsers(ctx context.Context, in *ListD
return out, nil
}
+func (c *terminalServiceClient) ListDatabaseServers(ctx context.Context, in *ListDatabaseServersRequest, opts ...grpc.CallOption) (*ListDatabaseServersResponse, error) {
+ cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+ out := new(ListDatabaseServersResponse)
+ err := c.cc.Invoke(ctx, TerminalService_ListDatabaseServers_FullMethodName, in, out, cOpts...)
+ if err != nil {
+ return nil, err
+ }
+ 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...)
@@ -694,6 +707,8 @@ type TerminalServiceServer interface {
StartHeadlessWatcher(context.Context, *StartHeadlessWatcherRequest) (*StartHeadlessWatcherResponse, error)
// ListDatabaseUsers lists allowed users for the given database based on the role set.
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
//
@@ -831,6 +846,9 @@ func (UnimplementedTerminalServiceServer) StartHeadlessWatcher(context.Context,
func (UnimplementedTerminalServiceServer) ListDatabaseUsers(context.Context, *ListDatabaseUsersRequest) (*ListDatabaseUsersResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListDatabaseUsers not implemented")
}
+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")
}
@@ -1053,6 +1071,24 @@ func _TerminalService_ListDatabaseUsers_Handler(srv interface{}, ctx context.Con
return interceptor(ctx, in, info, handler)
}
+func _TerminalService_ListDatabaseServers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListDatabaseServersRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(TerminalServiceServer).ListDatabaseServers(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: TerminalService_ListDatabaseServers_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(TerminalServiceServer).ListDatabaseServers(ctx, req.(*ListDatabaseServersRequest))
+ }
+ 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 {
@@ -1717,6 +1753,10 @@ var TerminalService_ServiceDesc = grpc.ServiceDesc{
MethodName: "ListDatabaseUsers",
Handler: _TerminalService_ListDatabaseUsers_Handler,
},
+ {
+ MethodName: "ListDatabaseServers",
+ Handler: _TerminalService_ListDatabaseServers_Handler,
+ },
{
MethodName: "GetServers",
Handler: _TerminalService_GetServers_Handler,
diff --git a/gen/proto/go/teleport/lib/teleterm/v1/target_health.pb.go b/gen/proto/go/teleport/lib/teleterm/v1/target_health.pb.go
new file mode 100644
index 00000000000..a7551d139d1
--- /dev/null
+++ b/gen/proto/go/teleport/lib/teleterm/v1/target_health.pb.go
@@ -0,0 +1,153 @@
+//
+// Teleport
+// Copyright (C) 2025 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 .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.36.6
+// protoc (unknown)
+// source: teleport/lib/teleterm/v1/target_health.proto
+
+package teletermv1
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+ unsafe "unsafe"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// TargetHealth describes the health status of network connectivity between
+// an agent and a resource.
+type TargetHealth struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // status is the health status, one of "", "unknown", "healthy", "unhealthy".
+ Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
+ // error is the health check error observed, when
+ // "status" field != "healthy".
+ Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *TargetHealth) Reset() {
+ *x = TargetHealth{}
+ mi := &file_teleport_lib_teleterm_v1_target_health_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *TargetHealth) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TargetHealth) ProtoMessage() {}
+
+func (x *TargetHealth) ProtoReflect() protoreflect.Message {
+ mi := &file_teleport_lib_teleterm_v1_target_health_proto_msgTypes[0]
+ 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 TargetHealth.ProtoReflect.Descriptor instead.
+func (*TargetHealth) Descriptor() ([]byte, []int) {
+ return file_teleport_lib_teleterm_v1_target_health_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TargetHealth) GetStatus() string {
+ if x != nil {
+ return x.Status
+ }
+ return ""
+}
+
+func (x *TargetHealth) GetError() string {
+ if x != nil {
+ return x.Error
+ }
+ return ""
+}
+
+var File_teleport_lib_teleterm_v1_target_health_proto protoreflect.FileDescriptor
+
+const file_teleport_lib_teleterm_v1_target_health_proto_rawDesc = "" +
+ "\n" +
+ ",teleport/lib/teleterm/v1/target_health.proto\x12\x18teleport.lib.teleterm.v1\"<\n" +
+ "\fTargetHealth\x12\x16\n" +
+ "\x06status\x18\x01 \x01(\tR\x06status\x12\x14\n" +
+ "\x05error\x18\x02 \x01(\tR\x05errorBTZRgithub.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1;teletermv1b\x06proto3"
+
+var (
+ file_teleport_lib_teleterm_v1_target_health_proto_rawDescOnce sync.Once
+ file_teleport_lib_teleterm_v1_target_health_proto_rawDescData []byte
+)
+
+func file_teleport_lib_teleterm_v1_target_health_proto_rawDescGZIP() []byte {
+ file_teleport_lib_teleterm_v1_target_health_proto_rawDescOnce.Do(func() {
+ file_teleport_lib_teleterm_v1_target_health_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_teleport_lib_teleterm_v1_target_health_proto_rawDesc), len(file_teleport_lib_teleterm_v1_target_health_proto_rawDesc)))
+ })
+ return file_teleport_lib_teleterm_v1_target_health_proto_rawDescData
+}
+
+var file_teleport_lib_teleterm_v1_target_health_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_teleport_lib_teleterm_v1_target_health_proto_goTypes = []any{
+ (*TargetHealth)(nil), // 0: teleport.lib.teleterm.v1.TargetHealth
+}
+var file_teleport_lib_teleterm_v1_target_health_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_teleport_lib_teleterm_v1_target_health_proto_init() }
+func file_teleport_lib_teleterm_v1_target_health_proto_init() {
+ if File_teleport_lib_teleterm_v1_target_health_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: unsafe.Slice(unsafe.StringData(file_teleport_lib_teleterm_v1_target_health_proto_rawDesc), len(file_teleport_lib_teleterm_v1_target_health_proto_rawDesc)),
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_teleport_lib_teleterm_v1_target_health_proto_goTypes,
+ DependencyIndexes: file_teleport_lib_teleterm_v1_target_health_proto_depIdxs,
+ MessageInfos: file_teleport_lib_teleterm_v1_target_health_proto_msgTypes,
+ }.Build()
+ File_teleport_lib_teleterm_v1_target_health_proto = out.File
+ file_teleport_lib_teleterm_v1_target_health_proto_goTypes = nil
+ file_teleport_lib_teleterm_v1_target_health_proto_depIdxs = nil
+}
diff --git a/gen/proto/ts/teleport/lib/teleterm/v1/database_pb.ts b/gen/proto/ts/teleport/lib/teleterm/v1/database_pb.ts
index ce7a9e03049..9ed7875e319 100644
--- a/gen/proto/ts/teleport/lib/teleterm/v1/database_pb.ts
+++ b/gen/proto/ts/teleport/lib/teleterm/v1/database_pb.ts
@@ -30,9 +30,10 @@ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { reflectionMergePartial } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
+import { TargetHealth } from "./target_health_pb";
import { Label } from "./label_pb";
/**
- * Database describes a database
+ * Database describes a database (resource kind "db")
*
* @generated from protobuf message teleport.lib.teleterm.v1.Database
*/
@@ -85,6 +86,37 @@ export interface Database {
* @generated from protobuf field: repeated teleport.lib.teleterm.v1.Label labels = 8;
*/
labels: Label[];
+ /**
+ * target_health of the "db_server" that is serving this database.
+ *
+ * @generated from protobuf field: teleport.lib.teleterm.v1.TargetHealth target_health = 9;
+ */
+ targetHealth?: TargetHealth;
+}
+/**
+ * DatabaseServer (db_server) describes a database heartbeat signal
+ * reported from an agent (db_service) that is proxying
+ * the database.
+ *
+ * @generated from protobuf message teleport.lib.teleterm.v1.DatabaseServer
+ */
+export interface DatabaseServer {
+ /**
+ * @generated from protobuf field: string uri = 1;
+ */
+ uri: string;
+ /**
+ * @generated from protobuf field: string hostname = 2;
+ */
+ hostname: string;
+ /**
+ * @generated from protobuf field: string host_id = 3;
+ */
+ hostId: string;
+ /**
+ * @generated from protobuf field: teleport.lib.teleterm.v1.TargetHealth target_health = 4;
+ */
+ targetHealth?: TargetHealth;
}
// @generated message type with reflection information, may provide speed optimized methods
class Database$Type extends MessageType {
@@ -97,7 +129,8 @@ class Database$Type extends MessageType {
{ no: 5, name: "type", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
{ no: 6, name: "hostname", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
{ no: 7, name: "addr", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
- { no: 8, name: "labels", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => Label }
+ { no: 8, name: "labels", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => Label },
+ { no: 9, name: "target_health", kind: "message", T: () => TargetHealth }
]);
}
create(value?: PartialMessage): Database {
@@ -143,6 +176,9 @@ class Database$Type extends MessageType {
case /* repeated teleport.lib.teleterm.v1.Label labels */ 8:
message.labels.push(Label.internalBinaryRead(reader, reader.uint32(), options));
break;
+ case /* teleport.lib.teleterm.v1.TargetHealth target_health */ 9:
+ message.targetHealth = TargetHealth.internalBinaryRead(reader, reader.uint32(), options, message.targetHealth);
+ break;
default:
let u = options.readUnknownField;
if (u === "throw")
@@ -179,6 +215,9 @@ class Database$Type extends MessageType {
/* repeated teleport.lib.teleterm.v1.Label labels = 8; */
for (let i = 0; i < message.labels.length; i++)
Label.internalBinaryWrite(message.labels[i], writer.tag(8, WireType.LengthDelimited).fork(), options).join();
+ /* teleport.lib.teleterm.v1.TargetHealth target_health = 9; */
+ if (message.targetHealth)
+ TargetHealth.internalBinaryWrite(message.targetHealth, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
let u = options.writeUnknownFields;
if (u !== false)
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -189,3 +228,73 @@ class Database$Type extends MessageType {
* @generated MessageType for protobuf message teleport.lib.teleterm.v1.Database
*/
export const Database = new Database$Type();
+// @generated message type with reflection information, may provide speed optimized methods
+class DatabaseServer$Type extends MessageType {
+ constructor() {
+ super("teleport.lib.teleterm.v1.DatabaseServer", [
+ { no: 1, name: "uri", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
+ { no: 2, name: "hostname", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
+ { no: 3, name: "host_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
+ { no: 4, name: "target_health", kind: "message", T: () => TargetHealth }
+ ]);
+ }
+ create(value?: PartialMessage): DatabaseServer {
+ const message = globalThis.Object.create((this.messagePrototype!));
+ message.uri = "";
+ message.hostname = "";
+ message.hostId = "";
+ if (value !== undefined)
+ reflectionMergePartial(this, message, value);
+ return message;
+ }
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DatabaseServer): DatabaseServer {
+ let message = target ?? this.create(), end = reader.pos + length;
+ while (reader.pos < end) {
+ let [fieldNo, wireType] = reader.tag();
+ switch (fieldNo) {
+ case /* string uri */ 1:
+ message.uri = reader.string();
+ break;
+ case /* string hostname */ 2:
+ message.hostname = reader.string();
+ break;
+ case /* string host_id */ 3:
+ message.hostId = reader.string();
+ break;
+ case /* teleport.lib.teleterm.v1.TargetHealth target_health */ 4:
+ message.targetHealth = TargetHealth.internalBinaryRead(reader, reader.uint32(), options, message.targetHealth);
+ 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: DatabaseServer, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
+ /* string uri = 1; */
+ if (message.uri !== "")
+ writer.tag(1, WireType.LengthDelimited).string(message.uri);
+ /* string hostname = 2; */
+ if (message.hostname !== "")
+ writer.tag(2, WireType.LengthDelimited).string(message.hostname);
+ /* string host_id = 3; */
+ if (message.hostId !== "")
+ writer.tag(3, WireType.LengthDelimited).string(message.hostId);
+ /* teleport.lib.teleterm.v1.TargetHealth target_health = 4; */
+ if (message.targetHealth)
+ TargetHealth.internalBinaryWrite(message.targetHealth, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
+ 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.DatabaseServer
+ */
+export const DatabaseServer = new DatabaseServer$Type();
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 d53cd99d915..e357ab8b604 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,6 +91,8 @@ 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";
import type { ListDatabaseUsersRequest } from "./service_pb";
import type { StartHeadlessWatcherResponse } from "./service_pb";
@@ -151,6 +153,12 @@ export interface ITerminalServiceClient {
* @generated from protobuf rpc: ListDatabaseUsers(teleport.lib.teleterm.v1.ListDatabaseUsersRequest) returns (teleport.lib.teleterm.v1.ListDatabaseUsersResponse);
*/
listDatabaseUsers(input: ListDatabaseUsersRequest, options?: RpcOptions): UnaryCall;
+ /**
+ * ListDatabaseServers lists allowed users for the given database based on the role set.
+ *
+ * @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
*
@@ -480,6 +488,15 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf
const method = this.methods[4], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
+ /**
+ * ListDatabaseServers lists allowed users for the given database based on the role set.
+ *
+ * @generated from protobuf rpc: ListDatabaseServers(teleport.lib.teleterm.v1.ListDatabaseServersRequest) returns (teleport.lib.teleterm.v1.ListDatabaseServersResponse);
+ */
+ listDatabaseServers(input: ListDatabaseServersRequest, options?: RpcOptions): UnaryCall {
+ 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
*
@@ -489,7 +506,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf
* @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[5], opt = this._transport.mergeOptions(options);
+ const method = this.methods[6], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -498,7 +515,7 @@ export class TerminalServiceClient implements ITerminalServiceClient, ServiceInf
* @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[6], opt = this._transport.mergeOptions(options);
+ const method = this.methods[7], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -507,7 +524,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[7], opt = this._transport.mergeOptions(options);
+ const method = this.methods[8], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -516,7 +533,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[8], opt = this._transport.mergeOptions(options);
+ const method = this.methods[9], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -525,7 +542,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[9], opt = this._transport.mergeOptions(options);
+ const method = this.methods[10], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -534,7 +551,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[10], opt = this._transport.mergeOptions(options);
+ const method = this.methods[11], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -543,7 +560,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[11], opt = this._transport.mergeOptions(options);
+ const method = this.methods[12], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -552,7 +569,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[12], opt = this._transport.mergeOptions(options);
+ const method = this.methods[13], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -561,7 +578,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[13], opt = this._transport.mergeOptions(options);
+ const method = this.methods[14], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -570,7 +587,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[14], opt = this._transport.mergeOptions(options);
+ const method = this.methods[15], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -580,7 +597,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[15], opt = this._transport.mergeOptions(options);
+ const method = this.methods[16], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -589,7 +606,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[16], opt = this._transport.mergeOptions(options);
+ const method = this.methods[17], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -598,7 +615,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[17], opt = this._transport.mergeOptions(options);
+ const method = this.methods[18], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -607,7 +624,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[18], opt = this._transport.mergeOptions(options);
+ const method = this.methods[19], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -616,7 +633,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[19], opt = this._transport.mergeOptions(options);
+ const method = this.methods[20], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -625,7 +642,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[20], opt = this._transport.mergeOptions(options);
+ const method = this.methods[21], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -637,7 +654,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[21], opt = this._transport.mergeOptions(options);
+ const method = this.methods[22], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -647,7 +664,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[22], opt = this._transport.mergeOptions(options);
+ const method = this.methods[23], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -656,7 +673,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[23], opt = this._transport.mergeOptions(options);
+ const method = this.methods[24], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -666,7 +683,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[24], opt = this._transport.mergeOptions(options);
+ const method = this.methods[25], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -675,7 +692,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[25], opt = this._transport.mergeOptions(options);
+ const method = this.methods[26], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -699,7 +716,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[26], opt = this._transport.mergeOptions(options);
+ const method = this.methods[27], opt = this._transport.mergeOptions(options);
return stackIntercept("duplex", this._transport, method, opt);
}
/**
@@ -708,7 +725,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[27], opt = this._transport.mergeOptions(options);
+ const method = this.methods[28], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -717,7 +734,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[28], opt = this._transport.mergeOptions(options);
+ const method = this.methods[29], opt = this._transport.mergeOptions(options);
return stackIntercept("serverStreaming", this._transport, method, opt, input);
}
/**
@@ -726,7 +743,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[29], opt = this._transport.mergeOptions(options);
+ const method = this.methods[30], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -736,7 +753,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[30], opt = this._transport.mergeOptions(options);
+ const method = this.methods[31], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -747,7 +764,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[31], opt = this._transport.mergeOptions(options);
+ const method = this.methods[32], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -756,7 +773,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[32], opt = this._transport.mergeOptions(options);
+ const method = this.methods[33], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -770,7 +787,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[33], opt = this._transport.mergeOptions(options);
+ const method = this.methods[34], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -779,7 +796,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[34], opt = this._transport.mergeOptions(options);
+ const method = this.methods[35], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -788,7 +805,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[35], opt = this._transport.mergeOptions(options);
+ const method = this.methods[36], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -797,7 +814,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[36], opt = this._transport.mergeOptions(options);
+ const method = this.methods[37], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -806,7 +823,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[37], opt = this._transport.mergeOptions(options);
+ const method = this.methods[38], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -816,7 +833,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[38], opt = this._transport.mergeOptions(options);
+ const method = this.methods[39], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -829,7 +846,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[39], opt = this._transport.mergeOptions(options);
+ const method = this.methods[40], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -839,7 +856,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[40], opt = this._transport.mergeOptions(options);
+ const method = this.methods[41], opt = this._transport.mergeOptions(options);
return stackIntercept("unary", this._transport, method, opt, input);
}
/**
@@ -848,7 +865,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[41], opt = this._transport.mergeOptions(options);
+ const method = this.methods[42], opt = this._transport.mergeOptions(options);
return stackIntercept("duplex", this._transport, method, opt);
}
}
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 533a7561701..8e3b103e172 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,6 +86,8 @@ 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";
import { ListDatabaseUsersRequest } from "./service_pb";
import { StartHeadlessWatcherResponse } from "./service_pb";
@@ -144,6 +146,12 @@ export interface ITerminalService extends grpc.UntypedServiceImplementation {
* @generated from protobuf rpc: ListDatabaseUsers(teleport.lib.teleterm.v1.ListDatabaseUsersRequest) returns (teleport.lib.teleterm.v1.ListDatabaseUsersResponse);
*/
listDatabaseUsers: grpc.handleUnaryCall;
+ /**
+ * ListDatabaseServers lists allowed users for the given database based on the role set.
+ *
+ * @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
*
@@ -467,6 +475,16 @@ export const terminalServiceDefinition: grpc.ServiceDefinition
responseSerialize: value => Buffer.from(ListDatabaseUsersResponse.toBinary(value)),
requestSerialize: value => Buffer.from(ListDatabaseUsersRequest.toBinary(value))
},
+ listDatabaseServers: {
+ path: "/teleport.lib.teleterm.v1.TerminalService/ListDatabaseServers",
+ originalName: "ListDatabaseServers",
+ requestStream: false,
+ responseStream: false,
+ responseDeserialize: bytes => ListDatabaseServersResponse.fromBinary(bytes),
+ requestDeserialize: bytes => ListDatabaseServersRequest.fromBinary(bytes),
+ responseSerialize: value => Buffer.from(ListDatabaseServersResponse.toBinary(value)),
+ requestSerialize: value => Buffer.from(ListDatabaseServersRequest.toBinary(value))
+ },
getServers: {
path: "/teleport.lib.teleterm.v1.TerminalService/GetServers",
originalName: "GetServers",
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 bfdc0c4f2b4..6a47ab5c87d 100644
--- a/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.ts
+++ b/gen/proto/ts/teleport/lib/teleterm/v1/service_pb.ts
@@ -43,6 +43,7 @@ import { Kube } from "./kube_pb";
import { Database } from "./database_pb";
import { Server } from "./server_pb";
import { Gateway } from "./gateway_pb";
+import { DatabaseServer } from "./database_pb";
import { Cluster } from "./cluster_pb";
import { KubeResource } from "./kube_pb";
import { AccessList } from "../../../accesslist/v1/accesslist_pb";
@@ -700,6 +701,60 @@ export interface ListDatabaseUsersResponse {
*/
users: string[];
}
+/**
+ * ListResourcesParams describes different types of params
+ * that can be applied when sending a request to a method that
+ * uses the ListResources API underneath.
+ *
+ * @generated from protobuf message teleport.lib.teleterm.v1.ListResourcesParams
+ */
+export interface ListResourcesParams {
+ /**
+ * @generated from protobuf field: string start_key = 1;
+ */
+ startKey: string;
+ /**
+ * @generated from protobuf field: int32 limit = 2;
+ */
+ limit: number;
+ /**
+ * @generated from protobuf field: string predicate_expression = 3;
+ */
+ predicateExpression: string;
+ /**
+ * UseSearchAsRoles indicates that the response should include all resources
+ * the caller is able to request access to using search_as_roles
+ *
+ * @generated from protobuf field: bool use_search_as_roles = 4;
+ */
+ useSearchAsRoles: boolean;
+}
+/**
+ * @generated from protobuf message teleport.lib.teleterm.v1.ListDatabaseServersRequest
+ */
+export interface ListDatabaseServersRequest {
+ /**
+ * @generated from protobuf field: string cluster_uri = 1;
+ */
+ clusterUri: string;
+ /**
+ * @generated from protobuf field: teleport.lib.teleterm.v1.ListResourcesParams params = 2;
+ */
+ params?: ListResourcesParams;
+}
+/**
+ * @generated from protobuf message teleport.lib.teleterm.v1.ListDatabaseServersResponse
+ */
+export interface ListDatabaseServersResponse {
+ /**
+ * @generated from protobuf field: repeated teleport.lib.teleterm.v1.DatabaseServer resources = 1;
+ */
+ resources: DatabaseServer[];
+ /**
+ * @generated from protobuf field: string next_key = 2;
+ */
+ nextKey: string;
+}
/**
* @generated from protobuf message teleport.lib.teleterm.v1.CreateGatewayRequest
*/
@@ -1046,7 +1101,7 @@ export interface ListUnifiedResourcesResponse {
*/
resources: PaginatedResource[];
/**
- * A key to use as start_key in a ListResourcesRequest to continue retrieving
+ * A key to use as start_key in a ListUnifiedResourcesRequest to continue retrieving
* the next pages. If it is empty, there are no more pages.
*
* @generated from protobuf field: string next_key = 2;
@@ -3539,6 +3594,186 @@ class ListDatabaseUsersResponse$Type extends MessageType {
+ constructor() {
+ super("teleport.lib.teleterm.v1.ListResourcesParams", [
+ { no: 1, name: "start_key", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
+ { no: 2, name: "limit", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
+ { no: 3, name: "predicate_expression", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
+ { no: 4, name: "use_search_as_roles", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
+ ]);
+ }
+ create(value?: PartialMessage): ListResourcesParams {
+ const message = globalThis.Object.create((this.messagePrototype!));
+ message.startKey = "";
+ message.limit = 0;
+ message.predicateExpression = "";
+ message.useSearchAsRoles = false;
+ if (value !== undefined)
+ reflectionMergePartial(this, message, value);
+ return message;
+ }
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListResourcesParams): ListResourcesParams {
+ let message = target ?? this.create(), end = reader.pos + length;
+ while (reader.pos < end) {
+ let [fieldNo, wireType] = reader.tag();
+ switch (fieldNo) {
+ case /* string start_key */ 1:
+ message.startKey = reader.string();
+ break;
+ case /* int32 limit */ 2:
+ message.limit = reader.int32();
+ break;
+ case /* string predicate_expression */ 3:
+ message.predicateExpression = reader.string();
+ break;
+ case /* bool use_search_as_roles */ 4:
+ message.useSearchAsRoles = reader.bool();
+ 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: ListResourcesParams, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
+ /* string start_key = 1; */
+ if (message.startKey !== "")
+ writer.tag(1, WireType.LengthDelimited).string(message.startKey);
+ /* int32 limit = 2; */
+ if (message.limit !== 0)
+ writer.tag(2, WireType.Varint).int32(message.limit);
+ /* string predicate_expression = 3; */
+ if (message.predicateExpression !== "")
+ writer.tag(3, WireType.LengthDelimited).string(message.predicateExpression);
+ /* bool use_search_as_roles = 4; */
+ if (message.useSearchAsRoles !== false)
+ writer.tag(4, WireType.Varint).bool(message.useSearchAsRoles);
+ 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.ListResourcesParams
+ */
+export const ListResourcesParams = new ListResourcesParams$Type();
+// @generated message type with reflection information, may provide speed optimized methods
+class ListDatabaseServersRequest$Type extends MessageType {
+ constructor() {
+ super("teleport.lib.teleterm.v1.ListDatabaseServersRequest", [
+ { no: 1, name: "cluster_uri", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
+ { no: 2, name: "params", kind: "message", T: () => ListResourcesParams }
+ ]);
+ }
+ create(value?: PartialMessage): ListDatabaseServersRequest {
+ const message = globalThis.Object.create((this.messagePrototype!));
+ message.clusterUri = "";
+ if (value !== undefined)
+ reflectionMergePartial(this, message, value);
+ return message;
+ }
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListDatabaseServersRequest): ListDatabaseServersRequest {
+ 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 /* teleport.lib.teleterm.v1.ListResourcesParams params */ 2:
+ message.params = ListResourcesParams.internalBinaryRead(reader, reader.uint32(), options, message.params);
+ 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: ListDatabaseServersRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
+ /* string cluster_uri = 1; */
+ if (message.clusterUri !== "")
+ writer.tag(1, WireType.LengthDelimited).string(message.clusterUri);
+ /* teleport.lib.teleterm.v1.ListResourcesParams params = 2; */
+ if (message.params)
+ ListResourcesParams.internalBinaryWrite(message.params, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
+ 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.ListDatabaseServersRequest
+ */
+export const ListDatabaseServersRequest = new ListDatabaseServersRequest$Type();
+// @generated message type with reflection information, may provide speed optimized methods
+class ListDatabaseServersResponse$Type extends MessageType {
+ constructor() {
+ super("teleport.lib.teleterm.v1.ListDatabaseServersResponse", [
+ { no: 1, name: "resources", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => DatabaseServer },
+ { no: 2, name: "next_key", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
+ ]);
+ }
+ create(value?: PartialMessage): ListDatabaseServersResponse {
+ const message = globalThis.Object.create((this.messagePrototype!));
+ message.resources = [];
+ message.nextKey = "";
+ if (value !== undefined)
+ reflectionMergePartial(this, message, value);
+ return message;
+ }
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListDatabaseServersResponse): ListDatabaseServersResponse {
+ 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.DatabaseServer resources */ 1:
+ message.resources.push(DatabaseServer.internalBinaryRead(reader, reader.uint32(), options));
+ break;
+ case /* string next_key */ 2:
+ message.nextKey = 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: ListDatabaseServersResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
+ /* repeated teleport.lib.teleterm.v1.DatabaseServer resources = 1; */
+ for (let i = 0; i < message.resources.length; i++)
+ DatabaseServer.internalBinaryWrite(message.resources[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
+ /* string next_key = 2; */
+ if (message.nextKey !== "")
+ writer.tag(2, WireType.LengthDelimited).string(message.nextKey);
+ 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.ListDatabaseServersResponse
+ */
+export const ListDatabaseServersResponse = new ListDatabaseServersResponse$Type();
+// @generated message type with reflection information, may provide speed optimized methods
class CreateGatewayRequest$Type extends MessageType {
constructor() {
super("teleport.lib.teleterm.v1.CreateGatewayRequest", [
@@ -5580,6 +5815,7 @@ export const TerminalService = new ServiceType("teleport.lib.teleterm.v1.Termina
{ name: "ListLeafClusters", options: {}, I: ListLeafClustersRequest, O: ListClustersResponse },
{ 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 },
diff --git a/gen/proto/ts/teleport/lib/teleterm/v1/target_health_pb.ts b/gen/proto/ts/teleport/lib/teleterm/v1/target_health_pb.ts
new file mode 100644
index 00000000000..04858db54fb
--- /dev/null
+++ b/gen/proto/ts/teleport/lib/teleterm/v1/target_health_pb.ts
@@ -0,0 +1,108 @@
+/* eslint-disable */
+// @generated by protobuf-ts 2.9.3 with parameter eslint_disable,add_pb_suffix,server_grpc1,ts_nocheck
+// @generated from protobuf file "teleport/lib/teleterm/v1/target_health.proto" (package "teleport.lib.teleterm.v1", syntax proto3)
+// tslint:disable
+// @ts-nocheck
+//
+//
+// Teleport
+// Copyright (C) 2025 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 type { BinaryWriteOptions } from "@protobuf-ts/runtime";
+import type { IBinaryWriter } from "@protobuf-ts/runtime";
+import { WireType } from "@protobuf-ts/runtime";
+import type { BinaryReadOptions } from "@protobuf-ts/runtime";
+import type { IBinaryReader } from "@protobuf-ts/runtime";
+import { UnknownFieldHandler } from "@protobuf-ts/runtime";
+import type { PartialMessage } from "@protobuf-ts/runtime";
+import { reflectionMergePartial } from "@protobuf-ts/runtime";
+import { MessageType } from "@protobuf-ts/runtime";
+/**
+ * TargetHealth describes the health status of network connectivity between
+ * an agent and a resource.
+ *
+ * @generated from protobuf message teleport.lib.teleterm.v1.TargetHealth
+ */
+export interface TargetHealth {
+ /**
+ * status is the health status, one of "", "unknown", "healthy", "unhealthy".
+ *
+ * @generated from protobuf field: string status = 1;
+ */
+ status: string;
+ /**
+ * error is the health check error observed, when
+ * "status" field != "healthy".
+ *
+ * @generated from protobuf field: string error = 2;
+ */
+ error: string;
+}
+// @generated message type with reflection information, may provide speed optimized methods
+class TargetHealth$Type extends MessageType {
+ constructor() {
+ super("teleport.lib.teleterm.v1.TargetHealth", [
+ { no: 1, name: "status", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
+ { no: 2, name: "error", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
+ ]);
+ }
+ create(value?: PartialMessage): TargetHealth {
+ const message = globalThis.Object.create((this.messagePrototype!));
+ message.status = "";
+ message.error = "";
+ if (value !== undefined)
+ reflectionMergePartial(this, message, value);
+ return message;
+ }
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TargetHealth): TargetHealth {
+ let message = target ?? this.create(), end = reader.pos + length;
+ while (reader.pos < end) {
+ let [fieldNo, wireType] = reader.tag();
+ switch (fieldNo) {
+ case /* string status */ 1:
+ message.status = reader.string();
+ break;
+ case /* string error */ 2:
+ message.error = 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: TargetHealth, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
+ /* string status = 1; */
+ if (message.status !== "")
+ writer.tag(1, WireType.LengthDelimited).string(message.status);
+ /* string error = 2; */
+ if (message.error !== "")
+ writer.tag(2, WireType.LengthDelimited).string(message.error);
+ 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.TargetHealth
+ */
+export const TargetHealth = new TargetHealth$Type();
diff --git a/lib/teleterm/api/uri/uri.go b/lib/teleterm/api/uri/uri.go
index 0259dfc6a2c..5bf71fa816e 100644
--- a/lib/teleterm/api/uri/uri.go
+++ b/lib/teleterm/api/uri/uri.go
@@ -30,6 +30,8 @@ var pathServers = urlpath.New("/clusters/:cluster/servers/:serverUUID")
var pathLeafServers = urlpath.New("/clusters/:cluster/leaves/:leaf/servers/:serverUUID")
var pathDbs = urlpath.New("/clusters/:cluster/dbs/:dbName")
var pathLeafDbs = urlpath.New("/clusters/:cluster/leaves/:leaf/dbs/:dbName")
+var pathDbServers = urlpath.New("/clusters/:cluster/db_servers/:dbServer")
+var pathLeafDbServers = urlpath.New("/clusters/:cluster/leaves/:leaf/db_servers/:dbServer")
var pathKubes = urlpath.New("/clusters/:cluster/kubes/:kubeName")
var pathLeafKubes = urlpath.New("/clusters/:cluster/leaves/:leaf/kubes/:kubeName")
var pathKubeResourceNamespace = urlpath.New("/clusters/:cluster/kubes/:kubeName/namespaces/:kubeNamespaceName")
@@ -111,6 +113,21 @@ func (r ResourceURI) GetDbName() string {
return ""
}
+// GetDBServerName extracts the database server name from r. Returns an empty string if path is not a db_servers URI.
+func (r ResourceURI) GetDBServerName() string {
+ result, ok := pathDbServers.Match(r.path)
+ if ok {
+ return result.Params["dbServer"]
+ }
+
+ result, ok = pathLeafDbServers.Match(r.path)
+ if ok {
+ return result.Params["dbServer"]
+ }
+
+ return ""
+}
+
// GetKubeName extracts the kube name from r. Returns an empty string if path is not a kube URI.
func (r ResourceURI) GetKubeName() string {
result, ok := pathKubes.Match(r.path)
@@ -207,6 +224,12 @@ func (r ResourceURI) AppendServer(id string) ResourceURI {
return r
}
+// AppendDBServer appends db_server segment to the URI
+func (r ResourceURI) AppendDBServer(id string) ResourceURI {
+ r.path = fmt.Sprintf("%v/db_servers/%v", r.path, id)
+ return r
+}
+
// AppendLeafCluster appends leaf cluster segment to the URI if name is not empty.
func (r ResourceURI) AppendLeafCluster(name string) ResourceURI {
if name == "" {
diff --git a/lib/teleterm/api/uri/uri_test.go b/lib/teleterm/api/uri/uri_test.go
index 5b6f9fa1838..60e97cdfc8b 100644
--- a/lib/teleterm/api/uri/uri_test.go
+++ b/lib/teleterm/api/uri/uri_test.go
@@ -44,6 +44,10 @@ func TestString(t *testing.T) {
uri.NewClusterURI("teleport.sh").AppendDB("dbhost1"),
"/clusters/teleport.sh/dbs/dbhost1",
},
+ {
+ uri.NewClusterURI("teleport.sh").AppendDBServer("dbserver1"),
+ "/clusters/teleport.sh/db_servers/dbserver1",
+ },
{
uri.NewClusterURI("teleport.sh").AppendKube("kube-cluster-name").AppendKubeResourceNamespace("namespace-name"),
"/clusters/teleport.sh/kubes/kube-cluster-name/namespaces/namespace-name",
@@ -134,6 +138,52 @@ func TestGetDbName(t *testing.T) {
}
}
+func TestGetDbServerName(t *testing.T) {
+ tests := []struct {
+ name string
+ in uri.ResourceURI
+ out string
+ }{
+ {
+ name: "returns root cluster db_server name",
+ in: uri.NewClusterURI("foo").AppendDBServer("postgres"),
+ out: "postgres",
+ },
+ {
+ name: "returns leaf cluster db_server name",
+ in: uri.NewClusterURI("foo").AppendLeafCluster("bar").AppendDBServer("postgres"),
+ out: "postgres",
+ },
+ {
+ name: "returns empty string when given root cluster URI",
+ in: uri.NewClusterURI("foo"),
+ out: "",
+ },
+ {
+ name: "returns empty string when given leaf cluster URI",
+ in: uri.NewClusterURI("foo").AppendLeafCluster("bar"),
+ out: "",
+ },
+ {
+ name: "returns empty string when given root cluster non-db resource URI",
+ in: uri.NewClusterURI("foo").AppendKube("k8s"),
+ out: "",
+ },
+ {
+ name: "returns empty string when given leaf cluster non-db resource URI",
+ in: uri.NewClusterURI("foo").AppendLeafCluster("bar").AppendKube("k8s"),
+ out: "",
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ out := tt.in.GetDBServerName()
+ require.Equal(t, tt.out, out)
+ })
+ }
+}
+
func TestGetKubeName(t *testing.T) {
tests := []struct {
name string
diff --git a/lib/teleterm/apiserver/handler/handler_databases.go b/lib/teleterm/apiserver/handler/handler_databases.go
index 2953800ae12..016f5d90514 100644
--- a/lib/teleterm/apiserver/handler/handler_databases.go
+++ b/lib/teleterm/apiserver/handler/handler_databases.go
@@ -54,6 +54,23 @@ func (s *Handler) ListDatabaseUsers(ctx context.Context, req *api.ListDatabaseUs
}, nil
}
+// ListDatabaseServers returns a paginated list of database servers (resource kind "db_server").
+func (s *Handler) ListDatabaseServers(ctx context.Context, req *api.ListDatabaseServersRequest) (*api.ListDatabaseServersResponse, error) {
+ resp, err := s.DaemonService.ListDatabaseServers(ctx, req)
+ if err != nil {
+ return nil, trace.Wrap(err)
+ }
+
+ response := &api.ListDatabaseServersResponse{
+ NextKey: resp.NextKey,
+ }
+
+ for _, server := range resp.Servers {
+ response.Resources = append(response.Resources, newAPIDatabaseServer(server))
+ }
+ return response, nil
+}
+
func newAPIDatabase(db clusters.Database) *api.Database {
apiLabels := makeAPILabels(ui.MakeLabelsWithoutInternalPrefixes(db.GetAllLabels()))
@@ -64,5 +81,21 @@ func newAPIDatabase(db clusters.Database) *api.Database {
Protocol: db.GetProtocol(),
Type: db.GetType(),
Labels: apiLabels,
+ TargetHealth: &api.TargetHealth{
+ Status: db.TargetHealth.Status,
+ Error: db.TargetHealth.TransitionError,
+ },
+ }
+}
+
+func newAPIDatabaseServer(dbServer clusters.DatabaseServer) *api.DatabaseServer {
+ return &api.DatabaseServer{
+ Uri: dbServer.URI.String(),
+ Hostname: dbServer.GetHostname(),
+ HostId: dbServer.GetHostID(),
+ TargetHealth: &api.TargetHealth{
+ Status: dbServer.GetTargetHealth().Status,
+ Error: dbServer.GetTargetHealth().TransitionError,
+ },
}
}
diff --git a/lib/teleterm/clusters/cluster_databases.go b/lib/teleterm/clusters/cluster_databases.go
index 72605982135..639ab98e29f 100644
--- a/lib/teleterm/clusters/cluster_databases.go
+++ b/lib/teleterm/clusters/cluster_databases.go
@@ -29,6 +29,7 @@ import (
"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/client/db/dbcmd"
@@ -43,6 +44,18 @@ type Database struct {
// URI is the database URI
URI uri.ResourceURI
types.Database
+ // TargetHealth describes the health status of network connectivity
+ // of the db_server that is serving this database.
+ TargetHealth types.TargetHealth
+}
+
+// DatabaseServer (db_server) describes a database heartbeat signal
+// reported from an agent (db_service) that is proxying
+// the database.
+type DatabaseServer struct {
+ // URI is the db_servers URI
+ URI uri.ResourceURI
+ types.DatabaseServer
}
// GetDatabase returns a database
@@ -131,6 +144,27 @@ func (c *Cluster) GetAllowedDatabaseUsers(ctx context.Context, authClient authcl
return dbUsers.Allowed(), nil
}
+// ListDatabaseServers returns a paginated list of database servers (resource kind "db_server").
+func (c *Cluster) ListDatabaseServers(ctx context.Context, params *api.ListResourcesParams, authClient authclient.ClientI) (*GetDatabaseServersResponse, error) {
+ page, err := listResources[types.DatabaseServer](ctx, params, authClient, types.KindDatabaseServer)
+ if err != nil {
+ return nil, trace.Wrap(err)
+ }
+
+ results := make([]DatabaseServer, 0, len(page.Resources))
+ for _, server := range page.Resources {
+ results = append(results, DatabaseServer{
+ URI: c.URI.AppendDBServer(server.GetName()),
+ DatabaseServer: server,
+ })
+ }
+
+ return &GetDatabaseServersResponse{
+ Servers: results,
+ NextKey: page.NextKey,
+ }, nil
+}
+
type GetDatabasesResponse struct {
Databases []Database
// StartKey is the next key to use as a starting point.
@@ -139,6 +173,11 @@ type GetDatabasesResponse struct {
TotalCount int
}
+type GetDatabaseServersResponse struct {
+ Servers []DatabaseServer
+ NextKey string
+}
+
// NewDBCLICmdBuilder creates a dbcmd.CLICommandBuilder with provided cluster,
// db route, and options.
func NewDBCLICmdBuilder(cluster *Cluster, routeToDb tlsca.RouteToDatabase, options ...dbcmd.ConnectCommandFunc) *dbcmd.CLICommandBuilder {
diff --git a/lib/teleterm/clusters/cluster_resources.go b/lib/teleterm/clusters/cluster_resources.go
new file mode 100644
index 00000000000..b9eff3a05c4
--- /dev/null
+++ b/lib/teleterm/clusters/cluster_resources.go
@@ -0,0 +1,61 @@
+/*
+ * Teleport
+ * Copyright (C) 2025 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/types"
+ api "github.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1"
+ "github.com/gravitational/teleport/lib/auth/authclient"
+)
+
+// listResources returns a paginated list of requested resourceKind (singular kind).
+// Unlike unified resources, this request does not support multiple kinds in a single response.
+// listResources supports querying for resource kinds that are not supported by unified resources.
+// In addition, listResources does not de-duplicate resources like ListUnifiedResources does.
+func listResources[T types.ResourceWithLabels](ctx context.Context, params *api.ListResourcesParams, authClient authclient.ClientI, resourceKind string) (apiclient.ResourcePage[T], error) {
+ var (
+ page apiclient.ResourcePage[T]
+ err error
+ )
+
+ req := &proto.ListResourcesRequest{
+ ResourceType: resourceKind,
+ Limit: params.Limit,
+ StartKey: params.StartKey,
+ PredicateExpression: params.PredicateExpression,
+ UseSearchAsRoles: params.UseSearchAsRoles,
+ }
+
+ err = AddMetadataToRetryableError(ctx, func() error {
+ page, err = apiclient.GetResourcePage[T](ctx, authClient, req)
+ if err != nil {
+ return trace.Wrap(err)
+ }
+
+ return nil
+ })
+
+ return page, trace.Wrap(err)
+}
diff --git a/lib/teleterm/daemon/daemon.go b/lib/teleterm/daemon/daemon.go
index d69da32ea30..244a8bf4c9e 100644
--- a/lib/teleterm/daemon/daemon.go
+++ b/lib/teleterm/daemon/daemon.go
@@ -905,6 +905,27 @@ func (s *Service) ListKubernetesResources(ctx context.Context, clusterURI uri.Re
return resources, trace.Wrap(err)
}
+// ListDatabaseServers returns a paginated list of database servers (resource kind "db_server").
+func (s *Service) ListDatabaseServers(ctx context.Context, req *api.ListDatabaseServersRequest) (*clusters.GetDatabaseServersResponse, error) {
+ clusterURI, err := uri.Parse(req.GetClusterUri())
+ if err != nil {
+ return nil, trace.Wrap(err)
+ }
+
+ cluster, _, err := s.ResolveClusterURI(clusterURI)
+ if err != nil {
+ return nil, trace.Wrap(err)
+ }
+
+ proxyClient, err := s.GetCachedClient(ctx, clusterURI)
+ if err != nil {
+ return nil, trace.Wrap(err)
+ }
+
+ response, err := cluster.ListDatabaseServers(ctx, req.GetParams(), proxyClient.CurrentCluster())
+ return response, trace.Wrap(err)
+}
+
func (s *Service) ReportUsageEvent(req *api.ReportUsageEventRequest) error {
prehogEvent, err := usagereporter.GetAnonymizedPrehogEvent(req)
if err != nil {
diff --git a/lib/teleterm/services/unifiedresources/unifiedresources.go b/lib/teleterm/services/unifiedresources/unifiedresources.go
index 1af5bdf0922..55238fd5ebf 100644
--- a/lib/teleterm/services/unifiedresources/unifiedresources.go
+++ b/lib/teleterm/services/unifiedresources/unifiedresources.go
@@ -77,8 +77,9 @@ func List(ctx context.Context, cluster *clusters.Cluster, client apiclient.ListU
db := r.GetDatabase()
response.Resources = append(response.Resources, UnifiedResource{
Database: &clusters.Database{
- URI: cluster.URI.AppendDB(db.GetName()),
- Database: db,
+ URI: cluster.URI.AppendDB(db.GetName()),
+ Database: db,
+ TargetHealth: r.GetTargetHealth(),
},
RequiresRequest: requiresRequest,
})
diff --git a/proto/teleport/lib/teleterm/v1/database.proto b/proto/teleport/lib/teleterm/v1/database.proto
index f6f39a16095..674ca719533 100644
--- a/proto/teleport/lib/teleterm/v1/database.proto
+++ b/proto/teleport/lib/teleterm/v1/database.proto
@@ -21,10 +21,11 @@ syntax = "proto3";
package teleport.lib.teleterm.v1;
import "teleport/lib/teleterm/v1/label.proto";
+import "teleport/lib/teleterm/v1/target_health.proto";
option go_package = "github.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1;teletermv1";
-// Database describes a database
+// Database describes a database (resource kind "db")
message Database {
// uri is the cluster resource URI
string uri = 1;
@@ -42,4 +43,16 @@ message Database {
string addr = 7;
// labels is a list of labels for this database
repeated Label labels = 8;
+ // target_health of the "db_server" that is serving this database.
+ TargetHealth target_health = 9;
+}
+
+// DatabaseServer (db_server) describes a database heartbeat signal
+// reported from an agent (db_service) that is proxying
+// the database.
+message DatabaseServer {
+ string uri = 1;
+ string hostname = 2;
+ string host_id = 3;
+ TargetHealth target_health = 4;
}
diff --git a/proto/teleport/lib/teleterm/v1/service.proto b/proto/teleport/lib/teleterm/v1/service.proto
index b8192f6fe5b..d2fbdc5069d 100644
--- a/proto/teleport/lib/teleterm/v1/service.proto
+++ b/proto/teleport/lib/teleterm/v1/service.proto
@@ -64,6 +64,8 @@ service TerminalService {
rpc StartHeadlessWatcher(StartHeadlessWatcherRequest) returns (StartHeadlessWatcherResponse);
// ListDatabaseUsers lists allowed users for the given database based on the role set.
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.
@@ -474,6 +476,28 @@ message ListDatabaseUsersResponse {
repeated string users = 1;
}
+// ListResourcesParams describes different types of params
+// that can be applied when sending a request to a method that
+// uses the ListResources API underneath.
+message ListResourcesParams {
+ string start_key = 1;
+ int32 limit = 2;
+ string predicate_expression = 3;
+ // UseSearchAsRoles indicates that the response should include all resources
+ // the caller is able to request access to using search_as_roles
+ bool use_search_as_roles = 4;
+}
+
+message ListDatabaseServersRequest {
+ string cluster_uri = 1;
+ ListResourcesParams params = 2;
+}
+
+message ListDatabaseServersResponse {
+ repeated DatabaseServer resources = 1;
+ string next_key = 2;
+}
+
message CreateGatewayRequest {
string target_uri = 1;
string target_user = 2;
@@ -615,7 +639,7 @@ message SortBy {
message ListUnifiedResourcesResponse {
repeated PaginatedResource resources = 1;
- // A key to use as start_key in a ListResourcesRequest to continue retrieving
+ // A key to use as start_key in a ListUnifiedResourcesRequest to continue retrieving
// the next pages. If it is empty, there are no more pages.
string next_key = 2;
}
diff --git a/proto/teleport/lib/teleterm/v1/target_health.proto b/proto/teleport/lib/teleterm/v1/target_health.proto
new file mode 100644
index 00000000000..adbc11c0964
--- /dev/null
+++ b/proto/teleport/lib/teleterm/v1/target_health.proto
@@ -0,0 +1,33 @@
+/*
+ * Teleport
+ * Copyright (C) 2025 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 .
+ */
+
+syntax = "proto3";
+
+package teleport.lib.teleterm.v1;
+
+option go_package = "github.com/gravitational/teleport/gen/proto/go/teleport/lib/teleterm/v1;teletermv1";
+
+// TargetHealth describes the health status of network connectivity between
+// an agent and a resource.
+message TargetHealth {
+ // status is the health status, one of "", "unknown", "healthy", "unhealthy".
+ string status = 1;
+ // error is the health check error observed, when
+ // "status" field != "healthy".
+ string error = 2;
+}
diff --git a/web/packages/shared/components/UnifiedResources/UnifiedResources.tsx b/web/packages/shared/components/UnifiedResources/UnifiedResources.tsx
index 2f5b24ebaaf..93a554ace9a 100644
--- a/web/packages/shared/components/UnifiedResources/UnifiedResources.tsx
+++ b/web/packages/shared/components/UnifiedResources/UnifiedResources.tsx
@@ -618,10 +618,7 @@ export function UnifiedResources(props: UnifiedResourcesProps) {
},
}),
key: generateUnifiedResourceKey(resource),
- // TODO(kimlisa): teleterm will pass this field as "null"
- // to add support later.
- onShowStatusInfo: () =>
- onShowStatusInfo ? onShowStatusInfo(resource) : null,
+ onShowStatusInfo: () => onShowStatusInfo(resource),
showingStatusInfo:
infoGuideConfig?.id &&
infoGuideConfig.id === getResourceId(resource),
diff --git a/web/packages/teleport/src/UnifiedResources/StatusInfo.tsx b/web/packages/teleport/src/UnifiedResources/StatusInfo.tsx
index 55bfc4c6381..df90e9cf021 100644
--- a/web/packages/teleport/src/UnifiedResources/StatusInfo.tsx
+++ b/web/packages/teleport/src/UnifiedResources/StatusInfo.tsx
@@ -24,7 +24,6 @@ import {
} from 'shared/components/UnifiedResources';
import { UnhealthyStatusInfo } from 'shared/components/UnifiedResources/shared/StatusInfo';
-import { ResourcesResponse } from 'teleport/services/agents';
import { fetchDatabaseServers } from 'teleport/services/databases/databases';
export function StatusInfo({
@@ -41,12 +40,10 @@ export function StatusInfo({
fetch: fetchResourceServers,
resources: resourceServers,
attempt: fetchResourceServersAttempt,
- } = useResourceServersFetch({
+ } = useResourceServersFetch({
fetchFunc: async (params, signal) => {
- let response: ResourcesResponse;
-
if (resource.kind === 'db') {
- const resp = await fetchDatabaseServers({
+ const response = await fetchDatabaseServers({
clusterId,
params: {
...params,
@@ -55,17 +52,15 @@ export function StatusInfo({
},
signal,
});
- const servers: DatabaseServer[] = resp.agents.map(d => ({
+ const servers: DatabaseServer[] = response.agents.map(d => ({
kind: 'db_server',
...d,
}));
- response = {
+ return {
agents: servers,
- startKey: resp.startKey,
+ startKey: response.startKey,
};
}
-
- return response;
},
});
diff --git a/web/packages/teleterm/src/services/tshd/fixtures/mocks.ts b/web/packages/teleterm/src/services/tshd/fixtures/mocks.ts
index a3a2443e8f6..3a23341218d 100644
--- a/web/packages/teleterm/src/services/tshd/fixtures/mocks.ts
+++ b/web/packages/teleterm/src/services/tshd/fixtures/mocks.ts
@@ -95,6 +95,8 @@ export class MockTshClient implements TshdClient {
new MockedUnaryCall({ resources: [], nextKey: '' });
listKubernetesResources = () =>
new MockedUnaryCall({ resources: [], nextKey: '' });
+ listDatabaseServers = () =>
+ new MockedUnaryCall({ resources: [], nextKey: '' });
getUserPreferences = () =>
new MockedUnaryCall({
userPreferences: {
diff --git a/web/packages/teleterm/src/ui/DocumentCluster/DocumentCluster.story.tsx b/web/packages/teleterm/src/ui/DocumentCluster/DocumentCluster.story.tsx
index 2ad72ab0e92..b48fa9225e7 100644
--- a/web/packages/teleterm/src/ui/DocumentCluster/DocumentCluster.story.tsx
+++ b/web/packages/teleterm/src/ui/DocumentCluster/DocumentCluster.story.tsx
@@ -19,6 +19,7 @@
import { useEffect } from 'react';
import styled from 'styled-components';
+import { MockedUnaryCall } from 'teleterm/services/tshd/cloneableClient';
import {
leafClusterUri,
makeAcl,
@@ -86,6 +87,17 @@ export const OnlineLoadedResources = () => {
resource: makeDatabase(),
requiresRequest: false,
},
+ {
+ kind: 'database',
+ resource: makeDatabase({
+ name: 'unhealthy-database',
+ targetHealth: {
+ status: 'unhealthy',
+ error: 'some unhealthy error message',
+ },
+ }),
+ requiresRequest: false,
+ },
{
kind: 'kube',
resource: makeKube(),
@@ -304,6 +316,28 @@ function renderState({
? listUnifiedResources(params, abortSignal)
: Promise.reject('No fetchServersPromise passed');
+ appContext.tshd.listDatabaseServers = () =>
+ new MockedUnaryCall({
+ resources: [
+ {
+ hostname: 'some-hostname-1',
+ hostId: 'some-host-id-1',
+ uri: 'some-uri-1',
+ targetHealth: { status: 'unhealthy', error: 'some unhealthy error' },
+ },
+ {
+ hostname: 'some-hostname-2',
+ hostId: 'some-host-id-2',
+ uri: 'some-uri-2',
+ targetHealth: {
+ status: 'unhealthy',
+ error: 'some other unhealthy error',
+ },
+ },
+ ],
+ nextKey: '',
+ });
+
return (
diff --git a/web/packages/teleterm/src/ui/DocumentCluster/StatusInfo.tsx b/web/packages/teleterm/src/ui/DocumentCluster/StatusInfo.tsx
new file mode 100644
index 00000000000..ae20a6fa158
--- /dev/null
+++ b/web/packages/teleterm/src/ui/DocumentCluster/StatusInfo.tsx
@@ -0,0 +1,85 @@
+/**
+ * Teleport
+ * Copyright (C) 2025 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 {
+ DatabaseServer,
+ ResourceStatus,
+ SharedResourceServer,
+ UnifiedResourceDefinition,
+ useResourceServersFetch,
+} from 'shared/components/UnifiedResources';
+import { UnhealthyStatusInfo } from 'shared/components/UnifiedResources/shared/StatusInfo';
+
+import { cloneAbortSignal } from 'teleterm/services/tshd/cloneableClient';
+import { useAppContext } from 'teleterm/ui/appContextProvider';
+
+export function StatusInfo({
+ resource,
+ clusterUri,
+}: {
+ /**
+ * the resource the user selected to look into the status of
+ */
+ resource: UnifiedResourceDefinition;
+ clusterUri: string;
+}) {
+ const ctx = useAppContext();
+ const {
+ fetch: fetchResourceServers,
+ resources: resourceServers,
+ attempt: fetchResourceServersAttempt,
+ } = useResourceServersFetch({
+ fetchFunc: async (params, signal) => {
+ if (resource.kind === 'db') {
+ const { response } = await ctx.tshd.listDatabaseServers(
+ {
+ clusterUri,
+ params: {
+ ...params,
+ useSearchAsRoles: resource.requiresRequest ? true : false,
+ predicateExpression: `name == "${resource.name}"`,
+ },
+ },
+ { abort: cloneAbortSignal(signal) }
+ );
+ const servers: DatabaseServer[] = response.resources.map(d => ({
+ kind: 'db_server',
+ hostname: d.hostname,
+ hostId: d.hostId,
+ targetHealth: d.targetHealth && {
+ status: d.targetHealth.status as ResourceStatus,
+ error: d.targetHealth.error,
+ },
+ }));
+ return {
+ agents: servers,
+ startKey: response.nextKey,
+ };
+ }
+ },
+ });
+
+ return (
+
+ );
+}
diff --git a/web/packages/teleterm/src/ui/DocumentCluster/UnifiedResources.tsx b/web/packages/teleterm/src/ui/DocumentCluster/UnifiedResources.tsx
index e622691a3a8..41ebc4ec979 100644
--- a/web/packages/teleterm/src/ui/DocumentCluster/UnifiedResources.tsx
+++ b/web/packages/teleterm/src/ui/DocumentCluster/UnifiedResources.tsx
@@ -37,12 +37,18 @@ import {
import {
getResourceAvailabilityFilter,
ResourceAvailabilityFilter,
+ ResourceStatus,
SharedUnifiedResource,
UnifiedResources as SharedUnifiedResources,
+ UnifiedResourceDefinition,
UnifiedResourcesPinning,
UnifiedResourcesQueryParams,
useUnifiedResourcesFetch,
} from 'shared/components/UnifiedResources';
+import {
+ getResourceId,
+ openStatusInfoPanel,
+} from 'shared/components/UnifiedResources/shared/StatusInfo';
import { Attempt } from 'shared/hooks/useAsync';
import { NodeSubKind } from 'shared/services';
import {
@@ -78,6 +84,7 @@ import {
} from './ActionButtons';
import { InfoGuideSidePanel } from './InfoGuideSidePanel';
import { useResourcesContext } from './resourcesContext';
+import { StatusInfo } from './StatusInfo';
import { useUserPreferences } from './useUserPreferences';
export function UnifiedResources(props: {
@@ -391,9 +398,23 @@ const Resources = memo(
}),
};
- const { infoGuideConfig, panelWidth } = useInfoGuide();
+ const { infoGuideConfig, panelWidth, setInfoGuideConfig } = useInfoGuide();
const infoGuideSidePanelOpened = infoGuideConfig != null;
+ function onShowStatusInfo(resource: UnifiedResourceDefinition) {
+ openStatusInfoPanel({
+ resource,
+ setInfoGuideConfig,
+ guide: (
+
+ ),
+ });
+ }
+
return (
null}
+ onShowStatusInfo={onShowStatusInfo}
params={props.queryParams}
setParams={props.onParamsChange}
unifiedResourcePreferencesAttempt={props.userPreferencesAttempt}
@@ -518,6 +538,10 @@ const mapToSharedResource = (
).title,
protocol: database.protocol as DbProtocol,
requiresRequest: resource.requiresRequest,
+ targetHealth: database.targetHealth && {
+ status: database.targetHealth.status as ResourceStatus,
+ error: database.targetHealth.error,
+ },
},
ui: {
ActionButton: ,