diff --git a/backend/pkg/protogen/redpanda/api/console/v1alpha1/consolev1alpha1connect/debug_bundle.connect.go b/backend/pkg/protogen/redpanda/api/console/v1alpha1/consolev1alpha1connect/debug_bundle.connect.go index 1bbaca08e..6394d5c21 100644 --- a/backend/pkg/protogen/redpanda/api/console/v1alpha1/consolev1alpha1connect/debug_bundle.connect.go +++ b/backend/pkg/protogen/redpanda/api/console/v1alpha1/consolev1alpha1connect/debug_bundle.connect.go @@ -50,16 +50,20 @@ const ( // DebugBundleServiceDeleteDebugBundleFileProcedure is the fully-qualified name of the // DebugBundleService's DeleteDebugBundleFile RPC. DebugBundleServiceDeleteDebugBundleFileProcedure = "/redpanda.api.console.v1alpha1.DebugBundleService/DeleteDebugBundleFile" + // DebugBundleServiceGetDebugBundleAdminAPIURLsProcedure is the fully-qualified name of the + // DebugBundleService's GetDebugBundleAdminAPIURLs RPC. + DebugBundleServiceGetDebugBundleAdminAPIURLsProcedure = "/redpanda.api.console.v1alpha1.DebugBundleService/GetDebugBundleAdminAPIURLs" ) // These variables are the protoreflect.Descriptor objects for the RPCs defined in this package. var ( - debugBundleServiceServiceDescriptor = v1alpha1.File_redpanda_api_console_v1alpha1_debug_bundle_proto.Services().ByName("DebugBundleService") - debugBundleServiceGetClusterHealthMethodDescriptor = debugBundleServiceServiceDescriptor.Methods().ByName("GetClusterHealth") - debugBundleServiceCreateDebugBundleMethodDescriptor = debugBundleServiceServiceDescriptor.Methods().ByName("CreateDebugBundle") - debugBundleServiceGetDebugBundleStatusMethodDescriptor = debugBundleServiceServiceDescriptor.Methods().ByName("GetDebugBundleStatus") - debugBundleServiceCancelDebugBundleProcessMethodDescriptor = debugBundleServiceServiceDescriptor.Methods().ByName("CancelDebugBundleProcess") - debugBundleServiceDeleteDebugBundleFileMethodDescriptor = debugBundleServiceServiceDescriptor.Methods().ByName("DeleteDebugBundleFile") + debugBundleServiceServiceDescriptor = v1alpha1.File_redpanda_api_console_v1alpha1_debug_bundle_proto.Services().ByName("DebugBundleService") + debugBundleServiceGetClusterHealthMethodDescriptor = debugBundleServiceServiceDescriptor.Methods().ByName("GetClusterHealth") + debugBundleServiceCreateDebugBundleMethodDescriptor = debugBundleServiceServiceDescriptor.Methods().ByName("CreateDebugBundle") + debugBundleServiceGetDebugBundleStatusMethodDescriptor = debugBundleServiceServiceDescriptor.Methods().ByName("GetDebugBundleStatus") + debugBundleServiceCancelDebugBundleProcessMethodDescriptor = debugBundleServiceServiceDescriptor.Methods().ByName("CancelDebugBundleProcess") + debugBundleServiceDeleteDebugBundleFileMethodDescriptor = debugBundleServiceServiceDescriptor.Methods().ByName("DeleteDebugBundleFile") + debugBundleServiceGetDebugBundleAdminAPIURLsMethodDescriptor = debugBundleServiceServiceDescriptor.Methods().ByName("GetDebugBundleAdminAPIURLs") ) // DebugBundleServiceClient is a client for the redpanda.api.console.v1alpha1.DebugBundleService @@ -70,6 +74,7 @@ type DebugBundleServiceClient interface { GetDebugBundleStatus(context.Context, *connect.Request[v1alpha1.GetDebugBundleStatusRequest]) (*connect.Response[v1alpha1.GetDebugBundleStatusResponse], error) CancelDebugBundleProcess(context.Context, *connect.Request[v1alpha1.CancelDebugBundleProcessRequest]) (*connect.Response[v1alpha1.CancelDebugBundleProcessResponse], error) DeleteDebugBundleFile(context.Context, *connect.Request[v1alpha1.DeleteDebugBundleFileRequest]) (*connect.Response[v1alpha1.DeleteDebugBundleFileResponse], error) + GetDebugBundleAdminAPIURLs(context.Context, *connect.Request[v1alpha1.GetDebugBundleAdminAPIURLsRequest]) (*connect.Response[v1alpha1.GetDebugBundleAdminAPIURLsResponse], error) } // NewDebugBundleServiceClient constructs a client for the @@ -113,16 +118,23 @@ func NewDebugBundleServiceClient(httpClient connect.HTTPClient, baseURL string, connect.WithSchema(debugBundleServiceDeleteDebugBundleFileMethodDescriptor), connect.WithClientOptions(opts...), ), + getDebugBundleAdminAPIURLs: connect.NewClient[v1alpha1.GetDebugBundleAdminAPIURLsRequest, v1alpha1.GetDebugBundleAdminAPIURLsResponse]( + httpClient, + baseURL+DebugBundleServiceGetDebugBundleAdminAPIURLsProcedure, + connect.WithSchema(debugBundleServiceGetDebugBundleAdminAPIURLsMethodDescriptor), + connect.WithClientOptions(opts...), + ), } } // debugBundleServiceClient implements DebugBundleServiceClient. type debugBundleServiceClient struct { - getClusterHealth *connect.Client[v1alpha1.GetClusterHealthRequest, v1alpha1.GetClusterHealthResponse] - createDebugBundle *connect.Client[v1alpha1.CreateDebugBundleRequest, v1alpha1.CreateDebugBundleResponse] - getDebugBundleStatus *connect.Client[v1alpha1.GetDebugBundleStatusRequest, v1alpha1.GetDebugBundleStatusResponse] - cancelDebugBundleProcess *connect.Client[v1alpha1.CancelDebugBundleProcessRequest, v1alpha1.CancelDebugBundleProcessResponse] - deleteDebugBundleFile *connect.Client[v1alpha1.DeleteDebugBundleFileRequest, v1alpha1.DeleteDebugBundleFileResponse] + getClusterHealth *connect.Client[v1alpha1.GetClusterHealthRequest, v1alpha1.GetClusterHealthResponse] + createDebugBundle *connect.Client[v1alpha1.CreateDebugBundleRequest, v1alpha1.CreateDebugBundleResponse] + getDebugBundleStatus *connect.Client[v1alpha1.GetDebugBundleStatusRequest, v1alpha1.GetDebugBundleStatusResponse] + cancelDebugBundleProcess *connect.Client[v1alpha1.CancelDebugBundleProcessRequest, v1alpha1.CancelDebugBundleProcessResponse] + deleteDebugBundleFile *connect.Client[v1alpha1.DeleteDebugBundleFileRequest, v1alpha1.DeleteDebugBundleFileResponse] + getDebugBundleAdminAPIURLs *connect.Client[v1alpha1.GetDebugBundleAdminAPIURLsRequest, v1alpha1.GetDebugBundleAdminAPIURLsResponse] } // GetClusterHealth calls redpanda.api.console.v1alpha1.DebugBundleService.GetClusterHealth. @@ -152,6 +164,12 @@ func (c *debugBundleServiceClient) DeleteDebugBundleFile(ctx context.Context, re return c.deleteDebugBundleFile.CallUnary(ctx, req) } +// GetDebugBundleAdminAPIURLs calls +// redpanda.api.console.v1alpha1.DebugBundleService.GetDebugBundleAdminAPIURLs. +func (c *debugBundleServiceClient) GetDebugBundleAdminAPIURLs(ctx context.Context, req *connect.Request[v1alpha1.GetDebugBundleAdminAPIURLsRequest]) (*connect.Response[v1alpha1.GetDebugBundleAdminAPIURLsResponse], error) { + return c.getDebugBundleAdminAPIURLs.CallUnary(ctx, req) +} + // DebugBundleServiceHandler is an implementation of the // redpanda.api.console.v1alpha1.DebugBundleService service. type DebugBundleServiceHandler interface { @@ -160,6 +178,7 @@ type DebugBundleServiceHandler interface { GetDebugBundleStatus(context.Context, *connect.Request[v1alpha1.GetDebugBundleStatusRequest]) (*connect.Response[v1alpha1.GetDebugBundleStatusResponse], error) CancelDebugBundleProcess(context.Context, *connect.Request[v1alpha1.CancelDebugBundleProcessRequest]) (*connect.Response[v1alpha1.CancelDebugBundleProcessResponse], error) DeleteDebugBundleFile(context.Context, *connect.Request[v1alpha1.DeleteDebugBundleFileRequest]) (*connect.Response[v1alpha1.DeleteDebugBundleFileResponse], error) + GetDebugBundleAdminAPIURLs(context.Context, *connect.Request[v1alpha1.GetDebugBundleAdminAPIURLsRequest]) (*connect.Response[v1alpha1.GetDebugBundleAdminAPIURLsResponse], error) } // NewDebugBundleServiceHandler builds an HTTP handler from the service implementation. It returns @@ -198,6 +217,12 @@ func NewDebugBundleServiceHandler(svc DebugBundleServiceHandler, opts ...connect connect.WithSchema(debugBundleServiceDeleteDebugBundleFileMethodDescriptor), connect.WithHandlerOptions(opts...), ) + debugBundleServiceGetDebugBundleAdminAPIURLsHandler := connect.NewUnaryHandler( + DebugBundleServiceGetDebugBundleAdminAPIURLsProcedure, + svc.GetDebugBundleAdminAPIURLs, + connect.WithSchema(debugBundleServiceGetDebugBundleAdminAPIURLsMethodDescriptor), + connect.WithHandlerOptions(opts...), + ) return "/redpanda.api.console.v1alpha1.DebugBundleService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { case DebugBundleServiceGetClusterHealthProcedure: @@ -210,6 +235,8 @@ func NewDebugBundleServiceHandler(svc DebugBundleServiceHandler, opts ...connect debugBundleServiceCancelDebugBundleProcessHandler.ServeHTTP(w, r) case DebugBundleServiceDeleteDebugBundleFileProcedure: debugBundleServiceDeleteDebugBundleFileHandler.ServeHTTP(w, r) + case DebugBundleServiceGetDebugBundleAdminAPIURLsProcedure: + debugBundleServiceGetDebugBundleAdminAPIURLsHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -238,3 +265,7 @@ func (UnimplementedDebugBundleServiceHandler) CancelDebugBundleProcess(context.C func (UnimplementedDebugBundleServiceHandler) DeleteDebugBundleFile(context.Context, *connect.Request[v1alpha1.DeleteDebugBundleFileRequest]) (*connect.Response[v1alpha1.DeleteDebugBundleFileResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("redpanda.api.console.v1alpha1.DebugBundleService.DeleteDebugBundleFile is not implemented")) } + +func (UnimplementedDebugBundleServiceHandler) GetDebugBundleAdminAPIURLs(context.Context, *connect.Request[v1alpha1.GetDebugBundleAdminAPIURLsRequest]) (*connect.Response[v1alpha1.GetDebugBundleAdminAPIURLsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("redpanda.api.console.v1alpha1.DebugBundleService.GetDebugBundleAdminAPIURLs is not implemented")) +} diff --git a/backend/pkg/protogen/redpanda/api/console/v1alpha1/consolev1alpha1connect/debug_bundle.connect.gw.go b/backend/pkg/protogen/redpanda/api/console/v1alpha1/consolev1alpha1connect/debug_bundle.connect.gw.go index 7538280f9..5c33cdc16 100644 --- a/backend/pkg/protogen/redpanda/api/console/v1alpha1/consolev1alpha1connect/debug_bundle.connect.gw.go +++ b/backend/pkg/protogen/redpanda/api/console/v1alpha1/consolev1alpha1connect/debug_bundle.connect.gw.go @@ -18,22 +18,24 @@ import ( // service. type DebugBundleServiceGatewayServer struct { v1alpha1.UnimplementedDebugBundleServiceServer - getClusterHealth connect_gateway.UnaryHandler[v1alpha1.GetClusterHealthRequest, v1alpha1.GetClusterHealthResponse] - createDebugBundle connect_gateway.UnaryHandler[v1alpha1.CreateDebugBundleRequest, v1alpha1.CreateDebugBundleResponse] - getDebugBundleStatus connect_gateway.UnaryHandler[v1alpha1.GetDebugBundleStatusRequest, v1alpha1.GetDebugBundleStatusResponse] - cancelDebugBundleProcess connect_gateway.UnaryHandler[v1alpha1.CancelDebugBundleProcessRequest, v1alpha1.CancelDebugBundleProcessResponse] - deleteDebugBundleFile connect_gateway.UnaryHandler[v1alpha1.DeleteDebugBundleFileRequest, v1alpha1.DeleteDebugBundleFileResponse] + getClusterHealth connect_gateway.UnaryHandler[v1alpha1.GetClusterHealthRequest, v1alpha1.GetClusterHealthResponse] + createDebugBundle connect_gateway.UnaryHandler[v1alpha1.CreateDebugBundleRequest, v1alpha1.CreateDebugBundleResponse] + getDebugBundleStatus connect_gateway.UnaryHandler[v1alpha1.GetDebugBundleStatusRequest, v1alpha1.GetDebugBundleStatusResponse] + cancelDebugBundleProcess connect_gateway.UnaryHandler[v1alpha1.CancelDebugBundleProcessRequest, v1alpha1.CancelDebugBundleProcessResponse] + deleteDebugBundleFile connect_gateway.UnaryHandler[v1alpha1.DeleteDebugBundleFileRequest, v1alpha1.DeleteDebugBundleFileResponse] + getDebugBundleAdminAPIURLs connect_gateway.UnaryHandler[v1alpha1.GetDebugBundleAdminAPIURLsRequest, v1alpha1.GetDebugBundleAdminAPIURLsResponse] } // NewDebugBundleServiceGatewayServer constructs a Connect-Gateway gRPC server for the // DebugBundleService service. func NewDebugBundleServiceGatewayServer(svc DebugBundleServiceHandler, opts ...connect_gateway.HandlerOption) *DebugBundleServiceGatewayServer { return &DebugBundleServiceGatewayServer{ - getClusterHealth: connect_gateway.NewUnaryHandler(DebugBundleServiceGetClusterHealthProcedure, svc.GetClusterHealth, opts...), - createDebugBundle: connect_gateway.NewUnaryHandler(DebugBundleServiceCreateDebugBundleProcedure, svc.CreateDebugBundle, opts...), - getDebugBundleStatus: connect_gateway.NewUnaryHandler(DebugBundleServiceGetDebugBundleStatusProcedure, svc.GetDebugBundleStatus, opts...), - cancelDebugBundleProcess: connect_gateway.NewUnaryHandler(DebugBundleServiceCancelDebugBundleProcessProcedure, svc.CancelDebugBundleProcess, opts...), - deleteDebugBundleFile: connect_gateway.NewUnaryHandler(DebugBundleServiceDeleteDebugBundleFileProcedure, svc.DeleteDebugBundleFile, opts...), + getClusterHealth: connect_gateway.NewUnaryHandler(DebugBundleServiceGetClusterHealthProcedure, svc.GetClusterHealth, opts...), + createDebugBundle: connect_gateway.NewUnaryHandler(DebugBundleServiceCreateDebugBundleProcedure, svc.CreateDebugBundle, opts...), + getDebugBundleStatus: connect_gateway.NewUnaryHandler(DebugBundleServiceGetDebugBundleStatusProcedure, svc.GetDebugBundleStatus, opts...), + cancelDebugBundleProcess: connect_gateway.NewUnaryHandler(DebugBundleServiceCancelDebugBundleProcessProcedure, svc.CancelDebugBundleProcess, opts...), + deleteDebugBundleFile: connect_gateway.NewUnaryHandler(DebugBundleServiceDeleteDebugBundleFileProcedure, svc.DeleteDebugBundleFile, opts...), + getDebugBundleAdminAPIURLs: connect_gateway.NewUnaryHandler(DebugBundleServiceGetDebugBundleAdminAPIURLsProcedure, svc.GetDebugBundleAdminAPIURLs, opts...), } } @@ -57,6 +59,10 @@ func (s *DebugBundleServiceGatewayServer) DeleteDebugBundleFile(ctx context.Cont return s.deleteDebugBundleFile(ctx, req) } +func (s *DebugBundleServiceGatewayServer) GetDebugBundleAdminAPIURLs(ctx context.Context, req *v1alpha1.GetDebugBundleAdminAPIURLsRequest) (*v1alpha1.GetDebugBundleAdminAPIURLsResponse, error) { + return s.getDebugBundleAdminAPIURLs(ctx, req) +} + // RegisterDebugBundleServiceHandlerGatewayServer registers the Connect handlers for the // DebugBundleService "svc" to "mux". func RegisterDebugBundleServiceHandlerGatewayServer(mux *runtime.ServeMux, svc DebugBundleServiceHandler, opts ...connect_gateway.HandlerOption) { diff --git a/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle.pb.go b/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle.pb.go index 0aae18aa8..f381f85a5 100644 --- a/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle.pb.go +++ b/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle.pb.go @@ -1417,6 +1417,111 @@ func (x *TopicPartitions) GetPartitionIds() []int32 { return nil } +type GetDebugBundleAdminAPIURLsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetDebugBundleAdminAPIURLsRequest) Reset() { + *x = GetDebugBundleAdminAPIURLsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDebugBundleAdminAPIURLsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDebugBundleAdminAPIURLsRequest) ProtoMessage() {} + +func (x *GetDebugBundleAdminAPIURLsRequest) ProtoReflect() protoreflect.Message { + mi := &file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDebugBundleAdminAPIURLsRequest.ProtoReflect.Descriptor instead. +func (*GetDebugBundleAdminAPIURLsRequest) Descriptor() ([]byte, []int) { + return file_redpanda_api_console_v1alpha1_debug_bundle_proto_rawDescGZIP(), []int{16} +} + +// The response to GetDebugBundleAdminAPIURLs. +type GetDebugBundleAdminAPIURLsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // true if Console thinks it is running in Kubernetes + IsKubernetes bool `protobuf:"varint,1,opt,name=is_kubernetes,json=isKubernetes,proto3" json:"is_kubernetes,omitempty"` + // configured Admin API URLS + ConfiguredAdminApiUrls []string `protobuf:"bytes,2,rep,name=configured_admin_api_urls,json=configuredAdminApiUrls,proto3" json:"configured_admin_api_urls,omitempty"` + // resolved admin api urls + ResolvedBrokerUrls []*GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL `protobuf:"bytes,3,rep,name=resolved_broker_urls,json=resolvedBrokerUrls,proto3" json:"resolved_broker_urls,omitempty"` +} + +func (x *GetDebugBundleAdminAPIURLsResponse) Reset() { + *x = GetDebugBundleAdminAPIURLsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDebugBundleAdminAPIURLsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDebugBundleAdminAPIURLsResponse) ProtoMessage() {} + +func (x *GetDebugBundleAdminAPIURLsResponse) ProtoReflect() protoreflect.Message { + mi := &file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDebugBundleAdminAPIURLsResponse.ProtoReflect.Descriptor instead. +func (*GetDebugBundleAdminAPIURLsResponse) Descriptor() ([]byte, []int) { + return file_redpanda_api_console_v1alpha1_debug_bundle_proto_rawDescGZIP(), []int{17} +} + +func (x *GetDebugBundleAdminAPIURLsResponse) GetIsKubernetes() bool { + if x != nil { + return x.IsKubernetes + } + return false +} + +func (x *GetDebugBundleAdminAPIURLsResponse) GetConfiguredAdminApiUrls() []string { + if x != nil { + return x.ConfiguredAdminApiUrls + } + return nil +} + +func (x *GetDebugBundleAdminAPIURLsResponse) GetResolvedBrokerUrls() []*GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL { + if x != nil { + return x.ResolvedBrokerUrls + } + return nil +} + type GetDebugBundleStatusResponse_DebugBundleBrokerStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1440,7 +1545,7 @@ type GetDebugBundleStatusResponse_DebugBundleBrokerStatus struct { func (x *GetDebugBundleStatusResponse_DebugBundleBrokerStatus) Reset() { *x = GetDebugBundleStatusResponse_DebugBundleBrokerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[16] + mi := &file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1453,7 +1558,7 @@ func (x *GetDebugBundleStatusResponse_DebugBundleBrokerStatus) String() string { func (*GetDebugBundleStatusResponse_DebugBundleBrokerStatus) ProtoMessage() {} func (x *GetDebugBundleStatusResponse_DebugBundleBrokerStatus) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[16] + mi := &file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1529,6 +1634,72 @@ func (*GetDebugBundleStatusResponse_DebugBundleBrokerStatus_Error) isGetDebugBun func (*GetDebugBundleStatusResponse_DebugBundleBrokerStatus_BundleStatus) isGetDebugBundleStatusResponse_DebugBundleBrokerStatus_Value() { } +type GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The broker ID. + BrokerId int32 `protobuf:"varint,1,opt,name=broker_id,json=brokerId,proto3" json:"broker_id,omitempty"` + // The broker URL used to get the status. + BrokerUrl string `protobuf:"bytes,2,opt,name=broker_url,json=brokerUrl,proto3" json:"broker_url,omitempty"` + // Whether the broker URL was determined speculatively. + Speculative bool `protobuf:"varint,3,opt,name=speculative,proto3" json:"speculative,omitempty"` +} + +func (x *GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL) Reset() { + *x = GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL{} + if protoimpl.UnsafeEnabled { + mi := &file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL) ProtoMessage() {} + +func (x *GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL) ProtoReflect() protoreflect.Message { + mi := &file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL.ProtoReflect.Descriptor instead. +func (*GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL) Descriptor() ([]byte, []int) { + return file_redpanda_api_console_v1alpha1_debug_bundle_proto_rawDescGZIP(), []int{17, 0} +} + +func (x *GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL) GetBrokerId() int32 { + if x != nil { + return x.BrokerId + } + return 0 +} + +func (x *GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL) GetBrokerUrl() string { + if x != nil { + return x.BrokerUrl + } + return "" +} + +func (x *GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL) GetSpeculative() bool { + if x != nil { + return x.Speculative + } + return false +} + var File_redpanda_api_console_v1alpha1_debug_bundle_proto protoreflect.FileDescriptor var file_redpanda_api_console_v1alpha1_debug_bundle_proto_rawDesc = []byte{ @@ -1804,117 +1975,154 @@ var file_redpanda_api_console_v1alpha1_debug_bundle_proto_rawDesc = []byte{ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x2a, 0xa6, 0x03, 0x0a, 0x0f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x55, 0x4e, - 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4f, - 0x4b, 0x10, 0x00, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, - 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, - 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, - 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x28, 0x0a, - 0x24, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, - 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x55, 0x4e, 0x44, 0x4c, - 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x24, 0x0a, - 0x20, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x10, 0x05, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x49, 0x44, 0x10, 0x06, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x55, 0x4e, - 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, - 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, - 0x45, 0x44, 0x10, 0x07, 0x12, 0x2c, 0x0a, 0x28, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x50, 0x4b, 0x5f, 0x42, 0x49, - 0x4e, 0x41, 0x52, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, - 0x10, 0x08, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x42, 0x55, - 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x09, 0x2a, 0x85, - 0x02, 0x0a, 0x0f, 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x52, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, - 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x53, 0x5f, 0x44, - 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, - 0x48, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x44, 0x45, 0x52, - 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, - 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x5f, 0x52, - 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x50, 0x4c, - 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, - 0x53, 0x10, 0x03, 0x12, 0x2a, 0x0a, 0x26, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x45, 0x4c, 0x45, 0x43, 0x54, - 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x10, 0x04, 0x12, - 0x25, 0x0a, 0x21, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x52, 0x45, - 0x50, 0x4f, 0x52, 0x54, 0x10, 0x05, 0x32, 0xf2, 0x05, 0x0a, 0x12, 0x44, 0x65, 0x62, 0x75, 0x67, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x85, 0x01, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x12, 0x36, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x64, - 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, - 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x37, 0x2e, 0x72, 0x65, - 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, - 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x91, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x2e, 0x72, 0x65, 0x64, 0x70, - 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x9d, 0x01, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x3e, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3f, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, + 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x41, 0x50, 0x49, 0x55, + 0x52, 0x4c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x85, 0x03, 0x0a, 0x22, 0x47, + 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x41, 0x50, 0x49, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x4b, 0x75, 0x62, 0x65, + 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x75, + 0x72, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x65, 0x64, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x41, 0x70, 0x69, 0x55, 0x72, 0x6c, + 0x73, 0x12, 0x88, 0x01, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x62, + 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x56, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x41, 0x50, 0x49, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, + 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x55, 0x52, 0x4c, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x73, 0x1a, 0x74, 0x0a, 0x14, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x72, 0x6f, 0x6b, 0x65, + 0x72, 0x55, 0x52, 0x4c, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x55, 0x72, 0x6c, + 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x2a, 0xa6, 0x03, 0x0a, 0x0f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x4b, 0x10, 0x00, + 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x41, 0x4c, + 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, + 0x29, 0x0a, 0x25, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x54, + 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x42, 0x55, + 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, + 0x52, 0x53, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, + 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x55, + 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, + 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, + 0x12, 0x24, 0x0a, 0x20, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4a, 0x4f, + 0x42, 0x5f, 0x49, 0x44, 0x10, 0x06, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x43, + 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, + 0x07, 0x12, 0x2c, 0x0a, 0x28, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x50, 0x4b, 0x5f, 0x42, 0x49, 0x4e, 0x41, 0x52, + 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x08, 0x12, + 0x2a, 0x0a, 0x26, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, + 0x45, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x09, 0x2a, 0x85, 0x02, 0x0a, 0x0f, + 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, + 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x5f, 0x52, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, + 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x44, 0x45, 0x52, 0x4c, 0x45, 0x53, + 0x53, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x30, + 0x0a, 0x2c, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, + 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, + 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x03, + 0x12, 0x2a, 0x0a, 0x26, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, + 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, + 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, + 0x54, 0x10, 0x05, 0x32, 0x98, 0x07, 0x0a, 0x12, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, + 0x36, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, + 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x37, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x94, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x3b, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, + 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x9d, 0x01, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x62, 0x75, + 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3e, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, - 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x72, 0x65, + 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, + 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, + 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x94, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x62, 0x75, + 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x3b, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xb1, 0x02, 0x0a, 0x21, - 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x42, 0x10, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2f, - 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, - 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x67, 0x65, 0x6e, 0x2f, 0x72, 0x65, 0x64, - 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, - 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x73, 0x6f, - 0x6c, 0x65, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x41, 0x43, - 0xaa, 0x02, 0x1d, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x2e, - 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0xca, 0x02, 0x1d, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, - 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0xe2, 0x02, 0x29, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, - 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x20, 0x52, - 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x43, 0x6f, - 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa3, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x41, 0x50, 0x49, 0x55, 0x52, 0x4c, 0x73, 0x12, 0x40, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x41, 0x50, 0x49, 0x55, 0x52, + 0x4c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x72, 0x65, 0x64, 0x70, + 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x41, 0x50, 0x49, + 0x55, 0x52, 0x4c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xb1, + 0x02, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x42, 0x10, 0x44, 0x65, 0x62, 0x75, 0x67, 0x42, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2d, 0x64, 0x61, + 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x67, 0x65, 0x6e, 0x2f, + 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, + 0x73, 0x6f, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x63, 0x6f, + 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, + 0x52, 0x41, 0x43, 0xaa, 0x02, 0x1d, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x41, + 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0xca, 0x02, 0x1d, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, + 0x70, 0x69, 0x5c, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0xe2, 0x02, 0x29, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, + 0x70, 0x69, 0x5c, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x20, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, + 0x3a, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1930,40 +2138,43 @@ func file_redpanda_api_console_v1alpha1_debug_bundle_proto_rawDescGZIP() []byte } var file_redpanda_api_console_v1alpha1_debug_bundle_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_redpanda_api_console_v1alpha1_debug_bundle_proto_goTypes = []interface{}{ - (BundleErrorCode)(0), // 0: redpanda.api.console.v1alpha1.BundleErrorCode - (UnhealthyReason)(0), // 1: redpanda.api.console.v1alpha1.UnhealthyReason - (SCRAMAuth_Mechanism)(0), // 2: redpanda.api.console.v1alpha1.SCRAMAuth.Mechanism - (DebugBundleStatus_Status)(0), // 3: redpanda.api.console.v1alpha1.DebugBundleStatus.Status - (*SCRAMAuth)(nil), // 4: redpanda.api.console.v1alpha1.SCRAMAuth - (*CreateDebugBundleRequest)(nil), // 5: redpanda.api.console.v1alpha1.CreateDebugBundleRequest - (*LabelSelector)(nil), // 6: redpanda.api.console.v1alpha1.LabelSelector - (*CreateDebugBundleResponse)(nil), // 7: redpanda.api.console.v1alpha1.CreateDebugBundleResponse - (*GetDebugBundleStatusRequest)(nil), // 8: redpanda.api.console.v1alpha1.GetDebugBundleStatusRequest - (*DebugBundleStatus)(nil), // 9: redpanda.api.console.v1alpha1.DebugBundleStatus - (*GetDebugBundleStatusResponse)(nil), // 10: redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse - (*CancelDebugBundleProcessRequest)(nil), // 11: redpanda.api.console.v1alpha1.CancelDebugBundleProcessRequest - (*CancelDebugBundleProcessResponse)(nil), // 12: redpanda.api.console.v1alpha1.CancelDebugBundleProcessResponse - (*DeleteDebugBundleFileRequest)(nil), // 13: redpanda.api.console.v1alpha1.DeleteDebugBundleFileRequest - (*DeleteDebugBundleFileForBroker)(nil), // 14: redpanda.api.console.v1alpha1.DeleteDebugBundleFileForBroker - (*DeleteDebugBundleFileResponse)(nil), // 15: redpanda.api.console.v1alpha1.DeleteDebugBundleFileResponse - (*BundleError)(nil), // 16: redpanda.api.console.v1alpha1.BundleError - (*GetClusterHealthRequest)(nil), // 17: redpanda.api.console.v1alpha1.GetClusterHealthRequest - (*GetClusterHealthResponse)(nil), // 18: redpanda.api.console.v1alpha1.GetClusterHealthResponse - (*TopicPartitions)(nil), // 19: redpanda.api.console.v1alpha1.TopicPartitions - (*GetDebugBundleStatusResponse_DebugBundleBrokerStatus)(nil), // 20: redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse.DebugBundleBrokerStatus - (*timestamppb.Timestamp)(nil), // 21: google.protobuf.Timestamp + (BundleErrorCode)(0), // 0: redpanda.api.console.v1alpha1.BundleErrorCode + (UnhealthyReason)(0), // 1: redpanda.api.console.v1alpha1.UnhealthyReason + (SCRAMAuth_Mechanism)(0), // 2: redpanda.api.console.v1alpha1.SCRAMAuth.Mechanism + (DebugBundleStatus_Status)(0), // 3: redpanda.api.console.v1alpha1.DebugBundleStatus.Status + (*SCRAMAuth)(nil), // 4: redpanda.api.console.v1alpha1.SCRAMAuth + (*CreateDebugBundleRequest)(nil), // 5: redpanda.api.console.v1alpha1.CreateDebugBundleRequest + (*LabelSelector)(nil), // 6: redpanda.api.console.v1alpha1.LabelSelector + (*CreateDebugBundleResponse)(nil), // 7: redpanda.api.console.v1alpha1.CreateDebugBundleResponse + (*GetDebugBundleStatusRequest)(nil), // 8: redpanda.api.console.v1alpha1.GetDebugBundleStatusRequest + (*DebugBundleStatus)(nil), // 9: redpanda.api.console.v1alpha1.DebugBundleStatus + (*GetDebugBundleStatusResponse)(nil), // 10: redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse + (*CancelDebugBundleProcessRequest)(nil), // 11: redpanda.api.console.v1alpha1.CancelDebugBundleProcessRequest + (*CancelDebugBundleProcessResponse)(nil), // 12: redpanda.api.console.v1alpha1.CancelDebugBundleProcessResponse + (*DeleteDebugBundleFileRequest)(nil), // 13: redpanda.api.console.v1alpha1.DeleteDebugBundleFileRequest + (*DeleteDebugBundleFileForBroker)(nil), // 14: redpanda.api.console.v1alpha1.DeleteDebugBundleFileForBroker + (*DeleteDebugBundleFileResponse)(nil), // 15: redpanda.api.console.v1alpha1.DeleteDebugBundleFileResponse + (*BundleError)(nil), // 16: redpanda.api.console.v1alpha1.BundleError + (*GetClusterHealthRequest)(nil), // 17: redpanda.api.console.v1alpha1.GetClusterHealthRequest + (*GetClusterHealthResponse)(nil), // 18: redpanda.api.console.v1alpha1.GetClusterHealthResponse + (*TopicPartitions)(nil), // 19: redpanda.api.console.v1alpha1.TopicPartitions + (*GetDebugBundleAdminAPIURLsRequest)(nil), // 20: redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsRequest + (*GetDebugBundleAdminAPIURLsResponse)(nil), // 21: redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsResponse + (*GetDebugBundleStatusResponse_DebugBundleBrokerStatus)(nil), // 22: redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse.DebugBundleBrokerStatus + (*GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL)(nil), // 23: redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsResponse.DebugBundleBrokerURL + (*timestamppb.Timestamp)(nil), // 24: google.protobuf.Timestamp } var file_redpanda_api_console_v1alpha1_debug_bundle_proto_depIdxs = []int32{ 2, // 0: redpanda.api.console.v1alpha1.SCRAMAuth.mechanism:type_name -> redpanda.api.console.v1alpha1.SCRAMAuth.Mechanism 4, // 1: redpanda.api.console.v1alpha1.CreateDebugBundleRequest.scram:type_name -> redpanda.api.console.v1alpha1.SCRAMAuth - 21, // 2: redpanda.api.console.v1alpha1.CreateDebugBundleRequest.logs_since:type_name -> google.protobuf.Timestamp - 21, // 3: redpanda.api.console.v1alpha1.CreateDebugBundleRequest.logs_until:type_name -> google.protobuf.Timestamp + 24, // 2: redpanda.api.console.v1alpha1.CreateDebugBundleRequest.logs_since:type_name -> google.protobuf.Timestamp + 24, // 3: redpanda.api.console.v1alpha1.CreateDebugBundleRequest.logs_until:type_name -> google.protobuf.Timestamp 6, // 4: redpanda.api.console.v1alpha1.CreateDebugBundleRequest.label_selector:type_name -> redpanda.api.console.v1alpha1.LabelSelector 3, // 5: redpanda.api.console.v1alpha1.DebugBundleStatus.status:type_name -> redpanda.api.console.v1alpha1.DebugBundleStatus.Status - 21, // 6: redpanda.api.console.v1alpha1.DebugBundleStatus.created_at:type_name -> google.protobuf.Timestamp - 20, // 7: redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse.broker_statuses:type_name -> redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse.DebugBundleBrokerStatus + 24, // 6: redpanda.api.console.v1alpha1.DebugBundleStatus.created_at:type_name -> google.protobuf.Timestamp + 22, // 7: redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse.broker_statuses:type_name -> redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse.DebugBundleBrokerStatus 16, // 8: redpanda.api.console.v1alpha1.CancelDebugBundleProcessResponse.errors:type_name -> redpanda.api.console.v1alpha1.BundleError 14, // 9: redpanda.api.console.v1alpha1.DeleteDebugBundleFileRequest.files:type_name -> redpanda.api.console.v1alpha1.DeleteDebugBundleFileForBroker 16, // 10: redpanda.api.console.v1alpha1.DeleteDebugBundleFileResponse.errors:type_name -> redpanda.api.console.v1alpha1.BundleError @@ -1971,23 +2182,26 @@ var file_redpanda_api_console_v1alpha1_debug_bundle_proto_depIdxs = []int32{ 1, // 12: redpanda.api.console.v1alpha1.GetClusterHealthResponse.unhealthy_reasons:type_name -> redpanda.api.console.v1alpha1.UnhealthyReason 19, // 13: redpanda.api.console.v1alpha1.GetClusterHealthResponse.leaderless_partitions:type_name -> redpanda.api.console.v1alpha1.TopicPartitions 19, // 14: redpanda.api.console.v1alpha1.GetClusterHealthResponse.under_replicated_partitions:type_name -> redpanda.api.console.v1alpha1.TopicPartitions - 16, // 15: redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse.DebugBundleBrokerStatus.error:type_name -> redpanda.api.console.v1alpha1.BundleError - 9, // 16: redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse.DebugBundleBrokerStatus.bundle_status:type_name -> redpanda.api.console.v1alpha1.DebugBundleStatus - 17, // 17: redpanda.api.console.v1alpha1.DebugBundleService.GetClusterHealth:input_type -> redpanda.api.console.v1alpha1.GetClusterHealthRequest - 5, // 18: redpanda.api.console.v1alpha1.DebugBundleService.CreateDebugBundle:input_type -> redpanda.api.console.v1alpha1.CreateDebugBundleRequest - 8, // 19: redpanda.api.console.v1alpha1.DebugBundleService.GetDebugBundleStatus:input_type -> redpanda.api.console.v1alpha1.GetDebugBundleStatusRequest - 11, // 20: redpanda.api.console.v1alpha1.DebugBundleService.CancelDebugBundleProcess:input_type -> redpanda.api.console.v1alpha1.CancelDebugBundleProcessRequest - 13, // 21: redpanda.api.console.v1alpha1.DebugBundleService.DeleteDebugBundleFile:input_type -> redpanda.api.console.v1alpha1.DeleteDebugBundleFileRequest - 18, // 22: redpanda.api.console.v1alpha1.DebugBundleService.GetClusterHealth:output_type -> redpanda.api.console.v1alpha1.GetClusterHealthResponse - 7, // 23: redpanda.api.console.v1alpha1.DebugBundleService.CreateDebugBundle:output_type -> redpanda.api.console.v1alpha1.CreateDebugBundleResponse - 10, // 24: redpanda.api.console.v1alpha1.DebugBundleService.GetDebugBundleStatus:output_type -> redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse - 12, // 25: redpanda.api.console.v1alpha1.DebugBundleService.CancelDebugBundleProcess:output_type -> redpanda.api.console.v1alpha1.CancelDebugBundleProcessResponse - 15, // 26: redpanda.api.console.v1alpha1.DebugBundleService.DeleteDebugBundleFile:output_type -> redpanda.api.console.v1alpha1.DeleteDebugBundleFileResponse - 22, // [22:27] is the sub-list for method output_type - 17, // [17:22] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name + 23, // 15: redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsResponse.resolved_broker_urls:type_name -> redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsResponse.DebugBundleBrokerURL + 16, // 16: redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse.DebugBundleBrokerStatus.error:type_name -> redpanda.api.console.v1alpha1.BundleError + 9, // 17: redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse.DebugBundleBrokerStatus.bundle_status:type_name -> redpanda.api.console.v1alpha1.DebugBundleStatus + 17, // 18: redpanda.api.console.v1alpha1.DebugBundleService.GetClusterHealth:input_type -> redpanda.api.console.v1alpha1.GetClusterHealthRequest + 5, // 19: redpanda.api.console.v1alpha1.DebugBundleService.CreateDebugBundle:input_type -> redpanda.api.console.v1alpha1.CreateDebugBundleRequest + 8, // 20: redpanda.api.console.v1alpha1.DebugBundleService.GetDebugBundleStatus:input_type -> redpanda.api.console.v1alpha1.GetDebugBundleStatusRequest + 11, // 21: redpanda.api.console.v1alpha1.DebugBundleService.CancelDebugBundleProcess:input_type -> redpanda.api.console.v1alpha1.CancelDebugBundleProcessRequest + 13, // 22: redpanda.api.console.v1alpha1.DebugBundleService.DeleteDebugBundleFile:input_type -> redpanda.api.console.v1alpha1.DeleteDebugBundleFileRequest + 20, // 23: redpanda.api.console.v1alpha1.DebugBundleService.GetDebugBundleAdminAPIURLs:input_type -> redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsRequest + 18, // 24: redpanda.api.console.v1alpha1.DebugBundleService.GetClusterHealth:output_type -> redpanda.api.console.v1alpha1.GetClusterHealthResponse + 7, // 25: redpanda.api.console.v1alpha1.DebugBundleService.CreateDebugBundle:output_type -> redpanda.api.console.v1alpha1.CreateDebugBundleResponse + 10, // 26: redpanda.api.console.v1alpha1.DebugBundleService.GetDebugBundleStatus:output_type -> redpanda.api.console.v1alpha1.GetDebugBundleStatusResponse + 12, // 27: redpanda.api.console.v1alpha1.DebugBundleService.CancelDebugBundleProcess:output_type -> redpanda.api.console.v1alpha1.CancelDebugBundleProcessResponse + 15, // 28: redpanda.api.console.v1alpha1.DebugBundleService.DeleteDebugBundleFile:output_type -> redpanda.api.console.v1alpha1.DeleteDebugBundleFileResponse + 21, // 29: redpanda.api.console.v1alpha1.DebugBundleService.GetDebugBundleAdminAPIURLs:output_type -> redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsResponse + 24, // [24:30] is the sub-list for method output_type + 18, // [18:24] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_redpanda_api_console_v1alpha1_debug_bundle_proto_init() } @@ -2189,6 +2403,30 @@ func file_redpanda_api_console_v1alpha1_debug_bundle_proto_init() { } } file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDebugBundleAdminAPIURLsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDebugBundleAdminAPIURLsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetDebugBundleStatusResponse_DebugBundleBrokerStatus); i { case 0: return &v.state @@ -2200,12 +2438,24 @@ func file_redpanda_api_console_v1alpha1_debug_bundle_proto_init() { return nil } } + file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[1].OneofWrappers = []interface{}{ (*CreateDebugBundleRequest_Scram)(nil), } file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[14].OneofWrappers = []interface{}{} - file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[16].OneofWrappers = []interface{}{ + file_redpanda_api_console_v1alpha1_debug_bundle_proto_msgTypes[18].OneofWrappers = []interface{}{ (*GetDebugBundleStatusResponse_DebugBundleBrokerStatus_Error)(nil), (*GetDebugBundleStatusResponse_DebugBundleBrokerStatus_BundleStatus)(nil), } @@ -2215,7 +2465,7 @@ func file_redpanda_api_console_v1alpha1_debug_bundle_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_redpanda_api_console_v1alpha1_debug_bundle_proto_rawDesc, NumEnums: 4, - NumMessages: 17, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, diff --git a/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle.pb.gw.go b/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle.pb.gw.go index 4121eecb0..13e7621de 100644 --- a/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle.pb.gw.go +++ b/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle.pb.gw.go @@ -201,6 +201,40 @@ func local_request_DebugBundleService_DeleteDebugBundleFile_0(ctx context.Contex } +func request_DebugBundleService_GetDebugBundleAdminAPIURLs_0(ctx context.Context, marshaler runtime.Marshaler, client DebugBundleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDebugBundleAdminAPIURLsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetDebugBundleAdminAPIURLs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DebugBundleService_GetDebugBundleAdminAPIURLs_0(ctx context.Context, marshaler runtime.Marshaler, server DebugBundleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDebugBundleAdminAPIURLsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetDebugBundleAdminAPIURLs(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterDebugBundleServiceHandlerServer registers the http handlers for service DebugBundleService to "mux". // UnaryRPC :call DebugBundleServiceServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -332,6 +366,31 @@ func RegisterDebugBundleServiceHandlerServer(ctx context.Context, mux *runtime.S }) + mux.Handle("POST", pattern_DebugBundleService_GetDebugBundleAdminAPIURLs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/redpanda.api.console.v1alpha1.DebugBundleService/GetDebugBundleAdminAPIURLs", runtime.WithHTTPPathPattern("/redpanda.api.console.v1alpha1.DebugBundleService/GetDebugBundleAdminAPIURLs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DebugBundleService_GetDebugBundleAdminAPIURLs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DebugBundleService_GetDebugBundleAdminAPIURLs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -483,6 +542,28 @@ func RegisterDebugBundleServiceHandlerClient(ctx context.Context, mux *runtime.S }) + mux.Handle("POST", pattern_DebugBundleService_GetDebugBundleAdminAPIURLs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/redpanda.api.console.v1alpha1.DebugBundleService/GetDebugBundleAdminAPIURLs", runtime.WithHTTPPathPattern("/redpanda.api.console.v1alpha1.DebugBundleService/GetDebugBundleAdminAPIURLs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DebugBundleService_GetDebugBundleAdminAPIURLs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DebugBundleService_GetDebugBundleAdminAPIURLs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -496,6 +577,8 @@ var ( pattern_DebugBundleService_CancelDebugBundleProcess_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"redpanda.api.console.v1alpha1.DebugBundleService", "CancelDebugBundleProcess"}, "")) pattern_DebugBundleService_DeleteDebugBundleFile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"redpanda.api.console.v1alpha1.DebugBundleService", "DeleteDebugBundleFile"}, "")) + + pattern_DebugBundleService_GetDebugBundleAdminAPIURLs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"redpanda.api.console.v1alpha1.DebugBundleService", "GetDebugBundleAdminAPIURLs"}, "")) ) var ( @@ -508,4 +591,6 @@ var ( forward_DebugBundleService_CancelDebugBundleProcess_0 = runtime.ForwardResponseMessage forward_DebugBundleService_DeleteDebugBundleFile_0 = runtime.ForwardResponseMessage + + forward_DebugBundleService_GetDebugBundleAdminAPIURLs_0 = runtime.ForwardResponseMessage ) diff --git a/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle_grpc.pb.go b/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle_grpc.pb.go index f28cbb0f3..ce97b6d4b 100644 --- a/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle_grpc.pb.go +++ b/backend/pkg/protogen/redpanda/api/console/v1alpha1/debug_bundle_grpc.pb.go @@ -20,11 +20,12 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - DebugBundleService_GetClusterHealth_FullMethodName = "/redpanda.api.console.v1alpha1.DebugBundleService/GetClusterHealth" - DebugBundleService_CreateDebugBundle_FullMethodName = "/redpanda.api.console.v1alpha1.DebugBundleService/CreateDebugBundle" - DebugBundleService_GetDebugBundleStatus_FullMethodName = "/redpanda.api.console.v1alpha1.DebugBundleService/GetDebugBundleStatus" - DebugBundleService_CancelDebugBundleProcess_FullMethodName = "/redpanda.api.console.v1alpha1.DebugBundleService/CancelDebugBundleProcess" - DebugBundleService_DeleteDebugBundleFile_FullMethodName = "/redpanda.api.console.v1alpha1.DebugBundleService/DeleteDebugBundleFile" + DebugBundleService_GetClusterHealth_FullMethodName = "/redpanda.api.console.v1alpha1.DebugBundleService/GetClusterHealth" + DebugBundleService_CreateDebugBundle_FullMethodName = "/redpanda.api.console.v1alpha1.DebugBundleService/CreateDebugBundle" + DebugBundleService_GetDebugBundleStatus_FullMethodName = "/redpanda.api.console.v1alpha1.DebugBundleService/GetDebugBundleStatus" + DebugBundleService_CancelDebugBundleProcess_FullMethodName = "/redpanda.api.console.v1alpha1.DebugBundleService/CancelDebugBundleProcess" + DebugBundleService_DeleteDebugBundleFile_FullMethodName = "/redpanda.api.console.v1alpha1.DebugBundleService/DeleteDebugBundleFile" + DebugBundleService_GetDebugBundleAdminAPIURLs_FullMethodName = "/redpanda.api.console.v1alpha1.DebugBundleService/GetDebugBundleAdminAPIURLs" ) // DebugBundleServiceClient is the client API for DebugBundleService service. @@ -36,6 +37,7 @@ type DebugBundleServiceClient interface { GetDebugBundleStatus(ctx context.Context, in *GetDebugBundleStatusRequest, opts ...grpc.CallOption) (*GetDebugBundleStatusResponse, error) CancelDebugBundleProcess(ctx context.Context, in *CancelDebugBundleProcessRequest, opts ...grpc.CallOption) (*CancelDebugBundleProcessResponse, error) DeleteDebugBundleFile(ctx context.Context, in *DeleteDebugBundleFileRequest, opts ...grpc.CallOption) (*DeleteDebugBundleFileResponse, error) + GetDebugBundleAdminAPIURLs(ctx context.Context, in *GetDebugBundleAdminAPIURLsRequest, opts ...grpc.CallOption) (*GetDebugBundleAdminAPIURLsResponse, error) } type debugBundleServiceClient struct { @@ -91,6 +93,15 @@ func (c *debugBundleServiceClient) DeleteDebugBundleFile(ctx context.Context, in return out, nil } +func (c *debugBundleServiceClient) GetDebugBundleAdminAPIURLs(ctx context.Context, in *GetDebugBundleAdminAPIURLsRequest, opts ...grpc.CallOption) (*GetDebugBundleAdminAPIURLsResponse, error) { + out := new(GetDebugBundleAdminAPIURLsResponse) + err := c.cc.Invoke(ctx, DebugBundleService_GetDebugBundleAdminAPIURLs_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // DebugBundleServiceServer is the server API for DebugBundleService service. // All implementations must embed UnimplementedDebugBundleServiceServer // for forward compatibility @@ -100,6 +111,7 @@ type DebugBundleServiceServer interface { GetDebugBundleStatus(context.Context, *GetDebugBundleStatusRequest) (*GetDebugBundleStatusResponse, error) CancelDebugBundleProcess(context.Context, *CancelDebugBundleProcessRequest) (*CancelDebugBundleProcessResponse, error) DeleteDebugBundleFile(context.Context, *DeleteDebugBundleFileRequest) (*DeleteDebugBundleFileResponse, error) + GetDebugBundleAdminAPIURLs(context.Context, *GetDebugBundleAdminAPIURLsRequest) (*GetDebugBundleAdminAPIURLsResponse, error) mustEmbedUnimplementedDebugBundleServiceServer() } @@ -122,6 +134,9 @@ func (UnimplementedDebugBundleServiceServer) CancelDebugBundleProcess(context.Co func (UnimplementedDebugBundleServiceServer) DeleteDebugBundleFile(context.Context, *DeleteDebugBundleFileRequest) (*DeleteDebugBundleFileResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteDebugBundleFile not implemented") } +func (UnimplementedDebugBundleServiceServer) GetDebugBundleAdminAPIURLs(context.Context, *GetDebugBundleAdminAPIURLsRequest) (*GetDebugBundleAdminAPIURLsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDebugBundleAdminAPIURLs not implemented") +} func (UnimplementedDebugBundleServiceServer) mustEmbedUnimplementedDebugBundleServiceServer() {} // UnsafeDebugBundleServiceServer may be embedded to opt out of forward compatibility for this service. @@ -225,6 +240,24 @@ func _DebugBundleService_DeleteDebugBundleFile_Handler(srv interface{}, ctx cont return interceptor(ctx, in, info, handler) } +func _DebugBundleService_GetDebugBundleAdminAPIURLs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDebugBundleAdminAPIURLsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DebugBundleServiceServer).GetDebugBundleAdminAPIURLs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DebugBundleService_GetDebugBundleAdminAPIURLs_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DebugBundleServiceServer).GetDebugBundleAdminAPIURLs(ctx, req.(*GetDebugBundleAdminAPIURLsRequest)) + } + return interceptor(ctx, in, info, handler) +} + // DebugBundleService_ServiceDesc is the grpc.ServiceDesc for DebugBundleService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -252,6 +285,10 @@ var DebugBundleService_ServiceDesc = grpc.ServiceDesc{ MethodName: "DeleteDebugBundleFile", Handler: _DebugBundleService_DeleteDebugBundleFile_Handler, }, + { + MethodName: "GetDebugBundleAdminAPIURLs", + Handler: _DebugBundleService_GetDebugBundleAdminAPIURLs_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "redpanda/api/console/v1alpha1/debug_bundle.proto", diff --git a/frontend/src/protogen/redpanda/api/console/v1alpha1/debug_bundle_connect.ts b/frontend/src/protogen/redpanda/api/console/v1alpha1/debug_bundle_connect.ts index ec23b2e52..11f82a7f1 100644 --- a/frontend/src/protogen/redpanda/api/console/v1alpha1/debug_bundle_connect.ts +++ b/frontend/src/protogen/redpanda/api/console/v1alpha1/debug_bundle_connect.ts @@ -3,7 +3,7 @@ /* eslint-disable */ // @ts-nocheck -import { CancelDebugBundleProcessRequest, CancelDebugBundleProcessResponse, CreateDebugBundleRequest, CreateDebugBundleResponse, DeleteDebugBundleFileRequest, DeleteDebugBundleFileResponse, GetClusterHealthRequest, GetClusterHealthResponse, GetDebugBundleStatusRequest, GetDebugBundleStatusResponse } from "./debug_bundle_pb"; +import { CancelDebugBundleProcessRequest, CancelDebugBundleProcessResponse, CreateDebugBundleRequest, CreateDebugBundleResponse, DeleteDebugBundleFileRequest, DeleteDebugBundleFileResponse, GetClusterHealthRequest, GetClusterHealthResponse, GetDebugBundleAdminAPIURLsRequest, GetDebugBundleAdminAPIURLsResponse, GetDebugBundleStatusRequest, GetDebugBundleStatusResponse } from "./debug_bundle_pb"; import { MethodKind } from "@bufbuild/protobuf"; /** @@ -57,6 +57,15 @@ export const DebugBundleService = { O: DeleteDebugBundleFileResponse, kind: MethodKind.Unary, }, + /** + * @generated from rpc redpanda.api.console.v1alpha1.DebugBundleService.GetDebugBundleAdminAPIURLs + */ + getDebugBundleAdminAPIURLs: { + name: "GetDebugBundleAdminAPIURLs", + I: GetDebugBundleAdminAPIURLsRequest, + O: GetDebugBundleAdminAPIURLsResponse, + kind: MethodKind.Unary, + }, } } as const; diff --git a/frontend/src/protogen/redpanda/api/console/v1alpha1/debug_bundle_pb.ts b/frontend/src/protogen/redpanda/api/console/v1alpha1/debug_bundle_pb.ts index 9c0570fc8..c00606ebe 100644 --- a/frontend/src/protogen/redpanda/api/console/v1alpha1/debug_bundle_pb.ts +++ b/frontend/src/protogen/redpanda/api/console/v1alpha1/debug_bundle_pb.ts @@ -1220,3 +1220,146 @@ export class TopicPartitions extends Message { } } +/** + * @generated from message redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsRequest + */ +export class GetDebugBundleAdminAPIURLsRequest extends Message { + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): GetDebugBundleAdminAPIURLsRequest { + return new GetDebugBundleAdminAPIURLsRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): GetDebugBundleAdminAPIURLsRequest { + return new GetDebugBundleAdminAPIURLsRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): GetDebugBundleAdminAPIURLsRequest { + return new GetDebugBundleAdminAPIURLsRequest().fromJsonString(jsonString, options); + } + + static equals(a: GetDebugBundleAdminAPIURLsRequest | PlainMessage | undefined, b: GetDebugBundleAdminAPIURLsRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(GetDebugBundleAdminAPIURLsRequest, a, b); + } +} + +/** + * The response to GetDebugBundleAdminAPIURLs. + * + * @generated from message redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsResponse + */ +export class GetDebugBundleAdminAPIURLsResponse extends Message { + /** + * true if Console thinks it is running in Kubernetes + * + * @generated from field: bool is_kubernetes = 1; + */ + isKubernetes = false; + + /** + * configured Admin API URLS + * + * @generated from field: repeated string configured_admin_api_urls = 2; + */ + configuredAdminApiUrls: string[] = []; + + /** + * resolved admin api urls + * + * @generated from field: repeated redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsResponse.DebugBundleBrokerURL resolved_broker_urls = 3; + */ + resolvedBrokerUrls: GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL[] = []; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "is_kubernetes", kind: "scalar", T: 8 /* ScalarType.BOOL */ }, + { no: 2, name: "configured_admin_api_urls", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, + { no: 3, name: "resolved_broker_urls", kind: "message", T: GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL, repeated: true }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): GetDebugBundleAdminAPIURLsResponse { + return new GetDebugBundleAdminAPIURLsResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): GetDebugBundleAdminAPIURLsResponse { + return new GetDebugBundleAdminAPIURLsResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): GetDebugBundleAdminAPIURLsResponse { + return new GetDebugBundleAdminAPIURLsResponse().fromJsonString(jsonString, options); + } + + static equals(a: GetDebugBundleAdminAPIURLsResponse | PlainMessage | undefined, b: GetDebugBundleAdminAPIURLsResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(GetDebugBundleAdminAPIURLsResponse, a, b); + } +} + +/** + * @generated from message redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsResponse.DebugBundleBrokerURL + */ +export class GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL extends Message { + /** + * The broker ID. + * + * @generated from field: int32 broker_id = 1; + */ + brokerId = 0; + + /** + * The broker URL used to get the status. + * + * @generated from field: string broker_url = 2; + */ + brokerUrl = ""; + + /** + * Whether the broker URL was determined speculatively. + * + * @generated from field: bool speculative = 3; + */ + speculative = false; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "redpanda.api.console.v1alpha1.GetDebugBundleAdminAPIURLsResponse.DebugBundleBrokerURL"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "broker_id", kind: "scalar", T: 5 /* ScalarType.INT32 */ }, + { no: 2, name: "broker_url", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 3, name: "speculative", kind: "scalar", T: 8 /* ScalarType.BOOL */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL { + return new GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL { + return new GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL { + return new GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL().fromJsonString(jsonString, options); + } + + static equals(a: GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL | PlainMessage | undefined, b: GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL | PlainMessage | undefined): boolean { + return proto3.util.equals(GetDebugBundleAdminAPIURLsResponse_DebugBundleBrokerURL, a, b); + } +} + diff --git a/proto/redpanda/api/console/v1alpha1/debug_bundle.proto b/proto/redpanda/api/console/v1alpha1/debug_bundle.proto index 0eb32bd36..21678b239 100644 --- a/proto/redpanda/api/console/v1alpha1/debug_bundle.proto +++ b/proto/redpanda/api/console/v1alpha1/debug_bundle.proto @@ -311,6 +311,31 @@ message TopicPartitions { repeated int32 partition_ids = 2; } +message GetDebugBundleAdminAPIURLsRequest {} + +// The response to GetDebugBundleAdminAPIURLs. +message GetDebugBundleAdminAPIURLsResponse { + message DebugBundleBrokerURL { + // The broker ID. + int32 broker_id = 1; + + // The broker URL used to get the status. + string broker_url = 2; + + // Whether the broker URL was determined speculatively. + bool speculative = 3; + } + + // true if Console thinks it is running in Kubernetes + bool is_kubernetes = 1; + + // configured Admin API URLS + repeated string configured_admin_api_urls = 2; + + // resolved admin api urls + repeated DebugBundleBrokerURL resolved_broker_urls = 3; +} + // Additional API: // GET /api/debug_bundle/files/{file} // GET /api/debug_bundle/brokers/{broker_id}/files/{file} @@ -322,4 +347,5 @@ service DebugBundleService { rpc GetDebugBundleStatus(GetDebugBundleStatusRequest) returns (GetDebugBundleStatusResponse) {} rpc CancelDebugBundleProcess(CancelDebugBundleProcessRequest) returns (CancelDebugBundleProcessResponse) {} rpc DeleteDebugBundleFile(DeleteDebugBundleFileRequest) returns (DeleteDebugBundleFileResponse) {} + rpc GetDebugBundleAdminAPIURLs(GetDebugBundleAdminAPIURLsRequest) returns (GetDebugBundleAdminAPIURLsResponse) {} }