From da97283a1501638413a230517a9fec7fb2a7f00c Mon Sep 17 00:00:00 2001 From: Julin <142230457+c-julin@users.noreply.github.com> Date: Mon, 1 Dec 2025 09:57:49 +0000 Subject: [PATCH 1/8] refactor: use core proto ShadowLinkTaskStatus in console and dataplane APIs Remove duplicate TaskState enum and ShadowLinkTaskStatus message from console/v1alpha1 and dataplane/v1alpha3 protos. Both now reference core.admin.v2.ShadowLinkTaskStatus. Update buf.build/redpandadata/core to latest SHA and regenerate protos. Update frontend imports to use core proto types and adjust field name from shardId to shard. --- .../api/console/v1alpha1/shadowlink.pb.go | 645 +++++++----------- .../api/dataplane/v1alpha3/shadowlink.pb.go | 607 ++++++---------- buf.lock | 12 +- buf.yaml | 2 +- .../shadowlinks/details/task-status-badge.tsx | 2 +- .../pages/shadowlinks/details/tasks-table.tsx | 4 +- .../api/console/v1alpha1/shadowlink_pb.ts | 126 +--- .../api/dataplane/v1alpha3/shadowlink_pb.ts | 114 +--- .../redpanda/core/admin/v2/cluster_pb.ts | 10 +- .../redpanda/core/admin/v2/shadow_link_pb.ts | 224 +++--- .../redpanda/core/common/{ => v1}/acl_pb.ts | 42 +- .../redpanda/core/common/v1/tls_pb.ts | 160 +++++ proto/gen/openapi/openapi.v1alpha3.yaml | 154 +++-- .../api/console/v1alpha1/shadowlink.proto | 31 +- .../api/dataplane/v1alpha3/shadowlink.proto | 31 +- 15 files changed, 850 insertions(+), 1314 deletions(-) rename frontend/src/protogen/redpanda/core/common/{ => v1}/acl_pb.ts (63%) create mode 100644 frontend/src/protogen/redpanda/core/common/v1/tls_pb.ts diff --git a/backend/pkg/protogen/redpanda/api/console/v1alpha1/shadowlink.pb.go b/backend/pkg/protogen/redpanda/api/console/v1alpha1/shadowlink.pb.go index 1197bdce0..2fbb40c65 100644 --- a/backend/pkg/protogen/redpanda/api/console/v1alpha1/shadowlink.pb.go +++ b/backend/pkg/protogen/redpanda/api/console/v1alpha1/shadowlink.pb.go @@ -27,70 +27,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// Task states -type TaskState int32 - -const ( - TaskState_TASK_STATE_UNSPECIFIED TaskState = 0 - // Task is active - TaskState_TASK_STATE_ACTIVE TaskState = 1 - // Task was paused - TaskState_TASK_STATE_PAUSED TaskState = 2 - // Task is unable to communicate with source cluster - TaskState_TASK_STATE_LINK_UNAVAILABLE TaskState = 3 - // Task is not running - TaskState_TASK_STATE_NOT_RUNNING TaskState = 4 - // Task is faulted - TaskState_TASK_STATE_FAULTED TaskState = 5 -) - -// Enum value maps for TaskState. -var ( - TaskState_name = map[int32]string{ - 0: "TASK_STATE_UNSPECIFIED", - 1: "TASK_STATE_ACTIVE", - 2: "TASK_STATE_PAUSED", - 3: "TASK_STATE_LINK_UNAVAILABLE", - 4: "TASK_STATE_NOT_RUNNING", - 5: "TASK_STATE_FAULTED", - } - TaskState_value = map[string]int32{ - "TASK_STATE_UNSPECIFIED": 0, - "TASK_STATE_ACTIVE": 1, - "TASK_STATE_PAUSED": 2, - "TASK_STATE_LINK_UNAVAILABLE": 3, - "TASK_STATE_NOT_RUNNING": 4, - "TASK_STATE_FAULTED": 5, - } -) - -func (x TaskState) Enum() *TaskState { - p := new(TaskState) - *p = x - return p -} - -func (x TaskState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (TaskState) Descriptor() protoreflect.EnumDescriptor { - return file_redpanda_api_console_v1alpha1_shadowlink_proto_enumTypes[0].Descriptor() -} - -func (TaskState) Type() protoreflect.EnumType { - return &file_redpanda_api_console_v1alpha1_shadowlink_proto_enumTypes[0] -} - -func (x TaskState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use TaskState.Descriptor instead. -func (TaskState) EnumDescriptor() ([]byte, []int) { - return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{0} -} - type CreateShadowLinkResponse struct { state protoimpl.MessageState `protogen:"open.v1"` ShadowLink *ShadowLink `protobuf:"bytes,1,opt,name=shadow_link,json=shadowLink,proto3" json:"shadow_link,omitempty"` @@ -135,88 +71,6 @@ func (x *CreateShadowLinkResponse) GetShadowLink() *ShadowLink { return nil } -// Status of a task -type ShadowLinkTaskStatus struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Name of the task - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // State of the task - State TaskState `protobuf:"varint,2,opt,name=state,proto3,enum=redpanda.api.console.v1alpha1.TaskState" json:"state,omitempty"` - // Reason for task being in state - Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` - // The broker the task is running on - BrokerId int32 `protobuf:"varint,4,opt,name=broker_id,json=brokerId,proto3" json:"broker_id,omitempty"` - // The shard the task is running on - ShardId int32 `protobuf:"varint,5,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ShadowLinkTaskStatus) Reset() { - *x = ShadowLinkTaskStatus{} - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ShadowLinkTaskStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ShadowLinkTaskStatus) ProtoMessage() {} - -func (x *ShadowLinkTaskStatus) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_console_v1alpha1_shadowlink_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 ShadowLinkTaskStatus.ProtoReflect.Descriptor instead. -func (*ShadowLinkTaskStatus) Descriptor() ([]byte, []int) { - return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{1} -} - -func (x *ShadowLinkTaskStatus) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ShadowLinkTaskStatus) GetState() TaskState { - if x != nil { - return x.State - } - return TaskState_TASK_STATE_UNSPECIFIED -} - -func (x *ShadowLinkTaskStatus) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - -func (x *ShadowLinkTaskStatus) GetBrokerId() int32 { - if x != nil { - return x.BrokerId - } - return 0 -} - -func (x *ShadowLinkTaskStatus) GetShardId() int32 { - if x != nil { - return x.ShardId - } - return 0 -} - type ShadowLink struct { state protoimpl.MessageState `protogen:"open.v1"` // Return name, configuration, and overall state @@ -224,7 +78,7 @@ type ShadowLink struct { Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty"` Configurations *v2.ShadowLinkConfigurations `protobuf:"bytes,3,opt,name=configurations,proto3" json:"configurations,omitempty"` State v2.ShadowLinkState `protobuf:"varint,4,opt,name=state,proto3,enum=redpanda.core.admin.v2.ShadowLinkState" json:"state,omitempty"` - TasksStatus []*ShadowLinkTaskStatus `protobuf:"bytes,5,rep,name=tasks_status,json=tasksStatus,proto3" json:"tasks_status,omitempty"` + TasksStatus []*v2.ShadowLinkTaskStatus `protobuf:"bytes,5,rep,name=tasks_status,json=tasksStatus,proto3" json:"tasks_status,omitempty"` SyncedShadowTopicProperties []string `protobuf:"bytes,6,rep,name=synced_shadow_topic_properties,json=syncedShadowTopicProperties,proto3" json:"synced_shadow_topic_properties,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -232,7 +86,7 @@ type ShadowLink struct { func (x *ShadowLink) Reset() { *x = ShadowLink{} - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[2] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -244,7 +98,7 @@ func (x *ShadowLink) String() string { func (*ShadowLink) ProtoMessage() {} func (x *ShadowLink) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[2] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -257,7 +111,7 @@ func (x *ShadowLink) ProtoReflect() protoreflect.Message { // Deprecated: Use ShadowLink.ProtoReflect.Descriptor instead. func (*ShadowLink) Descriptor() ([]byte, []int) { - return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{2} + return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{1} } func (x *ShadowLink) GetName() string { @@ -288,7 +142,7 @@ func (x *ShadowLink) GetState() v2.ShadowLinkState { return v2.ShadowLinkState(0) } -func (x *ShadowLink) GetTasksStatus() []*ShadowLinkTaskStatus { +func (x *ShadowLink) GetTasksStatus() []*v2.ShadowLinkTaskStatus { if x != nil { return x.TasksStatus } @@ -315,7 +169,7 @@ type ListShadowLinksRequest struct { func (x *ListShadowLinksRequest) Reset() { *x = ListShadowLinksRequest{} - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[3] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -327,7 +181,7 @@ func (x *ListShadowLinksRequest) String() string { func (*ListShadowLinksRequest) ProtoMessage() {} func (x *ListShadowLinksRequest) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[3] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -340,7 +194,7 @@ func (x *ListShadowLinksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListShadowLinksRequest.ProtoReflect.Descriptor instead. func (*ListShadowLinksRequest) Descriptor() ([]byte, []int) { - return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{3} + return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{2} } func (x *ListShadowLinksRequest) GetFilter() *ListShadowLinksRequest_Filter { @@ -374,7 +228,7 @@ type ListShadowLinksResponse struct { func (x *ListShadowLinksResponse) Reset() { *x = ListShadowLinksResponse{} - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[4] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -386,7 +240,7 @@ func (x *ListShadowLinksResponse) String() string { func (*ListShadowLinksResponse) ProtoMessage() {} func (x *ListShadowLinksResponse) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[4] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -399,7 +253,7 @@ func (x *ListShadowLinksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListShadowLinksResponse.ProtoReflect.Descriptor instead. func (*ListShadowLinksResponse) Descriptor() ([]byte, []int) { - return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{4} + return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{3} } func (x *ListShadowLinksResponse) GetShadowLinks() []*ListShadowLinksResponse_ShadowLink { @@ -424,7 +278,7 @@ type UpdateShadowLinkResponse struct { func (x *UpdateShadowLinkResponse) Reset() { *x = UpdateShadowLinkResponse{} - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[5] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -436,7 +290,7 @@ func (x *UpdateShadowLinkResponse) String() string { func (*UpdateShadowLinkResponse) ProtoMessage() {} func (x *UpdateShadowLinkResponse) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[5] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -449,7 +303,7 @@ func (x *UpdateShadowLinkResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateShadowLinkResponse.ProtoReflect.Descriptor instead. func (*UpdateShadowLinkResponse) Descriptor() ([]byte, []int) { - return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{5} + return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{4} } type DeleteShadowLinkResponse struct { @@ -460,7 +314,7 @@ type DeleteShadowLinkResponse struct { func (x *DeleteShadowLinkResponse) Reset() { *x = DeleteShadowLinkResponse{} - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[6] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -472,7 +326,7 @@ func (x *DeleteShadowLinkResponse) String() string { func (*DeleteShadowLinkResponse) ProtoMessage() {} func (x *DeleteShadowLinkResponse) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[6] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -485,7 +339,7 @@ func (x *DeleteShadowLinkResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteShadowLinkResponse.ProtoReflect.Descriptor instead. func (*DeleteShadowLinkResponse) Descriptor() ([]byte, []int) { - return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{6} + return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{5} } type ListShadowLinksRequest_Filter struct { @@ -498,7 +352,7 @@ type ListShadowLinksRequest_Filter struct { func (x *ListShadowLinksRequest_Filter) Reset() { *x = ListShadowLinksRequest_Filter{} - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[7] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -510,7 +364,7 @@ func (x *ListShadowLinksRequest_Filter) String() string { func (*ListShadowLinksRequest_Filter) ProtoMessage() {} func (x *ListShadowLinksRequest_Filter) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[7] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -523,7 +377,7 @@ func (x *ListShadowLinksRequest_Filter) ProtoReflect() protoreflect.Message { // Deprecated: Use ListShadowLinksRequest_Filter.ProtoReflect.Descriptor instead. func (*ListShadowLinksRequest_Filter) Descriptor() ([]byte, []int) { - return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{3, 0} + return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{2, 0} } func (x *ListShadowLinksRequest_Filter) GetNameContains() string { @@ -544,7 +398,7 @@ type ListShadowLinksResponse_ShadowLink struct { func (x *ListShadowLinksResponse_ShadowLink) Reset() { *x = ListShadowLinksResponse_ShadowLink{} - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[8] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -556,7 +410,7 @@ func (x *ListShadowLinksResponse_ShadowLink) String() string { func (*ListShadowLinksResponse_ShadowLink) ProtoMessage() {} func (x *ListShadowLinksResponse_ShadowLink) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[8] + mi := &file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -569,7 +423,7 @@ func (x *ListShadowLinksResponse_ShadowLink) ProtoReflect() protoreflect.Message // Deprecated: Use ListShadowLinksResponse_ShadowLink.ProtoReflect.Descriptor instead. func (*ListShadowLinksResponse_ShadowLink) Descriptor() ([]byte, []int) { - return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{4, 0} + return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP(), []int{3, 0} } func (x *ListShadowLinksResponse_ShadowLink) GetName() string { @@ -619,209 +473,186 @@ var file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDesc = []byte{ 0x29, 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, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x64, - 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0xba, 0x01, 0x0a, 0x14, 0x53, 0x68, 0x61, 0x64, 0x6f, - 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x28, 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, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x62, - 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, - 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x68, 0x61, 0x72, - 0x64, 0x49, 0x64, 0x22, 0xe8, 0x02, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, - 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x58, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x30, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x27, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, - 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x56, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 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, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, - 0x6e, 0x6b, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x74, 0x61, - 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x79, 0x6e, - 0x63, 0x65, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x1b, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x86, - 0x03, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, - 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x72, 0x65, 0x64, 0x70, + 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0xe1, 0x02, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x64, 0x6f, + 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x58, 0x0a, 0x0e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, + 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, + 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x65, 0x64, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x61, + 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, + 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1b, 0x73, + 0x79, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x86, 0x03, 0x0a, 0x16, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0xa9, 0x01, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x8b, 0x01, 0x92, 0x41, 0x75, 0x32, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x6f, 0x66, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2e, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x20, 0x2d, + 0x31, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8f, + 0x40, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0xba, 0x48, 0x10, 0x1a, 0x0e, 0x18, + 0xe8, 0x07, 0x28, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x4b, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x41, 0x0a, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xba, 0x48, 0x19, 0x72, 0x17, 0x18, 0x80, + 0x01, 0x32, 0x12, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2e, 0x5f, + 0x5c, 0x2d, 0x5d, 0x2a, 0x24, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x22, 0xb6, 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x64, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 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, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, + 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x8c, 0x01, + 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x27, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, + 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x2b, 0x0a, 0x11, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x62, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x22, 0x1a, 0x0a, 0x18, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x98, 0x0b, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, + 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xe8, 0x02, 0x0a, 0x10, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, + 0x2f, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 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, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe9, 0x01, 0x92, 0x41, 0xb4, 0x01, + 0x12, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, + 0x4c, 0x69, 0x6e, 0x6b, 0x1a, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, + 0x65, 0x77, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x74, + 0x6f, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4a, 0x59, 0x0a, 0x03, 0x32, 0x30, 0x31, + 0x12, 0x52, 0x0a, 0x13, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x39, 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, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x03, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x23, 0x3a, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, + 0x14, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, + 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0xda, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, + 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x35, 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, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, - 0xa9, 0x01, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x42, 0x8b, 0x01, 0x92, 0x41, 0x75, 0x32, 0x61, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2e, 0x20, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x2e, 0x20, 0x55, - 0x73, 0x65, 0x20, 0x2d, 0x31, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x59, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x40, 0x8f, 0x40, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0xba, 0x48, - 0x10, 0x1a, 0x0e, 0x18, 0xe8, 0x07, 0x28, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x4b, 0x0a, 0x06, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xba, 0x48, 0x19, - 0x72, 0x17, 0x18, 0x80, 0x01, 0x32, 0x12, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, - 0x2d, 0x39, 0x2e, 0x5f, 0x5c, 0x2d, 0x5d, 0x2a, 0x24, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x22, 0xb6, 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 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, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0b, 0x73, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x1a, 0x8c, 0x01, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, - 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, - 0x22, 0x1a, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0xaa, 0x01, 0x0a, 0x09, 0x54, 0x61, 0x73, - 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x41, 0x53, - 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x02, - 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, - 0x49, 0x4e, 0x4b, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, - 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x16, 0x0a, - 0x12, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x55, 0x4c, - 0x54, 0x45, 0x44, 0x10, 0x05, 0x32, 0x98, 0x0b, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xe8, 0x02, 0x0a, 0x10, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, - 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 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, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, - 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe9, 0x01, 0x92, 0x41, 0xb4, - 0x01, 0x12, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x1a, 0x43, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, - 0x6e, 0x65, 0x77, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, - 0x74, 0x6f, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4a, 0x59, 0x0a, 0x03, 0x32, 0x30, - 0x31, 0x12, 0x52, 0x0a, 0x13, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, - 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x39, 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, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x03, 0x10, 0x03, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x23, 0x3a, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x22, 0x14, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x68, 0x61, 0x64, - 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0xda, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x35, 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, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 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, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd7, 0x01, 0x92, 0x41, 0xaf, 0x01, - 0x12, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, - 0x6e, 0x6b, 0x73, 0x1a, 0x51, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x73, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x3a, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x61, 0x73, 0x65, - 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x4a, 0x47, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x40, 0x0a, - 0x02, 0x4f, 0x4b, 0x12, 0x3a, 0x0a, 0x38, 0x1a, 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, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, - 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, - 0xa6, 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, - 0x69, 0x6e, 0x6b, 0x12, 0xe5, 0x02, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, - 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, - 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, - 0x6e, 0x6b, 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, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xe6, 0x01, 0x92, 0x41, 0x9e, 0x01, 0x12, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x1a, 0x2d, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4a, 0x59, 0x0a, 0x03, - 0x32, 0x30, 0x30, 0x12, 0x52, 0x0a, 0x13, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, - 0x6e, 0x6b, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x39, 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, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x03, 0x10, 0x03, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x3a, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x32, 0x27, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0xfd, 0x01, 0x0a, 0x10, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, - 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 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, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, - 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x92, 0x41, 0x51, 0x12, - 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, - 0x69, 0x6e, 0x6b, 0x1a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x62, 0x79, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x2e, 0x4a, 0x1c, 0x0a, 0x03, 0x32, 0x30, 0x34, 0x12, 0x15, 0x0a, 0x13, 0x53, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x03, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x2a, 0x1b, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x1a, 0x53, 0x92, 0x41, 0x50, - 0x0a, 0x0c, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x40, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x20, - 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x64, 0x69, 0x73, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x2e, - 0x42, 0xb0, 0x02, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, + 0x1a, 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, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd7, 0x01, 0x92, 0x41, 0xaf, 0x01, 0x12, + 0x11, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, + 0x6b, 0x73, 0x1a, 0x51, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x73, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x3a, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, + 0x20, 0x6f, 0x6e, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x4a, 0x47, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x40, 0x0a, 0x02, + 0x4f, 0x4b, 0x12, 0x3a, 0x0a, 0x38, 0x1a, 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, 0x42, 0x0f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, - 0x6e, 0x6b, 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, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, + 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, + 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, + 0x6e, 0x6b, 0x12, 0xe5, 0x02, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, + 0x6b, 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, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xe6, 0x01, 0x92, 0x41, 0x9e, 0x01, 0x12, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x1a, 0x2d, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4a, 0x59, 0x0a, 0x03, 0x32, + 0x30, 0x30, 0x12, 0x52, 0x0a, 0x13, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, + 0x6b, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x39, 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, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x03, 0x10, 0x03, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x36, 0x3a, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x32, 0x27, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0xfd, 0x01, 0x0a, 0x10, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, + 0x2f, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 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, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x92, 0x41, 0x51, 0x12, 0x12, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, + 0x6e, 0x6b, 0x1a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x62, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x2e, 0x4a, 0x1c, 0x0a, 0x03, 0x32, 0x30, 0x34, 0x12, 0x15, 0x0a, 0x13, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x8a, + 0xa6, 0x1d, 0x04, 0x08, 0x03, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x2a, 0x1b, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, + 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x1a, 0x53, 0x92, 0x41, 0x50, 0x0a, + 0x0c, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x40, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x20, 0x73, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x64, 0x69, 0x73, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x2e, 0x42, + 0xb0, 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, 0x0f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, + 0x6b, 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 ( @@ -836,47 +667,44 @@ func file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescGZIP() []byte { return file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDescData } -var file_redpanda_api_console_v1alpha1_shadowlink_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_redpanda_api_console_v1alpha1_shadowlink_proto_goTypes = []any{ - (TaskState)(0), // 0: redpanda.api.console.v1alpha1.TaskState - (*CreateShadowLinkResponse)(nil), // 1: redpanda.api.console.v1alpha1.CreateShadowLinkResponse - (*ShadowLinkTaskStatus)(nil), // 2: redpanda.api.console.v1alpha1.ShadowLinkTaskStatus - (*ShadowLink)(nil), // 3: redpanda.api.console.v1alpha1.ShadowLink - (*ListShadowLinksRequest)(nil), // 4: redpanda.api.console.v1alpha1.ListShadowLinksRequest - (*ListShadowLinksResponse)(nil), // 5: redpanda.api.console.v1alpha1.ListShadowLinksResponse - (*UpdateShadowLinkResponse)(nil), // 6: redpanda.api.console.v1alpha1.UpdateShadowLinkResponse - (*DeleteShadowLinkResponse)(nil), // 7: redpanda.api.console.v1alpha1.DeleteShadowLinkResponse - (*ListShadowLinksRequest_Filter)(nil), // 8: redpanda.api.console.v1alpha1.ListShadowLinksRequest.Filter - (*ListShadowLinksResponse_ShadowLink)(nil), // 9: redpanda.api.console.v1alpha1.ListShadowLinksResponse.ShadowLink - (*v2.ShadowLinkConfigurations)(nil), // 10: redpanda.core.admin.v2.ShadowLinkConfigurations - (v2.ShadowLinkState)(0), // 11: redpanda.core.admin.v2.ShadowLinkState - (*v2.CreateShadowLinkRequest)(nil), // 12: redpanda.core.admin.v2.CreateShadowLinkRequest - (*v2.UpdateShadowLinkRequest)(nil), // 13: redpanda.core.admin.v2.UpdateShadowLinkRequest - (*v2.DeleteShadowLinkRequest)(nil), // 14: redpanda.core.admin.v2.DeleteShadowLinkRequest + (*CreateShadowLinkResponse)(nil), // 0: redpanda.api.console.v1alpha1.CreateShadowLinkResponse + (*ShadowLink)(nil), // 1: redpanda.api.console.v1alpha1.ShadowLink + (*ListShadowLinksRequest)(nil), // 2: redpanda.api.console.v1alpha1.ListShadowLinksRequest + (*ListShadowLinksResponse)(nil), // 3: redpanda.api.console.v1alpha1.ListShadowLinksResponse + (*UpdateShadowLinkResponse)(nil), // 4: redpanda.api.console.v1alpha1.UpdateShadowLinkResponse + (*DeleteShadowLinkResponse)(nil), // 5: redpanda.api.console.v1alpha1.DeleteShadowLinkResponse + (*ListShadowLinksRequest_Filter)(nil), // 6: redpanda.api.console.v1alpha1.ListShadowLinksRequest.Filter + (*ListShadowLinksResponse_ShadowLink)(nil), // 7: redpanda.api.console.v1alpha1.ListShadowLinksResponse.ShadowLink + (*v2.ShadowLinkConfigurations)(nil), // 8: redpanda.core.admin.v2.ShadowLinkConfigurations + (v2.ShadowLinkState)(0), // 9: redpanda.core.admin.v2.ShadowLinkState + (*v2.ShadowLinkTaskStatus)(nil), // 10: redpanda.core.admin.v2.ShadowLinkTaskStatus + (*v2.CreateShadowLinkRequest)(nil), // 11: redpanda.core.admin.v2.CreateShadowLinkRequest + (*v2.UpdateShadowLinkRequest)(nil), // 12: redpanda.core.admin.v2.UpdateShadowLinkRequest + (*v2.DeleteShadowLinkRequest)(nil), // 13: redpanda.core.admin.v2.DeleteShadowLinkRequest } var file_redpanda_api_console_v1alpha1_shadowlink_proto_depIdxs = []int32{ - 3, // 0: redpanda.api.console.v1alpha1.CreateShadowLinkResponse.shadow_link:type_name -> redpanda.api.console.v1alpha1.ShadowLink - 0, // 1: redpanda.api.console.v1alpha1.ShadowLinkTaskStatus.state:type_name -> redpanda.api.console.v1alpha1.TaskState - 10, // 2: redpanda.api.console.v1alpha1.ShadowLink.configurations:type_name -> redpanda.core.admin.v2.ShadowLinkConfigurations - 11, // 3: redpanda.api.console.v1alpha1.ShadowLink.state:type_name -> redpanda.core.admin.v2.ShadowLinkState - 2, // 4: redpanda.api.console.v1alpha1.ShadowLink.tasks_status:type_name -> redpanda.api.console.v1alpha1.ShadowLinkTaskStatus - 8, // 5: redpanda.api.console.v1alpha1.ListShadowLinksRequest.filter:type_name -> redpanda.api.console.v1alpha1.ListShadowLinksRequest.Filter - 9, // 6: redpanda.api.console.v1alpha1.ListShadowLinksResponse.shadow_links:type_name -> redpanda.api.console.v1alpha1.ListShadowLinksResponse.ShadowLink - 11, // 7: redpanda.api.console.v1alpha1.ListShadowLinksResponse.ShadowLink.state:type_name -> redpanda.core.admin.v2.ShadowLinkState - 12, // 8: redpanda.api.console.v1alpha1.ShadowLinkService.CreateShadowLink:input_type -> redpanda.core.admin.v2.CreateShadowLinkRequest - 4, // 9: redpanda.api.console.v1alpha1.ShadowLinkService.ListShadowLinks:input_type -> redpanda.api.console.v1alpha1.ListShadowLinksRequest - 13, // 10: redpanda.api.console.v1alpha1.ShadowLinkService.UpdateShadowLink:input_type -> redpanda.core.admin.v2.UpdateShadowLinkRequest - 14, // 11: redpanda.api.console.v1alpha1.ShadowLinkService.DeleteShadowLink:input_type -> redpanda.core.admin.v2.DeleteShadowLinkRequest - 1, // 12: redpanda.api.console.v1alpha1.ShadowLinkService.CreateShadowLink:output_type -> redpanda.api.console.v1alpha1.CreateShadowLinkResponse - 5, // 13: redpanda.api.console.v1alpha1.ShadowLinkService.ListShadowLinks:output_type -> redpanda.api.console.v1alpha1.ListShadowLinksResponse - 6, // 14: redpanda.api.console.v1alpha1.ShadowLinkService.UpdateShadowLink:output_type -> redpanda.api.console.v1alpha1.UpdateShadowLinkResponse - 7, // 15: redpanda.api.console.v1alpha1.ShadowLinkService.DeleteShadowLink:output_type -> redpanda.api.console.v1alpha1.DeleteShadowLinkResponse - 12, // [12:16] is the sub-list for method output_type - 8, // [8:12] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 1, // 0: redpanda.api.console.v1alpha1.CreateShadowLinkResponse.shadow_link:type_name -> redpanda.api.console.v1alpha1.ShadowLink + 8, // 1: redpanda.api.console.v1alpha1.ShadowLink.configurations:type_name -> redpanda.core.admin.v2.ShadowLinkConfigurations + 9, // 2: redpanda.api.console.v1alpha1.ShadowLink.state:type_name -> redpanda.core.admin.v2.ShadowLinkState + 10, // 3: redpanda.api.console.v1alpha1.ShadowLink.tasks_status:type_name -> redpanda.core.admin.v2.ShadowLinkTaskStatus + 6, // 4: redpanda.api.console.v1alpha1.ListShadowLinksRequest.filter:type_name -> redpanda.api.console.v1alpha1.ListShadowLinksRequest.Filter + 7, // 5: redpanda.api.console.v1alpha1.ListShadowLinksResponse.shadow_links:type_name -> redpanda.api.console.v1alpha1.ListShadowLinksResponse.ShadowLink + 9, // 6: redpanda.api.console.v1alpha1.ListShadowLinksResponse.ShadowLink.state:type_name -> redpanda.core.admin.v2.ShadowLinkState + 11, // 7: redpanda.api.console.v1alpha1.ShadowLinkService.CreateShadowLink:input_type -> redpanda.core.admin.v2.CreateShadowLinkRequest + 2, // 8: redpanda.api.console.v1alpha1.ShadowLinkService.ListShadowLinks:input_type -> redpanda.api.console.v1alpha1.ListShadowLinksRequest + 12, // 9: redpanda.api.console.v1alpha1.ShadowLinkService.UpdateShadowLink:input_type -> redpanda.core.admin.v2.UpdateShadowLinkRequest + 13, // 10: redpanda.api.console.v1alpha1.ShadowLinkService.DeleteShadowLink:input_type -> redpanda.core.admin.v2.DeleteShadowLinkRequest + 0, // 11: redpanda.api.console.v1alpha1.ShadowLinkService.CreateShadowLink:output_type -> redpanda.api.console.v1alpha1.CreateShadowLinkResponse + 3, // 12: redpanda.api.console.v1alpha1.ShadowLinkService.ListShadowLinks:output_type -> redpanda.api.console.v1alpha1.ListShadowLinksResponse + 4, // 13: redpanda.api.console.v1alpha1.ShadowLinkService.UpdateShadowLink:output_type -> redpanda.api.console.v1alpha1.UpdateShadowLinkResponse + 5, // 14: redpanda.api.console.v1alpha1.ShadowLinkService.DeleteShadowLink:output_type -> redpanda.api.console.v1alpha1.DeleteShadowLinkResponse + 11, // [11:15] is the sub-list for method output_type + 7, // [7:11] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_redpanda_api_console_v1alpha1_shadowlink_proto_init() } @@ -889,14 +717,13 @@ func file_redpanda_api_console_v1alpha1_shadowlink_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_redpanda_api_console_v1alpha1_shadowlink_proto_rawDesc, - NumEnums: 1, - NumMessages: 9, + NumEnums: 0, + NumMessages: 8, NumExtensions: 0, NumServices: 1, }, GoTypes: file_redpanda_api_console_v1alpha1_shadowlink_proto_goTypes, DependencyIndexes: file_redpanda_api_console_v1alpha1_shadowlink_proto_depIdxs, - EnumInfos: file_redpanda_api_console_v1alpha1_shadowlink_proto_enumTypes, MessageInfos: file_redpanda_api_console_v1alpha1_shadowlink_proto_msgTypes, }.Build() File_redpanda_api_console_v1alpha1_shadowlink_proto = out.File diff --git a/backend/pkg/protogen/redpanda/api/dataplane/v1alpha3/shadowlink.pb.go b/backend/pkg/protogen/redpanda/api/dataplane/v1alpha3/shadowlink.pb.go index 70324283f..3e3eb7cf5 100644 --- a/backend/pkg/protogen/redpanda/api/dataplane/v1alpha3/shadowlink.pb.go +++ b/backend/pkg/protogen/redpanda/api/dataplane/v1alpha3/shadowlink.pb.go @@ -28,70 +28,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// Task states -type TaskState int32 - -const ( - TaskState_TASK_STATE_UNSPECIFIED TaskState = 0 - // Task is active - TaskState_TASK_STATE_ACTIVE TaskState = 1 - // Task was paused - TaskState_TASK_STATE_PAUSED TaskState = 2 - // Task is unable to communicate with source cluster - TaskState_TASK_STATE_LINK_UNAVAILABLE TaskState = 3 - // Task is not running - TaskState_TASK_STATE_NOT_RUNNING TaskState = 4 - // Task is faulted - TaskState_TASK_STATE_FAULTED TaskState = 5 -) - -// Enum value maps for TaskState. -var ( - TaskState_name = map[int32]string{ - 0: "TASK_STATE_UNSPECIFIED", - 1: "TASK_STATE_ACTIVE", - 2: "TASK_STATE_PAUSED", - 3: "TASK_STATE_LINK_UNAVAILABLE", - 4: "TASK_STATE_NOT_RUNNING", - 5: "TASK_STATE_FAULTED", - } - TaskState_value = map[string]int32{ - "TASK_STATE_UNSPECIFIED": 0, - "TASK_STATE_ACTIVE": 1, - "TASK_STATE_PAUSED": 2, - "TASK_STATE_LINK_UNAVAILABLE": 3, - "TASK_STATE_NOT_RUNNING": 4, - "TASK_STATE_FAULTED": 5, - } -) - -func (x TaskState) Enum() *TaskState { - p := new(TaskState) - *p = x - return p -} - -func (x TaskState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (TaskState) Descriptor() protoreflect.EnumDescriptor { - return file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_enumTypes[0].Descriptor() -} - -func (TaskState) Type() protoreflect.EnumType { - return &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_enumTypes[0] -} - -func (x TaskState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use TaskState.Descriptor instead. -func (TaskState) EnumDescriptor() ([]byte, []int) { - return file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_rawDescGZIP(), []int{0} -} - type FailOverResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Name of the shadow link that was failed over @@ -660,88 +596,6 @@ func (x *GetShadowLinkResponse) GetShadowLink() *ShadowLink { return nil } -// Status of a task -type ShadowLinkTaskStatus struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Name of the task - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // State of the task - State TaskState `protobuf:"varint,2,opt,name=state,proto3,enum=redpanda.api.dataplane.v1alpha3.TaskState" json:"state,omitempty"` - // Reason for task being in state - Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` - // The broker the task is running on - BrokerId int32 `protobuf:"varint,4,opt,name=broker_id,json=brokerId,proto3" json:"broker_id,omitempty"` - // The shard the task is running on - ShardId int32 `protobuf:"varint,5,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ShadowLinkTaskStatus) Reset() { - *x = ShadowLinkTaskStatus{} - mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ShadowLinkTaskStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ShadowLinkTaskStatus) ProtoMessage() {} - -func (x *ShadowLinkTaskStatus) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[10] - 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 ShadowLinkTaskStatus.ProtoReflect.Descriptor instead. -func (*ShadowLinkTaskStatus) Descriptor() ([]byte, []int) { - return file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_rawDescGZIP(), []int{10} -} - -func (x *ShadowLinkTaskStatus) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ShadowLinkTaskStatus) GetState() TaskState { - if x != nil { - return x.State - } - return TaskState_TASK_STATE_UNSPECIFIED -} - -func (x *ShadowLinkTaskStatus) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - -func (x *ShadowLinkTaskStatus) GetBrokerId() int32 { - if x != nil { - return x.BrokerId - } - return 0 -} - -func (x *ShadowLinkTaskStatus) GetShardId() int32 { - if x != nil { - return x.ShardId - } - return 0 -} - type ShadowLink struct { state protoimpl.MessageState `protogen:"open.v1"` // Return name, configuration, and overall state @@ -749,7 +603,7 @@ type ShadowLink struct { Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty"` Configurations *v2.ShadowLinkConfigurations `protobuf:"bytes,3,opt,name=configurations,proto3" json:"configurations,omitempty"` State v2.ShadowLinkState `protobuf:"varint,4,opt,name=state,proto3,enum=redpanda.core.admin.v2.ShadowLinkState" json:"state,omitempty"` - TasksStatus []*ShadowLinkTaskStatus `protobuf:"bytes,5,rep,name=tasks_status,json=tasksStatus,proto3" json:"tasks_status,omitempty"` + TasksStatus []*v2.ShadowLinkTaskStatus `protobuf:"bytes,5,rep,name=tasks_status,json=tasksStatus,proto3" json:"tasks_status,omitempty"` SyncedShadowTopicProperties []string `protobuf:"bytes,6,rep,name=synced_shadow_topic_properties,json=syncedShadowTopicProperties,proto3" json:"synced_shadow_topic_properties,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -757,7 +611,7 @@ type ShadowLink struct { func (x *ShadowLink) Reset() { *x = ShadowLink{} - mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[11] + mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -769,7 +623,7 @@ func (x *ShadowLink) String() string { func (*ShadowLink) ProtoMessage() {} func (x *ShadowLink) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[11] + mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -782,7 +636,7 @@ func (x *ShadowLink) ProtoReflect() protoreflect.Message { // Deprecated: Use ShadowLink.ProtoReflect.Descriptor instead. func (*ShadowLink) Descriptor() ([]byte, []int) { - return file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_rawDescGZIP(), []int{11} + return file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_rawDescGZIP(), []int{10} } func (x *ShadowLink) GetName() string { @@ -813,7 +667,7 @@ func (x *ShadowLink) GetState() v2.ShadowLinkState { return v2.ShadowLinkState(0) } -func (x *ShadowLink) GetTasksStatus() []*ShadowLinkTaskStatus { +func (x *ShadowLink) GetTasksStatus() []*v2.ShadowLinkTaskStatus { if x != nil { return x.TasksStatus } @@ -837,7 +691,7 @@ type ListShadowLinkTopicsRequest_Filter struct { func (x *ListShadowLinkTopicsRequest_Filter) Reset() { *x = ListShadowLinkTopicsRequest_Filter{} - mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[12] + mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -849,7 +703,7 @@ func (x *ListShadowLinkTopicsRequest_Filter) String() string { func (*ListShadowLinkTopicsRequest_Filter) ProtoMessage() {} func (x *ListShadowLinkTopicsRequest_Filter) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[12] + mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -887,7 +741,7 @@ type GetShadowTopicResponse_PartitionInfo struct { func (x *GetShadowTopicResponse_PartitionInfo) Reset() { *x = GetShadowTopicResponse_PartitionInfo{} - mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[13] + mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -899,7 +753,7 @@ func (x *GetShadowTopicResponse_PartitionInfo) String() string { func (*GetShadowTopicResponse_PartitionInfo) ProtoMessage() {} func (x *GetShadowTopicResponse_PartitionInfo) ProtoReflect() protoreflect.Message { - mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[13] + mi := &file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1106,198 +960,175 @@ var file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, - 0x6b, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0xbc, 0x01, - 0x0a, 0x14, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x61, 0x73, 0x6b, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x72, 0x65, 0x64, 0x70, - 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0xea, 0x02, 0x0a, - 0x0a, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, - 0x64, 0x12, 0x58, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x72, 0x65, 0x64, 0x70, - 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x72, 0x65, 0x64, + 0x6b, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0xe1, 0x02, + 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x69, 0x64, 0x12, 0x58, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x0c, 0x74, 0x61, - 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x35, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x33, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x61, 0x73, - 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x73, - 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1b, 0x73, 0x79, - 0x6e, 0x63, 0x65, 0x64, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2a, 0xaa, 0x01, 0x0a, 0x09, 0x54, 0x61, - 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x41, 0x53, 0x4b, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x41, - 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, - 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, - 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x16, - 0x0a, 0x12, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x55, - 0x4c, 0x54, 0x45, 0x44, 0x10, 0x05, 0x32, 0xc6, 0x0f, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x64, 0x6f, - 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdf, 0x02, 0x0a, - 0x08, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x64, 0x70, - 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x32, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, + 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x72, 0x65, + 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x74, + 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, + 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x1e, + 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x1b, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x32, 0xc6, 0x0f, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdf, 0x02, 0x0a, 0x08, 0x46, 0x61, 0x69, 0x6c, + 0x4f, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, + 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, + 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, + 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, + 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xf6, 0x01, 0x92, 0x41, 0xbb, 0x01, 0x12, 0x15, 0x46, 0x61, 0x69, 0x6c, 0x20, 0x4f, 0x76, + 0x65, 0x72, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x1a, 0x41, + 0x46, 0x61, 0x69, 0x6c, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x20, 0x73, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x6e, 0x6b, + 0x2e, 0x4a, 0x5f, 0x0a, 0x03, 0x32, 0x30, 0x32, 0x12, 0x58, 0x0a, 0x1f, 0x46, 0x61, 0x69, 0x6c, + 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x33, 0x1a, + 0x31, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x33, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x03, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, + 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, + 0x2f, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x12, 0xa8, 0x03, 0x0a, 0x14, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x73, 0x12, 0x3c, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x33, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x01, 0x92, 0x41, 0xbb, 0x01, 0x12, 0x15, 0x46, 0x61, - 0x69, 0x6c, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, - 0x69, 0x6e, 0x6b, 0x1a, 0x41, 0x46, 0x61, 0x69, 0x6c, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, - 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x6f, 0x72, 0x20, - 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, - 0x77, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x61, - 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x4a, 0x5f, 0x0a, 0x03, 0x32, 0x30, 0x32, 0x12, 0x58, 0x0a, - 0x1f, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, - 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, - 0x12, 0x35, 0x0a, 0x33, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x03, 0x10, 0x03, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x12, 0xa8, - 0x03, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, - 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x3c, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, + 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, + 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x92, 0x02, 0x92, 0x41, 0xd1, 0x01, 0x12, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x53, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x1a, + 0x66, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, + 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x3a, 0x20, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x4a, 0x4e, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x47, + 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x41, 0x0a, 0x3f, 0x1a, 0x3d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, + 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x73, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x12, 0xf1, 0x02, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x36, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x37, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xed, 0x01, 0x92, 0x41, 0x9f, 0x01, 0x12, + 0x10, 0x47, 0x65, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x1a, 0x41, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, + 0x69, 0x6e, 0x6b, 0x2e, 0x4a, 0x48, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x41, 0x0a, 0x02, 0x4f, + 0x4b, 0x12, 0x3b, 0x0a, 0x39, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, - 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x02, 0x92, 0x41, 0xd1, 0x01, 0x12, 0x17, 0x4c, 0x69, 0x73, - 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x73, 0x1a, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, - 0x77, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x69, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x3a, - 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, - 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x4a, 0x4e, 0x0a, 0x03, - 0x32, 0x30, 0x30, 0x12, 0x47, 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x41, 0x0a, 0x3f, 0x1a, 0x3d, 0x2e, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, + 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, + 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, + 0x6e, 0x6b, 0x2f, 0x7b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2f, 0x7b, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x9d, 0x03, 0x0a, 0x10, 0x47, 0x65, 0x74, + 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x38, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, - 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, - 0x2f, 0x7b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0xf1, 0x02, 0x0a, 0x0e, 0x47, 0x65, - 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x36, 0x2e, 0x72, - 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xed, 0x01, - 0x92, 0x41, 0x9f, 0x01, 0x12, 0x10, 0x47, 0x65, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, - 0x20, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x1a, 0x41, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x4a, 0x48, 0x0a, 0x03, 0x32, 0x30, 0x30, - 0x12, 0x41, 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x3b, 0x0a, 0x39, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x64, + 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x93, 0x02, 0x92, 0x41, 0xdc, 0x01, 0x12, 0x17, 0x47, 0x65, 0x74, 0x20, 0x53, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x1a, 0x75, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x2c, + 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x64, 0x2c, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2e, 0x4a, 0x4a, 0x0a, 0x03, 0x32, 0x30, 0x30, + 0x12, 0x43, 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x3d, 0x0a, 0x3b, 0x1a, 0x39, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x9d, 0x03, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x12, 0x38, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x72, - 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x93, 0x02, 0x92, 0x41, 0xdc, 0x01, 0x12, 0x17, - 0x47, 0x65, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x20, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x75, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, - 0x65, 0x20, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, - 0x6c, 0x69, 0x6e, 0x6b, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x20, 0x72, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, - 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2e, 0x4a, 0x4a, - 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x43, 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x3d, 0x0a, 0x3b, 0x1a, - 0x39, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x01, - 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0xbf, 0x02, - 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, - 0x35, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, - 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, - 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbe, - 0x01, 0x92, 0x41, 0x8f, 0x01, 0x12, 0x0f, 0x47, 0x65, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, - 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x1a, 0x33, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, - 0x6e, 0x6b, 0x20, 0x62, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x4a, 0x47, 0x0a, 0x03, 0x32, - 0x30, 0x30, 0x12, 0x40, 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x3a, 0x0a, 0x38, 0x1a, 0x36, 0x2e, 0x72, - 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x1a, - 0x4e, 0x92, 0x41, 0x4b, 0x0a, 0x18, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, - 0x6b, 0x73, 0x20, 0x28, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x29, 0x12, 0x2f, - 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, - 0x61, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x2e, 0x42, - 0xbe, 0x02, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x42, 0x0f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, - 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 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, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x33, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x41, 0x44, 0xaa, 0x02, 0x1f, 0x52, 0x65, 0x64, 0x70, - 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0xca, 0x02, 0x1f, 0x52, 0x65, - 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0xe2, 0x02, 0x2b, - 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x44, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x22, 0x52, 0x65, - 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x44, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, + 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0xbf, 0x02, 0x0a, 0x0d, 0x47, 0x65, 0x74, + 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x64, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, + 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbe, 0x01, 0x92, 0x41, 0x8f, 0x01, + 0x12, 0x0f, 0x47, 0x65, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, + 0x6b, 0x1a, 0x33, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x62, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x4a, 0x47, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x40, 0x0a, + 0x02, 0x4f, 0x4b, 0x12, 0x3a, 0x0a, 0x38, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, + 0xa6, 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, + 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x1a, 0x4e, 0x92, 0x41, 0x4b, 0x0a, + 0x18, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x20, 0x28, 0x44, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x29, 0x12, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x20, 0x73, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x2e, 0x42, 0xbe, 0x02, 0x0a, 0x23, 0x63, + 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x33, 0x42, 0x0f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 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, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x3b, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0xa2, 0x02, + 0x03, 0x52, 0x41, 0x44, 0xaa, 0x02, 0x1f, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, + 0x41, 0x70, 0x69, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x56, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0xca, 0x02, 0x1f, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, + 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5c, + 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0xe2, 0x02, 0x2b, 0x52, 0x65, 0x64, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x22, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, + 0x61, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -1312,57 +1143,54 @@ func file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_rawDescGZIP() []byte return file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_rawDescData } -var file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_goTypes = []any{ - (TaskState)(0), // 0: redpanda.api.dataplane.v1alpha3.TaskState - (*FailOverResponse)(nil), // 1: redpanda.api.dataplane.v1alpha3.FailOverResponse - (*ListShadowLinkTopicsRequest)(nil), // 2: redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsRequest - (*ShadowTopic)(nil), // 3: redpanda.api.dataplane.v1alpha3.ShadowTopic - (*ListShadowLinkTopicsResponse)(nil), // 4: redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsResponse - (*GetShadowTopicRequest)(nil), // 5: redpanda.api.dataplane.v1alpha3.GetShadowTopicRequest - (*GetShadowTopicResponse)(nil), // 6: redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse - (*GetShadowMetricsRequest)(nil), // 7: redpanda.api.dataplane.v1alpha3.GetShadowMetricsRequest - (*GetShadowMetricsResponse)(nil), // 8: redpanda.api.dataplane.v1alpha3.GetShadowMetricsResponse - (*GetShadowLinkRequest)(nil), // 9: redpanda.api.dataplane.v1alpha3.GetShadowLinkRequest - (*GetShadowLinkResponse)(nil), // 10: redpanda.api.dataplane.v1alpha3.GetShadowLinkResponse - (*ShadowLinkTaskStatus)(nil), // 11: redpanda.api.dataplane.v1alpha3.ShadowLinkTaskStatus - (*ShadowLink)(nil), // 12: redpanda.api.dataplane.v1alpha3.ShadowLink - (*ListShadowLinkTopicsRequest_Filter)(nil), // 13: redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsRequest.Filter - (*GetShadowTopicResponse_PartitionInfo)(nil), // 14: redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.PartitionInfo - (v2.ShadowTopicState)(0), // 15: redpanda.core.admin.v2.ShadowTopicState - (*v2.ShadowLinkConfigurations)(nil), // 16: redpanda.core.admin.v2.ShadowLinkConfigurations - (v2.ShadowLinkState)(0), // 17: redpanda.core.admin.v2.ShadowLinkState - (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp - (*v2.FailOverRequest)(nil), // 19: redpanda.core.admin.v2.FailOverRequest + (*FailOverResponse)(nil), // 0: redpanda.api.dataplane.v1alpha3.FailOverResponse + (*ListShadowLinkTopicsRequest)(nil), // 1: redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsRequest + (*ShadowTopic)(nil), // 2: redpanda.api.dataplane.v1alpha3.ShadowTopic + (*ListShadowLinkTopicsResponse)(nil), // 3: redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsResponse + (*GetShadowTopicRequest)(nil), // 4: redpanda.api.dataplane.v1alpha3.GetShadowTopicRequest + (*GetShadowTopicResponse)(nil), // 5: redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse + (*GetShadowMetricsRequest)(nil), // 6: redpanda.api.dataplane.v1alpha3.GetShadowMetricsRequest + (*GetShadowMetricsResponse)(nil), // 7: redpanda.api.dataplane.v1alpha3.GetShadowMetricsResponse + (*GetShadowLinkRequest)(nil), // 8: redpanda.api.dataplane.v1alpha3.GetShadowLinkRequest + (*GetShadowLinkResponse)(nil), // 9: redpanda.api.dataplane.v1alpha3.GetShadowLinkResponse + (*ShadowLink)(nil), // 10: redpanda.api.dataplane.v1alpha3.ShadowLink + (*ListShadowLinkTopicsRequest_Filter)(nil), // 11: redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsRequest.Filter + (*GetShadowTopicResponse_PartitionInfo)(nil), // 12: redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.PartitionInfo + (v2.ShadowTopicState)(0), // 13: redpanda.core.admin.v2.ShadowTopicState + (*v2.ShadowLinkConfigurations)(nil), // 14: redpanda.core.admin.v2.ShadowLinkConfigurations + (v2.ShadowLinkState)(0), // 15: redpanda.core.admin.v2.ShadowLinkState + (*v2.ShadowLinkTaskStatus)(nil), // 16: redpanda.core.admin.v2.ShadowLinkTaskStatus + (*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp + (*v2.FailOverRequest)(nil), // 18: redpanda.core.admin.v2.FailOverRequest } var file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_depIdxs = []int32{ - 13, // 0: redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsRequest.filter:type_name -> redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsRequest.Filter - 15, // 1: redpanda.api.dataplane.v1alpha3.ShadowTopic.state:type_name -> redpanda.core.admin.v2.ShadowTopicState - 3, // 2: redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsResponse.shadow_topics:type_name -> redpanda.api.dataplane.v1alpha3.ShadowTopic - 15, // 3: redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.state:type_name -> redpanda.core.admin.v2.ShadowTopicState - 14, // 4: redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.partitions:type_name -> redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.PartitionInfo - 12, // 5: redpanda.api.dataplane.v1alpha3.GetShadowLinkResponse.shadow_link:type_name -> redpanda.api.dataplane.v1alpha3.ShadowLink - 0, // 6: redpanda.api.dataplane.v1alpha3.ShadowLinkTaskStatus.state:type_name -> redpanda.api.dataplane.v1alpha3.TaskState - 16, // 7: redpanda.api.dataplane.v1alpha3.ShadowLink.configurations:type_name -> redpanda.core.admin.v2.ShadowLinkConfigurations - 17, // 8: redpanda.api.dataplane.v1alpha3.ShadowLink.state:type_name -> redpanda.core.admin.v2.ShadowLinkState - 11, // 9: redpanda.api.dataplane.v1alpha3.ShadowLink.tasks_status:type_name -> redpanda.api.dataplane.v1alpha3.ShadowLinkTaskStatus - 18, // 10: redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.PartitionInfo.source_last_updated_timestamp:type_name -> google.protobuf.Timestamp - 19, // 11: redpanda.api.dataplane.v1alpha3.ShadowLinkService.FailOver:input_type -> redpanda.core.admin.v2.FailOverRequest - 2, // 12: redpanda.api.dataplane.v1alpha3.ShadowLinkService.ListShadowLinkTopics:input_type -> redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsRequest - 5, // 13: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowTopic:input_type -> redpanda.api.dataplane.v1alpha3.GetShadowTopicRequest - 7, // 14: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowMetrics:input_type -> redpanda.api.dataplane.v1alpha3.GetShadowMetricsRequest - 9, // 15: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowLink:input_type -> redpanda.api.dataplane.v1alpha3.GetShadowLinkRequest - 1, // 16: redpanda.api.dataplane.v1alpha3.ShadowLinkService.FailOver:output_type -> redpanda.api.dataplane.v1alpha3.FailOverResponse - 4, // 17: redpanda.api.dataplane.v1alpha3.ShadowLinkService.ListShadowLinkTopics:output_type -> redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsResponse - 6, // 18: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowTopic:output_type -> redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse - 8, // 19: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowMetrics:output_type -> redpanda.api.dataplane.v1alpha3.GetShadowMetricsResponse - 10, // 20: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowLink:output_type -> redpanda.api.dataplane.v1alpha3.GetShadowLinkResponse - 16, // [16:21] is the sub-list for method output_type - 11, // [11:16] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 11, // 0: redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsRequest.filter:type_name -> redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsRequest.Filter + 13, // 1: redpanda.api.dataplane.v1alpha3.ShadowTopic.state:type_name -> redpanda.core.admin.v2.ShadowTopicState + 2, // 2: redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsResponse.shadow_topics:type_name -> redpanda.api.dataplane.v1alpha3.ShadowTopic + 13, // 3: redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.state:type_name -> redpanda.core.admin.v2.ShadowTopicState + 12, // 4: redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.partitions:type_name -> redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.PartitionInfo + 10, // 5: redpanda.api.dataplane.v1alpha3.GetShadowLinkResponse.shadow_link:type_name -> redpanda.api.dataplane.v1alpha3.ShadowLink + 14, // 6: redpanda.api.dataplane.v1alpha3.ShadowLink.configurations:type_name -> redpanda.core.admin.v2.ShadowLinkConfigurations + 15, // 7: redpanda.api.dataplane.v1alpha3.ShadowLink.state:type_name -> redpanda.core.admin.v2.ShadowLinkState + 16, // 8: redpanda.api.dataplane.v1alpha3.ShadowLink.tasks_status:type_name -> redpanda.core.admin.v2.ShadowLinkTaskStatus + 17, // 9: redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.PartitionInfo.source_last_updated_timestamp:type_name -> google.protobuf.Timestamp + 18, // 10: redpanda.api.dataplane.v1alpha3.ShadowLinkService.FailOver:input_type -> redpanda.core.admin.v2.FailOverRequest + 1, // 11: redpanda.api.dataplane.v1alpha3.ShadowLinkService.ListShadowLinkTopics:input_type -> redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsRequest + 4, // 12: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowTopic:input_type -> redpanda.api.dataplane.v1alpha3.GetShadowTopicRequest + 6, // 13: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowMetrics:input_type -> redpanda.api.dataplane.v1alpha3.GetShadowMetricsRequest + 8, // 14: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowLink:input_type -> redpanda.api.dataplane.v1alpha3.GetShadowLinkRequest + 0, // 15: redpanda.api.dataplane.v1alpha3.ShadowLinkService.FailOver:output_type -> redpanda.api.dataplane.v1alpha3.FailOverResponse + 3, // 16: redpanda.api.dataplane.v1alpha3.ShadowLinkService.ListShadowLinkTopics:output_type -> redpanda.api.dataplane.v1alpha3.ListShadowLinkTopicsResponse + 5, // 17: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowTopic:output_type -> redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse + 7, // 18: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowMetrics:output_type -> redpanda.api.dataplane.v1alpha3.GetShadowMetricsResponse + 9, // 19: redpanda.api.dataplane.v1alpha3.ShadowLinkService.GetShadowLink:output_type -> redpanda.api.dataplane.v1alpha3.GetShadowLinkResponse + 15, // [15:20] is the sub-list for method output_type + 10, // [10:15] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_init() } @@ -1375,14 +1203,13 @@ func file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_rawDesc, - NumEnums: 1, - NumMessages: 14, + NumEnums: 0, + NumMessages: 13, NumExtensions: 0, NumServices: 1, }, GoTypes: file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_goTypes, DependencyIndexes: file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_depIdxs, - EnumInfos: file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_enumTypes, MessageInfos: file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_msgTypes, }.Build() File_redpanda_api_dataplane_v1alpha3_shadowlink_proto = out.File diff --git a/buf.lock b/buf.lock index 2d2d5f8bc..ca3c8ba38 100644 --- a/buf.lock +++ b/buf.lock @@ -5,14 +5,14 @@ deps: commit: 52f32327d4b045a79293a6ad4e7e1236 digest: b5:cbabc98d4b7b7b0447c9b15f68eeb8a7a44ef8516cb386ac5f66e7fd4062cd6723ed3f452ad8c384b851f79e33d26e7f8a94e2b807282b3def1cd966c7eace97 - name: buf.build/googleapis/googleapis - commit: 72c8614f3bd0466ea67931ef2c43d608 - digest: b5:13efeea24e633fd45327390bdee941207a8727e96cf01affb84c1e4100fd8f48a42bbd508df11930cd2884629bafad685df1ac3111bc78cdaefcd38c9371c6b1 + commit: 004180b77378443887d3b55cabc00384 + digest: b5:e8f475fe3330f31f5fd86ac689093bcd274e19611a09db91f41d637cb9197881ce89882b94d13a58738e53c91c6e4bae7dc1feba85f590164c975a89e25115dc - name: buf.build/grpc-ecosystem/grpc-gateway commit: a48fcebcf8f140dd9d09359b9bb185a4 digest: b5:330af8a71b579ab96c4f3ee26929d1a68a5a9e986c7cfe0a898591fc514216bb6e723dc04c74d90fdee3f3f14f9100a54b4f079eb273e6e7213f0d5baca36ff8 - name: buf.build/redpandadata/common - commit: 9feeb258823648009d54c7c2b8a22524 - digest: b5:669904f69cff7bf106d81dd30f417dcc64f511da31db1abff2ace9fc4530580ce8da68eb8f5863f6c36d6bb6d9209a6cc61239144f968eae9bbe249440111762 + commit: bb850a94466341c69a738988c0be5a4b + digest: b5:d566ba6746a874a5709970e7f8569584008447d655c556676aabd3430111bbbc0a303dde11d99a1955ee27ac4748bcf7c972503a66db4ef850eb55f239f851ac - name: buf.build/redpandadata/core - commit: e0f79c48b9f04c029d710985687bc1e5 - digest: b5:9f8ccc94057f489f4df2c8a12d0fbcf66d15ea9d891df90eb5baa8b7f299a9071f2d844d0e18e65b609ae827c79833900c341fa7afaee4be33da0d25165923f2 + commit: 05aa34b3829a4d5a801d9487623a7c76 + digest: b5:ca0d5205224273e79678fb4b46bea0bedd25574e148325947b2a0af7893d595dbcf0756ac35be7f445e313de67469ed61f5fe3a2cf5eeca167fe5192b40dcb7a diff --git a/buf.yaml b/buf.yaml index dd66d131a..53d248ea8 100644 --- a/buf.yaml +++ b/buf.yaml @@ -9,7 +9,7 @@ deps: - buf.build/googleapis/googleapis - buf.build/grpc-ecosystem/grpc-gateway:v2.24.0 - buf.build/redpandadata/common - - buf.build/redpandadata/core:e0f79c48b9f04c029d710985687bc1e5 + - buf.build/redpandadata/core:05aa34b3829a4d5a801d9487623a7c76 lint: use: - STANDARD diff --git a/frontend/src/components/pages/shadowlinks/details/task-status-badge.tsx b/frontend/src/components/pages/shadowlinks/details/task-status-badge.tsx index 1e89da26f..8d7b0ea5e 100644 --- a/frontend/src/components/pages/shadowlinks/details/task-status-badge.tsx +++ b/frontend/src/components/pages/shadowlinks/details/task-status-badge.tsx @@ -10,7 +10,7 @@ */ import { Badge } from 'components/redpanda-ui/components/badge'; -import { TaskState } from 'protogen/redpanda/api/dataplane/v1alpha3/shadowlink_pb'; +import { TaskState } from 'protogen/redpanda/core/admin/v2/shadow_link_pb'; type TaskStatusBadgeProps = { state: TaskState; diff --git a/frontend/src/components/pages/shadowlinks/details/tasks-table.tsx b/frontend/src/components/pages/shadowlinks/details/tasks-table.tsx index 88cd598f0..526c7ce99 100644 --- a/frontend/src/components/pages/shadowlinks/details/tasks-table.tsx +++ b/frontend/src/components/pages/shadowlinks/details/tasks-table.tsx @@ -17,7 +17,7 @@ import { Card, CardAction, CardContent, CardHeader, CardTitle } from 'components import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from 'components/redpanda-ui/components/table'; import { Text } from 'components/redpanda-ui/components/typography'; import { RefreshCw } from 'lucide-react'; -import type { ShadowLinkTaskStatus } from 'protogen/redpanda/api/dataplane/v1alpha3/shadowlink_pb'; +import type { ShadowLinkTaskStatus } from 'protogen/redpanda/core/admin/v2/shadow_link_pb'; import { useMemo } from 'react'; import { TaskStatusBadge } from './task-status-badge'; @@ -51,7 +51,7 @@ export const TasksTable = ({ tasks, onRefresh }: TasksTableProps) => { size: 100, cell: (info) => {info.getValue()}, }), - columnHelper.accessor('shardId', { + columnHelper.accessor('shard', { header: 'Shard ID', size: 100, cell: (info) => {info.getValue()}, diff --git a/frontend/src/protogen/redpanda/api/console/v1alpha1/shadowlink_pb.ts b/frontend/src/protogen/redpanda/api/console/v1alpha1/shadowlink_pb.ts index 1967d4b63..4dd075cd2 100644 --- a/frontend/src/protogen/redpanda/api/console/v1alpha1/shadowlink_pb.ts +++ b/frontend/src/protogen/redpanda/api/console/v1alpha1/shadowlink_pb.ts @@ -2,13 +2,13 @@ // @generated from file redpanda/api/console/v1alpha1/shadowlink.proto (package redpanda.api.console.v1alpha1, syntax proto3) /* eslint-disable */ -import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; -import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; import { file_buf_validate_validate } from "../../../../buf/validate/validate_pb"; import { file_google_api_annotations } from "../../../../google/api/annotations_pb"; import { file_protoc_gen_openapiv2_options_annotations } from "../../../../protoc-gen-openapiv2/options/annotations_pb"; import { file_redpanda_api_auth_v1_authorization } from "../../auth/v1/authorization_pb"; -import type { CreateShadowLinkRequestSchema, DeleteShadowLinkRequestSchema, ShadowLinkConfigurations, ShadowLinkState, UpdateShadowLinkRequestSchema } from "../../../core/admin/v2/shadow_link_pb"; +import type { CreateShadowLinkRequestSchema, DeleteShadowLinkRequestSchema, ShadowLinkConfigurations, ShadowLinkState, ShadowLinkTaskStatus, UpdateShadowLinkRequestSchema } from "../../../core/admin/v2/shadow_link_pb"; import { file_redpanda_core_admin_v2_shadow_link } from "../../../core/admin/v2/shadow_link_pb"; import type { Message } from "@bufbuild/protobuf"; @@ -16,7 +16,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file redpanda/api/console/v1alpha1/shadowlink.proto. */ export const file_redpanda_api_console_v1alpha1_shadowlink: GenFile = /*@__PURE__*/ - fileDesc("Ci5yZWRwYW5kYS9hcGkvY29uc29sZS92MWFscGhhMS9zaGFkb3dsaW5rLnByb3RvEh1yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMSJaChhDcmVhdGVTaGFkb3dMaW5rUmVzcG9uc2USPgoLc2hhZG93X2xpbmsYASABKAsyKS5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5TaGFkb3dMaW5rIpIBChRTaGFkb3dMaW5rVGFza1N0YXR1cxIMCgRuYW1lGAEgASgJEjcKBXN0YXRlGAIgASgOMigucmVkcGFuZGEuYXBpLmNvbnNvbGUudjFhbHBoYTEuVGFza1N0YXRlEg4KBnJlYXNvbhgDIAEoCRIRCglicm9rZXJfaWQYBCABKAUSEAoIc2hhcmRfaWQYBSABKAUinAIKClNoYWRvd0xpbmsSDAoEbmFtZRgBIAEoCRILCgN1aWQYAiABKAkSSAoOY29uZmlndXJhdGlvbnMYAyABKAsyMC5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmtDb25maWd1cmF0aW9ucxI2CgVzdGF0ZRgEIAEoDjInLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93TGlua1N0YXRlEkkKDHRhc2tzX3N0YXR1cxgFIAMoCzIzLnJlZHBhbmRhLmFwaS5jb25zb2xlLnYxYWxwaGExLlNoYWRvd0xpbmtUYXNrU3RhdHVzEiYKHnN5bmNlZF9zaGFkb3dfdG9waWNfcHJvcGVydGllcxgGIAMoCSLbAgoWTGlzdFNoYWRvd0xpbmtzUmVxdWVzdBJMCgZmaWx0ZXIYASABKAsyPC5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5MaXN0U2hhZG93TGlua3NSZXF1ZXN0LkZpbHRlchKfAQoJcGFnZV9zaXplGAIgASgFQosBkkF1MmFMaW1pdCB0aGUgcGFnaW5hdGVkIHJlc3BvbnNlIHRvIGEgbnVtYmVyIG9mIGl0ZW1zLiBEZWZhdWx0cyB0byAxMDAuIFVzZSAtMSB0byBkaXNhYmxlIHBhZ2luYXRpb24uWQAAAAAAQI9AaQAAAAAAAPC/ukgQGg4Y6Aco////////////ARISCgpwYWdlX3Rva2VuGAMgASgJGj0KBkZpbHRlchIzCg1uYW1lX2NvbnRhaW5zGAEgASgJQhy6SBlyFxiAATISXlthLXpBLVowLTkuX1wtXSokIvoBChdMaXN0U2hhZG93TGlua3NSZXNwb25zZRJXCgxzaGFkb3dfbGlua3MYASADKAsyQS5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5MaXN0U2hhZG93TGlua3NSZXNwb25zZS5TaGFkb3dMaW5rEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCRptCgpTaGFkb3dMaW5rEgwKBG5hbWUYASABKAkSNgoFc3RhdGUYAiABKA4yJy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmtTdGF0ZRIZChFib290c3RyYXBfc2VydmVycxgDIAMoCSIaChhVcGRhdGVTaGFkb3dMaW5rUmVzcG9uc2UiGgoYRGVsZXRlU2hhZG93TGlua1Jlc3BvbnNlKqoBCglUYXNrU3RhdGUSGgoWVEFTS19TVEFURV9VTlNQRUNJRklFRBAAEhUKEVRBU0tfU1RBVEVfQUNUSVZFEAESFQoRVEFTS19TVEFURV9QQVVTRUQQAhIfChtUQVNLX1NUQVRFX0xJTktfVU5BVkFJTEFCTEUQAxIaChZUQVNLX1NUQVRFX05PVF9SVU5OSU5HEAQSFgoSVEFTS19TVEFURV9GQVVMVEVEEAUymAsKEVNoYWRvd0xpbmtTZXJ2aWNlEugCChBDcmVhdGVTaGFkb3dMaW5rEi8ucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5DcmVhdGVTaGFkb3dMaW5rUmVxdWVzdBo3LnJlZHBhbmRhLmFwaS5jb25zb2xlLnYxYWxwaGExLkNyZWF0ZVNoYWRvd0xpbmtSZXNwb25zZSLpAZJBtAESEkNyZWF0ZSBTaGFkb3cgTGluaxpDQ3JlYXRlIGEgbmV3IHNoYWRvdyBsaW5rIHRvIHJlcGxpY2F0ZSB0b3BpY3MgZnJvbSBhIHNvdXJjZSBjbHVzdGVyLkpZCgMyMDESUgoTU2hhZG93IGxpbmsgY3JlYXRlZBI7CjkaNy5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5DcmVhdGVTaGFkb3dMaW5rUmVzcG9uc2WKph0ECAMQA4LT5JMCIzoLc2hhZG93X2xpbmsiFC92MWFscGhhMS9zaGFkb3dsaW5rEtoCCg9MaXN0U2hhZG93TGlua3MSNS5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5MaXN0U2hhZG93TGlua3NSZXF1ZXN0GjYucmVkcGFuZGEuYXBpLmNvbnNvbGUudjFhbHBoYTEuTGlzdFNoYWRvd0xpbmtzUmVzcG9uc2Ui1wGSQa8BEhFMaXN0IFNoYWRvdyBMaW5rcxpRTGlzdCBhbGwgc2hhZG93IGxpbmtzIGluIHRoZSBjbHVzdGVyLiBPcHRpb25hbDogZmlsdGVyIGJhc2VkIG9uIHNoYWRvdyBsaW5rIG5hbWUuSkcKAzIwMBJACgJPSxI6CjgaNi5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5MaXN0U2hhZG93TGlua3NSZXNwb25zZYqmHQQIARADgtPkkwIWEhQvdjFhbHBoYTEvc2hhZG93bGluaxLlAgoQVXBkYXRlU2hhZG93TGluaxIvLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuVXBkYXRlU2hhZG93TGlua1JlcXVlc3QaNy5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5VcGRhdGVTaGFkb3dMaW5rUmVzcG9uc2Ui5gGSQZ4BEhJVcGRhdGUgU2hhZG93IExpbmsaLVVwZGF0ZSBhbiBleGlzdGluZyBzaGFkb3cgbGluayBjb25maWd1cmF0aW9uLkpZCgMyMDASUgoTU2hhZG93IGxpbmsgdXBkYXRlZBI7CjkaNy5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5VcGRhdGVTaGFkb3dMaW5rUmVzcG9uc2WKph0ECAMQA4LT5JMCNjoLc2hhZG93X2xpbmsyJy92MWFscGhhMS9zaGFkb3dsaW5rL3tzaGFkb3dfbGluay5uYW1lfRL9AQoQRGVsZXRlU2hhZG93TGluaxIvLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuRGVsZXRlU2hhZG93TGlua1JlcXVlc3QaNy5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5EZWxldGVTaGFkb3dMaW5rUmVzcG9uc2Uif5JBURISRGVsZXRlIFNoYWRvdyBMaW5rGh1EZWxldGUgYSBzaGFkb3cgbGluayBieSBuYW1lLkocCgMyMDQSFQoTU2hhZG93IGxpbmsgZGVsZXRlZIqmHQQIAxADgtPkkwIdKhsvdjFhbHBoYTEvc2hhZG93bGluay97bmFtZX0aU5JBUAoMU2hhZG93IExpbmtzEkBNYW5hZ2UgUmVkcGFuZGEgc2hhZG93IGxpbmtzIGZvciBkaXNhc3RlciByZWNvdmVyeSBhbmQgZmFpbG92ZXIuQrACCiFjb20ucmVkcGFuZGEuYXBpLmNvbnNvbGUudjFhbHBoYTFCD1NoYWRvd2xpbmtQcm90b1ABWmNnaXRodWIuY29tL3JlZHBhbmRhLWRhdGEvY29uc29sZS9iYWNrZW5kL3BrZy9wcm90b2dlbi9yZWRwYW5kYS9hcGkvY29uc29sZS92MWFscGhhMTtjb25zb2xldjFhbHBoYTGiAgNSQUOqAh1SZWRwYW5kYS5BcGkuQ29uc29sZS5WMWFscGhhMcoCHVJlZHBhbmRhXEFwaVxDb25zb2xlXFYxYWxwaGEx4gIpUmVkcGFuZGFcQXBpXENvbnNvbGVcVjFhbHBoYTFcR1BCTWV0YWRhdGHqAiBSZWRwYW5kYTo6QXBpOjpDb25zb2xlOjpWMWFscGhhMWIGcHJvdG8z", [file_buf_validate_validate, file_google_api_annotations, file_protoc_gen_openapiv2_options_annotations, file_redpanda_api_auth_v1_authorization, file_redpanda_core_admin_v2_shadow_link]); + fileDesc("Ci5yZWRwYW5kYS9hcGkvY29uc29sZS92MWFscGhhMS9zaGFkb3dsaW5rLnByb3RvEh1yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMSJaChhDcmVhdGVTaGFkb3dMaW5rUmVzcG9uc2USPgoLc2hhZG93X2xpbmsYASABKAsyKS5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5TaGFkb3dMaW5rIpUCCgpTaGFkb3dMaW5rEgwKBG5hbWUYASABKAkSCwoDdWlkGAIgASgJEkgKDmNvbmZpZ3VyYXRpb25zGAMgASgLMjAucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rQ29uZmlndXJhdGlvbnMSNgoFc3RhdGUYBCABKA4yJy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmtTdGF0ZRJCCgx0YXNrc19zdGF0dXMYBSADKAsyLC5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmtUYXNrU3RhdHVzEiYKHnN5bmNlZF9zaGFkb3dfdG9waWNfcHJvcGVydGllcxgGIAMoCSLbAgoWTGlzdFNoYWRvd0xpbmtzUmVxdWVzdBJMCgZmaWx0ZXIYASABKAsyPC5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5MaXN0U2hhZG93TGlua3NSZXF1ZXN0LkZpbHRlchKfAQoJcGFnZV9zaXplGAIgASgFQosBkkF1MmFMaW1pdCB0aGUgcGFnaW5hdGVkIHJlc3BvbnNlIHRvIGEgbnVtYmVyIG9mIGl0ZW1zLiBEZWZhdWx0cyB0byAxMDAuIFVzZSAtMSB0byBkaXNhYmxlIHBhZ2luYXRpb24uWQAAAAAAQI9AaQAAAAAAAPC/ukgQGg4Y6Aco////////////ARISCgpwYWdlX3Rva2VuGAMgASgJGj0KBkZpbHRlchIzCg1uYW1lX2NvbnRhaW5zGAEgASgJQhy6SBlyFxiAATISXlthLXpBLVowLTkuX1wtXSokIvoBChdMaXN0U2hhZG93TGlua3NSZXNwb25zZRJXCgxzaGFkb3dfbGlua3MYASADKAsyQS5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5MaXN0U2hhZG93TGlua3NSZXNwb25zZS5TaGFkb3dMaW5rEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCRptCgpTaGFkb3dMaW5rEgwKBG5hbWUYASABKAkSNgoFc3RhdGUYAiABKA4yJy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmtTdGF0ZRIZChFib290c3RyYXBfc2VydmVycxgDIAMoCSIaChhVcGRhdGVTaGFkb3dMaW5rUmVzcG9uc2UiGgoYRGVsZXRlU2hhZG93TGlua1Jlc3BvbnNlMpgLChFTaGFkb3dMaW5rU2VydmljZRLoAgoQQ3JlYXRlU2hhZG93TGluaxIvLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuQ3JlYXRlU2hhZG93TGlua1JlcXVlc3QaNy5yZWRwYW5kYS5hcGkuY29uc29sZS52MWFscGhhMS5DcmVhdGVTaGFkb3dMaW5rUmVzcG9uc2Ui6QGSQbQBEhJDcmVhdGUgU2hhZG93IExpbmsaQ0NyZWF0ZSBhIG5ldyBzaGFkb3cgbGluayB0byByZXBsaWNhdGUgdG9waWNzIGZyb20gYSBzb3VyY2UgY2x1c3Rlci5KWQoDMjAxElIKE1NoYWRvdyBsaW5rIGNyZWF0ZWQSOwo5GjcucmVkcGFuZGEuYXBpLmNvbnNvbGUudjFhbHBoYTEuQ3JlYXRlU2hhZG93TGlua1Jlc3BvbnNliqYdBAgDEAOC0+STAiM6C3NoYWRvd19saW5rIhQvdjFhbHBoYTEvc2hhZG93bGluaxLaAgoPTGlzdFNoYWRvd0xpbmtzEjUucmVkcGFuZGEuYXBpLmNvbnNvbGUudjFhbHBoYTEuTGlzdFNoYWRvd0xpbmtzUmVxdWVzdBo2LnJlZHBhbmRhLmFwaS5jb25zb2xlLnYxYWxwaGExLkxpc3RTaGFkb3dMaW5rc1Jlc3BvbnNlItcBkkGvARIRTGlzdCBTaGFkb3cgTGlua3MaUUxpc3QgYWxsIHNoYWRvdyBsaW5rcyBpbiB0aGUgY2x1c3Rlci4gT3B0aW9uYWw6IGZpbHRlciBiYXNlZCBvbiBzaGFkb3cgbGluayBuYW1lLkpHCgMyMDASQAoCT0sSOgo4GjYucmVkcGFuZGEuYXBpLmNvbnNvbGUudjFhbHBoYTEuTGlzdFNoYWRvd0xpbmtzUmVzcG9uc2WKph0ECAEQA4LT5JMCFhIUL3YxYWxwaGExL3NoYWRvd2xpbmsS5QIKEFVwZGF0ZVNoYWRvd0xpbmsSLy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlVwZGF0ZVNoYWRvd0xpbmtSZXF1ZXN0GjcucmVkcGFuZGEuYXBpLmNvbnNvbGUudjFhbHBoYTEuVXBkYXRlU2hhZG93TGlua1Jlc3BvbnNlIuYBkkGeARISVXBkYXRlIFNoYWRvdyBMaW5rGi1VcGRhdGUgYW4gZXhpc3Rpbmcgc2hhZG93IGxpbmsgY29uZmlndXJhdGlvbi5KWQoDMjAwElIKE1NoYWRvdyBsaW5rIHVwZGF0ZWQSOwo5GjcucmVkcGFuZGEuYXBpLmNvbnNvbGUudjFhbHBoYTEuVXBkYXRlU2hhZG93TGlua1Jlc3BvbnNliqYdBAgDEAOC0+STAjY6C3NoYWRvd19saW5rMicvdjFhbHBoYTEvc2hhZG93bGluay97c2hhZG93X2xpbmsubmFtZX0S/QEKEERlbGV0ZVNoYWRvd0xpbmsSLy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkRlbGV0ZVNoYWRvd0xpbmtSZXF1ZXN0GjcucmVkcGFuZGEuYXBpLmNvbnNvbGUudjFhbHBoYTEuRGVsZXRlU2hhZG93TGlua1Jlc3BvbnNlIn+SQVESEkRlbGV0ZSBTaGFkb3cgTGluaxodRGVsZXRlIGEgc2hhZG93IGxpbmsgYnkgbmFtZS5KHAoDMjA0EhUKE1NoYWRvdyBsaW5rIGRlbGV0ZWSKph0ECAMQA4LT5JMCHSobL3YxYWxwaGExL3NoYWRvd2xpbmsve25hbWV9GlOSQVAKDFNoYWRvdyBMaW5rcxJATWFuYWdlIFJlZHBhbmRhIHNoYWRvdyBsaW5rcyBmb3IgZGlzYXN0ZXIgcmVjb3ZlcnkgYW5kIGZhaWxvdmVyLkKwAgohY29tLnJlZHBhbmRhLmFwaS5jb25zb2xlLnYxYWxwaGExQg9TaGFkb3dsaW5rUHJvdG9QAVpjZ2l0aHViLmNvbS9yZWRwYW5kYS1kYXRhL2NvbnNvbGUvYmFja2VuZC9wa2cvcHJvdG9nZW4vcmVkcGFuZGEvYXBpL2NvbnNvbGUvdjFhbHBoYTE7Y29uc29sZXYxYWxwaGExogIDUkFDqgIdUmVkcGFuZGEuQXBpLkNvbnNvbGUuVjFhbHBoYTHKAh1SZWRwYW5kYVxBcGlcQ29uc29sZVxWMWFscGhhMeICKVJlZHBhbmRhXEFwaVxDb25zb2xlXFYxYWxwaGExXEdQQk1ldGFkYXRh6gIgUmVkcGFuZGE6OkFwaTo6Q29uc29sZTo6VjFhbHBoYTFiBnByb3RvMw", [file_buf_validate_validate, file_google_api_annotations, file_protoc_gen_openapiv2_options_annotations, file_redpanda_api_auth_v1_authorization, file_redpanda_core_admin_v2_shadow_link]); /** * @generated from message redpanda.api.console.v1alpha1.CreateShadowLinkResponse @@ -35,55 +35,6 @@ export type CreateShadowLinkResponse = Message<"redpanda.api.console.v1alpha1.Cr export const CreateShadowLinkResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 0); -/** - * Status of a task - * - * @generated from message redpanda.api.console.v1alpha1.ShadowLinkTaskStatus - */ -export type ShadowLinkTaskStatus = Message<"redpanda.api.console.v1alpha1.ShadowLinkTaskStatus"> & { - /** - * Name of the task - * - * @generated from field: string name = 1; - */ - name: string; - - /** - * State of the task - * - * @generated from field: redpanda.api.console.v1alpha1.TaskState state = 2; - */ - state: TaskState; - - /** - * Reason for task being in state - * - * @generated from field: string reason = 3; - */ - reason: string; - - /** - * The broker the task is running on - * - * @generated from field: int32 broker_id = 4; - */ - brokerId: number; - - /** - * The shard the task is running on - * - * @generated from field: int32 shard_id = 5; - */ - shardId: number; -}; - -/** - * Describes the message redpanda.api.console.v1alpha1.ShadowLinkTaskStatus. - * Use `create(ShadowLinkTaskStatusSchema)` to create a new message. - */ -export const ShadowLinkTaskStatusSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 1); - /** * @generated from message redpanda.api.console.v1alpha1.ShadowLink */ @@ -111,7 +62,7 @@ export type ShadowLink = Message<"redpanda.api.console.v1alpha1.ShadowLink"> & { state: ShadowLinkState; /** - * @generated from field: repeated redpanda.api.console.v1alpha1.ShadowLinkTaskStatus tasks_status = 5; + * @generated from field: repeated redpanda.core.admin.v2.ShadowLinkTaskStatus tasks_status = 5; */ tasksStatus: ShadowLinkTaskStatus[]; @@ -126,7 +77,7 @@ export type ShadowLink = Message<"redpanda.api.console.v1alpha1.ShadowLink"> & { * Use `create(ShadowLinkSchema)` to create a new message. */ export const ShadowLinkSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 2); + messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 1); /** * @generated from message redpanda.api.console.v1alpha1.ListShadowLinksRequest @@ -156,7 +107,7 @@ export type ListShadowLinksRequest = Message<"redpanda.api.console.v1alpha1.List * Use `create(ListShadowLinksRequestSchema)` to create a new message. */ export const ListShadowLinksRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 3); + messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 2); /** * @generated from message redpanda.api.console.v1alpha1.ListShadowLinksRequest.Filter @@ -175,7 +126,7 @@ export type ListShadowLinksRequest_Filter = Message<"redpanda.api.console.v1alph * Use `create(ListShadowLinksRequest_FilterSchema)` to create a new message. */ export const ListShadowLinksRequest_FilterSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 3, 0); + messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 2, 0); /** * @generated from message redpanda.api.console.v1alpha1.ListShadowLinksResponse @@ -197,7 +148,7 @@ export type ListShadowLinksResponse = Message<"redpanda.api.console.v1alpha1.Lis * Use `create(ListShadowLinksResponseSchema)` to create a new message. */ export const ListShadowLinksResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 4); + messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 3); /** * @generated from message redpanda.api.console.v1alpha1.ListShadowLinksResponse.ShadowLink @@ -224,7 +175,7 @@ export type ListShadowLinksResponse_ShadowLink = Message<"redpanda.api.console.v * Use `create(ListShadowLinksResponse_ShadowLinkSchema)` to create a new message. */ export const ListShadowLinksResponse_ShadowLinkSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 4, 0); + messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 3, 0); /** * @generated from message redpanda.api.console.v1alpha1.UpdateShadowLinkResponse @@ -237,7 +188,7 @@ export type UpdateShadowLinkResponse = Message<"redpanda.api.console.v1alpha1.Up * Use `create(UpdateShadowLinkResponseSchema)` to create a new message. */ export const UpdateShadowLinkResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 5); + messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 4); /** * @generated from message redpanda.api.console.v1alpha1.DeleteShadowLinkResponse @@ -250,60 +201,7 @@ export type DeleteShadowLinkResponse = Message<"redpanda.api.console.v1alpha1.De * Use `create(DeleteShadowLinkResponseSchema)` to create a new message. */ export const DeleteShadowLinkResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 6); - -/** - * Task states - * - * @generated from enum redpanda.api.console.v1alpha1.TaskState - */ -export enum TaskState { - /** - * @generated from enum value: TASK_STATE_UNSPECIFIED = 0; - */ - UNSPECIFIED = 0, - - /** - * Task is active - * - * @generated from enum value: TASK_STATE_ACTIVE = 1; - */ - ACTIVE = 1, - - /** - * Task was paused - * - * @generated from enum value: TASK_STATE_PAUSED = 2; - */ - PAUSED = 2, - - /** - * Task is unable to communicate with source cluster - * - * @generated from enum value: TASK_STATE_LINK_UNAVAILABLE = 3; - */ - LINK_UNAVAILABLE = 3, - - /** - * Task is not running - * - * @generated from enum value: TASK_STATE_NOT_RUNNING = 4; - */ - NOT_RUNNING = 4, - - /** - * Task is faulted - * - * @generated from enum value: TASK_STATE_FAULTED = 5; - */ - FAULTED = 5, -} - -/** - * Describes the enum redpanda.api.console.v1alpha1.TaskState. - */ -export const TaskStateSchema: GenEnum = /*@__PURE__*/ - enumDesc(file_redpanda_api_console_v1alpha1_shadowlink, 0); + messageDesc(file_redpanda_api_console_v1alpha1_shadowlink, 5); /** * @generated from service redpanda.api.console.v1alpha1.ShadowLinkService diff --git a/frontend/src/protogen/redpanda/api/dataplane/v1alpha3/shadowlink_pb.ts b/frontend/src/protogen/redpanda/api/dataplane/v1alpha3/shadowlink_pb.ts index 3458911a6..96d6e163c 100644 --- a/frontend/src/protogen/redpanda/api/dataplane/v1alpha3/shadowlink_pb.ts +++ b/frontend/src/protogen/redpanda/api/dataplane/v1alpha3/shadowlink_pb.ts @@ -2,8 +2,8 @@ // @generated from file redpanda/api/dataplane/v1alpha3/shadowlink.proto (package redpanda.api.dataplane.v1alpha3, syntax proto3) /* eslint-disable */ -import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; -import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; import { file_buf_validate_validate } from "../../../../buf/validate/validate_pb"; import { file_google_api_annotations } from "../../../../google/api/annotations_pb"; import { file_google_api_field_behavior } from "../../../../google/api/field_behavior_pb"; @@ -11,7 +11,7 @@ import type { Timestamp } from "@bufbuild/protobuf/wkt"; import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; import { file_protoc_gen_openapiv2_options_annotations } from "../../../../protoc-gen-openapiv2/options/annotations_pb"; import { file_redpanda_api_auth_v1_authorization } from "../../auth/v1/authorization_pb"; -import type { FailOverRequestSchema, ShadowLinkConfigurations, ShadowLinkState, ShadowTopicState } from "../../../core/admin/v2/shadow_link_pb"; +import type { FailOverRequestSchema, ShadowLinkConfigurations, ShadowLinkState, ShadowLinkTaskStatus, ShadowTopicState } from "../../../core/admin/v2/shadow_link_pb"; import { file_redpanda_core_admin_v2_shadow_link } from "../../../core/admin/v2/shadow_link_pb"; import type { Message } from "@bufbuild/protobuf"; @@ -19,7 +19,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file redpanda/api/dataplane/v1alpha3/shadowlink.proto. */ export const file_redpanda_api_dataplane_v1alpha3_shadowlink: GenFile = /*@__PURE__*/ - fileDesc("CjByZWRwYW5kYS9hcGkvZGF0YXBsYW5lL3YxYWxwaGEzL3NoYWRvd2xpbmsucHJvdG8SH3JlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMiPAoQRmFpbE92ZXJSZXNwb25zZRIMCgRuYW1lGAEgASgJEhoKEmZhaWxlZF9vdmVyX3RvcGljcxgCIAMoCSKSAwobTGlzdFNoYWRvd0xpbmtUb3BpY3NSZXF1ZXN0EiMKEHNoYWRvd19saW5rX25hbWUYASABKAlCCeBBArpIA8gBARJTCgZmaWx0ZXIYAiABKAsyQy5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkxpc3RTaGFkb3dMaW5rVG9waWNzUmVxdWVzdC5GaWx0ZXISnwEKCXBhZ2Vfc2l6ZRgDIAEoBUKLAZJBdTJhTGltaXQgdGhlIHBhZ2luYXRlZCByZXNwb25zZSB0byBhIG51bWJlciBvZiBpdGVtcy4gRGVmYXVsdHMgdG8gMTAwLiBVc2UgLTEgdG8gZGlzYWJsZSBwYWdpbmF0aW9uLlkAAAAAAECPQGkAAAAAAADwv7pIEBoOGOgHKP///////////wESEgoKcGFnZV90b2tlbhgEIAEoCRpDCgZGaWx0ZXISOQoTdG9waWNfbmFtZV9jb250YWlucxgBIAEoCUIcukgZchcY+QEyEl5bYS16QS1aMC05Ll9cLV0qJCKHAQoLU2hhZG93VG9waWMSEgoKdG9waWNfbmFtZRgBIAEoCRI3CgVzdGF0ZRgCIAEoDjIoLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93VG9waWNTdGF0ZRIRCgl0b3RhbF9sYWcYAyABKAMSGAoQdG90YWxfcGFydGl0aW9ucxgEIAEoBSJ8ChxMaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNlEkMKDXNoYWRvd190b3BpY3MYASADKAsyLC5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLlNoYWRvd1RvcGljEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJbChVHZXRTaGFkb3dUb3BpY1JlcXVlc3QSIwoQc2hhZG93X2xpbmtfbmFtZRgBIAEoCUIJ4EECukgDyAEBEh0KCnRvcGljX25hbWUYAiABKAlCCeBBArpIA8gBASK/AwoWR2V0U2hhZG93VG9waWNSZXNwb25zZRISCgp0b3BpY19uYW1lGAEgASgJEjcKBXN0YXRlGAIgASgOMigucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dUb3BpY1N0YXRlEhEKCXRvdGFsX2xhZxgDIAEoAxIYChB0b3RhbF9wYXJ0aXRpb25zGAQgASgFElkKCnBhcnRpdGlvbnMYBSADKAsyRS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVzcG9uc2UuUGFydGl0aW9uSW5mbxrPAQoNUGFydGl0aW9uSW5mbxIUCgxwYXJ0aXRpb25faWQYASABKAUSIQoZc291cmNlX2xhc3Rfc3RhYmxlX29mZnNldBgCIAEoAxIWCg5oaWdoX3dhdGVybWFyaxgDIAEoAxIdChVzb3VyY2VfaGlnaF93YXRlcm1hcmsYBCABKAMSCwoDbGFnGAUgASgDEkEKHXNvdXJjZV9sYXN0X3VwZGF0ZWRfdGltZXN0YW1wGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIyChdHZXRTaGFkb3dNZXRyaWNzUmVxdWVzdBIXCgRuYW1lGAEgASgJQgngQQK6SAPIAQEibQoYR2V0U2hhZG93TWV0cmljc1Jlc3BvbnNlEh8KF3RvdGFsX3RvcGljc19yZXBsaWNhdGVkGAEgASgEEhoKEmZhaWxlZF9vdmVyX3RvcGljcxgCIAEoBBIUCgxlcnJvcl90b3BpY3MYAyABKAQiLwoUR2V0U2hhZG93TGlua1JlcXVlc3QSFwoEbmFtZRgBIAEoCUIJ4EECukgDyAEBIlkKFUdldFNoYWRvd0xpbmtSZXNwb25zZRJACgtzaGFkb3dfbGluaxgBIAEoCzIrLnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuU2hhZG93TGluayKUAQoUU2hhZG93TGlua1Rhc2tTdGF0dXMSDAoEbmFtZRgBIAEoCRI5CgVzdGF0ZRgCIAEoDjIqLnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuVGFza1N0YXRlEg4KBnJlYXNvbhgDIAEoCRIRCglicm9rZXJfaWQYBCABKAUSEAoIc2hhcmRfaWQYBSABKAUingIKClNoYWRvd0xpbmsSDAoEbmFtZRgBIAEoCRILCgN1aWQYAiABKAkSSAoOY29uZmlndXJhdGlvbnMYAyABKAsyMC5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmtDb25maWd1cmF0aW9ucxI2CgVzdGF0ZRgEIAEoDjInLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93TGlua1N0YXRlEksKDHRhc2tzX3N0YXR1cxgFIAMoCzI1LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuU2hhZG93TGlua1Rhc2tTdGF0dXMSJgoec3luY2VkX3NoYWRvd190b3BpY19wcm9wZXJ0aWVzGAYgAygJKqoBCglUYXNrU3RhdGUSGgoWVEFTS19TVEFURV9VTlNQRUNJRklFRBAAEhUKEVRBU0tfU1RBVEVfQUNUSVZFEAESFQoRVEFTS19TVEFURV9QQVVTRUQQAhIfChtUQVNLX1NUQVRFX0xJTktfVU5BVkFJTEFCTEUQAxIaChZUQVNLX1NUQVRFX05PVF9SVU5OSU5HEAQSFgoSVEFTS19TVEFURV9GQVVMVEVEEAUyxg8KEVNoYWRvd0xpbmtTZXJ2aWNlEt8CCghGYWlsT3ZlchInLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuRmFpbE92ZXJSZXF1ZXN0GjEucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5GYWlsT3ZlclJlc3BvbnNlIvYBkkG7ARIVRmFpbCBPdmVyIFNoYWRvdyBMaW5rGkFGYWlsIG92ZXIgYSBzaGFkb3cgbGluayBvciBhIHNwZWNpZmljIHNoYWRvdyB0b3BpYyB3aXRoaW4gYSBsaW5rLkpfCgMyMDISWAofRmFpbG92ZXIgYWNjZXB0ZWQgYW5kIGluaXRpYXRlZBI1CjMaMS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkZhaWxPdmVyUmVzcG9uc2WKph0ECAMQA4LT5JMCKToBKiIkL3YxYWxwaGEzL3NoYWRvd2xpbmsve25hbWV9L2ZhaWxvdmVyEqgDChRMaXN0U2hhZG93TGlua1RvcGljcxI8LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuTGlzdFNoYWRvd0xpbmtUb3BpY3NSZXF1ZXN0Gj0ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5MaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNlIpICkkHRARIXTGlzdCBTaGFkb3cgTGluayBUb3BpY3MaZkxpc3Qgc2hhZG93IHRvcGljIHN0YXR1cyBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpYyBzaGFkb3cgbGluay4gT3B0aW9uYWw6IGZpbHRlciBiYXNlZCBvbiB0b3BpYyBuYW1lLkpOCgMyMDASRwoCT0sSQQo/Gj0ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5MaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNliqYdBAgBEAOC0+STAi8SLS92MWFscGhhMy9zaGFkb3dsaW5rL3tzaGFkb3dfbGlua19uYW1lfS90b3BpYxLxAgoOR2V0U2hhZG93VG9waWMSNi5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVxdWVzdBo3LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93VG9waWNSZXNwb25zZSLtAZJBnwESEEdldCBTaGFkb3cgVG9waWMaQVJldHJpZXZlIGRldGFpbHMgb2YgYSBzcGVjaWZpYyBzaGFkb3cgdG9waWMgd2l0aGluIGEgc2hhZG93IGxpbmsuSkgKAzIwMBJBCgJPSxI7CjkaNy5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVzcG9uc2WKph0ECAEQA4LT5JMCPBI6L3YxYWxwaGEzL3NoYWRvd2xpbmsve3NoYWRvd19saW5rX25hbWV9L3RvcGljL3t0b3BpY19uYW1lfRKdAwoQR2V0U2hhZG93TWV0cmljcxI4LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TWV0cmljc1JlcXVlc3QaOS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd01ldHJpY3NSZXNwb25zZSKTApJB3AESF0dldCBTaGFkb3cgTGluayBNZXRyaWNzGnVSZXRyaWV2ZSBtZXRyaWNzIGZvciBhIHNwZWNpZmljIHNoYWRvdyBsaW5rLCBpbmNsdWRpbmcgdG90YWwgdG9waWNzIHJlcGxpY2F0ZWQsIGZhaWxlZCBvdmVyIHRvcGljcywgYW5kIGVycm9yIHRvcGljcy5KSgoDMjAwEkMKAk9LEj0KOxo5LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TWV0cmljc1Jlc3BvbnNliqYdBAgBEAOC0+STAiUSIy92MWFscGhhMy9zaGFkb3dsaW5rL3tuYW1lfS9tZXRyaWNzEr8CCg1HZXRTaGFkb3dMaW5rEjUucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5HZXRTaGFkb3dMaW5rUmVxdWVzdBo2LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TGlua1Jlc3BvbnNlIr4BkkGPARIPR2V0IFNoYWRvdyBMaW5rGjNSZXRyaWV2ZSBkZXRhaWxzIG9mIGEgc3BlY2lmaWMgc2hhZG93IGxpbmsgYnkgbmFtZS5KRwoDMjAwEkAKAk9LEjoKOBo2LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TGlua1Jlc3BvbnNliqYdBAgBEAOC0+STAh0SGy92MWFscGhhMy9zaGFkb3dsaW5rL3tuYW1lfRpOkkFLChhTaGFkb3cgTGlua3MgKERhdGFwbGFuZSkSL0RhdGFwbGFuZSBvcGVyYXRpb25zIGZvciBSZWRwYW5kYSBzaGFkb3cgbGlua3MuQr4CCiNjb20ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhM0IPU2hhZG93bGlua1Byb3RvUAFaZ2dpdGh1Yi5jb20vcmVkcGFuZGEtZGF0YS9jb25zb2xlL2JhY2tlbmQvcGtnL3Byb3RvZ2VuL3JlZHBhbmRhL2FwaS9kYXRhcGxhbmUvdjFhbHBoYTM7ZGF0YXBsYW5ldjFhbHBoYTOiAgNSQUSqAh9SZWRwYW5kYS5BcGkuRGF0YXBsYW5lLlYxYWxwaGEzygIfUmVkcGFuZGFcQXBpXERhdGFwbGFuZVxWMWFscGhhM+ICK1JlZHBhbmRhXEFwaVxEYXRhcGxhbmVcVjFhbHBoYTNcR1BCTWV0YWRhdGHqAiJSZWRwYW5kYTo6QXBpOjpEYXRhcGxhbmU6OlYxYWxwaGEzYgZwcm90bzM", [file_buf_validate_validate, file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_redpanda_api_auth_v1_authorization, file_redpanda_core_admin_v2_shadow_link]); + fileDesc("CjByZWRwYW5kYS9hcGkvZGF0YXBsYW5lL3YxYWxwaGEzL3NoYWRvd2xpbmsucHJvdG8SH3JlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMiPAoQRmFpbE92ZXJSZXNwb25zZRIMCgRuYW1lGAEgASgJEhoKEmZhaWxlZF9vdmVyX3RvcGljcxgCIAMoCSKSAwobTGlzdFNoYWRvd0xpbmtUb3BpY3NSZXF1ZXN0EiMKEHNoYWRvd19saW5rX25hbWUYASABKAlCCeBBArpIA8gBARJTCgZmaWx0ZXIYAiABKAsyQy5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkxpc3RTaGFkb3dMaW5rVG9waWNzUmVxdWVzdC5GaWx0ZXISnwEKCXBhZ2Vfc2l6ZRgDIAEoBUKLAZJBdTJhTGltaXQgdGhlIHBhZ2luYXRlZCByZXNwb25zZSB0byBhIG51bWJlciBvZiBpdGVtcy4gRGVmYXVsdHMgdG8gMTAwLiBVc2UgLTEgdG8gZGlzYWJsZSBwYWdpbmF0aW9uLlkAAAAAAECPQGkAAAAAAADwv7pIEBoOGOgHKP///////////wESEgoKcGFnZV90b2tlbhgEIAEoCRpDCgZGaWx0ZXISOQoTdG9waWNfbmFtZV9jb250YWlucxgBIAEoCUIcukgZchcY+QEyEl5bYS16QS1aMC05Ll9cLV0qJCKHAQoLU2hhZG93VG9waWMSEgoKdG9waWNfbmFtZRgBIAEoCRI3CgVzdGF0ZRgCIAEoDjIoLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93VG9waWNTdGF0ZRIRCgl0b3RhbF9sYWcYAyABKAMSGAoQdG90YWxfcGFydGl0aW9ucxgEIAEoBSJ8ChxMaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNlEkMKDXNoYWRvd190b3BpY3MYASADKAsyLC5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLlNoYWRvd1RvcGljEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJbChVHZXRTaGFkb3dUb3BpY1JlcXVlc3QSIwoQc2hhZG93X2xpbmtfbmFtZRgBIAEoCUIJ4EECukgDyAEBEh0KCnRvcGljX25hbWUYAiABKAlCCeBBArpIA8gBASK/AwoWR2V0U2hhZG93VG9waWNSZXNwb25zZRISCgp0b3BpY19uYW1lGAEgASgJEjcKBXN0YXRlGAIgASgOMigucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dUb3BpY1N0YXRlEhEKCXRvdGFsX2xhZxgDIAEoAxIYChB0b3RhbF9wYXJ0aXRpb25zGAQgASgFElkKCnBhcnRpdGlvbnMYBSADKAsyRS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVzcG9uc2UuUGFydGl0aW9uSW5mbxrPAQoNUGFydGl0aW9uSW5mbxIUCgxwYXJ0aXRpb25faWQYASABKAUSIQoZc291cmNlX2xhc3Rfc3RhYmxlX29mZnNldBgCIAEoAxIWCg5oaWdoX3dhdGVybWFyaxgDIAEoAxIdChVzb3VyY2VfaGlnaF93YXRlcm1hcmsYBCABKAMSCwoDbGFnGAUgASgDEkEKHXNvdXJjZV9sYXN0X3VwZGF0ZWRfdGltZXN0YW1wGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIyChdHZXRTaGFkb3dNZXRyaWNzUmVxdWVzdBIXCgRuYW1lGAEgASgJQgngQQK6SAPIAQEibQoYR2V0U2hhZG93TWV0cmljc1Jlc3BvbnNlEh8KF3RvdGFsX3RvcGljc19yZXBsaWNhdGVkGAEgASgEEhoKEmZhaWxlZF9vdmVyX3RvcGljcxgCIAEoBBIUCgxlcnJvcl90b3BpY3MYAyABKAQiLwoUR2V0U2hhZG93TGlua1JlcXVlc3QSFwoEbmFtZRgBIAEoCUIJ4EECukgDyAEBIlkKFUdldFNoYWRvd0xpbmtSZXNwb25zZRJACgtzaGFkb3dfbGluaxgBIAEoCzIrLnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuU2hhZG93TGluayKVAgoKU2hhZG93TGluaxIMCgRuYW1lGAEgASgJEgsKA3VpZBgCIAEoCRJICg5jb25maWd1cmF0aW9ucxgDIAEoCzIwLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93TGlua0NvbmZpZ3VyYXRpb25zEjYKBXN0YXRlGAQgASgOMicucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rU3RhdGUSQgoMdGFza3Nfc3RhdHVzGAUgAygLMiwucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rVGFza1N0YXR1cxImCh5zeW5jZWRfc2hhZG93X3RvcGljX3Byb3BlcnRpZXMYBiADKAkyxg8KEVNoYWRvd0xpbmtTZXJ2aWNlEt8CCghGYWlsT3ZlchInLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuRmFpbE92ZXJSZXF1ZXN0GjEucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5GYWlsT3ZlclJlc3BvbnNlIvYBkkG7ARIVRmFpbCBPdmVyIFNoYWRvdyBMaW5rGkFGYWlsIG92ZXIgYSBzaGFkb3cgbGluayBvciBhIHNwZWNpZmljIHNoYWRvdyB0b3BpYyB3aXRoaW4gYSBsaW5rLkpfCgMyMDISWAofRmFpbG92ZXIgYWNjZXB0ZWQgYW5kIGluaXRpYXRlZBI1CjMaMS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkZhaWxPdmVyUmVzcG9uc2WKph0ECAMQA4LT5JMCKToBKiIkL3YxYWxwaGEzL3NoYWRvd2xpbmsve25hbWV9L2ZhaWxvdmVyEqgDChRMaXN0U2hhZG93TGlua1RvcGljcxI8LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuTGlzdFNoYWRvd0xpbmtUb3BpY3NSZXF1ZXN0Gj0ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5MaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNlIpICkkHRARIXTGlzdCBTaGFkb3cgTGluayBUb3BpY3MaZkxpc3Qgc2hhZG93IHRvcGljIHN0YXR1cyBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpYyBzaGFkb3cgbGluay4gT3B0aW9uYWw6IGZpbHRlciBiYXNlZCBvbiB0b3BpYyBuYW1lLkpOCgMyMDASRwoCT0sSQQo/Gj0ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5MaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNliqYdBAgBEAOC0+STAi8SLS92MWFscGhhMy9zaGFkb3dsaW5rL3tzaGFkb3dfbGlua19uYW1lfS90b3BpYxLxAgoOR2V0U2hhZG93VG9waWMSNi5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVxdWVzdBo3LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93VG9waWNSZXNwb25zZSLtAZJBnwESEEdldCBTaGFkb3cgVG9waWMaQVJldHJpZXZlIGRldGFpbHMgb2YgYSBzcGVjaWZpYyBzaGFkb3cgdG9waWMgd2l0aGluIGEgc2hhZG93IGxpbmsuSkgKAzIwMBJBCgJPSxI7CjkaNy5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVzcG9uc2WKph0ECAEQA4LT5JMCPBI6L3YxYWxwaGEzL3NoYWRvd2xpbmsve3NoYWRvd19saW5rX25hbWV9L3RvcGljL3t0b3BpY19uYW1lfRKdAwoQR2V0U2hhZG93TWV0cmljcxI4LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TWV0cmljc1JlcXVlc3QaOS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd01ldHJpY3NSZXNwb25zZSKTApJB3AESF0dldCBTaGFkb3cgTGluayBNZXRyaWNzGnVSZXRyaWV2ZSBtZXRyaWNzIGZvciBhIHNwZWNpZmljIHNoYWRvdyBsaW5rLCBpbmNsdWRpbmcgdG90YWwgdG9waWNzIHJlcGxpY2F0ZWQsIGZhaWxlZCBvdmVyIHRvcGljcywgYW5kIGVycm9yIHRvcGljcy5KSgoDMjAwEkMKAk9LEj0KOxo5LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TWV0cmljc1Jlc3BvbnNliqYdBAgBEAOC0+STAiUSIy92MWFscGhhMy9zaGFkb3dsaW5rL3tuYW1lfS9tZXRyaWNzEr8CCg1HZXRTaGFkb3dMaW5rEjUucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5HZXRTaGFkb3dMaW5rUmVxdWVzdBo2LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TGlua1Jlc3BvbnNlIr4BkkGPARIPR2V0IFNoYWRvdyBMaW5rGjNSZXRyaWV2ZSBkZXRhaWxzIG9mIGEgc3BlY2lmaWMgc2hhZG93IGxpbmsgYnkgbmFtZS5KRwoDMjAwEkAKAk9LEjoKOBo2LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TGlua1Jlc3BvbnNliqYdBAgBEAOC0+STAh0SGy92MWFscGhhMy9zaGFkb3dsaW5rL3tuYW1lfRpOkkFLChhTaGFkb3cgTGlua3MgKERhdGFwbGFuZSkSL0RhdGFwbGFuZSBvcGVyYXRpb25zIGZvciBSZWRwYW5kYSBzaGFkb3cgbGlua3MuQr4CCiNjb20ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhM0IPU2hhZG93bGlua1Byb3RvUAFaZ2dpdGh1Yi5jb20vcmVkcGFuZGEtZGF0YS9jb25zb2xlL2JhY2tlbmQvcGtnL3Byb3RvZ2VuL3JlZHBhbmRhL2FwaS9kYXRhcGxhbmUvdjFhbHBoYTM7ZGF0YXBsYW5ldjFhbHBoYTOiAgNSQUSqAh9SZWRwYW5kYS5BcGkuRGF0YXBsYW5lLlYxYWxwaGEzygIfUmVkcGFuZGFcQXBpXERhdGFwbGFuZVxWMWFscGhhM+ICK1JlZHBhbmRhXEFwaVxEYXRhcGxhbmVcVjFhbHBoYTNcR1BCTWV0YWRhdGHqAiJSZWRwYW5kYTo6QXBpOjpEYXRhcGxhbmU6OlYxYWxwaGEzYgZwcm90bzM", [file_buf_validate_validate, file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_redpanda_api_auth_v1_authorization, file_redpanda_core_admin_v2_shadow_link]); /** * @generated from message redpanda.api.dataplane.v1alpha3.FailOverResponse @@ -342,55 +342,6 @@ export type GetShadowLinkResponse = Message<"redpanda.api.dataplane.v1alpha3.Get export const GetShadowLinkResponseSchema: GenMessage = /*@__PURE__*/ messageDesc(file_redpanda_api_dataplane_v1alpha3_shadowlink, 9); -/** - * Status of a task - * - * @generated from message redpanda.api.dataplane.v1alpha3.ShadowLinkTaskStatus - */ -export type ShadowLinkTaskStatus = Message<"redpanda.api.dataplane.v1alpha3.ShadowLinkTaskStatus"> & { - /** - * Name of the task - * - * @generated from field: string name = 1; - */ - name: string; - - /** - * State of the task - * - * @generated from field: redpanda.api.dataplane.v1alpha3.TaskState state = 2; - */ - state: TaskState; - - /** - * Reason for task being in state - * - * @generated from field: string reason = 3; - */ - reason: string; - - /** - * The broker the task is running on - * - * @generated from field: int32 broker_id = 4; - */ - brokerId: number; - - /** - * The shard the task is running on - * - * @generated from field: int32 shard_id = 5; - */ - shardId: number; -}; - -/** - * Describes the message redpanda.api.dataplane.v1alpha3.ShadowLinkTaskStatus. - * Use `create(ShadowLinkTaskStatusSchema)` to create a new message. - */ -export const ShadowLinkTaskStatusSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_api_dataplane_v1alpha3_shadowlink, 10); - /** * @generated from message redpanda.api.dataplane.v1alpha3.ShadowLink */ @@ -418,7 +369,7 @@ export type ShadowLink = Message<"redpanda.api.dataplane.v1alpha3.ShadowLink"> & state: ShadowLinkState; /** - * @generated from field: repeated redpanda.api.dataplane.v1alpha3.ShadowLinkTaskStatus tasks_status = 5; + * @generated from field: repeated redpanda.core.admin.v2.ShadowLinkTaskStatus tasks_status = 5; */ tasksStatus: ShadowLinkTaskStatus[]; @@ -433,60 +384,7 @@ export type ShadowLink = Message<"redpanda.api.dataplane.v1alpha3.ShadowLink"> & * Use `create(ShadowLinkSchema)` to create a new message. */ export const ShadowLinkSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_api_dataplane_v1alpha3_shadowlink, 11); - -/** - * Task states - * - * @generated from enum redpanda.api.dataplane.v1alpha3.TaskState - */ -export enum TaskState { - /** - * @generated from enum value: TASK_STATE_UNSPECIFIED = 0; - */ - UNSPECIFIED = 0, - - /** - * Task is active - * - * @generated from enum value: TASK_STATE_ACTIVE = 1; - */ - ACTIVE = 1, - - /** - * Task was paused - * - * @generated from enum value: TASK_STATE_PAUSED = 2; - */ - PAUSED = 2, - - /** - * Task is unable to communicate with source cluster - * - * @generated from enum value: TASK_STATE_LINK_UNAVAILABLE = 3; - */ - LINK_UNAVAILABLE = 3, - - /** - * Task is not running - * - * @generated from enum value: TASK_STATE_NOT_RUNNING = 4; - */ - NOT_RUNNING = 4, - - /** - * Task is faulted - * - * @generated from enum value: TASK_STATE_FAULTED = 5; - */ - FAULTED = 5, -} - -/** - * Describes the enum redpanda.api.dataplane.v1alpha3.TaskState. - */ -export const TaskStateSchema: GenEnum = /*@__PURE__*/ - enumDesc(file_redpanda_api_dataplane_v1alpha3_shadowlink, 0); + messageDesc(file_redpanda_api_dataplane_v1alpha3_shadowlink, 10); /** * @generated from service redpanda.api.dataplane.v1alpha3.ShadowLinkService diff --git a/frontend/src/protogen/redpanda/core/admin/v2/cluster_pb.ts b/frontend/src/protogen/redpanda/core/admin/v2/cluster_pb.ts index e91a7434a..cb174322f 100644 --- a/frontend/src/protogen/redpanda/core/admin/v2/cluster_pb.ts +++ b/frontend/src/protogen/redpanda/core/admin/v2/cluster_pb.ts @@ -39,9 +39,13 @@ export const file_redpanda_core_admin_v2_cluster: GenFile = /*@__PURE__*/ export type ListKafkaConnectionsRequest = Message<"redpanda.core.admin.v2.ListKafkaConnectionsRequest"> & { /** * The maximum number of connections to return. If unspecified or 0, a - * default value may be applied. Note that paging is currently not fully - * supported, and this field only acts as a limit for the first page of data - * returned. Subsequent pages of data cannot be requested. + * default value may be applied. The server may return fewer connections + * than requested due to memory constraints; the limit is set to allow + * listing all connections for a single broker. Consider filtering by + * node_id to view connections for specific brokers. Note that paging is + * currently not fully supported, and this field only acts as a limit for + * the first page of data returned. Subsequent pages of data cannot be + * requested. * * @generated from field: int32 page_size = 1; */ diff --git a/frontend/src/protogen/redpanda/core/admin/v2/shadow_link_pb.ts b/frontend/src/protogen/redpanda/core/admin/v2/shadow_link_pb.ts index 207f7375a..771f10047 100644 --- a/frontend/src/protogen/redpanda/core/admin/v2/shadow_link_pb.ts +++ b/frontend/src/protogen/redpanda/core/admin/v2/shadow_link_pb.ts @@ -20,8 +20,10 @@ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobu import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1"; import { file_redpanda_core_pbgen_options } from "../../pbgen/options_pb"; import { file_redpanda_core_pbgen_rpc } from "../../pbgen/rpc_pb"; -import type { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from "../../common/acl_pb"; -import { file_redpanda_core_common_acl } from "../../common/acl_pb"; +import type { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from "../../common/v1/acl_pb"; +import { file_redpanda_core_common_v1_acl } from "../../common/v1/acl_pb"; +import type { TLSSettings } from "../../common/v1/tls_pb"; +import { file_redpanda_core_common_v1_tls } from "../../common/v1/tls_pb"; import { file_google_api_field_behavior } from "../../../../google/api/field_behavior_pb"; import { file_google_api_field_info } from "../../../../google/api/field_info_pb"; import { file_google_api_resource } from "../../../../google/api/resource_pb"; @@ -33,7 +35,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file redpanda/core/admin/v2/shadow_link.proto. */ export const file_redpanda_core_admin_v2_shadow_link: GenFile = /*@__PURE__*/ - fileDesc("CihyZWRwYW5kYS9jb3JlL2FkbWluL3YyL3NoYWRvd19saW5rLnByb3RvEhZyZWRwYW5kYS5jb3JlLmFkbWluLnYyIsIBCgpTaGFkb3dMaW5rEhEKBG5hbWUYASABKAlCA+BBAhIYCgN1aWQYAiABKAlCC+BBA+KMz9cIAggBEkgKDmNvbmZpZ3VyYXRpb25zGAMgASgLMjAucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rQ29uZmlndXJhdGlvbnMSPQoGc3RhdHVzGAQgASgLMigucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rU3RhdHVzQgPgQQMiwAEKC1NoYWRvd1RvcGljEhEKBG5hbWUYASABKAlCA+BBAxIdCgh0b3BpY19pZBgCIAEoCUIL4EED4ozP1wgCCAESGQoRc291cmNlX3RvcGljX25hbWUYAyABKAkSJAoPc291cmNlX3RvcGljX2lkGAQgASgJQgvgQQPijM/XCAIIARI+CgZzdGF0dXMYBSABKAsyKS5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd1RvcGljU3RhdHVzQgPgQQMiUgoXQ3JlYXRlU2hhZG93TGlua1JlcXVlc3QSNwoLc2hhZG93X2xpbmsYASABKAsyIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmsiUwoYQ3JlYXRlU2hhZG93TGlua1Jlc3BvbnNlEjcKC3NoYWRvd19saW5rGAEgASgLMiIucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rInAKF0RlbGV0ZVNoYWRvd0xpbmtSZXF1ZXN0EkYKBG5hbWUYASABKAlCOOBBAvpBMgowcmVkcGFuZGEuY29yZS5hZG1pbi5TaGFkb3dMaW5rU2VydmljZS9TaGFkb3dMaW5rEg0KBWZvcmNlGAIgASgIIhoKGERlbGV0ZVNoYWRvd0xpbmtSZXNwb25zZSJeChRHZXRTaGFkb3dMaW5rUmVxdWVzdBJGCgRuYW1lGAEgASgJQjjgQQL6QTIKMHJlZHBhbmRhLmNvcmUuYWRtaW4uU2hhZG93TGlua1NlcnZpY2UvU2hhZG93TGluayJQChVHZXRTaGFkb3dMaW5rUmVzcG9uc2USNwoLc2hhZG93X2xpbmsYASABKAsyIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmsiGAoWTGlzdFNoYWRvd0xpbmtzUmVxdWVzdCJTChdMaXN0U2hhZG93TGlua3NSZXNwb25zZRI4CgxzaGFkb3dfbGlua3MYASADKAsyIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmsigwEKF1VwZGF0ZVNoYWRvd0xpbmtSZXF1ZXN0EjcKC3NoYWRvd19saW5rGAEgASgLMiIucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rEi8KC3VwZGF0ZV9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayJTChhVcGRhdGVTaGFkb3dMaW5rUmVzcG9uc2USNwoLc2hhZG93X2xpbmsYASABKAsyIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmsieQoPRmFpbE92ZXJSZXF1ZXN0EkYKBG5hbWUYASABKAlCOOBBAvpBMgowcmVkcGFuZGEuY29yZS5hZG1pbi5TaGFkb3dMaW5rU2VydmljZS9TaGFkb3dMaW5rEh4KEXNoYWRvd190b3BpY19uYW1lGAIgASgJQgPgQQEiSwoQRmFpbE92ZXJSZXNwb25zZRI3CgtzaGFkb3dfbGluaxgBIAEoCzIiLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93TGluayJJChVHZXRTaGFkb3dUb3BpY1JlcXVlc3QSHQoQc2hhZG93X2xpbmtfbmFtZRgBIAEoCUID4EECEhEKBG5hbWUYAiABKAlCA+BBAiJTChZHZXRTaGFkb3dUb3BpY1Jlc3BvbnNlEjkKDHNoYWRvd190b3BpYxgBIAEoCzIjLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93VG9waWMiOAoXTGlzdFNoYWRvd1RvcGljc1JlcXVlc3QSHQoQc2hhZG93X2xpbmtfbmFtZRgBIAEoCUID4EECIlYKGExpc3RTaGFkb3dUb3BpY3NSZXNwb25zZRI6Cg1zaGFkb3dfdG9waWNzGAEgAygLMiMucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dUb3BpYyLAAwoYU2hhZG93TGlua0NvbmZpZ3VyYXRpb25zEkcKDmNsaWVudF9vcHRpb25zGAEgASgLMi8ucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rQ2xpZW50T3B0aW9ucxJVCht0b3BpY19tZXRhZGF0YV9zeW5jX29wdGlvbnMYAiABKAsyMC5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlRvcGljTWV0YWRhdGFTeW5jT3B0aW9ucxJXChxjb25zdW1lcl9vZmZzZXRfc3luY19vcHRpb25zGAMgASgLMjEucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5Db25zdW1lck9mZnNldFN5bmNPcHRpb25zElIKFXNlY3VyaXR5X3N5bmNfb3B0aW9ucxgEIAEoCzIzLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2VjdXJpdHlTZXR0aW5nc1N5bmNPcHRpb25zElcKHHNjaGVtYV9yZWdpc3RyeV9zeW5jX29wdGlvbnMYBSABKAsyMS5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNjaGVtYVJlZ2lzdHJ5U3luY09wdGlvbnMiswYKF1NoYWRvd0xpbmtDbGllbnRPcHRpb25zEh4KEWJvb3RzdHJhcF9zZXJ2ZXJzGAEgAygJQgPgQQISFgoJY2xpZW50X2lkGAIgASgJQgPgQQMSGQoRc291cmNlX2NsdXN0ZXJfaWQYAyABKAkSPgoMdGxzX3NldHRpbmdzGAQgASgLMiMucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5UTFNTZXR0aW5nc0gAiAEBEl4KHGF1dGhlbnRpY2F0aW9uX2NvbmZpZ3VyYXRpb24YBSABKAsyMy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbkgBiAEBEhsKE21ldGFkYXRhX21heF9hZ2VfbXMYBiABKAUSKgodZWZmZWN0aXZlX21ldGFkYXRhX21heF9hZ2VfbXMYByABKAVCA+BBAxIdChVjb25uZWN0aW9uX3RpbWVvdXRfbXMYCCABKAUSLAofZWZmZWN0aXZlX2Nvbm5lY3Rpb25fdGltZW91dF9tcxgJIAEoBUID4EEDEhgKEHJldHJ5X2JhY2tvZmZfbXMYCiABKAUSJwoaZWZmZWN0aXZlX3JldHJ5X2JhY2tvZmZfbXMYCyABKAVCA+BBAxIZChFmZXRjaF93YWl0X21heF9tcxgMIAEoBRIoChtlZmZlY3RpdmVfZmV0Y2hfd2FpdF9tYXhfbXMYDSABKAVCA+BBAxIXCg9mZXRjaF9taW5fYnl0ZXMYDiABKAUSJgoZZWZmZWN0aXZlX2ZldGNoX21pbl9ieXRlcxgPIAEoBUID4EEDEhcKD2ZldGNoX21heF9ieXRlcxgQIAEoBRImChllZmZlY3RpdmVfZmV0Y2hfbWF4X2J5dGVzGBEgASgFQgPgQQMSIQoZZmV0Y2hfcGFydGl0aW9uX21heF9ieXRlcxgSIAEoBRIwCiNlZmZlY3RpdmVfZmV0Y2hfcGFydGl0aW9uX21heF9ieXRlcxgTIAEoBUID4EEDQg8KDV90bHNfc2V0dGluZ3NCHwodX2F1dGhlbnRpY2F0aW9uX2NvbmZpZ3VyYXRpb24imwQKGFRvcGljTWV0YWRhdGFTeW5jT3B0aW9ucxIrCghpbnRlcnZhbBgBIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhI6ChJlZmZlY3RpdmVfaW50ZXJ2YWwYAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CA+BBAxJMCiBhdXRvX2NyZWF0ZV9zaGFkb3dfdG9waWNfZmlsdGVycxgDIAMoCzIiLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuTmFtZUZpbHRlchImCh5zeW5jZWRfc2hhZG93X3RvcGljX3Byb3BlcnRpZXMYBCADKAkSFwoPZXhjbHVkZV9kZWZhdWx0GAUgASgIElMKCGVhcmxpZXN0GAYgASgLMj8ucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5Ub3BpY01ldGFkYXRhU3luY09wdGlvbnMuRWFybGllc3RPZmZzZXRIABJPCgZsYXRlc3QYByABKAsyPS5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlRvcGljTWV0YWRhdGFTeW5jT3B0aW9ucy5MYXRlc3RPZmZzZXRIABIvCgl0aW1lc3RhbXAYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAAaEAoORWFybGllc3RPZmZzZXQaDgoMTGF0ZXN0T2Zmc2V0Qg4KDHN0YXJ0X29mZnNldCLPAQoZU2NoZW1hUmVnaXN0cnlTeW5jT3B0aW9ucxJzChxzaGFkb3dfc2NoZW1hX3JlZ2lzdHJ5X3RvcGljGAEgASgLMksucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TY2hlbWFSZWdpc3RyeVN5bmNPcHRpb25zLlNoYWRvd1NjaGVtYVJlZ2lzdHJ5VG9waWNIABobChlTaGFkb3dTY2hlbWFSZWdpc3RyeVRvcGljQiAKHnNjaGVtYV9yZWdpc3RyeV9zaGFkb3dpbmdfbW9kZSLQAQoZQ29uc3VtZXJPZmZzZXRTeW5jT3B0aW9ucxIrCghpbnRlcnZhbBgBIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhI6ChJlZmZlY3RpdmVfaW50ZXJ2YWwYAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CA+BBAxIPCgdlbmFibGVkGAMgASgIEjkKDWdyb3VwX2ZpbHRlcnMYBCADKAsyIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLk5hbWVGaWx0ZXIizwEKG1NlY3VyaXR5U2V0dGluZ3NTeW5jT3B0aW9ucxIrCghpbnRlcnZhbBgBIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhI6ChJlZmZlY3RpdmVfaW50ZXJ2YWwYAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CA+BBAxIPCgdlbmFibGVkGAMgASgIEjYKC2FjbF9maWx0ZXJzGAQgAygLMiEucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5BQ0xGaWx0ZXIi2QEKC1RMU1NldHRpbmdzEg8KB2VuYWJsZWQYAyABKAgSRAoRdGxzX2ZpbGVfc2V0dGluZ3MYASABKAsyJy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlRMU0ZpbGVTZXR0aW5nc0gAEkIKEHRsc19wZW1fc2V0dGluZ3MYAiABKAsyJi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlRMU1BFTVNldHRpbmdzSAASHwoXZG9fbm90X3NldF9zbmlfaG9zdG5hbWUYBCABKAhCDgoMdGxzX3NldHRpbmdzInMKG0F1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbhJCChNzY3JhbV9jb25maWd1cmF0aW9uGAEgASgLMiMucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TY3JhbUNvbmZpZ0gAQhAKDmF1dGhlbnRpY2F0aW9uIkcKD1RMU0ZpbGVTZXR0aW5ncxIPCgdjYV9wYXRoGAEgASgJEhAKCGtleV9wYXRoGAIgASgJEhEKCWNlcnRfcGF0aBgDIAEoCSJaCg5UTFNQRU1TZXR0aW5ncxIKCgJjYRgBIAEoCRIQCgNrZXkYAiABKAlCA+BBBBIcCg9rZXlfZmluZ2VycHJpbnQYAyABKAlCA+BBAxIMCgRjZXJ0GAQgASgJIswBCgtTY3JhbUNvbmZpZxIQCgh1c2VybmFtZRgBIAEoCRIVCghwYXNzd29yZBgCIAEoCUID4EEEEhkKDHBhc3N3b3JkX3NldBgDIAEoCEID4EEDEjgKD3Bhc3N3b3JkX3NldF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCA+BBAxI/Cg9zY3JhbV9tZWNoYW5pc20YBSABKA4yJi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNjcmFtTWVjaGFuaXNtIo4BCgpOYW1lRmlsdGVyEjkKDHBhdHRlcm5fdHlwZRgBIAEoDjIjLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuUGF0dGVyblR5cGUSNwoLZmlsdGVyX3R5cGUYAiABKA4yIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkZpbHRlclR5cGUSDAoEbmFtZRgDIAEoCSKPAQoJQUNMRmlsdGVyEkIKD3Jlc291cmNlX2ZpbHRlchgBIAEoCzIpLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuQUNMUmVzb3VyY2VGaWx0ZXISPgoNYWNjZXNzX2ZpbHRlchgCIAEoCzInLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuQUNMQWNjZXNzRmlsdGVyIpMBChFBQ0xSZXNvdXJjZUZpbHRlchI4Cg1yZXNvdXJjZV90eXBlGAEgASgOMiEucmVkcGFuZGEuY29yZS5jb21tb24uQUNMUmVzb3VyY2USNgoMcGF0dGVybl90eXBlGAIgASgOMiAucmVkcGFuZGEuY29yZS5jb21tb24uQUNMUGF0dGVybhIMCgRuYW1lGAMgASgJIqsBCg9BQ0xBY2Nlc3NGaWx0ZXISEQoJcHJpbmNpcGFsGAEgASgJEjUKCW9wZXJhdGlvbhgCIAEoDjIiLnJlZHBhbmRhLmNvcmUuY29tbW9uLkFDTE9wZXJhdGlvbhJACg9wZXJtaXNzaW9uX3R5cGUYAyABKA4yJy5yZWRwYW5kYS5jb3JlLmNvbW1vbi5BQ0xQZXJtaXNzaW9uVHlwZRIMCgRob3N0GAQgASgJIvMBChBTaGFkb3dMaW5rU3RhdHVzEjYKBXN0YXRlGAEgASgOMicucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rU3RhdGUSQwoNdGFza19zdGF0dXNlcxgCIAMoCzIsLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93TGlua1Rhc2tTdGF0dXMSOgoNc2hhZG93X3RvcGljcxgDIAMoCzIjLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93VG9waWMSJgoec3luY2VkX3NoYWRvd190b3BpY19wcm9wZXJ0aWVzGAQgAygJInkKFFNoYWRvd0xpbmtUYXNrU3RhdHVzEgwKBG5hbWUYASABKAkSMAoFc3RhdGUYAiABKA4yIS5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlRhc2tTdGF0ZRIOCgZyZWFzb24YAyABKAkSEQoJYnJva2VyX2lkGAQgASgFIp4BChFTaGFkb3dUb3BpY1N0YXR1cxI3CgVzdGF0ZRgBIAEoDjIoLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93VG9waWNTdGF0ZRJQChVwYXJ0aXRpb25faW5mb3JtYXRpb24YAiADKAsyMS5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlRvcGljUGFydGl0aW9uSW5mb3JtYXRpb24izgEKGVRvcGljUGFydGl0aW9uSW5mb3JtYXRpb24SFAoMcGFydGl0aW9uX2lkGAEgASgDEiEKGXNvdXJjZV9sYXN0X3N0YWJsZV9vZmZzZXQYAiABKAMSHQoVc291cmNlX2hpZ2hfd2F0ZXJtYXJrGAMgASgDEhYKDmhpZ2hfd2F0ZXJtYXJrGAQgASgDEkEKHXNvdXJjZV9sYXN0X3VwZGF0ZWRfdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCpwCg9TaGFkb3dMaW5rU3RhdGUSIQodU0hBRE9XX0xJTktfU1RBVEVfVU5TUEVDSUZJRUQQABIcChhTSEFET1dfTElOS19TVEFURV9BQ1RJVkUQARIcChhTSEFET1dfTElOS19TVEFURV9QQVVTRUQQAip3Cg5TY3JhbU1lY2hhbmlzbRIfChtTQ1JBTV9NRUNIQU5JU01fVU5TUEVDSUZJRUQQABIhCh1TQ1JBTV9NRUNIQU5JU01fU0NSQU1fU0hBXzI1NhABEiEKHVNDUkFNX01FQ0hBTklTTV9TQ1JBTV9TSEFfNTEyEAIqXgoLUGF0dGVyblR5cGUSHAoYUEFUVEVSTl9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUUEFUVEVSTl9UWVBFX0xJVEVSQUwQARIXChNQQVRURVJOX1RZUEVfUFJFRklYEAIqWwoKRmlsdGVyVHlwZRIbChdGSUxURVJfVFlQRV9VTlNQRUNJRklFRBAAEhcKE0ZJTFRFUl9UWVBFX0lOQ0xVREUQARIXChNGSUxURVJfVFlQRV9FWENMVURFEAIqqgEKCVRhc2tTdGF0ZRIaChZUQVNLX1NUQVRFX1VOU1BFQ0lGSUVEEAASFQoRVEFTS19TVEFURV9BQ1RJVkUQARIVChFUQVNLX1NUQVRFX1BBVVNFRBACEh8KG1RBU0tfU1RBVEVfTElOS19VTkFWQUlMQUJMRRADEhoKFlRBU0tfU1RBVEVfTk9UX1JVTk5JTkcQBBIWChJUQVNLX1NUQVRFX0ZBVUxURUQQBSqgAgoQU2hhZG93VG9waWNTdGF0ZRIiCh5TSEFET1dfVE9QSUNfU1RBVEVfVU5TUEVDSUZJRUQQABIdChlTSEFET1dfVE9QSUNfU1RBVEVfQUNUSVZFEAESHgoaU0hBRE9XX1RPUElDX1NUQVRFX0ZBVUxURUQQAhIdChlTSEFET1dfVE9QSUNfU1RBVEVfUEFVU0VEEAMSIwofU0hBRE9XX1RPUElDX1NUQVRFX0ZBSUxJTkdfT1ZFUhAEEiIKHlNIQURPV19UT1BJQ19TVEFURV9GQUlMRURfT1ZFUhAFEiAKHFNIQURPV19UT1BJQ19TVEFURV9QUk9NT1RJTkcQBhIfChtTSEFET1dfVE9QSUNfU1RBVEVfUFJPTU9URUQQBzLhBwoRU2hhZG93TGlua1NlcnZpY2USfQoQQ3JlYXRlU2hhZG93TGluaxIvLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuQ3JlYXRlU2hhZG93TGlua1JlcXVlc3QaMC5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkNyZWF0ZVNoYWRvd0xpbmtSZXNwb25zZSIG6pIZAhADEn0KEERlbGV0ZVNoYWRvd0xpbmsSLy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkRlbGV0ZVNoYWRvd0xpbmtSZXF1ZXN0GjAucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5EZWxldGVTaGFkb3dMaW5rUmVzcG9uc2UiBuqSGQIQAxJ0Cg1HZXRTaGFkb3dMaW5rEiwucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5HZXRTaGFkb3dMaW5rUmVxdWVzdBotLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuR2V0U2hhZG93TGlua1Jlc3BvbnNlIgbqkhkCEAMSegoPTGlzdFNoYWRvd0xpbmtzEi4ucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5MaXN0U2hhZG93TGlua3NSZXF1ZXN0Gi8ucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5MaXN0U2hhZG93TGlua3NSZXNwb25zZSIG6pIZAhADEn0KEFVwZGF0ZVNoYWRvd0xpbmsSLy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlVwZGF0ZVNoYWRvd0xpbmtSZXF1ZXN0GjAucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5VcGRhdGVTaGFkb3dMaW5rUmVzcG9uc2UiBuqSGQIQAxJlCghGYWlsT3ZlchInLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuRmFpbE92ZXJSZXF1ZXN0GigucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5GYWlsT3ZlclJlc3BvbnNlIgbqkhkCEAMSdwoOR2V0U2hhZG93VG9waWMSLS5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkdldFNoYWRvd1RvcGljUmVxdWVzdBouLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuR2V0U2hhZG93VG9waWNSZXNwb25zZSIG6pIZAhADEn0KEExpc3RTaGFkb3dUb3BpY3MSLy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkxpc3RTaGFkb3dUb3BpY3NSZXF1ZXN0GjAucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5MaXN0U2hhZG93VG9waWNzUmVzcG9uc2UiBuqSGQIQA0KOAgoaY29tLnJlZHBhbmRhLmNvcmUuYWRtaW4udjJCD1NoYWRvd0xpbmtQcm90b1ABWlRidWYuYnVpbGQvZ2VuL2dvL3JlZHBhbmRhZGF0YS9jb3JlL3Byb3RvY29sYnVmZmVycy9nby9yZWRwYW5kYS9jb3JlL2FkbWluL3YyO2FkbWludjKiAgNSQ0GqAhZSZWRwYW5kYS5Db3JlLkFkbWluLlYyygIWUmVkcGFuZGFcQ29yZVxBZG1pblxWMuICIlJlZHBhbmRhXENvcmVcQWRtaW5cVjJcR1BCTWV0YWRhdGHqAhlSZWRwYW5kYTo6Q29yZTo6QWRtaW46OlYy6pIZDHByb3RvOjphZG1pbmIGcHJvdG8z", [file_redpanda_core_pbgen_options, file_redpanda_core_pbgen_rpc, file_redpanda_core_common_acl, file_google_api_field_behavior, file_google_api_field_info, file_google_api_resource, file_google_protobuf_duration, file_google_protobuf_timestamp, file_google_protobuf_field_mask]); + fileDesc("CihyZWRwYW5kYS9jb3JlL2FkbWluL3YyL3NoYWRvd19saW5rLnByb3RvEhZyZWRwYW5kYS5jb3JlLmFkbWluLnYyIsIBCgpTaGFkb3dMaW5rEhEKBG5hbWUYASABKAlCA+BBAhIYCgN1aWQYAiABKAlCC+BBA+KMz9cIAggBEkgKDmNvbmZpZ3VyYXRpb25zGAMgASgLMjAucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rQ29uZmlndXJhdGlvbnMSPQoGc3RhdHVzGAQgASgLMigucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rU3RhdHVzQgPgQQMiwAEKC1NoYWRvd1RvcGljEhEKBG5hbWUYASABKAlCA+BBAxIdCgh0b3BpY19pZBgCIAEoCUIL4EED4ozP1wgCCAESGQoRc291cmNlX3RvcGljX25hbWUYAyABKAkSJAoPc291cmNlX3RvcGljX2lkGAQgASgJQgvgQQPijM/XCAIIARI+CgZzdGF0dXMYBSABKAsyKS5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd1RvcGljU3RhdHVzQgPgQQMiUgoXQ3JlYXRlU2hhZG93TGlua1JlcXVlc3QSNwoLc2hhZG93X2xpbmsYASABKAsyIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmsiUwoYQ3JlYXRlU2hhZG93TGlua1Jlc3BvbnNlEjcKC3NoYWRvd19saW5rGAEgASgLMiIucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rInAKF0RlbGV0ZVNoYWRvd0xpbmtSZXF1ZXN0EkYKBG5hbWUYASABKAlCOOBBAvpBMgowcmVkcGFuZGEuY29yZS5hZG1pbi5TaGFkb3dMaW5rU2VydmljZS9TaGFkb3dMaW5rEg0KBWZvcmNlGAIgASgIIhoKGERlbGV0ZVNoYWRvd0xpbmtSZXNwb25zZSJeChRHZXRTaGFkb3dMaW5rUmVxdWVzdBJGCgRuYW1lGAEgASgJQjjgQQL6QTIKMHJlZHBhbmRhLmNvcmUuYWRtaW4uU2hhZG93TGlua1NlcnZpY2UvU2hhZG93TGluayJQChVHZXRTaGFkb3dMaW5rUmVzcG9uc2USNwoLc2hhZG93X2xpbmsYASABKAsyIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmsiGAoWTGlzdFNoYWRvd0xpbmtzUmVxdWVzdCJTChdMaXN0U2hhZG93TGlua3NSZXNwb25zZRI4CgxzaGFkb3dfbGlua3MYASADKAsyIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmsigwEKF1VwZGF0ZVNoYWRvd0xpbmtSZXF1ZXN0EjcKC3NoYWRvd19saW5rGAEgASgLMiIucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rEi8KC3VwZGF0ZV9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayJTChhVcGRhdGVTaGFkb3dMaW5rUmVzcG9uc2USNwoLc2hhZG93X2xpbmsYASABKAsyIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd0xpbmsieQoPRmFpbE92ZXJSZXF1ZXN0EkYKBG5hbWUYASABKAlCOOBBAvpBMgowcmVkcGFuZGEuY29yZS5hZG1pbi5TaGFkb3dMaW5rU2VydmljZS9TaGFkb3dMaW5rEh4KEXNoYWRvd190b3BpY19uYW1lGAIgASgJQgPgQQEiSwoQRmFpbE92ZXJSZXNwb25zZRI3CgtzaGFkb3dfbGluaxgBIAEoCzIiLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93TGluayJJChVHZXRTaGFkb3dUb3BpY1JlcXVlc3QSHQoQc2hhZG93X2xpbmtfbmFtZRgBIAEoCUID4EECEhEKBG5hbWUYAiABKAlCA+BBAiJTChZHZXRTaGFkb3dUb3BpY1Jlc3BvbnNlEjkKDHNoYWRvd190b3BpYxgBIAEoCzIjLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93VG9waWMiOAoXTGlzdFNoYWRvd1RvcGljc1JlcXVlc3QSHQoQc2hhZG93X2xpbmtfbmFtZRgBIAEoCUID4EECIlYKGExpc3RTaGFkb3dUb3BpY3NSZXNwb25zZRI6Cg1zaGFkb3dfdG9waWNzGAEgAygLMiMucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dUb3BpYyLAAwoYU2hhZG93TGlua0NvbmZpZ3VyYXRpb25zEkcKDmNsaWVudF9vcHRpb25zGAEgASgLMi8ucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rQ2xpZW50T3B0aW9ucxJVCht0b3BpY19tZXRhZGF0YV9zeW5jX29wdGlvbnMYAiABKAsyMC5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlRvcGljTWV0YWRhdGFTeW5jT3B0aW9ucxJXChxjb25zdW1lcl9vZmZzZXRfc3luY19vcHRpb25zGAMgASgLMjEucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5Db25zdW1lck9mZnNldFN5bmNPcHRpb25zElIKFXNlY3VyaXR5X3N5bmNfb3B0aW9ucxgEIAEoCzIzLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2VjdXJpdHlTZXR0aW5nc1N5bmNPcHRpb25zElcKHHNjaGVtYV9yZWdpc3RyeV9zeW5jX29wdGlvbnMYBSABKAsyMS5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNjaGVtYVJlZ2lzdHJ5U3luY09wdGlvbnMitAYKF1NoYWRvd0xpbmtDbGllbnRPcHRpb25zEh4KEWJvb3RzdHJhcF9zZXJ2ZXJzGAEgAygJQgPgQQISFgoJY2xpZW50X2lkGAIgASgJQgPgQQMSGQoRc291cmNlX2NsdXN0ZXJfaWQYAyABKAkSPwoMdGxzX3NldHRpbmdzGAQgASgLMiQucmVkcGFuZGEuY29yZS5jb21tb24udjEuVExTU2V0dGluZ3NIAIgBARJeChxhdXRoZW50aWNhdGlvbl9jb25maWd1cmF0aW9uGAUgASgLMjMucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5BdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb25IAYgBARIbChNtZXRhZGF0YV9tYXhfYWdlX21zGAYgASgFEioKHWVmZmVjdGl2ZV9tZXRhZGF0YV9tYXhfYWdlX21zGAcgASgFQgPgQQMSHQoVY29ubmVjdGlvbl90aW1lb3V0X21zGAggASgFEiwKH2VmZmVjdGl2ZV9jb25uZWN0aW9uX3RpbWVvdXRfbXMYCSABKAVCA+BBAxIYChByZXRyeV9iYWNrb2ZmX21zGAogASgFEicKGmVmZmVjdGl2ZV9yZXRyeV9iYWNrb2ZmX21zGAsgASgFQgPgQQMSGQoRZmV0Y2hfd2FpdF9tYXhfbXMYDCABKAUSKAobZWZmZWN0aXZlX2ZldGNoX3dhaXRfbWF4X21zGA0gASgFQgPgQQMSFwoPZmV0Y2hfbWluX2J5dGVzGA4gASgFEiYKGWVmZmVjdGl2ZV9mZXRjaF9taW5fYnl0ZXMYDyABKAVCA+BBAxIXCg9mZXRjaF9tYXhfYnl0ZXMYECABKAUSJgoZZWZmZWN0aXZlX2ZldGNoX21heF9ieXRlcxgRIAEoBUID4EEDEiEKGWZldGNoX3BhcnRpdGlvbl9tYXhfYnl0ZXMYEiABKAUSMAojZWZmZWN0aXZlX2ZldGNoX3BhcnRpdGlvbl9tYXhfYnl0ZXMYEyABKAVCA+BBA0IPCg1fdGxzX3NldHRpbmdzQh8KHV9hdXRoZW50aWNhdGlvbl9jb25maWd1cmF0aW9uIsYEChhUb3BpY01ldGFkYXRhU3luY09wdGlvbnMSKwoIaW50ZXJ2YWwYASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SOgoSZWZmZWN0aXZlX2ludGVydmFsGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQgPgQQMSTAogYXV0b19jcmVhdGVfc2hhZG93X3RvcGljX2ZpbHRlcnMYAyADKAsyIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLk5hbWVGaWx0ZXISJgoec3luY2VkX3NoYWRvd190b3BpY19wcm9wZXJ0aWVzGAQgAygJEhcKD2V4Y2x1ZGVfZGVmYXVsdBgFIAEoCBJcChFzdGFydF9hdF9lYXJsaWVzdBgGIAEoCzI/LnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuVG9waWNNZXRhZGF0YVN5bmNPcHRpb25zLkVhcmxpZXN0T2Zmc2V0SAASWAoPc3RhcnRfYXRfbGF0ZXN0GAcgASgLMj0ucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5Ub3BpY01ldGFkYXRhU3luY09wdGlvbnMuTGF0ZXN0T2Zmc2V0SAASOAoSc3RhcnRfYXRfdGltZXN0YW1wGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAEg4KBnBhdXNlZBgJIAEoCBoQCg5FYXJsaWVzdE9mZnNldBoOCgxMYXRlc3RPZmZzZXRCDgoMc3RhcnRfb2Zmc2V0Is8BChlTY2hlbWFSZWdpc3RyeVN5bmNPcHRpb25zEnMKHHNoYWRvd19zY2hlbWFfcmVnaXN0cnlfdG9waWMYASABKAsySy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNjaGVtYVJlZ2lzdHJ5U3luY09wdGlvbnMuU2hhZG93U2NoZW1hUmVnaXN0cnlUb3BpY0gAGhsKGVNoYWRvd1NjaGVtYVJlZ2lzdHJ5VG9waWNCIAoec2NoZW1hX3JlZ2lzdHJ5X3NoYWRvd2luZ19tb2RlIs8BChlDb25zdW1lck9mZnNldFN5bmNPcHRpb25zEisKCGludGVydmFsGAEgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjoKEmVmZmVjdGl2ZV9pbnRlcnZhbBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkID4EEDEg4KBnBhdXNlZBgDIAEoCBI5Cg1ncm91cF9maWx0ZXJzGAQgAygLMiIucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5OYW1lRmlsdGVyIs4BChtTZWN1cml0eVNldHRpbmdzU3luY09wdGlvbnMSKwoIaW50ZXJ2YWwYASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SOgoSZWZmZWN0aXZlX2ludGVydmFsGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQgPgQQMSDgoGcGF1c2VkGAMgASgIEjYKC2FjbF9maWx0ZXJzGAQgAygLMiEucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5BQ0xGaWx0ZXIitwEKG0F1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbhJCChNzY3JhbV9jb25maWd1cmF0aW9uGAEgASgLMiMucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TY3JhbUNvbmZpZ0gAEkIKE3BsYWluX2NvbmZpZ3VyYXRpb24YAiABKAsyIy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlBsYWluQ29uZmlnSABCEAoOYXV0aGVudGljYXRpb24iiwEKC1BsYWluQ29uZmlnEhAKCHVzZXJuYW1lGAEgASgJEhUKCHBhc3N3b3JkGAIgASgJQgPgQQQSGQoMcGFzc3dvcmRfc2V0GAMgASgIQgPgQQMSOAoPcGFzc3dvcmRfc2V0X2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEID4EEDIswBCgtTY3JhbUNvbmZpZxIQCgh1c2VybmFtZRgBIAEoCRIVCghwYXNzd29yZBgCIAEoCUID4EEEEhkKDHBhc3N3b3JkX3NldBgDIAEoCEID4EEDEjgKD3Bhc3N3b3JkX3NldF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCA+BBAxI/Cg9zY3JhbV9tZWNoYW5pc20YBSABKA4yJi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNjcmFtTWVjaGFuaXNtIo4BCgpOYW1lRmlsdGVyEjkKDHBhdHRlcm5fdHlwZRgBIAEoDjIjLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuUGF0dGVyblR5cGUSNwoLZmlsdGVyX3R5cGUYAiABKA4yIi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkZpbHRlclR5cGUSDAoEbmFtZRgDIAEoCSKPAQoJQUNMRmlsdGVyEkIKD3Jlc291cmNlX2ZpbHRlchgBIAEoCzIpLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuQUNMUmVzb3VyY2VGaWx0ZXISPgoNYWNjZXNzX2ZpbHRlchgCIAEoCzInLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuQUNMQWNjZXNzRmlsdGVyIpkBChFBQ0xSZXNvdXJjZUZpbHRlchI7Cg1yZXNvdXJjZV90eXBlGAEgASgOMiQucmVkcGFuZGEuY29yZS5jb21tb24udjEuQUNMUmVzb3VyY2USOQoMcGF0dGVybl90eXBlGAIgASgOMiMucmVkcGFuZGEuY29yZS5jb21tb24udjEuQUNMUGF0dGVybhIMCgRuYW1lGAMgASgJIrEBCg9BQ0xBY2Nlc3NGaWx0ZXISEQoJcHJpbmNpcGFsGAEgASgJEjgKCW9wZXJhdGlvbhgCIAEoDjIlLnJlZHBhbmRhLmNvcmUuY29tbW9uLnYxLkFDTE9wZXJhdGlvbhJDCg9wZXJtaXNzaW9uX3R5cGUYAyABKA4yKi5yZWRwYW5kYS5jb3JlLmNvbW1vbi52MS5BQ0xQZXJtaXNzaW9uVHlwZRIMCgRob3N0GAQgASgJIvMBChBTaGFkb3dMaW5rU3RhdHVzEjYKBXN0YXRlGAEgASgOMicucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rU3RhdGUSQwoNdGFza19zdGF0dXNlcxgCIAMoCzIsLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93TGlua1Rhc2tTdGF0dXMSOgoNc2hhZG93X3RvcGljcxgDIAMoCzIjLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93VG9waWMSJgoec3luY2VkX3NoYWRvd190b3BpY19wcm9wZXJ0aWVzGAQgAygJIogBChRTaGFkb3dMaW5rVGFza1N0YXR1cxIMCgRuYW1lGAEgASgJEjAKBXN0YXRlGAIgASgOMiEucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5UYXNrU3RhdGUSDgoGcmVhc29uGAMgASgJEhEKCWJyb2tlcl9pZBgEIAEoBRINCgVzaGFyZBgFIAEoBSKeAQoRU2hhZG93VG9waWNTdGF0dXMSNwoFc3RhdGUYASABKA4yKC5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLlNoYWRvd1RvcGljU3RhdGUSUAoVcGFydGl0aW9uX2luZm9ybWF0aW9uGAIgAygLMjEucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5Ub3BpY1BhcnRpdGlvbkluZm9ybWF0aW9uIs4BChlUb3BpY1BhcnRpdGlvbkluZm9ybWF0aW9uEhQKDHBhcnRpdGlvbl9pZBgBIAEoAxIhChlzb3VyY2VfbGFzdF9zdGFibGVfb2Zmc2V0GAIgASgDEh0KFXNvdXJjZV9oaWdoX3dhdGVybWFyaxgDIAEoAxIWCg5oaWdoX3dhdGVybWFyaxgEIAEoAxJBCh1zb3VyY2VfbGFzdF91cGRhdGVkX3RpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAqcAoPU2hhZG93TGlua1N0YXRlEiEKHVNIQURPV19MSU5LX1NUQVRFX1VOU1BFQ0lGSUVEEAASHAoYU0hBRE9XX0xJTktfU1RBVEVfQUNUSVZFEAESHAoYU0hBRE9XX0xJTktfU1RBVEVfUEFVU0VEEAIqdwoOU2NyYW1NZWNoYW5pc20SHwobU0NSQU1fTUVDSEFOSVNNX1VOU1BFQ0lGSUVEEAASIQodU0NSQU1fTUVDSEFOSVNNX1NDUkFNX1NIQV8yNTYQARIhCh1TQ1JBTV9NRUNIQU5JU01fU0NSQU1fU0hBXzUxMhACKl4KC1BhdHRlcm5UeXBlEhwKGFBBVFRFUk5fVFlQRV9VTlNQRUNJRklFRBAAEhgKFFBBVFRFUk5fVFlQRV9MSVRFUkFMEAESFwoTUEFUVEVSTl9UWVBFX1BSRUZJWBACKlsKCkZpbHRlclR5cGUSGwoXRklMVEVSX1RZUEVfVU5TUEVDSUZJRUQQABIXChNGSUxURVJfVFlQRV9JTkNMVURFEAESFwoTRklMVEVSX1RZUEVfRVhDTFVERRACKqoBCglUYXNrU3RhdGUSGgoWVEFTS19TVEFURV9VTlNQRUNJRklFRBAAEhUKEVRBU0tfU1RBVEVfQUNUSVZFEAESFQoRVEFTS19TVEFURV9QQVVTRUQQAhIfChtUQVNLX1NUQVRFX0xJTktfVU5BVkFJTEFCTEUQAxIaChZUQVNLX1NUQVRFX05PVF9SVU5OSU5HEAQSFgoSVEFTS19TVEFURV9GQVVMVEVEEAUqoAIKEFNoYWRvd1RvcGljU3RhdGUSIgoeU0hBRE9XX1RPUElDX1NUQVRFX1VOU1BFQ0lGSUVEEAASHQoZU0hBRE9XX1RPUElDX1NUQVRFX0FDVElWRRABEh4KGlNIQURPV19UT1BJQ19TVEFURV9GQVVMVEVEEAISHQoZU0hBRE9XX1RPUElDX1NUQVRFX1BBVVNFRBADEiMKH1NIQURPV19UT1BJQ19TVEFURV9GQUlMSU5HX09WRVIQBBIiCh5TSEFET1dfVE9QSUNfU1RBVEVfRkFJTEVEX09WRVIQBRIgChxTSEFET1dfVE9QSUNfU1RBVEVfUFJPTU9USU5HEAYSHwobU0hBRE9XX1RPUElDX1NUQVRFX1BST01PVEVEEAcy4QcKEVNoYWRvd0xpbmtTZXJ2aWNlEn0KEENyZWF0ZVNoYWRvd0xpbmsSLy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkNyZWF0ZVNoYWRvd0xpbmtSZXF1ZXN0GjAucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5DcmVhdGVTaGFkb3dMaW5rUmVzcG9uc2UiBuqSGQIQAxJ9ChBEZWxldGVTaGFkb3dMaW5rEi8ucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5EZWxldGVTaGFkb3dMaW5rUmVxdWVzdBowLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuRGVsZXRlU2hhZG93TGlua1Jlc3BvbnNlIgbqkhkCEAMSdAoNR2V0U2hhZG93TGluaxIsLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuR2V0U2hhZG93TGlua1JlcXVlc3QaLS5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkdldFNoYWRvd0xpbmtSZXNwb25zZSIG6pIZAhADEnoKD0xpc3RTaGFkb3dMaW5rcxIuLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuTGlzdFNoYWRvd0xpbmtzUmVxdWVzdBovLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuTGlzdFNoYWRvd0xpbmtzUmVzcG9uc2UiBuqSGQIQAxJ9ChBVcGRhdGVTaGFkb3dMaW5rEi8ucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5VcGRhdGVTaGFkb3dMaW5rUmVxdWVzdBowLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuVXBkYXRlU2hhZG93TGlua1Jlc3BvbnNlIgbqkhkCEAMSZQoIRmFpbE92ZXISJy5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkZhaWxPdmVyUmVxdWVzdBooLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuRmFpbE92ZXJSZXNwb25zZSIG6pIZAhADEncKDkdldFNoYWRvd1RvcGljEi0ucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5HZXRTaGFkb3dUb3BpY1JlcXVlc3QaLi5yZWRwYW5kYS5jb3JlLmFkbWluLnYyLkdldFNoYWRvd1RvcGljUmVzcG9uc2UiBuqSGQIQAxJ9ChBMaXN0U2hhZG93VG9waWNzEi8ucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5MaXN0U2hhZG93VG9waWNzUmVxdWVzdBowLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuTGlzdFNoYWRvd1RvcGljc1Jlc3BvbnNlIgbqkhkCEANCjgIKGmNvbS5yZWRwYW5kYS5jb3JlLmFkbWluLnYyQg9TaGFkb3dMaW5rUHJvdG9QAVpUYnVmLmJ1aWxkL2dlbi9nby9yZWRwYW5kYWRhdGEvY29yZS9wcm90b2NvbGJ1ZmZlcnMvZ28vcmVkcGFuZGEvY29yZS9hZG1pbi92MjthZG1pbnYyogIDUkNBqgIWUmVkcGFuZGEuQ29yZS5BZG1pbi5WMsoCFlJlZHBhbmRhXENvcmVcQWRtaW5cVjLiAiJSZWRwYW5kYVxDb3JlXEFkbWluXFYyXEdQQk1ldGFkYXRh6gIZUmVkcGFuZGE6OkNvcmU6OkFkbWluOjpWMuqSGQxwcm90bzo6YWRtaW5iBnByb3RvMw", [file_redpanda_core_pbgen_options, file_redpanda_core_pbgen_rpc, file_redpanda_core_common_v1_acl, file_redpanda_core_common_v1_tls, file_google_api_field_behavior, file_google_api_field_info, file_google_api_resource, file_google_protobuf_duration, file_google_protobuf_timestamp, file_google_protobuf_field_mask]); /** * A ShadowLink resource @@ -559,7 +561,7 @@ export type ShadowLinkClientOptions = Message<"redpanda.core.admin.v2.ShadowLink /** * TLS settings * - * @generated from field: optional redpanda.core.admin.v2.TLSSettings tls_settings = 4; + * @generated from field: optional redpanda.core.common.v1.TLSSettings tls_settings = 4; */ tlsSettings?: TLSSettings; @@ -662,7 +664,7 @@ export type ShadowLinkClientOptions = Message<"redpanda.core.admin.v2.ShadowLink /** * Fetch partition max bytes. - * If 0 is provided, defaults to 1 MiB + * If 0 is provided, defaults to 5 MiB * * @generated from field: int32 fetch_partition_max_bytes = 18; */ @@ -774,30 +776,39 @@ export type TopicMetadataSyncOptions = Message<"redpanda.core.admin.v2.TopicMeta * Enables data replication from the earliest offset * on the source topic/partition. * - * @generated from field: redpanda.core.admin.v2.TopicMetadataSyncOptions.EarliestOffset earliest = 6; + * @generated from field: redpanda.core.admin.v2.TopicMetadataSyncOptions.EarliestOffset start_at_earliest = 6; */ value: TopicMetadataSyncOptions_EarliestOffset; - case: "earliest"; + case: "startAtEarliest"; } | { /** * Enables data replication from the latest offset * on the source topic/partition. * - * @generated from field: redpanda.core.admin.v2.TopicMetadataSyncOptions.LatestOffset latest = 7; + * @generated from field: redpanda.core.admin.v2.TopicMetadataSyncOptions.LatestOffset start_at_latest = 7; */ value: TopicMetadataSyncOptions_LatestOffset; - case: "latest"; + case: "startAtLatest"; } | { /** * Enables data replication from the first offset on the * source topic/partition where the record's timestamp is * at or after the specified timestamp. * - * @generated from field: google.protobuf.Timestamp timestamp = 8; + * @generated from field: google.protobuf.Timestamp start_at_timestamp = 8; */ value: Timestamp; - case: "timestamp"; + case: "startAtTimestamp"; } | { case: undefined; value?: undefined }; + + /** + * Allows user to pause the topic sync task. If paused, then + * the task will enter the 'paused' state and not sync topics or their + * properties from the source cluster + * + * @generated from field: bool paused = 9; + */ + paused: boolean; }; /** @@ -913,11 +924,13 @@ export type ConsumerOffsetSyncOptions = Message<"redpanda.core.admin.v2.Consumer effectiveInterval?: Duration; /** - * Whether it's enabled + * Allows user to pause the consumer offset sync task. If paused, then + * the task will enter the 'paused' state and not sync consumer offsets from + * the source cluster * - * @generated from field: bool enabled = 3; + * @generated from field: bool paused = 3; */ - enabled: boolean; + paused: boolean; /** * The filters @@ -956,11 +969,13 @@ export type SecuritySettingsSyncOptions = Message<"redpanda.core.admin.v2.Securi effectiveInterval?: Duration; /** - * Whether or not it's enabled + * Allows user to pause the security settings sync task. If paused, + * then the task will enter the 'paused' state and will not sync security + * settings from the source cluster * - * @generated from field: bool enabled = 3; + * @generated from field: bool paused = 3; */ - enabled: boolean; + paused: boolean; /** * ACL filters @@ -978,59 +993,9 @@ export const SecuritySettingsSyncOptionsSchema: GenMessage & { - /** - * Whether or not TLS is enabled - * - * @generated from field: bool enabled = 3; - */ - enabled: boolean; - - /** - * May provide TLS as a set of files or PEM values - * - * @generated from oneof redpanda.core.admin.v2.TLSSettings.tls_settings - */ - tlsSettings: { - /** - * Certificates and keys are provided as files - * - * @generated from field: redpanda.core.admin.v2.TLSFileSettings tls_file_settings = 1; - */ - value: TLSFileSettings; - case: "tlsFileSettings"; - } | { - /** - * Certificates and keys are provided in PEM format - * - * @generated from field: redpanda.core.admin.v2.TLSPEMSettings tls_pem_settings = 2; - */ - value: TLSPEMSettings; - case: "tlsPemSettings"; - } | { case: undefined; value?: undefined }; - - /** - * If true, the SNI hostname will not be provided when TLS is used - * - * @generated from field: bool do_not_set_sni_hostname = 4; - */ - doNotSetSniHostname: boolean; -}; - -/** - * Describes the message redpanda.core.admin.v2.TLSSettings. - * Use `create(TLSSettingsSchema)` to create a new message. - */ -export const TLSSettingsSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 24); - -/** - * Authentication config. Currently only supporting SASL/SCRAM, - * however made as a oneof for expansion + * Authentication config. Supports: + * * SASL/SCRAM + * * SASL/PLAIN * * @generated from message redpanda.core.admin.v2.AuthenticationConfiguration */ @@ -1046,6 +1011,14 @@ export type AuthenticationConfiguration = Message<"redpanda.core.admin.v2.Authen */ value: ScramConfig; case: "scramConfiguration"; + } | { + /** + * SASL/PLAIN configuration + * + * @generated from field: redpanda.core.admin.v2.PlainConfig plain_configuration = 2; + */ + value: PlainConfig; + case: "plainConfiguration"; } | { case: undefined; value?: undefined }; }; @@ -1054,86 +1027,50 @@ export type AuthenticationConfiguration = Message<"redpanda.core.admin.v2.Authen * Use `create(AuthenticationConfigurationSchema)` to create a new message. */ export const AuthenticationConfigurationSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 25); - -/** - * TLS file settings - * - * @generated from message redpanda.core.admin.v2.TLSFileSettings - */ -export type TLSFileSettings = Message<"redpanda.core.admin.v2.TLSFileSettings"> & { - /** - * Path to the CA - * - * @generated from field: string ca_path = 1; - */ - caPath: string; - - /** - * Key and Cert are optional but if one is provided, then both must be - * Path to the key - * - * @generated from field: string key_path = 2; - */ - keyPath: string; - - /** - * Path to the cert - * - * @generated from field: string cert_path = 3; - */ - certPath: string; -}; - -/** - * Describes the message redpanda.core.admin.v2.TLSFileSettings. - * Use `create(TLSFileSettingsSchema)` to create a new message. - */ -export const TLSFileSettingsSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 26); + messageDesc(file_redpanda_core_admin_v2_shadow_link, 24); /** - * Used when providing the TLS information in PEM format + * PLAIN settings * - * @generated from message redpanda.core.admin.v2.TLSPEMSettings + * @generated from message redpanda.core.admin.v2.PlainConfig */ -export type TLSPEMSettings = Message<"redpanda.core.admin.v2.TLSPEMSettings"> & { +export type PlainConfig = Message<"redpanda.core.admin.v2.PlainConfig"> & { /** - * The CA + * PLAIN username * - * @generated from field: string ca = 1; + * @generated from field: string username = 1; */ - ca: string; + username: string; /** - * Key and Cert are optional but if one is provided, then both must be - * The key + * Password * - * @generated from field: string key = 2; + * @generated from field: string password = 2; */ - key: string; + password: string; /** - * The SHA-256 of the key, in base64 format + * Indicates that the password has been set * - * @generated from field: string key_fingerprint = 3; + * @generated from field: bool password_set = 3; */ - keyFingerprint: string; + passwordSet: boolean; /** - * The cert + * Timestamp of when the password was last set - only valid if password_set + * is true * - * @generated from field: string cert = 4; + * @generated from field: google.protobuf.Timestamp password_set_at = 4; */ - cert: string; + passwordSetAt?: Timestamp; }; /** - * Describes the message redpanda.core.admin.v2.TLSPEMSettings. - * Use `create(TLSPEMSettingsSchema)` to create a new message. + * Describes the message redpanda.core.admin.v2.PlainConfig. + * Use `create(PlainConfigSchema)` to create a new message. */ -export const TLSPEMSettingsSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 27); +export const PlainConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_redpanda_core_admin_v2_shadow_link, 25); /** * SCRAM settings @@ -1183,7 +1120,7 @@ export type ScramConfig = Message<"redpanda.core.admin.v2.ScramConfig"> & { * Use `create(ScramConfigSchema)` to create a new message. */ export const ScramConfigSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 28); + messageDesc(file_redpanda_core_admin_v2_shadow_link, 26); /** * A filter based on the name of a resource @@ -1220,7 +1157,7 @@ export type NameFilter = Message<"redpanda.core.admin.v2.NameFilter"> & { * Use `create(NameFilterSchema)` to create a new message. */ export const NameFilterSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 29); + messageDesc(file_redpanda_core_admin_v2_shadow_link, 27); /** * A filter for ACLs @@ -1248,7 +1185,7 @@ export type ACLFilter = Message<"redpanda.core.admin.v2.ACLFilter"> & { * Use `create(ACLFilterSchema)` to create a new message. */ export const ACLFilterSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 30); + messageDesc(file_redpanda_core_admin_v2_shadow_link, 28); /** * A filter to match ACLs for resources @@ -1259,14 +1196,14 @@ export type ACLResourceFilter = Message<"redpanda.core.admin.v2.ACLResourceFilte /** * The ACL resource type to match * - * @generated from field: redpanda.core.common.ACLResource resource_type = 1; + * @generated from field: redpanda.core.common.v1.ACLResource resource_type = 1; */ resourceType: ACLResource; /** * The pattern to apply to name * - * @generated from field: redpanda.core.common.ACLPattern pattern_type = 2; + * @generated from field: redpanda.core.common.v1.ACLPattern pattern_type = 2; */ patternType: ACLPattern; @@ -1285,7 +1222,7 @@ export type ACLResourceFilter = Message<"redpanda.core.admin.v2.ACLResourceFilte * Use `create(ACLResourceFilterSchema)` to create a new message. */ export const ACLResourceFilterSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 31); + messageDesc(file_redpanda_core_admin_v2_shadow_link, 29); /** * Filter an ACL based on its access @@ -1304,14 +1241,14 @@ export type ACLAccessFilter = Message<"redpanda.core.admin.v2.ACLAccessFilter"> /** * The ACL operation to match * - * @generated from field: redpanda.core.common.ACLOperation operation = 2; + * @generated from field: redpanda.core.common.v1.ACLOperation operation = 2; */ operation: ACLOperation; /** * The permission type * - * @generated from field: redpanda.core.common.ACLPermissionType permission_type = 3; + * @generated from field: redpanda.core.common.v1.ACLPermissionType permission_type = 3; */ permissionType: ACLPermissionType; @@ -1330,7 +1267,7 @@ export type ACLAccessFilter = Message<"redpanda.core.admin.v2.ACLAccessFilter"> * Use `create(ACLAccessFilterSchema)` to create a new message. */ export const ACLAccessFilterSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 32); + messageDesc(file_redpanda_core_admin_v2_shadow_link, 30); /** * Status of the shadow link @@ -1370,7 +1307,7 @@ export type ShadowLinkStatus = Message<"redpanda.core.admin.v2.ShadowLinkStatus" * Use `create(ShadowLinkStatusSchema)` to create a new message. */ export const ShadowLinkStatusSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 33); + messageDesc(file_redpanda_core_admin_v2_shadow_link, 31); /** * Status of a task @@ -1405,6 +1342,13 @@ export type ShadowLinkTaskStatus = Message<"redpanda.core.admin.v2.ShadowLinkTas * @generated from field: int32 broker_id = 4; */ brokerId: number; + + /** + * The shard the task is running on + * + * @generated from field: int32 shard = 5; + */ + shard: number; }; /** @@ -1412,7 +1356,7 @@ export type ShadowLinkTaskStatus = Message<"redpanda.core.admin.v2.ShadowLinkTas * Use `create(ShadowLinkTaskStatusSchema)` to create a new message. */ export const ShadowLinkTaskStatusSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 34); + messageDesc(file_redpanda_core_admin_v2_shadow_link, 32); /** * Status of a ShadowTopic @@ -1440,7 +1384,7 @@ export type ShadowTopicStatus = Message<"redpanda.core.admin.v2.ShadowTopicStatu * Use `create(ShadowTopicStatusSchema)` to create a new message. */ export const ShadowTopicStatusSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 35); + messageDesc(file_redpanda_core_admin_v2_shadow_link, 33); /** * Topic partition information @@ -1489,7 +1433,7 @@ export type TopicPartitionInformation = Message<"redpanda.core.admin.v2.TopicPar * Use `create(TopicPartitionInformationSchema)` to create a new message. */ export const TopicPartitionInformationSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_redpanda_core_admin_v2_shadow_link, 36); + messageDesc(file_redpanda_core_admin_v2_shadow_link, 34); /** * State of the shadow link diff --git a/frontend/src/protogen/redpanda/core/common/acl_pb.ts b/frontend/src/protogen/redpanda/core/common/v1/acl_pb.ts similarity index 63% rename from frontend/src/protogen/redpanda/core/common/acl_pb.ts rename to frontend/src/protogen/redpanda/core/common/v1/acl_pb.ts index 998bf2d74..7aa9d8034 100644 --- a/frontend/src/protogen/redpanda/core/common/acl_pb.ts +++ b/frontend/src/protogen/redpanda/core/common/v1/acl_pb.ts @@ -13,23 +13,23 @@ // limitations under the License. // @generated by protoc-gen-es v2.2.5 with parameter "target=ts" -// @generated from file redpanda/core/common/acl.proto (package redpanda.core.common, syntax proto3) +// @generated from file redpanda/core/common/v1/acl.proto (package redpanda.core.common.v1, syntax proto3) /* eslint-disable */ import type { GenEnum, GenFile } from "@bufbuild/protobuf/codegenv1"; import { enumDesc, fileDesc } from "@bufbuild/protobuf/codegenv1"; -import { file_redpanda_core_pbgen_options } from "../pbgen/options_pb"; +import { file_redpanda_core_pbgen_options } from "../../pbgen/options_pb"; /** - * Describes the file redpanda/core/common/acl.proto. + * Describes the file redpanda/core/common/v1/acl.proto. */ -export const file_redpanda_core_common_acl: GenFile = /*@__PURE__*/ - fileDesc("Ch5yZWRwYW5kYS9jb3JlL2NvbW1vbi9hY2wucHJvdG8SFHJlZHBhbmRhLmNvcmUuY29tbW9uKvgBCgtBQ0xSZXNvdXJjZRIcChhBQ0xfUkVTT1VSQ0VfVU5TUEVDSUZJRUQQABIUChBBQ0xfUkVTT1VSQ0VfQU5ZEAESGAoUQUNMX1JFU09VUkNFX0NMVVNURVIQAhIWChJBQ0xfUkVTT1VSQ0VfR1JPVVAQAxIWChJBQ0xfUkVTT1VSQ0VfVE9QSUMQBBIXChNBQ0xfUkVTT1VSQ0VfVFhOX0lEEAUSGwoXQUNMX1JFU09VUkNFX1NSX1NVQkpFQ1QQBhIcChhBQ0xfUkVTT1VSQ0VfU1JfUkVHSVNUUlkQBxIXChNBQ0xfUkVTT1VSQ0VfU1JfQU5ZEAgqiAEKCkFDTFBhdHRlcm4SGwoXQUNMX1BBVFRFUk5fVU5TUEVDSUZJRUQQABITCg9BQ0xfUEFUVEVSTl9BTlkQARIXChNBQ0xfUEFUVEVSTl9MSVRFUkFMEAISGAoUQUNMX1BBVFRFUk5fUFJFRklYRUQQAxIVChFBQ0xfUEFUVEVSTl9NQVRDSBAEKukCCgxBQ0xPcGVyYXRpb24SHQoZQUNMX09QRVJBVElPTl9VTlNQRUNJRklFRBAAEhUKEUFDTF9PUEVSQVRJT05fQU5ZEAESFgoSQUNMX09QRVJBVElPTl9SRUFEEAISFwoTQUNMX09QRVJBVElPTl9XUklURRADEhgKFEFDTF9PUEVSQVRJT05fQ1JFQVRFEAQSGAoUQUNMX09QRVJBVElPTl9SRU1PVkUQBRIXChNBQ0xfT1BFUkFUSU9OX0FMVEVSEAYSGgoWQUNMX09QRVJBVElPTl9ERVNDUklCRRAHEiAKHEFDTF9PUEVSQVRJT05fQ0xVU1RFUl9BQ1RJT04QCBIiCh5BQ0xfT1BFUkFUSU9OX0RFU0NSSUJFX0NPTkZJR1MQCRIfChtBQ0xfT1BFUkFUSU9OX0FMVEVSX0NPTkZJR1MQChIiCh5BQ0xfT1BFUkFUSU9OX0lERU1QT1RFTlRfV1JJVEUQCyqSAQoRQUNMUGVybWlzc2lvblR5cGUSIwofQUNMX1BFUk1JU1NJT05fVFlQRV9VTlNQRUNJRklFRBAAEhsKF0FDTF9QRVJNSVNTSU9OX1RZUEVfQU5ZEAESHQoZQUNMX1BFUk1JU1NJT05fVFlQRV9BTExPVxACEhwKGEFDTF9QRVJNSVNTSU9OX1RZUEVfREVOWRADQvIBChhjb20ucmVkcGFuZGEuY29yZS5jb21tb25CCEFjbFByb3RvUAFaSmJ1Zi5idWlsZC9nZW4vZ28vcmVkcGFuZGFkYXRhL2NvcmUvcHJvdG9jb2xidWZmZXJzL2dvL3JlZHBhbmRhL2NvcmUvY29tbW9uogIDUkNDqgIUUmVkcGFuZGEuQ29yZS5Db21tb27KAhRSZWRwYW5kYVxDb3JlXENvbW1vbuICIFJlZHBhbmRhXENvcmVcQ29tbW9uXEdQQk1ldGFkYXRh6gIWUmVkcGFuZGE6OkNvcmU6OkNvbW1vbuqSGQxwcm90bzo6YWRtaW5iBnByb3RvMw", [file_redpanda_core_pbgen_options]); +export const file_redpanda_core_common_v1_acl: GenFile = /*@__PURE__*/ + fileDesc("CiFyZWRwYW5kYS9jb3JlL2NvbW1vbi92MS9hY2wucHJvdG8SF3JlZHBhbmRhLmNvcmUuY29tbW9uLnYxKvgBCgtBQ0xSZXNvdXJjZRIcChhBQ0xfUkVTT1VSQ0VfVU5TUEVDSUZJRUQQABIUChBBQ0xfUkVTT1VSQ0VfQU5ZEAESGAoUQUNMX1JFU09VUkNFX0NMVVNURVIQAhIWChJBQ0xfUkVTT1VSQ0VfR1JPVVAQAxIWChJBQ0xfUkVTT1VSQ0VfVE9QSUMQBBIXChNBQ0xfUkVTT1VSQ0VfVFhOX0lEEAUSGwoXQUNMX1JFU09VUkNFX1NSX1NVQkpFQ1QQBhIcChhBQ0xfUkVTT1VSQ0VfU1JfUkVHSVNUUlkQBxIXChNBQ0xfUkVTT1VSQ0VfU1JfQU5ZEAgqiAEKCkFDTFBhdHRlcm4SGwoXQUNMX1BBVFRFUk5fVU5TUEVDSUZJRUQQABITCg9BQ0xfUEFUVEVSTl9BTlkQARIXChNBQ0xfUEFUVEVSTl9MSVRFUkFMEAISGAoUQUNMX1BBVFRFUk5fUFJFRklYRUQQAxIVChFBQ0xfUEFUVEVSTl9NQVRDSBAEKukCCgxBQ0xPcGVyYXRpb24SHQoZQUNMX09QRVJBVElPTl9VTlNQRUNJRklFRBAAEhUKEUFDTF9PUEVSQVRJT05fQU5ZEAESFgoSQUNMX09QRVJBVElPTl9SRUFEEAISFwoTQUNMX09QRVJBVElPTl9XUklURRADEhgKFEFDTF9PUEVSQVRJT05fQ1JFQVRFEAQSGAoUQUNMX09QRVJBVElPTl9SRU1PVkUQBRIXChNBQ0xfT1BFUkFUSU9OX0FMVEVSEAYSGgoWQUNMX09QRVJBVElPTl9ERVNDUklCRRAHEiAKHEFDTF9PUEVSQVRJT05fQ0xVU1RFUl9BQ1RJT04QCBIiCh5BQ0xfT1BFUkFUSU9OX0RFU0NSSUJFX0NPTkZJR1MQCRIfChtBQ0xfT1BFUkFUSU9OX0FMVEVSX0NPTkZJR1MQChIiCh5BQ0xfT1BFUkFUSU9OX0lERU1QT1RFTlRfV1JJVEUQCyqSAQoRQUNMUGVybWlzc2lvblR5cGUSIwofQUNMX1BFUk1JU1NJT05fVFlQRV9VTlNQRUNJRklFRBAAEhsKF0FDTF9QRVJNSVNTSU9OX1RZUEVfQU5ZEAESHQoZQUNMX1BFUk1JU1NJT05fVFlQRV9BTExPVxACEhwKGEFDTF9QRVJNSVNTSU9OX1RZUEVfREVOWRADQo8CChtjb20ucmVkcGFuZGEuY29yZS5jb21tb24udjFCCEFjbFByb3RvUAFaVmJ1Zi5idWlsZC9nZW4vZ28vcmVkcGFuZGFkYXRhL2NvcmUvcHJvdG9jb2xidWZmZXJzL2dvL3JlZHBhbmRhL2NvcmUvY29tbW9uL3YxO2NvbW1vbnYxogIDUkNDqgIXUmVkcGFuZGEuQ29yZS5Db21tb24uVjHKAhdSZWRwYW5kYVxDb3JlXENvbW1vblxWMeICI1JlZHBhbmRhXENvcmVcQ29tbW9uXFYxXEdQQk1ldGFkYXRh6gIaUmVkcGFuZGE6OkNvcmU6OkNvbW1vbjo6VjHqkhkNcHJvdG86OmNvbW1vbmIGcHJvdG8z", [file_redpanda_core_pbgen_options]); /** - * / The ACL resource types + * The ACL resource types * - * @generated from enum redpanda.core.common.ACLResource + * @generated from enum redpanda.core.common.v1.ACLResource */ export enum ACLResource { /** @@ -95,15 +95,15 @@ export enum ACLResource { } /** - * Describes the enum redpanda.core.common.ACLResource. + * Describes the enum redpanda.core.common.v1.ACLResource. */ export const ACLResourceSchema: GenEnum = /*@__PURE__*/ - enumDesc(file_redpanda_core_common_acl, 0); + enumDesc(file_redpanda_core_common_v1_acl, 0); /** - * / The ACL pattern type + * The ACL pattern type * - * @generated from enum redpanda.core.common.ACLPattern + * @generated from enum redpanda.core.common.v1.ACLPattern */ export enum ACLPattern { /** @@ -142,15 +142,15 @@ export enum ACLPattern { } /** - * Describes the enum redpanda.core.common.ACLPattern. + * Describes the enum redpanda.core.common.v1.ACLPattern. */ export const ACLPatternSchema: GenEnum = /*@__PURE__*/ - enumDesc(file_redpanda_core_common_acl, 1); + enumDesc(file_redpanda_core_common_v1_acl, 1); /** - * / The ACL operation to match + * The ACL operation to match * - * @generated from enum redpanda.core.common.ACLOperation + * @generated from enum redpanda.core.common.v1.ACLOperation */ export enum ACLOperation { /** @@ -215,15 +215,15 @@ export enum ACLOperation { } /** - * Describes the enum redpanda.core.common.ACLOperation. + * Describes the enum redpanda.core.common.v1.ACLOperation. */ export const ACLOperationSchema: GenEnum = /*@__PURE__*/ - enumDesc(file_redpanda_core_common_acl, 2); + enumDesc(file_redpanda_core_common_v1_acl, 2); /** - * / ACL permission types + * ACL permission types * - * @generated from enum redpanda.core.common.ACLPermissionType + * @generated from enum redpanda.core.common.v1.ACLPermissionType */ export enum ACLPermissionType { /** @@ -248,8 +248,8 @@ export enum ACLPermissionType { } /** - * Describes the enum redpanda.core.common.ACLPermissionType. + * Describes the enum redpanda.core.common.v1.ACLPermissionType. */ export const ACLPermissionTypeSchema: GenEnum = /*@__PURE__*/ - enumDesc(file_redpanda_core_common_acl, 3); + enumDesc(file_redpanda_core_common_v1_acl, 3); diff --git a/frontend/src/protogen/redpanda/core/common/v1/tls_pb.ts b/frontend/src/protogen/redpanda/core/common/v1/tls_pb.ts new file mode 100644 index 000000000..c345a32af --- /dev/null +++ b/frontend/src/protogen/redpanda/core/common/v1/tls_pb.ts @@ -0,0 +1,160 @@ +// Copyright 2025 Redpanda Data, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// @generated by protoc-gen-es v2.2.5 with parameter "target=ts" +// @generated from file redpanda/core/common/v1/tls.proto (package redpanda.core.common.v1, syntax proto3) +/* eslint-disable */ + +import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; +import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1"; +import { file_redpanda_core_pbgen_options } from "../../pbgen/options_pb"; +import { file_google_api_field_behavior } from "../../../../google/api/field_behavior_pb"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file redpanda/core/common/v1/tls.proto. + */ +export const file_redpanda_core_common_v1_tls: GenFile = /*@__PURE__*/ + fileDesc("CiFyZWRwYW5kYS9jb3JlL2NvbW1vbi92MS90bHMucHJvdG8SF3JlZHBhbmRhLmNvcmUuY29tbW9uLnYxItsBCgtUTFNTZXR0aW5ncxIPCgdlbmFibGVkGAMgASgIEkUKEXRsc19maWxlX3NldHRpbmdzGAEgASgLMigucmVkcGFuZGEuY29yZS5jb21tb24udjEuVExTRmlsZVNldHRpbmdzSAASQwoQdGxzX3BlbV9zZXR0aW5ncxgCIAEoCzInLnJlZHBhbmRhLmNvcmUuY29tbW9uLnYxLlRMU1BFTVNldHRpbmdzSAASHwoXZG9fbm90X3NldF9zbmlfaG9zdG5hbWUYBCABKAhCDgoMdGxzX3NldHRpbmdzIkcKD1RMU0ZpbGVTZXR0aW5ncxIPCgdjYV9wYXRoGAEgASgJEhAKCGtleV9wYXRoGAIgASgJEhEKCWNlcnRfcGF0aBgDIAEoCSJaCg5UTFNQRU1TZXR0aW5ncxIKCgJjYRgBIAEoCRIQCgNrZXkYAiABKAlCA+BBBBIcCg9rZXlfZmluZ2VycHJpbnQYAyABKAlCA+BBAxIMCgRjZXJ0GAQgASgJQo8CChtjb20ucmVkcGFuZGEuY29yZS5jb21tb24udjFCCFRsc1Byb3RvUAFaVmJ1Zi5idWlsZC9nZW4vZ28vcmVkcGFuZGFkYXRhL2NvcmUvcHJvdG9jb2xidWZmZXJzL2dvL3JlZHBhbmRhL2NvcmUvY29tbW9uL3YxO2NvbW1vbnYxogIDUkNDqgIXUmVkcGFuZGEuQ29yZS5Db21tb24uVjHKAhdSZWRwYW5kYVxDb3JlXENvbW1vblxWMeICI1JlZHBhbmRhXENvcmVcQ29tbW9uXFYxXEdQQk1ldGFkYXRh6gIaUmVkcGFuZGE6OkNvcmU6OkNvbW1vbjo6VjHqkhkNcHJvdG86OmNvbW1vbmIGcHJvdG8z", [file_redpanda_core_pbgen_options, file_google_api_field_behavior]); + +/** + * TLS settings + * + * @generated from message redpanda.core.common.v1.TLSSettings + */ +export type TLSSettings = Message<"redpanda.core.common.v1.TLSSettings"> & { + /** + * Whether or not TLS is enabled + * + * @generated from field: bool enabled = 3; + */ + enabled: boolean; + + /** + * May provide TLS as a set of files or PEM values + * + * @generated from oneof redpanda.core.common.v1.TLSSettings.tls_settings + */ + tlsSettings: { + /** + * Certificates and keys are provided as files + * + * @generated from field: redpanda.core.common.v1.TLSFileSettings tls_file_settings = 1; + */ + value: TLSFileSettings; + case: "tlsFileSettings"; + } | { + /** + * Certificates and keys are provided in PEM format + * + * @generated from field: redpanda.core.common.v1.TLSPEMSettings tls_pem_settings = 2; + */ + value: TLSPEMSettings; + case: "tlsPemSettings"; + } | { case: undefined; value?: undefined }; + + /** + * If true, the SNI hostname will not be provided when TLS is used + * + * @generated from field: bool do_not_set_sni_hostname = 4; + */ + doNotSetSniHostname: boolean; +}; + +/** + * Describes the message redpanda.core.common.v1.TLSSettings. + * Use `create(TLSSettingsSchema)` to create a new message. + */ +export const TLSSettingsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_redpanda_core_common_v1_tls, 0); + +/** + * TLS file settings + * + * @generated from message redpanda.core.common.v1.TLSFileSettings + */ +export type TLSFileSettings = Message<"redpanda.core.common.v1.TLSFileSettings"> & { + /** + * Path to the CA + * + * @generated from field: string ca_path = 1; + */ + caPath: string; + + /** + * Key and Cert are optional but if one is provided, then both must be + * Path to the key + * + * @generated from field: string key_path = 2; + */ + keyPath: string; + + /** + * Path to the cert + * + * @generated from field: string cert_path = 3; + */ + certPath: string; +}; + +/** + * Describes the message redpanda.core.common.v1.TLSFileSettings. + * Use `create(TLSFileSettingsSchema)` to create a new message. + */ +export const TLSFileSettingsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_redpanda_core_common_v1_tls, 1); + +/** + * Used when providing the TLS information in PEM format + * + * @generated from message redpanda.core.common.v1.TLSPEMSettings + */ +export type TLSPEMSettings = Message<"redpanda.core.common.v1.TLSPEMSettings"> & { + /** + * The CA + * + * @generated from field: string ca = 1; + */ + ca: string; + + /** + * Key and Cert are optional but if one is provided, then both must be + * The key + * + * @generated from field: string key = 2; + */ + key: string; + + /** + * The SHA-256 of the key, in base64 format + * + * @generated from field: string key_fingerprint = 3; + */ + keyFingerprint: string; + + /** + * The cert + * + * @generated from field: string cert = 4; + */ + cert: string; +}; + +/** + * Describes the message redpanda.core.common.v1.TLSPEMSettings. + * Use `create(TLSPEMSettingsSchema)` to create a new message. + */ +export const TLSPEMSettingsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_redpanda_core_common_v1_tls, 2); + diff --git a/proto/gen/openapi/openapi.v1alpha3.yaml b/proto/gen/openapi/openapi.v1alpha3.yaml index d548a2f31..7cdd76c3d 100644 --- a/proto/gen/openapi/openapi.v1alpha3.yaml +++ b/proto/gen/openapi/openapi.v1alpha3.yaml @@ -40,7 +40,7 @@ components: - ACL_OPERATION_DESCRIBE_CONFIGS - ACL_OPERATION_ALTER_CONFIGS - ACL_OPERATION_IDEMPOTENT_WRITE - title: / The ACL operation to match + title: The ACL operation to match type: string ACLPattern: description: |- @@ -54,14 +54,14 @@ components: - ACL_PATTERN_LITERAL - ACL_PATTERN_PREFIXED - ACL_PATTERN_MATCH - title: / The ACL pattern type + title: The ACL pattern type type: string ACLPermissionType: enum: - ACL_PERMISSION_TYPE_ANY - ACL_PERMISSION_TYPE_ALLOW - ACL_PERMISSION_TYPE_DENY - title: / ACL permission types + title: ACL permission types type: string ACLResource: description: |- @@ -82,7 +82,7 @@ components: - ACL_RESOURCE_SR_SUBJECT - ACL_RESOURCE_SR_REGISTRY - ACL_RESOURCE_SR_ANY - title: / The ACL resource types + title: The ACL resource types type: string ACLResourceFilter: properties: @@ -369,11 +369,14 @@ components: type: object AuthenticationConfiguration: properties: + plain_configuration: + $ref: '#/components/schemas/PlainConfig' scram_configuration: $ref: '#/components/schemas/ScramConfig' title: |- - Authentication config. Currently only supporting SASL/SCRAM, - however made as a oneof for expansion + Authentication config. Supports: + * SASL/SCRAM + * SASL/PLAIN type: object ComponentType: description: Component type for this tool. @@ -397,9 +400,6 @@ components: readOnly: true title: The effective interval for the task type: string - enabled: - title: Whether it's enabled - type: boolean group_filters: items: $ref: '#/components/schemas/NameFilter' @@ -410,6 +410,12 @@ components: Sync interval If 0 provided, defaults to 30 seconds type: string + paused: + title: |- + Allows user to pause the consumer offset sync task. If paused, then + the task will enter the 'paused' state and not sync consumer offsets from + the source cluster + type: boolean title: Options for syncing consumer offsets type: object CreateAIAgentResponse: @@ -1186,6 +1192,27 @@ components: - PATTERN_TYPE_PREFIX title: The matching pattern type type: string + PlainConfig: + properties: + password: + title: Password + type: string + password_set: + readOnly: true + title: Indicates that the password has been set + type: boolean + password_set_at: + format: date-time + readOnly: true + title: |- + Timestamp of when the password was last set - only valid if password_set + is true + type: string + username: + title: PLAIN username + type: string + title: PLAIN settings + type: object Resources: properties: cpu_shares: @@ -1271,14 +1298,17 @@ components: readOnly: true title: The effective interval for the task type: string - enabled: - title: Whether or not it's enabled - type: boolean interval: title: |- Sync interval If 0 provided, defaults to 30 seconds type: string + paused: + title: |- + Allows user to pause the security settings sync task. If paused, + then the task will enter the 'paused' state and will not sync security + settings from the source cluster + type: boolean title: Options for syncing security settings type: object ShadowLinkClientOptions: @@ -1353,7 +1383,7 @@ components: format: int32 title: |- Fetch partition max bytes. - If 0 is provided, defaults to 1 MiB + If 0 is provided, defaults to 5 MiB type: integer fetch_wait_max_ms: format: int32 @@ -1409,6 +1439,26 @@ components: - SHADOW_LINK_STATE_PAUSED title: State of the shadow link type: string + ShadowLinkTaskStatus: + properties: + broker_id: + format: int32 + title: The broker the task is running on + type: integer + name: + title: Name of the task + type: string + reason: + title: Reason for task being in state + type: string + shard: + format: int32 + title: The shard the task is running on + type: integer + state: + $ref: '#/components/schemas/TaskState' + title: Status of a task + type: object ShadowSchemaRegistryTopic: description: |- Shadow the entire source cluster's Schema Registry byte-for-byte. @@ -1522,6 +1572,21 @@ components: $ref: '#/components/schemas/TLSPEMSettings' title: TLS settings type: object + TaskState: + description: |- + - TASK_STATE_ACTIVE: Task is active + - TASK_STATE_PAUSED: Task was paused + - TASK_STATE_LINK_UNAVAILABLE: Task is unable to communicate with source cluster + - TASK_STATE_NOT_RUNNING: Task is not running + - TASK_STATE_FAULTED: Task is faulted + enum: + - TASK_STATE_ACTIVE + - TASK_STATE_PAUSED + - TASK_STATE_LINK_UNAVAILABLE + - TASK_STATE_NOT_RUNNING + - TASK_STATE_FAULTED + title: Task states + type: string Tool: description: A configuration tool for the MCP server. properties: @@ -1551,8 +1616,6 @@ components: items: $ref: '#/components/schemas/NameFilter' type: array - earliest: - $ref: '#/components/schemas/EarliestOffset' effective_interval: readOnly: true title: The effective interval for the task @@ -1576,8 +1639,23 @@ components: How often to sync metadata If 0 provided, defaults to 30 seconds type: string - latest: + paused: + title: |- + Allows user to pause the topic sync task. If paused, then + the task will enter the 'paused' state and not sync topics or their + properties from the source cluster + type: boolean + start_at_earliest: + $ref: '#/components/schemas/EarliestOffset' + start_at_latest: $ref: '#/components/schemas/LatestOffset' + start_at_timestamp: + description: |- + Enables data replication from the first offset on the + source topic/partition where the record's timestamp is + at or after the specified timestamp. + format: date-time + type: string synced_shadow_topic_properties: description: |- The following properties are not allowed to be replicated and adding them @@ -1601,13 +1679,6 @@ components: - `cleanup.policy` - `timestamp.type` type: array - timestamp: - description: |- - Enables data replication from the first offset on the - source topic/partition where the record's timestamp is - at or after the specified timestamp. - format: date-time - type: string title: Options for syncing topic metadata type: object UpdateAIAgentResponse: @@ -1732,31 +1803,11 @@ components: type: array tasks_status: items: - $ref: '#/components/schemas/v1alpha3.ShadowLinkTaskStatus' + $ref: '#/components/schemas/ShadowLinkTaskStatus' type: array uid: type: string type: object - v1alpha3.ShadowLinkTaskStatus: - properties: - broker_id: - format: int32 - title: The broker the task is running on - type: integer - name: - title: Name of the task - type: string - reason: - title: Reason for task being in state - type: string - shard_id: - format: int32 - title: The shard the task is running on - type: integer - state: - $ref: '#/components/schemas/v1alpha3.TaskState' - title: Status of a task - type: object v1alpha3.ShadowTopic: properties: state: @@ -1770,21 +1821,6 @@ components: format: int32 type: integer type: object - v1alpha3.TaskState: - description: |- - - TASK_STATE_ACTIVE: Task is active - - TASK_STATE_PAUSED: Task was paused - - TASK_STATE_LINK_UNAVAILABLE: Task is unable to communicate with source cluster - - TASK_STATE_NOT_RUNNING: Task is not running - - TASK_STATE_FAULTED: Task is faulted - enum: - - TASK_STATE_ACTIVE - - TASK_STATE_PAUSED - - TASK_STATE_LINK_UNAVAILABLE - - TASK_STATE_NOT_RUNNING - - TASK_STATE_FAULTED - title: Task states - type: string securitySchemes: auth0: description: RedpandaCloud diff --git a/proto/redpanda/api/console/v1alpha1/shadowlink.proto b/proto/redpanda/api/console/v1alpha1/shadowlink.proto index bbf432e59..4d2e9e41c 100644 --- a/proto/redpanda/api/console/v1alpha1/shadowlink.proto +++ b/proto/redpanda/api/console/v1alpha1/shadowlink.proto @@ -12,42 +12,13 @@ message CreateShadowLinkResponse { ShadowLink shadow_link = 1; } -// Task states -enum TaskState { - TASK_STATE_UNSPECIFIED = 0; - // Task is active - TASK_STATE_ACTIVE = 1; - // Task was paused - TASK_STATE_PAUSED = 2; - // Task is unable to communicate with source cluster - TASK_STATE_LINK_UNAVAILABLE = 3; - // Task is not running - TASK_STATE_NOT_RUNNING = 4; - // Task is faulted - TASK_STATE_FAULTED = 5; -} - -// Status of a task -message ShadowLinkTaskStatus { - // Name of the task - string name = 1; - // State of the task - TaskState state = 2; - // Reason for task being in state - string reason = 3; - // The broker the task is running on - int32 broker_id = 4; - // The shard the task is running on - int32 shard_id = 5; -} - message ShadowLink { // Return name, configuration, and overall state string name = 1; string uid = 2; core.admin.v2.ShadowLinkConfigurations configurations = 3; core.admin.v2.ShadowLinkState state = 4; - repeated ShadowLinkTaskStatus tasks_status = 5; + repeated core.admin.v2.ShadowLinkTaskStatus tasks_status = 5; repeated string synced_shadow_topic_properties = 6; } diff --git a/proto/redpanda/api/dataplane/v1alpha3/shadowlink.proto b/proto/redpanda/api/dataplane/v1alpha3/shadowlink.proto index 418ce92b2..49583ad41 100644 --- a/proto/redpanda/api/dataplane/v1alpha3/shadowlink.proto +++ b/proto/redpanda/api/dataplane/v1alpha3/shadowlink.proto @@ -122,42 +122,13 @@ message GetShadowLinkResponse { ShadowLink shadow_link = 1; } -// Task states -enum TaskState { - TASK_STATE_UNSPECIFIED = 0; - // Task is active - TASK_STATE_ACTIVE = 1; - // Task was paused - TASK_STATE_PAUSED = 2; - // Task is unable to communicate with source cluster - TASK_STATE_LINK_UNAVAILABLE = 3; - // Task is not running - TASK_STATE_NOT_RUNNING = 4; - // Task is faulted - TASK_STATE_FAULTED = 5; -} - -// Status of a task -message ShadowLinkTaskStatus { - // Name of the task - string name = 1; - // State of the task - TaskState state = 2; - // Reason for task being in state - string reason = 3; - // The broker the task is running on - int32 broker_id = 4; - // The shard the task is running on - int32 shard_id = 5; -} - message ShadowLink { // Return name, configuration, and overall state string name = 1; string uid = 2; core.admin.v2.ShadowLinkConfigurations configurations = 3; core.admin.v2.ShadowLinkState state = 4; - repeated ShadowLinkTaskStatus tasks_status = 5; + repeated core.admin.v2.ShadowLinkTaskStatus tasks_status = 5; repeated string synced_shadow_topic_properties = 6; } From 1807c163940b13ec38beb8bfc2dbc7a461fa378a Mon Sep 17 00:00:00 2001 From: Julin <142230457+c-julin@users.noreply.github.com> Date: Mon, 1 Dec 2025 12:12:29 +0000 Subject: [PATCH 2/8] fix: exclude imported proto breaking changes from CI validation Configure buf breaking change detection to ignore changes in external dependencies (buf.build/redpandadata/core) using --exclude-imports flag in CI workflow. Add secret.proto to ignore list and enable ignore_unstable_packages to handle dependency version changes. --- .github/workflows/buf.yml | 1 + buf.yaml | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.github/workflows/buf.yml b/.github/workflows/buf.yml index 738005039..9a195c6e4 100644 --- a/.github/workflows/buf.yml +++ b/.github/workflows/buf.yml @@ -53,6 +53,7 @@ jobs: push: false # Only validate, don't push to registry # Compare against the default branch so the whole PR is checked breaking_against: https://github.com/redpanda-data/console.git#branch=master + args: '--exclude-imports' # =========================================================================== # Job: push-to-registry (push events only - registry operations only) diff --git a/buf.yaml b/buf.yaml index 53d248ea8..de4a80f34 100644 --- a/buf.yaml +++ b/buf.yaml @@ -30,3 +30,5 @@ breaking: - proto/redpanda/api/dataplane/v1alpha1 - proto/redpanda/api/dataplane/v1alpha3 - proto/redpanda/api/dataplane/v1/mcp.proto + - proto/redpanda/api/dataplane/v1/secret.proto + ignore_unstable_packages: true From fb4d53c2520f63a2e0dd502ec67f99d2339cd5ec Mon Sep 17 00:00:00 2001 From: Julin <142230457+c-julin@users.noreply.github.com> Date: Mon, 1 Dec 2025 12:12:38 +0000 Subject: [PATCH 3/8] chore: regenerate OpenAPI specs from updated proto definitions --- proto/gen/openapi/openapi.v1alpha2.json | 2 +- proto/gen/openapi/openapi.v1alpha2.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/proto/gen/openapi/openapi.v1alpha2.json b/proto/gen/openapi/openapi.v1alpha2.json index 5f2227ffc..8920d4b7a 100644 --- a/proto/gen/openapi/openapi.v1alpha2.json +++ b/proto/gen/openapi/openapi.v1alpha2.json @@ -1 +1 @@ -{"components":{"schemas":{"ACL.Operation":{"description":"The operation that is allowed or denied (e.g. READ).","enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"},"Action":{"enum":["ACTION_PREPARE","ACTION_EXECUTE","ACTION_FINISH","ACTION_CANCEL"],"type":"string"},"BadRequest":{"description":"Describes violations in a client request. This error type focuses on the\nsyntactic aspects of the request.","properties":{"field_violations":{"description":"Describes all violations in a client request.","items":{"$ref":"#/components/schemas/FieldViolation"},"type":"array"}},"title":"BadRequest","type":"object"},"Config":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigAlterOperation":{"enum":["CONFIG_ALTER_OPERATION_SET","CONFIG_ALTER_OPERATION_DELETE","CONFIG_ALTER_OPERATION_APPEND","CONFIG_ALTER_OPERATION_SUBTRACT"],"type":"string"},"ConfigSource":{"enum":["CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG","CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG","CONFIG_SOURCE_STATIC_BROKER_CONFIG","CONFIG_SOURCE_DEFAULT_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_LOGGER_CONFIG"],"type":"string"},"ConfigSynonym":{"properties":{"name":{"type":"string"},"source":{"$ref":"#/components/schemas/ConfigSource"},"value":{"nullable":true,"type":"string"}},"type":"object"},"ConfigType":{"enum":["CONFIG_TYPE_BOOLEAN","CONFIG_TYPE_STRING","CONFIG_TYPE_INT","CONFIG_TYPE_SHORT","CONFIG_TYPE_LONG","CONFIG_TYPE_DOUBLE","CONFIG_TYPE_LIST","CONFIG_TYPE_CLASS","CONFIG_TYPE_PASSWORD"],"type":"string"},"Configuration":{"properties":{"config_synonyms":{"description":"If no config value is set at the topic level, it will inherit the value\nset at the broker or cluster level. `name` is the corresponding config\nkey whose value is inherited. `source` indicates whether the inherited\nconfig is default, broker, etc.","items":{"$ref":"#/components/schemas/ConfigSynonym"},"type":"array"},"documentation":{"description":"Config documentation.","nullable":true,"type":"string"},"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"read_only":{"description":"Whether the config is read-only, or is dynamic and can be altered.","type":"boolean"},"sensitive":{"description":"Whether this is a sensitive config key and value.","type":"boolean"},"source":{"$ref":"#/components/schemas/ConfigSource"},"type":{"$ref":"#/components/schemas/ConfigType"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConnectCluster":{"properties":{"address":{"description":"The host address of the Kafka Connect cluster.","type":"string"},"info":{"$ref":"#/components/schemas/ConnectCluster.Info"},"name":{"description":"Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`.","type":"string"},"plugins":{"items":{"$ref":"#/components/schemas/ConnectorPlugin"},"type":"array"}},"type":"object"},"ConnectCluster.Info":{"properties":{"commit":{"description":"The git commit ID of the connect worker source code.","type":"string"},"kafka_cluster_id":{"description":"Cluster ID.","type":"string"},"version":{"description":"Connect worker version.","type":"string"}},"type":"object"},"Connector":{"properties":{"state":{"description":"State of the connector instance.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the connector is assigned to.","type":"string"}},"type":"object"},"ConnectorError":{"properties":{"content":{"description":"Detailed description of the error.","type":"string"},"title":{"description":"Short description of the error.","type":"string"},"type":{"$ref":"#/components/schemas/ConnectorError.Type"}},"title":"ConnectorError is the error of a connector, this is holistic error\nabstraction, made parsing the error trace of connector or Task","type":"object"},"ConnectorError.Type":{"description":"Error level.","enum":["TYPE_ERROR","TYPE_WARNING"],"type":"string"},"ConnectorHolisticState":{"description":"State of a connector or one of its tasks, as described in the [Kafka Connect documentation](https://kafka.apache.org/documentation.html#connect_administration). Takes into account not just the state of the connector instance itself, but also the tasks within the connector.\n\n - CONNECTOR_HOLISTIC_STATE_PAUSED: The connector or task has been administratively paused.\n - CONNECTOR_HOLISTIC_STATE_RESTARTING: The connector or task is restarting.\n - CONNECTOR_HOLISTIC_STATE_DESTROYED: The connector is destroyed, regardless of any tasks.\n - CONNECTOR_HOLISTIC_STATE_STOPPED: The connector or task has been stopped.\n - CONNECTOR_HOLISTIC_STATE_UNASSIGNED: - The connector or task has not yet been assigned to a worker,\n- THe connector is running, but there are unassigned tasks.\n - CONNECTOR_HOLISTIC_STATE_HEALTHY: The connector is running, \u003e 0 tasks, all of them in running state.\n - CONNECTOR_HOLISTIC_STATE_UNHEALTHY: - The connector has failed,\n- The connector is running, but has no tasks,\n- Connector is running and has tasks, but all tasks have failed.\n - CONNECTOR_HOLISTIC_STATE_DEGRADED: The connector is running and has tasks, and at least one task, but not all, have failed.\n - CONNECTOR_HOLISTIC_STATE_UNKNOWN: The connector or task state could not be determined.","enum":["CONNECTOR_HOLISTIC_STATE_PAUSED","CONNECTOR_HOLISTIC_STATE_RESTARTING","CONNECTOR_HOLISTIC_STATE_DESTROYED","CONNECTOR_HOLISTIC_STATE_STOPPED","CONNECTOR_HOLISTIC_STATE_UNASSIGNED","CONNECTOR_HOLISTIC_STATE_HEALTHY","CONNECTOR_HOLISTIC_STATE_UNHEALTHY","CONNECTOR_HOLISTIC_STATE_DEGRADED","CONNECTOR_HOLISTIC_STATE_UNKNOWN"],"type":"string"},"ConnectorInfoStatus":{"properties":{"info":{"$ref":"#/components/schemas/ConnectorSpec"},"name":{"description":"Name of connector.","type":"string"},"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"ConnectorPlugin":{"properties":{"class":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ConnectorSpec":{"description":"Connector specifications as defined in the Kafka Connect\nAPI. You may include this in the request body when creating a new connector.","properties":{"config":{"additionalProperties":{"type":"string"},"description":"Connector configuration properties.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"items":{"$ref":"#/components/schemas/TaskInfo"},"readOnly":true,"type":"array"},"type":{"readOnly":true,"type":"string"}},"required":["name","config"],"type":"object"},"ConnectorStatus":{"properties":{"connector":{"$ref":"#/components/schemas/Connector"},"errors":{"description":"List of parsed connectors' and tasks' errors.","items":{"$ref":"#/components/schemas/ConnectorError"},"type":"array"},"holistic_state":{"$ref":"#/components/schemas/ConnectorHolisticState"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"description":"Status of connector tasks. For more information, see the [https://docs.redpanda.com/current/deploy/deployment-option/cloud/managed-connectors/monitor-connectors/#connector-tasks](Monitor Connectors) documentation.","items":{"$ref":"#/components/schemas/TaskStatus"},"type":"array"},"type":{"description":"Type of connector (sink or source).","type":"string"}},"type":"object"},"CreateACLRequest":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.\nFor requests with resource_type CLUSTER, this will default to \"kafka-cluster\".","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","principal","host","operation","permission_type"],"type":"object"},"CreateACLResponse":{"type":"object"},"CreateConnectSecretBody":{"description":"CreateConnectSecretRequest is the request of CreateConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["name","secret_data"],"type":"object"},"CreateConnectSecretResponse":{"description":"CreateConnectSecretResponse is the response of CreateConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"CreatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"CreateSecretRequest":{"description":"CreateSecretRequest is the request of CreateSecret.","properties":{"id":{"description":"Secret identifier.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"CreateSecretResponse":{"description":"CreateSecretResponse is the response of CreateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateTopicRequest.Topic":{"properties":{"configs":{"description":"An array of key-value config pairs for a topic.\nThese correspond to Kafka topic-level configs.","items":{"$ref":"#/components/schemas/Config"},"type":"array"},"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions to give the topic. If specifying\npartitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default partition count, set to null.","format":"int32","nullable":true,"type":"integer"},"replica_assignments":{"description":"Manually specify broker ID assignments for partition replicas. If manually assigning replicas, both `replication_factor` and\n`partition_count` must be -1.","items":{"$ref":"#/components/schemas/ReplicaAssignment"},"type":"array"},"replication_factor":{"description":"The number of replicas every partition must have.\nIf specifying partitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default replication factor, set to null.","format":"int32","nullable":true,"type":"integer"}},"type":"object"},"CreateTopicResponse":{"properties":{"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions created for the topic.\nThis field has a default value of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"replication_factor":{"description":"The number of replicas per topic partition.\nThis field has a default of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"}},"type":"object"},"CreateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"CreateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/CreateUserResponse.User"}},"type":"object"},"CreateUserResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"title":"Name of newly-created user","type":"string"}},"type":"object"},"DeleteACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","operation","permission_type"],"type":"object"},"DeleteACLsResponse":{"properties":{"matching_acls":{"items":{"$ref":"#/components/schemas/MatchingACL"},"type":"array"}},"type":"object"},"DeleteConnectSecretResponse":{"description":"DeleteConnectSecretResponse is the response of DeleteConnectSecret.","type":"object"},"DeleteMountTaskResponse":{"type":"object"},"DeletePipelineResponse":{"type":"object"},"DeleteSecretResponse":{"description":"DeleteSecretResponse is the response of DeleteSecret.","type":"object"},"DeleteTopicResponse":{"type":"object"},"DeleteTransformResponse":{"type":"object"},"DeleteUserResponse":{"type":"object"},"DeployTransformRequest":{"description":"Metadata required to deploy a new Wasm\ntransform in a Redpanda cluster.","properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"The input topic to apply the transform to.","example":"orders","type":"string"},"name":{"description":"Name of the transform.","example":"redact-payment-details-in-orders","type":"string"},"output_topic_names":{"description":"Output topic to write the transform results to.","example":"orders-redacted","items":{"type":"string"},"type":"array"}},"required":["name","input_topic_name","output_topic_names"],"type":"object"},"EnvironmentVariable":{"properties":{"key":{"description":"The key of your environment variable.","example":"LOG_LEVEL","type":"string"},"value":{"description":"The value of your environment variable.","example":"DEBUG","type":"string"}},"required":["key","value"],"type":"object"},"ErrorInfo":{"description":"Describes the cause of the error with structured details.\n\nExample of an error when contacting the \"pubsub.googleapis.com\" API when it\nis not enabled:\n\n { \"reason\": \"API_DISABLED\"\n \"domain\": \"googleapis.com\"\n \"metadata\": {\n \"resource\": \"projects/123\",\n \"service\": \"pubsub.googleapis.com\"\n }\n }\n\nThis response indicates that the pubsub.googleapis.com API is not enabled.\n\nExample of an error that is returned when attempting to create a Spanner\ninstance in a region that is out of stock:\n\n { \"reason\": \"STOCKOUT\"\n \"domain\": \"spanner.googleapis.com\",\n \"metadata\": {\n \"availableRegions\": \"us-central1,us-east2\"\n }\n }","properties":{"domain":{"description":"The logical grouping to which the \"reason\" belongs. The error domain\nis typically the registered service name of the tool or product that\ngenerates the error. Example: \"pubsub.googleapis.com\". If the error is\ngenerated by some common infrastructure, the error domain must be a\nglobally unique value that identifies the infrastructure. For Google API\ninfrastructure, the error domain is \"googleapis.com\".","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"Additional structured details about this error.\n\nKeys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should\nideally be lowerCamelCase. Also, they must be limited to 64 characters in\nlength. When identifying the current value of an exceeded limit, the units\nshould be contained in the key, not the value. For example, rather than\n`{\"instanceLimit\": \"100/request\"}`, should be returned as,\n`{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of\ninstances that can be created in a single (batch) request.","type":"object"},"reason":{"description":"The reason of the error. This is a constant value that identifies the\nproximate cause of the error. Error reasons are unique within a particular\ndomain of errors. This should be at most 63 characters and match a\nregular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents\nUPPER_SNAKE_CASE.","type":"string"}},"title":"ErrorInfo","type":"object"},"FieldViolation":{"description":"A message type used to describe a single bad request field.","properties":{"description":{"description":"A description of why the request element is bad.","type":"string"},"field":{"description":"A path that leads to a field in the request body. The value will be a\nsequence of dot-separated identifiers that identify a protocol buffer\nfield.\n\nConsider the following:\n\n message CreateContactRequest {\n message EmailAddress {\n enum Type {\n TYPE_UNSPECIFIED = 0;\n HOME = 1;\n WORK = 2;\n }\n\n optional string email = 1;\n repeated EmailType type = 2;\n }\n\n string full_name = 1;\n repeated EmailAddress email_addresses = 2;\n }\n\nIn this example, in proto `field` could take one of the following values:\n\n* `full_name` for a violation in the `full_name` value\n* `email_addresses[1].email` for a violation in the `email` field of the\n first `email_addresses` message\n* `email_addresses[3].type[2]` for a violation in the second `type`\n value in the third `email_addresses` message.\n\nIn JSON, the same values are represented as:\n\n* `fullName` for a violation in the `fullName` value\n* `emailAddresses[1].email` for a violation in the `email` field of the\n first `emailAddresses` message\n* `emailAddresses[3].type[2]` for a violation in the second `type`\n value in the third `emailAddresses` message.","type":"string"},"localized_message":{"$ref":"#/components/schemas/LocalizedMessage"},"reason":{"description":"The reason of the field-level error. This is a constant value that\nidentifies the proximate cause of the field-level error. It should\nuniquely identify the type of the FieldViolation within the scope of the\ngoogle.rpc.ErrorInfo.domain. This should be at most 63\ncharacters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,\nwhich represents UPPER_SNAKE_CASE.","type":"string"}},"type":"object"},"GetConnectClusterResponse":{"properties":{"cluster":{"$ref":"#/components/schemas/ConnectCluster"}},"type":"object"},"GetConnectSecretResponse":{"description":"GetConnectSecretResponse is the response of GetConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetConnectorConfigResponse":{"properties":{"config":{"additionalProperties":{"type":"string"},"type":"object"}},"type":"object"},"GetConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"GetConnectorStatusResponse":{"properties":{"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"GetMountTaskResponse":{"properties":{"task":{"$ref":"#/components/schemas/MountTask"}},"type":"object"},"GetPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"GetPipelineServiceConfigSchemaResponse":{"properties":{"config_schema":{"description":"JSON schema of the configuration components that are allowed for Connect pipelines.","type":"string"}},"type":"object"},"GetPipelinesBySecretsResponse":{"properties":{"pipelines_for_secret":{"items":{"$ref":"#/components/schemas/PipelinesForSecret"},"type":"array"}},"type":"object"},"GetPipelinesForSecretResponse":{"properties":{"pipelines_for_secret":{"$ref":"#/components/schemas/PipelinesForSecret"}},"type":"object"},"GetSecretResponse":{"description":"GetSecretResponse is the response of GetSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetTopicConfigurationsResponse":{"properties":{"configurations":{"items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"GetTransformResponse":{"properties":{"transform":{"$ref":"#/components/schemas/TransformMetadata"}},"type":"object"},"Help":{"description":"Provides links to documentation or for performing an out of band action.\n\nFor example, if a quota check failed with an error indicating the calling\nproject hasn't enabled the accessed service, this can contain a URL pointing\ndirectly to the right place in the developer console to flip the bit.","properties":{"links":{"description":"URL(s) pointing to additional information on handling the current error.","items":{"$ref":"#/components/schemas/Link"},"type":"array"}},"title":"Help","type":"object"},"Link":{"description":"Describes a URL link.","properties":{"description":{"description":"Describes what the link offers.","type":"string"},"url":{"description":"The URL of the link.","type":"string"}},"type":"object"},"ListACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListACLsResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/Resource"},"type":"array"}},"type":"object"},"ListConnectClustersResponse":{"properties":{"clusters":{"items":{"$ref":"#/components/schemas/ConnectCluster"},"type":"array"}},"type":"object"},"ListConnectSecretsResponse":{"description":"ListConnectSecretsResponse is the response of ListConnectSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListConnectorTopicsResponse":{"properties":{"topics":{"description":"Topic names.","items":{"type":"string"},"type":"array"}},"type":"object"},"ListConnectorsResponse":{"properties":{"connectors":{"description":"List of connectors, where the parent key is the connector name.","items":{"$ref":"#/components/schemas/ConnectorInfoStatus"},"type":"array"},"next_page_token":{"description":"Page Token to fetch the next page. The value can be used as page_token in the next call to this endpoint.","type":"string"}},"type":"object"},"ListMountTasksResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/MountTask"},"type":"array"}},"type":"object"},"ListMountableTopicsResponse":{"properties":{"topics":{"items":{"$ref":"#/components/schemas/TopicLocation"},"type":"array"}},"type":"object"},"ListPipelinesRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on pipeline name. Case-sensitive.","type":"string"}},"type":"object"},"ListPipelinesResponse":{"properties":{"next_page_token":{"type":"string"},"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"}},"type":"object"},"ListSecretScopesResponse":{"description":"ListSecretScopesResponse is the response of ListSecretScopes.","properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"}},"type":"object"},"ListSecretsFilter":{"description":"ListSecretsFilter are the filter options for listing secrets.","properties":{"labels[string][string]":{"additionalProperties":{"type":"string"},"description":"The secret labels to search for.","type":"object"},"name_contains":{"description":"Substring match on secret name. Case-sensitive.","type":"string"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes to search for","type":"array"}},"type":"object"},"ListSecretsResponse":{"description":"ListSecretsResponse is the response of ListSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListTopicsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListTopicsResponse":{"properties":{"next_page_token":{"type":"string"},"topics":{"items":{"$ref":"#/components/schemas/ListTopicsResponse.Topic"},"type":"array"}},"type":"object"},"ListTopicsResponse.Topic":{"properties":{"internal":{"description":"Whether topic is internal only.","type":"boolean"},"name":{"description":"Topic name.","type":"string"},"partition_count":{"description":"Topic partition count.","format":"int32","type":"integer"},"replication_factor":{"description":"Topic replication factor.","format":"int32","type":"integer"}},"type":"object"},"ListTransformsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on transform name. Case-sensitive.","type":"string"}},"type":"object"},"ListTransformsResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"transforms":{"items":{"$ref":"#/components/schemas/TransformMetadata"},"type":"array"}},"type":"object"},"ListUsersRequest.Filter":{"properties":{"name":{"description":"Username.","type":"string"},"name_contains":{"description":"Substring match on username. Case-sensitive.","type":"string"}},"type":"object"},"ListUsersResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"users":{"items":{"$ref":"#/components/schemas/ListUsersResponse.User"},"type":"array"}},"type":"object"},"ListUsersResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"}},"type":"object"},"LocalizedMessage":{"description":"Provides a localized error message that is safe to return to the user\nwhich can be attached to an RPC error.","properties":{"locale":{"title":"The locale used following the specification defined at\nhttps://www.rfc-editor.org/rfc/bcp/bcp47.txt.\nExamples are: \"en-US\", \"fr-CH\", \"es-MX\"","type":"string"},"message":{"description":"The localized error message in the above locale.","type":"string"}},"type":"object"},"MatchingACL":{"properties":{"error":{"$ref":"#/components/schemas/rpc.Status"},"host":{"description":"The host address to use for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"MountTask":{"properties":{"id":{"description":"Unique identifier for this mount task.","format":"int32","type":"integer"},"state":{"$ref":"#/components/schemas/MountTask.State"},"topics":{"description":"List of topics that are being mounted or unmounted.","items":{"$ref":"#/components/schemas/MountTask.Topic"},"type":"array"},"type":{"$ref":"#/components/schemas/MountTask.Type"}},"type":"object"},"MountTask.State":{"description":" - STATE_PLANNED: Planned: The mount task has been created and is awaiting further actions.\n - STATE_PREPARING: Preparing: The mount task is gathering resources and preparing for execution.\n - STATE_PREPARED: Prepared: All preparations are complete, and the mount task is ready to be executed.\n - STATE_EXECUTING: Executing: The mount task is actively transferring or transforming data.\n - STATE_EXECUTED: Executed: The core mount task actions are complete, but the mount task has not yet cut over or finalized.\n - STATE_CUT_OVER: Cut Over: The mount task has reached a critical point where ownership is transferred or final adjustments are made.\n - STATE_FINISHED: Finished: The mount task has been successfully completed, and no further actions are required.\n - STATE_CANCELING: Canceling: The mount task is in the process of being canceled, and rollback or cleanup actions may be in progress.\n - STATE_CANCELLED: Cancelled: The mount task has been fully canceled, and no further actions will be taken.","enum":["STATE_PLANNED","STATE_PREPARING","STATE_PREPARED","STATE_EXECUTING","STATE_EXECUTED","STATE_CUT_OVER","STATE_FINISHED","STATE_CANCELING","STATE_CANCELLED"],"type":"string"},"MountTask.Topic":{"properties":{"source_topic_reference":{"description":"The topic reference in the object storage bucket.\nThis field is only set for tasks of type MOUNT.","type":"string"},"topic_reference":{"description":"The topic reference within the current cluster, which may be either a simple topic name or a full reference\nin the form: cluster-uuid/topic-name/revision.","type":"string"}},"type":"object"},"MountTask.Type":{"description":" - TYPE_MOUNT: Mount represents the process of making topics available in a cluster by loading them from object storage.\n - TYPE_UNMOUNT: Unmount represents the process of offloading topics back to object storage.","enum":["TYPE_MOUNT","TYPE_UNMOUNT"],"type":"string"},"MountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of mount","type":"integer"}},"type":"object"},"Options":{"properties":{"include_tasks":{"description":"Restart connector's tasks.","type":"boolean"},"only_failed":{"description":"Restart only connectors that have failed.","type":"boolean"}},"type":"object"},"PartitionStatus":{"enum":["PARTITION_STATUS_RUNNING","PARTITION_STATUS_INACTIVE","PARTITION_STATUS_ERRORED","PARTITION_STATUS_UNKNOWN"],"type":"string"},"PartitionTransformStatus":{"properties":{"broker_id":{"format":"int32","type":"integer"},"lag":{"format":"int32","type":"integer"},"partition_id":{"format":"int32","type":"integer"},"status":{"$ref":"#/components/schemas/PartitionStatus"}},"type":"object"},"PermissionType":{"description":"Whether the operation should be allowed or denied.","enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"},"Pipeline":{"description":"Defines the pipeline resource.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","title":"The pipeline configuration in YAML.\nSee https://docs.redpanda.com/redpanda-connect/configuration/about/","type":"string"},"description":{"description":"Optional pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"id":{"description":"Pipeline ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"},"state":{"$ref":"#/components/schemas/Pipeline.State"},"status":{"$ref":"#/components/schemas/Pipeline.Status"}},"required":["id","display_name","config_yaml"],"type":"object"},"Pipeline.State":{"description":"State of the pipeline.\n\n - STATE_STARTING: The pipeline is starting.\n - STATE_RUNNING: The pipeline is running.\n - STATE_STOPPING: The pipeline is in the process of stopping.\n - STATE_STOPPED: The pipeline is stopped and in paused state.\n - STATE_ERROR: The pipeline encountered an error. See [Error Handling](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/error_handling/) for further guidance.\n - STATE_COMPLETED: The pipeline has completed the job successfully.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR","STATE_COMPLETED"],"type":"string"},"Pipeline.Status":{"description":"Pipeline status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"PipelineCreate":{"description":"PipelineCreate contains the details for the pipeline creation request.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"}},"required":["display_name","config_yaml"],"type":"object"},"PipelineUpdate":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"}},"required":["display_name","config_yaml"],"type":"object"},"PipelinesForSecret":{"properties":{"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"Policy":{"properties":{"host":{"description":"The host address for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"}},"type":"object"},"QuotaFailure":{"description":"Describes how a quota check failed.\n\nFor example if a daily limit was exceeded for the calling project,\na service could respond with a QuotaFailure detail containing the project\nid and the description of the quota limit that was exceeded. If the\ncalling project hasn't enabled the service in the developer console, then\na service could respond with the project id and set `service_disabled`\nto true.\n\nAlso see RetryInfo and Help types for other details about handling a\nquota failure.","properties":{"violations":{"description":"Describes all quota violations.","items":{"$ref":"#/components/schemas/QuotaFailure.Violation"},"type":"array"}},"title":"QuotaFailure","type":"object"},"QuotaFailure.Violation":{"description":"A message type used to describe a single quota violation. For example, a\ndaily quota or a custom quota that was exceeded.","properties":{"api_service":{"description":"The API Service from which the `QuotaFailure.Violation` orginates. In\nsome cases, Quota issues originate from an API Service other than the one\nthat was called. In other words, a dependency of the called API Service\ncould be the cause of the `QuotaFailure`, and this field would have the\ndependency API service name.\n\nFor example, if the called API is Kubernetes Engine API\n(container.googleapis.com), and a quota violation occurs in the\nKubernetes Engine API itself, this field would be\n\"container.googleapis.com\". On the other hand, if the quota violation\noccurs when the Kubernetes Engine API creates VMs in the Compute Engine\nAPI (compute.googleapis.com), this field would be\n\"compute.googleapis.com\".","type":"string"},"description":{"description":"A description of how the quota check failed. Clients can use this\ndescription to find more about the quota configuration in the service's\npublic documentation, or find the relevant quota limit to adjust through\ndeveloper console.\n\nFor example: \"Service disabled\" or \"Daily Limit for read operations\nexceeded\".","type":"string"},"future_quota_value":{"description":"The new quota value being rolled out at the time of the violation. At the\ncompletion of the rollout, this value will be enforced in place of\nquota_value. If no rollout is in progress at the time of the violation,\nthis field is not set.\n\nFor example, if at the time of the violation a rollout is in progress\nchanging the number of CPUs quota from 10 to 20, 20 would be the value of\nthis field.","format":"int64","nullable":true,"type":"string"},"quota_dimensions":{"additionalProperties":{"type":"string"},"description":"The dimensions of the violated quota. Every non-global quota is enforced\non a set of dimensions. While quota metric defines what to count, the\ndimensions specify for what aspects the counter should be increased.\n\nFor example, the quota \"CPUs per region per VM family\" enforces a limit\non the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions\n\"region\" and \"vm_family\". And if the violation occurred in region\n\"us-central1\" and for VM family \"n1\", the quota_dimensions would be,\n\n{\n \"region\": \"us-central1\",\n \"vm_family\": \"n1\",\n}\n\nWhen a quota is enforced globally, the quota_dimensions would always be\nempty.","type":"object"},"quota_id":{"description":"The id of the violated quota. Also know as \"limit name\", this is the\nunique identifier of a quota in the context of an API service.\n\nFor example, \"CPUS-PER-VM-FAMILY-per-project-region\".","type":"string"},"quota_metric":{"description":"The metric of the violated quota. A quota metric is a named counter to\nmeasure usage, such as API requests or CPUs. When an activity occurs in a\nservice, such as Virtual Machine allocation, one or more quota metrics\nmay be affected.\n\nFor example, \"compute.googleapis.com/cpus_per_vm_family\",\n\"storage.googleapis.com/internet_egress_bandwidth\".","type":"string"},"quota_value":{"description":"The enforced quota value at the time of the `QuotaFailure`.\n\nFor example, if the enforced quota value at the time of the\n`QuotaFailure` on the number of CPUs is \"10\", then the value of this\nfield would reflect this quantity.","format":"int64","type":"string"},"subject":{"description":"The subject on which the quota check failed.\nFor example, \"clientip:\u003cip address of client\u003e\" or \"project:\u003cGoogle\ndeveloper project id\u003e\".","type":"string"}},"type":"object"},"ReplicaAssignment":{"properties":{"partition_id":{"description":"A partition to create.","format":"int32","type":"integer"},"replica_ids":{"description":"The broker IDs the partition replicas are assigned to.","items":{"format":"int32","type":"integer"},"type":"array"}},"type":"object"},"Resource":{"properties":{"acls":{"items":{"$ref":"#/components/schemas/Policy"},"type":"array"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ResourcePatternType":{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"},"ResourceType":{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"Scope":{"description":"Defines the scope of a secret.","enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"Secret":{"description":"Defines the secret resource.","properties":{"id":{"description":"Secret identifier.","readOnly":true,"type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"}},"type":"object"},"ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"type":"object"},"SetConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"SetTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after this update.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"StartPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"StopPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"TaskInfo":{"properties":{"connector":{"description":"Name of connector.","type":"string"},"task":{"description":"The connector task ID.","format":"int32","type":"integer"}},"type":"object"},"TaskStatus":{"properties":{"id":{"description":"The connector task ID.","format":"int32","type":"integer"},"state":{"description":"State of connector task.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the task is assigned to.","type":"string"}},"type":"object"},"TopicLocation":{"properties":{"name":{"description":"Topic name.","type":"string"},"topic_location":{"description":"Full reference for the unmounted topic in this format: `topic-name/cluster-uuid/revision`.\nUse this as unique identifier for mounting a topic if there are multiple topics available\nwith the same name.","type":"string"}},"type":"object"},"TopicMount":{"description":"TopicMount defines the migration of a topic from the cloud storage into this cluster,\nso that it becomes available via the Kafka API.","properties":{"alias":{"description":"Alias may be provided to mount the topic under a different name. Leave\nblank to re-use the source topic name. The alias does not persist if you\nunmount the topic again.","type":"string"},"source_topic_reference":{"description":"The topic name or full reference of the topic to mount. The full reference\nmust be used in case the same topic exists more than once. This may be the case if\nthe same topic has been unmounted multiple times. List all mountable topics to\nfind the full reference (contains topic name, cluster uuid and revision).","type":"string"}},"required":["source_topic_reference"],"type":"object"},"TransformMetadata":{"properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"Input topic to apply the transform to.","type":"string"},"name":{"description":"Name of transform.","type":"string"},"output_topic_names":{"description":"Output topics to write the transform results to.","items":{"type":"string"},"type":"array"},"statuses":{"items":{"$ref":"#/components/schemas/PartitionTransformStatus"},"type":"array"}},"type":"object"},"UnmountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of unmount","type":"integer"}},"type":"object"},"UpdateConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"operation":{"$ref":"#/components/schemas/ConfigAlterOperation"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"UpdateConnectSecretBody":{"description":"UpdateConnectSecretRequest is the request of UpdateConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateConnectSecretResponse":{"description":"UpdateConnectSecretResponse is the response of UpdateConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateMountTaskBody":{"properties":{"action":{"$ref":"#/components/schemas/Action"}},"required":["action"],"type":"object"},"UpdateMountTaskResponse":{"type":"object"},"UpdatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"UpdateSecretBody":{"description":"UpdateSecretRequest is the request of UpdateSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateSecretResponse":{"description":"UpdateSecretResponse is the response of UpdateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after applying this partial patch.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"UpdateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"UpdateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/UpdateUserResponse.User"}},"type":"object"},"UpdateUserResponse.User":{"description":"Updated user's name and SASL mechanism.","properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"type":"string"}},"type":"object"},"UpsertConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"rpc.Status":{"description":"The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).","properties":{"code":{"description":"RPC status code, as described [here](https://github.com/googleapis/googleapis/blob/b4c238feaa1097c53798ed77035bbfeb7fc72e96/google/rpc/code.proto#L32).","enum":["OK","CANCELLED","UNKNOWN","INVALID_ARGUMENT","DEADLINE_EXCEEDED","NOT_FOUND","ALREADY_EXISTS","PERMISSION_DENIED","UNAUTHENTICATED","RESOURCE_EXHAUSTED","FAILED_PRECONDITION","ABORTED","OUT_OF_RANGE","UNIMPLEMENTED","INTERNAL","UNAVAILABLE","DATA_LOSS"],"format":"int32","type":"string"},"details":{"items":{"description":"Details of the error.","oneOf":[{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.BadRequest"],"type":"string"}}},{"$ref":"#/components/schemas/BadRequest"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.ErrorInfo"],"type":"string"}}},{"$ref":"#/components/schemas/ErrorInfo"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.QuotaFailure"],"type":"string"}}},{"$ref":"#/components/schemas/QuotaFailure"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.Help"],"type":"string"}}},{"$ref":"#/components/schemas/Help"}]}]},"type":"array"},"message":{"description":"Detailed error message. No compatibility guarantees are given for the text contained in this message.","type":"string"}},"type":"object"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1alpha2"},"openapi":"3.0.3","paths":{"/v1alpha2/acls":{"delete":{"description":"Delete all ACLs that match the filter criteria. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_DeleteACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","required":true,"schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","required":true,"schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","required":true,"schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","required":true,"schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete ACLs","tags":["Redpanda ACLs (v1alpha2)"]},"get":{"description":"List all ACLs. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_ListACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List ACLs","tags":["Redpanda ACLs (v1alpha2)"]},"post":{"description":"Create a new ACL.","operationId":"ACLService_CreateACL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLResponse"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create ACL","tags":["Redpanda ACLs (v1alpha2)"]}},"/v1alpha2/cloud-storage/mount-tasks":{"get":{"description":"This operation retrieves the status of a task responsible for mounting or unmounting topics. It provides details on the task’s type (mount or unmount), its current state, and the topics involved.","operationId":"CloudStorageService_ListMountTasks","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountTasksResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the mount task status","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/mount-tasks/{id}":{"delete":{"description":"Delete a mount or unmount by ID.","operationId":"CloudStorageService_DeleteMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to delete.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a mount or unmount","tags":["Cloud Storage (v1alpha2)"]},"get":{"description":"Retrieves the status of a mount or unmount by ID. The response provides details on the operation type (mount or unmount), its current state, and the topics involved. Use the ID returned when you start the mount or unmount, or use the ListMountTasks endpoint to retrieve a list of IDs.","operationId":"CloudStorageService_GetMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to retrieve.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get the status of a mount or unmount by ID","tags":["Cloud Storage (v1alpha2)"]},"post":{"description":"This operation allows performing an action on an ongoing mount task.","operationId":"CloudStorageService_UpdateMountTask","parameters":[{"description":"ID is the unique identifier of the mount or unmount to update.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a mount or unmount","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/mount":{"post":{"description":"Attach mountable topics from object storage to a cluster, making them available for consumption and production again. Mounting a topic reloads its data and state to the local brokers, allowing active use of the topic.","operationId":"CloudStorageService_MountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TopicMount"},"required":["topics"],"type":"array"}}},"required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Mount topics from object storage","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/mountable":{"get":{"description":"Retrieve all topics that are currently unmounted and available to be mounted to the cluster. These topics reside in object storage and can be mounted for consumption or production within the cluster.","operationId":"CloudStorageService_ListMountableTopics","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountableTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List mountable topics","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/unmount":{"post":{"description":"Unmount topics to object storage, freeing up all local cluster resources. Once you unmount a topic, it can no longer be consumed or produced to. It detaches from the active cluster while its data remains safely stored in the external object storage.","operationId":"CloudStorageService_UnmountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"required":["topics"],"type":"array"}}},"description":"List of topics to unmount.","required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnmountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Unmount topics to object storage","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters":{"get":{"description":"List connect clusters available for being consumed by the console's kafka-connect service.","operationId":"KafkaConnectService_ListConnectClusters","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectClustersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connect clusters","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}":{"get":{"description":"Get information about an available Kafka Connect cluster.","operationId":"KafkaConnectService_GetConnectCluster","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCluster"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Connect cluster not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connect cluster","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors":{"get":{"description":"List connectors managed by the Kafka Connect service.","operationId":"KafkaConnectService_ListConnectors","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connectors","tags":["Kafka Connect (v1alpha2)"]},"post":{"description":"Create a connector with the specified configuration.","operationId":"KafkaConnectService_CreateConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"required":true,"x-originalParamName":"connector"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}":{"delete":{"description":"Delete a connector. This operation force stops all tasks and also deletes the connector configuration.","operationId":"KafkaConnectService_DeleteConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete connector","tags":["Kafka Connect (v1alpha2)"]},"get":{"description":"Get information about a connector in a specific cluster.","operationId":"KafkaConnectService_GetConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/config":{"get":{"description":"Get the configuration for the connector.","operationId":"KafkaConnectService_GetConnectorConfig","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector configuration","tags":["Kafka Connect (v1alpha2)"]},"put":{"description":"Update the configuration for an existing connector with the specified name, or create a new connector using the given configuration. Returns information about the connector after the change has been made.","operationId":"KafkaConnectService_UpsertConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector. If a connector with this name does not already exist, a new connector is created.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"required":["config"],"type":"object"}}},"description":"Connector configuration property.","required":true,"x-originalParamName":"config"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Updated"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Upsert connector configuration","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/pause":{"put":{"description":"Pause the connector and its tasks, which stops messages from processing until the connector is resumed. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_PauseConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Pause request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Pause connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/restart":{"post":{"description":"Triggers a connector restart. You must specify whether or not tasks are also restarted, and whether only failed connectors are restarted.","operationId":"KafkaConnectService_RestartConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Options"}}},"required":true,"x-originalParamName":"options"},"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Restart connector request success"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Restart connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/resume":{"put":{"description":"Resume a paused connector and its tasks, and resumes message processing. This call is asynchronous and may take some time to process. If the connector was not paused, this operation does not do anything.","operationId":"KafkaConnectService_ResumeConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Resume request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Resume connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/status":{"get":{"description":"Gets the current status of the connector, including the state for each of its tasks, error information, etc.","operationId":"KafkaConnectService_GetConnectorStatus","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorStatus"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector status","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/stop":{"put":{"description":"Stops a connector, but does not delete it. All tasks for the connector are shut down completely. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_StopConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics":{"get":{"description":"Returns a list of connector topic names. If the connector is inactive, this call returns an empty list.","operationId":"KafkaConnectService_ListConnectorTopics","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connector topics","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics/reset":{"put":{"description":"Resets the set of topic names that the connector is using.","operationId":"KafkaConnectService_ResetConnectorTopics","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector using the topics to be reset.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Reset connector topics","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/secrets":{"get":{"description":"List Kafka Connect cluster secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListConnectSecrets","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string][string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect Cluster Secrets","tags":["Secrets (v1alpha2)"]},"post":{"description":"Create a Kafka Connect cluster secret.","operationId":"SecretService_CreateConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Connect Cluster Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/secrets/{id}":{"delete":{"description":"Delete a Kafka Connect cluster secret.","operationId":"SecretService_DeleteConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Connect Cluster Secret","tags":["Secrets (v1alpha2)"]},"get":{"description":"Get a specific Kafka Connect cluster secret.","operationId":"SecretService_GetConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"The ID of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect Cluster Secret","tags":["Secrets (v1alpha2)"]},"put":{"description":"Update a Kafka Connect cluster secret.","operationId":"SecretService_UpdateConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to update.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Connect Cluster Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/redpanda-connect/config-schema":{"get":{"description":"The configuration schema includes available [components and processors](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about) in this Redpanda Connect instance.","operationId":"PipelineService_GetPipelineServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelineServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect pipeline configurations.","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines":{"get":{"description":"List Redpanda Connect pipelines. Optional: filter based on pipeline name.","operationId":"PipelineService_ListPipelines","parameters":[{"description":"Substring match on pipeline name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPipelinesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect pipelines","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"post":{"description":"Create a new Redpanda Connect pipeline.","operationId":"PipelineService_CreatePipeline","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineCreate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines-by-secrets":{"get":{"description":"Get Redpanda Connect pipelines by secrets.","operationId":"PipelineService_GetPipelinesBySecrets","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesBySecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines by secrets","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines-for-secret":{"get":{"description":"Get Redpanda Connect pipelines for a given secret.","operationId":"PipelineService_GetPipelinesForSecret","parameters":[{"description":"Secret ID.","in":"query","name":"secret_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesForSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines for secret","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}":{"delete":{"description":"Delete a Redpanda Connect pipeline.","operationId":"PipelineService_DeletePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"get":{"description":"Get a specific Redpanda Connect pipeline.","operationId":"PipelineService_GetPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"put":{"description":"Update the [configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) of a Redpanda Connect pipeline.","operationId":"PipelineService_UpdatePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineUpdate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}/start":{"put":{"description":"Start a stopped Redpanda Connect pipeline.","operationId":"PipelineService_StartPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}/stop":{"put":{"description":"Stop a running Redpanda Connect pipeline.","operationId":"PipelineService_StopPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/secret-scopes":{"get":{"description":"List supported secret scopes.","operationId":"SecretService_ListSecretScopes","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretScopesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Secret Scopes","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/secrets":{"get":{"description":"List secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListSecrets","parameters":[{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Secrets","tags":["Secrets (v1alpha2)"]},"post":{"description":"Create a secret.","operationId":"SecretService_CreateSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretRequest"}}},"description":"CreateSecretRequest is the request of CreateSecret.","required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/secrets/{id}":{"delete":{"description":"Delete a secret.","operationId":"SecretService_DeleteSecret","parameters":[{"description":"The id of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Secret","tags":["Secrets (v1alpha2)"]},"get":{"description":"Get a secret.","operationId":"SecretService_GetSecret","parameters":[{"description":"The id of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Secret","tags":["Secrets (v1alpha2)"]},"put":{"description":"Update a secret.","operationId":"SecretService_UpdateSecret","parameters":[{"description":"Secret identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/topics":{"get":{"description":"List topics, with partition count and replication factor. Optional: filter based on topic name.","operationId":"TopicService_ListTopics","parameters":[{"description":"Substring match on topic name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Topics","tags":["Topics (v1alpha2)"]},"post":{"description":"Create a [topic](https://docs.redpanda.com/current/deploy/deployment-option/cloud/create-topic/).","operationId":"TopicService_CreateTopic","parameters":[{"description":"If true, makes this request a dry run; everything is validated but\nno topics are actually created.","in":"query","name":"validate_only","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicRequest.Topic"}}},"description":"The topic to create.","required":true,"x-originalParamName":"topic"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicResponse"}}},"description":"Topic created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Topic","tags":["Topics (v1alpha2)"]}},"/v1alpha2/topics/{name}":{"delete":{"description":"Delete the Kafka topic with the requested name.","operationId":"TopicService_DeleteTopic","parameters":[{"description":"Topic name.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Topic deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Requested topic does not exist"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Topic","tags":["Topics (v1alpha2)"]}},"/v1alpha2/topics/{topic_name}/configurations":{"get":{"description":"Get key-value configs for a topic.","operationId":"TopicService_GetTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Topic Configurations","tags":["Topics (v1alpha2)"]},"patch":{"description":"Update a subset of the topic configurations.","operationId":"TopicService_UpdateTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UpdateConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Topic Configuration","tags":["Topics (v1alpha2)"]},"put":{"description":"Update the entire set of key-value configurations for a topic. Config entries that are not provided in the request are removed and will fall back to their default values.","operationId":"TopicService_SetTopicConfigurations","parameters":[{"description":"Name of topic.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SetConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set Topic Configurations","tags":["Topics (v1alpha2)"]}},"/v1alpha2/transforms":{"get":{"description":"Retrieve a list of Wasm transforms. Optional: filter based on transform name.","operationId":"TransformService_ListTransforms","parameters":[{"description":"Substring match on transform name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","transforms":[{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic11","output-topic12"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]},{"environment_variables":[],"input_topic_name":"topic2","name":"transform2","output_topic_names":["output-topic21","output-topic22"],"statuses":[{"broker_id":2,"lag":2,"partition_id":2,"status":"PARTITION_STATUS_RUNNING"}]}]},"schema":{"$ref":"#/components/schemas/ListTransformsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Transforms","tags":["WASM Transforms (v1alpha2)"]},"put":{"description":"Initiate deployment of a new Wasm transform. This endpoint uses multipart/form-data encoding. Following deployment, a brief period is required before the Wasm transform becomes operational. Monitor the partition statuses to check whether the transform is active. This usually takes around 3s, but no longer than 10s.","operationId":"TransformService_DeployTransform","requestBody":{"content":{"multipart/form-data":{"schema":{"example":"{\"name\":\"redact-orders\",\"input_topic_name\":\"orders\",\"output_topic_names\":[\"orders-redacted\"],\"environment_variables\":[{\"key\":\"LOGGER_LEVEL\",\"value\":\"DEBUG\"}]}","properties":{"metadata":{"$ref":"#/components/schemas/DeployTransformRequest"},"wasm_binary":{"description":"Binary file containing the compiled WASM transform. The maximum size for this file is 10MiB.","format":"binary","type":"string"}},"type":"object"}}},"description":"Transform metadata as well as the WASM binary","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransformMetadata"}}},"description":"Created"}},"summary":"Deploy Transform","tags":["WASM Transforms (v1alpha2)"]}},"/v1alpha2/transforms/{name}":{"delete":{"description":"Delete a Wasm transform with the requested name.","operationId":"TransformService_DeleteTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"Transform deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Transform","tags":["WASM Transforms (v1alpha2)"]},"get":{"description":"Get a specific Wasm transform.","operationId":"TransformService_GetTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"transform":{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic1","output-topic2"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]}},"schema":{"$ref":"#/components/schemas/GetTransformResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Transform","tags":["WASM Transforms (v1alpha2)"]}},"/v1alpha2/users":{"get":{"description":"List users. Optional: filter based on username.","operationId":"UserService_ListUsers","parameters":[{"description":"Username.","in":"query","name":"filter.name","schema":{"type":"string"}},{"description":"Substring match on username. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","users":[{"name":"payment-service"},{"name":"jane"}]},"schema":{"$ref":"#/components/schemas/ListUsersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Users","tags":["Redpanda Users (v1alpha2)"]},"post":{"description":"Create a new user.","operationId":"UserService_CreateUser","requestBody":{"content":{"application/json":{"example":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service","password":"secure-password"},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"required":true,"x-originalParamName":"user"},"responses":{"201":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"description":"User created"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create User","tags":["Redpanda Users (v1alpha2)"]}},"/v1alpha2/users/{name}":{"delete":{"description":"Delete the specified user","operationId":"UserService_DeleteUser","parameters":[{"description":"Username","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"User deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"example":{"code":"NOT_FOUND","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_RESOURCE_NOT_FOUND"}],"message":"user not found"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete User","tags":["Redpanda Users (v1alpha2)"]}},"/v1alpha2/users/{user.name}":{"put":{"description":"Update a user's credentials.","operationId":"UserService_UpdateUser","parameters":[{"description":"Username.","in":"path","name":"user.name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","password":"new-password"}},"schema":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"password":{"description":"Password.","type":"string"}},"type":"object"}}},"required":true,"x-originalParamName":"user"},"responses":{"200":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/UpdateUserResponse.User"}}},"description":"OK"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update User","tags":["Redpanda Users (v1alpha2)"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Manage Redpanda access control lists (ACLs). See [Redpanda Cloud Authorization](https://docs.redpanda.com/redpanda-cloud/security/authorization/cloud-authorization/) for more information.","name":"Redpanda ACLs (v1alpha2)"},{"description":"Manage Redpanda topics stored in object storage. See: [Mountable Topics](https://docs.redpanda.com/redpanda-cloud/manage/mountable-topics/)","name":"Cloud Storage (v1alpha2)"},{"description":"Manage Wasm transforms in Redpanda.","name":"WASM Transforms (v1alpha2)"},{"description":"Manage [connectors](https://docs.redpanda.com/redpanda-cloud/develop/managed-connectors/) and interact with the Kafka Connect API.","name":"Kafka Connect (v1alpha2)"},{"description":"Create and manage [Redpanda Connect](https://docs.redpanda.com/redpanda-cloud/develop/connect/about) pipelines and their configurations.","name":"Redpanda Connect Pipeline (v1alpha2)"},{"description":"Manage [secrets](https://docs.redpanda.com/redpanda-cloud/security/secrets) for Redpanda Cloud.","name":"Secrets (v1alpha2)"},{"description":"Manage Redpanda topics.","name":"Topics (v1alpha2)"},{"description":"Manage Redpanda users. To manage access, see the Data Plane [ACL endpoints](https://docs.redpanda.com/api/cloud-dataplane-api/#get-/v1alpha2/acls).","name":"Redpanda Users (v1alpha2)"}]} \ No newline at end of file +{"components":{"schemas":{"ACL.Operation":{"description":"The operation that is allowed or denied (e.g. READ).","enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"},"Action":{"enum":["ACTION_PREPARE","ACTION_EXECUTE","ACTION_FINISH","ACTION_CANCEL"],"type":"string"},"BadRequest":{"description":"Describes violations in a client request. This error type focuses on the\nsyntactic aspects of the request.","properties":{"field_violations":{"description":"Describes all violations in a client request.","items":{"$ref":"#/components/schemas/FieldViolation"},"type":"array"}},"title":"BadRequest","type":"object"},"Config":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigAlterOperation":{"enum":["CONFIG_ALTER_OPERATION_SET","CONFIG_ALTER_OPERATION_DELETE","CONFIG_ALTER_OPERATION_APPEND","CONFIG_ALTER_OPERATION_SUBTRACT"],"type":"string"},"ConfigSource":{"enum":["CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG","CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG","CONFIG_SOURCE_STATIC_BROKER_CONFIG","CONFIG_SOURCE_DEFAULT_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_LOGGER_CONFIG"],"type":"string"},"ConfigSynonym":{"properties":{"name":{"type":"string"},"source":{"$ref":"#/components/schemas/ConfigSource"},"value":{"nullable":true,"type":"string"}},"type":"object"},"ConfigType":{"enum":["CONFIG_TYPE_BOOLEAN","CONFIG_TYPE_STRING","CONFIG_TYPE_INT","CONFIG_TYPE_SHORT","CONFIG_TYPE_LONG","CONFIG_TYPE_DOUBLE","CONFIG_TYPE_LIST","CONFIG_TYPE_CLASS","CONFIG_TYPE_PASSWORD"],"type":"string"},"Configuration":{"properties":{"config_synonyms":{"description":"If no config value is set at the topic level, it will inherit the value\nset at the broker or cluster level. `name` is the corresponding config\nkey whose value is inherited. `source` indicates whether the inherited\nconfig is default, broker, etc.","items":{"$ref":"#/components/schemas/ConfigSynonym"},"type":"array"},"documentation":{"description":"Config documentation.","nullable":true,"type":"string"},"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"read_only":{"description":"Whether the config is read-only, or is dynamic and can be altered.","type":"boolean"},"sensitive":{"description":"Whether this is a sensitive config key and value.","type":"boolean"},"source":{"$ref":"#/components/schemas/ConfigSource"},"type":{"$ref":"#/components/schemas/ConfigType"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConnectCluster":{"properties":{"address":{"description":"The host address of the Kafka Connect cluster.","type":"string"},"info":{"$ref":"#/components/schemas/ConnectCluster.Info"},"name":{"description":"Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`.","type":"string"},"plugins":{"items":{"$ref":"#/components/schemas/ConnectorPlugin"},"type":"array"}},"type":"object"},"ConnectCluster.Info":{"properties":{"commit":{"description":"The git commit ID of the connect worker source code.","type":"string"},"kafka_cluster_id":{"description":"Cluster ID.","type":"string"},"version":{"description":"Connect worker version.","type":"string"}},"type":"object"},"Connector":{"properties":{"state":{"description":"State of the connector instance.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the connector is assigned to.","type":"string"}},"type":"object"},"ConnectorError":{"properties":{"content":{"description":"Detailed description of the error.","type":"string"},"title":{"description":"Short description of the error.","type":"string"},"type":{"$ref":"#/components/schemas/ConnectorError.Type"}},"title":"ConnectorError is the error of a connector, this is holistic error\nabstraction, made parsing the error trace of connector or Task","type":"object"},"ConnectorError.Type":{"description":"Error level.","enum":["TYPE_ERROR","TYPE_WARNING"],"type":"string"},"ConnectorHolisticState":{"description":"State of a connector or one of its tasks, as described in the [Kafka Connect documentation](https://kafka.apache.org/documentation.html#connect_administration). Takes into account not just the state of the connector instance itself, but also the tasks within the connector.\n\n - CONNECTOR_HOLISTIC_STATE_PAUSED: The connector or task has been administratively paused.\n - CONNECTOR_HOLISTIC_STATE_RESTARTING: The connector or task is restarting.\n - CONNECTOR_HOLISTIC_STATE_DESTROYED: The connector is destroyed, regardless of any tasks.\n - CONNECTOR_HOLISTIC_STATE_STOPPED: The connector or task has been stopped.\n - CONNECTOR_HOLISTIC_STATE_UNASSIGNED: - The connector or task has not yet been assigned to a worker,\n- THe connector is running, but there are unassigned tasks.\n - CONNECTOR_HOLISTIC_STATE_HEALTHY: The connector is running, \u003e 0 tasks, all of them in running state.\n - CONNECTOR_HOLISTIC_STATE_UNHEALTHY: - The connector has failed,\n- The connector is running, but has no tasks,\n- Connector is running and has tasks, but all tasks have failed.\n - CONNECTOR_HOLISTIC_STATE_DEGRADED: The connector is running and has tasks, and at least one task, but not all, have failed.\n - CONNECTOR_HOLISTIC_STATE_UNKNOWN: The connector or task state could not be determined.","enum":["CONNECTOR_HOLISTIC_STATE_PAUSED","CONNECTOR_HOLISTIC_STATE_RESTARTING","CONNECTOR_HOLISTIC_STATE_DESTROYED","CONNECTOR_HOLISTIC_STATE_STOPPED","CONNECTOR_HOLISTIC_STATE_UNASSIGNED","CONNECTOR_HOLISTIC_STATE_HEALTHY","CONNECTOR_HOLISTIC_STATE_UNHEALTHY","CONNECTOR_HOLISTIC_STATE_DEGRADED","CONNECTOR_HOLISTIC_STATE_UNKNOWN"],"type":"string"},"ConnectorInfoStatus":{"properties":{"info":{"$ref":"#/components/schemas/ConnectorSpec"},"name":{"description":"Name of connector.","type":"string"},"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"ConnectorPlugin":{"properties":{"class":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ConnectorSpec":{"description":"Connector specifications as defined in the Kafka Connect\nAPI. You may include this in the request body when creating a new connector.","properties":{"config":{"additionalProperties":{"type":"string"},"description":"Connector configuration properties.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"items":{"$ref":"#/components/schemas/TaskInfo"},"readOnly":true,"type":"array"},"type":{"readOnly":true,"type":"string"}},"required":["name","config"],"type":"object"},"ConnectorStatus":{"properties":{"connector":{"$ref":"#/components/schemas/Connector"},"errors":{"description":"List of parsed connectors' and tasks' errors.","items":{"$ref":"#/components/schemas/ConnectorError"},"type":"array"},"holistic_state":{"$ref":"#/components/schemas/ConnectorHolisticState"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"description":"Status of connector tasks. For more information, see the [https://docs.redpanda.com/current/deploy/deployment-option/cloud/managed-connectors/monitor-connectors/#connector-tasks](Monitor Connectors) documentation.","items":{"$ref":"#/components/schemas/TaskStatus"},"type":"array"},"type":{"description":"Type of connector (sink or source).","type":"string"}},"type":"object"},"CreateACLRequest":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.\nFor requests with resource_type CLUSTER, this will default to \"kafka-cluster\".","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","principal","host","operation","permission_type"],"type":"object"},"CreateACLResponse":{"type":"object"},"CreateConnectSecretBody":{"description":"CreateConnectSecretRequest is the request of CreateConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["name","secret_data"],"type":"object"},"CreateConnectSecretResponse":{"description":"CreateConnectSecretResponse is the response of CreateConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"CreatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"CreateSecretRequest":{"description":"CreateSecretRequest is the request of CreateSecret.","properties":{"id":{"description":"Secret identifier.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"CreateSecretResponse":{"description":"CreateSecretResponse is the response of CreateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateTopicRequest.Topic":{"properties":{"configs":{"description":"An array of key-value config pairs for a topic.\nThese correspond to Kafka topic-level configs.","items":{"$ref":"#/components/schemas/Config"},"type":"array"},"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions to give the topic. If specifying\npartitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default partition count, set to null.","format":"int32","nullable":true,"type":"integer"},"replica_assignments":{"description":"Manually specify broker ID assignments for partition replicas. If manually assigning replicas, both `replication_factor` and\n`partition_count` must be -1.","items":{"$ref":"#/components/schemas/ReplicaAssignment"},"type":"array"},"replication_factor":{"description":"The number of replicas every partition must have.\nIf specifying partitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default replication factor, set to null.","format":"int32","nullable":true,"type":"integer"}},"type":"object"},"CreateTopicResponse":{"properties":{"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions created for the topic.\nThis field has a default value of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"replication_factor":{"description":"The number of replicas per topic partition.\nThis field has a default of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"}},"type":"object"},"CreateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"CreateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/CreateUserResponse.User"}},"type":"object"},"CreateUserResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"title":"Name of newly-created user","type":"string"}},"type":"object"},"DeleteACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","operation","permission_type"],"type":"object"},"DeleteACLsResponse":{"properties":{"matching_acls":{"items":{"$ref":"#/components/schemas/MatchingACL"},"type":"array"}},"type":"object"},"DeleteConnectSecretResponse":{"description":"DeleteConnectSecretResponse is the response of DeleteConnectSecret.","type":"object"},"DeleteMountTaskResponse":{"type":"object"},"DeletePipelineResponse":{"type":"object"},"DeleteSecretResponse":{"description":"DeleteSecretResponse is the response of DeleteSecret.","type":"object"},"DeleteTopicResponse":{"type":"object"},"DeleteTransformResponse":{"type":"object"},"DeleteUserResponse":{"type":"object"},"DeployTransformRequest":{"description":"Metadata required to deploy a new Wasm\ntransform in a Redpanda cluster.","properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"The input topic to apply the transform to.","example":"orders","type":"string"},"name":{"description":"Name of the transform.","example":"redact-payment-details-in-orders","type":"string"},"output_topic_names":{"description":"Output topic to write the transform results to.","example":"orders-redacted","items":{"type":"string"},"type":"array"}},"required":["name","input_topic_name","output_topic_names"],"type":"object"},"EnvironmentVariable":{"properties":{"key":{"description":"The key of your environment variable.","example":"LOG_LEVEL","type":"string"},"value":{"description":"The value of your environment variable.","example":"DEBUG","type":"string"}},"required":["key","value"],"type":"object"},"ErrorInfo":{"description":"Describes the cause of the error with structured details.\n\nExample of an error when contacting the \"pubsub.googleapis.com\" API when it\nis not enabled:\n\n { \"reason\": \"API_DISABLED\"\n \"domain\": \"googleapis.com\"\n \"metadata\": {\n \"resource\": \"projects/123\",\n \"service\": \"pubsub.googleapis.com\"\n }\n }\n\nThis response indicates that the pubsub.googleapis.com API is not enabled.\n\nExample of an error that is returned when attempting to create a Spanner\ninstance in a region that is out of stock:\n\n { \"reason\": \"STOCKOUT\"\n \"domain\": \"spanner.googleapis.com\",\n \"metadata\": {\n \"availableRegions\": \"us-central1,us-east2\"\n }\n }","properties":{"domain":{"description":"The logical grouping to which the \"reason\" belongs. The error domain\nis typically the registered service name of the tool or product that\ngenerates the error. Example: \"pubsub.googleapis.com\". If the error is\ngenerated by some common infrastructure, the error domain must be a\nglobally unique value that identifies the infrastructure. For Google API\ninfrastructure, the error domain is \"googleapis.com\".","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"Additional structured details about this error.\n\nKeys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should\nideally be lowerCamelCase. Also, they must be limited to 64 characters in\nlength. When identifying the current value of an exceeded limit, the units\nshould be contained in the key, not the value. For example, rather than\n`{\"instanceLimit\": \"100/request\"}`, should be returned as,\n`{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of\ninstances that can be created in a single (batch) request.","type":"object"},"reason":{"description":"The reason of the error. This is a constant value that identifies the\nproximate cause of the error. Error reasons are unique within a particular\ndomain of errors. This should be at most 63 characters and match a\nregular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents\nUPPER_SNAKE_CASE.","type":"string"}},"title":"ErrorInfo","type":"object"},"FieldViolation":{"description":"A message type used to describe a single bad request field.","properties":{"description":{"description":"A description of why the request element is bad.","type":"string"},"field":{"description":"A path that leads to a field in the request body. The value will be a\nsequence of dot-separated identifiers that identify a protocol buffer\nfield.\n\nConsider the following:\n\n message CreateContactRequest {\n message EmailAddress {\n enum Type {\n TYPE_UNSPECIFIED = 0;\n HOME = 1;\n WORK = 2;\n }\n\n optional string email = 1;\n repeated EmailType type = 2;\n }\n\n string full_name = 1;\n repeated EmailAddress email_addresses = 2;\n }\n\nIn this example, in proto `field` could take one of the following values:\n\n* `full_name` for a violation in the `full_name` value\n* `email_addresses[1].email` for a violation in the `email` field of the\n first `email_addresses` message\n* `email_addresses[3].type[2]` for a violation in the second `type`\n value in the third `email_addresses` message.\n\nIn JSON, the same values are represented as:\n\n* `fullName` for a violation in the `fullName` value\n* `emailAddresses[1].email` for a violation in the `email` field of the\n first `emailAddresses` message\n* `emailAddresses[3].type[2]` for a violation in the second `type`\n value in the third `emailAddresses` message.","type":"string"},"localized_message":{"$ref":"#/components/schemas/LocalizedMessage"},"reason":{"description":"The reason of the field-level error. This is a constant value that\nidentifies the proximate cause of the field-level error. It should\nuniquely identify the type of the FieldViolation within the scope of the\ngoogle.rpc.ErrorInfo.domain. This should be at most 63\ncharacters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,\nwhich represents UPPER_SNAKE_CASE.","type":"string"}},"type":"object"},"GetConnectClusterResponse":{"properties":{"cluster":{"$ref":"#/components/schemas/ConnectCluster"}},"type":"object"},"GetConnectSecretResponse":{"description":"GetConnectSecretResponse is the response of GetConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetConnectorConfigResponse":{"properties":{"config":{"additionalProperties":{"type":"string"},"type":"object"}},"type":"object"},"GetConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"GetConnectorStatusResponse":{"properties":{"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"GetMountTaskResponse":{"properties":{"task":{"$ref":"#/components/schemas/MountTask"}},"type":"object"},"GetPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"GetPipelineServiceConfigSchemaResponse":{"properties":{"config_schema":{"description":"JSON schema of the configuration components that are allowed for Connect pipelines.","type":"string"}},"type":"object"},"GetPipelinesBySecretsResponse":{"properties":{"pipelines_for_secret":{"items":{"$ref":"#/components/schemas/PipelinesForSecret"},"type":"array"}},"type":"object"},"GetPipelinesForSecretResponse":{"properties":{"pipelines_for_secret":{"$ref":"#/components/schemas/PipelinesForSecret"}},"type":"object"},"GetSecretResponse":{"description":"GetSecretResponse is the response of GetSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetTopicConfigurationsResponse":{"properties":{"configurations":{"items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"GetTransformResponse":{"properties":{"transform":{"$ref":"#/components/schemas/TransformMetadata"}},"type":"object"},"Help":{"description":"Provides links to documentation or for performing an out of band action.\n\nFor example, if a quota check failed with an error indicating the calling\nproject hasn't enabled the accessed service, this can contain a URL pointing\ndirectly to the right place in the developer console to flip the bit.","properties":{"links":{"description":"URL(s) pointing to additional information on handling the current error.","items":{"$ref":"#/components/schemas/Link"},"type":"array"}},"title":"Help","type":"object"},"Link":{"description":"Describes a URL link.","properties":{"description":{"description":"Describes what the link offers.","type":"string"},"url":{"description":"The URL of the link.","type":"string"}},"type":"object"},"ListACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListACLsResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/Resource"},"type":"array"}},"type":"object"},"ListConnectClustersResponse":{"properties":{"clusters":{"items":{"$ref":"#/components/schemas/ConnectCluster"},"type":"array"}},"type":"object"},"ListConnectSecretsResponse":{"description":"ListConnectSecretsResponse is the response of ListConnectSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListConnectorTopicsResponse":{"properties":{"topics":{"description":"Topic names.","items":{"type":"string"},"type":"array"}},"type":"object"},"ListConnectorsResponse":{"properties":{"connectors":{"description":"List of connectors, where the parent key is the connector name.","items":{"$ref":"#/components/schemas/ConnectorInfoStatus"},"type":"array"},"next_page_token":{"description":"Page Token to fetch the next page. The value can be used as page_token in the next call to this endpoint.","type":"string"}},"type":"object"},"ListMountTasksResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/MountTask"},"type":"array"}},"type":"object"},"ListMountableTopicsResponse":{"properties":{"topics":{"items":{"$ref":"#/components/schemas/TopicLocation"},"type":"array"}},"type":"object"},"ListPipelinesRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on pipeline name. Case-sensitive.","type":"string"}},"type":"object"},"ListPipelinesResponse":{"properties":{"next_page_token":{"type":"string"},"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"}},"type":"object"},"ListSecretScopesResponse":{"description":"ListSecretScopesResponse is the response of ListSecretScopes.","properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"}},"type":"object"},"ListSecretsFilter":{"description":"ListSecretsFilter are the filter options for listing secrets.","properties":{"labels[string][string]":{"additionalProperties":{"type":"string"},"description":"The secret labels to search for.","type":"object"},"name_contains":{"description":"Substring match on secret name. Case-sensitive.","type":"string"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes to search for","type":"array"}},"type":"object"},"ListSecretsResponse":{"description":"ListSecretsResponse is the response of ListSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListTopicsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListTopicsResponse":{"properties":{"next_page_token":{"type":"string"},"topics":{"items":{"$ref":"#/components/schemas/ListTopicsResponse.Topic"},"type":"array"}},"type":"object"},"ListTopicsResponse.Topic":{"properties":{"internal":{"description":"Whether topic is internal only.","type":"boolean"},"name":{"description":"Topic name.","type":"string"},"partition_count":{"description":"Topic partition count.","format":"int32","type":"integer"},"replication_factor":{"description":"Topic replication factor.","format":"int32","type":"integer"}},"type":"object"},"ListTransformsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on transform name. Case-sensitive.","type":"string"}},"type":"object"},"ListTransformsResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"transforms":{"items":{"$ref":"#/components/schemas/TransformMetadata"},"type":"array"}},"type":"object"},"ListUsersRequest.Filter":{"properties":{"name":{"description":"Username.","type":"string"},"name_contains":{"description":"Substring match on username. Case-sensitive.","type":"string"}},"type":"object"},"ListUsersResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"users":{"items":{"$ref":"#/components/schemas/ListUsersResponse.User"},"type":"array"}},"type":"object"},"ListUsersResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"}},"type":"object"},"LocalizedMessage":{"description":"Provides a localized error message that is safe to return to the user\nwhich can be attached to an RPC error.","properties":{"locale":{"title":"The locale used following the specification defined at\nhttps://www.rfc-editor.org/rfc/bcp/bcp47.txt.\nExamples are: \"en-US\", \"fr-CH\", \"es-MX\"","type":"string"},"message":{"description":"The localized error message in the above locale.","type":"string"}},"type":"object"},"MatchingACL":{"properties":{"error":{"$ref":"#/components/schemas/rpc.Status"},"host":{"description":"The host address to use for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"MountTask":{"properties":{"id":{"description":"Unique identifier for this mount task.","format":"int32","type":"integer"},"state":{"$ref":"#/components/schemas/MountTask.State"},"topics":{"description":"List of topics that are being mounted or unmounted.","items":{"$ref":"#/components/schemas/MountTask.Topic"},"type":"array"},"type":{"$ref":"#/components/schemas/MountTask.Type"}},"type":"object"},"MountTask.State":{"description":" - STATE_PLANNED: Planned: The mount task has been created and is awaiting further actions.\n - STATE_PREPARING: Preparing: The mount task is gathering resources and preparing for execution.\n - STATE_PREPARED: Prepared: All preparations are complete, and the mount task is ready to be executed.\n - STATE_EXECUTING: Executing: The mount task is actively transferring or transforming data.\n - STATE_EXECUTED: Executed: The core mount task actions are complete, but the mount task has not yet cut over or finalized.\n - STATE_CUT_OVER: Cut Over: The mount task has reached a critical point where ownership is transferred or final adjustments are made.\n - STATE_FINISHED: Finished: The mount task has been successfully completed, and no further actions are required.\n - STATE_CANCELING: Canceling: The mount task is in the process of being canceled, and rollback or cleanup actions may be in progress.\n - STATE_CANCELLED: Cancelled: The mount task has been fully canceled, and no further actions will be taken.","enum":["STATE_PLANNED","STATE_PREPARING","STATE_PREPARED","STATE_EXECUTING","STATE_EXECUTED","STATE_CUT_OVER","STATE_FINISHED","STATE_CANCELING","STATE_CANCELLED"],"type":"string"},"MountTask.Topic":{"properties":{"source_topic_reference":{"description":"The topic reference in the object storage bucket.\nThis field is only set for tasks of type MOUNT.","type":"string"},"topic_reference":{"description":"The topic reference within the current cluster, which may be either a simple topic name or a full reference\nin the form: cluster-uuid/topic-name/revision.","type":"string"}},"type":"object"},"MountTask.Type":{"description":" - TYPE_MOUNT: Mount represents the process of making topics available in a cluster by loading them from object storage.\n - TYPE_UNMOUNT: Unmount represents the process of offloading topics back to object storage.","enum":["TYPE_MOUNT","TYPE_UNMOUNT"],"type":"string"},"MountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of mount","type":"integer"}},"type":"object"},"Options":{"properties":{"include_tasks":{"description":"Restart connector's tasks.","type":"boolean"},"only_failed":{"description":"Restart only connectors that have failed.","type":"boolean"}},"type":"object"},"PartitionStatus":{"enum":["PARTITION_STATUS_RUNNING","PARTITION_STATUS_INACTIVE","PARTITION_STATUS_ERRORED","PARTITION_STATUS_UNKNOWN"],"type":"string"},"PartitionTransformStatus":{"properties":{"broker_id":{"format":"int32","type":"integer"},"lag":{"format":"int32","type":"integer"},"partition_id":{"format":"int32","type":"integer"},"status":{"$ref":"#/components/schemas/PartitionStatus"}},"type":"object"},"PermissionType":{"description":"Whether the operation should be allowed or denied.","enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"},"Pipeline":{"description":"Defines the pipeline resource.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","title":"The pipeline configuration in YAML.\nSee https://docs.redpanda.com/redpanda-connect/configuration/about/","type":"string"},"description":{"description":"Optional pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"id":{"description":"Pipeline ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"},"state":{"$ref":"#/components/schemas/Pipeline.State"},"status":{"$ref":"#/components/schemas/Pipeline.Status"}},"required":["id","display_name","config_yaml"],"type":"object"},"Pipeline.State":{"description":"State of the pipeline.\n\n - STATE_STARTING: The pipeline is starting.\n - STATE_RUNNING: The pipeline is running.\n - STATE_STOPPING: The pipeline is in the process of stopping.\n - STATE_STOPPED: The pipeline is stopped and in paused state.\n - STATE_ERROR: The pipeline encountered an error. See [Error Handling](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/error_handling/) for further guidance.\n - STATE_COMPLETED: The pipeline has completed the job successfully.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR","STATE_COMPLETED"],"type":"string"},"Pipeline.Status":{"description":"Pipeline status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"PipelineCreate":{"description":"PipelineCreate contains the details for the pipeline creation request.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"}},"required":["display_name","config_yaml"],"type":"object"},"PipelineUpdate":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"}},"required":["display_name","config_yaml"],"type":"object"},"PipelinesForSecret":{"properties":{"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"Policy":{"properties":{"host":{"description":"The host address for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"}},"type":"object"},"QuotaFailure":{"description":"Describes how a quota check failed.\n\nFor example if a daily limit was exceeded for the calling project,\na service could respond with a QuotaFailure detail containing the project\nid and the description of the quota limit that was exceeded. If the\ncalling project hasn't enabled the service in the developer console, then\na service could respond with the project id and set `service_disabled`\nto true.\n\nAlso see RetryInfo and Help types for other details about handling a\nquota failure.","properties":{"violations":{"description":"Describes all quota violations.","items":{"$ref":"#/components/schemas/QuotaFailure.Violation"},"type":"array"}},"title":"QuotaFailure","type":"object"},"QuotaFailure.Violation":{"description":"A message type used to describe a single quota violation. For example, a\ndaily quota or a custom quota that was exceeded.","properties":{"api_service":{"description":"The API Service from which the `QuotaFailure.Violation` orginates. In\nsome cases, Quota issues originate from an API Service other than the one\nthat was called. In other words, a dependency of the called API Service\ncould be the cause of the `QuotaFailure`, and this field would have the\ndependency API service name.\n\nFor example, if the called API is Kubernetes Engine API\n(container.googleapis.com), and a quota violation occurs in the\nKubernetes Engine API itself, this field would be\n\"container.googleapis.com\". On the other hand, if the quota violation\noccurs when the Kubernetes Engine API creates VMs in the Compute Engine\nAPI (compute.googleapis.com), this field would be\n\"compute.googleapis.com\".","type":"string"},"description":{"description":"A description of how the quota check failed. Clients can use this\ndescription to find more about the quota configuration in the service's\npublic documentation, or find the relevant quota limit to adjust through\ndeveloper console.\n\nFor example: \"Service disabled\" or \"Daily Limit for read operations\nexceeded\".","type":"string"},"future_quota_value":{"description":"The new quota value being rolled out at the time of the violation. At the\ncompletion of the rollout, this value will be enforced in place of\nquota_value. If no rollout is in progress at the time of the violation,\nthis field is not set.\n\nFor example, if at the time of the violation a rollout is in progress\nchanging the number of CPUs quota from 10 to 20, 20 would be the value of\nthis field.","format":"int64","nullable":true,"type":"string"},"quota_dimensions":{"additionalProperties":{"type":"string"},"description":"The dimensions of the violated quota. Every non-global quota is enforced\non a set of dimensions. While quota metric defines what to count, the\ndimensions specify for what aspects the counter should be increased.\n\nFor example, the quota \"CPUs per region per VM family\" enforces a limit\non the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions\n\"region\" and \"vm_family\". And if the violation occurred in region\n\"us-central1\" and for VM family \"n1\", the quota_dimensions would be,\n\n{\n \"region\": \"us-central1\",\n \"vm_family\": \"n1\",\n}\n\nWhen a quota is enforced globally, the quota_dimensions would always be\nempty.","type":"object"},"quota_id":{"description":"The id of the violated quota. Also know as \"limit name\", this is the\nunique identifier of a quota in the context of an API service.\n\nFor example, \"CPUS-PER-VM-FAMILY-per-project-region\".","type":"string"},"quota_metric":{"description":"The metric of the violated quota. A quota metric is a named counter to\nmeasure usage, such as API requests or CPUs. When an activity occurs in a\nservice, such as Virtual Machine allocation, one or more quota metrics\nmay be affected.\n\nFor example, \"compute.googleapis.com/cpus_per_vm_family\",\n\"storage.googleapis.com/internet_egress_bandwidth\".","type":"string"},"quota_value":{"description":"The enforced quota value at the time of the `QuotaFailure`.\n\nFor example, if the enforced quota value at the time of the\n`QuotaFailure` on the number of CPUs is \"10\", then the value of this\nfield would reflect this quantity.","format":"int64","type":"string"},"subject":{"description":"The subject on which the quota check failed.\nFor example, \"clientip:\u003cip address of client\u003e\" or \"project:\u003cGoogle\ndeveloper project id\u003e\".","type":"string"}},"type":"object"},"ReplicaAssignment":{"properties":{"partition_id":{"description":"A partition to create.","format":"int32","type":"integer"},"replica_ids":{"description":"The broker IDs the partition replicas are assigned to.","items":{"format":"int32","type":"integer"},"type":"array"}},"type":"object"},"Resource":{"properties":{"acls":{"items":{"$ref":"#/components/schemas/Policy"},"type":"array"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ResourcePatternType":{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"},"ResourceType":{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"Scope":{"description":"Defines the scope of a secret.","enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"Secret":{"description":"Defines the secret resource.","properties":{"id":{"description":"Secret identifier.","readOnly":true,"type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"}},"type":"object"},"ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"type":"object"},"SetConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"SetTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after this update.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"StartPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"StopPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"TaskInfo":{"properties":{"connector":{"description":"Name of connector.","type":"string"},"task":{"description":"The connector task ID.","format":"int32","type":"integer"}},"type":"object"},"TaskStatus":{"properties":{"id":{"description":"The connector task ID.","format":"int32","type":"integer"},"state":{"description":"State of connector task.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the task is assigned to.","type":"string"}},"type":"object"},"TopicLocation":{"properties":{"name":{"description":"Topic name.","type":"string"},"topic_location":{"description":"Full reference for the unmounted topic in this format: `topic-name/cluster-uuid/revision`.\nUse this as unique identifier for mounting a topic if there are multiple topics available\nwith the same name.","type":"string"}},"type":"object"},"TopicMount":{"description":"TopicMount defines the migration of a topic from the cloud storage into this cluster,\nso that it becomes available via the Kafka API.","properties":{"alias":{"description":"Alias may be provided to mount the topic under a different name. Leave\nblank to re-use the source topic name. The alias does not persist if you\nunmount the topic again.","type":"string"},"source_topic_reference":{"description":"The topic name or full reference of the topic to mount. The full reference\nmust be used in case the same topic exists more than once. This may be the case if\nthe same topic has been unmounted multiple times. List all mountable topics to\nfind the full reference (contains topic name, cluster uuid and revision).","type":"string"}},"required":["source_topic_reference"],"type":"object"},"TransformMetadata":{"properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"Input topic to apply the transform to.","type":"string"},"name":{"description":"Name of transform.","type":"string"},"output_topic_names":{"description":"Output topics to write the transform results to.","items":{"type":"string"},"type":"array"},"statuses":{"items":{"$ref":"#/components/schemas/PartitionTransformStatus"},"type":"array"}},"type":"object"},"UnmountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of unmount","type":"integer"}},"type":"object"},"UpdateConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"operation":{"$ref":"#/components/schemas/ConfigAlterOperation"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"UpdateConnectSecretBody":{"description":"UpdateConnectSecretRequest is the request of UpdateConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateConnectSecretResponse":{"description":"UpdateConnectSecretResponse is the response of UpdateConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateMountTaskBody":{"properties":{"action":{"$ref":"#/components/schemas/Action"}},"required":["action"],"type":"object"},"UpdateMountTaskResponse":{"type":"object"},"UpdatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"UpdateSecretBody":{"description":"UpdateSecretRequest is the request of UpdateSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateSecretResponse":{"description":"UpdateSecretResponse is the response of UpdateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after applying this partial patch.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"UpdateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"UpdateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/UpdateUserResponse.User"}},"type":"object"},"UpdateUserResponse.User":{"description":"Updated user's name and SASL mechanism.","properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"type":"string"}},"type":"object"},"UpsertConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"rpc.Status":{"description":"The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).","properties":{"code":{"description":"RPC status code, as described [here](https://github.com/googleapis/googleapis/blob/b4c238feaa1097c53798ed77035bbfeb7fc72e96/google/rpc/code.proto#L32).","enum":["OK","CANCELLED","UNKNOWN","INVALID_ARGUMENT","DEADLINE_EXCEEDED","NOT_FOUND","ALREADY_EXISTS","PERMISSION_DENIED","UNAUTHENTICATED","RESOURCE_EXHAUSTED","FAILED_PRECONDITION","ABORTED","OUT_OF_RANGE","UNIMPLEMENTED","INTERNAL","UNAVAILABLE","DATA_LOSS"],"format":"int32","type":"string"},"details":{"items":{"description":"Details of the error.","oneOf":[{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.BadRequest"],"type":"string"}}},{"$ref":"#/components/schemas/BadRequest"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.ErrorInfo"],"type":"string"}}},{"$ref":"#/components/schemas/ErrorInfo"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.QuotaFailure"],"type":"string"}}},{"$ref":"#/components/schemas/QuotaFailure"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.Help"],"type":"string"}}},{"$ref":"#/components/schemas/Help"}]}]},"type":"array"},"message":{"description":"Detailed error message. No compatibility guarantees are given for the text contained in this message.","type":"string"}},"type":"object"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1alpha2"},"openapi":"3.0.3","paths":{"/v1alpha2/acls":{"delete":{"description":"Delete all ACLs that match the filter criteria. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_DeleteACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","required":true,"schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","required":true,"schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","required":true,"schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","required":true,"schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete ACLs","tags":["Redpanda ACLs (v1alpha2)"]},"get":{"description":"List all ACLs. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_ListACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List ACLs","tags":["Redpanda ACLs (v1alpha2)"]},"post":{"description":"Create a new ACL.","operationId":"ACLService_CreateACL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLResponse"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create ACL","tags":["Redpanda ACLs (v1alpha2)"]}},"/v1alpha2/cloud-storage/mount-tasks":{"get":{"description":"This operation retrieves the status of a task responsible for mounting or unmounting topics. It provides details on the task’s type (mount or unmount), its current state, and the topics involved.","operationId":"CloudStorageService_ListMountTasks","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountTasksResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the mount task status","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/mount-tasks/{id}":{"delete":{"description":"Delete a mount or unmount by ID.","operationId":"CloudStorageService_DeleteMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to delete.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a mount or unmount","tags":["Cloud Storage (v1alpha2)"]},"get":{"description":"Retrieves the status of a mount or unmount by ID. The response provides details on the operation type (mount or unmount), its current state, and the topics involved. Use the ID returned when you start the mount or unmount, or use the ListMountTasks endpoint to retrieve a list of IDs.","operationId":"CloudStorageService_GetMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to retrieve.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get the status of a mount or unmount by ID","tags":["Cloud Storage (v1alpha2)"]},"post":{"description":"This operation allows performing an action on an ongoing mount task.","operationId":"CloudStorageService_UpdateMountTask","parameters":[{"description":"ID is the unique identifier of the mount or unmount to update.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a mount or unmount","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/mount":{"post":{"description":"Attach mountable topics from object storage to a cluster, making them available for consumption and production again. Mounting a topic reloads its data and state to the local brokers, allowing active use of the topic.","operationId":"CloudStorageService_MountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TopicMount"},"required":["topics"],"type":"array"}}},"required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Mount topics from object storage","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/mountable":{"get":{"description":"Retrieve all topics that are currently unmounted and available to be mounted to the cluster. These topics reside in object storage and can be mounted for consumption or production within the cluster.","operationId":"CloudStorageService_ListMountableTopics","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountableTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List mountable topics","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/unmount":{"post":{"description":"Unmount topics to object storage, freeing up all local cluster resources. Once you unmount a topic, it can no longer be consumed or produced to. It detaches from the active cluster while its data remains safely stored in the external object storage.","operationId":"CloudStorageService_UnmountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"required":["topics"],"type":"array"}}},"description":"List of topics to unmount.","required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnmountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Unmount topics to object storage","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters":{"get":{"description":"List connect clusters available for being consumed by the console's kafka-connect service.","operationId":"KafkaConnectService_ListConnectClusters","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectClustersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connect clusters","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}":{"get":{"description":"Get information about an available Kafka Connect cluster.","operationId":"KafkaConnectService_GetConnectCluster","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCluster"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Connect cluster not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connect cluster","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors":{"get":{"description":"List connectors managed by the Kafka Connect service.","operationId":"KafkaConnectService_ListConnectors","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connectors","tags":["Kafka Connect (v1alpha2)"]},"post":{"description":"Create a connector with the specified configuration.","operationId":"KafkaConnectService_CreateConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"required":true,"x-originalParamName":"connector"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}":{"delete":{"description":"Delete a connector. This operation force stops all tasks and also deletes the connector configuration.","operationId":"KafkaConnectService_DeleteConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete connector","tags":["Kafka Connect (v1alpha2)"]},"get":{"description":"Get information about a connector in a specific cluster.","operationId":"KafkaConnectService_GetConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/config":{"get":{"description":"Get the configuration for the connector.","operationId":"KafkaConnectService_GetConnectorConfig","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector configuration","tags":["Kafka Connect (v1alpha2)"]},"put":{"description":"Update the configuration for an existing connector with the specified name, or create a new connector using the given configuration. Returns information about the connector after the change has been made.","operationId":"KafkaConnectService_UpsertConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector. If a connector with this name does not already exist, a new connector is created.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"required":["config"],"type":"object"}}},"description":"Connector configuration property.","required":true,"x-originalParamName":"config"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Updated"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Upsert connector configuration","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/pause":{"put":{"description":"Pause the connector and its tasks, which stops messages from processing until the connector is resumed. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_PauseConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Pause request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Pause connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/restart":{"post":{"description":"Triggers a connector restart. You must specify whether or not tasks are also restarted, and whether only failed connectors are restarted.","operationId":"KafkaConnectService_RestartConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Options"}}},"required":true,"x-originalParamName":"options"},"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Restart connector request success"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Restart connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/resume":{"put":{"description":"Resume a paused connector and its tasks, and resumes message processing. This call is asynchronous and may take some time to process. If the connector was not paused, this operation does not do anything.","operationId":"KafkaConnectService_ResumeConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Resume request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Resume connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/status":{"get":{"description":"Gets the current status of the connector, including the state for each of its tasks, error information, etc.","operationId":"KafkaConnectService_GetConnectorStatus","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorStatus"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector status","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/stop":{"put":{"description":"Stops a connector, but does not delete it. All tasks for the connector are shut down completely. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_StopConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics":{"get":{"description":"Returns a list of connector topic names. If the connector is inactive, this call returns an empty list.","operationId":"KafkaConnectService_ListConnectorTopics","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connector topics","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics/reset":{"put":{"description":"Resets the set of topic names that the connector is using.","operationId":"KafkaConnectService_ResetConnectorTopics","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector using the topics to be reset.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Reset connector topics","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/secrets":{"get":{"description":"List Kafka Connect cluster secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListConnectSecrets","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string][string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect Cluster Secrets","tags":["Secrets (v1alpha2)"]},"post":{"description":"Create a Kafka Connect cluster secret.","operationId":"SecretService_CreateConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Connect Cluster Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/secrets/{id}":{"delete":{"description":"Delete a Kafka Connect cluster secret.","operationId":"SecretService_DeleteConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Connect Cluster Secret","tags":["Secrets (v1alpha2)"]},"get":{"description":"Get a specific Kafka Connect cluster secret.","operationId":"SecretService_GetConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"The ID of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect Cluster Secret","tags":["Secrets (v1alpha2)"]},"put":{"description":"Update a Kafka Connect cluster secret.","operationId":"SecretService_UpdateConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to update.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Connect Cluster Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/redpanda-connect/config-schema":{"get":{"description":"The configuration schema includes available [components and processors](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about) in this Redpanda Connect instance.","operationId":"PipelineService_GetPipelineServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelineServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect pipeline configurations.","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines":{"get":{"description":"List Redpanda Connect pipelines. Optional: filter based on pipeline name.","operationId":"PipelineService_ListPipelines","parameters":[{"description":"Substring match on pipeline name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPipelinesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect pipelines","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"post":{"description":"Create a new Redpanda Connect pipeline.","operationId":"PipelineService_CreatePipeline","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineCreate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines-by-secrets":{"get":{"description":"Get Redpanda Connect pipelines by secrets.","operationId":"PipelineService_GetPipelinesBySecrets","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesBySecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines by secrets","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines-for-secret":{"get":{"description":"Get Redpanda Connect pipelines for a given secret.","operationId":"PipelineService_GetPipelinesForSecret","parameters":[{"description":"Secret ID.","in":"query","name":"secret_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesForSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines for secret","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}":{"delete":{"description":"Delete a Redpanda Connect pipeline.","operationId":"PipelineService_DeletePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"get":{"description":"Get a specific Redpanda Connect pipeline.","operationId":"PipelineService_GetPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"put":{"description":"Update the [configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) of a Redpanda Connect pipeline.","operationId":"PipelineService_UpdatePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineUpdate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}/start":{"put":{"description":"Start a stopped Redpanda Connect pipeline.","operationId":"PipelineService_StartPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}/stop":{"put":{"description":"Stop a running Redpanda Connect pipeline.","operationId":"PipelineService_StopPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/secret-scopes":{"get":{"description":"List supported secret scopes.","operationId":"SecretService_ListSecretScopes","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretScopesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Secret Scopes","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/secrets":{"get":{"description":"List secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListSecrets","parameters":[{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Secrets","tags":["Secrets (v1alpha2)"]},"post":{"description":"Create a secret.","operationId":"SecretService_CreateSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretRequest"}}},"description":"CreateSecretRequest is the request of CreateSecret.","required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/secrets/{id}":{"delete":{"description":"Delete a secret.","operationId":"SecretService_DeleteSecret","parameters":[{"description":"The id of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Secret","tags":["Secrets (v1alpha2)"]},"get":{"description":"Get a secret.","operationId":"SecretService_GetSecret","parameters":[{"description":"The id of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Secret","tags":["Secrets (v1alpha2)"]},"put":{"description":"Update a secret.","operationId":"SecretService_UpdateSecret","parameters":[{"description":"Secret identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/topics":{"get":{"description":"List topics, with partition count and replication factor. Optional: filter based on topic name.","operationId":"TopicService_ListTopics","parameters":[{"description":"Substring match on topic name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Topics","tags":["Topics (v1alpha2)"]},"post":{"description":"Create a [topic](https://docs.redpanda.com/current/deploy/deployment-option/cloud/create-topic/).","operationId":"TopicService_CreateTopic","parameters":[{"description":"If true, makes this request a dry run; everything is validated but\nno topics are actually created.","in":"query","name":"validate_only","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicRequest.Topic"}}},"description":"The topic to create.","required":true,"x-originalParamName":"topic"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicResponse"}}},"description":"Topic created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Topic","tags":["Topics (v1alpha2)"]}},"/v1alpha2/topics/{name}":{"delete":{"description":"Delete the Kafka topic with the requested name.","operationId":"TopicService_DeleteTopic","parameters":[{"description":"Topic name.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Topic deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Requested topic does not exist"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Topic","tags":["Topics (v1alpha2)"]}},"/v1alpha2/topics/{topic_name}/configurations":{"get":{"description":"Get key-value configs for a topic.","operationId":"TopicService_GetTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Topic Configurations","tags":["Topics (v1alpha2)"]},"patch":{"description":"Update a subset of the topic configurations.","operationId":"TopicService_UpdateTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UpdateConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Topic Configuration","tags":["Topics (v1alpha2)"]},"put":{"description":"Update the entire set of key-value configurations for a topic. Config entries that are not provided in the request are removed and will fall back to their default values.","operationId":"TopicService_SetTopicConfigurations","parameters":[{"description":"Name of topic.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SetConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set Topic Configurations","tags":["Topics (v1alpha2)"]}},"/v1alpha2/transforms":{"get":{"description":"Retrieve a list of Wasm transforms. Optional: filter based on transform name.","operationId":"TransformService_ListTransforms","parameters":[{"description":"Substring match on transform name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","transforms":[{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic11","output-topic12"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]},{"environment_variables":[],"input_topic_name":"topic2","name":"transform2","output_topic_names":["output-topic21","output-topic22"],"statuses":[{"broker_id":2,"lag":2,"partition_id":2,"status":"PARTITION_STATUS_RUNNING"}]}]},"schema":{"$ref":"#/components/schemas/ListTransformsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Transforms","tags":["WASM Transforms (v1alpha2)"]},"put":{"description":"Initiate deployment of a new Wasm transform. This endpoint uses multipart/form-data encoding. Following deployment, a brief period is required before the Wasm transform becomes operational. Monitor the partition statuses to check whether the transform is active. This usually takes around 3s, but no longer than 10s.","operationId":"TransformService_DeployTransform","requestBody":{"content":{"multipart/form-data":{"schema":{"example":"{\"name\":\"redact-orders\", \"input_topic_name\":\"orders\", \"output_topic_names\":[\"orders-redacted\"], \"environment_variables\":[{\"key\":\"LOGGER_LEVEL\", \"value\":\"DEBUG\"}]}","properties":{"metadata":{"$ref":"#/components/schemas/DeployTransformRequest"},"wasm_binary":{"description":"Binary file containing the compiled WASM transform. The maximum size for this file is 10MiB.","format":"binary","type":"string"}},"type":"object"}}},"description":"Transform metadata as well as the WASM binary","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransformMetadata"}}},"description":"Created"}},"summary":"Deploy Transform","tags":["WASM Transforms (v1alpha2)"]}},"/v1alpha2/transforms/{name}":{"delete":{"description":"Delete a Wasm transform with the requested name.","operationId":"TransformService_DeleteTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"Transform deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Transform","tags":["WASM Transforms (v1alpha2)"]},"get":{"description":"Get a specific Wasm transform.","operationId":"TransformService_GetTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"transform":{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic1","output-topic2"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]}},"schema":{"$ref":"#/components/schemas/GetTransformResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Transform","tags":["WASM Transforms (v1alpha2)"]}},"/v1alpha2/users":{"get":{"description":"List users. Optional: filter based on username.","operationId":"UserService_ListUsers","parameters":[{"description":"Username.","in":"query","name":"filter.name","schema":{"type":"string"}},{"description":"Substring match on username. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","users":[{"name":"payment-service"},{"name":"jane"}]},"schema":{"$ref":"#/components/schemas/ListUsersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Users","tags":["Redpanda Users (v1alpha2)"]},"post":{"description":"Create a new user.","operationId":"UserService_CreateUser","requestBody":{"content":{"application/json":{"example":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service","password":"secure-password"},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"required":true,"x-originalParamName":"user"},"responses":{"201":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"description":"User created"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create User","tags":["Redpanda Users (v1alpha2)"]}},"/v1alpha2/users/{name}":{"delete":{"description":"Delete the specified user","operationId":"UserService_DeleteUser","parameters":[{"description":"Username","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"User deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"example":{"code":"NOT_FOUND","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_RESOURCE_NOT_FOUND"}],"message":"user not found"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete User","tags":["Redpanda Users (v1alpha2)"]}},"/v1alpha2/users/{user.name}":{"put":{"description":"Update a user's credentials.","operationId":"UserService_UpdateUser","parameters":[{"description":"Username.","in":"path","name":"user.name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","password":"new-password"}},"schema":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"password":{"description":"Password.","type":"string"}},"type":"object"}}},"required":true,"x-originalParamName":"user"},"responses":{"200":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/UpdateUserResponse.User"}}},"description":"OK"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update User","tags":["Redpanda Users (v1alpha2)"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Manage Redpanda access control lists (ACLs). See [Redpanda Cloud Authorization](https://docs.redpanda.com/redpanda-cloud/security/authorization/cloud-authorization/) for more information.","name":"Redpanda ACLs (v1alpha2)"},{"description":"Manage Redpanda topics stored in object storage. See: [Mountable Topics](https://docs.redpanda.com/redpanda-cloud/manage/mountable-topics/)","name":"Cloud Storage (v1alpha2)"},{"description":"Manage Wasm transforms in Redpanda.","name":"WASM Transforms (v1alpha2)"},{"description":"Manage [connectors](https://docs.redpanda.com/redpanda-cloud/develop/managed-connectors/) and interact with the Kafka Connect API.","name":"Kafka Connect (v1alpha2)"},{"description":"Create and manage [Redpanda Connect](https://docs.redpanda.com/redpanda-cloud/develop/connect/about) pipelines and their configurations.","name":"Redpanda Connect Pipeline (v1alpha2)"},{"description":"Manage [secrets](https://docs.redpanda.com/redpanda-cloud/security/secrets) for Redpanda Cloud.","name":"Secrets (v1alpha2)"},{"description":"Manage Redpanda topics.","name":"Topics (v1alpha2)"},{"description":"Manage Redpanda users. To manage access, see the Data Plane [ACL endpoints](https://docs.redpanda.com/api/cloud-dataplane-api/#get-/v1alpha2/acls).","name":"Redpanda Users (v1alpha2)"}]} \ No newline at end of file diff --git a/proto/gen/openapi/openapi.v1alpha2.yaml b/proto/gen/openapi/openapi.v1alpha2.yaml index 9098ca21d..6d606c892 100644 --- a/proto/gen/openapi/openapi.v1alpha2.yaml +++ b/proto/gen/openapi/openapi.v1alpha2.yaml @@ -4375,7 +4375,7 @@ paths: content: multipart/form-data: schema: - example: '{"name":"redact-orders","input_topic_name":"orders","output_topic_names":["orders-redacted"],"environment_variables":[{"key":"LOGGER_LEVEL","value":"DEBUG"}]}' + example: '{"name":"redact-orders", "input_topic_name":"orders", "output_topic_names":["orders-redacted"], "environment_variables":[{"key":"LOGGER_LEVEL", "value":"DEBUG"}]}' properties: metadata: $ref: '#/components/schemas/DeployTransformRequest' From ba3e0819d305c9c62f15eeeb244768e79ba25de8 Mon Sep 17 00:00:00 2001 From: Julin <142230457+c-julin@users.noreply.github.com> Date: Mon, 1 Dec 2025 12:12:48 +0000 Subject: [PATCH 4/8] fix: update proto import paths for ACL and TLS types Update import paths after proto dependency reorganization: - ACL types moved from redpanda/core/common/acl_pb to v1/acl_pb - TLS types moved from shadow_link_pb to common/v1/tls_pb Affects shadowlink creation, editing, and detail views. --- .github/workflows/buf.yml | 12 ++++++------ .../create/configuration/acls-step.test.tsx | 2 +- .../shadowlinks/create/configuration/acls-step.tsx | 2 +- .../src/components/pages/shadowlinks/create/model.ts | 2 +- .../shadowlinks/create/shadowlink-create-page.tsx | 4 ++-- .../details/config/tls-certificates-config.tsx | 2 +- .../edit/get-update-values-for-acls.test.ts | 2 +- .../shadowlinks/edit/shadowlink-edit-page.test.tsx | 2 +- .../pages/shadowlinks/edit/shadowlink-edit-utils.ts | 8 +++++--- .../pages/shadowlinks/shadowlink-helpers.test.ts | 2 +- .../pages/shadowlinks/shadowlink-helpers.ts | 2 +- 11 files changed, 21 insertions(+), 19 deletions(-) diff --git a/.github/workflows/buf.yml b/.github/workflows/buf.yml index 9a195c6e4..3d10abf50 100644 --- a/.github/workflows/buf.yml +++ b/.github/workflows/buf.yml @@ -44,16 +44,16 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - - name: Buf – lint, format & breaking + - name: Buf – lint & format uses: bufbuild/buf-action@v1 with: lint: true format: true - breaking: true - push: false # Only validate, don't push to registry - # Compare against the default branch so the whole PR is checked - breaking_against: https://github.com/redpanda-data/console.git#branch=master - args: '--exclude-imports' + breaking: false + push: false + - uses: bufbuild/buf-setup-action@v1 + - name: Buf – breaking (excluding imports) + run: buf breaking --against 'https://github.com/redpanda-data/console.git#branch=master' --exclude-imports # =========================================================================== # Job: push-to-registry (push events only - registry operations only) diff --git a/frontend/src/components/pages/shadowlinks/create/configuration/acls-step.test.tsx b/frontend/src/components/pages/shadowlinks/create/configuration/acls-step.test.tsx index e12ca4efa..69718bf59 100644 --- a/frontend/src/components/pages/shadowlinks/create/configuration/acls-step.test.tsx +++ b/frontend/src/components/pages/shadowlinks/create/configuration/acls-step.test.tsx @@ -11,7 +11,7 @@ import { zodResolver } from '@hookform/resolvers/zod'; import { Form } from 'components/redpanda-ui/components/form'; -import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/acl_pb'; +import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/v1/acl_pb'; import { useForm } from 'react-hook-form'; import { fireEvent, render, screen, waitFor, within } from 'test-utils'; diff --git a/frontend/src/components/pages/shadowlinks/create/configuration/acls-step.tsx b/frontend/src/components/pages/shadowlinks/create/configuration/acls-step.tsx index 340e4ccfc..5290ce5c8 100644 --- a/frontend/src/components/pages/shadowlinks/create/configuration/acls-step.tsx +++ b/frontend/src/components/pages/shadowlinks/create/configuration/acls-step.tsx @@ -30,7 +30,7 @@ import { } from 'components/redpanda-ui/components/select'; import { Tabs, TabsContent, TabsList, TabsTrigger } from 'components/redpanda-ui/components/tabs'; import { ChevronDown, Info, X } from 'lucide-react'; -import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/acl_pb'; +import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/v1/acl_pb'; import { useState } from 'react'; import { useFieldArray, useFormContext, useWatch } from 'react-hook-form'; diff --git a/frontend/src/components/pages/shadowlinks/create/model.ts b/frontend/src/components/pages/shadowlinks/create/model.ts index e37426eb3..55b4e4edc 100644 --- a/frontend/src/components/pages/shadowlinks/create/model.ts +++ b/frontend/src/components/pages/shadowlinks/create/model.ts @@ -10,7 +10,7 @@ */ import { FilterType, PatternType, ScramMechanism } from 'protogen/redpanda/core/admin/v2/shadow_link_pb'; -import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/acl_pb'; +import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/v1/acl_pb'; import { z } from 'zod'; // TLS mode: either file paths or PEM content diff --git a/frontend/src/components/pages/shadowlinks/create/shadowlink-create-page.tsx b/frontend/src/components/pages/shadowlinks/create/shadowlink-create-page.tsx index bc3e7eccb..3e7ac5bf4 100644 --- a/frontend/src/components/pages/shadowlinks/create/shadowlink-create-page.tsx +++ b/frontend/src/components/pages/shadowlinks/create/shadowlink-create-page.tsx @@ -30,9 +30,9 @@ import { ShadowLinkClientOptionsSchema, ShadowLinkConfigurationsSchema, ShadowLinkSchema, - TLSSettingsSchema, TopicMetadataSyncOptionsSchema, } from 'protogen/redpanda/core/admin/v2/shadow_link_pb'; +import { TLSSettingsSchema } from 'protogen/redpanda/core/common/v1/tls_pb'; import { useEffect } from 'react'; import { useForm } from 'react-hook-form'; import { useNavigate } from 'react-router-dom'; @@ -47,7 +47,7 @@ import { ACLPattern, ACLPermissionType, ACLResource, -} from '../../../../protogen/redpanda/core/common/acl_pb'; +} from '../../../../protogen/redpanda/core/common/v1/acl_pb'; import { useCreateShadowLinkMutation } from '../../../../react-query/api/shadowlink'; import { buildTLSSettings } from '../edit/shadowlink-edit-utils'; diff --git a/frontend/src/components/pages/shadowlinks/details/config/tls-certificates-config.tsx b/frontend/src/components/pages/shadowlinks/details/config/tls-certificates-config.tsx index bc3f7ad66..a489c922f 100644 --- a/frontend/src/components/pages/shadowlinks/details/config/tls-certificates-config.tsx +++ b/frontend/src/components/pages/shadowlinks/details/config/tls-certificates-config.tsx @@ -10,7 +10,7 @@ */ import { Text } from 'components/redpanda-ui/components/typography'; -import type { TLSSettings } from 'protogen/redpanda/core/admin/v2/shadow_link_pb'; +import type { TLSSettings } from 'protogen/redpanda/core/common/v1/tls_pb'; import type React from 'react'; const ConfigField = ({ label, value, testId }: { label: string; value: React.ReactNode; testId?: string }) => ( diff --git a/frontend/src/components/pages/shadowlinks/edit/get-update-values-for-acls.test.ts b/frontend/src/components/pages/shadowlinks/edit/get-update-values-for-acls.test.ts index e41999299..81e1c7def 100644 --- a/frontend/src/components/pages/shadowlinks/edit/get-update-values-for-acls.test.ts +++ b/frontend/src/components/pages/shadowlinks/edit/get-update-values-for-acls.test.ts @@ -10,7 +10,7 @@ */ import { ScramMechanism } from 'protogen/redpanda/core/admin/v2/shadow_link_pb'; -import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/acl_pb'; +import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/v1/acl_pb'; import { describe, expect, test } from 'vitest'; import { getUpdateValuesForACLs } from './shadowlink-edit-utils'; diff --git a/frontend/src/components/pages/shadowlinks/edit/shadowlink-edit-page.test.tsx b/frontend/src/components/pages/shadowlinks/edit/shadowlink-edit-page.test.tsx index 8e55014ad..6991f9a97 100644 --- a/frontend/src/components/pages/shadowlinks/edit/shadowlink-edit-page.test.tsx +++ b/frontend/src/components/pages/shadowlinks/edit/shadowlink-edit-page.test.tsx @@ -26,7 +26,7 @@ import { ShadowLinkState, TopicMetadataSyncOptionsSchema, } from 'protogen/redpanda/core/admin/v2/shadow_link_pb'; -import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/acl_pb'; +import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/v1/acl_pb'; import { MemoryRouter, Route, Routes } from 'react-router-dom'; import { beforeEach, describe, expect, test, vi } from 'vitest'; diff --git a/frontend/src/components/pages/shadowlinks/edit/shadowlink-edit-utils.ts b/frontend/src/components/pages/shadowlinks/edit/shadowlink-edit-utils.ts index b2dd299a0..c4ba11c09 100644 --- a/frontend/src/components/pages/shadowlinks/edit/shadowlink-edit-utils.ts +++ b/frontend/src/components/pages/shadowlinks/edit/shadowlink-edit-utils.ts @@ -23,13 +23,15 @@ import { SecuritySettingsSyncOptionsSchema, type ShadowLinkClientOptions, ShadowLinkClientOptionsSchema, + TopicMetadataSyncOptionsSchema, +} from 'protogen/redpanda/core/admin/v2/shadow_link_pb'; +import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/v1/acl_pb'; +import { TLSFileSettingsSchema, TLSPEMSettingsSchema, type TLSSettings, TLSSettingsSchema, - TopicMetadataSyncOptionsSchema, -} from 'protogen/redpanda/core/admin/v2/shadow_link_pb'; -import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/acl_pb'; +} from 'protogen/redpanda/core/common/v1/tls_pb'; import type { FormValues } from '../create/model'; import { TLS_MODE } from '../create/model'; diff --git a/frontend/src/components/pages/shadowlinks/shadowlink-helpers.test.ts b/frontend/src/components/pages/shadowlinks/shadowlink-helpers.test.ts index 6dd6b3af3..3aa208c3f 100644 --- a/frontend/src/components/pages/shadowlinks/shadowlink-helpers.test.ts +++ b/frontend/src/components/pages/shadowlinks/shadowlink-helpers.test.ts @@ -10,7 +10,7 @@ */ import { FilterType, PatternType } from 'protogen/redpanda/core/admin/v2/shadow_link_pb'; -import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/acl_pb'; +import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/v1/acl_pb'; import { describe, expect, test } from 'vitest'; import { diff --git a/frontend/src/components/pages/shadowlinks/shadowlink-helpers.ts b/frontend/src/components/pages/shadowlinks/shadowlink-helpers.ts index 00572279c..8284086f4 100644 --- a/frontend/src/components/pages/shadowlinks/shadowlink-helpers.ts +++ b/frontend/src/components/pages/shadowlinks/shadowlink-helpers.ts @@ -10,7 +10,7 @@ */ import { FilterType, PatternType } from 'protogen/redpanda/core/admin/v2/shadow_link_pb'; -import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/acl_pb'; +import { ACLOperation, ACLPattern, ACLPermissionType, ACLResource } from 'protogen/redpanda/core/common/v1/acl_pb'; // Helper function to get filter label from pattern and filter type export const getFilterTypeLabel = (patternType: PatternType, filterType: FilterType): string => { From c91589760fbc616543c75f82820a18e35767f385 Mon Sep 17 00:00:00 2001 From: Julin <142230457+c-julin@users.noreply.github.com> Date: Mon, 1 Dec 2025 12:25:54 +0000 Subject: [PATCH 5/8] docs: regenned docs after rebase --- proto/gen/openapi/openapi.json | 2 +- proto/gen/openapi/openapi.v1alpha2.json | 2 +- proto/gen/openapi/openapi.v1alpha2.yaml | 2 +- proto/gen/openapi/openapi.v1alpha3.json | 2 +- proto/gen/openapi/openapi.yaml | 10 +++++++--- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/proto/gen/openapi/openapi.json b/proto/gen/openapi/openapi.json index c95bcd5eb..4d3d6ba05 100644 --- a/proto/gen/openapi/openapi.json +++ b/proto/gen/openapi/openapi.json @@ -1 +1 @@ -{"components":{"schemas":{"ACL.Operation":{"description":"The operation that is allowed or denied (e.g. READ).","enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"},"Action":{"enum":["ACTION_PREPARE","ACTION_EXECUTE","ACTION_FINISH","ACTION_CANCEL"],"type":"string"},"AddPartitionsToTopicsRequest":{"properties":{"partition_count":{"description":"The number of partitions to add for the topics.","format":"int32","type":"integer"},"topic_names":{"description":"The topic names.","items":{"type":"string"},"type":"array"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"AddPartitionsToTopicsResponse":{"properties":{"statuses":{"description":"The status of the operation for each topic.","items":{"$ref":"#/components/schemas/AlterTopicPartitionStatus"},"type":"array"}},"type":"object"},"AddTopicPartitionsBody":{"properties":{"partition_count":{"description":"The number of partitions to add to the topic.","format":"int32","type":"integer"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"AddTopicPartitionsResponse":{"type":"object"},"AlterTopicPartitionStatus":{"properties":{"error":{"description":"The error if any.","type":"string"},"success":{"description":"Whether the operation was successful.","type":"boolean"},"topic_name":{"description":"The topic name.","type":"string"}},"type":"object"},"AnnotatedOption":{"properties":{"description":{"type":"string"},"value":{"type":"string"}},"title":"AnnotatedOption represents an annotated option","type":"object"},"AuthenticationInfo":{"properties":{"mechanism":{"$ref":"#/components/schemas/AuthenticationMechanism"},"state":{"$ref":"#/components/schemas/AuthenticationState"},"user_principal":{"title":"Authenticated user principal","type":"string"}},"title":"Other Messages","type":"object"},"AuthenticationMechanism":{"enum":["AUTHENTICATION_MECHANISM_MTLS","AUTHENTICATION_MECHANISM_SASL_SCRAM","AUTHENTICATION_MECHANISM_SASL_OAUTHBEARER","AUTHENTICATION_MECHANISM_SASL_PLAIN","AUTHENTICATION_MECHANISM_SASL_GSSAPI"],"title":"- AUTHENTICATION_MECHANISM_MTLS: Mutual TLS using client certificates\n - AUTHENTICATION_MECHANISM_SASL_SCRAM: SASL SCRAM\n - AUTHENTICATION_MECHANISM_SASL_OAUTHBEARER: SASL OAUTHBEARER (OAuth 2.0 / OpenID Connect)\n - AUTHENTICATION_MECHANISM_SASL_PLAIN: SASL PLAIN (username/password in plaintext)\n - AUTHENTICATION_MECHANISM_SASL_GSSAPI: SASL GSSAPI (Kerberos)","type":"string"},"AuthenticationState":{"enum":["AUTHENTICATION_STATE_UNAUTHENTICATED","AUTHENTICATION_STATE_SUCCESS","AUTHENTICATION_STATE_FAILURE"],"type":"string"},"BadRequest":{"description":"Describes violations in a client request. This error type focuses on the\nsyntactic aspects of the request.","properties":{"field_violations":{"description":"Describes all violations in a client request.","items":{"$ref":"#/components/schemas/FieldViolation"},"type":"array"}},"title":"BadRequest","type":"object"},"BatchDeleteQuotaRequest":{"properties":{"deletions":{"items":{"$ref":"#/components/schemas/QuotaDeletion"},"type":"array"}},"type":"object"},"BatchDeleteQuotaResponse":{"properties":{"failed_entities":{"items":{"$ref":"#/components/schemas/FailedEntity"},"type":"array"},"successful_entities":{"items":{"$ref":"#/components/schemas/SuccessfulEntity"},"type":"array"}},"type":"object"},"BatchSetQuotaRequest":{"properties":{"settings":{"description":"A list of quota settings to apply. Each setting pairs an entity\nwith the specific values to be set for it.","items":{"$ref":"#/components/schemas/QuotaSetting"},"type":"array"}},"type":"object"},"BatchSetQuotaResponse":{"properties":{"failed_entities":{"items":{"$ref":"#/components/schemas/FailedEntity"},"type":"array"},"successful_entities":{"items":{"$ref":"#/components/schemas/SuccessfulEntity"},"type":"array"}},"type":"object"},"BloblangFunctionSpec":{"description":"BloblangFunctionSpec represents a Bloblang function specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"params":{"$ref":"#/components/schemas/ParamSpec"},"status":{"type":"string"},"version":{"type":"string"}},"type":"object"},"BloblangMethodSpec":{"description":"BloblangMethodSpec represents a Bloblang method specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"params":{"$ref":"#/components/schemas/ParamSpec"},"status":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ComponentList":{"description":"ComponentList contains the structured component data.","properties":{"bloblang_functions":{"items":{"$ref":"#/components/schemas/BloblangFunctionSpec"},"type":"array"},"bloblang_methods":{"items":{"$ref":"#/components/schemas/BloblangMethodSpec"},"type":"array"},"buffers":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"caches":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"inputs":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"metrics":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"outputs":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"processors":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"rate_limits":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"scanners":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"tracers":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"version":{"type":"string"}},"type":"object"},"ComponentSpec":{"description":"ComponentSpec represents a component specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"config":{"$ref":"#/components/schemas/FieldSpec"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"footnotes":{"type":"string"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/ComponentStatus"},"summary":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ComponentStatus":{"description":"ComponentStatus represents the stability level of a component.","enum":["COMPONENT_STATUS_STABLE","COMPONENT_STATUS_BETA","COMPONENT_STATUS_EXPERIMENTAL","COMPONENT_STATUS_DEPRECATED"],"type":"string"},"ComponentType":{"description":"Component type for this tool.","enum":["COMPONENT_TYPE_PROCESSOR","COMPONENT_TYPE_CACHE","COMPONENT_TYPE_INPUT","COMPONENT_TYPE_OUTPUT"],"type":"string"},"Config":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigAlterOperation":{"enum":["CONFIG_ALTER_OPERATION_SET","CONFIG_ALTER_OPERATION_DELETE","CONFIG_ALTER_OPERATION_APPEND","CONFIG_ALTER_OPERATION_SUBTRACT"],"type":"string"},"ConfigSource":{"enum":["CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG","CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG","CONFIG_SOURCE_STATIC_BROKER_CONFIG","CONFIG_SOURCE_DEFAULT_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_LOGGER_CONFIG"],"type":"string"},"ConfigSynonym":{"properties":{"name":{"type":"string"},"source":{"$ref":"#/components/schemas/ConfigSource"},"value":{"nullable":true,"type":"string"}},"type":"object"},"ConfigType":{"enum":["CONFIG_TYPE_BOOLEAN","CONFIG_TYPE_STRING","CONFIG_TYPE_INT","CONFIG_TYPE_SHORT","CONFIG_TYPE_LONG","CONFIG_TYPE_DOUBLE","CONFIG_TYPE_LIST","CONFIG_TYPE_CLASS","CONFIG_TYPE_PASSWORD"],"type":"string"},"Configuration":{"properties":{"config_synonyms":{"description":"If no config value is set at the topic level, it will inherit the value\nset at the broker or cluster level. `name` is the corresponding config\nkey whose value is inherited. `source` indicates whether the inherited\nconfig is default, broker, etc.","items":{"$ref":"#/components/schemas/ConfigSynonym"},"type":"array"},"documentation":{"description":"Config documentation.","nullable":true,"type":"string"},"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"read_only":{"description":"Whether the config is read-only, or is dynamic and can be altered.","type":"boolean"},"sensitive":{"description":"Whether this is a sensitive config key and value.","type":"boolean"},"source":{"$ref":"#/components/schemas/ConfigSource"},"type":{"$ref":"#/components/schemas/ConfigType"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigurationYAMLSchema":{"properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_schema":{"description":"JSON schema of the configuration components that are allowed for MCP Servers.","type":"string"}},"type":"object"},"ConnectCluster":{"properties":{"address":{"description":"The host address of the Kafka Connect cluster.","type":"string"},"info":{"$ref":"#/components/schemas/ConnectCluster.Info"},"name":{"description":"Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`.","type":"string"},"plugins":{"items":{"$ref":"#/components/schemas/ConnectorPlugin"},"type":"array"}},"type":"object"},"ConnectCluster.Info":{"properties":{"commit":{"description":"The git commit ID of the connect worker source code.","type":"string"},"kafka_cluster_id":{"description":"Cluster ID.","type":"string"},"version":{"description":"Connect worker version.","type":"string"}},"type":"object"},"Connector":{"properties":{"state":{"description":"State of the connector instance.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the connector is assigned to.","type":"string"}},"type":"object"},"ConnectorError":{"properties":{"content":{"description":"Detailed description of the error.","type":"string"},"title":{"description":"Short description of the error.","type":"string"},"type":{"$ref":"#/components/schemas/ConnectorError.Type"}},"title":"ConnectorError is the error of a connector, this is holistic error\nabstraction, made parsing the error trace of connector or Task","type":"object"},"ConnectorError.Type":{"description":"Error level.","enum":["TYPE_ERROR","TYPE_WARNING"],"type":"string"},"ConnectorHolisticState":{"description":"State of a connector or one of its tasks, as described in the [Kafka Connect documentation](https://kafka.apache.org/documentation.html#connect_administration). Takes into account not just the state of the connector instance itself, but also the tasks within the connector.\n\n - CONNECTOR_HOLISTIC_STATE_PAUSED: The connector or task has been administratively paused.\n - CONNECTOR_HOLISTIC_STATE_RESTARTING: The connector or task is restarting.\n - CONNECTOR_HOLISTIC_STATE_DESTROYED: The connector is destroyed, regardless of any tasks.\n - CONNECTOR_HOLISTIC_STATE_STOPPED: The connector or task has been stopped.\n - CONNECTOR_HOLISTIC_STATE_UNASSIGNED: - The connector or task has not yet been assigned to a worker,\n- THe connector is running, but there are unassigned tasks.\n - CONNECTOR_HOLISTIC_STATE_HEALTHY: The connector is running, \u003e 0 tasks, all of them in running state.\n - CONNECTOR_HOLISTIC_STATE_UNHEALTHY: - The connector has failed,\n- The connector is running, but has no tasks,\n- Connector is running and has tasks, but all tasks have failed.\n - CONNECTOR_HOLISTIC_STATE_DEGRADED: The connector is running and has tasks, and at least one task, but not all, have failed.\n - CONNECTOR_HOLISTIC_STATE_UNKNOWN: The connector or task state could not be determined.","enum":["CONNECTOR_HOLISTIC_STATE_PAUSED","CONNECTOR_HOLISTIC_STATE_RESTARTING","CONNECTOR_HOLISTIC_STATE_DESTROYED","CONNECTOR_HOLISTIC_STATE_STOPPED","CONNECTOR_HOLISTIC_STATE_UNASSIGNED","CONNECTOR_HOLISTIC_STATE_HEALTHY","CONNECTOR_HOLISTIC_STATE_UNHEALTHY","CONNECTOR_HOLISTIC_STATE_DEGRADED","CONNECTOR_HOLISTIC_STATE_UNKNOWN"],"type":"string"},"ConnectorInfoStatus":{"properties":{"info":{"$ref":"#/components/schemas/ConnectorSpec"},"name":{"description":"Name of connector.","type":"string"},"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"ConnectorPlugin":{"properties":{"class":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ConnectorSpec":{"description":"Connector specifications as defined in the Kafka Connect\nAPI. You may include this in the request body when creating a new connector.","properties":{"config":{"additionalProperties":{"type":"string"},"description":"Connector configuration properties.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"items":{"$ref":"#/components/schemas/TaskInfo"},"readOnly":true,"type":"array"},"type":{"readOnly":true,"type":"string"}},"required":["name","config"],"type":"object"},"ConnectorStatus":{"properties":{"connector":{"$ref":"#/components/schemas/Connector"},"errors":{"description":"List of parsed connectors' and tasks' errors.","items":{"$ref":"#/components/schemas/ConnectorError"},"type":"array"},"holistic_state":{"$ref":"#/components/schemas/ConnectorHolisticState"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"description":"Status of connector tasks. For more information, see the [https://docs.redpanda.com/current/deploy/deployment-option/cloud/managed-connectors/monitor-connectors/#connector-tasks](Monitor Connectors) documentation.","items":{"$ref":"#/components/schemas/TaskStatus"},"type":"array"},"type":{"description":"Type of connector (sink or source).","type":"string"}},"type":"object"},"CreateACLRequest":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.\nFor requests with resource_type CLUSTER, this will default to \"kafka-cluster\".","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","principal","host","operation","permission_type"],"type":"object"},"CreateACLResponse":{"type":"object"},"CreateConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"CreateKafkaConnectSecretBody":{"description":"CreateKafkaConnectSecretRequest is the request of CreateKafkaConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["name","secret_data"],"type":"object"},"CreateKafkaConnectSecretResponse":{"description":"CreateKafkaConnectSecretResponse is the response of CreateKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"CreatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"CreateRoleResponse":{"description":"CreateRoleResponse is the response for CreateRole.","properties":{"role":{"$ref":"#/components/schemas/Role"}},"type":"object"},"CreateSecretRequest":{"description":"CreateSecretRequest is the request of CreateSecret.","properties":{"id":{"description":"Secret identifier.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"CreateSecretResponse":{"description":"CreateSecretResponse is the response of CreateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateTopicRequest.Topic":{"properties":{"configs":{"description":"An array of key-value config pairs for a topic.\nThese correspond to Kafka topic-level configs.","items":{"$ref":"#/components/schemas/Config"},"type":"array"},"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions to give the topic. If specifying\npartitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default partition count, set to null.","format":"int32","nullable":true,"type":"integer"},"replica_assignments":{"description":"Manually specify broker ID assignments for partition replicas. If manually assigning replicas, both `replication_factor` and\n`partition_count` must be -1.","items":{"$ref":"#/components/schemas/ReplicaAssignment"},"type":"array"},"replication_factor":{"description":"The number of replicas every partition must have.\nIf specifying partitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default replication factor, set to null.","format":"int32","nullable":true,"type":"integer"}},"type":"object"},"CreateTopicResponse":{"properties":{"partition_count":{"description":"The number of partitions created for the topic.\nThis field has a default value of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"replication_factor":{"description":"The number of replicas per topic partition.\nThis field has a default of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"topic_name":{"description":"Name of topic.","type":"string"}},"type":"object"},"CreateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"CreateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/CreateUserResponse.User"}},"type":"object"},"CreateUserResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"title":"Name of newly-created user","type":"string"}},"type":"object"},"DeleteACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","operation","permission_type"],"type":"object"},"DeleteACLsResponse":{"properties":{"matching_acls":{"items":{"$ref":"#/components/schemas/MatchingACL"},"type":"array"}},"type":"object"},"DeleteKafkaConnectSecretResponse":{"description":"DeleteKafkaConnectSecretResponse is the response of DeleteKafkaConnectSecret.","type":"object"},"DeleteMCPServerResponse":{"type":"object"},"DeleteMountTaskResponse":{"type":"object"},"DeletePipelineResponse":{"type":"object"},"DeleteQuotaRequest":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"DeleteQuotaResponse":{"type":"object"},"DeleteRoleResponse":{"description":"DeleteRoleResponse is the response for DeleteRole.","type":"object"},"DeleteSecretResponse":{"description":"DeleteSecretResponse is the response of DeleteSecret.","type":"object"},"DeleteTopicResponse":{"type":"object"},"DeleteTransformResponse":{"type":"object"},"DeleteUserResponse":{"type":"object"},"DeployTransformRequest":{"description":"Metadata required to deploy a new Wasm\ntransform in a Redpanda cluster.","properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"The input topic to apply the transform to.","example":"orders","type":"string"},"name":{"description":"Name of the transform.","example":"redact-payment-details-in-orders","type":"string"},"output_topic_names":{"description":"Output topic to write the transform results to.","example":"orders-redacted","items":{"type":"string"},"type":"array"}},"required":["name","input_topic_name","output_topic_names"],"type":"object"},"Entity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"EntityType":{"description":"The type of entity that the quota applies to.\n\n - ENTITY_TYPE_USER: Not supported in Redpanda\n - ENTITY_TYPE_IP: Not supported in Redpanda","enum":["ENTITY_TYPE_CLIENT_ID","ENTITY_TYPE_CLIENT_ID_PREFIX","ENTITY_TYPE_USER","ENTITY_TYPE_IP"],"type":"string"},"EnvironmentVariable":{"properties":{"key":{"description":"The key of your environment variable.","example":"LOG_LEVEL","type":"string"},"value":{"description":"The value of your environment variable.","example":"DEBUG","type":"string"}},"required":["key","value"],"type":"object"},"ErrorInfo":{"description":"Describes the cause of the error with structured details.\n\nExample of an error when contacting the \"pubsub.googleapis.com\" API when it\nis not enabled:\n\n { \"reason\": \"API_DISABLED\"\n \"domain\": \"googleapis.com\"\n \"metadata\": {\n \"resource\": \"projects/123\",\n \"service\": \"pubsub.googleapis.com\"\n }\n }\n\nThis response indicates that the pubsub.googleapis.com API is not enabled.\n\nExample of an error that is returned when attempting to create a Spanner\ninstance in a region that is out of stock:\n\n { \"reason\": \"STOCKOUT\"\n \"domain\": \"spanner.googleapis.com\",\n \"metadata\": {\n \"availableRegions\": \"us-central1,us-east2\"\n }\n }","properties":{"domain":{"description":"The logical grouping to which the \"reason\" belongs. The error domain\nis typically the registered service name of the tool or product that\ngenerates the error. Example: \"pubsub.googleapis.com\". If the error is\ngenerated by some common infrastructure, the error domain must be a\nglobally unique value that identifies the infrastructure. For Google API\ninfrastructure, the error domain is \"googleapis.com\".","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"Additional structured details about this error.\n\nKeys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should\nideally be lowerCamelCase. Also, they must be limited to 64 characters in\nlength. When identifying the current value of an exceeded limit, the units\nshould be contained in the key, not the value. For example, rather than\n`{\"instanceLimit\": \"100/request\"}`, should be returned as,\n`{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of\ninstances that can be created in a single (batch) request.","type":"object"},"reason":{"description":"The reason of the error. This is a constant value that identifies the\nproximate cause of the error. Error reasons are unique within a particular\ndomain of errors. This should be at most 63 characters and match a\nregular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents\nUPPER_SNAKE_CASE.","type":"string"}},"title":"ErrorInfo","type":"object"},"FailedEntity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"},"error_code":{"format":"int32","type":"integer"},"error_message":{"type":"string"}},"type":"object"},"FieldSpec":{"description":"FieldSpec represents a field specification.","properties":{"advanced":{"type":"boolean"},"annotated_options":{"items":{"$ref":"#/components/schemas/AnnotatedOption"},"type":"array"},"children":{"items":{"$ref":"#/components/schemas/FieldSpec"},"type":"array"},"default_value":{"type":"string"},"deprecated":{"type":"boolean"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"interpolated":{"items":{"type":"string"},"type":"array"},"kind":{"type":"string"},"name":{"type":"string"},"optional":{"type":"boolean"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"FieldViolation":{"description":"A message type used to describe a single bad request field.","properties":{"description":{"description":"A description of why the request element is bad.","type":"string"},"field":{"description":"A path that leads to a field in the request body. The value will be a\nsequence of dot-separated identifiers that identify a protocol buffer\nfield.\n\nConsider the following:\n\n message CreateContactRequest {\n message EmailAddress {\n enum Type {\n TYPE_UNSPECIFIED = 0;\n HOME = 1;\n WORK = 2;\n }\n\n optional string email = 1;\n repeated EmailType type = 2;\n }\n\n string full_name = 1;\n repeated EmailAddress email_addresses = 2;\n }\n\nIn this example, in proto `field` could take one of the following values:\n\n* `full_name` for a violation in the `full_name` value\n* `email_addresses[1].email` for a violation in the `email` field of the\n first `email_addresses` message\n* `email_addresses[3].type[2]` for a violation in the second `type`\n value in the third `email_addresses` message.\n\nIn JSON, the same values are represented as:\n\n* `fullName` for a violation in the `fullName` value\n* `emailAddresses[1].email` for a violation in the `email` field of the\n first `emailAddresses` message\n* `emailAddresses[3].type[2]` for a violation in the second `type`\n value in the third `emailAddresses` message.","type":"string"},"localized_message":{"$ref":"#/components/schemas/LocalizedMessage"},"reason":{"description":"The reason of the field-level error. This is a constant value that\nidentifies the proximate cause of the field-level error. It should\nuniquely identify the type of the FieldViolation within the scope of the\ngoogle.rpc.ErrorInfo.domain. This should be at most 63\ncharacters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,\nwhich represents UPPER_SNAKE_CASE.","type":"string"}},"type":"object"},"GetConnectClusterResponse":{"properties":{"cluster":{"$ref":"#/components/schemas/ConnectCluster"}},"type":"object"},"GetConnectorConfigResponse":{"properties":{"config":{"additionalProperties":{"type":"string"},"type":"object"}},"type":"object"},"GetConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"GetConnectorStatusResponse":{"properties":{"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"GetKafkaConnectSecretResponse":{"description":"GetKafkaConnectSecretResponse is the response of GetKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"GetMCPServerServiceConfigSchemaResponse":{"properties":{"configuration_yamls":{"description":"The configuration schema for the MCP Server.","items":{"$ref":"#/components/schemas/ConfigurationYAMLSchema"},"type":"array"}},"type":"object"},"GetMountTaskResponse":{"properties":{"task":{"$ref":"#/components/schemas/MountTask"}},"type":"object"},"GetPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"GetPipelineServiceConfigSchemaResponse":{"properties":{"config_schema":{"description":"JSON schema of the configuration components that are allowed for Connect pipelines.","type":"string"}},"type":"object"},"GetPipelinesBySecretsResponse":{"properties":{"pipelines_for_secret":{"items":{"$ref":"#/components/schemas/PipelinesForSecret"},"type":"array"}},"type":"object"},"GetPipelinesForSecretResponse":{"properties":{"pipelines_for_secret":{"$ref":"#/components/schemas/PipelinesForSecret"}},"type":"object"},"GetRoleResponse":{"description":"GetRoleResponse is the response to GetRole.","properties":{"members":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"role":{"$ref":"#/components/schemas/Role"}},"type":"object"},"GetSecretResponse":{"description":"GetSecretResponse is the response of GetSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetTopicConfigurationsResponse":{"properties":{"configurations":{"items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"GetTransformResponse":{"properties":{"transform":{"$ref":"#/components/schemas/TransformMetadata"}},"type":"object"},"Help":{"description":"Provides links to documentation or for performing an out of band action.\n\nFor example, if a quota check failed with an error indicating the calling\nproject hasn't enabled the accessed service, this can contain a URL pointing\ndirectly to the right place in the developer console to flip the bit.","properties":{"links":{"description":"URL(s) pointing to additional information on handling the current error.","items":{"$ref":"#/components/schemas/Link"},"type":"array"}},"title":"Help","type":"object"},"InFlightRequests":{"properties":{"has_more_requests":{"description":"Whether there are more in-flight requests than those in\n`sampled_in_flight_requests`.","type":"boolean"},"sampled_in_flight_requests":{"items":{"$ref":"#/components/schemas/Request"},"title":"A sample (e.g., the 5 latest) of the currently in-flight requests","type":"array"}},"type":"object"},"KafkaConnection":{"properties":{"api_versions":{"additionalProperties":{"format":"int32","type":"integer"},"description":"This map records, for each Kafka API, the highest version number observed\nin requests on this connection. It can be useful for understanding which\nprotocol versions a client supports or has negotiated with the broker.\nOnly APIs that were actually used (i.e. at least one request was seen)\nare included.\n\nExample:\n { 0: 11, 1: 13 }\nmeans that for API key 0 (Produce), version 11 was the highest seen,\nand for API key 1 (Fetch), version 13 was the highest seen.\n\nReference:\n- https://kafka.apache.org/0101/protocol.html#protocol_api_keys\n- https://kafka.apache.org/0101/protocol.html#protocol_compatibility","type":"object"},"authentication_info":{"$ref":"#/components/schemas/AuthenticationInfo"},"client_id":{"description":"Client identifier included in every request sent by the Kafka client.\nThis is typically a configurable property (client.id) set by the\napplication when creating a producer or consumer, and is often used for\nmetrics, quotas, and debugging.","type":"string"},"client_software_name":{"description":"Name of the client library, reported automatically in ApiVersions v3+\nrequests. This is set by the client implementation and is not typically\nconfigurable by applications.","type":"string"},"client_software_version":{"description":"Version of the client library, reported automatically in ApiVersions v3+\nrequests. Like client_software_name, this is set by the\nclient and not usually configurable by applications.","type":"string"},"close_time":{"description":"When the connection was closed. This field is set only when the\nconnection state is \"closed\".","format":"date-time","type":"string"},"group_id":{"description":"Most recent group ID seen in requests sent over this connection. This\ntypically refers to a consumer group, but the Kafka group protocol is\nmore general and may also be used by other types of clients that\ncoordinate membership and assignments through the broker.","type":"string"},"group_instance_id":{"description":"Most recent group instance ID seen in requests sent over this connection.\nThis is used when static membership is enabled, allowing a specific\nclient instance to retain its group membership across restarts.","type":"string"},"group_member_id":{"description":"Most recent group member ID seen in requests sent over this connection.\nThis is the unique identifier assigned by the broker to a particular\nmember of the group.","type":"string"},"idle_duration":{"title":"How long the connection has been idle (no in-flight requests)","type":"string"},"in_flight_requests":{"$ref":"#/components/schemas/InFlightRequests"},"listener_name":{"description":"Name of the Kafka listener that accepted this connection.\nA listener is a named broker endpoint (for example, \"internal\",\n\"external\", or \"sasl_tls\"). Each listener defines its network address and\nenforces its protocol and authentication policy.","type":"string"},"node_id":{"format":"int32","title":"Broker node ID","type":"integer"},"open_time":{"format":"date-time","title":"When the broker accepted the connection","type":"string"},"recent_request_statistics":{"$ref":"#/components/schemas/RequestStatistics"},"shard_id":{"format":"int64","title":"Broker shard that handles the connection","type":"integer"},"source":{"$ref":"#/components/schemas/Source"},"state":{"$ref":"#/components/schemas/KafkaConnectionState"},"tls_info":{"$ref":"#/components/schemas/TLSInfo"},"total_request_statistics":{"$ref":"#/components/schemas/RequestStatistics"},"transactional_id":{"title":"Most recent transactional ID seen in requests sent over this connection","type":"string"},"uid":{"title":"Kafka connection UUID","type":"string"}},"title":"Kafka connection details for a broker","type":"object"},"KafkaConnectionState":{"description":"- KAFKA_CONNECTION_STATE_OPEN: The connection is accepting requests.\n - KAFKA_CONNECTION_STATE_ABORTING: The connection is aborting ongoing requests and about to be closed.\nThis is a transient state between open and closed that should rarely be\nobservable under normal circumstances.\n - KAFKA_CONNECTION_STATE_CLOSED: The connection has been closed.","enum":["KAFKA_CONNECTION_STATE_OPEN","KAFKA_CONNECTION_STATE_ABORTING","KAFKA_CONNECTION_STATE_CLOSED"],"title":"Enums","type":"string"},"Link":{"description":"Describes a URL link.","properties":{"description":{"description":"Describes what the link offers.","type":"string"},"url":{"description":"The URL of the link.","type":"string"}},"type":"object"},"LintHint":{"description":"LintHint is a generic linting hint.","properties":{"column":{"description":"Column number of the lint.","format":"int32","type":"integer"},"hint":{"description":"The hint message.","type":"string"},"line":{"description":"Line number of the lint.","format":"int32","type":"integer"},"lint_type":{"description":"Optional lint type or enum.","type":"string"}},"type":"object"},"LintMCPConfigRequest":{"properties":{"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP tools configuration in YAML format.","type":"object"}},"required":["tools"],"type":"object"},"LintMCPConfigResponse":{"properties":{"lint_hints":{"additionalProperties":{"$ref":"#/components/schemas/LintHint"},"description":"A list of linting issues.","type":"object"}},"type":"object"},"LintPipelineConfigRequest":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format.\nSee the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation\nfor more details.","type":"string"}},"required":["config_yaml"],"type":"object"},"LintPipelineConfigResponse":{"properties":{"lint_hints":{"description":"A list of linting issues.","items":{"$ref":"#/components/schemas/LintHint"},"type":"array"}},"type":"object"},"ListACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListACLsResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/ListACLsResponse.Resource"},"type":"array"}},"type":"object"},"ListACLsResponse.Resource":{"properties":{"acls":{"items":{"$ref":"#/components/schemas/Policy"},"type":"array"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListComponentsResponse":{"properties":{"components":{"$ref":"#/components/schemas/ComponentList"}},"type":"object"},"ListConnectClustersResponse":{"properties":{"clusters":{"items":{"$ref":"#/components/schemas/ConnectCluster"},"type":"array"}},"type":"object"},"ListConnectorTopicsResponse":{"properties":{"topics":{"description":"Topic names.","items":{"type":"string"},"type":"array"}},"type":"object"},"ListConnectorsResponse":{"properties":{"connectors":{"description":"List of connectors, where the parent key is the connector name.","items":{"$ref":"#/components/schemas/ConnectorInfoStatus"},"type":"array"},"next_page_token":{"description":"Page Token to fetch the next page. The value can be used as page_token in the next call to this endpoint.","type":"string"}},"type":"object"},"ListKafkaConnectSecretsResponse":{"description":"ListKafkaConnectSecretsResponse is the response of ListKafkaConnectSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListKafkaConnectionsResponse":{"description":"ListKafkaConnectionsResponse is the response from the ListKafkaConnections\nRPC.","properties":{"connections":{"description":"The list of connections matching the request.\nNote that in addition to open connections, some recently-closed\nconnections may also be included here. If you don't want to include\nclosed connections, set the filter in the request to `state =\nKAFKA_CONNECTION_STATE_OPEN`.","items":{"$ref":"#/components/schemas/KafkaConnection"},"type":"array"},"total_size":{"format":"uint64","title":"Total number of connections matching the request.\nThis may be greater than `len(connections)` if some connections were\nomitted from the response due to the specified (or default) `page_size`.\nExample:\n request.page_size = 10\n response.connections = [\u003c10 items\u003e]\n response.total_size = 13","type":"string"}},"type":"object"},"ListMCPServersRequest.Filter":{"properties":{"display_name_contains":{"description":"Any MCP Server that partially match this name will be returned.","type":"string"},"secret_id":{"description":"Match MCP servers that use this secret ID.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"MCP servers that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListMCPServersResponse":{"properties":{"mcp_servers":{"items":{"$ref":"#/components/schemas/MCPServer"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListMountTasksResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/MountTask"},"type":"array"}},"type":"object"},"ListMountableTopicsResponse":{"properties":{"topics":{"items":{"$ref":"#/components/schemas/TopicLocation"},"type":"array"}},"type":"object"},"ListPipelinesRequest.Filter":{"properties":{"name_contains":{"description":"Any pipelines that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"Pipelines that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListPipelinesResponse":{"properties":{"next_page_token":{"type":"string"},"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"}},"type":"object"},"ListQuotasRequest.Filter":{"properties":{"entity_name":{"description":"Filter by entity name. If unspecified will return all entities for specified entity type.","type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"},"match_default":{"description":"If true, the entity_name will match the default entity (e.g., default client-id).","type":"boolean"}},"type":"object"},"ListQuotasResponse":{"properties":{"page_token":{"description":"Token to retrieve the next page of results. If empty, there are no more results.","type":"string"},"quotas":{"items":{"$ref":"#/components/schemas/QuotaEntry"},"type":"array"}},"type":"object"},"ListResourcesRequest.Filter":{"properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"ListResourcesResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/ListResourcesResponse.Resource"},"type":"array"}},"type":"object"},"ListResourcesResponse.Resource":{"properties":{"display_name":{"type":"string"},"id":{"type":"string"},"type":{"$ref":"#/components/schemas/ListResourcesResponse.Type"}},"type":"object"},"ListResourcesResponse.Type":{"enum":["TYPE_PIPELINE","TYPE_CLUSTER","TYPE_MCP_SERVER","TYPE_AI_AGENT"],"type":"string"},"ListRoleMembersRequest.Filter":{"description":"Filter options.","properties":{"name_contains":{"description":"Filter results to only members with names which contain the string.","type":"string"}},"type":"object"},"ListRoleMembersResponse":{"description":"ListRoleMembersResponse is the response for ListRoleMembers.","properties":{"members":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"role_name":{"description":"The role name.","type":"string"}},"type":"object"},"ListRolesRequest.Filter":{"description":"Filter options.","properties":{"name_contains":{"description":"Filter results to only roles with names which contain the string.","type":"string"},"name_prefix":{"description":"Filter results only roles named with the prefix.","type":"string"},"principal":{"description":"Return only roles assigned to this principal.","type":"string"}},"type":"object"},"ListRolesResponse":{"description":"ListRolesResponse is the response for ListRoles.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"roles":{"description":"The roles in the system.","items":{"$ref":"#/components/schemas/Role"},"type":"array"}},"type":"object"},"ListSecretScopesResponse":{"description":"ListSecretScopesResponse is the response of ListSecretScopes.","properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"}},"type":"object"},"ListSecretsFilter":{"description":"ListSecretsFilter are the filter options for listing secrets.","properties":{"labels[string][string]":{"additionalProperties":{"type":"string"},"description":"The secret labels to search for.","type":"object"},"name_contains":{"description":"Substring match on secret name. Case-sensitive.","type":"string"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes to search for","type":"array"}},"type":"object"},"ListSecretsResponse":{"description":"ListSecretsResponse is the response of ListSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListTopicsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListTopicsResponse":{"properties":{"next_page_token":{"type":"string"},"topics":{"items":{"$ref":"#/components/schemas/ListTopicsResponse.Topic"},"type":"array"}},"type":"object"},"ListTopicsResponse.Topic":{"properties":{"internal":{"description":"Whether topic is internal only.","type":"boolean"},"name":{"description":"Topic name.","type":"string"},"partition_count":{"description":"Topic partition count.","format":"int32","type":"integer"},"replication_factor":{"description":"Topic replication factor.","format":"int32","type":"integer"}},"type":"object"},"ListTransformsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on transform name. Case-sensitive.","type":"string"}},"type":"object"},"ListTransformsResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"transforms":{"items":{"$ref":"#/components/schemas/TransformMetadata"},"type":"array"}},"type":"object"},"ListUsersRequest.Filter":{"properties":{"name":{"description":"Username.","type":"string"},"name_contains":{"description":"Substring match on username. Case-sensitive.","type":"string"}},"type":"object"},"ListUsersResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"users":{"items":{"$ref":"#/components/schemas/ListUsersResponse.User"},"type":"array"}},"type":"object"},"ListUsersResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"}},"type":"object"},"LocalizedMessage":{"description":"Provides a localized error message that is safe to return to the user\nwhich can be attached to an RPC error.","properties":{"locale":{"title":"The locale used following the specification defined at\nhttps://www.rfc-editor.org/rfc/bcp/bcp47.txt.\nExamples are: \"en-US\", \"fr-CH\", \"es-MX\"","type":"string"},"message":{"description":"The localized error message in the above locale.","type":"string"}},"type":"object"},"MCPServer":{"description":"Defines the MCP server resource.","properties":{"description":{"description":"Optional MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"id":{"description":"MCP Server ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"state":{"$ref":"#/components/schemas/MCPServer.State"},"status":{"$ref":"#/components/schemas/MCPServer.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a MCP server resource.\nThey help organize MCP servers and enable filtering when listing them.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"},"url":{"readOnly":true,"title":"URL to connect to the MCP server","type":"string"}},"required":["id","display_name","tools","service_account"],"type":"object"},"MCPServer.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"required":["client_id","client_secret"],"type":"object"},"MCPServer.State":{"description":"State of the MCP server.\n\n - STATE_STARTING: The MCP server is starting.\n - STATE_RUNNING: The MCP server is running.\n - STATE_STOPPING: The MCP server is in the process of stopping.\n - STATE_STOPPED: The MCP server is stopped and in paused state.\n - STATE_ERROR: The MCP server encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"MCPServer.Status":{"description":"MCP server status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"MCPServerCreate":{"description":"MCPServerCreate contains the details for the MCP Server creation request.","properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a MCP server.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"required":["display_name","tools","service_account"],"type":"object"},"MCPServerUpdate":{"properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP servers name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"type":"object"},"MatchingACL":{"properties":{"error":{"$ref":"#/components/schemas/rpc.Status"},"host":{"description":"The host address to use for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"MountTask":{"properties":{"id":{"description":"Unique identifier for this mount task.","format":"int32","type":"integer"},"state":{"$ref":"#/components/schemas/MountTask.State"},"topics":{"description":"List of topics that are being mounted or unmounted.","items":{"$ref":"#/components/schemas/MountTask.Topic"},"type":"array"},"type":{"$ref":"#/components/schemas/MountTask.Type"}},"type":"object"},"MountTask.State":{"description":" - STATE_PLANNED: Planned: The mount task has been created and is awaiting further actions.\n - STATE_PREPARING: Preparing: The mount task is gathering resources and preparing for execution.\n - STATE_PREPARED: Prepared: All preparations are complete, and the mount task is ready to be executed.\n - STATE_EXECUTING: Executing: The mount task is actively transferring or transforming data.\n - STATE_EXECUTED: Executed: The core mount task actions are complete, but the mount task has not yet cut over or finalized.\n - STATE_CUT_OVER: Cut Over: The mount task has reached a critical point where ownership is transferred or final adjustments are made.\n - STATE_FINISHED: Finished: The mount task has been successfully completed, and no further actions are required.\n - STATE_CANCELING: Canceling: The mount task is in the process of being canceled, and rollback or cleanup actions may be in progress.\n - STATE_CANCELLED: Cancelled: The mount task has been fully canceled, and no further actions will be taken.","enum":["STATE_PLANNED","STATE_PREPARING","STATE_PREPARED","STATE_EXECUTING","STATE_EXECUTED","STATE_CUT_OVER","STATE_FINISHED","STATE_CANCELING","STATE_CANCELLED"],"type":"string"},"MountTask.Topic":{"properties":{"source_topic_reference":{"description":"The topic reference in the object storage bucket.\nThis field is only set for tasks of type MOUNT.","type":"string"},"topic_reference":{"description":"The topic reference within the current cluster, which may be either a simple topic name or a full reference\nin the form: cluster-uuid/topic-name/revision.","type":"string"}},"type":"object"},"MountTask.Type":{"description":" - TYPE_MOUNT: Mount represents the process of making topics available in a cluster by loading them from object storage.\n - TYPE_UNMOUNT: Unmount represents the process of offloading topics back to object storage.","enum":["TYPE_MOUNT","TYPE_UNMOUNT"],"type":"string"},"MountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of mount","type":"integer"}},"type":"object"},"Options":{"properties":{"include_tasks":{"description":"Restart connector's tasks.","type":"boolean"},"only_failed":{"description":"Restart only connectors that have failed.","type":"boolean"}},"type":"object"},"ParamDefinition":{"description":"ParamDefinition represents a parameter definition.","properties":{"default_value":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}},"type":"object"},"ParamSpec":{"description":"ParamSpec represents parameter specifications.","properties":{"definitions":{"items":{"$ref":"#/components/schemas/ParamDefinition"},"type":"array"}},"type":"object"},"PartitionStatus":{"enum":["PARTITION_STATUS_RUNNING","PARTITION_STATUS_INACTIVE","PARTITION_STATUS_ERRORED","PARTITION_STATUS_UNKNOWN"],"type":"string"},"PartitionTransformStatus":{"properties":{"broker_id":{"format":"int32","type":"integer"},"lag":{"format":"int32","type":"integer"},"partition_id":{"format":"int32","type":"integer"},"status":{"$ref":"#/components/schemas/PartitionStatus"}},"type":"object"},"PermissionType":{"description":"Whether the operation should be allowed or denied.","enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"},"Pipeline":{"description":"Defines the pipeline resource.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","title":"The pipeline configuration in YAML.\nSee https://docs.redpanda.com/redpanda-connect/configuration/about/","type":"string"},"description":{"description":"Optional pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"id":{"description":"Pipeline ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"state":{"$ref":"#/components/schemas/Pipeline.State"},"status":{"$ref":"#/components/schemas/Pipeline.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a pipeline resource.\nThey help organize pipelines and enable filtering when listing them.","type":"object"},"url":{"description":"URL to connect to the pipeline, for example, via http_server.\nMay be empty if no http_server is used.","type":"string"}},"required":["id","display_name","config_yaml"],"type":"object"},"Pipeline.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"type":"object"},"Pipeline.State":{"description":"State of the pipeline.\n\n - STATE_STARTING: The pipeline is starting.\n - STATE_RUNNING: The pipeline is running.\n - STATE_STOPPING: The pipeline is in the process of stopping.\n - STATE_STOPPED: The pipeline is stopped and in paused state.\n - STATE_ERROR: The pipeline encountered an error. See [Error Handling](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/error_handling/) for further guidance.\n - STATE_COMPLETED: The pipeline has completed the job successfully.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR","STATE_COMPLETED"],"type":"string"},"Pipeline.Status":{"description":"Pipeline status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"PipelineCreate":{"description":"PipelineCreate contains the details for the pipeline creation request.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"PipelineUpdate":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"PipelinesForSecret":{"properties":{"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"Policy":{"properties":{"host":{"description":"The host address for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"}},"type":"object"},"Quota.Value":{"properties":{"value":{"format":"double","type":"number"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"QuotaDeletion":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value_types":{"items":{"$ref":"#/components/schemas/ValueType"},"title":"Value that should be deleted for the specified entity","type":"array"}},"type":"object"},"QuotaEntry":{"description":"QuotaEntry represents the quota for a specific entity type.","properties":{"entity":{"$ref":"#/components/schemas/Entity"},"values":{"items":{"$ref":"#/components/schemas/Quota.Value"},"type":"array"}},"type":"object"},"QuotaFailure":{"description":"Describes how a quota check failed.\n\nFor example if a daily limit was exceeded for the calling project,\na service could respond with a QuotaFailure detail containing the project\nid and the description of the quota limit that was exceeded. If the\ncalling project hasn't enabled the service in the developer console, then\na service could respond with the project id and set `service_disabled`\nto true.\n\nAlso see RetryInfo and Help types for other details about handling a\nquota failure.","properties":{"violations":{"description":"Describes all quota violations.","items":{"$ref":"#/components/schemas/QuotaFailure.Violation"},"type":"array"}},"title":"QuotaFailure","type":"object"},"QuotaFailure.Violation":{"description":"A message type used to describe a single quota violation. For example, a\ndaily quota or a custom quota that was exceeded.","properties":{"api_service":{"description":"The API Service from which the `QuotaFailure.Violation` orginates. In\nsome cases, Quota issues originate from an API Service other than the one\nthat was called. In other words, a dependency of the called API Service\ncould be the cause of the `QuotaFailure`, and this field would have the\ndependency API service name.\n\nFor example, if the called API is Kubernetes Engine API\n(container.googleapis.com), and a quota violation occurs in the\nKubernetes Engine API itself, this field would be\n\"container.googleapis.com\". On the other hand, if the quota violation\noccurs when the Kubernetes Engine API creates VMs in the Compute Engine\nAPI (compute.googleapis.com), this field would be\n\"compute.googleapis.com\".","type":"string"},"description":{"description":"A description of how the quota check failed. Clients can use this\ndescription to find more about the quota configuration in the service's\npublic documentation, or find the relevant quota limit to adjust through\ndeveloper console.\n\nFor example: \"Service disabled\" or \"Daily Limit for read operations\nexceeded\".","type":"string"},"future_quota_value":{"description":"The new quota value being rolled out at the time of the violation. At the\ncompletion of the rollout, this value will be enforced in place of\nquota_value. If no rollout is in progress at the time of the violation,\nthis field is not set.\n\nFor example, if at the time of the violation a rollout is in progress\nchanging the number of CPUs quota from 10 to 20, 20 would be the value of\nthis field.","format":"int64","nullable":true,"type":"string"},"quota_dimensions":{"additionalProperties":{"type":"string"},"description":"The dimensions of the violated quota. Every non-global quota is enforced\non a set of dimensions. While quota metric defines what to count, the\ndimensions specify for what aspects the counter should be increased.\n\nFor example, the quota \"CPUs per region per VM family\" enforces a limit\non the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions\n\"region\" and \"vm_family\". And if the violation occurred in region\n\"us-central1\" and for VM family \"n1\", the quota_dimensions would be,\n\n{\n \"region\": \"us-central1\",\n \"vm_family\": \"n1\",\n}\n\nWhen a quota is enforced globally, the quota_dimensions would always be\nempty.","type":"object"},"quota_id":{"description":"The id of the violated quota. Also know as \"limit name\", this is the\nunique identifier of a quota in the context of an API service.\n\nFor example, \"CPUS-PER-VM-FAMILY-per-project-region\".","type":"string"},"quota_metric":{"description":"The metric of the violated quota. A quota metric is a named counter to\nmeasure usage, such as API requests or CPUs. When an activity occurs in a\nservice, such as Virtual Machine allocation, one or more quota metrics\nmay be affected.\n\nFor example, \"compute.googleapis.com/cpus_per_vm_family\",\n\"storage.googleapis.com/internet_egress_bandwidth\".","type":"string"},"quota_value":{"description":"The enforced quota value at the time of the `QuotaFailure`.\n\nFor example, if the enforced quota value at the time of the\n`QuotaFailure` on the number of CPUs is \"10\", then the value of this\nfield would reflect this quantity.","format":"int64","type":"string"},"subject":{"description":"The subject on which the quota check failed.\nFor example, \"clientip:\u003cip address of client\u003e\" or \"project:\u003cGoogle\ndeveloper project id\u003e\".","type":"string"}},"type":"object"},"QuotaSetting":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"values":{"items":{"$ref":"#/components/schemas/RequestQuotaValue"},"type":"array"}},"type":"object"},"ReplicaAssignment":{"properties":{"partition_id":{"description":"A partition to create.","format":"int32","type":"integer"},"replica_ids":{"description":"The broker IDs the partition replicas are assigned to.","items":{"format":"int32","type":"integer"},"type":"array"}},"type":"object"},"Request":{"properties":{"api_key":{"format":"int32","title":"API key for the request type (e.g., produce/fetch/metadata/etc)\nhttps://kafka.apache.org/0101/protocol.html#protocol_api_keys","type":"integer"},"in_flight_duration":{"title":"How long the request has been in-flight since it was received","type":"string"}},"type":"object"},"RequestQuotaEntity":{"properties":{"entity_name":{"description":"Entity name is the name of the entity type specified.\nIf left empty, the entity will be treated as a default entity (e.g., all clients).\nIf entity_type is ENTITY_TYPE_CLIENT_ID_PREFIX, this field must be set.","type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"RequestQuotaValue":{"properties":{"value":{"format":"double","type":"number"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"RequestStatistics":{"properties":{"fetch_bytes":{"description":"Sum of bytes fetched.","format":"uint64","type":"string"},"produce_batch_count":{"format":"uint64","title":"Number of produced batches.\nAverage batch size = produce_bytes / produce_batch_count","type":"string"},"produce_bytes":{"description":"Sum of bytes produced.","format":"uint64","type":"string"},"request_count":{"description":"Number of requests the client has made.","format":"uint64","type":"string"}},"type":"object"},"ResourcePatternType":{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"},"ResourceType":{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"Role":{"description":"Role defines a role in the system.","properties":{"name":{"description":"The name of the role.","type":"string"}},"type":"object"},"RoleMembership":{"description":"RoleMembership is the role membership.","properties":{"principal":{"description":"The name of the principal assigned to the role.","type":"string"}},"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"Scope":{"description":"Defines the scope of a secret.","enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"Secret":{"description":"Defines the secret resource.","properties":{"id":{"description":"Secret identifier.","readOnly":true,"type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"}},"type":"object"},"SetConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"SetPartitionsToTopicsRequest":{"properties":{"partition_count":{"description":"The number of partitions to set for the topics.","format":"int32","type":"integer"},"topic_names":{"description":"The topic names.","items":{"type":"string"},"type":"array"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"SetPartitionsToTopicsResponse":{"properties":{"statuses":{"description":"The status of the operation for each topic.","items":{"$ref":"#/components/schemas/AlterTopicPartitionStatus"},"type":"array"}},"type":"object"},"SetQuotaRequest":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value":{"$ref":"#/components/schemas/RequestQuotaValue"}},"type":"object"},"SetQuotaResponse":{"type":"object"},"SetTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after this update.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"SetTopicPartitionsBody":{"properties":{"partition_count":{"description":"The number of partitions to set for the topic.","format":"int32","type":"integer"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"SetTopicPartitionsResponse":{"type":"object"},"Source":{"properties":{"ip_address":{"type":"string"},"port":{"format":"int64","type":"integer"}},"type":"object"},"StartMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"StartPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"StopMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"StopPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"SuccessfulEntity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"TLSInfo":{"properties":{"enabled":{"title":"Whether TLS is in use","type":"boolean"}},"type":"object"},"TaskInfo":{"properties":{"connector":{"description":"Name of connector.","type":"string"},"task":{"description":"The connector task ID.","format":"int32","type":"integer"}},"type":"object"},"TaskStatus":{"properties":{"id":{"description":"The connector task ID.","format":"int32","type":"integer"},"state":{"description":"State of connector task.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the task is assigned to.","type":"string"}},"type":"object"},"Tool":{"description":"A configuration tool for the MCP server.","properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_yaml":{"description":"The contents of the configuration tool in YAML format.","type":"string"}},"required":["config_yaml"],"type":"object"},"TopicLocation":{"properties":{"topic_location":{"description":"Full reference for the unmounted topic in this format: `topic-name/cluster-uuid/revision`.\nUse this as unique identifier for mounting a topic if there are multiple topics available\nwith the same name.","type":"string"},"topic_name":{"description":"Topic name.","type":"string"}},"type":"object"},"TopicMount":{"description":"TopicMount defines the migration of a topic from the cloud storage into this cluster,\nso that it becomes available via the Kafka API.","properties":{"alias":{"description":"Alias may be provided to mount the topic under a different name. Leave\nblank to re-use the source topic name. The alias does not persist if you\nunmount the topic again.","type":"string"},"source_topic_reference":{"description":"The topic name or full reference of the topic to mount. The full reference\nmust be used in case the same topic exists more than once. This may be the case if\nthe same topic has been unmounted multiple times. List all mountable topics to\nfind the full reference (contains topic name, cluster uuid and revision).","type":"string"}},"required":["source_topic_reference"],"type":"object"},"TransformMetadata":{"properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"Input topic to apply the transform to.","type":"string"},"name":{"description":"Name of transform.","type":"string"},"output_topic_names":{"description":"Output topics to write the transform results to.","items":{"type":"string"},"type":"array"},"statuses":{"items":{"$ref":"#/components/schemas/PartitionTransformStatus"},"type":"array"}},"type":"object"},"UnmountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of unmount","type":"integer"}},"type":"object"},"UpdateConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"operation":{"$ref":"#/components/schemas/ConfigAlterOperation"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"UpdateKafkaConnectSecretBody":{"description":"UpdateKafkaConnectSecretRequest is the request of UpdateKafkaConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateKafkaConnectSecretResponse":{"description":"UpdateKafkaConnectSecretResponse is the response of UpdateKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"UpdateMountTaskBody":{"properties":{"action":{"$ref":"#/components/schemas/Action"}},"required":["action"],"type":"object"},"UpdateMountTaskResponse":{"type":"object"},"UpdatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"UpdateRoleMembershipBody":{"description":"UpdateRoleMembershipRequest is the request to UpdateRoleMembership.","properties":{"add":{"description":"Members to assign to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"create":{"description":"Create the role if it doesn't already exist.\nIf the role is created in this way, the “add” list will be respected, but the “remove” list will be ignored.","type":"boolean"},"remove":{"description":"Members to remove from the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"}},"type":"object"},"UpdateRoleMembershipResponse":{"description":"UpdateRoleMembershipResponse is the response for UpdateRoleMembership.","properties":{"added":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"removed":{"description":"Members removed from the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"role_name":{"description":"The role name.","type":"string"}},"type":"object"},"UpdateSecretBody":{"description":"UpdateSecretRequest is the request of UpdateSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"type":"object"},"UpdateSecretResponse":{"description":"UpdateSecretResponse is the response of UpdateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after applying this partial patch.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"UpdateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"UpdateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/UpdateUserResponse.User"}},"type":"object"},"UpdateUserResponse.User":{"description":"Updated user's name and SASL mechanism.","properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"type":"string"}},"type":"object"},"UpsertConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"ValueType":{"description":"The type of value that the quota represents.\n\n - VALUE_TYPE_PRODUCER_BYTE_RATE: The rate at which producers can send data.\n - VALUE_TYPE_CONSUMER_BYTE_RATE: The rate at which consumers can fetch data.\n - VALUE_TYPE_CONTROLLER_MUTATION_RATE: The rate at which topic mutation requests can be made.\n - VALUE_TYPE_REQUEST_PERCENTAGE: The percentage of the total throughput that can be used by the entity.\n\nNot supported in Redpanda","enum":["VALUE_TYPE_PRODUCER_BYTE_RATE","VALUE_TYPE_CONSUMER_BYTE_RATE","VALUE_TYPE_CONTROLLER_MUTATION_RATE","VALUE_TYPE_REQUEST_PERCENTAGE"],"type":"string"},"rpc.Status":{"description":"The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).","properties":{"code":{"description":"RPC status code, as described [here](https://github.com/googleapis/googleapis/blob/b4c238feaa1097c53798ed77035bbfeb7fc72e96/google/rpc/code.proto#L32).","enum":["OK","CANCELLED","UNKNOWN","INVALID_ARGUMENT","DEADLINE_EXCEEDED","NOT_FOUND","ALREADY_EXISTS","PERMISSION_DENIED","UNAUTHENTICATED","RESOURCE_EXHAUSTED","FAILED_PRECONDITION","ABORTED","OUT_OF_RANGE","UNIMPLEMENTED","INTERNAL","UNAVAILABLE","DATA_LOSS"],"format":"int32","type":"string"},"details":{"items":{"description":"Details of the error.","oneOf":[{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.BadRequest"],"type":"string"}}},{"$ref":"#/components/schemas/BadRequest"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.ErrorInfo"],"type":"string"}}},{"$ref":"#/components/schemas/ErrorInfo"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.QuotaFailure"],"type":"string"}}},{"$ref":"#/components/schemas/QuotaFailure"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.Help"],"type":"string"}}},{"$ref":"#/components/schemas/Help"}]}]},"type":"array"},"message":{"description":"Detailed error message. No compatibility guarantees are given for the text contained in this message.","type":"string"}},"type":"object"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1"},"openapi":"3.0.3","paths":{"/v1/acls":{"delete":{"description":"Delete all ACLs that match the filter criteria. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_DeleteACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","required":true,"schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","required":true,"schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","required":true,"schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","required":true,"schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete ACLs","tags":["Redpanda ACLs"]},"get":{"description":"List all ACLs. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_ListACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List ACLs","tags":["Redpanda ACLs"]},"post":{"description":"Create a new ACL.","operationId":"ACLService_CreateACL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLResponse"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create ACL","tags":["Redpanda ACLs"]}},"/v1/cloud-storage/mount-tasks":{"get":{"description":"This operation retrieves the status of a task responsible for mounting or unmounting topics. It provides details on the task’s type (mount or unmount), its current state, and the topics involved.","operationId":"CloudStorageService_ListMountTasks","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountTasksResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the mount task status","tags":["Cloud Storage"]}},"/v1/cloud-storage/mount-tasks/{id}":{"delete":{"description":"Delete a mount or unmount by ID.","operationId":"CloudStorageService_DeleteMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to delete.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a mount or unmount","tags":["Cloud Storage"]},"get":{"description":"Retrieves the status of a mount or unmount by ID. The response provides details on the operation type (mount or unmount), its current state, and the topics involved. Use the ID returned when you start the mount or unmount, or use the ListMountTasks endpoint to retrieve a list of IDs.","operationId":"CloudStorageService_GetMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to retrieve.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get the status of a mount or unmount by ID","tags":["Cloud Storage"]},"post":{"description":"This operation allows performing an action on an ongoing mount task.","operationId":"CloudStorageService_UpdateMountTask","parameters":[{"description":"ID is the unique identifier of the mount or unmount to update.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a mount or unmount","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/mount":{"post":{"description":"Attach mountable topics from object storage to a cluster, making them available for consumption and production again. Mounting a topic reloads its data and state to the local brokers, allowing active use of the topic.","operationId":"CloudStorageService_MountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TopicMount"},"required":["topics"],"type":"array"}}},"required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Mount topics from object storage","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/mountable":{"get":{"description":"Retrieve all topics that are currently unmounted and available to be mounted to the cluster. These topics reside in object storage and can be mounted for consumption or production within the cluster.","operationId":"CloudStorageService_ListMountableTopics","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountableTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List mountable topics","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/unmount":{"post":{"description":"Unmount topics to object storage, freeing up all local cluster resources. Once you unmount a topic, it can no longer be consumed or produced to. It detaches from the active cluster while its data remains safely stored in the external object storage.","operationId":"CloudStorageService_UnmountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"required":["topics"],"type":"array"}}},"description":"List of topics to unmount.","required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnmountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Unmount topics to object storage","tags":["Cloud Storage"]}},"/v1/kafka-connect/clusters":{"get":{"description":"List Connect clusters available in Console.","operationId":"KafkaConnectService_ListConnectClusters","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectClustersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect clusters","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}":{"get":{"description":"Get information about an available Kafka Connect cluster.","operationId":"KafkaConnectService_GetConnectCluster","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCluster"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Connect cluster not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect cluster","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors":{"get":{"description":"List connectors managed by the Kafka Connect service.","operationId":"KafkaConnectService_ListConnectors","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connectors","tags":["Kafka Connect"]},"post":{"description":"Create a connector with the specified configuration.","operationId":"KafkaConnectService_CreateConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"required":true,"x-originalParamName":"connector"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}":{"delete":{"description":"Delete a connector. This operation force stops all tasks and also deletes the connector configuration.","operationId":"KafkaConnectService_DeleteConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete connector","tags":["Kafka Connect"]},"get":{"description":"Get information about a connector in a specific cluster.","operationId":"KafkaConnectService_GetConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/config":{"get":{"description":"Get the configuration for the connector.","operationId":"KafkaConnectService_GetConnectorConfig","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector configuration","tags":["Kafka Connect"]},"put":{"description":"Update the configuration for an existing connector with the specified name, or create a new connector using the given configuration. Returns information about the connector after the change has been made.","operationId":"KafkaConnectService_UpsertConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector. If a connector with this name does not already exist, a new connector is created.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"required":["config"],"type":"object"}}},"description":"Connector configuration property.","required":true,"x-originalParamName":"config"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Updated"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Upsert connector configuration","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/pause":{"put":{"description":"Pause the connector and its tasks, which stops messages from processing until the connector is resumed. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_PauseConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Pause request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Pause connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/restart":{"post":{"description":"Triggers a connector restart. You must specify whether or not tasks are also restarted, and whether only failed connectors are restarted.","operationId":"KafkaConnectService_RestartConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Options"}}},"required":true,"x-originalParamName":"options"},"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Restart connector request success"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Restart connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/resume":{"put":{"description":"Resume a paused connector and its tasks, and resumes message processing. This call is asynchronous and may take some time to process. If the connector was not paused, this operation does not do anything.","operationId":"KafkaConnectService_ResumeConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Resume request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Resume connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/status":{"get":{"description":"Gets the current status of the connector, including the state for each of its tasks, error information, etc.","operationId":"KafkaConnectService_GetConnectorStatus","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorStatus"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector status","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/stop":{"put":{"description":"Stops a connector, but does not delete it. All tasks for the connector are shut down completely. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_StopConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics":{"get":{"description":"Returns a list of connector topic names. If the connector is inactive, this call returns an empty list.","operationId":"KafkaConnectService_ListConnectorTopics","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connector topics","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics/reset":{"put":{"description":"Resets the set of topic names that the connector is using.","operationId":"KafkaConnectService_ResetConnectorTopics","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector using the topics to be reset.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Reset connector topics","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/secrets":{"get":{"description":"List Kafka Connect cluster secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListKafkaConnectSecrets","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string][string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect cluster secrets","tags":["Secrets"]},"post":{"description":"Create a Kafka Connect cluster secret.","operationId":"SecretService_CreateKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKafkaConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetKafkaConnectSecretResponse"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Connect cluster secret","tags":["Secrets"]}},"/v1/kafka-connect/clusters/{cluster_name}/secrets/{id}":{"delete":{"description":"Delete a Kafka Connect cluster secret.","operationId":"SecretService_DeleteKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Connect cluster secret","tags":["Secrets"]},"get":{"description":"Get a specific Kafka Connect cluster secret.","operationId":"SecretService_GetKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"The ID of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetKafkaConnectSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect cluster secret","tags":["Secrets"]},"put":{"description":"Update a Kafka Connect cluster secret.","operationId":"SecretService_UpdateKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to update.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKafkaConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKafkaConnectSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Connect cluster secret","tags":["Secrets"]}},"/v1/monitoring/kafka/connections":{"get":{"description":"List information on recent connections to the cluster.","operationId":"MonitoringService_ListKafkaConnections","parameters":[{"description":"The maximum number of connections to return. If unspecified or 0, a\ndefault value may be applied. Note that paging is currently not fully\nsupported, and this field only acts as a limit for the first page of data\nreturned. Subsequent pages of data cannot be requested.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Filter expression to apply to the connection list.\nUses a subset of AIP-160 filter syntax supporting:\n- Field comparisons (`=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, `\u003e=`)\n- Logical AND chaining: condition1 AND condition2\n- Nested field access: parent.child = value\n- Escape sequences: field = \"string with \\\"quotes\\\"\"\n- Enum types\n- RFC3339 timestamps and ISO-like duration\n\nLimitations (not supported):\n- Logical OR chaining\n- Parentheses `(` `)` for grouping\n- Map and repeated types\n- HAS (:) operator\n- Negation (-, NOT)\n- Bare literal matching\n\nExample filters:\n- `state = KAFKA_CONNECTION_STATE_OPEN`\n- `idle_duration \u003e 30s AND total_request_statistics.request_count \u003e 100`\n- `authentication_info.user_principal = \"my-producer\"`\n- `recent_request_statistics.produce_bytes \u003e 1000 AND\nclient_software_name = \"kgo\"`\n- `open_time \u003e= 2025-09-01T10:22:54Z`\n\nReference: https://google.aip.dev/160","in":"query","name":"filter","schema":{"type":"string"}},{"description":"Field-based ordering specification following AIP-132 syntax.\nSupports multiple fields with `asc`/`desc` direction indicators.\nExamples:\n- `idle_duration desc` - longest idle connections first\n- `open_time desc, total_request_statistics.request_count desc` - newest\nconnections first, then most active\n- `recent_request_statistics.produce_bytes desc` - connections with\nhighest current produce throughput first\n\nReference: https://google.aip.dev/132#ordering","in":"query","name":"order_by","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListKafkaConnectionsResponse"}}},"description":"Recent connections"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Recent Connections","tags":["Monitoring"]}},"/v1/quotas":{"get":{"description":"List client quotas. Use filter parameters to narrow results by entity type and filter criteria.","operationId":"QuotaService_ListQuotas","parameters":[{"description":"The type of entity to filter by. If unspecified, all entities will be returned.\n\n - ENTITY_TYPE_USER: Not supported in Redpanda\n - ENTITY_TYPE_IP: Not supported in Redpanda","in":"query","name":"filter.entity_type","schema":{"enum":["ENTITY_TYPE_CLIENT_ID","ENTITY_TYPE_CLIENT_ID_PREFIX","ENTITY_TYPE_USER","ENTITY_TYPE_IP"],"type":"string"}},{"description":"Filter by entity name. If unspecified will return all entities for specified entity type.","in":"query","name":"filter.entity_name","schema":{"type":"string"}},{"description":"If true, the entity_name will match the default entity (e.g., default client-id).","in":"query","name":"filter.match_default","schema":{"type":"boolean"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListQuotasResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List quotas","tags":["Quotas"]},"post":{"description":"Create or update client throughput quotas for a single entity. This operation is an upsert.","operationId":"QuotaService_SetQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetQuotaResponse"}}},"description":"Quota Set"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set a quota","tags":["Quotas"]}},"/v1/quotas:batchDelete":{"post":{"description":"Delete client quotas for multiple entities and values in a single request.","operationId":"QuotaService_BatchDeleteQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteQuotaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete multiple quotas","tags":["Quotas"]}},"/v1/quotas:batchSet":{"post":{"description":"Create or update client throughput quotas for multiple entities in a single request.","operationId":"QuotaService_BatchSetQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSetQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSetQuotaResponse"}}},"description":"Quotas Set"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set multiple quotas","tags":["Quotas"]}},"/v1/quotas:delete":{"post":{"description":"Delete client quotas for single entity and value.","operationId":"QuotaService_DeleteQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteQuotaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a quota","tags":["Quotas"]}},"/v1/redpanda-connect/components":{"get":{"description":"Returns a JSON list of available [components](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about), filtered by component type.","operationId":"PipelineService_ListComponents","parameters":[{"in":"query","name":"read_mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListComponentsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the list of available components","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/config-schema":{"get":{"description":"The configuration schema includes available [components and processors](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about) in this Redpanda Connect instance.","operationId":"PipelineService_GetPipelineServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelineServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect pipeline configurations","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/mcp-servers":{"get":{"description":"List Redpanda Connect MCP Servers. Optional: filter based on MCP server name.","operationId":"MCPServerService_ListMCPServers","parameters":[{"description":"Any MCP Server that partially match this name will be returned.","in":"query","name":"filter.display_name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"description":"Match MCP servers that use this secret ID.","in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMCPServersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect MCP Servers","tags":["Redpanda Connect MCP servers"]},"post":{"description":"Create a new Redpanda Connect MCP Server.","operationId":"MCPServerService_CreateMCPServer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerCreate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}":{"delete":{"description":"Delete a Redpanda Connect MCP server.","operationId":"MCPServerService_DeleteMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"get":{"description":"Get a specific Redpanda Connect MCP server.","operationId":"MCPServerService_GetMCPServer","parameters":[{"description":"MCP server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"put":{"description":"Update the configuration of a Redpanda Connect MCP server.","operationId":"MCPServerService_UpdateMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerUpdate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}:start":{"post":{"description":"Start a stopped Redpanda Connect MCP server.","operationId":"MCPServerService_StartMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}:stop":{"post":{"description":"Stop a running Redpanda Connect MCP server.","operationId":"MCPServerService_StopMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers:getConfigSchema":{"get":{"description":"The configuration schema includes available components and processors in this Redpanda Connect MCP Server instance.","operationId":"MCPServerService_GetMCPServerServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMCPServerServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect MCP Servers configurations.","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect MCP tools YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"MCPServerService_LintMCPConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect MCP tools configuration","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/pipelines":{"get":{"description":"List Redpanda Connect pipelines. Optional: filter based on pipeline name.","operationId":"PipelineService_ListPipelines","parameters":[{"description":"Any pipelines that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPipelinesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect pipelines","tags":["Redpanda Connect Pipelines"]},"post":{"description":"Create a new Redpanda Connect pipeline.","operationId":"PipelineService_CreatePipeline","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineCreate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines-by-secrets":{"get":{"description":"Get Redpanda Connect pipelines by secrets.","operationId":"PipelineService_GetPipelinesBySecrets","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesBySecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines by secrets","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines-for-secret":{"get":{"description":"Get Redpanda Connect pipelines for a given secret.","operationId":"PipelineService_GetPipelinesForSecret","parameters":[{"description":"Secret ID.","in":"query","name":"secret_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesForSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines for secret","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}":{"delete":{"description":"Delete a Redpanda Connect pipeline.","operationId":"PipelineService_DeletePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]},"get":{"description":"Get a specific Redpanda Connect pipeline.","operationId":"PipelineService_GetPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]},"put":{"description":"Update the [configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) of a Redpanda Connect pipeline.","operationId":"PipelineService_UpdatePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineUpdate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}/start":{"put":{"description":"Start a stopped Redpanda Connect pipeline.","operationId":"PipelineService_StartPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}/stop":{"put":{"description":"Stop a running Redpanda Connect pipeline.","operationId":"PipelineService_StopPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect pipeline YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"PipelineService_LintPipelineConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintPipelineConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintPipelineConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect pipeline configuration","tags":["Redpanda Connect Pipelines"]}},"/v1/roles":{"get":{"description":"List roles. Optional: filter based on role name and principal.","operationId":"SecurityService_ListRoles","parameters":[{"description":"Filter results only roles named with the prefix.","in":"query","name":"filter.name_prefix","schema":{"type":"string"}},{"description":"Filter results to only roles with names which contain the string.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Return only roles assigned to this principal.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"Page size.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRolesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List roles","tags":["Security"]},"post":{"description":"Create a role.","operationId":"SecurityService_CreateRole","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"description":"The role to create.","required":true,"x-originalParamName":"role"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleResponse"}}},"description":"Role created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create role","tags":["Security"]}},"/v1/roles/{role_name}":{"delete":{"description":"Delete a role.","operationId":"SecurityService_DeleteRole","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}},{"description":"Whether to delete the ACLs bound to the role.","in":"query","name":"delete_acls","schema":{"type":"boolean"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Role deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete role","tags":["Security"]},"get":{"description":"Get a role.","operationId":"SecurityService_GetRole","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRoleResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get role","tags":["Security"]},"put":{"description":"Update a role.","operationId":"SecurityService_UpdateRoleMembership","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleMembershipBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleMembershipResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update role","tags":["Security"]}},"/v1/roles/{role_name}/members":{"get":{"description":"List members assigned to a role.","operationId":"SecurityService_ListRoleMembers","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}},{"description":"Filter results to only members with names which contain the string.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Page size.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRoleMembersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List role members","tags":["Security"]}},"/v1/secret-scopes":{"get":{"description":"List supported secret scopes.","operationId":"SecretService_ListSecretScopes","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretScopesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List secret scopes","tags":["Secrets"]}},"/v1/secrets":{"get":{"description":"List secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListSecrets","parameters":[{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List secrets","tags":["Secrets"]},"post":{"description":"Create a secret.","operationId":"SecretService_CreateSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretRequest"}}},"description":"CreateSecretRequest is the request of CreateSecret.","required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretResponse"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create secret","tags":["Secrets"]}},"/v1/secrets/resources":{"get":{"description":"Get resources by secret.","operationId":"SecretService_ListResources","parameters":[{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResourcesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get resources by secret","tags":["Secrets"]}},"/v1/secrets/{id}":{"delete":{"description":"Delete a secret.","operationId":"SecretService_DeleteSecret","parameters":[{"description":"The id of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete secret","tags":["Secrets"]},"get":{"description":"Get a secret.","operationId":"SecretService_GetSecret","parameters":[{"description":"The id of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get secret","tags":["Secrets"]},"put":{"description":"Update a secret.","operationId":"SecretService_UpdateSecret","parameters":[{"description":"Secret identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update secret","tags":["Secrets"]}},"/v1/topics":{"get":{"description":"List topics, with partition count and replication factor. Optional: filter based on topic name.","operationId":"TopicService_ListTopics","parameters":[{"description":"Substring match on topic name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List topics","tags":["Topics"]},"post":{"description":"Create a [topic](https://docs.redpanda.com/redpanda-cloud/get-started/create-topic/).","operationId":"TopicService_CreateTopic","parameters":[{"description":"If true, makes this request a dry run; everything is validated but\nno topics are actually created.","in":"query","name":"validate_only","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicRequest.Topic"}}},"description":"The topic to create.","required":true,"x-originalParamName":"topic"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicResponse"}}},"description":"Topic created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create topic","tags":["Topics"]}},"/v1/topics-partitions":{"patch":{"description":"Add partitions to existing topics. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_AddPartitionsToTopics","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPartitionsToTopicsRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPartitionsToTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Add topic partitions","tags":["Topics"]},"put":{"description":"Set partition counts for existing topics. New value must be equal to or larger than the current count of partitions in the topic. All topics will have the same final count of partitions. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_SetPartitionsToTopics","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPartitionsToTopicsRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPartitionsToTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic partitions","tags":["Topics"]}},"/v1/topics/{topic_name}":{"delete":{"description":"Delete the Kafka topic with the requested name.","operationId":"TopicService_DeleteTopic","parameters":[{"description":"Topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Topic deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Requested topic does not exist"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete topic","tags":["Topics"]}},"/v1/topics/{topic_name}/configurations":{"get":{"description":"Get key-value configs for a topic.","operationId":"TopicService_GetTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get topic configurations","tags":["Topics"]},"patch":{"description":"Update a subset of the topic configurations.","operationId":"TopicService_UpdateTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UpdateConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update topic configuration","tags":["Topics"]},"put":{"description":"Update the entire set of key-value configurations for a topic. Config entries that are not provided in the request are removed and will fall back to their default values.","operationId":"TopicService_SetTopicConfigurations","parameters":[{"description":"Name of topic.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SetConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic configurations","tags":["Topics"]}},"/v1/topics/{topic_name}/partitions":{"patch":{"description":"Add partitions to an existing topic. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_AddTopicPartitions","parameters":[{"description":"The topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTopicPartitionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTopicPartitionsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Add topic partitions","tags":["Topics"]},"put":{"description":"Set partitions to an existing topic. New value must be equal to or larger than the current count of partitions in the topic. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_SetTopicPartitions","parameters":[{"description":"The topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicPartitionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicPartitionsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic partitions","tags":["Topics"]}},"/v1/transforms":{"get":{"description":"Retrieve a list of Wasm transforms. Optional: filter based on transform name.","operationId":"TransformService_ListTransforms","parameters":[{"description":"Substring match on transform name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","transforms":[{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic11","output-topic12"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]},{"environment_variables":[],"input_topic_name":"topic2","name":"transform2","output_topic_names":["output-topic21","output-topic22"],"statuses":[{"broker_id":2,"lag":2,"partition_id":2,"status":"PARTITION_STATUS_RUNNING"}]}]},"schema":{"$ref":"#/components/schemas/ListTransformsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List transforms","tags":["Wasm Transforms"]},"put":{"description":"Initiate deployment of a new Wasm transform. This endpoint uses multipart/form-data encoding. Following deployment, a brief period is required before the Wasm transform becomes operational. Monitor the partition statuses to check whether the transform is active. This usually takes around 3s, but no longer than 10s.","operationId":"TransformService_DeployTransform","requestBody":{"content":{"multipart/form-data":{"schema":{"example":"{\"name\":\"redact-orders\",\"input_topic_name\":\"orders\",\"output_topic_names\":[\"orders-redacted\"],\"environment_variables\":[{\"key\":\"LOGGER_LEVEL\",\"value\":\"DEBUG\"}]}","properties":{"metadata":{"$ref":"#/components/schemas/DeployTransformRequest"},"wasm_binary":{"description":"Binary file containing the compiled WASM transform. The maximum size for this file is 10MiB.","format":"binary","type":"string"}},"type":"object"}}},"description":"Transform metadata as well as the WASM binary","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransformMetadata"}}},"description":"Created"}},"summary":"Deploy Transform","tags":["Wasm Transforms"]}},"/v1/transforms/{name}":{"delete":{"description":"Delete a Wasm transform with the requested name.","operationId":"TransformService_DeleteTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"Transform deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete transform","tags":["Wasm Transforms"]},"get":{"description":"Get a specific Wasm transform.","operationId":"TransformService_GetTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"transform":{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic1","output-topic2"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]}},"schema":{"$ref":"#/components/schemas/GetTransformResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get transform","tags":["Wasm Transforms"]}},"/v1/users":{"get":{"description":"List users. Optional: filter based on username.","operationId":"UserService_ListUsers","parameters":[{"description":"Username.","in":"query","name":"filter.name","schema":{"type":"string"}},{"description":"Substring match on username. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","users":[{"name":"payment-service"},{"name":"jane"}]},"schema":{"$ref":"#/components/schemas/ListUsersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List users","tags":["Redpanda Users"]},"post":{"description":"Create a new user.","operationId":"UserService_CreateUser","requestBody":{"content":{"application/json":{"example":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service","password":"secure-password"},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"required":true,"x-originalParamName":"user"},"responses":{"201":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"description":"User created"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create user","tags":["Redpanda Users"]}},"/v1/users/{name}":{"delete":{"description":"Delete the specified user","operationId":"UserService_DeleteUser","parameters":[{"description":"Username","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"User deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"example":{"code":"NOT_FOUND","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_RESOURCE_NOT_FOUND"}],"message":"user not found"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete user","tags":["Redpanda Users"]}},"/v1/users/{user.name}":{"put":{"description":"Update a user's credentials.","operationId":"UserService_UpdateUser","parameters":[{"description":"Username.","in":"path","name":"user.name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","password":"new-password"}},"schema":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"password":{"description":"Password.","type":"string"}},"type":"object"}}},"required":true,"x-originalParamName":"user"},"responses":{"200":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/UpdateUserResponse.User"}}},"description":"OK"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update user","tags":["Redpanda Users"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Manage Redpanda access control lists (ACLs). See [Redpanda Cloud Authorization](https://docs.redpanda.com/redpanda-cloud/security/authorization/cloud-authorization/) for more information.","name":"Redpanda ACLs"},{"description":"Manage Redpanda topics stored in object storage. See: [Mountable Topics](https://docs.redpanda.com/redpanda-cloud/manage/mountable-topics/)","name":"Cloud Storage"},{"description":"Manage Wasm transforms in Redpanda.","name":"Wasm Transforms"},{"description":"Manage [connectors](https://docs.redpanda.com/redpanda-cloud/develop/managed-connectors/) and interact with the Kafka Connect API.","name":"Kafka Connect"},{"description":"Create and manage [Redpanda Connect](https://docs.redpanda.com/redpanda-cloud/develop/connect/about) pipelines and their configurations.","name":"Redpanda Connect Pipelines"},{"description":"Create and manage Redpanda Connect MCP servers and their configurations.","name":"Redpanda Connect MCP servers"},{"description":"Monitoring operations for Redpanda.","name":"Monitoring"},{"description":"Manage client throughput limits. See [Redpanda Client Throughput Limits](https://docs.redpanda.com/current/manage/cluster-maintenance/manage-throughput/#client-throughput-limits) for more information.","name":"Quotas"},{"description":"Manage [secrets](https://docs.redpanda.com/redpanda-cloud/security/secrets) for Redpanda Cloud.","name":"Secrets"},{"description":"Manage Redpanda roles.","name":"Security"},{"description":"Manage Redpanda topics.","name":"Topics"},{"description":"Manage Redpanda users. For more information, see [Role-Based Access Control](https://docs.redpanda.com/redpanda-cloud/security/authorization/rbac/).","name":"Redpanda Users"}]} \ No newline at end of file +{"components":{"schemas":{"ACL.Operation":{"description":"The operation that is allowed or denied (e.g. READ).","enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"},"Action":{"enum":["ACTION_PREPARE","ACTION_EXECUTE","ACTION_FINISH","ACTION_CANCEL"],"type":"string"},"AddPartitionsToTopicsRequest":{"properties":{"partition_count":{"description":"The number of partitions to add for the topics.","format":"int32","type":"integer"},"topic_names":{"description":"The topic names.","items":{"type":"string"},"type":"array"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"AddPartitionsToTopicsResponse":{"properties":{"statuses":{"description":"The status of the operation for each topic.","items":{"$ref":"#/components/schemas/AlterTopicPartitionStatus"},"type":"array"}},"type":"object"},"AddTopicPartitionsBody":{"properties":{"partition_count":{"description":"The number of partitions to add to the topic.","format":"int32","type":"integer"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"AddTopicPartitionsResponse":{"type":"object"},"AlterTopicPartitionStatus":{"properties":{"error":{"description":"The error if any.","type":"string"},"success":{"description":"Whether the operation was successful.","type":"boolean"},"topic_name":{"description":"The topic name.","type":"string"}},"type":"object"},"AnnotatedOption":{"properties":{"description":{"type":"string"},"value":{"type":"string"}},"title":"AnnotatedOption represents an annotated option","type":"object"},"AuthenticationInfo":{"properties":{"mechanism":{"$ref":"#/components/schemas/AuthenticationMechanism"},"state":{"$ref":"#/components/schemas/AuthenticationState"},"user_principal":{"title":"Authenticated user principal","type":"string"}},"title":"Other Messages","type":"object"},"AuthenticationMechanism":{"enum":["AUTHENTICATION_MECHANISM_MTLS","AUTHENTICATION_MECHANISM_SASL_SCRAM","AUTHENTICATION_MECHANISM_SASL_OAUTHBEARER","AUTHENTICATION_MECHANISM_SASL_PLAIN","AUTHENTICATION_MECHANISM_SASL_GSSAPI"],"title":"- AUTHENTICATION_MECHANISM_MTLS: Mutual TLS using client certificates\n - AUTHENTICATION_MECHANISM_SASL_SCRAM: SASL SCRAM\n - AUTHENTICATION_MECHANISM_SASL_OAUTHBEARER: SASL OAUTHBEARER (OAuth 2.0 / OpenID Connect)\n - AUTHENTICATION_MECHANISM_SASL_PLAIN: SASL PLAIN (username/password in plaintext)\n - AUTHENTICATION_MECHANISM_SASL_GSSAPI: SASL GSSAPI (Kerberos)","type":"string"},"AuthenticationState":{"enum":["AUTHENTICATION_STATE_UNAUTHENTICATED","AUTHENTICATION_STATE_SUCCESS","AUTHENTICATION_STATE_FAILURE"],"type":"string"},"BadRequest":{"description":"Describes violations in a client request. This error type focuses on the\nsyntactic aspects of the request.","properties":{"field_violations":{"description":"Describes all violations in a client request.","items":{"$ref":"#/components/schemas/FieldViolation"},"type":"array"}},"title":"BadRequest","type":"object"},"BatchDeleteQuotaRequest":{"properties":{"deletions":{"items":{"$ref":"#/components/schemas/QuotaDeletion"},"type":"array"}},"type":"object"},"BatchDeleteQuotaResponse":{"properties":{"failed_entities":{"items":{"$ref":"#/components/schemas/FailedEntity"},"type":"array"},"successful_entities":{"items":{"$ref":"#/components/schemas/SuccessfulEntity"},"type":"array"}},"type":"object"},"BatchSetQuotaRequest":{"properties":{"settings":{"description":"A list of quota settings to apply. Each setting pairs an entity\nwith the specific values to be set for it.","items":{"$ref":"#/components/schemas/QuotaSetting"},"type":"array"}},"type":"object"},"BatchSetQuotaResponse":{"properties":{"failed_entities":{"items":{"$ref":"#/components/schemas/FailedEntity"},"type":"array"},"successful_entities":{"items":{"$ref":"#/components/schemas/SuccessfulEntity"},"type":"array"}},"type":"object"},"BloblangFunctionSpec":{"description":"BloblangFunctionSpec represents a Bloblang function specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"params":{"$ref":"#/components/schemas/ParamSpec"},"status":{"type":"string"},"version":{"type":"string"}},"type":"object"},"BloblangMethodSpec":{"description":"BloblangMethodSpec represents a Bloblang method specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"params":{"$ref":"#/components/schemas/ParamSpec"},"status":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ComponentList":{"description":"ComponentList contains the structured component data.","properties":{"bloblang_functions":{"items":{"$ref":"#/components/schemas/BloblangFunctionSpec"},"type":"array"},"bloblang_methods":{"items":{"$ref":"#/components/schemas/BloblangMethodSpec"},"type":"array"},"buffers":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"caches":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"inputs":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"metrics":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"outputs":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"processors":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"rate_limits":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"scanners":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"tracers":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"version":{"type":"string"}},"type":"object"},"ComponentSpec":{"description":"ComponentSpec represents a component specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"config":{"$ref":"#/components/schemas/FieldSpec"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"footnotes":{"type":"string"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/ComponentStatus"},"summary":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ComponentStatus":{"description":"ComponentStatus represents the stability level of a component.","enum":["COMPONENT_STATUS_STABLE","COMPONENT_STATUS_BETA","COMPONENT_STATUS_EXPERIMENTAL","COMPONENT_STATUS_DEPRECATED"],"type":"string"},"ComponentType":{"description":"Component type for this tool.","enum":["COMPONENT_TYPE_PROCESSOR","COMPONENT_TYPE_CACHE","COMPONENT_TYPE_INPUT","COMPONENT_TYPE_OUTPUT"],"type":"string"},"Config":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigAlterOperation":{"enum":["CONFIG_ALTER_OPERATION_SET","CONFIG_ALTER_OPERATION_DELETE","CONFIG_ALTER_OPERATION_APPEND","CONFIG_ALTER_OPERATION_SUBTRACT"],"type":"string"},"ConfigSource":{"enum":["CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG","CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG","CONFIG_SOURCE_STATIC_BROKER_CONFIG","CONFIG_SOURCE_DEFAULT_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_LOGGER_CONFIG"],"type":"string"},"ConfigSynonym":{"properties":{"name":{"type":"string"},"source":{"$ref":"#/components/schemas/ConfigSource"},"value":{"nullable":true,"type":"string"}},"type":"object"},"ConfigType":{"enum":["CONFIG_TYPE_BOOLEAN","CONFIG_TYPE_STRING","CONFIG_TYPE_INT","CONFIG_TYPE_SHORT","CONFIG_TYPE_LONG","CONFIG_TYPE_DOUBLE","CONFIG_TYPE_LIST","CONFIG_TYPE_CLASS","CONFIG_TYPE_PASSWORD"],"type":"string"},"Configuration":{"properties":{"config_synonyms":{"description":"If no config value is set at the topic level, it will inherit the value\nset at the broker or cluster level. `name` is the corresponding config\nkey whose value is inherited. `source` indicates whether the inherited\nconfig is default, broker, etc.","items":{"$ref":"#/components/schemas/ConfigSynonym"},"type":"array"},"documentation":{"description":"Config documentation.","nullable":true,"type":"string"},"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"read_only":{"description":"Whether the config is read-only, or is dynamic and can be altered.","type":"boolean"},"sensitive":{"description":"Whether this is a sensitive config key and value.","type":"boolean"},"source":{"$ref":"#/components/schemas/ConfigSource"},"type":{"$ref":"#/components/schemas/ConfigType"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigurationYAMLSchema":{"properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_schema":{"description":"JSON schema of the configuration components that are allowed for MCP Servers.","type":"string"}},"type":"object"},"ConnectCluster":{"properties":{"address":{"description":"The host address of the Kafka Connect cluster.","type":"string"},"info":{"$ref":"#/components/schemas/ConnectCluster.Info"},"name":{"description":"Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`.","type":"string"},"plugins":{"items":{"$ref":"#/components/schemas/ConnectorPlugin"},"type":"array"}},"type":"object"},"ConnectCluster.Info":{"properties":{"commit":{"description":"The git commit ID of the connect worker source code.","type":"string"},"kafka_cluster_id":{"description":"Cluster ID.","type":"string"},"version":{"description":"Connect worker version.","type":"string"}},"type":"object"},"Connector":{"properties":{"state":{"description":"State of the connector instance.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the connector is assigned to.","type":"string"}},"type":"object"},"ConnectorError":{"properties":{"content":{"description":"Detailed description of the error.","type":"string"},"title":{"description":"Short description of the error.","type":"string"},"type":{"$ref":"#/components/schemas/ConnectorError.Type"}},"title":"ConnectorError is the error of a connector, this is holistic error\nabstraction, made parsing the error trace of connector or Task","type":"object"},"ConnectorError.Type":{"description":"Error level.","enum":["TYPE_ERROR","TYPE_WARNING"],"type":"string"},"ConnectorHolisticState":{"description":"State of a connector or one of its tasks, as described in the [Kafka Connect documentation](https://kafka.apache.org/documentation.html#connect_administration). Takes into account not just the state of the connector instance itself, but also the tasks within the connector.\n\n - CONNECTOR_HOLISTIC_STATE_PAUSED: The connector or task has been administratively paused.\n - CONNECTOR_HOLISTIC_STATE_RESTARTING: The connector or task is restarting.\n - CONNECTOR_HOLISTIC_STATE_DESTROYED: The connector is destroyed, regardless of any tasks.\n - CONNECTOR_HOLISTIC_STATE_STOPPED: The connector or task has been stopped.\n - CONNECTOR_HOLISTIC_STATE_UNASSIGNED: - The connector or task has not yet been assigned to a worker,\n- THe connector is running, but there are unassigned tasks.\n - CONNECTOR_HOLISTIC_STATE_HEALTHY: The connector is running, \u003e 0 tasks, all of them in running state.\n - CONNECTOR_HOLISTIC_STATE_UNHEALTHY: - The connector has failed,\n- The connector is running, but has no tasks,\n- Connector is running and has tasks, but all tasks have failed.\n - CONNECTOR_HOLISTIC_STATE_DEGRADED: The connector is running and has tasks, and at least one task, but not all, have failed.\n - CONNECTOR_HOLISTIC_STATE_UNKNOWN: The connector or task state could not be determined.","enum":["CONNECTOR_HOLISTIC_STATE_PAUSED","CONNECTOR_HOLISTIC_STATE_RESTARTING","CONNECTOR_HOLISTIC_STATE_DESTROYED","CONNECTOR_HOLISTIC_STATE_STOPPED","CONNECTOR_HOLISTIC_STATE_UNASSIGNED","CONNECTOR_HOLISTIC_STATE_HEALTHY","CONNECTOR_HOLISTIC_STATE_UNHEALTHY","CONNECTOR_HOLISTIC_STATE_DEGRADED","CONNECTOR_HOLISTIC_STATE_UNKNOWN"],"type":"string"},"ConnectorInfoStatus":{"properties":{"info":{"$ref":"#/components/schemas/ConnectorSpec"},"name":{"description":"Name of connector.","type":"string"},"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"ConnectorPlugin":{"properties":{"class":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ConnectorSpec":{"description":"Connector specifications as defined in the Kafka Connect\nAPI. You may include this in the request body when creating a new connector.","properties":{"config":{"additionalProperties":{"type":"string"},"description":"Connector configuration properties.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"items":{"$ref":"#/components/schemas/TaskInfo"},"readOnly":true,"type":"array"},"type":{"readOnly":true,"type":"string"}},"required":["name","config"],"type":"object"},"ConnectorStatus":{"properties":{"connector":{"$ref":"#/components/schemas/Connector"},"errors":{"description":"List of parsed connectors' and tasks' errors.","items":{"$ref":"#/components/schemas/ConnectorError"},"type":"array"},"holistic_state":{"$ref":"#/components/schemas/ConnectorHolisticState"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"description":"Status of connector tasks. For more information, see the [https://docs.redpanda.com/current/deploy/deployment-option/cloud/managed-connectors/monitor-connectors/#connector-tasks](Monitor Connectors) documentation.","items":{"$ref":"#/components/schemas/TaskStatus"},"type":"array"},"type":{"description":"Type of connector (sink or source).","type":"string"}},"type":"object"},"CreateACLRequest":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.\nFor requests with resource_type CLUSTER, this will default to \"kafka-cluster\".","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","principal","host","operation","permission_type"],"type":"object"},"CreateACLResponse":{"type":"object"},"CreateConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"CreateKafkaConnectSecretBody":{"description":"CreateKafkaConnectSecretRequest is the request of CreateKafkaConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["name","secret_data"],"type":"object"},"CreateKafkaConnectSecretResponse":{"description":"CreateKafkaConnectSecretResponse is the response of CreateKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"CreatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"CreateRoleResponse":{"description":"CreateRoleResponse is the response for CreateRole.","properties":{"role":{"$ref":"#/components/schemas/Role"}},"type":"object"},"CreateSecretRequest":{"description":"CreateSecretRequest is the request of CreateSecret.","properties":{"id":{"description":"Secret identifier.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"CreateSecretResponse":{"description":"CreateSecretResponse is the response of CreateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateTopicRequest.Topic":{"properties":{"configs":{"description":"An array of key-value config pairs for a topic.\nThese correspond to Kafka topic-level configs.","items":{"$ref":"#/components/schemas/Config"},"type":"array"},"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions to give the topic. If specifying\npartitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default partition count, set to null.","format":"int32","nullable":true,"type":"integer"},"replica_assignments":{"description":"Manually specify broker ID assignments for partition replicas. If manually assigning replicas, both `replication_factor` and\n`partition_count` must be -1.","items":{"$ref":"#/components/schemas/ReplicaAssignment"},"type":"array"},"replication_factor":{"description":"The number of replicas every partition must have.\nIf specifying partitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default replication factor, set to null.","format":"int32","nullable":true,"type":"integer"}},"type":"object"},"CreateTopicResponse":{"properties":{"partition_count":{"description":"The number of partitions created for the topic.\nThis field has a default value of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"replication_factor":{"description":"The number of replicas per topic partition.\nThis field has a default of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"topic_name":{"description":"Name of topic.","type":"string"}},"type":"object"},"CreateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"CreateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/CreateUserResponse.User"}},"type":"object"},"CreateUserResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"title":"Name of newly-created user","type":"string"}},"type":"object"},"DeleteACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","operation","permission_type"],"type":"object"},"DeleteACLsResponse":{"properties":{"matching_acls":{"items":{"$ref":"#/components/schemas/MatchingACL"},"type":"array"}},"type":"object"},"DeleteKafkaConnectSecretResponse":{"description":"DeleteKafkaConnectSecretResponse is the response of DeleteKafkaConnectSecret.","type":"object"},"DeleteMCPServerResponse":{"type":"object"},"DeleteMountTaskResponse":{"type":"object"},"DeletePipelineResponse":{"type":"object"},"DeleteQuotaRequest":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"DeleteQuotaResponse":{"type":"object"},"DeleteRoleResponse":{"description":"DeleteRoleResponse is the response for DeleteRole.","type":"object"},"DeleteSecretResponse":{"description":"DeleteSecretResponse is the response of DeleteSecret.","type":"object"},"DeleteTopicResponse":{"type":"object"},"DeleteTransformResponse":{"type":"object"},"DeleteUserResponse":{"type":"object"},"DeployTransformRequest":{"description":"Metadata required to deploy a new Wasm\ntransform in a Redpanda cluster.","properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"The input topic to apply the transform to.","example":"orders","type":"string"},"name":{"description":"Name of the transform.","example":"redact-payment-details-in-orders","type":"string"},"output_topic_names":{"description":"Output topic to write the transform results to.","example":"orders-redacted","items":{"type":"string"},"type":"array"}},"required":["name","input_topic_name","output_topic_names"],"type":"object"},"Entity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"EntityType":{"description":"The type of entity that the quota applies to.\n\n - ENTITY_TYPE_USER: Not supported in Redpanda\n - ENTITY_TYPE_IP: Not supported in Redpanda","enum":["ENTITY_TYPE_CLIENT_ID","ENTITY_TYPE_CLIENT_ID_PREFIX","ENTITY_TYPE_USER","ENTITY_TYPE_IP"],"type":"string"},"EnvironmentVariable":{"properties":{"key":{"description":"The key of your environment variable.","example":"LOG_LEVEL","type":"string"},"value":{"description":"The value of your environment variable.","example":"DEBUG","type":"string"}},"required":["key","value"],"type":"object"},"ErrorInfo":{"description":"Describes the cause of the error with structured details.\n\nExample of an error when contacting the \"pubsub.googleapis.com\" API when it\nis not enabled:\n\n { \"reason\": \"API_DISABLED\"\n \"domain\": \"googleapis.com\"\n \"metadata\": {\n \"resource\": \"projects/123\",\n \"service\": \"pubsub.googleapis.com\"\n }\n }\n\nThis response indicates that the pubsub.googleapis.com API is not enabled.\n\nExample of an error that is returned when attempting to create a Spanner\ninstance in a region that is out of stock:\n\n { \"reason\": \"STOCKOUT\"\n \"domain\": \"spanner.googleapis.com\",\n \"metadata\": {\n \"availableRegions\": \"us-central1,us-east2\"\n }\n }","properties":{"domain":{"description":"The logical grouping to which the \"reason\" belongs. The error domain\nis typically the registered service name of the tool or product that\ngenerates the error. Example: \"pubsub.googleapis.com\". If the error is\ngenerated by some common infrastructure, the error domain must be a\nglobally unique value that identifies the infrastructure. For Google API\ninfrastructure, the error domain is \"googleapis.com\".","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"Additional structured details about this error.\n\nKeys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should\nideally be lowerCamelCase. Also, they must be limited to 64 characters in\nlength. When identifying the current value of an exceeded limit, the units\nshould be contained in the key, not the value. For example, rather than\n`{\"instanceLimit\": \"100/request\"}`, should be returned as,\n`{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of\ninstances that can be created in a single (batch) request.","type":"object"},"reason":{"description":"The reason of the error. This is a constant value that identifies the\nproximate cause of the error. Error reasons are unique within a particular\ndomain of errors. This should be at most 63 characters and match a\nregular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents\nUPPER_SNAKE_CASE.","type":"string"}},"title":"ErrorInfo","type":"object"},"FailedEntity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"},"error_code":{"format":"int32","type":"integer"},"error_message":{"type":"string"}},"type":"object"},"FieldSpec":{"description":"FieldSpec represents a field specification.","properties":{"advanced":{"type":"boolean"},"annotated_options":{"items":{"$ref":"#/components/schemas/AnnotatedOption"},"type":"array"},"children":{"items":{"$ref":"#/components/schemas/FieldSpec"},"type":"array"},"default_value":{"type":"string"},"deprecated":{"type":"boolean"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"interpolated":{"items":{"type":"string"},"type":"array"},"kind":{"type":"string"},"name":{"type":"string"},"optional":{"type":"boolean"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"FieldViolation":{"description":"A message type used to describe a single bad request field.","properties":{"description":{"description":"A description of why the request element is bad.","type":"string"},"field":{"description":"A path that leads to a field in the request body. The value will be a\nsequence of dot-separated identifiers that identify a protocol buffer\nfield.\n\nConsider the following:\n\n message CreateContactRequest {\n message EmailAddress {\n enum Type {\n TYPE_UNSPECIFIED = 0;\n HOME = 1;\n WORK = 2;\n }\n\n optional string email = 1;\n repeated EmailType type = 2;\n }\n\n string full_name = 1;\n repeated EmailAddress email_addresses = 2;\n }\n\nIn this example, in proto `field` could take one of the following values:\n\n* `full_name` for a violation in the `full_name` value\n* `email_addresses[1].email` for a violation in the `email` field of the\n first `email_addresses` message\n* `email_addresses[3].type[2]` for a violation in the second `type`\n value in the third `email_addresses` message.\n\nIn JSON, the same values are represented as:\n\n* `fullName` for a violation in the `fullName` value\n* `emailAddresses[1].email` for a violation in the `email` field of the\n first `emailAddresses` message\n* `emailAddresses[3].type[2]` for a violation in the second `type`\n value in the third `emailAddresses` message.","type":"string"},"localized_message":{"$ref":"#/components/schemas/LocalizedMessage"},"reason":{"description":"The reason of the field-level error. This is a constant value that\nidentifies the proximate cause of the field-level error. It should\nuniquely identify the type of the FieldViolation within the scope of the\ngoogle.rpc.ErrorInfo.domain. This should be at most 63\ncharacters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,\nwhich represents UPPER_SNAKE_CASE.","type":"string"}},"type":"object"},"GetConnectClusterResponse":{"properties":{"cluster":{"$ref":"#/components/schemas/ConnectCluster"}},"type":"object"},"GetConnectorConfigResponse":{"properties":{"config":{"additionalProperties":{"type":"string"},"type":"object"}},"type":"object"},"GetConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"GetConnectorStatusResponse":{"properties":{"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"GetKafkaConnectSecretResponse":{"description":"GetKafkaConnectSecretResponse is the response of GetKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"GetMCPServerServiceConfigSchemaResponse":{"properties":{"configuration_yamls":{"description":"The configuration schema for the MCP Server.","items":{"$ref":"#/components/schemas/ConfigurationYAMLSchema"},"type":"array"}},"type":"object"},"GetMountTaskResponse":{"properties":{"task":{"$ref":"#/components/schemas/MountTask"}},"type":"object"},"GetPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"GetPipelineServiceConfigSchemaResponse":{"properties":{"config_schema":{"description":"JSON schema of the configuration components that are allowed for Connect pipelines.","type":"string"}},"type":"object"},"GetPipelinesBySecretsResponse":{"properties":{"pipelines_for_secret":{"items":{"$ref":"#/components/schemas/PipelinesForSecret"},"type":"array"}},"type":"object"},"GetPipelinesForSecretResponse":{"properties":{"pipelines_for_secret":{"$ref":"#/components/schemas/PipelinesForSecret"}},"type":"object"},"GetRoleResponse":{"description":"GetRoleResponse is the response to GetRole.","properties":{"members":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"role":{"$ref":"#/components/schemas/Role"}},"type":"object"},"GetSecretResponse":{"description":"GetSecretResponse is the response of GetSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetTopicConfigurationsResponse":{"properties":{"configurations":{"items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"GetTransformResponse":{"properties":{"transform":{"$ref":"#/components/schemas/TransformMetadata"}},"type":"object"},"Help":{"description":"Provides links to documentation or for performing an out of band action.\n\nFor example, if a quota check failed with an error indicating the calling\nproject hasn't enabled the accessed service, this can contain a URL pointing\ndirectly to the right place in the developer console to flip the bit.","properties":{"links":{"description":"URL(s) pointing to additional information on handling the current error.","items":{"$ref":"#/components/schemas/Link"},"type":"array"}},"title":"Help","type":"object"},"InFlightRequests":{"properties":{"has_more_requests":{"description":"Whether there are more in-flight requests than those in\n`sampled_in_flight_requests`.","type":"boolean"},"sampled_in_flight_requests":{"items":{"$ref":"#/components/schemas/Request"},"title":"A sample (e.g., the 5 latest) of the currently in-flight requests","type":"array"}},"type":"object"},"KafkaConnection":{"properties":{"api_versions":{"additionalProperties":{"format":"int32","type":"integer"},"description":"This map records, for each Kafka API, the highest version number observed\nin requests on this connection. It can be useful for understanding which\nprotocol versions a client supports or has negotiated with the broker.\nOnly APIs that were actually used (i.e. at least one request was seen)\nare included.\n\nExample:\n { 0: 11, 1: 13 }\nmeans that for API key 0 (Produce), version 11 was the highest seen,\nand for API key 1 (Fetch), version 13 was the highest seen.\n\nReference:\n- https://kafka.apache.org/0101/protocol.html#protocol_api_keys\n- https://kafka.apache.org/0101/protocol.html#protocol_compatibility","type":"object"},"authentication_info":{"$ref":"#/components/schemas/AuthenticationInfo"},"client_id":{"description":"Client identifier included in every request sent by the Kafka client.\nThis is typically a configurable property (client.id) set by the\napplication when creating a producer or consumer, and is often used for\nmetrics, quotas, and debugging.","type":"string"},"client_software_name":{"description":"Name of the client library, reported automatically in ApiVersions v3+\nrequests. This is set by the client implementation and is not typically\nconfigurable by applications.","type":"string"},"client_software_version":{"description":"Version of the client library, reported automatically in ApiVersions v3+\nrequests. Like client_software_name, this is set by the\nclient and not usually configurable by applications.","type":"string"},"close_time":{"description":"When the connection was closed. This field is set only when the\nconnection state is \"closed\".","format":"date-time","type":"string"},"group_id":{"description":"Most recent group ID seen in requests sent over this connection. This\ntypically refers to a consumer group, but the Kafka group protocol is\nmore general and may also be used by other types of clients that\ncoordinate membership and assignments through the broker.","type":"string"},"group_instance_id":{"description":"Most recent group instance ID seen in requests sent over this connection.\nThis is used when static membership is enabled, allowing a specific\nclient instance to retain its group membership across restarts.","type":"string"},"group_member_id":{"description":"Most recent group member ID seen in requests sent over this connection.\nThis is the unique identifier assigned by the broker to a particular\nmember of the group.","type":"string"},"idle_duration":{"title":"How long the connection has been idle (no in-flight requests)","type":"string"},"in_flight_requests":{"$ref":"#/components/schemas/InFlightRequests"},"listener_name":{"description":"Name of the Kafka listener that accepted this connection.\nA listener is a named broker endpoint (for example, \"internal\",\n\"external\", or \"sasl_tls\"). Each listener defines its network address and\nenforces its protocol and authentication policy.","type":"string"},"node_id":{"format":"int32","title":"Broker node ID","type":"integer"},"open_time":{"format":"date-time","title":"When the broker accepted the connection","type":"string"},"recent_request_statistics":{"$ref":"#/components/schemas/RequestStatistics"},"shard_id":{"format":"int64","title":"Broker shard that handles the connection","type":"integer"},"source":{"$ref":"#/components/schemas/Source"},"state":{"$ref":"#/components/schemas/KafkaConnectionState"},"tls_info":{"$ref":"#/components/schemas/TLSInfo"},"total_request_statistics":{"$ref":"#/components/schemas/RequestStatistics"},"transactional_id":{"title":"Most recent transactional ID seen in requests sent over this connection","type":"string"},"uid":{"title":"Kafka connection UUID","type":"string"}},"title":"Kafka connection details for a broker","type":"object"},"KafkaConnectionState":{"description":"- KAFKA_CONNECTION_STATE_OPEN: The connection is accepting requests.\n - KAFKA_CONNECTION_STATE_ABORTING: The connection is aborting ongoing requests and about to be closed.\nThis is a transient state between open and closed that should rarely be\nobservable under normal circumstances.\n - KAFKA_CONNECTION_STATE_CLOSED: The connection has been closed.","enum":["KAFKA_CONNECTION_STATE_OPEN","KAFKA_CONNECTION_STATE_ABORTING","KAFKA_CONNECTION_STATE_CLOSED"],"title":"Enums","type":"string"},"Link":{"description":"Describes a URL link.","properties":{"description":{"description":"Describes what the link offers.","type":"string"},"url":{"description":"The URL of the link.","type":"string"}},"type":"object"},"LintHint":{"description":"LintHint is a generic linting hint.","properties":{"column":{"description":"Column number of the lint.","format":"int32","type":"integer"},"hint":{"description":"The hint message.","type":"string"},"line":{"description":"Line number of the lint.","format":"int32","type":"integer"},"lint_type":{"description":"Optional lint type or enum.","type":"string"}},"type":"object"},"LintMCPConfigRequest":{"properties":{"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP tools configuration in YAML format.","type":"object"}},"required":["tools"],"type":"object"},"LintMCPConfigResponse":{"properties":{"lint_hints":{"additionalProperties":{"$ref":"#/components/schemas/LintHint"},"description":"A list of linting issues.","type":"object"}},"type":"object"},"LintPipelineConfigRequest":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format.\nSee the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation\nfor more details.","type":"string"}},"required":["config_yaml"],"type":"object"},"LintPipelineConfigResponse":{"properties":{"lint_hints":{"description":"A list of linting issues.","items":{"$ref":"#/components/schemas/LintHint"},"type":"array"}},"type":"object"},"ListACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListACLsResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/ListACLsResponse.Resource"},"type":"array"}},"type":"object"},"ListACLsResponse.Resource":{"properties":{"acls":{"items":{"$ref":"#/components/schemas/Policy"},"type":"array"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListComponentsResponse":{"properties":{"components":{"$ref":"#/components/schemas/ComponentList"}},"type":"object"},"ListConnectClustersResponse":{"properties":{"clusters":{"items":{"$ref":"#/components/schemas/ConnectCluster"},"type":"array"}},"type":"object"},"ListConnectorTopicsResponse":{"properties":{"topics":{"description":"Topic names.","items":{"type":"string"},"type":"array"}},"type":"object"},"ListConnectorsResponse":{"properties":{"connectors":{"description":"List of connectors, where the parent key is the connector name.","items":{"$ref":"#/components/schemas/ConnectorInfoStatus"},"type":"array"},"next_page_token":{"description":"Page Token to fetch the next page. The value can be used as page_token in the next call to this endpoint.","type":"string"}},"type":"object"},"ListKafkaConnectSecretsResponse":{"description":"ListKafkaConnectSecretsResponse is the response of ListKafkaConnectSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListKafkaConnectionsResponse":{"description":"ListKafkaConnectionsResponse is the response from the ListKafkaConnections\nRPC.","properties":{"connections":{"description":"The list of connections matching the request.\nNote that in addition to open connections, some recently-closed\nconnections may also be included here. If you don't want to include\nclosed connections, set the filter in the request to `state =\nKAFKA_CONNECTION_STATE_OPEN`.","items":{"$ref":"#/components/schemas/KafkaConnection"},"type":"array"},"total_size":{"format":"uint64","title":"Total number of connections matching the request.\nThis may be greater than `len(connections)` if some connections were\nomitted from the response due to the specified (or default) `page_size`.\nExample:\n request.page_size = 10\n response.connections = [\u003c10 items\u003e]\n response.total_size = 13","type":"string"}},"type":"object"},"ListMCPServersRequest.Filter":{"properties":{"display_name_contains":{"description":"Any MCP Server that partially match this name will be returned.","type":"string"},"secret_id":{"description":"Match MCP servers that use this secret ID.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"MCP servers that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListMCPServersResponse":{"properties":{"mcp_servers":{"items":{"$ref":"#/components/schemas/MCPServer"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListMountTasksResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/MountTask"},"type":"array"}},"type":"object"},"ListMountableTopicsResponse":{"properties":{"topics":{"items":{"$ref":"#/components/schemas/TopicLocation"},"type":"array"}},"type":"object"},"ListPipelinesRequest.Filter":{"properties":{"name_contains":{"description":"Any pipelines that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"Pipelines that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListPipelinesResponse":{"properties":{"next_page_token":{"type":"string"},"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"}},"type":"object"},"ListQuotasRequest.Filter":{"properties":{"entity_name":{"description":"Filter by entity name. If unspecified will return all entities for specified entity type.","type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"},"match_default":{"description":"If true, the entity_name will match the default entity (e.g., default client-id).","type":"boolean"}},"type":"object"},"ListQuotasResponse":{"properties":{"page_token":{"description":"Token to retrieve the next page of results. If empty, there are no more results.","type":"string"},"quotas":{"items":{"$ref":"#/components/schemas/QuotaEntry"},"type":"array"}},"type":"object"},"ListResourcesRequest.Filter":{"properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"ListResourcesResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/ListResourcesResponse.Resource"},"type":"array"}},"type":"object"},"ListResourcesResponse.Resource":{"properties":{"display_name":{"type":"string"},"id":{"type":"string"},"type":{"$ref":"#/components/schemas/ListResourcesResponse.Type"}},"type":"object"},"ListResourcesResponse.Type":{"enum":["TYPE_PIPELINE","TYPE_CLUSTER","TYPE_MCP_SERVER","TYPE_AI_AGENT"],"type":"string"},"ListRoleMembersRequest.Filter":{"description":"Filter options.","properties":{"name_contains":{"description":"Filter results to only members with names which contain the string.","type":"string"}},"type":"object"},"ListRoleMembersResponse":{"description":"ListRoleMembersResponse is the response for ListRoleMembers.","properties":{"members":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"role_name":{"description":"The role name.","type":"string"}},"type":"object"},"ListRolesRequest.Filter":{"description":"Filter options.","properties":{"name_contains":{"description":"Filter results to only roles with names which contain the string.","type":"string"},"name_prefix":{"description":"Filter results only roles named with the prefix.","type":"string"},"principal":{"description":"Return only roles assigned to this principal.","type":"string"}},"type":"object"},"ListRolesResponse":{"description":"ListRolesResponse is the response for ListRoles.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"roles":{"description":"The roles in the system.","items":{"$ref":"#/components/schemas/Role"},"type":"array"}},"type":"object"},"ListSecretScopesResponse":{"description":"ListSecretScopesResponse is the response of ListSecretScopes.","properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"}},"type":"object"},"ListSecretsFilter":{"description":"ListSecretsFilter are the filter options for listing secrets.","properties":{"labels[string][string]":{"additionalProperties":{"type":"string"},"description":"The secret labels to search for.","type":"object"},"name_contains":{"description":"Substring match on secret name. Case-sensitive.","type":"string"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes to search for","type":"array"}},"type":"object"},"ListSecretsResponse":{"description":"ListSecretsResponse is the response of ListSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListTopicsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListTopicsResponse":{"properties":{"next_page_token":{"type":"string"},"topics":{"items":{"$ref":"#/components/schemas/ListTopicsResponse.Topic"},"type":"array"}},"type":"object"},"ListTopicsResponse.Topic":{"properties":{"internal":{"description":"Whether topic is internal only.","type":"boolean"},"name":{"description":"Topic name.","type":"string"},"partition_count":{"description":"Topic partition count.","format":"int32","type":"integer"},"replication_factor":{"description":"Topic replication factor.","format":"int32","type":"integer"}},"type":"object"},"ListTransformsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on transform name. Case-sensitive.","type":"string"}},"type":"object"},"ListTransformsResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"transforms":{"items":{"$ref":"#/components/schemas/TransformMetadata"},"type":"array"}},"type":"object"},"ListUsersRequest.Filter":{"properties":{"name":{"description":"Username.","type":"string"},"name_contains":{"description":"Substring match on username. Case-sensitive.","type":"string"}},"type":"object"},"ListUsersResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"users":{"items":{"$ref":"#/components/schemas/ListUsersResponse.User"},"type":"array"}},"type":"object"},"ListUsersResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"}},"type":"object"},"LocalizedMessage":{"description":"Provides a localized error message that is safe to return to the user\nwhich can be attached to an RPC error.","properties":{"locale":{"title":"The locale used following the specification defined at\nhttps://www.rfc-editor.org/rfc/bcp/bcp47.txt.\nExamples are: \"en-US\", \"fr-CH\", \"es-MX\"","type":"string"},"message":{"description":"The localized error message in the above locale.","type":"string"}},"type":"object"},"MCPServer":{"description":"Defines the MCP server resource.","properties":{"description":{"description":"Optional MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"id":{"description":"MCP Server ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"state":{"$ref":"#/components/schemas/MCPServer.State"},"status":{"$ref":"#/components/schemas/MCPServer.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a MCP server resource.\nThey help organize MCP servers and enable filtering when listing them.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"},"url":{"readOnly":true,"title":"URL to connect to the MCP server","type":"string"}},"required":["id","display_name","tools","service_account"],"type":"object"},"MCPServer.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"required":["client_id","client_secret"],"type":"object"},"MCPServer.State":{"description":"State of the MCP server.\n\n - STATE_STARTING: The MCP server is starting.\n - STATE_RUNNING: The MCP server is running.\n - STATE_STOPPING: The MCP server is in the process of stopping.\n - STATE_STOPPED: The MCP server is stopped and in paused state.\n - STATE_ERROR: The MCP server encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"MCPServer.Status":{"description":"MCP server status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"MCPServerCreate":{"description":"MCPServerCreate contains the details for the MCP Server creation request.","properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a MCP server.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"required":["display_name","tools","service_account"],"type":"object"},"MCPServerUpdate":{"properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP servers name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"type":"object"},"MatchingACL":{"properties":{"error":{"$ref":"#/components/schemas/rpc.Status"},"host":{"description":"The host address to use for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"MountTask":{"properties":{"id":{"description":"Unique identifier for this mount task.","format":"int32","type":"integer"},"state":{"$ref":"#/components/schemas/MountTask.State"},"topics":{"description":"List of topics that are being mounted or unmounted.","items":{"$ref":"#/components/schemas/MountTask.Topic"},"type":"array"},"type":{"$ref":"#/components/schemas/MountTask.Type"}},"type":"object"},"MountTask.State":{"description":" - STATE_PLANNED: Planned: The mount task has been created and is awaiting further actions.\n - STATE_PREPARING: Preparing: The mount task is gathering resources and preparing for execution.\n - STATE_PREPARED: Prepared: All preparations are complete, and the mount task is ready to be executed.\n - STATE_EXECUTING: Executing: The mount task is actively transferring or transforming data.\n - STATE_EXECUTED: Executed: The core mount task actions are complete, but the mount task has not yet cut over or finalized.\n - STATE_CUT_OVER: Cut Over: The mount task has reached a critical point where ownership is transferred or final adjustments are made.\n - STATE_FINISHED: Finished: The mount task has been successfully completed, and no further actions are required.\n - STATE_CANCELING: Canceling: The mount task is in the process of being canceled, and rollback or cleanup actions may be in progress.\n - STATE_CANCELLED: Cancelled: The mount task has been fully canceled, and no further actions will be taken.","enum":["STATE_PLANNED","STATE_PREPARING","STATE_PREPARED","STATE_EXECUTING","STATE_EXECUTED","STATE_CUT_OVER","STATE_FINISHED","STATE_CANCELING","STATE_CANCELLED"],"type":"string"},"MountTask.Topic":{"properties":{"source_topic_reference":{"description":"The topic reference in the object storage bucket.\nThis field is only set for tasks of type MOUNT.","type":"string"},"topic_reference":{"description":"The topic reference within the current cluster, which may be either a simple topic name or a full reference\nin the form: cluster-uuid/topic-name/revision.","type":"string"}},"type":"object"},"MountTask.Type":{"description":" - TYPE_MOUNT: Mount represents the process of making topics available in a cluster by loading them from object storage.\n - TYPE_UNMOUNT: Unmount represents the process of offloading topics back to object storage.","enum":["TYPE_MOUNT","TYPE_UNMOUNT"],"type":"string"},"MountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of mount","type":"integer"}},"type":"object"},"Options":{"properties":{"include_tasks":{"description":"Restart connector's tasks.","type":"boolean"},"only_failed":{"description":"Restart only connectors that have failed.","type":"boolean"}},"type":"object"},"ParamDefinition":{"description":"ParamDefinition represents a parameter definition.","properties":{"default_value":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}},"type":"object"},"ParamSpec":{"description":"ParamSpec represents parameter specifications.","properties":{"definitions":{"items":{"$ref":"#/components/schemas/ParamDefinition"},"type":"array"}},"type":"object"},"PartitionStatus":{"enum":["PARTITION_STATUS_RUNNING","PARTITION_STATUS_INACTIVE","PARTITION_STATUS_ERRORED","PARTITION_STATUS_UNKNOWN"],"type":"string"},"PartitionTransformStatus":{"properties":{"broker_id":{"format":"int32","type":"integer"},"lag":{"format":"int32","type":"integer"},"partition_id":{"format":"int32","type":"integer"},"status":{"$ref":"#/components/schemas/PartitionStatus"}},"type":"object"},"PermissionType":{"description":"Whether the operation should be allowed or denied.","enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"},"Pipeline":{"description":"Defines the pipeline resource.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","title":"The pipeline configuration in YAML.\nSee https://docs.redpanda.com/redpanda-connect/configuration/about/","type":"string"},"description":{"description":"Optional pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"id":{"description":"Pipeline ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"state":{"$ref":"#/components/schemas/Pipeline.State"},"status":{"$ref":"#/components/schemas/Pipeline.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a pipeline resource.\nThey help organize pipelines and enable filtering when listing them.","type":"object"},"url":{"description":"URL to connect to the pipeline, for example, via http_server.\nMay be empty if no http_server is used.","type":"string"}},"required":["id","display_name","config_yaml"],"type":"object"},"Pipeline.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"type":"object"},"Pipeline.State":{"description":"State of the pipeline.\n\n - STATE_STARTING: The pipeline is starting.\n - STATE_RUNNING: The pipeline is running.\n - STATE_STOPPING: The pipeline is in the process of stopping.\n - STATE_STOPPED: The pipeline is stopped and in paused state.\n - STATE_ERROR: The pipeline encountered an error. See [Error Handling](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/error_handling/) for further guidance.\n - STATE_COMPLETED: The pipeline has completed the job successfully.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR","STATE_COMPLETED"],"type":"string"},"Pipeline.Status":{"description":"Pipeline status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"PipelineCreate":{"description":"PipelineCreate contains the details for the pipeline creation request.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"PipelineUpdate":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"PipelinesForSecret":{"properties":{"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"Policy":{"properties":{"host":{"description":"The host address for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"}},"type":"object"},"Quota.Value":{"properties":{"value":{"format":"double","type":"number"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"QuotaDeletion":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value_types":{"items":{"$ref":"#/components/schemas/ValueType"},"title":"Value that should be deleted for the specified entity","type":"array"}},"type":"object"},"QuotaEntry":{"description":"QuotaEntry represents the quota for a specific entity type.","properties":{"entity":{"$ref":"#/components/schemas/Entity"},"values":{"items":{"$ref":"#/components/schemas/Quota.Value"},"type":"array"}},"type":"object"},"QuotaFailure":{"description":"Describes how a quota check failed.\n\nFor example if a daily limit was exceeded for the calling project,\na service could respond with a QuotaFailure detail containing the project\nid and the description of the quota limit that was exceeded. If the\ncalling project hasn't enabled the service in the developer console, then\na service could respond with the project id and set `service_disabled`\nto true.\n\nAlso see RetryInfo and Help types for other details about handling a\nquota failure.","properties":{"violations":{"description":"Describes all quota violations.","items":{"$ref":"#/components/schemas/QuotaFailure.Violation"},"type":"array"}},"title":"QuotaFailure","type":"object"},"QuotaFailure.Violation":{"description":"A message type used to describe a single quota violation. For example, a\ndaily quota or a custom quota that was exceeded.","properties":{"api_service":{"description":"The API Service from which the `QuotaFailure.Violation` orginates. In\nsome cases, Quota issues originate from an API Service other than the one\nthat was called. In other words, a dependency of the called API Service\ncould be the cause of the `QuotaFailure`, and this field would have the\ndependency API service name.\n\nFor example, if the called API is Kubernetes Engine API\n(container.googleapis.com), and a quota violation occurs in the\nKubernetes Engine API itself, this field would be\n\"container.googleapis.com\". On the other hand, if the quota violation\noccurs when the Kubernetes Engine API creates VMs in the Compute Engine\nAPI (compute.googleapis.com), this field would be\n\"compute.googleapis.com\".","type":"string"},"description":{"description":"A description of how the quota check failed. Clients can use this\ndescription to find more about the quota configuration in the service's\npublic documentation, or find the relevant quota limit to adjust through\ndeveloper console.\n\nFor example: \"Service disabled\" or \"Daily Limit for read operations\nexceeded\".","type":"string"},"future_quota_value":{"description":"The new quota value being rolled out at the time of the violation. At the\ncompletion of the rollout, this value will be enforced in place of\nquota_value. If no rollout is in progress at the time of the violation,\nthis field is not set.\n\nFor example, if at the time of the violation a rollout is in progress\nchanging the number of CPUs quota from 10 to 20, 20 would be the value of\nthis field.","format":"int64","nullable":true,"type":"string"},"quota_dimensions":{"additionalProperties":{"type":"string"},"description":"The dimensions of the violated quota. Every non-global quota is enforced\non a set of dimensions. While quota metric defines what to count, the\ndimensions specify for what aspects the counter should be increased.\n\nFor example, the quota \"CPUs per region per VM family\" enforces a limit\non the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions\n\"region\" and \"vm_family\". And if the violation occurred in region\n\"us-central1\" and for VM family \"n1\", the quota_dimensions would be,\n\n{\n \"region\": \"us-central1\",\n \"vm_family\": \"n1\",\n}\n\nWhen a quota is enforced globally, the quota_dimensions would always be\nempty.","type":"object"},"quota_id":{"description":"The id of the violated quota. Also know as \"limit name\", this is the\nunique identifier of a quota in the context of an API service.\n\nFor example, \"CPUS-PER-VM-FAMILY-per-project-region\".","type":"string"},"quota_metric":{"description":"The metric of the violated quota. A quota metric is a named counter to\nmeasure usage, such as API requests or CPUs. When an activity occurs in a\nservice, such as Virtual Machine allocation, one or more quota metrics\nmay be affected.\n\nFor example, \"compute.googleapis.com/cpus_per_vm_family\",\n\"storage.googleapis.com/internet_egress_bandwidth\".","type":"string"},"quota_value":{"description":"The enforced quota value at the time of the `QuotaFailure`.\n\nFor example, if the enforced quota value at the time of the\n`QuotaFailure` on the number of CPUs is \"10\", then the value of this\nfield would reflect this quantity.","format":"int64","type":"string"},"subject":{"description":"The subject on which the quota check failed.\nFor example, \"clientip:\u003cip address of client\u003e\" or \"project:\u003cGoogle\ndeveloper project id\u003e\".","type":"string"}},"type":"object"},"QuotaSetting":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"values":{"items":{"$ref":"#/components/schemas/RequestQuotaValue"},"type":"array"}},"type":"object"},"ReplicaAssignment":{"properties":{"partition_id":{"description":"A partition to create.","format":"int32","type":"integer"},"replica_ids":{"description":"The broker IDs the partition replicas are assigned to.","items":{"format":"int32","type":"integer"},"type":"array"}},"type":"object"},"Request":{"properties":{"api_key":{"format":"int32","title":"API key for the request type (e.g., produce/fetch/metadata/etc)\nhttps://kafka.apache.org/0101/protocol.html#protocol_api_keys","type":"integer"},"in_flight_duration":{"title":"How long the request has been in-flight since it was received","type":"string"}},"type":"object"},"RequestQuotaEntity":{"properties":{"entity_name":{"description":"Entity name is the name of the entity type specified.\nIf left empty, the entity will be treated as a default entity (e.g., all clients).\nIf entity_type is ENTITY_TYPE_CLIENT_ID_PREFIX, this field must be set.","type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"RequestQuotaValue":{"properties":{"value":{"format":"double","type":"number"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"RequestStatistics":{"properties":{"fetch_bytes":{"description":"Sum of bytes fetched.","format":"uint64","type":"string"},"produce_batch_count":{"format":"uint64","title":"Number of produced batches.\nAverage batch size = produce_bytes / produce_batch_count","type":"string"},"produce_bytes":{"description":"Sum of bytes produced.","format":"uint64","type":"string"},"request_count":{"description":"Number of requests the client has made.","format":"uint64","type":"string"}},"type":"object"},"ResourcePatternType":{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"},"ResourceType":{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"Role":{"description":"Role defines a role in the system.","properties":{"name":{"description":"The name of the role.","type":"string"}},"type":"object"},"RoleMembership":{"description":"RoleMembership is the role membership.","properties":{"principal":{"description":"The name of the principal assigned to the role.","type":"string"}},"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"Scope":{"description":"Defines the scope of a secret.","enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"Secret":{"description":"Defines the secret resource.","properties":{"id":{"description":"Secret identifier.","readOnly":true,"type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"}},"type":"object"},"SetConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"SetPartitionsToTopicsRequest":{"properties":{"partition_count":{"description":"The number of partitions to set for the topics.","format":"int32","type":"integer"},"topic_names":{"description":"The topic names.","items":{"type":"string"},"type":"array"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"SetPartitionsToTopicsResponse":{"properties":{"statuses":{"description":"The status of the operation for each topic.","items":{"$ref":"#/components/schemas/AlterTopicPartitionStatus"},"type":"array"}},"type":"object"},"SetQuotaRequest":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value":{"$ref":"#/components/schemas/RequestQuotaValue"}},"type":"object"},"SetQuotaResponse":{"type":"object"},"SetTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after this update.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"SetTopicPartitionsBody":{"properties":{"partition_count":{"description":"The number of partitions to set for the topic.","format":"int32","type":"integer"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"SetTopicPartitionsResponse":{"type":"object"},"Source":{"properties":{"ip_address":{"type":"string"},"port":{"format":"int64","type":"integer"}},"type":"object"},"StartMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"StartPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"StopMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"StopPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"SuccessfulEntity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"TLSInfo":{"properties":{"enabled":{"title":"Whether TLS is in use","type":"boolean"}},"type":"object"},"TaskInfo":{"properties":{"connector":{"description":"Name of connector.","type":"string"},"task":{"description":"The connector task ID.","format":"int32","type":"integer"}},"type":"object"},"TaskStatus":{"properties":{"id":{"description":"The connector task ID.","format":"int32","type":"integer"},"state":{"description":"State of connector task.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the task is assigned to.","type":"string"}},"type":"object"},"Tool":{"description":"A configuration tool for the MCP server.","properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_yaml":{"description":"The contents of the configuration tool in YAML format.","type":"string"}},"required":["config_yaml"],"type":"object"},"TopicLocation":{"properties":{"topic_location":{"description":"Full reference for the unmounted topic in this format: `topic-name/cluster-uuid/revision`.\nUse this as unique identifier for mounting a topic if there are multiple topics available\nwith the same name.","type":"string"},"topic_name":{"description":"Topic name.","type":"string"}},"type":"object"},"TopicMount":{"description":"TopicMount defines the migration of a topic from the cloud storage into this cluster,\nso that it becomes available via the Kafka API.","properties":{"alias":{"description":"Alias may be provided to mount the topic under a different name. Leave\nblank to re-use the source topic name. The alias does not persist if you\nunmount the topic again.","type":"string"},"source_topic_reference":{"description":"The topic name or full reference of the topic to mount. The full reference\nmust be used in case the same topic exists more than once. This may be the case if\nthe same topic has been unmounted multiple times. List all mountable topics to\nfind the full reference (contains topic name, cluster uuid and revision).","type":"string"}},"required":["source_topic_reference"],"type":"object"},"TransformMetadata":{"properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"Input topic to apply the transform to.","type":"string"},"name":{"description":"Name of transform.","type":"string"},"output_topic_names":{"description":"Output topics to write the transform results to.","items":{"type":"string"},"type":"array"},"statuses":{"items":{"$ref":"#/components/schemas/PartitionTransformStatus"},"type":"array"}},"type":"object"},"UnmountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of unmount","type":"integer"}},"type":"object"},"UpdateConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"operation":{"$ref":"#/components/schemas/ConfigAlterOperation"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"UpdateKafkaConnectSecretBody":{"description":"UpdateKafkaConnectSecretRequest is the request of UpdateKafkaConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateKafkaConnectSecretResponse":{"description":"UpdateKafkaConnectSecretResponse is the response of UpdateKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"UpdateMountTaskBody":{"properties":{"action":{"$ref":"#/components/schemas/Action"}},"required":["action"],"type":"object"},"UpdateMountTaskResponse":{"type":"object"},"UpdatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"UpdateRoleMembershipBody":{"description":"UpdateRoleMembershipRequest is the request to UpdateRoleMembership.","properties":{"add":{"description":"Members to assign to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"create":{"description":"Create the role if it doesn't already exist.\nIf the role is created in this way, the “add” list will be respected, but the “remove” list will be ignored.","type":"boolean"},"remove":{"description":"Members to remove from the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"}},"type":"object"},"UpdateRoleMembershipResponse":{"description":"UpdateRoleMembershipResponse is the response for UpdateRoleMembership.","properties":{"added":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"removed":{"description":"Members removed from the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"role_name":{"description":"The role name.","type":"string"}},"type":"object"},"UpdateSecretBody":{"description":"UpdateSecretRequest is the request of UpdateSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"type":"object"},"UpdateSecretResponse":{"description":"UpdateSecretResponse is the response of UpdateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after applying this partial patch.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"UpdateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"UpdateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/UpdateUserResponse.User"}},"type":"object"},"UpdateUserResponse.User":{"description":"Updated user's name and SASL mechanism.","properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"type":"string"}},"type":"object"},"UpsertConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"ValueType":{"description":"The type of value that the quota represents.\n\n - VALUE_TYPE_PRODUCER_BYTE_RATE: The rate at which producers can send data.\n - VALUE_TYPE_CONSUMER_BYTE_RATE: The rate at which consumers can fetch data.\n - VALUE_TYPE_CONTROLLER_MUTATION_RATE: The rate at which topic mutation requests can be made.\n - VALUE_TYPE_REQUEST_PERCENTAGE: The percentage of the total throughput that can be used by the entity.\n\nNot supported in Redpanda","enum":["VALUE_TYPE_PRODUCER_BYTE_RATE","VALUE_TYPE_CONSUMER_BYTE_RATE","VALUE_TYPE_CONTROLLER_MUTATION_RATE","VALUE_TYPE_REQUEST_PERCENTAGE"],"type":"string"},"rpc.Status":{"description":"The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).","properties":{"code":{"description":"RPC status code, as described [here](https://github.com/googleapis/googleapis/blob/b4c238feaa1097c53798ed77035bbfeb7fc72e96/google/rpc/code.proto#L32).","enum":["OK","CANCELLED","UNKNOWN","INVALID_ARGUMENT","DEADLINE_EXCEEDED","NOT_FOUND","ALREADY_EXISTS","PERMISSION_DENIED","UNAUTHENTICATED","RESOURCE_EXHAUSTED","FAILED_PRECONDITION","ABORTED","OUT_OF_RANGE","UNIMPLEMENTED","INTERNAL","UNAVAILABLE","DATA_LOSS"],"format":"int32","type":"string"},"details":{"items":{"description":"Details of the error.","oneOf":[{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.BadRequest"],"type":"string"}}},{"$ref":"#/components/schemas/BadRequest"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.ErrorInfo"],"type":"string"}}},{"$ref":"#/components/schemas/ErrorInfo"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.QuotaFailure"],"type":"string"}}},{"$ref":"#/components/schemas/QuotaFailure"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.Help"],"type":"string"}}},{"$ref":"#/components/schemas/Help"}]}]},"type":"array"},"message":{"description":"Detailed error message. No compatibility guarantees are given for the text contained in this message.","type":"string"}},"type":"object"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1"},"openapi":"3.0.3","paths":{"/v1/acls":{"delete":{"description":"Delete all ACLs that match the filter criteria. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_DeleteACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","required":true,"schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","required":true,"schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","required":true,"schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","required":true,"schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete ACLs","tags":["Redpanda ACLs"]},"get":{"description":"List all ACLs. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_ListACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List ACLs","tags":["Redpanda ACLs"]},"post":{"description":"Create a new ACL.","operationId":"ACLService_CreateACL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLResponse"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create ACL","tags":["Redpanda ACLs"]}},"/v1/cloud-storage/mount-tasks":{"get":{"description":"This operation retrieves the status of a task responsible for mounting or unmounting topics. It provides details on the task’s type (mount or unmount), its current state, and the topics involved.","operationId":"CloudStorageService_ListMountTasks","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountTasksResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the mount task status","tags":["Cloud Storage"]}},"/v1/cloud-storage/mount-tasks/{id}":{"delete":{"description":"Delete a mount or unmount by ID.","operationId":"CloudStorageService_DeleteMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to delete.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a mount or unmount","tags":["Cloud Storage"]},"get":{"description":"Retrieves the status of a mount or unmount by ID. The response provides details on the operation type (mount or unmount), its current state, and the topics involved. Use the ID returned when you start the mount or unmount, or use the ListMountTasks endpoint to retrieve a list of IDs.","operationId":"CloudStorageService_GetMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to retrieve.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get the status of a mount or unmount by ID","tags":["Cloud Storage"]},"post":{"description":"This operation allows performing an action on an ongoing mount task.","operationId":"CloudStorageService_UpdateMountTask","parameters":[{"description":"ID is the unique identifier of the mount or unmount to update.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a mount or unmount","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/mount":{"post":{"description":"Attach mountable topics from object storage to a cluster, making them available for consumption and production again. Mounting a topic reloads its data and state to the local brokers, allowing active use of the topic.","operationId":"CloudStorageService_MountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TopicMount"},"required":["topics"],"type":"array"}}},"required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Mount topics from object storage","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/mountable":{"get":{"description":"Retrieve all topics that are currently unmounted and available to be mounted to the cluster. These topics reside in object storage and can be mounted for consumption or production within the cluster.","operationId":"CloudStorageService_ListMountableTopics","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountableTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List mountable topics","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/unmount":{"post":{"description":"Unmount topics to object storage, freeing up all local cluster resources. Once you unmount a topic, it can no longer be consumed or produced to. It detaches from the active cluster while its data remains safely stored in the external object storage.","operationId":"CloudStorageService_UnmountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"required":["topics"],"type":"array"}}},"description":"List of topics to unmount.","required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnmountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Unmount topics to object storage","tags":["Cloud Storage"]}},"/v1/kafka-connect/clusters":{"get":{"description":"List Connect clusters available in Console.","operationId":"KafkaConnectService_ListConnectClusters","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectClustersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect clusters","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}":{"get":{"description":"Get information about an available Kafka Connect cluster.","operationId":"KafkaConnectService_GetConnectCluster","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCluster"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Connect cluster not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect cluster","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors":{"get":{"description":"List connectors managed by the Kafka Connect service.","operationId":"KafkaConnectService_ListConnectors","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connectors","tags":["Kafka Connect"]},"post":{"description":"Create a connector with the specified configuration.","operationId":"KafkaConnectService_CreateConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"required":true,"x-originalParamName":"connector"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}":{"delete":{"description":"Delete a connector. This operation force stops all tasks and also deletes the connector configuration.","operationId":"KafkaConnectService_DeleteConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete connector","tags":["Kafka Connect"]},"get":{"description":"Get information about a connector in a specific cluster.","operationId":"KafkaConnectService_GetConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/config":{"get":{"description":"Get the configuration for the connector.","operationId":"KafkaConnectService_GetConnectorConfig","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector configuration","tags":["Kafka Connect"]},"put":{"description":"Update the configuration for an existing connector with the specified name, or create a new connector using the given configuration. Returns information about the connector after the change has been made.","operationId":"KafkaConnectService_UpsertConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector. If a connector with this name does not already exist, a new connector is created.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"required":["config"],"type":"object"}}},"description":"Connector configuration property.","required":true,"x-originalParamName":"config"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Updated"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Upsert connector configuration","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/pause":{"put":{"description":"Pause the connector and its tasks, which stops messages from processing until the connector is resumed. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_PauseConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Pause request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Pause connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/restart":{"post":{"description":"Triggers a connector restart. You must specify whether or not tasks are also restarted, and whether only failed connectors are restarted.","operationId":"KafkaConnectService_RestartConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Options"}}},"required":true,"x-originalParamName":"options"},"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Restart connector request success"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Restart connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/resume":{"put":{"description":"Resume a paused connector and its tasks, and resumes message processing. This call is asynchronous and may take some time to process. If the connector was not paused, this operation does not do anything.","operationId":"KafkaConnectService_ResumeConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Resume request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Resume connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/status":{"get":{"description":"Gets the current status of the connector, including the state for each of its tasks, error information, etc.","operationId":"KafkaConnectService_GetConnectorStatus","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorStatus"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector status","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/stop":{"put":{"description":"Stops a connector, but does not delete it. All tasks for the connector are shut down completely. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_StopConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics":{"get":{"description":"Returns a list of connector topic names. If the connector is inactive, this call returns an empty list.","operationId":"KafkaConnectService_ListConnectorTopics","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connector topics","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics/reset":{"put":{"description":"Resets the set of topic names that the connector is using.","operationId":"KafkaConnectService_ResetConnectorTopics","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector using the topics to be reset.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Reset connector topics","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/secrets":{"get":{"description":"List Kafka Connect cluster secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListKafkaConnectSecrets","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string][string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect cluster secrets","tags":["Secrets"]},"post":{"description":"Create a Kafka Connect cluster secret.","operationId":"SecretService_CreateKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKafkaConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetKafkaConnectSecretResponse"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Connect cluster secret","tags":["Secrets"]}},"/v1/kafka-connect/clusters/{cluster_name}/secrets/{id}":{"delete":{"description":"Delete a Kafka Connect cluster secret.","operationId":"SecretService_DeleteKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Connect cluster secret","tags":["Secrets"]},"get":{"description":"Get a specific Kafka Connect cluster secret.","operationId":"SecretService_GetKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"The ID of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetKafkaConnectSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect cluster secret","tags":["Secrets"]},"put":{"description":"Update a Kafka Connect cluster secret.","operationId":"SecretService_UpdateKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to update.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKafkaConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKafkaConnectSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Connect cluster secret","tags":["Secrets"]}},"/v1/monitoring/kafka/connections":{"get":{"description":"List information on recent connections to the cluster.","operationId":"MonitoringService_ListKafkaConnections","parameters":[{"description":"The maximum number of connections to return. If unspecified or 0, a\ndefault value may be applied. The server may return fewer connections\nthan requested due to memory constraints; the limit is set to allow\nlisting all connections for a single broker. Consider filtering by\nnode_id to view connections for specific brokers. Note that paging is\ncurrently not fully supported, and this field only acts as a limit for\nthe first page of data returned. Subsequent pages of data cannot be\nrequested.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Filter expression to apply to the connection list.\nUses a subset of AIP-160 filter syntax supporting:\n- Field comparisons (`=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, `\u003e=`)\n- Logical AND chaining: condition1 AND condition2\n- Nested field access: parent.child = value\n- Escape sequences: field = \"string with \\\"quotes\\\"\"\n- Enum types\n- RFC3339 timestamps and ISO-like duration\n\nLimitations (not supported):\n- Logical OR chaining\n- Parentheses `(` `)` for grouping\n- Map and repeated types\n- HAS (:) operator\n- Negation (-, NOT)\n- Bare literal matching\n\nExample filters:\n- `state = KAFKA_CONNECTION_STATE_OPEN`\n- `idle_duration \u003e 30s AND total_request_statistics.request_count \u003e 100`\n- `authentication_info.user_principal = \"my-producer\"`\n- `recent_request_statistics.produce_bytes \u003e 1000 AND\nclient_software_name = \"kgo\"`\n- `open_time \u003e= 2025-09-01T10:22:54Z`\n\nReference: https://google.aip.dev/160","in":"query","name":"filter","schema":{"type":"string"}},{"description":"Field-based ordering specification following AIP-132 syntax.\nSupports multiple fields with `asc`/`desc` direction indicators.\nExamples:\n- `idle_duration desc` - longest idle connections first\n- `open_time desc, total_request_statistics.request_count desc` - newest\nconnections first, then most active\n- `recent_request_statistics.produce_bytes desc` - connections with\nhighest current produce throughput first\n\nReference: https://google.aip.dev/132#ordering","in":"query","name":"order_by","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListKafkaConnectionsResponse"}}},"description":"Recent connections"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Recent Connections","tags":["Monitoring"]}},"/v1/quotas":{"get":{"description":"List client quotas. Use filter parameters to narrow results by entity type and filter criteria.","operationId":"QuotaService_ListQuotas","parameters":[{"description":"The type of entity to filter by. If unspecified, all entities will be returned.\n\n - ENTITY_TYPE_USER: Not supported in Redpanda\n - ENTITY_TYPE_IP: Not supported in Redpanda","in":"query","name":"filter.entity_type","schema":{"enum":["ENTITY_TYPE_CLIENT_ID","ENTITY_TYPE_CLIENT_ID_PREFIX","ENTITY_TYPE_USER","ENTITY_TYPE_IP"],"type":"string"}},{"description":"Filter by entity name. If unspecified will return all entities for specified entity type.","in":"query","name":"filter.entity_name","schema":{"type":"string"}},{"description":"If true, the entity_name will match the default entity (e.g., default client-id).","in":"query","name":"filter.match_default","schema":{"type":"boolean"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListQuotasResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List quotas","tags":["Quotas"]},"post":{"description":"Create or update client throughput quotas for a single entity. This operation is an upsert.","operationId":"QuotaService_SetQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetQuotaResponse"}}},"description":"Quota Set"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set a quota","tags":["Quotas"]}},"/v1/quotas:batchDelete":{"post":{"description":"Delete client quotas for multiple entities and values in a single request.","operationId":"QuotaService_BatchDeleteQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteQuotaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete multiple quotas","tags":["Quotas"]}},"/v1/quotas:batchSet":{"post":{"description":"Create or update client throughput quotas for multiple entities in a single request.","operationId":"QuotaService_BatchSetQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSetQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSetQuotaResponse"}}},"description":"Quotas Set"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set multiple quotas","tags":["Quotas"]}},"/v1/quotas:delete":{"post":{"description":"Delete client quotas for single entity and value.","operationId":"QuotaService_DeleteQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteQuotaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a quota","tags":["Quotas"]}},"/v1/redpanda-connect/components":{"get":{"description":"Returns a JSON list of available [components](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about), filtered by component type.","operationId":"PipelineService_ListComponents","parameters":[{"in":"query","name":"read_mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListComponentsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the list of available components","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/config-schema":{"get":{"description":"The configuration schema includes available [components and processors](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about) in this Redpanda Connect instance.","operationId":"PipelineService_GetPipelineServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelineServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect pipeline configurations","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/mcp-servers":{"get":{"description":"List Redpanda Connect MCP Servers. Optional: filter based on MCP server name.","operationId":"MCPServerService_ListMCPServers","parameters":[{"description":"Any MCP Server that partially match this name will be returned.","in":"query","name":"filter.display_name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"description":"Match MCP servers that use this secret ID.","in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMCPServersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect MCP Servers","tags":["Redpanda Connect MCP servers"]},"post":{"description":"Create a new Redpanda Connect MCP Server.","operationId":"MCPServerService_CreateMCPServer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerCreate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}":{"delete":{"description":"Delete a Redpanda Connect MCP server.","operationId":"MCPServerService_DeleteMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"get":{"description":"Get a specific Redpanda Connect MCP server.","operationId":"MCPServerService_GetMCPServer","parameters":[{"description":"MCP server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"put":{"description":"Update the configuration of a Redpanda Connect MCP server.","operationId":"MCPServerService_UpdateMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerUpdate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}:start":{"post":{"description":"Start a stopped Redpanda Connect MCP server.","operationId":"MCPServerService_StartMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}:stop":{"post":{"description":"Stop a running Redpanda Connect MCP server.","operationId":"MCPServerService_StopMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers:getConfigSchema":{"get":{"description":"The configuration schema includes available components and processors in this Redpanda Connect MCP Server instance.","operationId":"MCPServerService_GetMCPServerServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMCPServerServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect MCP Servers configurations.","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect MCP tools YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"MCPServerService_LintMCPConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect MCP tools configuration","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/pipelines":{"get":{"description":"List Redpanda Connect pipelines. Optional: filter based on pipeline name.","operationId":"PipelineService_ListPipelines","parameters":[{"description":"Any pipelines that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPipelinesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect pipelines","tags":["Redpanda Connect Pipelines"]},"post":{"description":"Create a new Redpanda Connect pipeline.","operationId":"PipelineService_CreatePipeline","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineCreate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines-by-secrets":{"get":{"description":"Get Redpanda Connect pipelines by secrets.","operationId":"PipelineService_GetPipelinesBySecrets","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesBySecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines by secrets","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines-for-secret":{"get":{"description":"Get Redpanda Connect pipelines for a given secret.","operationId":"PipelineService_GetPipelinesForSecret","parameters":[{"description":"Secret ID.","in":"query","name":"secret_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesForSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines for secret","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}":{"delete":{"description":"Delete a Redpanda Connect pipeline.","operationId":"PipelineService_DeletePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]},"get":{"description":"Get a specific Redpanda Connect pipeline.","operationId":"PipelineService_GetPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]},"put":{"description":"Update the [configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) of a Redpanda Connect pipeline.","operationId":"PipelineService_UpdatePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineUpdate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}/start":{"put":{"description":"Start a stopped Redpanda Connect pipeline.","operationId":"PipelineService_StartPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}/stop":{"put":{"description":"Stop a running Redpanda Connect pipeline.","operationId":"PipelineService_StopPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect pipeline YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"PipelineService_LintPipelineConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintPipelineConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintPipelineConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect pipeline configuration","tags":["Redpanda Connect Pipelines"]}},"/v1/roles":{"get":{"description":"List roles. Optional: filter based on role name and principal.","operationId":"SecurityService_ListRoles","parameters":[{"description":"Filter results only roles named with the prefix.","in":"query","name":"filter.name_prefix","schema":{"type":"string"}},{"description":"Filter results to only roles with names which contain the string.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Return only roles assigned to this principal.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"Page size.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRolesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List roles","tags":["Security"]},"post":{"description":"Create a role.","operationId":"SecurityService_CreateRole","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"description":"The role to create.","required":true,"x-originalParamName":"role"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleResponse"}}},"description":"Role created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create role","tags":["Security"]}},"/v1/roles/{role_name}":{"delete":{"description":"Delete a role.","operationId":"SecurityService_DeleteRole","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}},{"description":"Whether to delete the ACLs bound to the role.","in":"query","name":"delete_acls","schema":{"type":"boolean"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Role deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete role","tags":["Security"]},"get":{"description":"Get a role.","operationId":"SecurityService_GetRole","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRoleResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get role","tags":["Security"]},"put":{"description":"Update a role.","operationId":"SecurityService_UpdateRoleMembership","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleMembershipBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleMembershipResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update role","tags":["Security"]}},"/v1/roles/{role_name}/members":{"get":{"description":"List members assigned to a role.","operationId":"SecurityService_ListRoleMembers","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}},{"description":"Filter results to only members with names which contain the string.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Page size.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRoleMembersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List role members","tags":["Security"]}},"/v1/secret-scopes":{"get":{"description":"List supported secret scopes.","operationId":"SecretService_ListSecretScopes","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretScopesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List secret scopes","tags":["Secrets"]}},"/v1/secrets":{"get":{"description":"List secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListSecrets","parameters":[{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List secrets","tags":["Secrets"]},"post":{"description":"Create a secret.","operationId":"SecretService_CreateSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretRequest"}}},"description":"CreateSecretRequest is the request of CreateSecret.","required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretResponse"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create secret","tags":["Secrets"]}},"/v1/secrets/resources":{"get":{"description":"Get resources by secret.","operationId":"SecretService_ListResources","parameters":[{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResourcesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get resources by secret","tags":["Secrets"]}},"/v1/secrets/{id}":{"delete":{"description":"Delete a secret.","operationId":"SecretService_DeleteSecret","parameters":[{"description":"The id of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete secret","tags":["Secrets"]},"get":{"description":"Get a secret.","operationId":"SecretService_GetSecret","parameters":[{"description":"The id of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get secret","tags":["Secrets"]},"put":{"description":"Update a secret.","operationId":"SecretService_UpdateSecret","parameters":[{"description":"Secret identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update secret","tags":["Secrets"]}},"/v1/topics":{"get":{"description":"List topics, with partition count and replication factor. Optional: filter based on topic name.","operationId":"TopicService_ListTopics","parameters":[{"description":"Substring match on topic name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List topics","tags":["Topics"]},"post":{"description":"Create a [topic](https://docs.redpanda.com/redpanda-cloud/get-started/create-topic/).","operationId":"TopicService_CreateTopic","parameters":[{"description":"If true, makes this request a dry run; everything is validated but\nno topics are actually created.","in":"query","name":"validate_only","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicRequest.Topic"}}},"description":"The topic to create.","required":true,"x-originalParamName":"topic"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicResponse"}}},"description":"Topic created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create topic","tags":["Topics"]}},"/v1/topics-partitions":{"patch":{"description":"Add partitions to existing topics. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_AddPartitionsToTopics","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPartitionsToTopicsRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPartitionsToTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Add topic partitions","tags":["Topics"]},"put":{"description":"Set partition counts for existing topics. New value must be equal to or larger than the current count of partitions in the topic. All topics will have the same final count of partitions. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_SetPartitionsToTopics","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPartitionsToTopicsRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPartitionsToTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic partitions","tags":["Topics"]}},"/v1/topics/{topic_name}":{"delete":{"description":"Delete the Kafka topic with the requested name.","operationId":"TopicService_DeleteTopic","parameters":[{"description":"Topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Topic deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Requested topic does not exist"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete topic","tags":["Topics"]}},"/v1/topics/{topic_name}/configurations":{"get":{"description":"Get key-value configs for a topic.","operationId":"TopicService_GetTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get topic configurations","tags":["Topics"]},"patch":{"description":"Update a subset of the topic configurations.","operationId":"TopicService_UpdateTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UpdateConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update topic configuration","tags":["Topics"]},"put":{"description":"Update the entire set of key-value configurations for a topic. Config entries that are not provided in the request are removed and will fall back to their default values.","operationId":"TopicService_SetTopicConfigurations","parameters":[{"description":"Name of topic.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SetConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic configurations","tags":["Topics"]}},"/v1/topics/{topic_name}/partitions":{"patch":{"description":"Add partitions to an existing topic. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_AddTopicPartitions","parameters":[{"description":"The topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTopicPartitionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTopicPartitionsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Add topic partitions","tags":["Topics"]},"put":{"description":"Set partitions to an existing topic. New value must be equal to or larger than the current count of partitions in the topic. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_SetTopicPartitions","parameters":[{"description":"The topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicPartitionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicPartitionsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic partitions","tags":["Topics"]}},"/v1/transforms":{"get":{"description":"Retrieve a list of Wasm transforms. Optional: filter based on transform name.","operationId":"TransformService_ListTransforms","parameters":[{"description":"Substring match on transform name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","transforms":[{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic11","output-topic12"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]},{"environment_variables":[],"input_topic_name":"topic2","name":"transform2","output_topic_names":["output-topic21","output-topic22"],"statuses":[{"broker_id":2,"lag":2,"partition_id":2,"status":"PARTITION_STATUS_RUNNING"}]}]},"schema":{"$ref":"#/components/schemas/ListTransformsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List transforms","tags":["Wasm Transforms"]},"put":{"description":"Initiate deployment of a new Wasm transform. This endpoint uses multipart/form-data encoding. Following deployment, a brief period is required before the Wasm transform becomes operational. Monitor the partition statuses to check whether the transform is active. This usually takes around 3s, but no longer than 10s.","operationId":"TransformService_DeployTransform","requestBody":{"content":{"multipart/form-data":{"schema":{"example":"{\"name\":\"redact-orders\",\"input_topic_name\":\"orders\",\"output_topic_names\":[\"orders-redacted\"],\"environment_variables\":[{\"key\":\"LOGGER_LEVEL\",\"value\":\"DEBUG\"}]}","properties":{"metadata":{"$ref":"#/components/schemas/DeployTransformRequest"},"wasm_binary":{"description":"Binary file containing the compiled WASM transform. The maximum size for this file is 10MiB.","format":"binary","type":"string"}},"type":"object"}}},"description":"Transform metadata as well as the WASM binary","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransformMetadata"}}},"description":"Created"}},"summary":"Deploy Transform","tags":["Wasm Transforms"]}},"/v1/transforms/{name}":{"delete":{"description":"Delete a Wasm transform with the requested name.","operationId":"TransformService_DeleteTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"Transform deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete transform","tags":["Wasm Transforms"]},"get":{"description":"Get a specific Wasm transform.","operationId":"TransformService_GetTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"transform":{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic1","output-topic2"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]}},"schema":{"$ref":"#/components/schemas/GetTransformResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get transform","tags":["Wasm Transforms"]}},"/v1/users":{"get":{"description":"List users. Optional: filter based on username.","operationId":"UserService_ListUsers","parameters":[{"description":"Username.","in":"query","name":"filter.name","schema":{"type":"string"}},{"description":"Substring match on username. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","users":[{"name":"payment-service"},{"name":"jane"}]},"schema":{"$ref":"#/components/schemas/ListUsersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List users","tags":["Redpanda Users"]},"post":{"description":"Create a new user.","operationId":"UserService_CreateUser","requestBody":{"content":{"application/json":{"example":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service","password":"secure-password"},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"required":true,"x-originalParamName":"user"},"responses":{"201":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"description":"User created"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create user","tags":["Redpanda Users"]}},"/v1/users/{name}":{"delete":{"description":"Delete the specified user","operationId":"UserService_DeleteUser","parameters":[{"description":"Username","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"User deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"example":{"code":"NOT_FOUND","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_RESOURCE_NOT_FOUND"}],"message":"user not found"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete user","tags":["Redpanda Users"]}},"/v1/users/{user.name}":{"put":{"description":"Update a user's credentials.","operationId":"UserService_UpdateUser","parameters":[{"description":"Username.","in":"path","name":"user.name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","password":"new-password"}},"schema":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"password":{"description":"Password.","type":"string"}},"type":"object"}}},"required":true,"x-originalParamName":"user"},"responses":{"200":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/UpdateUserResponse.User"}}},"description":"OK"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update user","tags":["Redpanda Users"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Manage Redpanda access control lists (ACLs). See [Redpanda Cloud Authorization](https://docs.redpanda.com/redpanda-cloud/security/authorization/cloud-authorization/) for more information.","name":"Redpanda ACLs"},{"description":"Manage Redpanda topics stored in object storage. See: [Mountable Topics](https://docs.redpanda.com/redpanda-cloud/manage/mountable-topics/)","name":"Cloud Storage"},{"description":"Manage Wasm transforms in Redpanda.","name":"Wasm Transforms"},{"description":"Manage [connectors](https://docs.redpanda.com/redpanda-cloud/develop/managed-connectors/) and interact with the Kafka Connect API.","name":"Kafka Connect"},{"description":"Create and manage [Redpanda Connect](https://docs.redpanda.com/redpanda-cloud/develop/connect/about) pipelines and their configurations.","name":"Redpanda Connect Pipelines"},{"description":"Create and manage Redpanda Connect MCP servers and their configurations.","name":"Redpanda Connect MCP servers"},{"description":"Monitoring operations for Redpanda.","name":"Monitoring"},{"description":"Manage client throughput limits. See [Redpanda Client Throughput Limits](https://docs.redpanda.com/current/manage/cluster-maintenance/manage-throughput/#client-throughput-limits) for more information.","name":"Quotas"},{"description":"Manage [secrets](https://docs.redpanda.com/redpanda-cloud/security/secrets) for Redpanda Cloud.","name":"Secrets"},{"description":"Manage Redpanda roles.","name":"Security"},{"description":"Manage Redpanda topics.","name":"Topics"},{"description":"Manage Redpanda users. For more information, see [Role-Based Access Control](https://docs.redpanda.com/redpanda-cloud/security/authorization/rbac/).","name":"Redpanda Users"}]} \ No newline at end of file diff --git a/proto/gen/openapi/openapi.v1alpha2.json b/proto/gen/openapi/openapi.v1alpha2.json index 8920d4b7a..5f2227ffc 100644 --- a/proto/gen/openapi/openapi.v1alpha2.json +++ b/proto/gen/openapi/openapi.v1alpha2.json @@ -1 +1 @@ -{"components":{"schemas":{"ACL.Operation":{"description":"The operation that is allowed or denied (e.g. READ).","enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"},"Action":{"enum":["ACTION_PREPARE","ACTION_EXECUTE","ACTION_FINISH","ACTION_CANCEL"],"type":"string"},"BadRequest":{"description":"Describes violations in a client request. This error type focuses on the\nsyntactic aspects of the request.","properties":{"field_violations":{"description":"Describes all violations in a client request.","items":{"$ref":"#/components/schemas/FieldViolation"},"type":"array"}},"title":"BadRequest","type":"object"},"Config":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigAlterOperation":{"enum":["CONFIG_ALTER_OPERATION_SET","CONFIG_ALTER_OPERATION_DELETE","CONFIG_ALTER_OPERATION_APPEND","CONFIG_ALTER_OPERATION_SUBTRACT"],"type":"string"},"ConfigSource":{"enum":["CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG","CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG","CONFIG_SOURCE_STATIC_BROKER_CONFIG","CONFIG_SOURCE_DEFAULT_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_LOGGER_CONFIG"],"type":"string"},"ConfigSynonym":{"properties":{"name":{"type":"string"},"source":{"$ref":"#/components/schemas/ConfigSource"},"value":{"nullable":true,"type":"string"}},"type":"object"},"ConfigType":{"enum":["CONFIG_TYPE_BOOLEAN","CONFIG_TYPE_STRING","CONFIG_TYPE_INT","CONFIG_TYPE_SHORT","CONFIG_TYPE_LONG","CONFIG_TYPE_DOUBLE","CONFIG_TYPE_LIST","CONFIG_TYPE_CLASS","CONFIG_TYPE_PASSWORD"],"type":"string"},"Configuration":{"properties":{"config_synonyms":{"description":"If no config value is set at the topic level, it will inherit the value\nset at the broker or cluster level. `name` is the corresponding config\nkey whose value is inherited. `source` indicates whether the inherited\nconfig is default, broker, etc.","items":{"$ref":"#/components/schemas/ConfigSynonym"},"type":"array"},"documentation":{"description":"Config documentation.","nullable":true,"type":"string"},"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"read_only":{"description":"Whether the config is read-only, or is dynamic and can be altered.","type":"boolean"},"sensitive":{"description":"Whether this is a sensitive config key and value.","type":"boolean"},"source":{"$ref":"#/components/schemas/ConfigSource"},"type":{"$ref":"#/components/schemas/ConfigType"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConnectCluster":{"properties":{"address":{"description":"The host address of the Kafka Connect cluster.","type":"string"},"info":{"$ref":"#/components/schemas/ConnectCluster.Info"},"name":{"description":"Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`.","type":"string"},"plugins":{"items":{"$ref":"#/components/schemas/ConnectorPlugin"},"type":"array"}},"type":"object"},"ConnectCluster.Info":{"properties":{"commit":{"description":"The git commit ID of the connect worker source code.","type":"string"},"kafka_cluster_id":{"description":"Cluster ID.","type":"string"},"version":{"description":"Connect worker version.","type":"string"}},"type":"object"},"Connector":{"properties":{"state":{"description":"State of the connector instance.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the connector is assigned to.","type":"string"}},"type":"object"},"ConnectorError":{"properties":{"content":{"description":"Detailed description of the error.","type":"string"},"title":{"description":"Short description of the error.","type":"string"},"type":{"$ref":"#/components/schemas/ConnectorError.Type"}},"title":"ConnectorError is the error of a connector, this is holistic error\nabstraction, made parsing the error trace of connector or Task","type":"object"},"ConnectorError.Type":{"description":"Error level.","enum":["TYPE_ERROR","TYPE_WARNING"],"type":"string"},"ConnectorHolisticState":{"description":"State of a connector or one of its tasks, as described in the [Kafka Connect documentation](https://kafka.apache.org/documentation.html#connect_administration). Takes into account not just the state of the connector instance itself, but also the tasks within the connector.\n\n - CONNECTOR_HOLISTIC_STATE_PAUSED: The connector or task has been administratively paused.\n - CONNECTOR_HOLISTIC_STATE_RESTARTING: The connector or task is restarting.\n - CONNECTOR_HOLISTIC_STATE_DESTROYED: The connector is destroyed, regardless of any tasks.\n - CONNECTOR_HOLISTIC_STATE_STOPPED: The connector or task has been stopped.\n - CONNECTOR_HOLISTIC_STATE_UNASSIGNED: - The connector or task has not yet been assigned to a worker,\n- THe connector is running, but there are unassigned tasks.\n - CONNECTOR_HOLISTIC_STATE_HEALTHY: The connector is running, \u003e 0 tasks, all of them in running state.\n - CONNECTOR_HOLISTIC_STATE_UNHEALTHY: - The connector has failed,\n- The connector is running, but has no tasks,\n- Connector is running and has tasks, but all tasks have failed.\n - CONNECTOR_HOLISTIC_STATE_DEGRADED: The connector is running and has tasks, and at least one task, but not all, have failed.\n - CONNECTOR_HOLISTIC_STATE_UNKNOWN: The connector or task state could not be determined.","enum":["CONNECTOR_HOLISTIC_STATE_PAUSED","CONNECTOR_HOLISTIC_STATE_RESTARTING","CONNECTOR_HOLISTIC_STATE_DESTROYED","CONNECTOR_HOLISTIC_STATE_STOPPED","CONNECTOR_HOLISTIC_STATE_UNASSIGNED","CONNECTOR_HOLISTIC_STATE_HEALTHY","CONNECTOR_HOLISTIC_STATE_UNHEALTHY","CONNECTOR_HOLISTIC_STATE_DEGRADED","CONNECTOR_HOLISTIC_STATE_UNKNOWN"],"type":"string"},"ConnectorInfoStatus":{"properties":{"info":{"$ref":"#/components/schemas/ConnectorSpec"},"name":{"description":"Name of connector.","type":"string"},"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"ConnectorPlugin":{"properties":{"class":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ConnectorSpec":{"description":"Connector specifications as defined in the Kafka Connect\nAPI. You may include this in the request body when creating a new connector.","properties":{"config":{"additionalProperties":{"type":"string"},"description":"Connector configuration properties.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"items":{"$ref":"#/components/schemas/TaskInfo"},"readOnly":true,"type":"array"},"type":{"readOnly":true,"type":"string"}},"required":["name","config"],"type":"object"},"ConnectorStatus":{"properties":{"connector":{"$ref":"#/components/schemas/Connector"},"errors":{"description":"List of parsed connectors' and tasks' errors.","items":{"$ref":"#/components/schemas/ConnectorError"},"type":"array"},"holistic_state":{"$ref":"#/components/schemas/ConnectorHolisticState"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"description":"Status of connector tasks. For more information, see the [https://docs.redpanda.com/current/deploy/deployment-option/cloud/managed-connectors/monitor-connectors/#connector-tasks](Monitor Connectors) documentation.","items":{"$ref":"#/components/schemas/TaskStatus"},"type":"array"},"type":{"description":"Type of connector (sink or source).","type":"string"}},"type":"object"},"CreateACLRequest":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.\nFor requests with resource_type CLUSTER, this will default to \"kafka-cluster\".","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","principal","host","operation","permission_type"],"type":"object"},"CreateACLResponse":{"type":"object"},"CreateConnectSecretBody":{"description":"CreateConnectSecretRequest is the request of CreateConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["name","secret_data"],"type":"object"},"CreateConnectSecretResponse":{"description":"CreateConnectSecretResponse is the response of CreateConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"CreatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"CreateSecretRequest":{"description":"CreateSecretRequest is the request of CreateSecret.","properties":{"id":{"description":"Secret identifier.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"CreateSecretResponse":{"description":"CreateSecretResponse is the response of CreateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateTopicRequest.Topic":{"properties":{"configs":{"description":"An array of key-value config pairs for a topic.\nThese correspond to Kafka topic-level configs.","items":{"$ref":"#/components/schemas/Config"},"type":"array"},"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions to give the topic. If specifying\npartitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default partition count, set to null.","format":"int32","nullable":true,"type":"integer"},"replica_assignments":{"description":"Manually specify broker ID assignments for partition replicas. If manually assigning replicas, both `replication_factor` and\n`partition_count` must be -1.","items":{"$ref":"#/components/schemas/ReplicaAssignment"},"type":"array"},"replication_factor":{"description":"The number of replicas every partition must have.\nIf specifying partitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default replication factor, set to null.","format":"int32","nullable":true,"type":"integer"}},"type":"object"},"CreateTopicResponse":{"properties":{"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions created for the topic.\nThis field has a default value of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"replication_factor":{"description":"The number of replicas per topic partition.\nThis field has a default of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"}},"type":"object"},"CreateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"CreateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/CreateUserResponse.User"}},"type":"object"},"CreateUserResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"title":"Name of newly-created user","type":"string"}},"type":"object"},"DeleteACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","operation","permission_type"],"type":"object"},"DeleteACLsResponse":{"properties":{"matching_acls":{"items":{"$ref":"#/components/schemas/MatchingACL"},"type":"array"}},"type":"object"},"DeleteConnectSecretResponse":{"description":"DeleteConnectSecretResponse is the response of DeleteConnectSecret.","type":"object"},"DeleteMountTaskResponse":{"type":"object"},"DeletePipelineResponse":{"type":"object"},"DeleteSecretResponse":{"description":"DeleteSecretResponse is the response of DeleteSecret.","type":"object"},"DeleteTopicResponse":{"type":"object"},"DeleteTransformResponse":{"type":"object"},"DeleteUserResponse":{"type":"object"},"DeployTransformRequest":{"description":"Metadata required to deploy a new Wasm\ntransform in a Redpanda cluster.","properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"The input topic to apply the transform to.","example":"orders","type":"string"},"name":{"description":"Name of the transform.","example":"redact-payment-details-in-orders","type":"string"},"output_topic_names":{"description":"Output topic to write the transform results to.","example":"orders-redacted","items":{"type":"string"},"type":"array"}},"required":["name","input_topic_name","output_topic_names"],"type":"object"},"EnvironmentVariable":{"properties":{"key":{"description":"The key of your environment variable.","example":"LOG_LEVEL","type":"string"},"value":{"description":"The value of your environment variable.","example":"DEBUG","type":"string"}},"required":["key","value"],"type":"object"},"ErrorInfo":{"description":"Describes the cause of the error with structured details.\n\nExample of an error when contacting the \"pubsub.googleapis.com\" API when it\nis not enabled:\n\n { \"reason\": \"API_DISABLED\"\n \"domain\": \"googleapis.com\"\n \"metadata\": {\n \"resource\": \"projects/123\",\n \"service\": \"pubsub.googleapis.com\"\n }\n }\n\nThis response indicates that the pubsub.googleapis.com API is not enabled.\n\nExample of an error that is returned when attempting to create a Spanner\ninstance in a region that is out of stock:\n\n { \"reason\": \"STOCKOUT\"\n \"domain\": \"spanner.googleapis.com\",\n \"metadata\": {\n \"availableRegions\": \"us-central1,us-east2\"\n }\n }","properties":{"domain":{"description":"The logical grouping to which the \"reason\" belongs. The error domain\nis typically the registered service name of the tool or product that\ngenerates the error. Example: \"pubsub.googleapis.com\". If the error is\ngenerated by some common infrastructure, the error domain must be a\nglobally unique value that identifies the infrastructure. For Google API\ninfrastructure, the error domain is \"googleapis.com\".","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"Additional structured details about this error.\n\nKeys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should\nideally be lowerCamelCase. Also, they must be limited to 64 characters in\nlength. When identifying the current value of an exceeded limit, the units\nshould be contained in the key, not the value. For example, rather than\n`{\"instanceLimit\": \"100/request\"}`, should be returned as,\n`{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of\ninstances that can be created in a single (batch) request.","type":"object"},"reason":{"description":"The reason of the error. This is a constant value that identifies the\nproximate cause of the error. Error reasons are unique within a particular\ndomain of errors. This should be at most 63 characters and match a\nregular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents\nUPPER_SNAKE_CASE.","type":"string"}},"title":"ErrorInfo","type":"object"},"FieldViolation":{"description":"A message type used to describe a single bad request field.","properties":{"description":{"description":"A description of why the request element is bad.","type":"string"},"field":{"description":"A path that leads to a field in the request body. The value will be a\nsequence of dot-separated identifiers that identify a protocol buffer\nfield.\n\nConsider the following:\n\n message CreateContactRequest {\n message EmailAddress {\n enum Type {\n TYPE_UNSPECIFIED = 0;\n HOME = 1;\n WORK = 2;\n }\n\n optional string email = 1;\n repeated EmailType type = 2;\n }\n\n string full_name = 1;\n repeated EmailAddress email_addresses = 2;\n }\n\nIn this example, in proto `field` could take one of the following values:\n\n* `full_name` for a violation in the `full_name` value\n* `email_addresses[1].email` for a violation in the `email` field of the\n first `email_addresses` message\n* `email_addresses[3].type[2]` for a violation in the second `type`\n value in the third `email_addresses` message.\n\nIn JSON, the same values are represented as:\n\n* `fullName` for a violation in the `fullName` value\n* `emailAddresses[1].email` for a violation in the `email` field of the\n first `emailAddresses` message\n* `emailAddresses[3].type[2]` for a violation in the second `type`\n value in the third `emailAddresses` message.","type":"string"},"localized_message":{"$ref":"#/components/schemas/LocalizedMessage"},"reason":{"description":"The reason of the field-level error. This is a constant value that\nidentifies the proximate cause of the field-level error. It should\nuniquely identify the type of the FieldViolation within the scope of the\ngoogle.rpc.ErrorInfo.domain. This should be at most 63\ncharacters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,\nwhich represents UPPER_SNAKE_CASE.","type":"string"}},"type":"object"},"GetConnectClusterResponse":{"properties":{"cluster":{"$ref":"#/components/schemas/ConnectCluster"}},"type":"object"},"GetConnectSecretResponse":{"description":"GetConnectSecretResponse is the response of GetConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetConnectorConfigResponse":{"properties":{"config":{"additionalProperties":{"type":"string"},"type":"object"}},"type":"object"},"GetConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"GetConnectorStatusResponse":{"properties":{"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"GetMountTaskResponse":{"properties":{"task":{"$ref":"#/components/schemas/MountTask"}},"type":"object"},"GetPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"GetPipelineServiceConfigSchemaResponse":{"properties":{"config_schema":{"description":"JSON schema of the configuration components that are allowed for Connect pipelines.","type":"string"}},"type":"object"},"GetPipelinesBySecretsResponse":{"properties":{"pipelines_for_secret":{"items":{"$ref":"#/components/schemas/PipelinesForSecret"},"type":"array"}},"type":"object"},"GetPipelinesForSecretResponse":{"properties":{"pipelines_for_secret":{"$ref":"#/components/schemas/PipelinesForSecret"}},"type":"object"},"GetSecretResponse":{"description":"GetSecretResponse is the response of GetSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetTopicConfigurationsResponse":{"properties":{"configurations":{"items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"GetTransformResponse":{"properties":{"transform":{"$ref":"#/components/schemas/TransformMetadata"}},"type":"object"},"Help":{"description":"Provides links to documentation or for performing an out of band action.\n\nFor example, if a quota check failed with an error indicating the calling\nproject hasn't enabled the accessed service, this can contain a URL pointing\ndirectly to the right place in the developer console to flip the bit.","properties":{"links":{"description":"URL(s) pointing to additional information on handling the current error.","items":{"$ref":"#/components/schemas/Link"},"type":"array"}},"title":"Help","type":"object"},"Link":{"description":"Describes a URL link.","properties":{"description":{"description":"Describes what the link offers.","type":"string"},"url":{"description":"The URL of the link.","type":"string"}},"type":"object"},"ListACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListACLsResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/Resource"},"type":"array"}},"type":"object"},"ListConnectClustersResponse":{"properties":{"clusters":{"items":{"$ref":"#/components/schemas/ConnectCluster"},"type":"array"}},"type":"object"},"ListConnectSecretsResponse":{"description":"ListConnectSecretsResponse is the response of ListConnectSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListConnectorTopicsResponse":{"properties":{"topics":{"description":"Topic names.","items":{"type":"string"},"type":"array"}},"type":"object"},"ListConnectorsResponse":{"properties":{"connectors":{"description":"List of connectors, where the parent key is the connector name.","items":{"$ref":"#/components/schemas/ConnectorInfoStatus"},"type":"array"},"next_page_token":{"description":"Page Token to fetch the next page. The value can be used as page_token in the next call to this endpoint.","type":"string"}},"type":"object"},"ListMountTasksResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/MountTask"},"type":"array"}},"type":"object"},"ListMountableTopicsResponse":{"properties":{"topics":{"items":{"$ref":"#/components/schemas/TopicLocation"},"type":"array"}},"type":"object"},"ListPipelinesRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on pipeline name. Case-sensitive.","type":"string"}},"type":"object"},"ListPipelinesResponse":{"properties":{"next_page_token":{"type":"string"},"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"}},"type":"object"},"ListSecretScopesResponse":{"description":"ListSecretScopesResponse is the response of ListSecretScopes.","properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"}},"type":"object"},"ListSecretsFilter":{"description":"ListSecretsFilter are the filter options for listing secrets.","properties":{"labels[string][string]":{"additionalProperties":{"type":"string"},"description":"The secret labels to search for.","type":"object"},"name_contains":{"description":"Substring match on secret name. Case-sensitive.","type":"string"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes to search for","type":"array"}},"type":"object"},"ListSecretsResponse":{"description":"ListSecretsResponse is the response of ListSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListTopicsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListTopicsResponse":{"properties":{"next_page_token":{"type":"string"},"topics":{"items":{"$ref":"#/components/schemas/ListTopicsResponse.Topic"},"type":"array"}},"type":"object"},"ListTopicsResponse.Topic":{"properties":{"internal":{"description":"Whether topic is internal only.","type":"boolean"},"name":{"description":"Topic name.","type":"string"},"partition_count":{"description":"Topic partition count.","format":"int32","type":"integer"},"replication_factor":{"description":"Topic replication factor.","format":"int32","type":"integer"}},"type":"object"},"ListTransformsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on transform name. Case-sensitive.","type":"string"}},"type":"object"},"ListTransformsResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"transforms":{"items":{"$ref":"#/components/schemas/TransformMetadata"},"type":"array"}},"type":"object"},"ListUsersRequest.Filter":{"properties":{"name":{"description":"Username.","type":"string"},"name_contains":{"description":"Substring match on username. Case-sensitive.","type":"string"}},"type":"object"},"ListUsersResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"users":{"items":{"$ref":"#/components/schemas/ListUsersResponse.User"},"type":"array"}},"type":"object"},"ListUsersResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"}},"type":"object"},"LocalizedMessage":{"description":"Provides a localized error message that is safe to return to the user\nwhich can be attached to an RPC error.","properties":{"locale":{"title":"The locale used following the specification defined at\nhttps://www.rfc-editor.org/rfc/bcp/bcp47.txt.\nExamples are: \"en-US\", \"fr-CH\", \"es-MX\"","type":"string"},"message":{"description":"The localized error message in the above locale.","type":"string"}},"type":"object"},"MatchingACL":{"properties":{"error":{"$ref":"#/components/schemas/rpc.Status"},"host":{"description":"The host address to use for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"MountTask":{"properties":{"id":{"description":"Unique identifier for this mount task.","format":"int32","type":"integer"},"state":{"$ref":"#/components/schemas/MountTask.State"},"topics":{"description":"List of topics that are being mounted or unmounted.","items":{"$ref":"#/components/schemas/MountTask.Topic"},"type":"array"},"type":{"$ref":"#/components/schemas/MountTask.Type"}},"type":"object"},"MountTask.State":{"description":" - STATE_PLANNED: Planned: The mount task has been created and is awaiting further actions.\n - STATE_PREPARING: Preparing: The mount task is gathering resources and preparing for execution.\n - STATE_PREPARED: Prepared: All preparations are complete, and the mount task is ready to be executed.\n - STATE_EXECUTING: Executing: The mount task is actively transferring or transforming data.\n - STATE_EXECUTED: Executed: The core mount task actions are complete, but the mount task has not yet cut over or finalized.\n - STATE_CUT_OVER: Cut Over: The mount task has reached a critical point where ownership is transferred or final adjustments are made.\n - STATE_FINISHED: Finished: The mount task has been successfully completed, and no further actions are required.\n - STATE_CANCELING: Canceling: The mount task is in the process of being canceled, and rollback or cleanup actions may be in progress.\n - STATE_CANCELLED: Cancelled: The mount task has been fully canceled, and no further actions will be taken.","enum":["STATE_PLANNED","STATE_PREPARING","STATE_PREPARED","STATE_EXECUTING","STATE_EXECUTED","STATE_CUT_OVER","STATE_FINISHED","STATE_CANCELING","STATE_CANCELLED"],"type":"string"},"MountTask.Topic":{"properties":{"source_topic_reference":{"description":"The topic reference in the object storage bucket.\nThis field is only set for tasks of type MOUNT.","type":"string"},"topic_reference":{"description":"The topic reference within the current cluster, which may be either a simple topic name or a full reference\nin the form: cluster-uuid/topic-name/revision.","type":"string"}},"type":"object"},"MountTask.Type":{"description":" - TYPE_MOUNT: Mount represents the process of making topics available in a cluster by loading them from object storage.\n - TYPE_UNMOUNT: Unmount represents the process of offloading topics back to object storage.","enum":["TYPE_MOUNT","TYPE_UNMOUNT"],"type":"string"},"MountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of mount","type":"integer"}},"type":"object"},"Options":{"properties":{"include_tasks":{"description":"Restart connector's tasks.","type":"boolean"},"only_failed":{"description":"Restart only connectors that have failed.","type":"boolean"}},"type":"object"},"PartitionStatus":{"enum":["PARTITION_STATUS_RUNNING","PARTITION_STATUS_INACTIVE","PARTITION_STATUS_ERRORED","PARTITION_STATUS_UNKNOWN"],"type":"string"},"PartitionTransformStatus":{"properties":{"broker_id":{"format":"int32","type":"integer"},"lag":{"format":"int32","type":"integer"},"partition_id":{"format":"int32","type":"integer"},"status":{"$ref":"#/components/schemas/PartitionStatus"}},"type":"object"},"PermissionType":{"description":"Whether the operation should be allowed or denied.","enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"},"Pipeline":{"description":"Defines the pipeline resource.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","title":"The pipeline configuration in YAML.\nSee https://docs.redpanda.com/redpanda-connect/configuration/about/","type":"string"},"description":{"description":"Optional pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"id":{"description":"Pipeline ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"},"state":{"$ref":"#/components/schemas/Pipeline.State"},"status":{"$ref":"#/components/schemas/Pipeline.Status"}},"required":["id","display_name","config_yaml"],"type":"object"},"Pipeline.State":{"description":"State of the pipeline.\n\n - STATE_STARTING: The pipeline is starting.\n - STATE_RUNNING: The pipeline is running.\n - STATE_STOPPING: The pipeline is in the process of stopping.\n - STATE_STOPPED: The pipeline is stopped and in paused state.\n - STATE_ERROR: The pipeline encountered an error. See [Error Handling](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/error_handling/) for further guidance.\n - STATE_COMPLETED: The pipeline has completed the job successfully.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR","STATE_COMPLETED"],"type":"string"},"Pipeline.Status":{"description":"Pipeline status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"PipelineCreate":{"description":"PipelineCreate contains the details for the pipeline creation request.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"}},"required":["display_name","config_yaml"],"type":"object"},"PipelineUpdate":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"}},"required":["display_name","config_yaml"],"type":"object"},"PipelinesForSecret":{"properties":{"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"Policy":{"properties":{"host":{"description":"The host address for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"}},"type":"object"},"QuotaFailure":{"description":"Describes how a quota check failed.\n\nFor example if a daily limit was exceeded for the calling project,\na service could respond with a QuotaFailure detail containing the project\nid and the description of the quota limit that was exceeded. If the\ncalling project hasn't enabled the service in the developer console, then\na service could respond with the project id and set `service_disabled`\nto true.\n\nAlso see RetryInfo and Help types for other details about handling a\nquota failure.","properties":{"violations":{"description":"Describes all quota violations.","items":{"$ref":"#/components/schemas/QuotaFailure.Violation"},"type":"array"}},"title":"QuotaFailure","type":"object"},"QuotaFailure.Violation":{"description":"A message type used to describe a single quota violation. For example, a\ndaily quota or a custom quota that was exceeded.","properties":{"api_service":{"description":"The API Service from which the `QuotaFailure.Violation` orginates. In\nsome cases, Quota issues originate from an API Service other than the one\nthat was called. In other words, a dependency of the called API Service\ncould be the cause of the `QuotaFailure`, and this field would have the\ndependency API service name.\n\nFor example, if the called API is Kubernetes Engine API\n(container.googleapis.com), and a quota violation occurs in the\nKubernetes Engine API itself, this field would be\n\"container.googleapis.com\". On the other hand, if the quota violation\noccurs when the Kubernetes Engine API creates VMs in the Compute Engine\nAPI (compute.googleapis.com), this field would be\n\"compute.googleapis.com\".","type":"string"},"description":{"description":"A description of how the quota check failed. Clients can use this\ndescription to find more about the quota configuration in the service's\npublic documentation, or find the relevant quota limit to adjust through\ndeveloper console.\n\nFor example: \"Service disabled\" or \"Daily Limit for read operations\nexceeded\".","type":"string"},"future_quota_value":{"description":"The new quota value being rolled out at the time of the violation. At the\ncompletion of the rollout, this value will be enforced in place of\nquota_value. If no rollout is in progress at the time of the violation,\nthis field is not set.\n\nFor example, if at the time of the violation a rollout is in progress\nchanging the number of CPUs quota from 10 to 20, 20 would be the value of\nthis field.","format":"int64","nullable":true,"type":"string"},"quota_dimensions":{"additionalProperties":{"type":"string"},"description":"The dimensions of the violated quota. Every non-global quota is enforced\non a set of dimensions. While quota metric defines what to count, the\ndimensions specify for what aspects the counter should be increased.\n\nFor example, the quota \"CPUs per region per VM family\" enforces a limit\non the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions\n\"region\" and \"vm_family\". And if the violation occurred in region\n\"us-central1\" and for VM family \"n1\", the quota_dimensions would be,\n\n{\n \"region\": \"us-central1\",\n \"vm_family\": \"n1\",\n}\n\nWhen a quota is enforced globally, the quota_dimensions would always be\nempty.","type":"object"},"quota_id":{"description":"The id of the violated quota. Also know as \"limit name\", this is the\nunique identifier of a quota in the context of an API service.\n\nFor example, \"CPUS-PER-VM-FAMILY-per-project-region\".","type":"string"},"quota_metric":{"description":"The metric of the violated quota. A quota metric is a named counter to\nmeasure usage, such as API requests or CPUs. When an activity occurs in a\nservice, such as Virtual Machine allocation, one or more quota metrics\nmay be affected.\n\nFor example, \"compute.googleapis.com/cpus_per_vm_family\",\n\"storage.googleapis.com/internet_egress_bandwidth\".","type":"string"},"quota_value":{"description":"The enforced quota value at the time of the `QuotaFailure`.\n\nFor example, if the enforced quota value at the time of the\n`QuotaFailure` on the number of CPUs is \"10\", then the value of this\nfield would reflect this quantity.","format":"int64","type":"string"},"subject":{"description":"The subject on which the quota check failed.\nFor example, \"clientip:\u003cip address of client\u003e\" or \"project:\u003cGoogle\ndeveloper project id\u003e\".","type":"string"}},"type":"object"},"ReplicaAssignment":{"properties":{"partition_id":{"description":"A partition to create.","format":"int32","type":"integer"},"replica_ids":{"description":"The broker IDs the partition replicas are assigned to.","items":{"format":"int32","type":"integer"},"type":"array"}},"type":"object"},"Resource":{"properties":{"acls":{"items":{"$ref":"#/components/schemas/Policy"},"type":"array"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ResourcePatternType":{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"},"ResourceType":{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"Scope":{"description":"Defines the scope of a secret.","enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"Secret":{"description":"Defines the secret resource.","properties":{"id":{"description":"Secret identifier.","readOnly":true,"type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"}},"type":"object"},"ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"type":"object"},"SetConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"SetTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after this update.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"StartPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"StopPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"TaskInfo":{"properties":{"connector":{"description":"Name of connector.","type":"string"},"task":{"description":"The connector task ID.","format":"int32","type":"integer"}},"type":"object"},"TaskStatus":{"properties":{"id":{"description":"The connector task ID.","format":"int32","type":"integer"},"state":{"description":"State of connector task.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the task is assigned to.","type":"string"}},"type":"object"},"TopicLocation":{"properties":{"name":{"description":"Topic name.","type":"string"},"topic_location":{"description":"Full reference for the unmounted topic in this format: `topic-name/cluster-uuid/revision`.\nUse this as unique identifier for mounting a topic if there are multiple topics available\nwith the same name.","type":"string"}},"type":"object"},"TopicMount":{"description":"TopicMount defines the migration of a topic from the cloud storage into this cluster,\nso that it becomes available via the Kafka API.","properties":{"alias":{"description":"Alias may be provided to mount the topic under a different name. Leave\nblank to re-use the source topic name. The alias does not persist if you\nunmount the topic again.","type":"string"},"source_topic_reference":{"description":"The topic name or full reference of the topic to mount. The full reference\nmust be used in case the same topic exists more than once. This may be the case if\nthe same topic has been unmounted multiple times. List all mountable topics to\nfind the full reference (contains topic name, cluster uuid and revision).","type":"string"}},"required":["source_topic_reference"],"type":"object"},"TransformMetadata":{"properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"Input topic to apply the transform to.","type":"string"},"name":{"description":"Name of transform.","type":"string"},"output_topic_names":{"description":"Output topics to write the transform results to.","items":{"type":"string"},"type":"array"},"statuses":{"items":{"$ref":"#/components/schemas/PartitionTransformStatus"},"type":"array"}},"type":"object"},"UnmountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of unmount","type":"integer"}},"type":"object"},"UpdateConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"operation":{"$ref":"#/components/schemas/ConfigAlterOperation"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"UpdateConnectSecretBody":{"description":"UpdateConnectSecretRequest is the request of UpdateConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateConnectSecretResponse":{"description":"UpdateConnectSecretResponse is the response of UpdateConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateMountTaskBody":{"properties":{"action":{"$ref":"#/components/schemas/Action"}},"required":["action"],"type":"object"},"UpdateMountTaskResponse":{"type":"object"},"UpdatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"UpdateSecretBody":{"description":"UpdateSecretRequest is the request of UpdateSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateSecretResponse":{"description":"UpdateSecretResponse is the response of UpdateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after applying this partial patch.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"UpdateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"UpdateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/UpdateUserResponse.User"}},"type":"object"},"UpdateUserResponse.User":{"description":"Updated user's name and SASL mechanism.","properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"type":"string"}},"type":"object"},"UpsertConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"rpc.Status":{"description":"The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).","properties":{"code":{"description":"RPC status code, as described [here](https://github.com/googleapis/googleapis/blob/b4c238feaa1097c53798ed77035bbfeb7fc72e96/google/rpc/code.proto#L32).","enum":["OK","CANCELLED","UNKNOWN","INVALID_ARGUMENT","DEADLINE_EXCEEDED","NOT_FOUND","ALREADY_EXISTS","PERMISSION_DENIED","UNAUTHENTICATED","RESOURCE_EXHAUSTED","FAILED_PRECONDITION","ABORTED","OUT_OF_RANGE","UNIMPLEMENTED","INTERNAL","UNAVAILABLE","DATA_LOSS"],"format":"int32","type":"string"},"details":{"items":{"description":"Details of the error.","oneOf":[{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.BadRequest"],"type":"string"}}},{"$ref":"#/components/schemas/BadRequest"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.ErrorInfo"],"type":"string"}}},{"$ref":"#/components/schemas/ErrorInfo"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.QuotaFailure"],"type":"string"}}},{"$ref":"#/components/schemas/QuotaFailure"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.Help"],"type":"string"}}},{"$ref":"#/components/schemas/Help"}]}]},"type":"array"},"message":{"description":"Detailed error message. No compatibility guarantees are given for the text contained in this message.","type":"string"}},"type":"object"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1alpha2"},"openapi":"3.0.3","paths":{"/v1alpha2/acls":{"delete":{"description":"Delete all ACLs that match the filter criteria. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_DeleteACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","required":true,"schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","required":true,"schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","required":true,"schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","required":true,"schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete ACLs","tags":["Redpanda ACLs (v1alpha2)"]},"get":{"description":"List all ACLs. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_ListACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List ACLs","tags":["Redpanda ACLs (v1alpha2)"]},"post":{"description":"Create a new ACL.","operationId":"ACLService_CreateACL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLResponse"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create ACL","tags":["Redpanda ACLs (v1alpha2)"]}},"/v1alpha2/cloud-storage/mount-tasks":{"get":{"description":"This operation retrieves the status of a task responsible for mounting or unmounting topics. It provides details on the task’s type (mount or unmount), its current state, and the topics involved.","operationId":"CloudStorageService_ListMountTasks","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountTasksResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the mount task status","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/mount-tasks/{id}":{"delete":{"description":"Delete a mount or unmount by ID.","operationId":"CloudStorageService_DeleteMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to delete.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a mount or unmount","tags":["Cloud Storage (v1alpha2)"]},"get":{"description":"Retrieves the status of a mount or unmount by ID. The response provides details on the operation type (mount or unmount), its current state, and the topics involved. Use the ID returned when you start the mount or unmount, or use the ListMountTasks endpoint to retrieve a list of IDs.","operationId":"CloudStorageService_GetMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to retrieve.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get the status of a mount or unmount by ID","tags":["Cloud Storage (v1alpha2)"]},"post":{"description":"This operation allows performing an action on an ongoing mount task.","operationId":"CloudStorageService_UpdateMountTask","parameters":[{"description":"ID is the unique identifier of the mount or unmount to update.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a mount or unmount","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/mount":{"post":{"description":"Attach mountable topics from object storage to a cluster, making them available for consumption and production again. Mounting a topic reloads its data and state to the local brokers, allowing active use of the topic.","operationId":"CloudStorageService_MountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TopicMount"},"required":["topics"],"type":"array"}}},"required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Mount topics from object storage","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/mountable":{"get":{"description":"Retrieve all topics that are currently unmounted and available to be mounted to the cluster. These topics reside in object storage and can be mounted for consumption or production within the cluster.","operationId":"CloudStorageService_ListMountableTopics","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountableTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List mountable topics","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/unmount":{"post":{"description":"Unmount topics to object storage, freeing up all local cluster resources. Once you unmount a topic, it can no longer be consumed or produced to. It detaches from the active cluster while its data remains safely stored in the external object storage.","operationId":"CloudStorageService_UnmountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"required":["topics"],"type":"array"}}},"description":"List of topics to unmount.","required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnmountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Unmount topics to object storage","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters":{"get":{"description":"List connect clusters available for being consumed by the console's kafka-connect service.","operationId":"KafkaConnectService_ListConnectClusters","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectClustersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connect clusters","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}":{"get":{"description":"Get information about an available Kafka Connect cluster.","operationId":"KafkaConnectService_GetConnectCluster","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCluster"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Connect cluster not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connect cluster","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors":{"get":{"description":"List connectors managed by the Kafka Connect service.","operationId":"KafkaConnectService_ListConnectors","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connectors","tags":["Kafka Connect (v1alpha2)"]},"post":{"description":"Create a connector with the specified configuration.","operationId":"KafkaConnectService_CreateConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"required":true,"x-originalParamName":"connector"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}":{"delete":{"description":"Delete a connector. This operation force stops all tasks and also deletes the connector configuration.","operationId":"KafkaConnectService_DeleteConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete connector","tags":["Kafka Connect (v1alpha2)"]},"get":{"description":"Get information about a connector in a specific cluster.","operationId":"KafkaConnectService_GetConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/config":{"get":{"description":"Get the configuration for the connector.","operationId":"KafkaConnectService_GetConnectorConfig","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector configuration","tags":["Kafka Connect (v1alpha2)"]},"put":{"description":"Update the configuration for an existing connector with the specified name, or create a new connector using the given configuration. Returns information about the connector after the change has been made.","operationId":"KafkaConnectService_UpsertConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector. If a connector with this name does not already exist, a new connector is created.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"required":["config"],"type":"object"}}},"description":"Connector configuration property.","required":true,"x-originalParamName":"config"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Updated"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Upsert connector configuration","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/pause":{"put":{"description":"Pause the connector and its tasks, which stops messages from processing until the connector is resumed. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_PauseConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Pause request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Pause connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/restart":{"post":{"description":"Triggers a connector restart. You must specify whether or not tasks are also restarted, and whether only failed connectors are restarted.","operationId":"KafkaConnectService_RestartConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Options"}}},"required":true,"x-originalParamName":"options"},"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Restart connector request success"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Restart connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/resume":{"put":{"description":"Resume a paused connector and its tasks, and resumes message processing. This call is asynchronous and may take some time to process. If the connector was not paused, this operation does not do anything.","operationId":"KafkaConnectService_ResumeConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Resume request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Resume connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/status":{"get":{"description":"Gets the current status of the connector, including the state for each of its tasks, error information, etc.","operationId":"KafkaConnectService_GetConnectorStatus","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorStatus"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector status","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/stop":{"put":{"description":"Stops a connector, but does not delete it. All tasks for the connector are shut down completely. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_StopConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics":{"get":{"description":"Returns a list of connector topic names. If the connector is inactive, this call returns an empty list.","operationId":"KafkaConnectService_ListConnectorTopics","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connector topics","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics/reset":{"put":{"description":"Resets the set of topic names that the connector is using.","operationId":"KafkaConnectService_ResetConnectorTopics","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector using the topics to be reset.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Reset connector topics","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/secrets":{"get":{"description":"List Kafka Connect cluster secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListConnectSecrets","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string][string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect Cluster Secrets","tags":["Secrets (v1alpha2)"]},"post":{"description":"Create a Kafka Connect cluster secret.","operationId":"SecretService_CreateConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Connect Cluster Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/secrets/{id}":{"delete":{"description":"Delete a Kafka Connect cluster secret.","operationId":"SecretService_DeleteConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Connect Cluster Secret","tags":["Secrets (v1alpha2)"]},"get":{"description":"Get a specific Kafka Connect cluster secret.","operationId":"SecretService_GetConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"The ID of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect Cluster Secret","tags":["Secrets (v1alpha2)"]},"put":{"description":"Update a Kafka Connect cluster secret.","operationId":"SecretService_UpdateConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to update.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Connect Cluster Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/redpanda-connect/config-schema":{"get":{"description":"The configuration schema includes available [components and processors](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about) in this Redpanda Connect instance.","operationId":"PipelineService_GetPipelineServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelineServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect pipeline configurations.","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines":{"get":{"description":"List Redpanda Connect pipelines. Optional: filter based on pipeline name.","operationId":"PipelineService_ListPipelines","parameters":[{"description":"Substring match on pipeline name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPipelinesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect pipelines","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"post":{"description":"Create a new Redpanda Connect pipeline.","operationId":"PipelineService_CreatePipeline","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineCreate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines-by-secrets":{"get":{"description":"Get Redpanda Connect pipelines by secrets.","operationId":"PipelineService_GetPipelinesBySecrets","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesBySecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines by secrets","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines-for-secret":{"get":{"description":"Get Redpanda Connect pipelines for a given secret.","operationId":"PipelineService_GetPipelinesForSecret","parameters":[{"description":"Secret ID.","in":"query","name":"secret_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesForSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines for secret","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}":{"delete":{"description":"Delete a Redpanda Connect pipeline.","operationId":"PipelineService_DeletePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"get":{"description":"Get a specific Redpanda Connect pipeline.","operationId":"PipelineService_GetPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"put":{"description":"Update the [configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) of a Redpanda Connect pipeline.","operationId":"PipelineService_UpdatePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineUpdate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}/start":{"put":{"description":"Start a stopped Redpanda Connect pipeline.","operationId":"PipelineService_StartPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}/stop":{"put":{"description":"Stop a running Redpanda Connect pipeline.","operationId":"PipelineService_StopPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/secret-scopes":{"get":{"description":"List supported secret scopes.","operationId":"SecretService_ListSecretScopes","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretScopesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Secret Scopes","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/secrets":{"get":{"description":"List secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListSecrets","parameters":[{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Secrets","tags":["Secrets (v1alpha2)"]},"post":{"description":"Create a secret.","operationId":"SecretService_CreateSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretRequest"}}},"description":"CreateSecretRequest is the request of CreateSecret.","required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/secrets/{id}":{"delete":{"description":"Delete a secret.","operationId":"SecretService_DeleteSecret","parameters":[{"description":"The id of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Secret","tags":["Secrets (v1alpha2)"]},"get":{"description":"Get a secret.","operationId":"SecretService_GetSecret","parameters":[{"description":"The id of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Secret","tags":["Secrets (v1alpha2)"]},"put":{"description":"Update a secret.","operationId":"SecretService_UpdateSecret","parameters":[{"description":"Secret identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/topics":{"get":{"description":"List topics, with partition count and replication factor. Optional: filter based on topic name.","operationId":"TopicService_ListTopics","parameters":[{"description":"Substring match on topic name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Topics","tags":["Topics (v1alpha2)"]},"post":{"description":"Create a [topic](https://docs.redpanda.com/current/deploy/deployment-option/cloud/create-topic/).","operationId":"TopicService_CreateTopic","parameters":[{"description":"If true, makes this request a dry run; everything is validated but\nno topics are actually created.","in":"query","name":"validate_only","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicRequest.Topic"}}},"description":"The topic to create.","required":true,"x-originalParamName":"topic"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicResponse"}}},"description":"Topic created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Topic","tags":["Topics (v1alpha2)"]}},"/v1alpha2/topics/{name}":{"delete":{"description":"Delete the Kafka topic with the requested name.","operationId":"TopicService_DeleteTopic","parameters":[{"description":"Topic name.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Topic deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Requested topic does not exist"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Topic","tags":["Topics (v1alpha2)"]}},"/v1alpha2/topics/{topic_name}/configurations":{"get":{"description":"Get key-value configs for a topic.","operationId":"TopicService_GetTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Topic Configurations","tags":["Topics (v1alpha2)"]},"patch":{"description":"Update a subset of the topic configurations.","operationId":"TopicService_UpdateTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UpdateConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Topic Configuration","tags":["Topics (v1alpha2)"]},"put":{"description":"Update the entire set of key-value configurations for a topic. Config entries that are not provided in the request are removed and will fall back to their default values.","operationId":"TopicService_SetTopicConfigurations","parameters":[{"description":"Name of topic.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SetConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set Topic Configurations","tags":["Topics (v1alpha2)"]}},"/v1alpha2/transforms":{"get":{"description":"Retrieve a list of Wasm transforms. Optional: filter based on transform name.","operationId":"TransformService_ListTransforms","parameters":[{"description":"Substring match on transform name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","transforms":[{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic11","output-topic12"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]},{"environment_variables":[],"input_topic_name":"topic2","name":"transform2","output_topic_names":["output-topic21","output-topic22"],"statuses":[{"broker_id":2,"lag":2,"partition_id":2,"status":"PARTITION_STATUS_RUNNING"}]}]},"schema":{"$ref":"#/components/schemas/ListTransformsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Transforms","tags":["WASM Transforms (v1alpha2)"]},"put":{"description":"Initiate deployment of a new Wasm transform. This endpoint uses multipart/form-data encoding. Following deployment, a brief period is required before the Wasm transform becomes operational. Monitor the partition statuses to check whether the transform is active. This usually takes around 3s, but no longer than 10s.","operationId":"TransformService_DeployTransform","requestBody":{"content":{"multipart/form-data":{"schema":{"example":"{\"name\":\"redact-orders\", \"input_topic_name\":\"orders\", \"output_topic_names\":[\"orders-redacted\"], \"environment_variables\":[{\"key\":\"LOGGER_LEVEL\", \"value\":\"DEBUG\"}]}","properties":{"metadata":{"$ref":"#/components/schemas/DeployTransformRequest"},"wasm_binary":{"description":"Binary file containing the compiled WASM transform. The maximum size for this file is 10MiB.","format":"binary","type":"string"}},"type":"object"}}},"description":"Transform metadata as well as the WASM binary","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransformMetadata"}}},"description":"Created"}},"summary":"Deploy Transform","tags":["WASM Transforms (v1alpha2)"]}},"/v1alpha2/transforms/{name}":{"delete":{"description":"Delete a Wasm transform with the requested name.","operationId":"TransformService_DeleteTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"Transform deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Transform","tags":["WASM Transforms (v1alpha2)"]},"get":{"description":"Get a specific Wasm transform.","operationId":"TransformService_GetTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"transform":{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic1","output-topic2"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]}},"schema":{"$ref":"#/components/schemas/GetTransformResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Transform","tags":["WASM Transforms (v1alpha2)"]}},"/v1alpha2/users":{"get":{"description":"List users. Optional: filter based on username.","operationId":"UserService_ListUsers","parameters":[{"description":"Username.","in":"query","name":"filter.name","schema":{"type":"string"}},{"description":"Substring match on username. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","users":[{"name":"payment-service"},{"name":"jane"}]},"schema":{"$ref":"#/components/schemas/ListUsersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Users","tags":["Redpanda Users (v1alpha2)"]},"post":{"description":"Create a new user.","operationId":"UserService_CreateUser","requestBody":{"content":{"application/json":{"example":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service","password":"secure-password"},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"required":true,"x-originalParamName":"user"},"responses":{"201":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"description":"User created"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create User","tags":["Redpanda Users (v1alpha2)"]}},"/v1alpha2/users/{name}":{"delete":{"description":"Delete the specified user","operationId":"UserService_DeleteUser","parameters":[{"description":"Username","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"User deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"example":{"code":"NOT_FOUND","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_RESOURCE_NOT_FOUND"}],"message":"user not found"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete User","tags":["Redpanda Users (v1alpha2)"]}},"/v1alpha2/users/{user.name}":{"put":{"description":"Update a user's credentials.","operationId":"UserService_UpdateUser","parameters":[{"description":"Username.","in":"path","name":"user.name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","password":"new-password"}},"schema":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"password":{"description":"Password.","type":"string"}},"type":"object"}}},"required":true,"x-originalParamName":"user"},"responses":{"200":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/UpdateUserResponse.User"}}},"description":"OK"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update User","tags":["Redpanda Users (v1alpha2)"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Manage Redpanda access control lists (ACLs). See [Redpanda Cloud Authorization](https://docs.redpanda.com/redpanda-cloud/security/authorization/cloud-authorization/) for more information.","name":"Redpanda ACLs (v1alpha2)"},{"description":"Manage Redpanda topics stored in object storage. See: [Mountable Topics](https://docs.redpanda.com/redpanda-cloud/manage/mountable-topics/)","name":"Cloud Storage (v1alpha2)"},{"description":"Manage Wasm transforms in Redpanda.","name":"WASM Transforms (v1alpha2)"},{"description":"Manage [connectors](https://docs.redpanda.com/redpanda-cloud/develop/managed-connectors/) and interact with the Kafka Connect API.","name":"Kafka Connect (v1alpha2)"},{"description":"Create and manage [Redpanda Connect](https://docs.redpanda.com/redpanda-cloud/develop/connect/about) pipelines and their configurations.","name":"Redpanda Connect Pipeline (v1alpha2)"},{"description":"Manage [secrets](https://docs.redpanda.com/redpanda-cloud/security/secrets) for Redpanda Cloud.","name":"Secrets (v1alpha2)"},{"description":"Manage Redpanda topics.","name":"Topics (v1alpha2)"},{"description":"Manage Redpanda users. To manage access, see the Data Plane [ACL endpoints](https://docs.redpanda.com/api/cloud-dataplane-api/#get-/v1alpha2/acls).","name":"Redpanda Users (v1alpha2)"}]} \ No newline at end of file +{"components":{"schemas":{"ACL.Operation":{"description":"The operation that is allowed or denied (e.g. READ).","enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"},"Action":{"enum":["ACTION_PREPARE","ACTION_EXECUTE","ACTION_FINISH","ACTION_CANCEL"],"type":"string"},"BadRequest":{"description":"Describes violations in a client request. This error type focuses on the\nsyntactic aspects of the request.","properties":{"field_violations":{"description":"Describes all violations in a client request.","items":{"$ref":"#/components/schemas/FieldViolation"},"type":"array"}},"title":"BadRequest","type":"object"},"Config":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigAlterOperation":{"enum":["CONFIG_ALTER_OPERATION_SET","CONFIG_ALTER_OPERATION_DELETE","CONFIG_ALTER_OPERATION_APPEND","CONFIG_ALTER_OPERATION_SUBTRACT"],"type":"string"},"ConfigSource":{"enum":["CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG","CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG","CONFIG_SOURCE_STATIC_BROKER_CONFIG","CONFIG_SOURCE_DEFAULT_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_LOGGER_CONFIG"],"type":"string"},"ConfigSynonym":{"properties":{"name":{"type":"string"},"source":{"$ref":"#/components/schemas/ConfigSource"},"value":{"nullable":true,"type":"string"}},"type":"object"},"ConfigType":{"enum":["CONFIG_TYPE_BOOLEAN","CONFIG_TYPE_STRING","CONFIG_TYPE_INT","CONFIG_TYPE_SHORT","CONFIG_TYPE_LONG","CONFIG_TYPE_DOUBLE","CONFIG_TYPE_LIST","CONFIG_TYPE_CLASS","CONFIG_TYPE_PASSWORD"],"type":"string"},"Configuration":{"properties":{"config_synonyms":{"description":"If no config value is set at the topic level, it will inherit the value\nset at the broker or cluster level. `name` is the corresponding config\nkey whose value is inherited. `source` indicates whether the inherited\nconfig is default, broker, etc.","items":{"$ref":"#/components/schemas/ConfigSynonym"},"type":"array"},"documentation":{"description":"Config documentation.","nullable":true,"type":"string"},"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"read_only":{"description":"Whether the config is read-only, or is dynamic and can be altered.","type":"boolean"},"sensitive":{"description":"Whether this is a sensitive config key and value.","type":"boolean"},"source":{"$ref":"#/components/schemas/ConfigSource"},"type":{"$ref":"#/components/schemas/ConfigType"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConnectCluster":{"properties":{"address":{"description":"The host address of the Kafka Connect cluster.","type":"string"},"info":{"$ref":"#/components/schemas/ConnectCluster.Info"},"name":{"description":"Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`.","type":"string"},"plugins":{"items":{"$ref":"#/components/schemas/ConnectorPlugin"},"type":"array"}},"type":"object"},"ConnectCluster.Info":{"properties":{"commit":{"description":"The git commit ID of the connect worker source code.","type":"string"},"kafka_cluster_id":{"description":"Cluster ID.","type":"string"},"version":{"description":"Connect worker version.","type":"string"}},"type":"object"},"Connector":{"properties":{"state":{"description":"State of the connector instance.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the connector is assigned to.","type":"string"}},"type":"object"},"ConnectorError":{"properties":{"content":{"description":"Detailed description of the error.","type":"string"},"title":{"description":"Short description of the error.","type":"string"},"type":{"$ref":"#/components/schemas/ConnectorError.Type"}},"title":"ConnectorError is the error of a connector, this is holistic error\nabstraction, made parsing the error trace of connector or Task","type":"object"},"ConnectorError.Type":{"description":"Error level.","enum":["TYPE_ERROR","TYPE_WARNING"],"type":"string"},"ConnectorHolisticState":{"description":"State of a connector or one of its tasks, as described in the [Kafka Connect documentation](https://kafka.apache.org/documentation.html#connect_administration). Takes into account not just the state of the connector instance itself, but also the tasks within the connector.\n\n - CONNECTOR_HOLISTIC_STATE_PAUSED: The connector or task has been administratively paused.\n - CONNECTOR_HOLISTIC_STATE_RESTARTING: The connector or task is restarting.\n - CONNECTOR_HOLISTIC_STATE_DESTROYED: The connector is destroyed, regardless of any tasks.\n - CONNECTOR_HOLISTIC_STATE_STOPPED: The connector or task has been stopped.\n - CONNECTOR_HOLISTIC_STATE_UNASSIGNED: - The connector or task has not yet been assigned to a worker,\n- THe connector is running, but there are unassigned tasks.\n - CONNECTOR_HOLISTIC_STATE_HEALTHY: The connector is running, \u003e 0 tasks, all of them in running state.\n - CONNECTOR_HOLISTIC_STATE_UNHEALTHY: - The connector has failed,\n- The connector is running, but has no tasks,\n- Connector is running and has tasks, but all tasks have failed.\n - CONNECTOR_HOLISTIC_STATE_DEGRADED: The connector is running and has tasks, and at least one task, but not all, have failed.\n - CONNECTOR_HOLISTIC_STATE_UNKNOWN: The connector or task state could not be determined.","enum":["CONNECTOR_HOLISTIC_STATE_PAUSED","CONNECTOR_HOLISTIC_STATE_RESTARTING","CONNECTOR_HOLISTIC_STATE_DESTROYED","CONNECTOR_HOLISTIC_STATE_STOPPED","CONNECTOR_HOLISTIC_STATE_UNASSIGNED","CONNECTOR_HOLISTIC_STATE_HEALTHY","CONNECTOR_HOLISTIC_STATE_UNHEALTHY","CONNECTOR_HOLISTIC_STATE_DEGRADED","CONNECTOR_HOLISTIC_STATE_UNKNOWN"],"type":"string"},"ConnectorInfoStatus":{"properties":{"info":{"$ref":"#/components/schemas/ConnectorSpec"},"name":{"description":"Name of connector.","type":"string"},"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"ConnectorPlugin":{"properties":{"class":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ConnectorSpec":{"description":"Connector specifications as defined in the Kafka Connect\nAPI. You may include this in the request body when creating a new connector.","properties":{"config":{"additionalProperties":{"type":"string"},"description":"Connector configuration properties.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"items":{"$ref":"#/components/schemas/TaskInfo"},"readOnly":true,"type":"array"},"type":{"readOnly":true,"type":"string"}},"required":["name","config"],"type":"object"},"ConnectorStatus":{"properties":{"connector":{"$ref":"#/components/schemas/Connector"},"errors":{"description":"List of parsed connectors' and tasks' errors.","items":{"$ref":"#/components/schemas/ConnectorError"},"type":"array"},"holistic_state":{"$ref":"#/components/schemas/ConnectorHolisticState"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"description":"Status of connector tasks. For more information, see the [https://docs.redpanda.com/current/deploy/deployment-option/cloud/managed-connectors/monitor-connectors/#connector-tasks](Monitor Connectors) documentation.","items":{"$ref":"#/components/schemas/TaskStatus"},"type":"array"},"type":{"description":"Type of connector (sink or source).","type":"string"}},"type":"object"},"CreateACLRequest":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.\nFor requests with resource_type CLUSTER, this will default to \"kafka-cluster\".","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","principal","host","operation","permission_type"],"type":"object"},"CreateACLResponse":{"type":"object"},"CreateConnectSecretBody":{"description":"CreateConnectSecretRequest is the request of CreateConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["name","secret_data"],"type":"object"},"CreateConnectSecretResponse":{"description":"CreateConnectSecretResponse is the response of CreateConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"CreatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"CreateSecretRequest":{"description":"CreateSecretRequest is the request of CreateSecret.","properties":{"id":{"description":"Secret identifier.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"CreateSecretResponse":{"description":"CreateSecretResponse is the response of CreateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateTopicRequest.Topic":{"properties":{"configs":{"description":"An array of key-value config pairs for a topic.\nThese correspond to Kafka topic-level configs.","items":{"$ref":"#/components/schemas/Config"},"type":"array"},"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions to give the topic. If specifying\npartitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default partition count, set to null.","format":"int32","nullable":true,"type":"integer"},"replica_assignments":{"description":"Manually specify broker ID assignments for partition replicas. If manually assigning replicas, both `replication_factor` and\n`partition_count` must be -1.","items":{"$ref":"#/components/schemas/ReplicaAssignment"},"type":"array"},"replication_factor":{"description":"The number of replicas every partition must have.\nIf specifying partitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default replication factor, set to null.","format":"int32","nullable":true,"type":"integer"}},"type":"object"},"CreateTopicResponse":{"properties":{"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions created for the topic.\nThis field has a default value of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"replication_factor":{"description":"The number of replicas per topic partition.\nThis field has a default of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"}},"type":"object"},"CreateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"CreateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/CreateUserResponse.User"}},"type":"object"},"CreateUserResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"title":"Name of newly-created user","type":"string"}},"type":"object"},"DeleteACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","operation","permission_type"],"type":"object"},"DeleteACLsResponse":{"properties":{"matching_acls":{"items":{"$ref":"#/components/schemas/MatchingACL"},"type":"array"}},"type":"object"},"DeleteConnectSecretResponse":{"description":"DeleteConnectSecretResponse is the response of DeleteConnectSecret.","type":"object"},"DeleteMountTaskResponse":{"type":"object"},"DeletePipelineResponse":{"type":"object"},"DeleteSecretResponse":{"description":"DeleteSecretResponse is the response of DeleteSecret.","type":"object"},"DeleteTopicResponse":{"type":"object"},"DeleteTransformResponse":{"type":"object"},"DeleteUserResponse":{"type":"object"},"DeployTransformRequest":{"description":"Metadata required to deploy a new Wasm\ntransform in a Redpanda cluster.","properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"The input topic to apply the transform to.","example":"orders","type":"string"},"name":{"description":"Name of the transform.","example":"redact-payment-details-in-orders","type":"string"},"output_topic_names":{"description":"Output topic to write the transform results to.","example":"orders-redacted","items":{"type":"string"},"type":"array"}},"required":["name","input_topic_name","output_topic_names"],"type":"object"},"EnvironmentVariable":{"properties":{"key":{"description":"The key of your environment variable.","example":"LOG_LEVEL","type":"string"},"value":{"description":"The value of your environment variable.","example":"DEBUG","type":"string"}},"required":["key","value"],"type":"object"},"ErrorInfo":{"description":"Describes the cause of the error with structured details.\n\nExample of an error when contacting the \"pubsub.googleapis.com\" API when it\nis not enabled:\n\n { \"reason\": \"API_DISABLED\"\n \"domain\": \"googleapis.com\"\n \"metadata\": {\n \"resource\": \"projects/123\",\n \"service\": \"pubsub.googleapis.com\"\n }\n }\n\nThis response indicates that the pubsub.googleapis.com API is not enabled.\n\nExample of an error that is returned when attempting to create a Spanner\ninstance in a region that is out of stock:\n\n { \"reason\": \"STOCKOUT\"\n \"domain\": \"spanner.googleapis.com\",\n \"metadata\": {\n \"availableRegions\": \"us-central1,us-east2\"\n }\n }","properties":{"domain":{"description":"The logical grouping to which the \"reason\" belongs. The error domain\nis typically the registered service name of the tool or product that\ngenerates the error. Example: \"pubsub.googleapis.com\". If the error is\ngenerated by some common infrastructure, the error domain must be a\nglobally unique value that identifies the infrastructure. For Google API\ninfrastructure, the error domain is \"googleapis.com\".","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"Additional structured details about this error.\n\nKeys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should\nideally be lowerCamelCase. Also, they must be limited to 64 characters in\nlength. When identifying the current value of an exceeded limit, the units\nshould be contained in the key, not the value. For example, rather than\n`{\"instanceLimit\": \"100/request\"}`, should be returned as,\n`{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of\ninstances that can be created in a single (batch) request.","type":"object"},"reason":{"description":"The reason of the error. This is a constant value that identifies the\nproximate cause of the error. Error reasons are unique within a particular\ndomain of errors. This should be at most 63 characters and match a\nregular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents\nUPPER_SNAKE_CASE.","type":"string"}},"title":"ErrorInfo","type":"object"},"FieldViolation":{"description":"A message type used to describe a single bad request field.","properties":{"description":{"description":"A description of why the request element is bad.","type":"string"},"field":{"description":"A path that leads to a field in the request body. The value will be a\nsequence of dot-separated identifiers that identify a protocol buffer\nfield.\n\nConsider the following:\n\n message CreateContactRequest {\n message EmailAddress {\n enum Type {\n TYPE_UNSPECIFIED = 0;\n HOME = 1;\n WORK = 2;\n }\n\n optional string email = 1;\n repeated EmailType type = 2;\n }\n\n string full_name = 1;\n repeated EmailAddress email_addresses = 2;\n }\n\nIn this example, in proto `field` could take one of the following values:\n\n* `full_name` for a violation in the `full_name` value\n* `email_addresses[1].email` for a violation in the `email` field of the\n first `email_addresses` message\n* `email_addresses[3].type[2]` for a violation in the second `type`\n value in the third `email_addresses` message.\n\nIn JSON, the same values are represented as:\n\n* `fullName` for a violation in the `fullName` value\n* `emailAddresses[1].email` for a violation in the `email` field of the\n first `emailAddresses` message\n* `emailAddresses[3].type[2]` for a violation in the second `type`\n value in the third `emailAddresses` message.","type":"string"},"localized_message":{"$ref":"#/components/schemas/LocalizedMessage"},"reason":{"description":"The reason of the field-level error. This is a constant value that\nidentifies the proximate cause of the field-level error. It should\nuniquely identify the type of the FieldViolation within the scope of the\ngoogle.rpc.ErrorInfo.domain. This should be at most 63\ncharacters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,\nwhich represents UPPER_SNAKE_CASE.","type":"string"}},"type":"object"},"GetConnectClusterResponse":{"properties":{"cluster":{"$ref":"#/components/schemas/ConnectCluster"}},"type":"object"},"GetConnectSecretResponse":{"description":"GetConnectSecretResponse is the response of GetConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetConnectorConfigResponse":{"properties":{"config":{"additionalProperties":{"type":"string"},"type":"object"}},"type":"object"},"GetConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"GetConnectorStatusResponse":{"properties":{"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"GetMountTaskResponse":{"properties":{"task":{"$ref":"#/components/schemas/MountTask"}},"type":"object"},"GetPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"GetPipelineServiceConfigSchemaResponse":{"properties":{"config_schema":{"description":"JSON schema of the configuration components that are allowed for Connect pipelines.","type":"string"}},"type":"object"},"GetPipelinesBySecretsResponse":{"properties":{"pipelines_for_secret":{"items":{"$ref":"#/components/schemas/PipelinesForSecret"},"type":"array"}},"type":"object"},"GetPipelinesForSecretResponse":{"properties":{"pipelines_for_secret":{"$ref":"#/components/schemas/PipelinesForSecret"}},"type":"object"},"GetSecretResponse":{"description":"GetSecretResponse is the response of GetSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetTopicConfigurationsResponse":{"properties":{"configurations":{"items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"GetTransformResponse":{"properties":{"transform":{"$ref":"#/components/schemas/TransformMetadata"}},"type":"object"},"Help":{"description":"Provides links to documentation or for performing an out of band action.\n\nFor example, if a quota check failed with an error indicating the calling\nproject hasn't enabled the accessed service, this can contain a URL pointing\ndirectly to the right place in the developer console to flip the bit.","properties":{"links":{"description":"URL(s) pointing to additional information on handling the current error.","items":{"$ref":"#/components/schemas/Link"},"type":"array"}},"title":"Help","type":"object"},"Link":{"description":"Describes a URL link.","properties":{"description":{"description":"Describes what the link offers.","type":"string"},"url":{"description":"The URL of the link.","type":"string"}},"type":"object"},"ListACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListACLsResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/Resource"},"type":"array"}},"type":"object"},"ListConnectClustersResponse":{"properties":{"clusters":{"items":{"$ref":"#/components/schemas/ConnectCluster"},"type":"array"}},"type":"object"},"ListConnectSecretsResponse":{"description":"ListConnectSecretsResponse is the response of ListConnectSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListConnectorTopicsResponse":{"properties":{"topics":{"description":"Topic names.","items":{"type":"string"},"type":"array"}},"type":"object"},"ListConnectorsResponse":{"properties":{"connectors":{"description":"List of connectors, where the parent key is the connector name.","items":{"$ref":"#/components/schemas/ConnectorInfoStatus"},"type":"array"},"next_page_token":{"description":"Page Token to fetch the next page. The value can be used as page_token in the next call to this endpoint.","type":"string"}},"type":"object"},"ListMountTasksResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/MountTask"},"type":"array"}},"type":"object"},"ListMountableTopicsResponse":{"properties":{"topics":{"items":{"$ref":"#/components/schemas/TopicLocation"},"type":"array"}},"type":"object"},"ListPipelinesRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on pipeline name. Case-sensitive.","type":"string"}},"type":"object"},"ListPipelinesResponse":{"properties":{"next_page_token":{"type":"string"},"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"}},"type":"object"},"ListSecretScopesResponse":{"description":"ListSecretScopesResponse is the response of ListSecretScopes.","properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"}},"type":"object"},"ListSecretsFilter":{"description":"ListSecretsFilter are the filter options for listing secrets.","properties":{"labels[string][string]":{"additionalProperties":{"type":"string"},"description":"The secret labels to search for.","type":"object"},"name_contains":{"description":"Substring match on secret name. Case-sensitive.","type":"string"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes to search for","type":"array"}},"type":"object"},"ListSecretsResponse":{"description":"ListSecretsResponse is the response of ListSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListTopicsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListTopicsResponse":{"properties":{"next_page_token":{"type":"string"},"topics":{"items":{"$ref":"#/components/schemas/ListTopicsResponse.Topic"},"type":"array"}},"type":"object"},"ListTopicsResponse.Topic":{"properties":{"internal":{"description":"Whether topic is internal only.","type":"boolean"},"name":{"description":"Topic name.","type":"string"},"partition_count":{"description":"Topic partition count.","format":"int32","type":"integer"},"replication_factor":{"description":"Topic replication factor.","format":"int32","type":"integer"}},"type":"object"},"ListTransformsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on transform name. Case-sensitive.","type":"string"}},"type":"object"},"ListTransformsResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"transforms":{"items":{"$ref":"#/components/schemas/TransformMetadata"},"type":"array"}},"type":"object"},"ListUsersRequest.Filter":{"properties":{"name":{"description":"Username.","type":"string"},"name_contains":{"description":"Substring match on username. Case-sensitive.","type":"string"}},"type":"object"},"ListUsersResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"users":{"items":{"$ref":"#/components/schemas/ListUsersResponse.User"},"type":"array"}},"type":"object"},"ListUsersResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"}},"type":"object"},"LocalizedMessage":{"description":"Provides a localized error message that is safe to return to the user\nwhich can be attached to an RPC error.","properties":{"locale":{"title":"The locale used following the specification defined at\nhttps://www.rfc-editor.org/rfc/bcp/bcp47.txt.\nExamples are: \"en-US\", \"fr-CH\", \"es-MX\"","type":"string"},"message":{"description":"The localized error message in the above locale.","type":"string"}},"type":"object"},"MatchingACL":{"properties":{"error":{"$ref":"#/components/schemas/rpc.Status"},"host":{"description":"The host address to use for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"MountTask":{"properties":{"id":{"description":"Unique identifier for this mount task.","format":"int32","type":"integer"},"state":{"$ref":"#/components/schemas/MountTask.State"},"topics":{"description":"List of topics that are being mounted or unmounted.","items":{"$ref":"#/components/schemas/MountTask.Topic"},"type":"array"},"type":{"$ref":"#/components/schemas/MountTask.Type"}},"type":"object"},"MountTask.State":{"description":" - STATE_PLANNED: Planned: The mount task has been created and is awaiting further actions.\n - STATE_PREPARING: Preparing: The mount task is gathering resources and preparing for execution.\n - STATE_PREPARED: Prepared: All preparations are complete, and the mount task is ready to be executed.\n - STATE_EXECUTING: Executing: The mount task is actively transferring or transforming data.\n - STATE_EXECUTED: Executed: The core mount task actions are complete, but the mount task has not yet cut over or finalized.\n - STATE_CUT_OVER: Cut Over: The mount task has reached a critical point where ownership is transferred or final adjustments are made.\n - STATE_FINISHED: Finished: The mount task has been successfully completed, and no further actions are required.\n - STATE_CANCELING: Canceling: The mount task is in the process of being canceled, and rollback or cleanup actions may be in progress.\n - STATE_CANCELLED: Cancelled: The mount task has been fully canceled, and no further actions will be taken.","enum":["STATE_PLANNED","STATE_PREPARING","STATE_PREPARED","STATE_EXECUTING","STATE_EXECUTED","STATE_CUT_OVER","STATE_FINISHED","STATE_CANCELING","STATE_CANCELLED"],"type":"string"},"MountTask.Topic":{"properties":{"source_topic_reference":{"description":"The topic reference in the object storage bucket.\nThis field is only set for tasks of type MOUNT.","type":"string"},"topic_reference":{"description":"The topic reference within the current cluster, which may be either a simple topic name or a full reference\nin the form: cluster-uuid/topic-name/revision.","type":"string"}},"type":"object"},"MountTask.Type":{"description":" - TYPE_MOUNT: Mount represents the process of making topics available in a cluster by loading them from object storage.\n - TYPE_UNMOUNT: Unmount represents the process of offloading topics back to object storage.","enum":["TYPE_MOUNT","TYPE_UNMOUNT"],"type":"string"},"MountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of mount","type":"integer"}},"type":"object"},"Options":{"properties":{"include_tasks":{"description":"Restart connector's tasks.","type":"boolean"},"only_failed":{"description":"Restart only connectors that have failed.","type":"boolean"}},"type":"object"},"PartitionStatus":{"enum":["PARTITION_STATUS_RUNNING","PARTITION_STATUS_INACTIVE","PARTITION_STATUS_ERRORED","PARTITION_STATUS_UNKNOWN"],"type":"string"},"PartitionTransformStatus":{"properties":{"broker_id":{"format":"int32","type":"integer"},"lag":{"format":"int32","type":"integer"},"partition_id":{"format":"int32","type":"integer"},"status":{"$ref":"#/components/schemas/PartitionStatus"}},"type":"object"},"PermissionType":{"description":"Whether the operation should be allowed or denied.","enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"},"Pipeline":{"description":"Defines the pipeline resource.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","title":"The pipeline configuration in YAML.\nSee https://docs.redpanda.com/redpanda-connect/configuration/about/","type":"string"},"description":{"description":"Optional pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"id":{"description":"Pipeline ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"},"state":{"$ref":"#/components/schemas/Pipeline.State"},"status":{"$ref":"#/components/schemas/Pipeline.Status"}},"required":["id","display_name","config_yaml"],"type":"object"},"Pipeline.State":{"description":"State of the pipeline.\n\n - STATE_STARTING: The pipeline is starting.\n - STATE_RUNNING: The pipeline is running.\n - STATE_STOPPING: The pipeline is in the process of stopping.\n - STATE_STOPPED: The pipeline is stopped and in paused state.\n - STATE_ERROR: The pipeline encountered an error. See [Error Handling](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/error_handling/) for further guidance.\n - STATE_COMPLETED: The pipeline has completed the job successfully.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR","STATE_COMPLETED"],"type":"string"},"Pipeline.Status":{"description":"Pipeline status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"PipelineCreate":{"description":"PipelineCreate contains the details for the pipeline creation request.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"}},"required":["display_name","config_yaml"],"type":"object"},"PipelineUpdate":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/ServiceAccount"}},"required":["display_name","config_yaml"],"type":"object"},"PipelinesForSecret":{"properties":{"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"Policy":{"properties":{"host":{"description":"The host address for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"}},"type":"object"},"QuotaFailure":{"description":"Describes how a quota check failed.\n\nFor example if a daily limit was exceeded for the calling project,\na service could respond with a QuotaFailure detail containing the project\nid and the description of the quota limit that was exceeded. If the\ncalling project hasn't enabled the service in the developer console, then\na service could respond with the project id and set `service_disabled`\nto true.\n\nAlso see RetryInfo and Help types for other details about handling a\nquota failure.","properties":{"violations":{"description":"Describes all quota violations.","items":{"$ref":"#/components/schemas/QuotaFailure.Violation"},"type":"array"}},"title":"QuotaFailure","type":"object"},"QuotaFailure.Violation":{"description":"A message type used to describe a single quota violation. For example, a\ndaily quota or a custom quota that was exceeded.","properties":{"api_service":{"description":"The API Service from which the `QuotaFailure.Violation` orginates. In\nsome cases, Quota issues originate from an API Service other than the one\nthat was called. In other words, a dependency of the called API Service\ncould be the cause of the `QuotaFailure`, and this field would have the\ndependency API service name.\n\nFor example, if the called API is Kubernetes Engine API\n(container.googleapis.com), and a quota violation occurs in the\nKubernetes Engine API itself, this field would be\n\"container.googleapis.com\". On the other hand, if the quota violation\noccurs when the Kubernetes Engine API creates VMs in the Compute Engine\nAPI (compute.googleapis.com), this field would be\n\"compute.googleapis.com\".","type":"string"},"description":{"description":"A description of how the quota check failed. Clients can use this\ndescription to find more about the quota configuration in the service's\npublic documentation, or find the relevant quota limit to adjust through\ndeveloper console.\n\nFor example: \"Service disabled\" or \"Daily Limit for read operations\nexceeded\".","type":"string"},"future_quota_value":{"description":"The new quota value being rolled out at the time of the violation. At the\ncompletion of the rollout, this value will be enforced in place of\nquota_value. If no rollout is in progress at the time of the violation,\nthis field is not set.\n\nFor example, if at the time of the violation a rollout is in progress\nchanging the number of CPUs quota from 10 to 20, 20 would be the value of\nthis field.","format":"int64","nullable":true,"type":"string"},"quota_dimensions":{"additionalProperties":{"type":"string"},"description":"The dimensions of the violated quota. Every non-global quota is enforced\non a set of dimensions. While quota metric defines what to count, the\ndimensions specify for what aspects the counter should be increased.\n\nFor example, the quota \"CPUs per region per VM family\" enforces a limit\non the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions\n\"region\" and \"vm_family\". And if the violation occurred in region\n\"us-central1\" and for VM family \"n1\", the quota_dimensions would be,\n\n{\n \"region\": \"us-central1\",\n \"vm_family\": \"n1\",\n}\n\nWhen a quota is enforced globally, the quota_dimensions would always be\nempty.","type":"object"},"quota_id":{"description":"The id of the violated quota. Also know as \"limit name\", this is the\nunique identifier of a quota in the context of an API service.\n\nFor example, \"CPUS-PER-VM-FAMILY-per-project-region\".","type":"string"},"quota_metric":{"description":"The metric of the violated quota. A quota metric is a named counter to\nmeasure usage, such as API requests or CPUs. When an activity occurs in a\nservice, such as Virtual Machine allocation, one or more quota metrics\nmay be affected.\n\nFor example, \"compute.googleapis.com/cpus_per_vm_family\",\n\"storage.googleapis.com/internet_egress_bandwidth\".","type":"string"},"quota_value":{"description":"The enforced quota value at the time of the `QuotaFailure`.\n\nFor example, if the enforced quota value at the time of the\n`QuotaFailure` on the number of CPUs is \"10\", then the value of this\nfield would reflect this quantity.","format":"int64","type":"string"},"subject":{"description":"The subject on which the quota check failed.\nFor example, \"clientip:\u003cip address of client\u003e\" or \"project:\u003cGoogle\ndeveloper project id\u003e\".","type":"string"}},"type":"object"},"ReplicaAssignment":{"properties":{"partition_id":{"description":"A partition to create.","format":"int32","type":"integer"},"replica_ids":{"description":"The broker IDs the partition replicas are assigned to.","items":{"format":"int32","type":"integer"},"type":"array"}},"type":"object"},"Resource":{"properties":{"acls":{"items":{"$ref":"#/components/schemas/Policy"},"type":"array"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ResourcePatternType":{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"},"ResourceType":{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"Scope":{"description":"Defines the scope of a secret.","enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"Secret":{"description":"Defines the secret resource.","properties":{"id":{"description":"Secret identifier.","readOnly":true,"type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"}},"type":"object"},"ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"type":"object"},"SetConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"SetTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after this update.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"StartPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"StopPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"TaskInfo":{"properties":{"connector":{"description":"Name of connector.","type":"string"},"task":{"description":"The connector task ID.","format":"int32","type":"integer"}},"type":"object"},"TaskStatus":{"properties":{"id":{"description":"The connector task ID.","format":"int32","type":"integer"},"state":{"description":"State of connector task.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the task is assigned to.","type":"string"}},"type":"object"},"TopicLocation":{"properties":{"name":{"description":"Topic name.","type":"string"},"topic_location":{"description":"Full reference for the unmounted topic in this format: `topic-name/cluster-uuid/revision`.\nUse this as unique identifier for mounting a topic if there are multiple topics available\nwith the same name.","type":"string"}},"type":"object"},"TopicMount":{"description":"TopicMount defines the migration of a topic from the cloud storage into this cluster,\nso that it becomes available via the Kafka API.","properties":{"alias":{"description":"Alias may be provided to mount the topic under a different name. Leave\nblank to re-use the source topic name. The alias does not persist if you\nunmount the topic again.","type":"string"},"source_topic_reference":{"description":"The topic name or full reference of the topic to mount. The full reference\nmust be used in case the same topic exists more than once. This may be the case if\nthe same topic has been unmounted multiple times. List all mountable topics to\nfind the full reference (contains topic name, cluster uuid and revision).","type":"string"}},"required":["source_topic_reference"],"type":"object"},"TransformMetadata":{"properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"Input topic to apply the transform to.","type":"string"},"name":{"description":"Name of transform.","type":"string"},"output_topic_names":{"description":"Output topics to write the transform results to.","items":{"type":"string"},"type":"array"},"statuses":{"items":{"$ref":"#/components/schemas/PartitionTransformStatus"},"type":"array"}},"type":"object"},"UnmountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of unmount","type":"integer"}},"type":"object"},"UpdateConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"operation":{"$ref":"#/components/schemas/ConfigAlterOperation"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"UpdateConnectSecretBody":{"description":"UpdateConnectSecretRequest is the request of UpdateConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateConnectSecretResponse":{"description":"UpdateConnectSecretResponse is the response of UpdateConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateMountTaskBody":{"properties":{"action":{"$ref":"#/components/schemas/Action"}},"required":["action"],"type":"object"},"UpdateMountTaskResponse":{"type":"object"},"UpdatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"UpdateSecretBody":{"description":"UpdateSecretRequest is the request of UpdateSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateSecretResponse":{"description":"UpdateSecretResponse is the response of UpdateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after applying this partial patch.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"UpdateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"UpdateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/UpdateUserResponse.User"}},"type":"object"},"UpdateUserResponse.User":{"description":"Updated user's name and SASL mechanism.","properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"type":"string"}},"type":"object"},"UpsertConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"rpc.Status":{"description":"The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).","properties":{"code":{"description":"RPC status code, as described [here](https://github.com/googleapis/googleapis/blob/b4c238feaa1097c53798ed77035bbfeb7fc72e96/google/rpc/code.proto#L32).","enum":["OK","CANCELLED","UNKNOWN","INVALID_ARGUMENT","DEADLINE_EXCEEDED","NOT_FOUND","ALREADY_EXISTS","PERMISSION_DENIED","UNAUTHENTICATED","RESOURCE_EXHAUSTED","FAILED_PRECONDITION","ABORTED","OUT_OF_RANGE","UNIMPLEMENTED","INTERNAL","UNAVAILABLE","DATA_LOSS"],"format":"int32","type":"string"},"details":{"items":{"description":"Details of the error.","oneOf":[{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.BadRequest"],"type":"string"}}},{"$ref":"#/components/schemas/BadRequest"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.ErrorInfo"],"type":"string"}}},{"$ref":"#/components/schemas/ErrorInfo"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.QuotaFailure"],"type":"string"}}},{"$ref":"#/components/schemas/QuotaFailure"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.Help"],"type":"string"}}},{"$ref":"#/components/schemas/Help"}]}]},"type":"array"},"message":{"description":"Detailed error message. No compatibility guarantees are given for the text contained in this message.","type":"string"}},"type":"object"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1alpha2"},"openapi":"3.0.3","paths":{"/v1alpha2/acls":{"delete":{"description":"Delete all ACLs that match the filter criteria. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_DeleteACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","required":true,"schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","required":true,"schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","required":true,"schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","required":true,"schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete ACLs","tags":["Redpanda ACLs (v1alpha2)"]},"get":{"description":"List all ACLs. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_ListACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List ACLs","tags":["Redpanda ACLs (v1alpha2)"]},"post":{"description":"Create a new ACL.","operationId":"ACLService_CreateACL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLResponse"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create ACL","tags":["Redpanda ACLs (v1alpha2)"]}},"/v1alpha2/cloud-storage/mount-tasks":{"get":{"description":"This operation retrieves the status of a task responsible for mounting or unmounting topics. It provides details on the task’s type (mount or unmount), its current state, and the topics involved.","operationId":"CloudStorageService_ListMountTasks","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountTasksResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the mount task status","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/mount-tasks/{id}":{"delete":{"description":"Delete a mount or unmount by ID.","operationId":"CloudStorageService_DeleteMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to delete.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a mount or unmount","tags":["Cloud Storage (v1alpha2)"]},"get":{"description":"Retrieves the status of a mount or unmount by ID. The response provides details on the operation type (mount or unmount), its current state, and the topics involved. Use the ID returned when you start the mount or unmount, or use the ListMountTasks endpoint to retrieve a list of IDs.","operationId":"CloudStorageService_GetMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to retrieve.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get the status of a mount or unmount by ID","tags":["Cloud Storage (v1alpha2)"]},"post":{"description":"This operation allows performing an action on an ongoing mount task.","operationId":"CloudStorageService_UpdateMountTask","parameters":[{"description":"ID is the unique identifier of the mount or unmount to update.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a mount or unmount","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/mount":{"post":{"description":"Attach mountable topics from object storage to a cluster, making them available for consumption and production again. Mounting a topic reloads its data and state to the local brokers, allowing active use of the topic.","operationId":"CloudStorageService_MountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TopicMount"},"required":["topics"],"type":"array"}}},"required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Mount topics from object storage","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/mountable":{"get":{"description":"Retrieve all topics that are currently unmounted and available to be mounted to the cluster. These topics reside in object storage and can be mounted for consumption or production within the cluster.","operationId":"CloudStorageService_ListMountableTopics","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountableTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List mountable topics","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/cloud-storage/topics/unmount":{"post":{"description":"Unmount topics to object storage, freeing up all local cluster resources. Once you unmount a topic, it can no longer be consumed or produced to. It detaches from the active cluster while its data remains safely stored in the external object storage.","operationId":"CloudStorageService_UnmountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"required":["topics"],"type":"array"}}},"description":"List of topics to unmount.","required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnmountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Unmount topics to object storage","tags":["Cloud Storage (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters":{"get":{"description":"List connect clusters available for being consumed by the console's kafka-connect service.","operationId":"KafkaConnectService_ListConnectClusters","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectClustersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connect clusters","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}":{"get":{"description":"Get information about an available Kafka Connect cluster.","operationId":"KafkaConnectService_GetConnectCluster","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCluster"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Connect cluster not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connect cluster","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors":{"get":{"description":"List connectors managed by the Kafka Connect service.","operationId":"KafkaConnectService_ListConnectors","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connectors","tags":["Kafka Connect (v1alpha2)"]},"post":{"description":"Create a connector with the specified configuration.","operationId":"KafkaConnectService_CreateConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"required":true,"x-originalParamName":"connector"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}":{"delete":{"description":"Delete a connector. This operation force stops all tasks and also deletes the connector configuration.","operationId":"KafkaConnectService_DeleteConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete connector","tags":["Kafka Connect (v1alpha2)"]},"get":{"description":"Get information about a connector in a specific cluster.","operationId":"KafkaConnectService_GetConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/config":{"get":{"description":"Get the configuration for the connector.","operationId":"KafkaConnectService_GetConnectorConfig","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector configuration","tags":["Kafka Connect (v1alpha2)"]},"put":{"description":"Update the configuration for an existing connector with the specified name, or create a new connector using the given configuration. Returns information about the connector after the change has been made.","operationId":"KafkaConnectService_UpsertConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector. If a connector with this name does not already exist, a new connector is created.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"required":["config"],"type":"object"}}},"description":"Connector configuration property.","required":true,"x-originalParamName":"config"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Updated"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Upsert connector configuration","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/pause":{"put":{"description":"Pause the connector and its tasks, which stops messages from processing until the connector is resumed. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_PauseConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Pause request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Pause connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/restart":{"post":{"description":"Triggers a connector restart. You must specify whether or not tasks are also restarted, and whether only failed connectors are restarted.","operationId":"KafkaConnectService_RestartConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Options"}}},"required":true,"x-originalParamName":"options"},"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Restart connector request success"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Restart connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/resume":{"put":{"description":"Resume a paused connector and its tasks, and resumes message processing. This call is asynchronous and may take some time to process. If the connector was not paused, this operation does not do anything.","operationId":"KafkaConnectService_ResumeConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Resume request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Resume connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/status":{"get":{"description":"Gets the current status of the connector, including the state for each of its tasks, error information, etc.","operationId":"KafkaConnectService_GetConnectorStatus","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorStatus"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector status","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/stop":{"put":{"description":"Stops a connector, but does not delete it. All tasks for the connector are shut down completely. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_StopConnector","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop connector","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics":{"get":{"description":"Returns a list of connector topic names. If the connector is inactive, this call returns an empty list.","operationId":"KafkaConnectService_ListConnectorTopics","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connector topics","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics/reset":{"put":{"description":"Resets the set of topic names that the connector is using.","operationId":"KafkaConnectService_ResetConnectorTopics","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector using the topics to be reset.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Reset connector topics","tags":["Kafka Connect (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/secrets":{"get":{"description":"List Kafka Connect cluster secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListConnectSecrets","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string][string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect Cluster Secrets","tags":["Secrets (v1alpha2)"]},"post":{"description":"Create a Kafka Connect cluster secret.","operationId":"SecretService_CreateConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Connect Cluster Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/kafka-connect/clusters/{cluster_name}/secrets/{id}":{"delete":{"description":"Delete a Kafka Connect cluster secret.","operationId":"SecretService_DeleteConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Connect Cluster Secret","tags":["Secrets (v1alpha2)"]},"get":{"description":"Get a specific Kafka Connect cluster secret.","operationId":"SecretService_GetConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"The ID of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect Cluster Secret","tags":["Secrets (v1alpha2)"]},"put":{"description":"Update a Kafka Connect cluster secret.","operationId":"SecretService_UpdateConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to update.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Connect Cluster Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/redpanda-connect/config-schema":{"get":{"description":"The configuration schema includes available [components and processors](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about) in this Redpanda Connect instance.","operationId":"PipelineService_GetPipelineServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelineServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect pipeline configurations.","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines":{"get":{"description":"List Redpanda Connect pipelines. Optional: filter based on pipeline name.","operationId":"PipelineService_ListPipelines","parameters":[{"description":"Substring match on pipeline name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPipelinesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect pipelines","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"post":{"description":"Create a new Redpanda Connect pipeline.","operationId":"PipelineService_CreatePipeline","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineCreate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines-by-secrets":{"get":{"description":"Get Redpanda Connect pipelines by secrets.","operationId":"PipelineService_GetPipelinesBySecrets","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesBySecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines by secrets","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines-for-secret":{"get":{"description":"Get Redpanda Connect pipelines for a given secret.","operationId":"PipelineService_GetPipelinesForSecret","parameters":[{"description":"Secret ID.","in":"query","name":"secret_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesForSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines for secret","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}":{"delete":{"description":"Delete a Redpanda Connect pipeline.","operationId":"PipelineService_DeletePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"get":{"description":"Get a specific Redpanda Connect pipeline.","operationId":"PipelineService_GetPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]},"put":{"description":"Update the [configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) of a Redpanda Connect pipeline.","operationId":"PipelineService_UpdatePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineUpdate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}/start":{"put":{"description":"Start a stopped Redpanda Connect pipeline.","operationId":"PipelineService_StartPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/redpanda-connect/pipelines/{id}/stop":{"put":{"description":"Stop a running Redpanda Connect pipeline.","operationId":"PipelineService_StopPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect pipeline","tags":["Redpanda Connect Pipeline (v1alpha2)"]}},"/v1alpha2/secret-scopes":{"get":{"description":"List supported secret scopes.","operationId":"SecretService_ListSecretScopes","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretScopesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Secret Scopes","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/secrets":{"get":{"description":"List secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListSecrets","parameters":[{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Secrets","tags":["Secrets (v1alpha2)"]},"post":{"description":"Create a secret.","operationId":"SecretService_CreateSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretRequest"}}},"description":"CreateSecretRequest is the request of CreateSecret.","required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/secrets/{id}":{"delete":{"description":"Delete a secret.","operationId":"SecretService_DeleteSecret","parameters":[{"description":"The id of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Secret","tags":["Secrets (v1alpha2)"]},"get":{"description":"Get a secret.","operationId":"SecretService_GetSecret","parameters":[{"description":"The id of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Secret","tags":["Secrets (v1alpha2)"]},"put":{"description":"Update a secret.","operationId":"SecretService_UpdateSecret","parameters":[{"description":"Secret identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Secret","tags":["Secrets (v1alpha2)"]}},"/v1alpha2/topics":{"get":{"description":"List topics, with partition count and replication factor. Optional: filter based on topic name.","operationId":"TopicService_ListTopics","parameters":[{"description":"Substring match on topic name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Topics","tags":["Topics (v1alpha2)"]},"post":{"description":"Create a [topic](https://docs.redpanda.com/current/deploy/deployment-option/cloud/create-topic/).","operationId":"TopicService_CreateTopic","parameters":[{"description":"If true, makes this request a dry run; everything is validated but\nno topics are actually created.","in":"query","name":"validate_only","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicRequest.Topic"}}},"description":"The topic to create.","required":true,"x-originalParamName":"topic"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicResponse"}}},"description":"Topic created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Topic","tags":["Topics (v1alpha2)"]}},"/v1alpha2/topics/{name}":{"delete":{"description":"Delete the Kafka topic with the requested name.","operationId":"TopicService_DeleteTopic","parameters":[{"description":"Topic name.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Topic deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Requested topic does not exist"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Topic","tags":["Topics (v1alpha2)"]}},"/v1alpha2/topics/{topic_name}/configurations":{"get":{"description":"Get key-value configs for a topic.","operationId":"TopicService_GetTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Topic Configurations","tags":["Topics (v1alpha2)"]},"patch":{"description":"Update a subset of the topic configurations.","operationId":"TopicService_UpdateTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UpdateConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Topic Configuration","tags":["Topics (v1alpha2)"]},"put":{"description":"Update the entire set of key-value configurations for a topic. Config entries that are not provided in the request are removed and will fall back to their default values.","operationId":"TopicService_SetTopicConfigurations","parameters":[{"description":"Name of topic.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SetConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set Topic Configurations","tags":["Topics (v1alpha2)"]}},"/v1alpha2/transforms":{"get":{"description":"Retrieve a list of Wasm transforms. Optional: filter based on transform name.","operationId":"TransformService_ListTransforms","parameters":[{"description":"Substring match on transform name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","transforms":[{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic11","output-topic12"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]},{"environment_variables":[],"input_topic_name":"topic2","name":"transform2","output_topic_names":["output-topic21","output-topic22"],"statuses":[{"broker_id":2,"lag":2,"partition_id":2,"status":"PARTITION_STATUS_RUNNING"}]}]},"schema":{"$ref":"#/components/schemas/ListTransformsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Transforms","tags":["WASM Transforms (v1alpha2)"]},"put":{"description":"Initiate deployment of a new Wasm transform. This endpoint uses multipart/form-data encoding. Following deployment, a brief period is required before the Wasm transform becomes operational. Monitor the partition statuses to check whether the transform is active. This usually takes around 3s, but no longer than 10s.","operationId":"TransformService_DeployTransform","requestBody":{"content":{"multipart/form-data":{"schema":{"example":"{\"name\":\"redact-orders\",\"input_topic_name\":\"orders\",\"output_topic_names\":[\"orders-redacted\"],\"environment_variables\":[{\"key\":\"LOGGER_LEVEL\",\"value\":\"DEBUG\"}]}","properties":{"metadata":{"$ref":"#/components/schemas/DeployTransformRequest"},"wasm_binary":{"description":"Binary file containing the compiled WASM transform. The maximum size for this file is 10MiB.","format":"binary","type":"string"}},"type":"object"}}},"description":"Transform metadata as well as the WASM binary","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransformMetadata"}}},"description":"Created"}},"summary":"Deploy Transform","tags":["WASM Transforms (v1alpha2)"]}},"/v1alpha2/transforms/{name}":{"delete":{"description":"Delete a Wasm transform with the requested name.","operationId":"TransformService_DeleteTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"Transform deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Transform","tags":["WASM Transforms (v1alpha2)"]},"get":{"description":"Get a specific Wasm transform.","operationId":"TransformService_GetTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"transform":{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic1","output-topic2"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]}},"schema":{"$ref":"#/components/schemas/GetTransformResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Transform","tags":["WASM Transforms (v1alpha2)"]}},"/v1alpha2/users":{"get":{"description":"List users. Optional: filter based on username.","operationId":"UserService_ListUsers","parameters":[{"description":"Username.","in":"query","name":"filter.name","schema":{"type":"string"}},{"description":"Substring match on username. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","users":[{"name":"payment-service"},{"name":"jane"}]},"schema":{"$ref":"#/components/schemas/ListUsersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Users","tags":["Redpanda Users (v1alpha2)"]},"post":{"description":"Create a new user.","operationId":"UserService_CreateUser","requestBody":{"content":{"application/json":{"example":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service","password":"secure-password"},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"required":true,"x-originalParamName":"user"},"responses":{"201":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"description":"User created"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create User","tags":["Redpanda Users (v1alpha2)"]}},"/v1alpha2/users/{name}":{"delete":{"description":"Delete the specified user","operationId":"UserService_DeleteUser","parameters":[{"description":"Username","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"User deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"example":{"code":"NOT_FOUND","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_RESOURCE_NOT_FOUND"}],"message":"user not found"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete User","tags":["Redpanda Users (v1alpha2)"]}},"/v1alpha2/users/{user.name}":{"put":{"description":"Update a user's credentials.","operationId":"UserService_UpdateUser","parameters":[{"description":"Username.","in":"path","name":"user.name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","password":"new-password"}},"schema":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"password":{"description":"Password.","type":"string"}},"type":"object"}}},"required":true,"x-originalParamName":"user"},"responses":{"200":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/UpdateUserResponse.User"}}},"description":"OK"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update User","tags":["Redpanda Users (v1alpha2)"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Manage Redpanda access control lists (ACLs). See [Redpanda Cloud Authorization](https://docs.redpanda.com/redpanda-cloud/security/authorization/cloud-authorization/) for more information.","name":"Redpanda ACLs (v1alpha2)"},{"description":"Manage Redpanda topics stored in object storage. See: [Mountable Topics](https://docs.redpanda.com/redpanda-cloud/manage/mountable-topics/)","name":"Cloud Storage (v1alpha2)"},{"description":"Manage Wasm transforms in Redpanda.","name":"WASM Transforms (v1alpha2)"},{"description":"Manage [connectors](https://docs.redpanda.com/redpanda-cloud/develop/managed-connectors/) and interact with the Kafka Connect API.","name":"Kafka Connect (v1alpha2)"},{"description":"Create and manage [Redpanda Connect](https://docs.redpanda.com/redpanda-cloud/develop/connect/about) pipelines and their configurations.","name":"Redpanda Connect Pipeline (v1alpha2)"},{"description":"Manage [secrets](https://docs.redpanda.com/redpanda-cloud/security/secrets) for Redpanda Cloud.","name":"Secrets (v1alpha2)"},{"description":"Manage Redpanda topics.","name":"Topics (v1alpha2)"},{"description":"Manage Redpanda users. To manage access, see the Data Plane [ACL endpoints](https://docs.redpanda.com/api/cloud-dataplane-api/#get-/v1alpha2/acls).","name":"Redpanda Users (v1alpha2)"}]} \ No newline at end of file diff --git a/proto/gen/openapi/openapi.v1alpha2.yaml b/proto/gen/openapi/openapi.v1alpha2.yaml index 6d606c892..9098ca21d 100644 --- a/proto/gen/openapi/openapi.v1alpha2.yaml +++ b/proto/gen/openapi/openapi.v1alpha2.yaml @@ -4375,7 +4375,7 @@ paths: content: multipart/form-data: schema: - example: '{"name":"redact-orders", "input_topic_name":"orders", "output_topic_names":["orders-redacted"], "environment_variables":[{"key":"LOGGER_LEVEL", "value":"DEBUG"}]}' + example: '{"name":"redact-orders","input_topic_name":"orders","output_topic_names":["orders-redacted"],"environment_variables":[{"key":"LOGGER_LEVEL","value":"DEBUG"}]}' properties: metadata: $ref: '#/components/schemas/DeployTransformRequest' diff --git a/proto/gen/openapi/openapi.v1alpha3.json b/proto/gen/openapi/openapi.v1alpha3.json index 0718f5cf2..b86839bba 100644 --- a/proto/gen/openapi/openapi.v1alpha3.json +++ b/proto/gen/openapi/openapi.v1alpha3.json @@ -1 +1 @@ -{"components":{"schemas":{"ACLAccessFilter":{"properties":{"host":{"title":"The host to match. If not set, will default to match all hosts\nwith the specified `operation` and `permission_type`. Note that\nthe asterisk `*` is literal and matches hosts that are set to `*`","type":"string"},"operation":{"$ref":"#/components/schemas/ACLOperation"},"permission_type":{"$ref":"#/components/schemas/ACLPermissionType"},"principal":{"title":"The name of the principal, if not set will default to match\nall principals with the specified `operation` and `permission_type`","type":"string"}},"title":"Filter an ACL based on its access","type":"object"},"ACLFilter":{"properties":{"access_filter":{"$ref":"#/components/schemas/ACLAccessFilter"},"resource_filter":{"$ref":"#/components/schemas/ACLResourceFilter"}},"title":"A filter for ACLs","type":"object"},"ACLOperation":{"enum":["ACL_OPERATION_ANY","ACL_OPERATION_READ","ACL_OPERATION_WRITE","ACL_OPERATION_CREATE","ACL_OPERATION_REMOVE","ACL_OPERATION_ALTER","ACL_OPERATION_DESCRIBE","ACL_OPERATION_CLUSTER_ACTION","ACL_OPERATION_DESCRIBE_CONFIGS","ACL_OPERATION_ALTER_CONFIGS","ACL_OPERATION_IDEMPOTENT_WRITE"],"title":"/ The ACL operation to match","type":"string"},"ACLPattern":{"description":"- ACL_PATTERN_ANY: Wildcard to match any pattern\n - ACL_PATTERN_LITERAL: Match a literal string\n - ACL_PATTERN_PREFIXED: Match a prefix\n - ACL_PATTERN_MATCH: Match serves as a catch-all for all the names of a topic\nthe principal is authorized to access","enum":["ACL_PATTERN_ANY","ACL_PATTERN_LITERAL","ACL_PATTERN_PREFIXED","ACL_PATTERN_MATCH"],"title":"/ The ACL pattern type","type":"string"},"ACLPermissionType":{"enum":["ACL_PERMISSION_TYPE_ANY","ACL_PERMISSION_TYPE_ALLOW","ACL_PERMISSION_TYPE_DENY"],"title":"/ ACL permission types","type":"string"},"ACLResource":{"description":"- ACL_RESOURCE_ANY: Wildcard for selecting any ACL resource\n - ACL_RESOURCE_CLUSTER: Cluster wide resource\n - ACL_RESOURCE_GROUP: Consumer group resource\n - ACL_RESOURCE_TOPIC: Topic resource\n - ACL_RESOURCE_TXN_ID: Transaction ID resource\n - ACL_RESOURCE_SR_SUBJECT: Schema Registry subject resource\n - ACL_RESOURCE_SR_REGISTRY: Schema Registry wide resource\n - ACL_RESOURCE_SR_ANY: Wildcard to match any SR ACL resource","enum":["ACL_RESOURCE_ANY","ACL_RESOURCE_CLUSTER","ACL_RESOURCE_GROUP","ACL_RESOURCE_TOPIC","ACL_RESOURCE_TXN_ID","ACL_RESOURCE_SR_SUBJECT","ACL_RESOURCE_SR_REGISTRY","ACL_RESOURCE_SR_ANY"],"title":"/ The ACL resource types","type":"string"},"ACLResourceFilter":{"properties":{"name":{"title":"Name, if not given will default to match all items in `resource_type`.\nNote that asterisk `*` is literal and matches resource ACLs\nthat are named `*`","type":"string"},"pattern_type":{"$ref":"#/components/schemas/ACLPattern"},"resource_type":{"$ref":"#/components/schemas/ACLResource"}},"title":"A filter to match ACLs for resources","type":"object"},"AIAgent":{"description":"Defines the AI Agent resource.","properties":{"description":{"description":"Optional AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"id":{"description":"AI Agent ID.","readOnly":true,"type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"state":{"$ref":"#/components/schemas/AIAgent.State"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to an AI agent resource.\nThey help organize AI agents and enable filtering when listing them.","type":"object"},"url":{"description":"URL to connect to the AI agent endpoint.","readOnly":true,"type":"string"}},"required":["display_name","system_prompt","provider","model","service_account"],"type":"object"},"AIAgent.MCPServer":{"description":"MCP server configuration.","properties":{"id":{"description":"ID of the Redpanda MCP server.","type":"string"}},"type":"object"},"AIAgent.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/AIAgent.Provider.OpenAI"}},"type":"object"},"AIAgent.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"required":["api_key"],"type":"object"},"AIAgent.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"required":["client_id","client_secret"],"type":"object"},"AIAgent.State":{"description":"State of the AI agent.\n\n - STATE_STARTING: The AI agent is starting.\n - STATE_RUNNING: The AI agent is running and ready to handle requests.\n - STATE_STOPPING: The AI agent is in the process of stopping.\n - STATE_STOPPED: The AI agent is stopped and in paused state.\n - STATE_ERROR: The AI agent encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"AIAgentCreate":{"description":"AIAgentCreate contains the details for the AI agent creation request.","properties":{"description":{"description":"AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to an AI agent.","type":"object"}},"required":["display_name","system_prompt","provider","model","service_account"],"type":"object"},"AIAgentUpdate":{"properties":{"description":{"description":"AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"type":"object"},"AIGateway":{"description":"Defines the AI Gateway resource.","properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"Optional AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"id":{"description":"AI Gateway ID.","readOnly":true,"type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"state":{"$ref":"#/components/schemas/AIGateway.State"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to an AI gateway resource.\nThey help organize AI gateways and enable filtering when listing them.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"AIGateway.State":{"description":"State of the AI gateway.\n\n - STATE_STARTING: The AI gateway is starting.\n - STATE_RUNNING: The AI gateway is running and ready to handle requests.\n - STATE_STOPPING: The AI gateway is in the process of stopping.\n - STATE_STOPPED: The AI gateway is stopped and in paused state.\n - STATE_ERROR: The AI gateway encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"AIGatewayCreate":{"description":"AIGatewayCreate contains the details for the AI gateway creation request.","properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to an AI gateway.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"AIGatewayUpdate":{"properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"type":"object"},"Any":{"additionalProperties":{},"properties":{"@type":{"type":"string"}},"type":"object"},"AuthenticationConfiguration":{"properties":{"scram_configuration":{"$ref":"#/components/schemas/ScramConfig"}},"title":"Authentication config. Currently only supporting SASL/SCRAM,\nhowever made as a oneof for expansion","type":"object"},"ComponentType":{"description":"Component type for this tool.","enum":["COMPONENT_TYPE_PROCESSOR","COMPONENT_TYPE_CACHE","COMPONENT_TYPE_INPUT","COMPONENT_TYPE_OUTPUT"],"type":"string"},"ConfigurationYAMLSchema":{"properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_schema":{"description":"JSON schema of the configuration components that are allowed for MCP Servers.","type":"string"}},"type":"object"},"ConsumerOffsetSyncOptions":{"properties":{"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"enabled":{"title":"Whether it's enabled","type":"boolean"},"group_filters":{"items":{"$ref":"#/components/schemas/NameFilter"},"title":"The filters","type":"array"},"interval":{"title":"Sync interval\nIf 0 provided, defaults to 30 seconds","type":"string"}},"title":"Options for syncing consumer offsets","type":"object"},"CreateAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"CreateAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"CreateKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"CreateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"DeleteAIAgentResponse":{"type":"object"},"DeleteAIGatewayResponse":{"type":"object"},"DeleteKnowledgeBaseResponse":{"type":"object"},"DeleteMCPServerResponse":{"type":"object"},"EarliestOffset":{"description":"Start at the earliest offset in the partition.","type":"object"},"FailOverBody":{"properties":{"shadow_topic_name":{"title":"The name of the shadow topic to fail over, if not set will fail over\nthe entire shadow link","type":"string"}},"title":"Request to fail over a shadow link or a single shadow topic","type":"object"},"FilterType":{"description":"- FILTER_TYPE_INCLUDE: Include the items that match the filter\n - FILTER_TYPE_EXCLUDE: Exclude the items that match the filter","enum":["FILTER_TYPE_INCLUDE","FILTER_TYPE_EXCLUDE"],"title":"What type of filter this is, include or exclude","type":"string"},"GetAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"GetAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"GetKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"GetMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"GetMCPServerServiceConfigSchemaResponse":{"properties":{"configuration_yamls":{"description":"The configuration schema for the MCP Server.","items":{"$ref":"#/components/schemas/ConfigurationYAMLSchema"},"type":"array"}},"type":"object"},"GetShadowMetricsResponse":{"properties":{"error_topics":{"format":"uint64","type":"string"},"failed_over_topics":{"format":"uint64","type":"string"},"total_topics_replicated":{"format":"uint64","type":"string"}},"type":"object"},"KnowledgeBase":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBase.Generation"},"id":{"readOnly":true,"type":"string"},"indexer":{"$ref":"#/components/schemas/KnowledgeBase.Indexer"},"retrieval_api_url":{"readOnly":true,"type":"string"},"retriever":{"$ref":"#/components/schemas/KnowledgeBase.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBase.VectorDatabase"}},"required":["id","display_name","vector_database","embedding_generator","generation"],"type":"object"},"KnowledgeBase.EmbeddingGenerator":{"properties":{"dimensions":{"format":"int32","type":"integer"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider"}},"required":["provider","dimensions","model"],"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"required":["api_key"],"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBase.Generation":{"properties":{"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.Generation.Provider"}},"required":["provider","model"],"type":"object"},"KnowledgeBase.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBase.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBase.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBase.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBase.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker"}},"type":"object"},"KnowledgeBase.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBase.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBase.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBase.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBase.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBase.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"},"table":{"type":"string"}},"required":["dsn","table"],"type":"object"},"KnowledgeBaseCreate":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation"},"indexer":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Indexer"},"retriever":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBaseCreate.VectorDatabase"}},"required":["display_name","vector_database","embedding_generator"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator":{"properties":{"dimensions":{"format":"int32","type":"integer"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider"}},"required":["provider","dimensions","model"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"required":["api_key"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseCreate.Generation":{"properties":{"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation.Provider"}},"required":["provider","model"],"type":"object"},"KnowledgeBaseCreate.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseCreate.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseCreate.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBaseCreate.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBaseCreate.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBaseCreate.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBaseCreate.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"},"table":{"type":"string"}},"required":["dsn","table"],"type":"object"},"KnowledgeBaseUpdate":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation"},"indexer":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Indexer"},"retriever":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.VectorDatabase"}},"required":["display_name","vector_database","embedding_generator"],"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator":{"properties":{"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider"}},"required":["provider"],"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.Generation":{"properties":{"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation.Provider"}},"required":["provider"],"type":"object"},"KnowledgeBaseUpdate.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseUpdate.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBaseUpdate.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBaseUpdate.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBaseUpdate.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"}},"required":["dsn"],"type":"object"},"LatestOffset":{"description":"Start at the latest offset in the partition.","type":"object"},"LintHint":{"description":"LintHint is a generic linting hint.","properties":{"column":{"description":"Column number of the lint.","format":"int32","type":"integer"},"hint":{"description":"The hint message.","type":"string"},"line":{"description":"Line number of the lint.","format":"int32","type":"integer"},"lint_type":{"description":"Optional lint type or enum.","type":"string"}},"type":"object"},"LintMCPConfigRequest":{"properties":{"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP tools configuration in YAML format.","type":"object"}},"required":["tools"],"type":"object"},"LintMCPConfigResponse":{"properties":{"lint_hints":{"additionalProperties":{"$ref":"#/components/schemas/LintHint"},"description":"A list of linting issues.","type":"object"}},"type":"object"},"ListAIAgentsRequest.Filter":{"properties":{"mcp_server_id":{"type":"string"},"name_contains":{"description":"Any AI agents that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"AI agents that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListAIAgentsResponse":{"properties":{"ai_agents":{"items":{"$ref":"#/components/schemas/AIAgent"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListAIGatewaysRequest.Filter":{"properties":{"name_contains":{"description":"Any AI gateways that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"AI gateways that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListAIGatewaysResponse":{"properties":{"ai_gateways":{"items":{"$ref":"#/components/schemas/AIGateway"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListKnowledgeBasesRequest.Filter":{"properties":{"name_contains":{"description":"Any KnowledgeBase that partially match this name will be returned.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"KnowledgeBases that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListKnowledgeBasesResponse":{"properties":{"knowledge_bases":{"items":{"$ref":"#/components/schemas/KnowledgeBase"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListMCPServersRequest.Filter":{"properties":{"display_name_contains":{"description":"Any MCP Server that partially match this name will be returned.","type":"string"},"secret_id":{"description":"Match MCP servers that use this secret ID.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"MCP servers that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListMCPServersResponse":{"properties":{"mcp_servers":{"items":{"$ref":"#/components/schemas/v1alpha3.MCPServer"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListShadowLinkTopicsRequest.Filter":{"properties":{"topic_name_contains":{"description":"Substring match on shadow topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListShadowLinkTopicsResponse":{"properties":{"next_page_token":{"title":"Token to retrieve the next page","type":"string"},"shadow_topics":{"items":{"$ref":"#/components/schemas/v1alpha3.ShadowTopic"},"title":"Shadow topic status information","type":"array"}},"type":"object"},"MCPServer.State":{"description":"State of the MCP server.\n\n - STATE_STARTING: The MCP server is starting.\n - STATE_RUNNING: The MCP server is running.\n - STATE_STOPPING: The MCP server is in the process of stopping.\n - STATE_STOPPED: The MCP server is stopped and in paused state.\n - STATE_ERROR: The MCP server encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"MCPServer.Status":{"description":"MCP server status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"MCPServerCreate":{"description":"MCPServerCreate contains the details for the MCP Server creation request.","properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a MCP server.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"required":["display_name","tools"],"type":"object"},"MCPServerUpdate":{"properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP servers name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"type":"object"},"NameFilter":{"properties":{"filter_type":{"$ref":"#/components/schemas/FilterType"},"name":{"title":"The resource name, or \"*\"\nNote if \"*\", must be the _only_ character\nand `pattern_type` must be `PATTERN_TYPE_LITERAL`","type":"string"},"pattern_type":{"$ref":"#/components/schemas/PatternType"}},"title":"A filter based on the name of a resource","type":"object"},"PartitionInfo":{"properties":{"high_watermark":{"format":"int64","type":"string"},"lag":{"format":"int64","type":"string"},"partition_id":{"format":"int32","type":"integer"},"source_high_watermark":{"format":"int64","type":"string"},"source_last_stable_offset":{"format":"int64","type":"string"},"source_last_updated_timestamp":{"format":"date-time","type":"string"}},"title":"Partition-level information","type":"object"},"PatternType":{"description":"- PATTERN_TYPE_LITERAL: Must match the filter exactly\n - PATTERN_TYPE_PREFIX: Will match anything that starts with filter","enum":["PATTERN_TYPE_LITERAL","PATTERN_TYPE_PREFIX"],"title":"The matching pattern type","type":"string"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"SchemaRegistrySyncOptions":{"description":"Options for how the Schema Registry is synced.","properties":{"shadow_schema_registry_topic":{"$ref":"#/components/schemas/ShadowSchemaRegistryTopic"}},"type":"object"},"ScramConfig":{"properties":{"password":{"title":"Password","type":"string"},"password_set":{"readOnly":true,"title":"Indicates that the password has been set","type":"boolean"},"password_set_at":{"format":"date-time","readOnly":true,"title":"Timestamp of when the password was last set - only valid if password_set\nis true","type":"string"},"scram_mechanism":{"$ref":"#/components/schemas/ScramMechanism"},"username":{"title":"SCRAM username","type":"string"}},"title":"SCRAM settings","type":"object"},"ScramMechanism":{"description":"- SCRAM_MECHANISM_SCRAM_SHA_256: SCRAM-SHA-256\n - SCRAM_MECHANISM_SCRAM_SHA_512: SCRAM-SHA-512","enum":["SCRAM_MECHANISM_SCRAM_SHA_256","SCRAM_MECHANISM_SCRAM_SHA_512"],"title":"Valid SCRAM mechanisms","type":"string"},"SecuritySettingsSyncOptions":{"properties":{"acl_filters":{"items":{"$ref":"#/components/schemas/ACLFilter"},"title":"ACL filters","type":"array"},"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"enabled":{"title":"Whether or not it's enabled","type":"boolean"},"interval":{"title":"Sync interval\nIf 0 provided, defaults to 30 seconds","type":"string"}},"title":"Options for syncing security settings","type":"object"},"ShadowLinkClientOptions":{"properties":{"authentication_configuration":{"$ref":"#/components/schemas/AuthenticationConfiguration"},"bootstrap_servers":{"items":{"type":"string"},"title":"The bootstrap servers to use","type":"array"},"client_id":{"readOnly":true,"title":"The Client ID for the Kafka RPC requests setn by this cluster to the\nsource cluster","type":"string"},"connection_timeout_ms":{"format":"int32","title":"Connection timeout.\nIf 0 is provided, defaults to 1 second","type":"integer"},"effective_connection_timeout_ms":{"format":"int32","readOnly":true,"title":"The effective connection timeout in milliseconds","type":"integer"},"effective_fetch_max_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch max bytes","type":"integer"},"effective_fetch_min_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch min bytes","type":"integer"},"effective_fetch_partition_max_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch partition max bytes","type":"integer"},"effective_fetch_wait_max_ms":{"format":"int32","readOnly":true,"title":"The effective fetch wait max in milliseconds","type":"integer"},"effective_metadata_max_age_ms":{"format":"int32","readOnly":true,"title":"The effective metadata max age in milliseconds","type":"integer"},"effective_retry_backoff_ms":{"format":"int32","readOnly":true,"title":"The effective retry backoff in milliseconds","type":"integer"},"fetch_max_bytes":{"format":"int32","title":"Fetch max bytes.\nIf 0 is provided, defaults to 20 MiB","type":"integer"},"fetch_min_bytes":{"format":"int32","title":"Fetch min bytes.\nIf 0 is provided, defaults to 5 MiB","type":"integer"},"fetch_partition_max_bytes":{"format":"int32","title":"Fetch partition max bytes.\nIf 0 is provided, defaults to 1 MiB","type":"integer"},"fetch_wait_max_ms":{"format":"int32","title":"Fetch request timeout.\nIf 0 is provided, defaults to 500ms","type":"integer"},"metadata_max_age_ms":{"format":"int32","title":"Max metadata age.\nIf 0 is provided, defaults to 10 seconds","type":"integer"},"retry_backoff_ms":{"format":"int32","title":"Retry base backoff.\nIf 0 is provided, defaults to 100ms","type":"integer"},"source_cluster_id":{"title":"If provided, this is the expected ID of the source cluster. If it does\nnot match then the connection will be rejected. If provided, this value\nmust match the `ClusterId` field returned in the Kafka Metadata response\nmessage","type":"string"},"tls_settings":{"$ref":"#/components/schemas/TLSSettings"}},"required":["bootstrap_servers"],"title":"Options for the client link","type":"object"},"ShadowLinkConfigurations":{"properties":{"client_options":{"$ref":"#/components/schemas/ShadowLinkClientOptions"},"consumer_offset_sync_options":{"$ref":"#/components/schemas/ConsumerOffsetSyncOptions"},"schema_registry_sync_options":{"$ref":"#/components/schemas/SchemaRegistrySyncOptions"},"security_sync_options":{"$ref":"#/components/schemas/SecuritySettingsSyncOptions"},"topic_metadata_sync_options":{"$ref":"#/components/schemas/TopicMetadataSyncOptions"}},"title":"ShadowLink options","type":"object"},"ShadowLinkState":{"description":"- SHADOW_LINK_STATE_ACTIVE: Shadow link is active\n - SHADOW_LINK_STATE_PAUSED: Shadow link was paused","enum":["SHADOW_LINK_STATE_ACTIVE","SHADOW_LINK_STATE_PAUSED"],"title":"State of the shadow link","type":"string"},"ShadowSchemaRegistryTopic":{"description":"Shadow the entire source cluster's Schema Registry byte-for-byte.\nIf set, the Shadow Link will attempt to add the `_schemas`\ntopic to the list of Shadow Topics as long as:\n1. The `_schemas` topic exists on the source cluster\n2. The `_schemas` topic does not exist on the shadow cluster, or it is\nempty.\nIf either of the above conditions are _not_ met, then the `_schemas`\ntopic will _not_ be shadowed by this cluster. Unsetting this flag will\n_not_ remove the `_schemas` topic from shadowing if it has already been\nadded. Once made a shadow topic, the\n`_schemas` topic will be replicated byte-for-byte. To stop shadowing the\n`_schemas` topic, unset this field, then either fail-over the topic or\ndelete it.","type":"object"},"ShadowTopicState":{"description":"- SHADOW_TOPIC_STATE_ACTIVE: Shadow topic is active\n - SHADOW_TOPIC_STATE_FAULTED: Shadow topic has faulted\n - SHADOW_TOPIC_STATE_PAUSED: Shadow topic has been paused\n - SHADOW_TOPIC_STATE_FAILING_OVER: Shadow topic is in the process of failing over\n - SHADOW_TOPIC_STATE_FAILED_OVER: Shadow topic has failed over successfully\n - SHADOW_TOPIC_STATE_PROMOTING: Shadow topic is in the process of being promoted\n - SHADOW_TOPIC_STATE_PROMOTED: Shadow topic is promoted successfully","enum":["SHADOW_TOPIC_STATE_ACTIVE","SHADOW_TOPIC_STATE_FAULTED","SHADOW_TOPIC_STATE_PAUSED","SHADOW_TOPIC_STATE_FAILING_OVER","SHADOW_TOPIC_STATE_FAILED_OVER","SHADOW_TOPIC_STATE_PROMOTING","SHADOW_TOPIC_STATE_PROMOTED"],"title":"State of a shadow topic","type":"string"},"StartAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"StartAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"StartMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"StopAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"StopAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"StopMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"TLSFileSettings":{"properties":{"ca_path":{"title":"Path to the CA","type":"string"},"cert_path":{"title":"Path to the cert","type":"string"},"key_path":{"title":"Key and Cert are optional but if one is provided, then both must be\nPath to the key","type":"string"}},"title":"TLS file settings","type":"object"},"TLSPEMSettings":{"properties":{"ca":{"title":"The CA","type":"string"},"cert":{"title":"The cert","type":"string"},"key":{"title":"Key and Cert are optional but if one is provided, then both must be\nThe key","type":"string"},"key_fingerprint":{"readOnly":true,"title":"The SHA-256 of the key, in base64 format","type":"string"}},"title":"Used when providing the TLS information in PEM format","type":"object"},"TLSSettings":{"properties":{"do_not_set_sni_hostname":{"title":"If true, the SNI hostname will not be provided when TLS is used","type":"boolean"},"enabled":{"title":"Whether or not TLS is enabled","type":"boolean"},"tls_file_settings":{"$ref":"#/components/schemas/TLSFileSettings"},"tls_pem_settings":{"$ref":"#/components/schemas/TLSPEMSettings"}},"title":"TLS settings","type":"object"},"Tool":{"description":"A configuration tool for the MCP server.","properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_yaml":{"description":"The contents of the configuration tool in YAML format.","type":"string"}},"required":["config_yaml"],"type":"object"},"TopicMetadataSyncOptions":{"properties":{"auto_create_shadow_topic_filters":{"description":"List of filters that indicate which topics should be automatically\ncreated as shadow topics on the shadow cluster. This only controls\nautomatic creation of shadow topics and does not effect the state of the\nmirror topic once it is created.\nLiteral filters for __consumer_offsets, _redpanda.audit_log and _schemas\nwill be rejected as well as prefix filters to match topics prefixed with\n_redpanda or __redpanda.\nWildcard `*` is permitted only for literal filters and will _not_ match\nany topics that start with _redpanda or __redpanda. If users wish to\nshadow topics that start with _redpanda or __redpanda, they should\nprovide a literal filter for those topics.","items":{"$ref":"#/components/schemas/NameFilter"},"type":"array"},"earliest":{"$ref":"#/components/schemas/EarliestOffset"},"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"exclude_default":{"description":"If this is true, then only the properties listed in\n`synced_shadow_topic_properties` will be synced.","title":"If false, then the following topic properties will be synced by default:\n- `compression.type`\n- `retention.bytes`\n- `retention.ms`\n- `delete.retention.ms`\n- Replication Factor\n- `min.compaction.lag.ms`\n- `max.compaction.lag.ms`","type":"boolean"},"interval":{"title":"How often to sync metadata\nIf 0 provided, defaults to 30 seconds","type":"string"},"latest":{"$ref":"#/components/schemas/LatestOffset"},"synced_shadow_topic_properties":{"description":"The following properties are not allowed to be replicated and adding them\nto this list will result in an error:\n- `redpanda.remote.readreplica`\n- `redpanda.remote.recovery`\n- `redpanda.remote.allowgaps`\n- `redpanda.virtual.cluster.id`\n- `redpanda.leaders.preference`\n- `redpanda.cloud_topic.enabled`\n\nThis list is a list of properties in addition to the default properties\nthat will be synced. See `exclude_default`.","items":{"type":"string"},"title":"List of topic properties that should be synced from the source topic.\nThe following properties will always be replicated\n- Partition count\n- `max.message.bytes`\n- `cleanup.policy`\n- `timestamp.type`","type":"array"},"timestamp":{"description":"Enables data replication from the first offset on the\nsource topic/partition where the record's timestamp is\nat or after the specified timestamp.","format":"date-time","type":"string"}},"title":"Options for syncing topic metadata","type":"object"},"UpdateAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"UpdateAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"UpdateKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"UpdateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"rpc.Status":{"properties":{"code":{"format":"int32","type":"integer"},"details":{"items":{"$ref":"#/components/schemas/Any"},"type":"array"},"message":{"type":"string"}},"type":"object"},"v1alpha3.FailOverResponse":{"properties":{"failed_over_topics":{"items":{"type":"string"},"title":"List of topics that were failed over\nIf shadow_topic_name was specified in the request, this will contain only that topic\nIf shadow_topic_name was not specified, this will contain all topics in the shadow link","type":"array"},"name":{"title":"Name of the shadow link that was failed over","type":"string"}},"type":"object"},"v1alpha3.GetShadowLinkResponse":{"properties":{"shadow_link":{"$ref":"#/components/schemas/v1alpha3.ShadowLink"}},"type":"object"},"v1alpha3.GetShadowTopicResponse":{"properties":{"partitions":{"items":{"$ref":"#/components/schemas/PartitionInfo"},"type":"array"},"state":{"$ref":"#/components/schemas/ShadowTopicState"},"topic_name":{"type":"string"},"total_lag":{"format":"int64","type":"string"},"total_partitions":{"format":"int32","type":"integer"}},"type":"object"},"v1alpha3.MCPServer":{"description":"Defines the MCP server resource.","properties":{"description":{"description":"Optional MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"id":{"description":"MCP Server ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"state":{"$ref":"#/components/schemas/MCPServer.State"},"status":{"$ref":"#/components/schemas/MCPServer.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a MCP server resource.\nThey help organize MCP servers and enable filtering when listing them.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"},"url":{"readOnly":true,"title":"URL to connect to the MCP server","type":"string"}},"required":["id","display_name","tools"],"type":"object"},"v1alpha3.ShadowLink":{"properties":{"configurations":{"$ref":"#/components/schemas/ShadowLinkConfigurations"},"name":{"title":"Return name, configuration, and overall state","type":"string"},"state":{"$ref":"#/components/schemas/ShadowLinkState"},"synced_shadow_topic_properties":{"items":{"type":"string"},"type":"array"},"tasks_status":{"items":{"$ref":"#/components/schemas/v1alpha3.ShadowLinkTaskStatus"},"type":"array"},"uid":{"type":"string"}},"type":"object"},"v1alpha3.ShadowLinkTaskStatus":{"properties":{"broker_id":{"format":"int32","title":"The broker the task is running on","type":"integer"},"name":{"title":"Name of the task","type":"string"},"reason":{"title":"Reason for task being in state","type":"string"},"shard_id":{"format":"int32","title":"The shard the task is running on","type":"integer"},"state":{"$ref":"#/components/schemas/v1alpha3.TaskState"}},"title":"Status of a task","type":"object"},"v1alpha3.ShadowTopic":{"properties":{"state":{"$ref":"#/components/schemas/ShadowTopicState"},"topic_name":{"type":"string"},"total_lag":{"format":"int64","type":"string"},"total_partitions":{"format":"int32","type":"integer"}},"type":"object"},"v1alpha3.TaskState":{"description":"- TASK_STATE_ACTIVE: Task is active\n - TASK_STATE_PAUSED: Task was paused\n - TASK_STATE_LINK_UNAVAILABLE: Task is unable to communicate with source cluster\n - TASK_STATE_NOT_RUNNING: Task is not running\n - TASK_STATE_FAULTED: Task is faulted","enum":["TASK_STATE_ACTIVE","TASK_STATE_PAUSED","TASK_STATE_LINK_UNAVAILABLE","TASK_STATE_NOT_RUNNING","TASK_STATE_FAULTED"],"title":"Task states","type":"string"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1"},"openapi":"3.0.3","paths":{"/v1alpha3/ai-agents":{"get":{"description":"List AI agents. Optional: filter based on AI agent name.","operationId":"AIAgentService_ListAIAgents","parameters":[{"description":"Any AI agents that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"in":"query","name":"filter.mcp_server_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 50. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAIAgentsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List AI Agents","tags":["AI Agents"]},"post":{"description":"Create a new AI agent.","operationId":"AIAgentService_CreateAIAgent","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgentCreate"}}},"required":true,"x-originalParamName":"ai_agent"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Created"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}":{"delete":{"description":"Delete an AI agent.","operationId":"AIAgentService_DeleteAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete AI Agent","tags":["AI Agents"]},"get":{"description":"Get a specific AI agent.","operationId":"AIAgentService_GetAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get AI Agent","tags":["AI Agents"]},"put":{"description":"Update the configuration of an AI agent.","operationId":"AIAgentService_UpdateAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgentUpdate"}}},"required":true,"x-originalParamName":"ai_agent"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}:start":{"put":{"description":"Start a stopped AI agent.","operationId":"AIAgentService_StartAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}:stop":{"put":{"description":"Stop a running AI agent.","operationId":"AIAgentService_StopAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-gateways":{"get":{"description":"List AI gateways. Optional: filter based on AI gateway name.","operationId":"AIGatewayService_ListAIGateways","parameters":[{"description":"Any AI gateways that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 50. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAIGatewaysResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List AI Gateways","tags":["AI Gateways"]},"post":{"description":"Create a new AI gateway.","operationId":"AIGatewayService_CreateAIGateway","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGatewayCreate"}}},"required":true,"x-originalParamName":"ai_gateway"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Created"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}":{"delete":{"description":"Delete an AI gateway.","operationId":"AIGatewayService_DeleteAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete AI Gateway","tags":["AI Gateways"]},"get":{"description":"Get a specific AI gateway.","operationId":"AIGatewayService_GetAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get AI Gateway","tags":["AI Gateways"]},"put":{"description":"Update the configuration of an AI gateway.","operationId":"AIGatewayService_UpdateAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGatewayUpdate"}}},"required":true,"x-originalParamName":"ai_gateway"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}:start":{"put":{"description":"Start a stopped AI gateway.","operationId":"AIGatewayService_StartAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}:stop":{"put":{"description":"Stop a running AI gateway.","operationId":"AIGatewayService_StopAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/knowledge-bases":{"get":{"operationId":"KnowledgeBaseService_ListKnowledgeBases","parameters":[{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Any KnowledgeBase that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"post":{"operationId":"KnowledgeBaseService_CreateKnowledgeBase","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseCreate"}}},"required":true,"x-originalParamName":"knowledge_base"},"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]}},"/v1alpha3/knowledge-bases/{id}":{"delete":{"operationId":"KnowledgeBaseService_DeleteKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"get":{"operationId":"KnowledgeBaseService_GetKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"put":{"operationId":"KnowledgeBaseService_UpdateKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseUpdate"}}},"required":true,"x-originalParamName":"knowledge_base"},"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]}},"/v1alpha3/redpanda-connect/mcp-servers":{"get":{"description":"List Redpanda Connect MCP Servers. Optional: filter based on MCP server name.","operationId":"MCPServerService_ListMCPServers","parameters":[{"description":"Any MCP Server that partially match this name will be returned.","in":"query","name":"filter.display_name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"description":"Match MCP servers that use this secret ID.","in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMCPServersResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect MCP Servers","tags":["Redpanda Connect MCP servers"]},"post":{"description":"Create a new Redpanda Connect MCP Server.","operationId":"MCPServerService_CreateMCPServer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerCreate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}":{"delete":{"description":"Delete a Redpanda Connect MCP server.","operationId":"MCPServerService_DeleteMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"get":{"description":"Get a specific Redpanda Connect MCP server.","operationId":"MCPServerService_GetMCPServer","parameters":[{"description":"MCP server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"put":{"description":"Update the configuration of a Redpanda Connect MCP server.","operationId":"MCPServerService_UpdateMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerUpdate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}:start":{"post":{"description":"Start a stopped Redpanda Connect MCP server.","operationId":"MCPServerService_StartMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}:stop":{"post":{"description":"Stop a running Redpanda Connect MCP server.","operationId":"MCPServerService_StopMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers:getConfigSchema":{"get":{"description":"The configuration schema includes available components and processors in this Redpanda Connect MCP Server instance.","operationId":"MCPServerService_GetMCPServerServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMCPServerServiceConfigSchemaResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect MCP Servers configurations.","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect MCP tools YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"MCPServerService_LintMCPConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect MCP tools configuration","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/shadowlink/{name}":{"get":{"description":"Retrieve details of a specific shadow link by name.","operationId":"ShadowLinkService_GetShadowLink","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.GetShadowLinkResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Link","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{name}/failover":{"post":{"description":"Fail over a shadow link or a specific shadow topic within a link.","operationId":"ShadowLinkService_FailOver","parameters":[{"description":"The name of the shadow link to fail over","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailOverBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.FailOverResponse"}}},"description":"Failover accepted and initiated"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Fail Over Shadow Link","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{name}/metrics":{"get":{"description":"Retrieve metrics for a specific shadow link, including total topics replicated, failed over topics, and error topics.","operationId":"ShadowLinkService_GetShadowMetrics","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetShadowMetricsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Link Metrics","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{shadow_link_name}/topic":{"get":{"description":"List shadow topic status information for a specific shadow link. Optional: filter based on topic name.","operationId":"ShadowLinkService_ListShadowLinkTopics","parameters":[{"in":"path","name":"shadow_link_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on shadow topic name. Case-sensitive.","in":"query","name":"filter.topic_name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListShadowLinkTopicsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Shadow Link Topics","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{shadow_link_name}/topic/{topic_name}":{"get":{"description":"Retrieve details of a specific shadow topic within a shadow link.","operationId":"ShadowLinkService_GetShadowTopic","parameters":[{"in":"path","name":"shadow_link_name","required":true,"schema":{"type":"string"}},{"in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.GetShadowTopicResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Topic","tags":["Shadow Links (Dataplane)"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Create and manage AI agents and their configurations.","name":"AI Agents"},{"description":"Create and manage AI gateways and their configurations.","name":"AI Gateways"},{"description":"Create and manage retrieval-augmented generation (RAG) knowledge bases.","name":"Redpanda AI KnowledgeBase"},{"description":"Create and manage Redpanda Connect MCP servers and their configurations.","name":"Redpanda Connect MCP servers"},{"description":"Dataplane operations for Redpanda shadow links.","name":"Shadow Links (Dataplane)"}]} \ No newline at end of file +{"components":{"schemas":{"ACLAccessFilter":{"properties":{"host":{"title":"The host to match. If not set, will default to match all hosts\nwith the specified `operation` and `permission_type`. Note that\nthe asterisk `*` is literal and matches hosts that are set to `*`","type":"string"},"operation":{"$ref":"#/components/schemas/ACLOperation"},"permission_type":{"$ref":"#/components/schemas/ACLPermissionType"},"principal":{"title":"The name of the principal, if not set will default to match\nall principals with the specified `operation` and `permission_type`","type":"string"}},"title":"Filter an ACL based on its access","type":"object"},"ACLFilter":{"properties":{"access_filter":{"$ref":"#/components/schemas/ACLAccessFilter"},"resource_filter":{"$ref":"#/components/schemas/ACLResourceFilter"}},"title":"A filter for ACLs","type":"object"},"ACLOperation":{"enum":["ACL_OPERATION_ANY","ACL_OPERATION_READ","ACL_OPERATION_WRITE","ACL_OPERATION_CREATE","ACL_OPERATION_REMOVE","ACL_OPERATION_ALTER","ACL_OPERATION_DESCRIBE","ACL_OPERATION_CLUSTER_ACTION","ACL_OPERATION_DESCRIBE_CONFIGS","ACL_OPERATION_ALTER_CONFIGS","ACL_OPERATION_IDEMPOTENT_WRITE"],"title":"The ACL operation to match","type":"string"},"ACLPattern":{"description":"- ACL_PATTERN_ANY: Wildcard to match any pattern\n - ACL_PATTERN_LITERAL: Match a literal string\n - ACL_PATTERN_PREFIXED: Match a prefix\n - ACL_PATTERN_MATCH: Match serves as a catch-all for all the names of a topic\nthe principal is authorized to access","enum":["ACL_PATTERN_ANY","ACL_PATTERN_LITERAL","ACL_PATTERN_PREFIXED","ACL_PATTERN_MATCH"],"title":"The ACL pattern type","type":"string"},"ACLPermissionType":{"enum":["ACL_PERMISSION_TYPE_ANY","ACL_PERMISSION_TYPE_ALLOW","ACL_PERMISSION_TYPE_DENY"],"title":"ACL permission types","type":"string"},"ACLResource":{"description":"- ACL_RESOURCE_ANY: Wildcard for selecting any ACL resource\n - ACL_RESOURCE_CLUSTER: Cluster wide resource\n - ACL_RESOURCE_GROUP: Consumer group resource\n - ACL_RESOURCE_TOPIC: Topic resource\n - ACL_RESOURCE_TXN_ID: Transaction ID resource\n - ACL_RESOURCE_SR_SUBJECT: Schema Registry subject resource\n - ACL_RESOURCE_SR_REGISTRY: Schema Registry wide resource\n - ACL_RESOURCE_SR_ANY: Wildcard to match any SR ACL resource","enum":["ACL_RESOURCE_ANY","ACL_RESOURCE_CLUSTER","ACL_RESOURCE_GROUP","ACL_RESOURCE_TOPIC","ACL_RESOURCE_TXN_ID","ACL_RESOURCE_SR_SUBJECT","ACL_RESOURCE_SR_REGISTRY","ACL_RESOURCE_SR_ANY"],"title":"The ACL resource types","type":"string"},"ACLResourceFilter":{"properties":{"name":{"title":"Name, if not given will default to match all items in `resource_type`.\nNote that asterisk `*` is literal and matches resource ACLs\nthat are named `*`","type":"string"},"pattern_type":{"$ref":"#/components/schemas/ACLPattern"},"resource_type":{"$ref":"#/components/schemas/ACLResource"}},"title":"A filter to match ACLs for resources","type":"object"},"AIAgent":{"description":"Defines the AI Agent resource.","properties":{"description":{"description":"Optional AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"id":{"description":"AI Agent ID.","readOnly":true,"type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"state":{"$ref":"#/components/schemas/AIAgent.State"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to an AI agent resource.\nThey help organize AI agents and enable filtering when listing them.","type":"object"},"url":{"description":"URL to connect to the AI agent endpoint.","readOnly":true,"type":"string"}},"required":["display_name","system_prompt","provider","model","service_account"],"type":"object"},"AIAgent.MCPServer":{"description":"MCP server configuration.","properties":{"id":{"description":"ID of the Redpanda MCP server.","type":"string"}},"type":"object"},"AIAgent.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/AIAgent.Provider.OpenAI"}},"type":"object"},"AIAgent.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"required":["api_key"],"type":"object"},"AIAgent.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"required":["client_id","client_secret"],"type":"object"},"AIAgent.State":{"description":"State of the AI agent.\n\n - STATE_STARTING: The AI agent is starting.\n - STATE_RUNNING: The AI agent is running and ready to handle requests.\n - STATE_STOPPING: The AI agent is in the process of stopping.\n - STATE_STOPPED: The AI agent is stopped and in paused state.\n - STATE_ERROR: The AI agent encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"AIAgentCreate":{"description":"AIAgentCreate contains the details for the AI agent creation request.","properties":{"description":{"description":"AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to an AI agent.","type":"object"}},"required":["display_name","system_prompt","provider","model","service_account"],"type":"object"},"AIAgentUpdate":{"properties":{"description":{"description":"AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"type":"object"},"AIGateway":{"description":"Defines the AI Gateway resource.","properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"Optional AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"id":{"description":"AI Gateway ID.","readOnly":true,"type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"state":{"$ref":"#/components/schemas/AIGateway.State"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to an AI gateway resource.\nThey help organize AI gateways and enable filtering when listing them.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"AIGateway.State":{"description":"State of the AI gateway.\n\n - STATE_STARTING: The AI gateway is starting.\n - STATE_RUNNING: The AI gateway is running and ready to handle requests.\n - STATE_STOPPING: The AI gateway is in the process of stopping.\n - STATE_STOPPED: The AI gateway is stopped and in paused state.\n - STATE_ERROR: The AI gateway encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"AIGatewayCreate":{"description":"AIGatewayCreate contains the details for the AI gateway creation request.","properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to an AI gateway.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"AIGatewayUpdate":{"properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"type":"object"},"Any":{"additionalProperties":{},"properties":{"@type":{"type":"string"}},"type":"object"},"AuthenticationConfiguration":{"properties":{"plain_configuration":{"$ref":"#/components/schemas/PlainConfig"},"scram_configuration":{"$ref":"#/components/schemas/ScramConfig"}},"title":"Authentication config. Supports:\n* SASL/SCRAM\n* SASL/PLAIN","type":"object"},"ComponentType":{"description":"Component type for this tool.","enum":["COMPONENT_TYPE_PROCESSOR","COMPONENT_TYPE_CACHE","COMPONENT_TYPE_INPUT","COMPONENT_TYPE_OUTPUT"],"type":"string"},"ConfigurationYAMLSchema":{"properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_schema":{"description":"JSON schema of the configuration components that are allowed for MCP Servers.","type":"string"}},"type":"object"},"ConsumerOffsetSyncOptions":{"properties":{"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"group_filters":{"items":{"$ref":"#/components/schemas/NameFilter"},"title":"The filters","type":"array"},"interval":{"title":"Sync interval\nIf 0 provided, defaults to 30 seconds","type":"string"},"paused":{"title":"Allows user to pause the consumer offset sync task. If paused, then\nthe task will enter the 'paused' state and not sync consumer offsets from\nthe source cluster","type":"boolean"}},"title":"Options for syncing consumer offsets","type":"object"},"CreateAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"CreateAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"CreateKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"CreateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"DeleteAIAgentResponse":{"type":"object"},"DeleteAIGatewayResponse":{"type":"object"},"DeleteKnowledgeBaseResponse":{"type":"object"},"DeleteMCPServerResponse":{"type":"object"},"EarliestOffset":{"description":"Start at the earliest offset in the partition.","type":"object"},"FailOverBody":{"properties":{"shadow_topic_name":{"title":"The name of the shadow topic to fail over, if not set will fail over\nthe entire shadow link","type":"string"}},"title":"Request to fail over a shadow link or a single shadow topic","type":"object"},"FilterType":{"description":"- FILTER_TYPE_INCLUDE: Include the items that match the filter\n - FILTER_TYPE_EXCLUDE: Exclude the items that match the filter","enum":["FILTER_TYPE_INCLUDE","FILTER_TYPE_EXCLUDE"],"title":"What type of filter this is, include or exclude","type":"string"},"GetAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"GetAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"GetKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"GetMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"GetMCPServerServiceConfigSchemaResponse":{"properties":{"configuration_yamls":{"description":"The configuration schema for the MCP Server.","items":{"$ref":"#/components/schemas/ConfigurationYAMLSchema"},"type":"array"}},"type":"object"},"GetShadowMetricsResponse":{"properties":{"error_topics":{"format":"uint64","type":"string"},"failed_over_topics":{"format":"uint64","type":"string"},"total_topics_replicated":{"format":"uint64","type":"string"}},"type":"object"},"KnowledgeBase":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBase.Generation"},"id":{"readOnly":true,"type":"string"},"indexer":{"$ref":"#/components/schemas/KnowledgeBase.Indexer"},"retrieval_api_url":{"readOnly":true,"type":"string"},"retriever":{"$ref":"#/components/schemas/KnowledgeBase.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBase.VectorDatabase"}},"required":["id","display_name","vector_database","embedding_generator","generation"],"type":"object"},"KnowledgeBase.EmbeddingGenerator":{"properties":{"dimensions":{"format":"int32","type":"integer"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider"}},"required":["provider","dimensions","model"],"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"required":["api_key"],"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBase.Generation":{"properties":{"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.Generation.Provider"}},"required":["provider","model"],"type":"object"},"KnowledgeBase.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBase.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBase.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBase.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBase.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker"}},"type":"object"},"KnowledgeBase.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBase.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBase.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBase.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBase.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBase.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"},"table":{"type":"string"}},"required":["dsn","table"],"type":"object"},"KnowledgeBaseCreate":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation"},"indexer":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Indexer"},"retriever":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBaseCreate.VectorDatabase"}},"required":["display_name","vector_database","embedding_generator"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator":{"properties":{"dimensions":{"format":"int32","type":"integer"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider"}},"required":["provider","dimensions","model"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"required":["api_key"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseCreate.Generation":{"properties":{"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation.Provider"}},"required":["provider","model"],"type":"object"},"KnowledgeBaseCreate.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseCreate.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseCreate.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBaseCreate.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBaseCreate.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBaseCreate.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBaseCreate.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"},"table":{"type":"string"}},"required":["dsn","table"],"type":"object"},"KnowledgeBaseUpdate":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation"},"indexer":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Indexer"},"retriever":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.VectorDatabase"}},"required":["display_name","vector_database","embedding_generator"],"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator":{"properties":{"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider"}},"required":["provider"],"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.Generation":{"properties":{"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation.Provider"}},"required":["provider"],"type":"object"},"KnowledgeBaseUpdate.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseUpdate.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBaseUpdate.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBaseUpdate.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBaseUpdate.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"}},"required":["dsn"],"type":"object"},"LatestOffset":{"description":"Start at the latest offset in the partition.","type":"object"},"LintHint":{"description":"LintHint is a generic linting hint.","properties":{"column":{"description":"Column number of the lint.","format":"int32","type":"integer"},"hint":{"description":"The hint message.","type":"string"},"line":{"description":"Line number of the lint.","format":"int32","type":"integer"},"lint_type":{"description":"Optional lint type or enum.","type":"string"}},"type":"object"},"LintMCPConfigRequest":{"properties":{"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP tools configuration in YAML format.","type":"object"}},"required":["tools"],"type":"object"},"LintMCPConfigResponse":{"properties":{"lint_hints":{"additionalProperties":{"$ref":"#/components/schemas/LintHint"},"description":"A list of linting issues.","type":"object"}},"type":"object"},"ListAIAgentsRequest.Filter":{"properties":{"mcp_server_id":{"type":"string"},"name_contains":{"description":"Any AI agents that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"AI agents that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListAIAgentsResponse":{"properties":{"ai_agents":{"items":{"$ref":"#/components/schemas/AIAgent"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListAIGatewaysRequest.Filter":{"properties":{"name_contains":{"description":"Any AI gateways that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"AI gateways that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListAIGatewaysResponse":{"properties":{"ai_gateways":{"items":{"$ref":"#/components/schemas/AIGateway"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListKnowledgeBasesRequest.Filter":{"properties":{"name_contains":{"description":"Any KnowledgeBase that partially match this name will be returned.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"KnowledgeBases that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListKnowledgeBasesResponse":{"properties":{"knowledge_bases":{"items":{"$ref":"#/components/schemas/KnowledgeBase"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListMCPServersRequest.Filter":{"properties":{"display_name_contains":{"description":"Any MCP Server that partially match this name will be returned.","type":"string"},"secret_id":{"description":"Match MCP servers that use this secret ID.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"MCP servers that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListMCPServersResponse":{"properties":{"mcp_servers":{"items":{"$ref":"#/components/schemas/v1alpha3.MCPServer"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListShadowLinkTopicsRequest.Filter":{"properties":{"topic_name_contains":{"description":"Substring match on shadow topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListShadowLinkTopicsResponse":{"properties":{"next_page_token":{"title":"Token to retrieve the next page","type":"string"},"shadow_topics":{"items":{"$ref":"#/components/schemas/v1alpha3.ShadowTopic"},"title":"Shadow topic status information","type":"array"}},"type":"object"},"MCPServer.State":{"description":"State of the MCP server.\n\n - STATE_STARTING: The MCP server is starting.\n - STATE_RUNNING: The MCP server is running.\n - STATE_STOPPING: The MCP server is in the process of stopping.\n - STATE_STOPPED: The MCP server is stopped and in paused state.\n - STATE_ERROR: The MCP server encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"MCPServer.Status":{"description":"MCP server status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"MCPServerCreate":{"description":"MCPServerCreate contains the details for the MCP Server creation request.","properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a MCP server.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"required":["display_name","tools"],"type":"object"},"MCPServerUpdate":{"properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP servers name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"type":"object"},"NameFilter":{"properties":{"filter_type":{"$ref":"#/components/schemas/FilterType"},"name":{"title":"The resource name, or \"*\"\nNote if \"*\", must be the _only_ character\nand `pattern_type` must be `PATTERN_TYPE_LITERAL`","type":"string"},"pattern_type":{"$ref":"#/components/schemas/PatternType"}},"title":"A filter based on the name of a resource","type":"object"},"PartitionInfo":{"properties":{"high_watermark":{"format":"int64","type":"string"},"lag":{"format":"int64","type":"string"},"partition_id":{"format":"int32","type":"integer"},"source_high_watermark":{"format":"int64","type":"string"},"source_last_stable_offset":{"format":"int64","type":"string"},"source_last_updated_timestamp":{"format":"date-time","type":"string"}},"title":"Partition-level information","type":"object"},"PatternType":{"description":"- PATTERN_TYPE_LITERAL: Must match the filter exactly\n - PATTERN_TYPE_PREFIX: Will match anything that starts with filter","enum":["PATTERN_TYPE_LITERAL","PATTERN_TYPE_PREFIX"],"title":"The matching pattern type","type":"string"},"PlainConfig":{"properties":{"password":{"title":"Password","type":"string"},"password_set":{"readOnly":true,"title":"Indicates that the password has been set","type":"boolean"},"password_set_at":{"format":"date-time","readOnly":true,"title":"Timestamp of when the password was last set - only valid if password_set\nis true","type":"string"},"username":{"title":"PLAIN username","type":"string"}},"title":"PLAIN settings","type":"object"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"SchemaRegistrySyncOptions":{"description":"Options for how the Schema Registry is synced.","properties":{"shadow_schema_registry_topic":{"$ref":"#/components/schemas/ShadowSchemaRegistryTopic"}},"type":"object"},"ScramConfig":{"properties":{"password":{"title":"Password","type":"string"},"password_set":{"readOnly":true,"title":"Indicates that the password has been set","type":"boolean"},"password_set_at":{"format":"date-time","readOnly":true,"title":"Timestamp of when the password was last set - only valid if password_set\nis true","type":"string"},"scram_mechanism":{"$ref":"#/components/schemas/ScramMechanism"},"username":{"title":"SCRAM username","type":"string"}},"title":"SCRAM settings","type":"object"},"ScramMechanism":{"description":"- SCRAM_MECHANISM_SCRAM_SHA_256: SCRAM-SHA-256\n - SCRAM_MECHANISM_SCRAM_SHA_512: SCRAM-SHA-512","enum":["SCRAM_MECHANISM_SCRAM_SHA_256","SCRAM_MECHANISM_SCRAM_SHA_512"],"title":"Valid SCRAM mechanisms","type":"string"},"SecuritySettingsSyncOptions":{"properties":{"acl_filters":{"items":{"$ref":"#/components/schemas/ACLFilter"},"title":"ACL filters","type":"array"},"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"interval":{"title":"Sync interval\nIf 0 provided, defaults to 30 seconds","type":"string"},"paused":{"title":"Allows user to pause the security settings sync task. If paused,\nthen the task will enter the 'paused' state and will not sync security\nsettings from the source cluster","type":"boolean"}},"title":"Options for syncing security settings","type":"object"},"ShadowLinkClientOptions":{"properties":{"authentication_configuration":{"$ref":"#/components/schemas/AuthenticationConfiguration"},"bootstrap_servers":{"items":{"type":"string"},"title":"The bootstrap servers to use","type":"array"},"client_id":{"readOnly":true,"title":"The Client ID for the Kafka RPC requests setn by this cluster to the\nsource cluster","type":"string"},"connection_timeout_ms":{"format":"int32","title":"Connection timeout.\nIf 0 is provided, defaults to 1 second","type":"integer"},"effective_connection_timeout_ms":{"format":"int32","readOnly":true,"title":"The effective connection timeout in milliseconds","type":"integer"},"effective_fetch_max_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch max bytes","type":"integer"},"effective_fetch_min_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch min bytes","type":"integer"},"effective_fetch_partition_max_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch partition max bytes","type":"integer"},"effective_fetch_wait_max_ms":{"format":"int32","readOnly":true,"title":"The effective fetch wait max in milliseconds","type":"integer"},"effective_metadata_max_age_ms":{"format":"int32","readOnly":true,"title":"The effective metadata max age in milliseconds","type":"integer"},"effective_retry_backoff_ms":{"format":"int32","readOnly":true,"title":"The effective retry backoff in milliseconds","type":"integer"},"fetch_max_bytes":{"format":"int32","title":"Fetch max bytes.\nIf 0 is provided, defaults to 20 MiB","type":"integer"},"fetch_min_bytes":{"format":"int32","title":"Fetch min bytes.\nIf 0 is provided, defaults to 5 MiB","type":"integer"},"fetch_partition_max_bytes":{"format":"int32","title":"Fetch partition max bytes.\nIf 0 is provided, defaults to 5 MiB","type":"integer"},"fetch_wait_max_ms":{"format":"int32","title":"Fetch request timeout.\nIf 0 is provided, defaults to 500ms","type":"integer"},"metadata_max_age_ms":{"format":"int32","title":"Max metadata age.\nIf 0 is provided, defaults to 10 seconds","type":"integer"},"retry_backoff_ms":{"format":"int32","title":"Retry base backoff.\nIf 0 is provided, defaults to 100ms","type":"integer"},"source_cluster_id":{"title":"If provided, this is the expected ID of the source cluster. If it does\nnot match then the connection will be rejected. If provided, this value\nmust match the `ClusterId` field returned in the Kafka Metadata response\nmessage","type":"string"},"tls_settings":{"$ref":"#/components/schemas/TLSSettings"}},"required":["bootstrap_servers"],"title":"Options for the client link","type":"object"},"ShadowLinkConfigurations":{"properties":{"client_options":{"$ref":"#/components/schemas/ShadowLinkClientOptions"},"consumer_offset_sync_options":{"$ref":"#/components/schemas/ConsumerOffsetSyncOptions"},"schema_registry_sync_options":{"$ref":"#/components/schemas/SchemaRegistrySyncOptions"},"security_sync_options":{"$ref":"#/components/schemas/SecuritySettingsSyncOptions"},"topic_metadata_sync_options":{"$ref":"#/components/schemas/TopicMetadataSyncOptions"}},"title":"ShadowLink options","type":"object"},"ShadowLinkState":{"description":"- SHADOW_LINK_STATE_ACTIVE: Shadow link is active\n - SHADOW_LINK_STATE_PAUSED: Shadow link was paused","enum":["SHADOW_LINK_STATE_ACTIVE","SHADOW_LINK_STATE_PAUSED"],"title":"State of the shadow link","type":"string"},"ShadowLinkTaskStatus":{"properties":{"broker_id":{"format":"int32","title":"The broker the task is running on","type":"integer"},"name":{"title":"Name of the task","type":"string"},"reason":{"title":"Reason for task being in state","type":"string"},"shard":{"format":"int32","title":"The shard the task is running on","type":"integer"},"state":{"$ref":"#/components/schemas/TaskState"}},"title":"Status of a task","type":"object"},"ShadowSchemaRegistryTopic":{"description":"Shadow the entire source cluster's Schema Registry byte-for-byte.\nIf set, the Shadow Link will attempt to add the `_schemas`\ntopic to the list of Shadow Topics as long as:\n1. The `_schemas` topic exists on the source cluster\n2. The `_schemas` topic does not exist on the shadow cluster, or it is\nempty.\nIf either of the above conditions are _not_ met, then the `_schemas`\ntopic will _not_ be shadowed by this cluster. Unsetting this flag will\n_not_ remove the `_schemas` topic from shadowing if it has already been\nadded. Once made a shadow topic, the\n`_schemas` topic will be replicated byte-for-byte. To stop shadowing the\n`_schemas` topic, unset this field, then either fail-over the topic or\ndelete it.","type":"object"},"ShadowTopicState":{"description":"- SHADOW_TOPIC_STATE_ACTIVE: Shadow topic is active\n - SHADOW_TOPIC_STATE_FAULTED: Shadow topic has faulted\n - SHADOW_TOPIC_STATE_PAUSED: Shadow topic has been paused\n - SHADOW_TOPIC_STATE_FAILING_OVER: Shadow topic is in the process of failing over\n - SHADOW_TOPIC_STATE_FAILED_OVER: Shadow topic has failed over successfully\n - SHADOW_TOPIC_STATE_PROMOTING: Shadow topic is in the process of being promoted\n - SHADOW_TOPIC_STATE_PROMOTED: Shadow topic is promoted successfully","enum":["SHADOW_TOPIC_STATE_ACTIVE","SHADOW_TOPIC_STATE_FAULTED","SHADOW_TOPIC_STATE_PAUSED","SHADOW_TOPIC_STATE_FAILING_OVER","SHADOW_TOPIC_STATE_FAILED_OVER","SHADOW_TOPIC_STATE_PROMOTING","SHADOW_TOPIC_STATE_PROMOTED"],"title":"State of a shadow topic","type":"string"},"StartAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"StartAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"StartMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"StopAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"StopAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"StopMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"TLSFileSettings":{"properties":{"ca_path":{"title":"Path to the CA","type":"string"},"cert_path":{"title":"Path to the cert","type":"string"},"key_path":{"title":"Key and Cert are optional but if one is provided, then both must be\nPath to the key","type":"string"}},"title":"TLS file settings","type":"object"},"TLSPEMSettings":{"properties":{"ca":{"title":"The CA","type":"string"},"cert":{"title":"The cert","type":"string"},"key":{"title":"Key and Cert are optional but if one is provided, then both must be\nThe key","type":"string"},"key_fingerprint":{"readOnly":true,"title":"The SHA-256 of the key, in base64 format","type":"string"}},"title":"Used when providing the TLS information in PEM format","type":"object"},"TLSSettings":{"properties":{"do_not_set_sni_hostname":{"title":"If true, the SNI hostname will not be provided when TLS is used","type":"boolean"},"enabled":{"title":"Whether or not TLS is enabled","type":"boolean"},"tls_file_settings":{"$ref":"#/components/schemas/TLSFileSettings"},"tls_pem_settings":{"$ref":"#/components/schemas/TLSPEMSettings"}},"title":"TLS settings","type":"object"},"TaskState":{"description":"- TASK_STATE_ACTIVE: Task is active\n - TASK_STATE_PAUSED: Task was paused\n - TASK_STATE_LINK_UNAVAILABLE: Task is unable to communicate with source cluster\n - TASK_STATE_NOT_RUNNING: Task is not running\n - TASK_STATE_FAULTED: Task is faulted","enum":["TASK_STATE_ACTIVE","TASK_STATE_PAUSED","TASK_STATE_LINK_UNAVAILABLE","TASK_STATE_NOT_RUNNING","TASK_STATE_FAULTED"],"title":"Task states","type":"string"},"Tool":{"description":"A configuration tool for the MCP server.","properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_yaml":{"description":"The contents of the configuration tool in YAML format.","type":"string"}},"required":["config_yaml"],"type":"object"},"TopicMetadataSyncOptions":{"properties":{"auto_create_shadow_topic_filters":{"description":"List of filters that indicate which topics should be automatically\ncreated as shadow topics on the shadow cluster. This only controls\nautomatic creation of shadow topics and does not effect the state of the\nmirror topic once it is created.\nLiteral filters for __consumer_offsets, _redpanda.audit_log and _schemas\nwill be rejected as well as prefix filters to match topics prefixed with\n_redpanda or __redpanda.\nWildcard `*` is permitted only for literal filters and will _not_ match\nany topics that start with _redpanda or __redpanda. If users wish to\nshadow topics that start with _redpanda or __redpanda, they should\nprovide a literal filter for those topics.","items":{"$ref":"#/components/schemas/NameFilter"},"type":"array"},"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"exclude_default":{"description":"If this is true, then only the properties listed in\n`synced_shadow_topic_properties` will be synced.","title":"If false, then the following topic properties will be synced by default:\n- `compression.type`\n- `retention.bytes`\n- `retention.ms`\n- `delete.retention.ms`\n- Replication Factor\n- `min.compaction.lag.ms`\n- `max.compaction.lag.ms`","type":"boolean"},"interval":{"title":"How often to sync metadata\nIf 0 provided, defaults to 30 seconds","type":"string"},"paused":{"title":"Allows user to pause the topic sync task. If paused, then\nthe task will enter the 'paused' state and not sync topics or their\nproperties from the source cluster","type":"boolean"},"start_at_earliest":{"$ref":"#/components/schemas/EarliestOffset"},"start_at_latest":{"$ref":"#/components/schemas/LatestOffset"},"start_at_timestamp":{"description":"Enables data replication from the first offset on the\nsource topic/partition where the record's timestamp is\nat or after the specified timestamp.","format":"date-time","type":"string"},"synced_shadow_topic_properties":{"description":"The following properties are not allowed to be replicated and adding them\nto this list will result in an error:\n- `redpanda.remote.readreplica`\n- `redpanda.remote.recovery`\n- `redpanda.remote.allowgaps`\n- `redpanda.virtual.cluster.id`\n- `redpanda.leaders.preference`\n- `redpanda.cloud_topic.enabled`\n\nThis list is a list of properties in addition to the default properties\nthat will be synced. See `exclude_default`.","items":{"type":"string"},"title":"List of topic properties that should be synced from the source topic.\nThe following properties will always be replicated\n- Partition count\n- `max.message.bytes`\n- `cleanup.policy`\n- `timestamp.type`","type":"array"}},"title":"Options for syncing topic metadata","type":"object"},"UpdateAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"UpdateAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"UpdateKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"UpdateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"rpc.Status":{"properties":{"code":{"format":"int32","type":"integer"},"details":{"items":{"$ref":"#/components/schemas/Any"},"type":"array"},"message":{"type":"string"}},"type":"object"},"v1alpha3.FailOverResponse":{"properties":{"failed_over_topics":{"items":{"type":"string"},"title":"List of topics that were failed over\nIf shadow_topic_name was specified in the request, this will contain only that topic\nIf shadow_topic_name was not specified, this will contain all topics in the shadow link","type":"array"},"name":{"title":"Name of the shadow link that was failed over","type":"string"}},"type":"object"},"v1alpha3.GetShadowLinkResponse":{"properties":{"shadow_link":{"$ref":"#/components/schemas/v1alpha3.ShadowLink"}},"type":"object"},"v1alpha3.GetShadowTopicResponse":{"properties":{"partitions":{"items":{"$ref":"#/components/schemas/PartitionInfo"},"type":"array"},"state":{"$ref":"#/components/schemas/ShadowTopicState"},"topic_name":{"type":"string"},"total_lag":{"format":"int64","type":"string"},"total_partitions":{"format":"int32","type":"integer"}},"type":"object"},"v1alpha3.MCPServer":{"description":"Defines the MCP server resource.","properties":{"description":{"description":"Optional MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"id":{"description":"MCP Server ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"state":{"$ref":"#/components/schemas/MCPServer.State"},"status":{"$ref":"#/components/schemas/MCPServer.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a MCP server resource.\nThey help organize MCP servers and enable filtering when listing them.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"},"url":{"readOnly":true,"title":"URL to connect to the MCP server","type":"string"}},"required":["id","display_name","tools"],"type":"object"},"v1alpha3.ShadowLink":{"properties":{"configurations":{"$ref":"#/components/schemas/ShadowLinkConfigurations"},"name":{"title":"Return name, configuration, and overall state","type":"string"},"state":{"$ref":"#/components/schemas/ShadowLinkState"},"synced_shadow_topic_properties":{"items":{"type":"string"},"type":"array"},"tasks_status":{"items":{"$ref":"#/components/schemas/ShadowLinkTaskStatus"},"type":"array"},"uid":{"type":"string"}},"type":"object"},"v1alpha3.ShadowTopic":{"properties":{"state":{"$ref":"#/components/schemas/ShadowTopicState"},"topic_name":{"type":"string"},"total_lag":{"format":"int64","type":"string"},"total_partitions":{"format":"int32","type":"integer"}},"type":"object"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1"},"openapi":"3.0.3","paths":{"/v1alpha3/ai-agents":{"get":{"description":"List AI agents. Optional: filter based on AI agent name.","operationId":"AIAgentService_ListAIAgents","parameters":[{"description":"Any AI agents that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"in":"query","name":"filter.mcp_server_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 50. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAIAgentsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List AI Agents","tags":["AI Agents"]},"post":{"description":"Create a new AI agent.","operationId":"AIAgentService_CreateAIAgent","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgentCreate"}}},"required":true,"x-originalParamName":"ai_agent"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Created"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}":{"delete":{"description":"Delete an AI agent.","operationId":"AIAgentService_DeleteAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete AI Agent","tags":["AI Agents"]},"get":{"description":"Get a specific AI agent.","operationId":"AIAgentService_GetAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get AI Agent","tags":["AI Agents"]},"put":{"description":"Update the configuration of an AI agent.","operationId":"AIAgentService_UpdateAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgentUpdate"}}},"required":true,"x-originalParamName":"ai_agent"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}:start":{"put":{"description":"Start a stopped AI agent.","operationId":"AIAgentService_StartAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}:stop":{"put":{"description":"Stop a running AI agent.","operationId":"AIAgentService_StopAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-gateways":{"get":{"description":"List AI gateways. Optional: filter based on AI gateway name.","operationId":"AIGatewayService_ListAIGateways","parameters":[{"description":"Any AI gateways that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 50. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAIGatewaysResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List AI Gateways","tags":["AI Gateways"]},"post":{"description":"Create a new AI gateway.","operationId":"AIGatewayService_CreateAIGateway","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGatewayCreate"}}},"required":true,"x-originalParamName":"ai_gateway"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Created"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}":{"delete":{"description":"Delete an AI gateway.","operationId":"AIGatewayService_DeleteAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete AI Gateway","tags":["AI Gateways"]},"get":{"description":"Get a specific AI gateway.","operationId":"AIGatewayService_GetAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get AI Gateway","tags":["AI Gateways"]},"put":{"description":"Update the configuration of an AI gateway.","operationId":"AIGatewayService_UpdateAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGatewayUpdate"}}},"required":true,"x-originalParamName":"ai_gateway"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}:start":{"put":{"description":"Start a stopped AI gateway.","operationId":"AIGatewayService_StartAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}:stop":{"put":{"description":"Stop a running AI gateway.","operationId":"AIGatewayService_StopAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/knowledge-bases":{"get":{"operationId":"KnowledgeBaseService_ListKnowledgeBases","parameters":[{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Any KnowledgeBase that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"post":{"operationId":"KnowledgeBaseService_CreateKnowledgeBase","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseCreate"}}},"required":true,"x-originalParamName":"knowledge_base"},"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]}},"/v1alpha3/knowledge-bases/{id}":{"delete":{"operationId":"KnowledgeBaseService_DeleteKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"get":{"operationId":"KnowledgeBaseService_GetKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"put":{"operationId":"KnowledgeBaseService_UpdateKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseUpdate"}}},"required":true,"x-originalParamName":"knowledge_base"},"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]}},"/v1alpha3/redpanda-connect/mcp-servers":{"get":{"description":"List Redpanda Connect MCP Servers. Optional: filter based on MCP server name.","operationId":"MCPServerService_ListMCPServers","parameters":[{"description":"Any MCP Server that partially match this name will be returned.","in":"query","name":"filter.display_name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"description":"Match MCP servers that use this secret ID.","in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMCPServersResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect MCP Servers","tags":["Redpanda Connect MCP servers"]},"post":{"description":"Create a new Redpanda Connect MCP Server.","operationId":"MCPServerService_CreateMCPServer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerCreate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}":{"delete":{"description":"Delete a Redpanda Connect MCP server.","operationId":"MCPServerService_DeleteMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"get":{"description":"Get a specific Redpanda Connect MCP server.","operationId":"MCPServerService_GetMCPServer","parameters":[{"description":"MCP server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"put":{"description":"Update the configuration of a Redpanda Connect MCP server.","operationId":"MCPServerService_UpdateMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerUpdate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}:start":{"post":{"description":"Start a stopped Redpanda Connect MCP server.","operationId":"MCPServerService_StartMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}:stop":{"post":{"description":"Stop a running Redpanda Connect MCP server.","operationId":"MCPServerService_StopMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers:getConfigSchema":{"get":{"description":"The configuration schema includes available components and processors in this Redpanda Connect MCP Server instance.","operationId":"MCPServerService_GetMCPServerServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMCPServerServiceConfigSchemaResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect MCP Servers configurations.","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect MCP tools YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"MCPServerService_LintMCPConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect MCP tools configuration","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/shadowlink/{name}":{"get":{"description":"Retrieve details of a specific shadow link by name.","operationId":"ShadowLinkService_GetShadowLink","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.GetShadowLinkResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Link","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{name}/failover":{"post":{"description":"Fail over a shadow link or a specific shadow topic within a link.","operationId":"ShadowLinkService_FailOver","parameters":[{"description":"The name of the shadow link to fail over","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailOverBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.FailOverResponse"}}},"description":"Failover accepted and initiated"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Fail Over Shadow Link","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{name}/metrics":{"get":{"description":"Retrieve metrics for a specific shadow link, including total topics replicated, failed over topics, and error topics.","operationId":"ShadowLinkService_GetShadowMetrics","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetShadowMetricsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Link Metrics","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{shadow_link_name}/topic":{"get":{"description":"List shadow topic status information for a specific shadow link. Optional: filter based on topic name.","operationId":"ShadowLinkService_ListShadowLinkTopics","parameters":[{"in":"path","name":"shadow_link_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on shadow topic name. Case-sensitive.","in":"query","name":"filter.topic_name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListShadowLinkTopicsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Shadow Link Topics","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{shadow_link_name}/topic/{topic_name}":{"get":{"description":"Retrieve details of a specific shadow topic within a shadow link.","operationId":"ShadowLinkService_GetShadowTopic","parameters":[{"in":"path","name":"shadow_link_name","required":true,"schema":{"type":"string"}},{"in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.GetShadowTopicResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Topic","tags":["Shadow Links (Dataplane)"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Create and manage AI agents and their configurations.","name":"AI Agents"},{"description":"Create and manage AI gateways and their configurations.","name":"AI Gateways"},{"description":"Create and manage retrieval-augmented generation (RAG) knowledge bases.","name":"Redpanda AI KnowledgeBase"},{"description":"Create and manage Redpanda Connect MCP servers and their configurations.","name":"Redpanda Connect MCP servers"},{"description":"Dataplane operations for Redpanda shadow links.","name":"Shadow Links (Dataplane)"}]} \ No newline at end of file diff --git a/proto/gen/openapi/openapi.yaml b/proto/gen/openapi/openapi.yaml index bb432b0c0..7c4f3d3b2 100644 --- a/proto/gen/openapi/openapi.yaml +++ b/proto/gen/openapi/openapi.yaml @@ -4489,9 +4489,13 @@ paths: parameters: - description: |- The maximum number of connections to return. If unspecified or 0, a - default value may be applied. Note that paging is currently not fully - supported, and this field only acts as a limit for the first page of data - returned. Subsequent pages of data cannot be requested. + default value may be applied. The server may return fewer connections + than requested due to memory constraints; the limit is set to allow + listing all connections for a single broker. Consider filtering by + node_id to view connections for specific brokers. Note that paging is + currently not fully supported, and this field only acts as a limit for + the first page of data returned. Subsequent pages of data cannot be + requested. in: query name: page_size schema: From 821303a24334865430798cc94baf5a94c1aa5ae2 Mon Sep 17 00:00:00 2001 From: Julin <142230457+c-julin@users.noreply.github.com> Date: Tue, 2 Dec 2025 08:02:59 +0000 Subject: [PATCH 6/8] revert: remove --exclude-imports flag from buf CI validation Remove the --exclude-imports flag from buf breaking change detection to properly validate all proto changes including imported dependencies. Also remove secret.proto from ignore list and ignore_unstable_packages setting from buf.yaml. This reverts the changes made in commits: - 4c25c2aab: fix: exclude imported proto breaking changes from CI validation - ec4e442cf: fix: update proto import paths for ACL and TLS types (partial) --- .github/workflows/buf.yml | 8 +++----- buf.yaml | 3 +-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/buf.yml b/.github/workflows/buf.yml index 3d10abf50..56d8ab5e7 100644 --- a/.github/workflows/buf.yml +++ b/.github/workflows/buf.yml @@ -44,16 +44,14 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - - name: Buf – lint & format + - name: Buf – lint, format & breaking uses: bufbuild/buf-action@v1 with: lint: true format: true - breaking: false + breaking: true push: false - - uses: bufbuild/buf-setup-action@v1 - - name: Buf – breaking (excluding imports) - run: buf breaking --against 'https://github.com/redpanda-data/console.git#branch=master' --exclude-imports + breaking_against: https://github.com/redpanda-data/console.git#branch=master # =========================================================================== # Job: push-to-registry (push events only - registry operations only) diff --git a/buf.yaml b/buf.yaml index de4a80f34..da22d0619 100644 --- a/buf.yaml +++ b/buf.yaml @@ -30,5 +30,4 @@ breaking: - proto/redpanda/api/dataplane/v1alpha1 - proto/redpanda/api/dataplane/v1alpha3 - proto/redpanda/api/dataplane/v1/mcp.proto - - proto/redpanda/api/dataplane/v1/secret.proto - ignore_unstable_packages: true + From 5f43ece5900be00c752dd0e28e97c57be9541d88 Mon Sep 17 00:00:00 2001 From: Julin <142230457+c-julin@users.noreply.github.com> Date: Tue, 2 Dec 2025 08:26:19 +0000 Subject: [PATCH 7/8] ci: buf add label check on breaking boolean --- .github/workflows/buf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buf.yml b/.github/workflows/buf.yml index 56d8ab5e7..454210f13 100644 --- a/.github/workflows/buf.yml +++ b/.github/workflows/buf.yml @@ -49,7 +49,7 @@ jobs: with: lint: true format: true - breaking: true + breaking: ${{ github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'Buf Skip Breaking') }} push: false breaking_against: https://github.com/redpanda-data/console.git#branch=master From 3a990a4d04ac48d8cd24208e9a57e7aca855add0 Mon Sep 17 00:00:00 2001 From: Julin <142230457+c-julin@users.noreply.github.com> Date: Tue, 2 Dec 2025 17:36:38 +0000 Subject: [PATCH 8/8] feat(proto): add topic_id field to shadow topic responses Add topic_id as field 2 in ShadowTopic and GetShadowTopicResponse messages to support topic identification beyond name. Regenerated backend Go, frontend TypeScript, and OpenAPI specs. --- .../api/dataplane/v1alpha3/shadowlink.pb.go | 521 +++++++++--------- .../api/dataplane/v1alpha3/shadowlink_pb.ts | 26 +- proto/gen/openapi/openapi.json | 2 +- proto/gen/openapi/openapi.v1alpha3.json | 2 +- proto/gen/openapi/openapi.v1alpha3.yaml | 4 + proto/gen/openapi/openapi.yaml | 2 +- .../api/dataplane/v1alpha3/shadowlink.proto | 16 +- 7 files changed, 304 insertions(+), 269 deletions(-) diff --git a/backend/pkg/protogen/redpanda/api/dataplane/v1alpha3/shadowlink.pb.go b/backend/pkg/protogen/redpanda/api/dataplane/v1alpha3/shadowlink.pb.go index 3e3eb7cf5..a7128b595 100644 --- a/backend/pkg/protogen/redpanda/api/dataplane/v1alpha3/shadowlink.pb.go +++ b/backend/pkg/protogen/redpanda/api/dataplane/v1alpha3/shadowlink.pb.go @@ -157,9 +157,10 @@ func (x *ListShadowLinkTopicsRequest) GetPageToken() string { type ShadowTopic struct { state protoimpl.MessageState `protogen:"open.v1"` TopicName string `protobuf:"bytes,1,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"` - State v2.ShadowTopicState `protobuf:"varint,2,opt,name=state,proto3,enum=redpanda.core.admin.v2.ShadowTopicState" json:"state,omitempty"` - TotalLag int64 `protobuf:"varint,3,opt,name=total_lag,json=totalLag,proto3" json:"total_lag,omitempty"` - TotalPartitions int32 `protobuf:"varint,4,opt,name=total_partitions,json=totalPartitions,proto3" json:"total_partitions,omitempty"` + TopicId string `protobuf:"bytes,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` + State v2.ShadowTopicState `protobuf:"varint,3,opt,name=state,proto3,enum=redpanda.core.admin.v2.ShadowTopicState" json:"state,omitempty"` + TotalLag int64 `protobuf:"varint,4,opt,name=total_lag,json=totalLag,proto3" json:"total_lag,omitempty"` + TotalPartitions int32 `protobuf:"varint,5,opt,name=total_partitions,json=totalPartitions,proto3" json:"total_partitions,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -201,6 +202,13 @@ func (x *ShadowTopic) GetTopicName() string { return "" } +func (x *ShadowTopic) GetTopicId() string { + if x != nil { + return x.TopicId + } + return "" +} + func (x *ShadowTopic) GetState() v2.ShadowTopicState { if x != nil { return x.State @@ -331,10 +339,11 @@ func (x *GetShadowTopicRequest) GetTopicName() string { type GetShadowTopicResponse struct { state protoimpl.MessageState `protogen:"open.v1"` TopicName string `protobuf:"bytes,1,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"` - State v2.ShadowTopicState `protobuf:"varint,2,opt,name=state,proto3,enum=redpanda.core.admin.v2.ShadowTopicState" json:"state,omitempty"` - TotalLag int64 `protobuf:"varint,3,opt,name=total_lag,json=totalLag,proto3" json:"total_lag,omitempty"` - TotalPartitions int32 `protobuf:"varint,4,opt,name=total_partitions,json=totalPartitions,proto3" json:"total_partitions,omitempty"` - Partitions []*GetShadowTopicResponse_PartitionInfo `protobuf:"bytes,5,rep,name=partitions,proto3" json:"partitions,omitempty"` + TopicId string `protobuf:"bytes,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"` + State v2.ShadowTopicState `protobuf:"varint,3,opt,name=state,proto3,enum=redpanda.core.admin.v2.ShadowTopicState" json:"state,omitempty"` + TotalLag int64 `protobuf:"varint,4,opt,name=total_lag,json=totalLag,proto3" json:"total_lag,omitempty"` + TotalPartitions int32 `protobuf:"varint,5,opt,name=total_partitions,json=totalPartitions,proto3" json:"total_partitions,omitempty"` + Partitions []*GetShadowTopicResponse_PartitionInfo `protobuf:"bytes,6,rep,name=partitions,proto3" json:"partitions,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -376,6 +385,13 @@ func (x *GetShadowTopicResponse) GetTopicName() string { return "" } +func (x *GetShadowTopicResponse) GetTopicId() string { + if x != nil { + return x.TopicId + } + return "" +} + func (x *GetShadowTopicResponse) GetState() v2.ShadowTopicState { if x != nil { return x.State @@ -870,265 +886,268 @@ var file_redpanda_api_dataplane_v1alpha3_shadowlink_proto_rawDesc = []byte{ 0xba, 0x48, 0x19, 0x72, 0x17, 0x18, 0xf9, 0x01, 0x32, 0x12, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2e, 0x5f, 0x5c, 0x2d, 0x5d, 0x2a, 0x24, 0x52, 0x11, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x22, - 0xb4, 0x01, 0x0a, 0x0b, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, + 0xcf, 0x01, 0x0a, 0x0b, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, - 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, - 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x61, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x53, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, + 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x4c, 0x61, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x99, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, + 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x65, 0x64, 0x70, + 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x76, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x10, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x09, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x0e, 0x73, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x09, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xfd, 0x04, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x72, 0x65, 0x64, 0x70, + 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x61, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x65, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, + 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb9, 0x02, 0x0a, 0x0d, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x39, + 0x0a, 0x19, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x69, 0x67, + 0x68, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0d, 0x68, 0x69, 0x67, 0x68, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, + 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x5f, + 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x69, 0x67, 0x68, 0x57, 0x61, 0x74, 0x65, 0x72, + 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x03, 0x6c, 0x61, 0x67, 0x12, 0x5d, 0x0a, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x38, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, + 0xe0, 0x41, 0x02, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xa3, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x17, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x5f, 0x72, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6f, + 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x73, 0x22, 0x35, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02, + 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x15, + 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x64, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, + 0x69, 0x6e, 0x6b, 0x22, 0xe1, 0x02, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, + 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x58, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, + 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x27, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, + 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, + 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x61, 0x73, 0x6b, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x73, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1b, 0x73, 0x79, 0x6e, 0x63, + 0x65, 0x64, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x32, 0xc6, 0x0f, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdf, 0x02, + 0x0a, 0x08, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x64, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x01, 0x92, 0x41, 0xbb, 0x01, 0x12, 0x15, 0x46, + 0x61, 0x69, 0x6c, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, + 0x4c, 0x69, 0x6e, 0x6b, 0x1a, 0x41, 0x46, 0x61, 0x69, 0x6c, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, + 0x61, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x6f, 0x72, + 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, + 0x61, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x4a, 0x5f, 0x0a, 0x03, 0x32, 0x30, 0x32, 0x12, 0x58, + 0x0a, 0x1f, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x63, 0x63, 0x65, 0x70, + 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x35, 0x0a, 0x33, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x03, 0x10, 0x03, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x12, + 0xa8, 0x03, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, + 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x3c, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x64, 0x6f, - 0x77, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, + 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x02, 0x92, 0x41, 0xd1, 0x01, 0x12, 0x17, 0x4c, 0x69, + 0x73, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x73, 0x1a, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, + 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x3a, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, + 0x6e, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x4a, 0x4e, 0x0a, + 0x03, 0x32, 0x30, 0x30, 0x12, 0x47, 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x41, 0x0a, 0x3f, 0x1a, 0x3d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, - 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x0c, 0x73, 0x68, - 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x22, 0x76, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x10, 0x73, - 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, - 0x52, 0x0e, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x28, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, - 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe2, 0x04, 0x0a, 0x16, 0x47, - 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x61, - 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x61, - 0x67, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x65, 0x0a, 0x0a, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x45, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x1a, 0xb9, 0x02, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x77, 0x61, 0x74, 0x65, - 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x68, 0x69, 0x67, - 0x68, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, - 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x48, 0x69, 0x67, 0x68, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x10, - 0x0a, 0x03, 0x6c, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6c, 0x61, 0x67, - 0x12, 0x5d, 0x0a, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0x38, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x03, - 0xc8, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x18, 0x47, 0x65, - 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2c, - 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x22, - 0x35, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4c, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, - 0x6b, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0xe1, 0x02, - 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x69, 0x64, 0x12, 0x58, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x72, 0x65, 0x64, - 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x72, 0x65, - 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x74, - 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x68, 0x61, 0x64, 0x6f, - 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x1e, - 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x1b, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x53, 0x68, 0x61, 0x64, - 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x32, 0xc6, 0x0f, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdf, 0x02, 0x0a, 0x08, 0x46, 0x61, 0x69, 0x6c, - 0x4f, 0x76, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, - 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, + 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, + 0x6b, 0x2f, 0x7b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0xf1, 0x02, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x36, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, - 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xf6, 0x01, 0x92, 0x41, 0xbb, 0x01, 0x12, 0x15, 0x46, 0x61, 0x69, 0x6c, 0x20, 0x4f, 0x76, - 0x65, 0x72, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x1a, 0x41, - 0x46, 0x61, 0x69, 0x6c, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x20, 0x73, 0x68, 0x61, 0x64, - 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x6e, 0x6b, - 0x2e, 0x4a, 0x5f, 0x0a, 0x03, 0x32, 0x30, 0x32, 0x12, 0x58, 0x0a, 0x1f, 0x46, 0x61, 0x69, 0x6c, - 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x33, 0x1a, - 0x31, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x33, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x03, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, - 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, - 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, - 0x2f, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x12, 0xa8, 0x03, 0x0a, 0x14, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x73, 0x12, 0x3c, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, - 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, - 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x92, 0x02, 0x92, 0x41, 0xd1, 0x01, 0x12, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x53, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x1a, - 0x66, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, - 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x3a, 0x20, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x70, 0x69, - 0x63, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x4a, 0x4e, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x47, - 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x41, 0x0a, 0x3f, 0x1a, 0x3d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, - 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, - 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x73, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x12, 0xf1, 0x02, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, - 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x36, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, - 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x37, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xed, 0x01, 0x92, 0x41, 0x9f, 0x01, 0x12, - 0x10, 0x47, 0x65, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x1a, 0x41, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, - 0x69, 0x6e, 0x6b, 0x2e, 0x4a, 0x48, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x41, 0x0a, 0x02, 0x4f, - 0x4b, 0x12, 0x3b, 0x0a, 0x39, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, + 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, - 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, - 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, - 0x6e, 0x6b, 0x2f, 0x7b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2f, 0x7b, 0x74, 0x6f, 0x70, - 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x9d, 0x03, 0x0a, 0x10, 0x47, 0x65, 0x74, - 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x38, 0x2e, + 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xed, + 0x01, 0x92, 0x41, 0x9f, 0x01, 0x12, 0x10, 0x47, 0x65, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, + 0x77, 0x20, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x1a, 0x41, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, + 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x68, + 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x4a, 0x48, 0x0a, 0x03, 0x32, 0x30, + 0x30, 0x12, 0x41, 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x3b, 0x0a, 0x39, 0x1a, 0x37, 0x2e, 0x72, 0x65, + 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, + 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, + 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, + 0x63, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x9d, + 0x03, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x12, 0x38, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x93, 0x02, 0x92, 0x41, 0xdc, 0x01, 0x12, + 0x17, 0x47, 0x65, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, + 0x20, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x75, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, + 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, + 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, + 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x20, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2c, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2e, 0x4a, + 0x4a, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x43, 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x3d, 0x0a, 0x3b, + 0x1a, 0x39, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, + 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0xbf, + 0x02, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, + 0x12, 0x35, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x93, 0x02, 0x92, 0x41, 0xdc, 0x01, 0x12, 0x17, 0x47, 0x65, 0x74, 0x20, 0x53, - 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x1a, 0x75, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x2c, - 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x2c, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2e, 0x4a, 0x4a, 0x0a, 0x03, 0x32, 0x30, 0x30, - 0x12, 0x43, 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x3d, 0x0a, 0x3b, 0x1a, 0x39, 0x2e, 0x72, 0x65, 0x64, - 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, + 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xbe, 0x01, 0x92, 0x41, 0x8f, 0x01, 0x12, 0x0f, 0x47, 0x65, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, + 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x1a, 0x33, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, + 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, + 0x69, 0x6e, 0x6b, 0x20, 0x62, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x4a, 0x47, 0x0a, 0x03, + 0x32, 0x30, 0x30, 0x12, 0x40, 0x0a, 0x02, 0x4f, 0x4b, 0x12, 0x3a, 0x0a, 0x38, 0x1a, 0x36, 0x2e, + 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, 0xa6, 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, + 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, - 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0xbf, 0x02, 0x0a, 0x0d, 0x47, 0x65, 0x74, - 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x64, - 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbe, 0x01, 0x92, 0x41, 0x8f, 0x01, - 0x12, 0x0f, 0x47, 0x65, 0x74, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, - 0x6b, 0x1a, 0x33, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x62, 0x79, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x4a, 0x47, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x40, 0x0a, - 0x02, 0x4f, 0x4b, 0x12, 0x3a, 0x0a, 0x38, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, - 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x8a, - 0xa6, 0x1d, 0x04, 0x08, 0x01, 0x10, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, - 0x69, 0x6e, 0x6b, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x1a, 0x4e, 0x92, 0x41, 0x4b, 0x0a, - 0x18, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x20, 0x28, 0x44, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x29, 0x12, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x20, 0x73, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x2e, 0x42, 0xbe, 0x02, 0x0a, 0x23, 0x63, - 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x33, 0x42, 0x0f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x6b, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 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, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x3b, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0xa2, 0x02, - 0x03, 0x52, 0x41, 0x44, 0xaa, 0x02, 0x1f, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, - 0x41, 0x70, 0x69, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x56, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0xca, 0x02, 0x1f, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, - 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5c, - 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0xe2, 0x02, 0x2b, 0x52, 0x65, 0x64, 0x70, 0x61, - 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x22, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, - 0x61, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x1a, 0x4e, 0x92, 0x41, 0x4b, 0x0a, 0x18, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x20, 0x28, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x29, 0x12, + 0x2f, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x64, 0x61, 0x20, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x2e, + 0x42, 0xbe, 0x02, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, + 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x42, 0x0f, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, + 0x6c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x67, 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, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x33, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x41, 0x44, 0xaa, 0x02, 0x1f, 0x52, 0x65, 0x64, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0xca, 0x02, 0x1f, 0x52, + 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x44, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0xe2, 0x02, + 0x2b, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x44, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x22, 0x52, + 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x44, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/frontend/src/protogen/redpanda/api/dataplane/v1alpha3/shadowlink_pb.ts b/frontend/src/protogen/redpanda/api/dataplane/v1alpha3/shadowlink_pb.ts index 96d6e163c..e829401c5 100644 --- a/frontend/src/protogen/redpanda/api/dataplane/v1alpha3/shadowlink_pb.ts +++ b/frontend/src/protogen/redpanda/api/dataplane/v1alpha3/shadowlink_pb.ts @@ -19,7 +19,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file redpanda/api/dataplane/v1alpha3/shadowlink.proto. */ export const file_redpanda_api_dataplane_v1alpha3_shadowlink: GenFile = /*@__PURE__*/ - fileDesc("CjByZWRwYW5kYS9hcGkvZGF0YXBsYW5lL3YxYWxwaGEzL3NoYWRvd2xpbmsucHJvdG8SH3JlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMiPAoQRmFpbE92ZXJSZXNwb25zZRIMCgRuYW1lGAEgASgJEhoKEmZhaWxlZF9vdmVyX3RvcGljcxgCIAMoCSKSAwobTGlzdFNoYWRvd0xpbmtUb3BpY3NSZXF1ZXN0EiMKEHNoYWRvd19saW5rX25hbWUYASABKAlCCeBBArpIA8gBARJTCgZmaWx0ZXIYAiABKAsyQy5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkxpc3RTaGFkb3dMaW5rVG9waWNzUmVxdWVzdC5GaWx0ZXISnwEKCXBhZ2Vfc2l6ZRgDIAEoBUKLAZJBdTJhTGltaXQgdGhlIHBhZ2luYXRlZCByZXNwb25zZSB0byBhIG51bWJlciBvZiBpdGVtcy4gRGVmYXVsdHMgdG8gMTAwLiBVc2UgLTEgdG8gZGlzYWJsZSBwYWdpbmF0aW9uLlkAAAAAAECPQGkAAAAAAADwv7pIEBoOGOgHKP///////////wESEgoKcGFnZV90b2tlbhgEIAEoCRpDCgZGaWx0ZXISOQoTdG9waWNfbmFtZV9jb250YWlucxgBIAEoCUIcukgZchcY+QEyEl5bYS16QS1aMC05Ll9cLV0qJCKHAQoLU2hhZG93VG9waWMSEgoKdG9waWNfbmFtZRgBIAEoCRI3CgVzdGF0ZRgCIAEoDjIoLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93VG9waWNTdGF0ZRIRCgl0b3RhbF9sYWcYAyABKAMSGAoQdG90YWxfcGFydGl0aW9ucxgEIAEoBSJ8ChxMaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNlEkMKDXNoYWRvd190b3BpY3MYASADKAsyLC5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLlNoYWRvd1RvcGljEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJbChVHZXRTaGFkb3dUb3BpY1JlcXVlc3QSIwoQc2hhZG93X2xpbmtfbmFtZRgBIAEoCUIJ4EECukgDyAEBEh0KCnRvcGljX25hbWUYAiABKAlCCeBBArpIA8gBASK/AwoWR2V0U2hhZG93VG9waWNSZXNwb25zZRISCgp0b3BpY19uYW1lGAEgASgJEjcKBXN0YXRlGAIgASgOMigucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dUb3BpY1N0YXRlEhEKCXRvdGFsX2xhZxgDIAEoAxIYChB0b3RhbF9wYXJ0aXRpb25zGAQgASgFElkKCnBhcnRpdGlvbnMYBSADKAsyRS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVzcG9uc2UuUGFydGl0aW9uSW5mbxrPAQoNUGFydGl0aW9uSW5mbxIUCgxwYXJ0aXRpb25faWQYASABKAUSIQoZc291cmNlX2xhc3Rfc3RhYmxlX29mZnNldBgCIAEoAxIWCg5oaWdoX3dhdGVybWFyaxgDIAEoAxIdChVzb3VyY2VfaGlnaF93YXRlcm1hcmsYBCABKAMSCwoDbGFnGAUgASgDEkEKHXNvdXJjZV9sYXN0X3VwZGF0ZWRfdGltZXN0YW1wGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIyChdHZXRTaGFkb3dNZXRyaWNzUmVxdWVzdBIXCgRuYW1lGAEgASgJQgngQQK6SAPIAQEibQoYR2V0U2hhZG93TWV0cmljc1Jlc3BvbnNlEh8KF3RvdGFsX3RvcGljc19yZXBsaWNhdGVkGAEgASgEEhoKEmZhaWxlZF9vdmVyX3RvcGljcxgCIAEoBBIUCgxlcnJvcl90b3BpY3MYAyABKAQiLwoUR2V0U2hhZG93TGlua1JlcXVlc3QSFwoEbmFtZRgBIAEoCUIJ4EECukgDyAEBIlkKFUdldFNoYWRvd0xpbmtSZXNwb25zZRJACgtzaGFkb3dfbGluaxgBIAEoCzIrLnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuU2hhZG93TGluayKVAgoKU2hhZG93TGluaxIMCgRuYW1lGAEgASgJEgsKA3VpZBgCIAEoCRJICg5jb25maWd1cmF0aW9ucxgDIAEoCzIwLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93TGlua0NvbmZpZ3VyYXRpb25zEjYKBXN0YXRlGAQgASgOMicucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rU3RhdGUSQgoMdGFza3Nfc3RhdHVzGAUgAygLMiwucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rVGFza1N0YXR1cxImCh5zeW5jZWRfc2hhZG93X3RvcGljX3Byb3BlcnRpZXMYBiADKAkyxg8KEVNoYWRvd0xpbmtTZXJ2aWNlEt8CCghGYWlsT3ZlchInLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuRmFpbE92ZXJSZXF1ZXN0GjEucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5GYWlsT3ZlclJlc3BvbnNlIvYBkkG7ARIVRmFpbCBPdmVyIFNoYWRvdyBMaW5rGkFGYWlsIG92ZXIgYSBzaGFkb3cgbGluayBvciBhIHNwZWNpZmljIHNoYWRvdyB0b3BpYyB3aXRoaW4gYSBsaW5rLkpfCgMyMDISWAofRmFpbG92ZXIgYWNjZXB0ZWQgYW5kIGluaXRpYXRlZBI1CjMaMS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkZhaWxPdmVyUmVzcG9uc2WKph0ECAMQA4LT5JMCKToBKiIkL3YxYWxwaGEzL3NoYWRvd2xpbmsve25hbWV9L2ZhaWxvdmVyEqgDChRMaXN0U2hhZG93TGlua1RvcGljcxI8LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuTGlzdFNoYWRvd0xpbmtUb3BpY3NSZXF1ZXN0Gj0ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5MaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNlIpICkkHRARIXTGlzdCBTaGFkb3cgTGluayBUb3BpY3MaZkxpc3Qgc2hhZG93IHRvcGljIHN0YXR1cyBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpYyBzaGFkb3cgbGluay4gT3B0aW9uYWw6IGZpbHRlciBiYXNlZCBvbiB0b3BpYyBuYW1lLkpOCgMyMDASRwoCT0sSQQo/Gj0ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5MaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNliqYdBAgBEAOC0+STAi8SLS92MWFscGhhMy9zaGFkb3dsaW5rL3tzaGFkb3dfbGlua19uYW1lfS90b3BpYxLxAgoOR2V0U2hhZG93VG9waWMSNi5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVxdWVzdBo3LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93VG9waWNSZXNwb25zZSLtAZJBnwESEEdldCBTaGFkb3cgVG9waWMaQVJldHJpZXZlIGRldGFpbHMgb2YgYSBzcGVjaWZpYyBzaGFkb3cgdG9waWMgd2l0aGluIGEgc2hhZG93IGxpbmsuSkgKAzIwMBJBCgJPSxI7CjkaNy5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVzcG9uc2WKph0ECAEQA4LT5JMCPBI6L3YxYWxwaGEzL3NoYWRvd2xpbmsve3NoYWRvd19saW5rX25hbWV9L3RvcGljL3t0b3BpY19uYW1lfRKdAwoQR2V0U2hhZG93TWV0cmljcxI4LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TWV0cmljc1JlcXVlc3QaOS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd01ldHJpY3NSZXNwb25zZSKTApJB3AESF0dldCBTaGFkb3cgTGluayBNZXRyaWNzGnVSZXRyaWV2ZSBtZXRyaWNzIGZvciBhIHNwZWNpZmljIHNoYWRvdyBsaW5rLCBpbmNsdWRpbmcgdG90YWwgdG9waWNzIHJlcGxpY2F0ZWQsIGZhaWxlZCBvdmVyIHRvcGljcywgYW5kIGVycm9yIHRvcGljcy5KSgoDMjAwEkMKAk9LEj0KOxo5LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TWV0cmljc1Jlc3BvbnNliqYdBAgBEAOC0+STAiUSIy92MWFscGhhMy9zaGFkb3dsaW5rL3tuYW1lfS9tZXRyaWNzEr8CCg1HZXRTaGFkb3dMaW5rEjUucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5HZXRTaGFkb3dMaW5rUmVxdWVzdBo2LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TGlua1Jlc3BvbnNlIr4BkkGPARIPR2V0IFNoYWRvdyBMaW5rGjNSZXRyaWV2ZSBkZXRhaWxzIG9mIGEgc3BlY2lmaWMgc2hhZG93IGxpbmsgYnkgbmFtZS5KRwoDMjAwEkAKAk9LEjoKOBo2LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TGlua1Jlc3BvbnNliqYdBAgBEAOC0+STAh0SGy92MWFscGhhMy9zaGFkb3dsaW5rL3tuYW1lfRpOkkFLChhTaGFkb3cgTGlua3MgKERhdGFwbGFuZSkSL0RhdGFwbGFuZSBvcGVyYXRpb25zIGZvciBSZWRwYW5kYSBzaGFkb3cgbGlua3MuQr4CCiNjb20ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhM0IPU2hhZG93bGlua1Byb3RvUAFaZ2dpdGh1Yi5jb20vcmVkcGFuZGEtZGF0YS9jb25zb2xlL2JhY2tlbmQvcGtnL3Byb3RvZ2VuL3JlZHBhbmRhL2FwaS9kYXRhcGxhbmUvdjFhbHBoYTM7ZGF0YXBsYW5ldjFhbHBoYTOiAgNSQUSqAh9SZWRwYW5kYS5BcGkuRGF0YXBsYW5lLlYxYWxwaGEzygIfUmVkcGFuZGFcQXBpXERhdGFwbGFuZVxWMWFscGhhM+ICK1JlZHBhbmRhXEFwaVxEYXRhcGxhbmVcVjFhbHBoYTNcR1BCTWV0YWRhdGHqAiJSZWRwYW5kYTo6QXBpOjpEYXRhcGxhbmU6OlYxYWxwaGEzYgZwcm90bzM", [file_buf_validate_validate, file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_redpanda_api_auth_v1_authorization, file_redpanda_core_admin_v2_shadow_link]); + fileDesc("CjByZWRwYW5kYS9hcGkvZGF0YXBsYW5lL3YxYWxwaGEzL3NoYWRvd2xpbmsucHJvdG8SH3JlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMiPAoQRmFpbE92ZXJSZXNwb25zZRIMCgRuYW1lGAEgASgJEhoKEmZhaWxlZF9vdmVyX3RvcGljcxgCIAMoCSKSAwobTGlzdFNoYWRvd0xpbmtUb3BpY3NSZXF1ZXN0EiMKEHNoYWRvd19saW5rX25hbWUYASABKAlCCeBBArpIA8gBARJTCgZmaWx0ZXIYAiABKAsyQy5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkxpc3RTaGFkb3dMaW5rVG9waWNzUmVxdWVzdC5GaWx0ZXISnwEKCXBhZ2Vfc2l6ZRgDIAEoBUKLAZJBdTJhTGltaXQgdGhlIHBhZ2luYXRlZCByZXNwb25zZSB0byBhIG51bWJlciBvZiBpdGVtcy4gRGVmYXVsdHMgdG8gMTAwLiBVc2UgLTEgdG8gZGlzYWJsZSBwYWdpbmF0aW9uLlkAAAAAAECPQGkAAAAAAADwv7pIEBoOGOgHKP///////////wESEgoKcGFnZV90b2tlbhgEIAEoCRpDCgZGaWx0ZXISOQoTdG9waWNfbmFtZV9jb250YWlucxgBIAEoCUIcukgZchcY+QEyEl5bYS16QS1aMC05Ll9cLV0qJCKZAQoLU2hhZG93VG9waWMSEgoKdG9waWNfbmFtZRgBIAEoCRIQCgh0b3BpY19pZBgCIAEoCRI3CgVzdGF0ZRgDIAEoDjIoLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93VG9waWNTdGF0ZRIRCgl0b3RhbF9sYWcYBCABKAMSGAoQdG90YWxfcGFydGl0aW9ucxgFIAEoBSJ8ChxMaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNlEkMKDXNoYWRvd190b3BpY3MYASADKAsyLC5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLlNoYWRvd1RvcGljEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJbChVHZXRTaGFkb3dUb3BpY1JlcXVlc3QSIwoQc2hhZG93X2xpbmtfbmFtZRgBIAEoCUIJ4EECukgDyAEBEh0KCnRvcGljX25hbWUYAiABKAlCCeBBArpIA8gBASLRAwoWR2V0U2hhZG93VG9waWNSZXNwb25zZRISCgp0b3BpY19uYW1lGAEgASgJEhAKCHRvcGljX2lkGAIgASgJEjcKBXN0YXRlGAMgASgOMigucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dUb3BpY1N0YXRlEhEKCXRvdGFsX2xhZxgEIAEoAxIYChB0b3RhbF9wYXJ0aXRpb25zGAUgASgFElkKCnBhcnRpdGlvbnMYBiADKAsyRS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVzcG9uc2UuUGFydGl0aW9uSW5mbxrPAQoNUGFydGl0aW9uSW5mbxIUCgxwYXJ0aXRpb25faWQYASABKAUSIQoZc291cmNlX2xhc3Rfc3RhYmxlX29mZnNldBgCIAEoAxIWCg5oaWdoX3dhdGVybWFyaxgDIAEoAxIdChVzb3VyY2VfaGlnaF93YXRlcm1hcmsYBCABKAMSCwoDbGFnGAUgASgDEkEKHXNvdXJjZV9sYXN0X3VwZGF0ZWRfdGltZXN0YW1wGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIyChdHZXRTaGFkb3dNZXRyaWNzUmVxdWVzdBIXCgRuYW1lGAEgASgJQgngQQK6SAPIAQEibQoYR2V0U2hhZG93TWV0cmljc1Jlc3BvbnNlEh8KF3RvdGFsX3RvcGljc19yZXBsaWNhdGVkGAEgASgEEhoKEmZhaWxlZF9vdmVyX3RvcGljcxgCIAEoBBIUCgxlcnJvcl90b3BpY3MYAyABKAQiLwoUR2V0U2hhZG93TGlua1JlcXVlc3QSFwoEbmFtZRgBIAEoCUIJ4EECukgDyAEBIlkKFUdldFNoYWRvd0xpbmtSZXNwb25zZRJACgtzaGFkb3dfbGluaxgBIAEoCzIrLnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuU2hhZG93TGluayKVAgoKU2hhZG93TGluaxIMCgRuYW1lGAEgASgJEgsKA3VpZBgCIAEoCRJICg5jb25maWd1cmF0aW9ucxgDIAEoCzIwLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuU2hhZG93TGlua0NvbmZpZ3VyYXRpb25zEjYKBXN0YXRlGAQgASgOMicucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rU3RhdGUSQgoMdGFza3Nfc3RhdHVzGAUgAygLMiwucmVkcGFuZGEuY29yZS5hZG1pbi52Mi5TaGFkb3dMaW5rVGFza1N0YXR1cxImCh5zeW5jZWRfc2hhZG93X3RvcGljX3Byb3BlcnRpZXMYBiADKAkyxg8KEVNoYWRvd0xpbmtTZXJ2aWNlEt8CCghGYWlsT3ZlchInLnJlZHBhbmRhLmNvcmUuYWRtaW4udjIuRmFpbE92ZXJSZXF1ZXN0GjEucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5GYWlsT3ZlclJlc3BvbnNlIvYBkkG7ARIVRmFpbCBPdmVyIFNoYWRvdyBMaW5rGkFGYWlsIG92ZXIgYSBzaGFkb3cgbGluayBvciBhIHNwZWNpZmljIHNoYWRvdyB0b3BpYyB3aXRoaW4gYSBsaW5rLkpfCgMyMDISWAofRmFpbG92ZXIgYWNjZXB0ZWQgYW5kIGluaXRpYXRlZBI1CjMaMS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkZhaWxPdmVyUmVzcG9uc2WKph0ECAMQA4LT5JMCKToBKiIkL3YxYWxwaGEzL3NoYWRvd2xpbmsve25hbWV9L2ZhaWxvdmVyEqgDChRMaXN0U2hhZG93TGlua1RvcGljcxI8LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuTGlzdFNoYWRvd0xpbmtUb3BpY3NSZXF1ZXN0Gj0ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5MaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNlIpICkkHRARIXTGlzdCBTaGFkb3cgTGluayBUb3BpY3MaZkxpc3Qgc2hhZG93IHRvcGljIHN0YXR1cyBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpYyBzaGFkb3cgbGluay4gT3B0aW9uYWw6IGZpbHRlciBiYXNlZCBvbiB0b3BpYyBuYW1lLkpOCgMyMDASRwoCT0sSQQo/Gj0ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5MaXN0U2hhZG93TGlua1RvcGljc1Jlc3BvbnNliqYdBAgBEAOC0+STAi8SLS92MWFscGhhMy9zaGFkb3dsaW5rL3tzaGFkb3dfbGlua19uYW1lfS90b3BpYxLxAgoOR2V0U2hhZG93VG9waWMSNi5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVxdWVzdBo3LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93VG9waWNSZXNwb25zZSLtAZJBnwESEEdldCBTaGFkb3cgVG9waWMaQVJldHJpZXZlIGRldGFpbHMgb2YgYSBzcGVjaWZpYyBzaGFkb3cgdG9waWMgd2l0aGluIGEgc2hhZG93IGxpbmsuSkgKAzIwMBJBCgJPSxI7CjkaNy5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd1RvcGljUmVzcG9uc2WKph0ECAEQA4LT5JMCPBI6L3YxYWxwaGEzL3NoYWRvd2xpbmsve3NoYWRvd19saW5rX25hbWV9L3RvcGljL3t0b3BpY19uYW1lfRKdAwoQR2V0U2hhZG93TWV0cmljcxI4LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TWV0cmljc1JlcXVlc3QaOS5yZWRwYW5kYS5hcGkuZGF0YXBsYW5lLnYxYWxwaGEzLkdldFNoYWRvd01ldHJpY3NSZXNwb25zZSKTApJB3AESF0dldCBTaGFkb3cgTGluayBNZXRyaWNzGnVSZXRyaWV2ZSBtZXRyaWNzIGZvciBhIHNwZWNpZmljIHNoYWRvdyBsaW5rLCBpbmNsdWRpbmcgdG90YWwgdG9waWNzIHJlcGxpY2F0ZWQsIGZhaWxlZCBvdmVyIHRvcGljcywgYW5kIGVycm9yIHRvcGljcy5KSgoDMjAwEkMKAk9LEj0KOxo5LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TWV0cmljc1Jlc3BvbnNliqYdBAgBEAOC0+STAiUSIy92MWFscGhhMy9zaGFkb3dsaW5rL3tuYW1lfS9tZXRyaWNzEr8CCg1HZXRTaGFkb3dMaW5rEjUucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhMy5HZXRTaGFkb3dMaW5rUmVxdWVzdBo2LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TGlua1Jlc3BvbnNlIr4BkkGPARIPR2V0IFNoYWRvdyBMaW5rGjNSZXRyaWV2ZSBkZXRhaWxzIG9mIGEgc3BlY2lmaWMgc2hhZG93IGxpbmsgYnkgbmFtZS5KRwoDMjAwEkAKAk9LEjoKOBo2LnJlZHBhbmRhLmFwaS5kYXRhcGxhbmUudjFhbHBoYTMuR2V0U2hhZG93TGlua1Jlc3BvbnNliqYdBAgBEAOC0+STAh0SGy92MWFscGhhMy9zaGFkb3dsaW5rL3tuYW1lfRpOkkFLChhTaGFkb3cgTGlua3MgKERhdGFwbGFuZSkSL0RhdGFwbGFuZSBvcGVyYXRpb25zIGZvciBSZWRwYW5kYSBzaGFkb3cgbGlua3MuQr4CCiNjb20ucmVkcGFuZGEuYXBpLmRhdGFwbGFuZS52MWFscGhhM0IPU2hhZG93bGlua1Byb3RvUAFaZ2dpdGh1Yi5jb20vcmVkcGFuZGEtZGF0YS9jb25zb2xlL2JhY2tlbmQvcGtnL3Byb3RvZ2VuL3JlZHBhbmRhL2FwaS9kYXRhcGxhbmUvdjFhbHBoYTM7ZGF0YXBsYW5ldjFhbHBoYTOiAgNSQUSqAh9SZWRwYW5kYS5BcGkuRGF0YXBsYW5lLlYxYWxwaGEzygIfUmVkcGFuZGFcQXBpXERhdGFwbGFuZVxWMWFscGhhM+ICK1JlZHBhbmRhXEFwaVxEYXRhcGxhbmVcVjFhbHBoYTNcR1BCTWV0YWRhdGHqAiJSZWRwYW5kYTo6QXBpOjpEYXRhcGxhbmU6OlYxYWxwaGEzYgZwcm90bzM", [file_buf_validate_validate, file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_redpanda_api_auth_v1_authorization, file_redpanda_core_admin_v2_shadow_link]); /** * @generated from message redpanda.api.dataplane.v1alpha3.FailOverResponse @@ -113,17 +113,22 @@ export type ShadowTopic = Message<"redpanda.api.dataplane.v1alpha3.ShadowTopic"> topicName: string; /** - * @generated from field: redpanda.core.admin.v2.ShadowTopicState state = 2; + * @generated from field: string topic_id = 2; + */ + topicId: string; + + /** + * @generated from field: redpanda.core.admin.v2.ShadowTopicState state = 3; */ state: ShadowTopicState; /** - * @generated from field: int64 total_lag = 3; + * @generated from field: int64 total_lag = 4; */ totalLag: bigint; /** - * @generated from field: int32 total_partitions = 4; + * @generated from field: int32 total_partitions = 5; */ totalPartitions: number; }; @@ -193,22 +198,27 @@ export type GetShadowTopicResponse = Message<"redpanda.api.dataplane.v1alpha3.Ge topicName: string; /** - * @generated from field: redpanda.core.admin.v2.ShadowTopicState state = 2; + * @generated from field: string topic_id = 2; + */ + topicId: string; + + /** + * @generated from field: redpanda.core.admin.v2.ShadowTopicState state = 3; */ state: ShadowTopicState; /** - * @generated from field: int64 total_lag = 3; + * @generated from field: int64 total_lag = 4; */ totalLag: bigint; /** - * @generated from field: int32 total_partitions = 4; + * @generated from field: int32 total_partitions = 5; */ totalPartitions: number; /** - * @generated from field: repeated redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.PartitionInfo partitions = 5; + * @generated from field: repeated redpanda.api.dataplane.v1alpha3.GetShadowTopicResponse.PartitionInfo partitions = 6; */ partitions: GetShadowTopicResponse_PartitionInfo[]; }; diff --git a/proto/gen/openapi/openapi.json b/proto/gen/openapi/openapi.json index 4d3d6ba05..f2e931a34 100644 --- a/proto/gen/openapi/openapi.json +++ b/proto/gen/openapi/openapi.json @@ -1 +1 @@ -{"components":{"schemas":{"ACL.Operation":{"description":"The operation that is allowed or denied (e.g. READ).","enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"},"Action":{"enum":["ACTION_PREPARE","ACTION_EXECUTE","ACTION_FINISH","ACTION_CANCEL"],"type":"string"},"AddPartitionsToTopicsRequest":{"properties":{"partition_count":{"description":"The number of partitions to add for the topics.","format":"int32","type":"integer"},"topic_names":{"description":"The topic names.","items":{"type":"string"},"type":"array"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"AddPartitionsToTopicsResponse":{"properties":{"statuses":{"description":"The status of the operation for each topic.","items":{"$ref":"#/components/schemas/AlterTopicPartitionStatus"},"type":"array"}},"type":"object"},"AddTopicPartitionsBody":{"properties":{"partition_count":{"description":"The number of partitions to add to the topic.","format":"int32","type":"integer"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"AddTopicPartitionsResponse":{"type":"object"},"AlterTopicPartitionStatus":{"properties":{"error":{"description":"The error if any.","type":"string"},"success":{"description":"Whether the operation was successful.","type":"boolean"},"topic_name":{"description":"The topic name.","type":"string"}},"type":"object"},"AnnotatedOption":{"properties":{"description":{"type":"string"},"value":{"type":"string"}},"title":"AnnotatedOption represents an annotated option","type":"object"},"AuthenticationInfo":{"properties":{"mechanism":{"$ref":"#/components/schemas/AuthenticationMechanism"},"state":{"$ref":"#/components/schemas/AuthenticationState"},"user_principal":{"title":"Authenticated user principal","type":"string"}},"title":"Other Messages","type":"object"},"AuthenticationMechanism":{"enum":["AUTHENTICATION_MECHANISM_MTLS","AUTHENTICATION_MECHANISM_SASL_SCRAM","AUTHENTICATION_MECHANISM_SASL_OAUTHBEARER","AUTHENTICATION_MECHANISM_SASL_PLAIN","AUTHENTICATION_MECHANISM_SASL_GSSAPI"],"title":"- AUTHENTICATION_MECHANISM_MTLS: Mutual TLS using client certificates\n - AUTHENTICATION_MECHANISM_SASL_SCRAM: SASL SCRAM\n - AUTHENTICATION_MECHANISM_SASL_OAUTHBEARER: SASL OAUTHBEARER (OAuth 2.0 / OpenID Connect)\n - AUTHENTICATION_MECHANISM_SASL_PLAIN: SASL PLAIN (username/password in plaintext)\n - AUTHENTICATION_MECHANISM_SASL_GSSAPI: SASL GSSAPI (Kerberos)","type":"string"},"AuthenticationState":{"enum":["AUTHENTICATION_STATE_UNAUTHENTICATED","AUTHENTICATION_STATE_SUCCESS","AUTHENTICATION_STATE_FAILURE"],"type":"string"},"BadRequest":{"description":"Describes violations in a client request. This error type focuses on the\nsyntactic aspects of the request.","properties":{"field_violations":{"description":"Describes all violations in a client request.","items":{"$ref":"#/components/schemas/FieldViolation"},"type":"array"}},"title":"BadRequest","type":"object"},"BatchDeleteQuotaRequest":{"properties":{"deletions":{"items":{"$ref":"#/components/schemas/QuotaDeletion"},"type":"array"}},"type":"object"},"BatchDeleteQuotaResponse":{"properties":{"failed_entities":{"items":{"$ref":"#/components/schemas/FailedEntity"},"type":"array"},"successful_entities":{"items":{"$ref":"#/components/schemas/SuccessfulEntity"},"type":"array"}},"type":"object"},"BatchSetQuotaRequest":{"properties":{"settings":{"description":"A list of quota settings to apply. Each setting pairs an entity\nwith the specific values to be set for it.","items":{"$ref":"#/components/schemas/QuotaSetting"},"type":"array"}},"type":"object"},"BatchSetQuotaResponse":{"properties":{"failed_entities":{"items":{"$ref":"#/components/schemas/FailedEntity"},"type":"array"},"successful_entities":{"items":{"$ref":"#/components/schemas/SuccessfulEntity"},"type":"array"}},"type":"object"},"BloblangFunctionSpec":{"description":"BloblangFunctionSpec represents a Bloblang function specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"params":{"$ref":"#/components/schemas/ParamSpec"},"status":{"type":"string"},"version":{"type":"string"}},"type":"object"},"BloblangMethodSpec":{"description":"BloblangMethodSpec represents a Bloblang method specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"params":{"$ref":"#/components/schemas/ParamSpec"},"status":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ComponentList":{"description":"ComponentList contains the structured component data.","properties":{"bloblang_functions":{"items":{"$ref":"#/components/schemas/BloblangFunctionSpec"},"type":"array"},"bloblang_methods":{"items":{"$ref":"#/components/schemas/BloblangMethodSpec"},"type":"array"},"buffers":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"caches":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"inputs":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"metrics":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"outputs":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"processors":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"rate_limits":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"scanners":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"tracers":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"version":{"type":"string"}},"type":"object"},"ComponentSpec":{"description":"ComponentSpec represents a component specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"config":{"$ref":"#/components/schemas/FieldSpec"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"footnotes":{"type":"string"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/ComponentStatus"},"summary":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ComponentStatus":{"description":"ComponentStatus represents the stability level of a component.","enum":["COMPONENT_STATUS_STABLE","COMPONENT_STATUS_BETA","COMPONENT_STATUS_EXPERIMENTAL","COMPONENT_STATUS_DEPRECATED"],"type":"string"},"ComponentType":{"description":"Component type for this tool.","enum":["COMPONENT_TYPE_PROCESSOR","COMPONENT_TYPE_CACHE","COMPONENT_TYPE_INPUT","COMPONENT_TYPE_OUTPUT"],"type":"string"},"Config":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigAlterOperation":{"enum":["CONFIG_ALTER_OPERATION_SET","CONFIG_ALTER_OPERATION_DELETE","CONFIG_ALTER_OPERATION_APPEND","CONFIG_ALTER_OPERATION_SUBTRACT"],"type":"string"},"ConfigSource":{"enum":["CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG","CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG","CONFIG_SOURCE_STATIC_BROKER_CONFIG","CONFIG_SOURCE_DEFAULT_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_LOGGER_CONFIG"],"type":"string"},"ConfigSynonym":{"properties":{"name":{"type":"string"},"source":{"$ref":"#/components/schemas/ConfigSource"},"value":{"nullable":true,"type":"string"}},"type":"object"},"ConfigType":{"enum":["CONFIG_TYPE_BOOLEAN","CONFIG_TYPE_STRING","CONFIG_TYPE_INT","CONFIG_TYPE_SHORT","CONFIG_TYPE_LONG","CONFIG_TYPE_DOUBLE","CONFIG_TYPE_LIST","CONFIG_TYPE_CLASS","CONFIG_TYPE_PASSWORD"],"type":"string"},"Configuration":{"properties":{"config_synonyms":{"description":"If no config value is set at the topic level, it will inherit the value\nset at the broker or cluster level. `name` is the corresponding config\nkey whose value is inherited. `source` indicates whether the inherited\nconfig is default, broker, etc.","items":{"$ref":"#/components/schemas/ConfigSynonym"},"type":"array"},"documentation":{"description":"Config documentation.","nullable":true,"type":"string"},"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"read_only":{"description":"Whether the config is read-only, or is dynamic and can be altered.","type":"boolean"},"sensitive":{"description":"Whether this is a sensitive config key and value.","type":"boolean"},"source":{"$ref":"#/components/schemas/ConfigSource"},"type":{"$ref":"#/components/schemas/ConfigType"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigurationYAMLSchema":{"properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_schema":{"description":"JSON schema of the configuration components that are allowed for MCP Servers.","type":"string"}},"type":"object"},"ConnectCluster":{"properties":{"address":{"description":"The host address of the Kafka Connect cluster.","type":"string"},"info":{"$ref":"#/components/schemas/ConnectCluster.Info"},"name":{"description":"Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`.","type":"string"},"plugins":{"items":{"$ref":"#/components/schemas/ConnectorPlugin"},"type":"array"}},"type":"object"},"ConnectCluster.Info":{"properties":{"commit":{"description":"The git commit ID of the connect worker source code.","type":"string"},"kafka_cluster_id":{"description":"Cluster ID.","type":"string"},"version":{"description":"Connect worker version.","type":"string"}},"type":"object"},"Connector":{"properties":{"state":{"description":"State of the connector instance.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the connector is assigned to.","type":"string"}},"type":"object"},"ConnectorError":{"properties":{"content":{"description":"Detailed description of the error.","type":"string"},"title":{"description":"Short description of the error.","type":"string"},"type":{"$ref":"#/components/schemas/ConnectorError.Type"}},"title":"ConnectorError is the error of a connector, this is holistic error\nabstraction, made parsing the error trace of connector or Task","type":"object"},"ConnectorError.Type":{"description":"Error level.","enum":["TYPE_ERROR","TYPE_WARNING"],"type":"string"},"ConnectorHolisticState":{"description":"State of a connector or one of its tasks, as described in the [Kafka Connect documentation](https://kafka.apache.org/documentation.html#connect_administration). Takes into account not just the state of the connector instance itself, but also the tasks within the connector.\n\n - CONNECTOR_HOLISTIC_STATE_PAUSED: The connector or task has been administratively paused.\n - CONNECTOR_HOLISTIC_STATE_RESTARTING: The connector or task is restarting.\n - CONNECTOR_HOLISTIC_STATE_DESTROYED: The connector is destroyed, regardless of any tasks.\n - CONNECTOR_HOLISTIC_STATE_STOPPED: The connector or task has been stopped.\n - CONNECTOR_HOLISTIC_STATE_UNASSIGNED: - The connector or task has not yet been assigned to a worker,\n- THe connector is running, but there are unassigned tasks.\n - CONNECTOR_HOLISTIC_STATE_HEALTHY: The connector is running, \u003e 0 tasks, all of them in running state.\n - CONNECTOR_HOLISTIC_STATE_UNHEALTHY: - The connector has failed,\n- The connector is running, but has no tasks,\n- Connector is running and has tasks, but all tasks have failed.\n - CONNECTOR_HOLISTIC_STATE_DEGRADED: The connector is running and has tasks, and at least one task, but not all, have failed.\n - CONNECTOR_HOLISTIC_STATE_UNKNOWN: The connector or task state could not be determined.","enum":["CONNECTOR_HOLISTIC_STATE_PAUSED","CONNECTOR_HOLISTIC_STATE_RESTARTING","CONNECTOR_HOLISTIC_STATE_DESTROYED","CONNECTOR_HOLISTIC_STATE_STOPPED","CONNECTOR_HOLISTIC_STATE_UNASSIGNED","CONNECTOR_HOLISTIC_STATE_HEALTHY","CONNECTOR_HOLISTIC_STATE_UNHEALTHY","CONNECTOR_HOLISTIC_STATE_DEGRADED","CONNECTOR_HOLISTIC_STATE_UNKNOWN"],"type":"string"},"ConnectorInfoStatus":{"properties":{"info":{"$ref":"#/components/schemas/ConnectorSpec"},"name":{"description":"Name of connector.","type":"string"},"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"ConnectorPlugin":{"properties":{"class":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ConnectorSpec":{"description":"Connector specifications as defined in the Kafka Connect\nAPI. You may include this in the request body when creating a new connector.","properties":{"config":{"additionalProperties":{"type":"string"},"description":"Connector configuration properties.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"items":{"$ref":"#/components/schemas/TaskInfo"},"readOnly":true,"type":"array"},"type":{"readOnly":true,"type":"string"}},"required":["name","config"],"type":"object"},"ConnectorStatus":{"properties":{"connector":{"$ref":"#/components/schemas/Connector"},"errors":{"description":"List of parsed connectors' and tasks' errors.","items":{"$ref":"#/components/schemas/ConnectorError"},"type":"array"},"holistic_state":{"$ref":"#/components/schemas/ConnectorHolisticState"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"description":"Status of connector tasks. For more information, see the [https://docs.redpanda.com/current/deploy/deployment-option/cloud/managed-connectors/monitor-connectors/#connector-tasks](Monitor Connectors) documentation.","items":{"$ref":"#/components/schemas/TaskStatus"},"type":"array"},"type":{"description":"Type of connector (sink or source).","type":"string"}},"type":"object"},"CreateACLRequest":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.\nFor requests with resource_type CLUSTER, this will default to \"kafka-cluster\".","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","principal","host","operation","permission_type"],"type":"object"},"CreateACLResponse":{"type":"object"},"CreateConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"CreateKafkaConnectSecretBody":{"description":"CreateKafkaConnectSecretRequest is the request of CreateKafkaConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["name","secret_data"],"type":"object"},"CreateKafkaConnectSecretResponse":{"description":"CreateKafkaConnectSecretResponse is the response of CreateKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"CreatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"CreateRoleResponse":{"description":"CreateRoleResponse is the response for CreateRole.","properties":{"role":{"$ref":"#/components/schemas/Role"}},"type":"object"},"CreateSecretRequest":{"description":"CreateSecretRequest is the request of CreateSecret.","properties":{"id":{"description":"Secret identifier.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"CreateSecretResponse":{"description":"CreateSecretResponse is the response of CreateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateTopicRequest.Topic":{"properties":{"configs":{"description":"An array of key-value config pairs for a topic.\nThese correspond to Kafka topic-level configs.","items":{"$ref":"#/components/schemas/Config"},"type":"array"},"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions to give the topic. If specifying\npartitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default partition count, set to null.","format":"int32","nullable":true,"type":"integer"},"replica_assignments":{"description":"Manually specify broker ID assignments for partition replicas. If manually assigning replicas, both `replication_factor` and\n`partition_count` must be -1.","items":{"$ref":"#/components/schemas/ReplicaAssignment"},"type":"array"},"replication_factor":{"description":"The number of replicas every partition must have.\nIf specifying partitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default replication factor, set to null.","format":"int32","nullable":true,"type":"integer"}},"type":"object"},"CreateTopicResponse":{"properties":{"partition_count":{"description":"The number of partitions created for the topic.\nThis field has a default value of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"replication_factor":{"description":"The number of replicas per topic partition.\nThis field has a default of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"topic_name":{"description":"Name of topic.","type":"string"}},"type":"object"},"CreateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"CreateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/CreateUserResponse.User"}},"type":"object"},"CreateUserResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"title":"Name of newly-created user","type":"string"}},"type":"object"},"DeleteACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","operation","permission_type"],"type":"object"},"DeleteACLsResponse":{"properties":{"matching_acls":{"items":{"$ref":"#/components/schemas/MatchingACL"},"type":"array"}},"type":"object"},"DeleteKafkaConnectSecretResponse":{"description":"DeleteKafkaConnectSecretResponse is the response of DeleteKafkaConnectSecret.","type":"object"},"DeleteMCPServerResponse":{"type":"object"},"DeleteMountTaskResponse":{"type":"object"},"DeletePipelineResponse":{"type":"object"},"DeleteQuotaRequest":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"DeleteQuotaResponse":{"type":"object"},"DeleteRoleResponse":{"description":"DeleteRoleResponse is the response for DeleteRole.","type":"object"},"DeleteSecretResponse":{"description":"DeleteSecretResponse is the response of DeleteSecret.","type":"object"},"DeleteTopicResponse":{"type":"object"},"DeleteTransformResponse":{"type":"object"},"DeleteUserResponse":{"type":"object"},"DeployTransformRequest":{"description":"Metadata required to deploy a new Wasm\ntransform in a Redpanda cluster.","properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"The input topic to apply the transform to.","example":"orders","type":"string"},"name":{"description":"Name of the transform.","example":"redact-payment-details-in-orders","type":"string"},"output_topic_names":{"description":"Output topic to write the transform results to.","example":"orders-redacted","items":{"type":"string"},"type":"array"}},"required":["name","input_topic_name","output_topic_names"],"type":"object"},"Entity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"EntityType":{"description":"The type of entity that the quota applies to.\n\n - ENTITY_TYPE_USER: Not supported in Redpanda\n - ENTITY_TYPE_IP: Not supported in Redpanda","enum":["ENTITY_TYPE_CLIENT_ID","ENTITY_TYPE_CLIENT_ID_PREFIX","ENTITY_TYPE_USER","ENTITY_TYPE_IP"],"type":"string"},"EnvironmentVariable":{"properties":{"key":{"description":"The key of your environment variable.","example":"LOG_LEVEL","type":"string"},"value":{"description":"The value of your environment variable.","example":"DEBUG","type":"string"}},"required":["key","value"],"type":"object"},"ErrorInfo":{"description":"Describes the cause of the error with structured details.\n\nExample of an error when contacting the \"pubsub.googleapis.com\" API when it\nis not enabled:\n\n { \"reason\": \"API_DISABLED\"\n \"domain\": \"googleapis.com\"\n \"metadata\": {\n \"resource\": \"projects/123\",\n \"service\": \"pubsub.googleapis.com\"\n }\n }\n\nThis response indicates that the pubsub.googleapis.com API is not enabled.\n\nExample of an error that is returned when attempting to create a Spanner\ninstance in a region that is out of stock:\n\n { \"reason\": \"STOCKOUT\"\n \"domain\": \"spanner.googleapis.com\",\n \"metadata\": {\n \"availableRegions\": \"us-central1,us-east2\"\n }\n }","properties":{"domain":{"description":"The logical grouping to which the \"reason\" belongs. The error domain\nis typically the registered service name of the tool or product that\ngenerates the error. Example: \"pubsub.googleapis.com\". If the error is\ngenerated by some common infrastructure, the error domain must be a\nglobally unique value that identifies the infrastructure. For Google API\ninfrastructure, the error domain is \"googleapis.com\".","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"Additional structured details about this error.\n\nKeys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should\nideally be lowerCamelCase. Also, they must be limited to 64 characters in\nlength. When identifying the current value of an exceeded limit, the units\nshould be contained in the key, not the value. For example, rather than\n`{\"instanceLimit\": \"100/request\"}`, should be returned as,\n`{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of\ninstances that can be created in a single (batch) request.","type":"object"},"reason":{"description":"The reason of the error. This is a constant value that identifies the\nproximate cause of the error. Error reasons are unique within a particular\ndomain of errors. This should be at most 63 characters and match a\nregular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents\nUPPER_SNAKE_CASE.","type":"string"}},"title":"ErrorInfo","type":"object"},"FailedEntity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"},"error_code":{"format":"int32","type":"integer"},"error_message":{"type":"string"}},"type":"object"},"FieldSpec":{"description":"FieldSpec represents a field specification.","properties":{"advanced":{"type":"boolean"},"annotated_options":{"items":{"$ref":"#/components/schemas/AnnotatedOption"},"type":"array"},"children":{"items":{"$ref":"#/components/schemas/FieldSpec"},"type":"array"},"default_value":{"type":"string"},"deprecated":{"type":"boolean"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"interpolated":{"items":{"type":"string"},"type":"array"},"kind":{"type":"string"},"name":{"type":"string"},"optional":{"type":"boolean"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"FieldViolation":{"description":"A message type used to describe a single bad request field.","properties":{"description":{"description":"A description of why the request element is bad.","type":"string"},"field":{"description":"A path that leads to a field in the request body. The value will be a\nsequence of dot-separated identifiers that identify a protocol buffer\nfield.\n\nConsider the following:\n\n message CreateContactRequest {\n message EmailAddress {\n enum Type {\n TYPE_UNSPECIFIED = 0;\n HOME = 1;\n WORK = 2;\n }\n\n optional string email = 1;\n repeated EmailType type = 2;\n }\n\n string full_name = 1;\n repeated EmailAddress email_addresses = 2;\n }\n\nIn this example, in proto `field` could take one of the following values:\n\n* `full_name` for a violation in the `full_name` value\n* `email_addresses[1].email` for a violation in the `email` field of the\n first `email_addresses` message\n* `email_addresses[3].type[2]` for a violation in the second `type`\n value in the third `email_addresses` message.\n\nIn JSON, the same values are represented as:\n\n* `fullName` for a violation in the `fullName` value\n* `emailAddresses[1].email` for a violation in the `email` field of the\n first `emailAddresses` message\n* `emailAddresses[3].type[2]` for a violation in the second `type`\n value in the third `emailAddresses` message.","type":"string"},"localized_message":{"$ref":"#/components/schemas/LocalizedMessage"},"reason":{"description":"The reason of the field-level error. This is a constant value that\nidentifies the proximate cause of the field-level error. It should\nuniquely identify the type of the FieldViolation within the scope of the\ngoogle.rpc.ErrorInfo.domain. This should be at most 63\ncharacters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,\nwhich represents UPPER_SNAKE_CASE.","type":"string"}},"type":"object"},"GetConnectClusterResponse":{"properties":{"cluster":{"$ref":"#/components/schemas/ConnectCluster"}},"type":"object"},"GetConnectorConfigResponse":{"properties":{"config":{"additionalProperties":{"type":"string"},"type":"object"}},"type":"object"},"GetConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"GetConnectorStatusResponse":{"properties":{"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"GetKafkaConnectSecretResponse":{"description":"GetKafkaConnectSecretResponse is the response of GetKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"GetMCPServerServiceConfigSchemaResponse":{"properties":{"configuration_yamls":{"description":"The configuration schema for the MCP Server.","items":{"$ref":"#/components/schemas/ConfigurationYAMLSchema"},"type":"array"}},"type":"object"},"GetMountTaskResponse":{"properties":{"task":{"$ref":"#/components/schemas/MountTask"}},"type":"object"},"GetPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"GetPipelineServiceConfigSchemaResponse":{"properties":{"config_schema":{"description":"JSON schema of the configuration components that are allowed for Connect pipelines.","type":"string"}},"type":"object"},"GetPipelinesBySecretsResponse":{"properties":{"pipelines_for_secret":{"items":{"$ref":"#/components/schemas/PipelinesForSecret"},"type":"array"}},"type":"object"},"GetPipelinesForSecretResponse":{"properties":{"pipelines_for_secret":{"$ref":"#/components/schemas/PipelinesForSecret"}},"type":"object"},"GetRoleResponse":{"description":"GetRoleResponse is the response to GetRole.","properties":{"members":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"role":{"$ref":"#/components/schemas/Role"}},"type":"object"},"GetSecretResponse":{"description":"GetSecretResponse is the response of GetSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetTopicConfigurationsResponse":{"properties":{"configurations":{"items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"GetTransformResponse":{"properties":{"transform":{"$ref":"#/components/schemas/TransformMetadata"}},"type":"object"},"Help":{"description":"Provides links to documentation or for performing an out of band action.\n\nFor example, if a quota check failed with an error indicating the calling\nproject hasn't enabled the accessed service, this can contain a URL pointing\ndirectly to the right place in the developer console to flip the bit.","properties":{"links":{"description":"URL(s) pointing to additional information on handling the current error.","items":{"$ref":"#/components/schemas/Link"},"type":"array"}},"title":"Help","type":"object"},"InFlightRequests":{"properties":{"has_more_requests":{"description":"Whether there are more in-flight requests than those in\n`sampled_in_flight_requests`.","type":"boolean"},"sampled_in_flight_requests":{"items":{"$ref":"#/components/schemas/Request"},"title":"A sample (e.g., the 5 latest) of the currently in-flight requests","type":"array"}},"type":"object"},"KafkaConnection":{"properties":{"api_versions":{"additionalProperties":{"format":"int32","type":"integer"},"description":"This map records, for each Kafka API, the highest version number observed\nin requests on this connection. It can be useful for understanding which\nprotocol versions a client supports or has negotiated with the broker.\nOnly APIs that were actually used (i.e. at least one request was seen)\nare included.\n\nExample:\n { 0: 11, 1: 13 }\nmeans that for API key 0 (Produce), version 11 was the highest seen,\nand for API key 1 (Fetch), version 13 was the highest seen.\n\nReference:\n- https://kafka.apache.org/0101/protocol.html#protocol_api_keys\n- https://kafka.apache.org/0101/protocol.html#protocol_compatibility","type":"object"},"authentication_info":{"$ref":"#/components/schemas/AuthenticationInfo"},"client_id":{"description":"Client identifier included in every request sent by the Kafka client.\nThis is typically a configurable property (client.id) set by the\napplication when creating a producer or consumer, and is often used for\nmetrics, quotas, and debugging.","type":"string"},"client_software_name":{"description":"Name of the client library, reported automatically in ApiVersions v3+\nrequests. This is set by the client implementation and is not typically\nconfigurable by applications.","type":"string"},"client_software_version":{"description":"Version of the client library, reported automatically in ApiVersions v3+\nrequests. Like client_software_name, this is set by the\nclient and not usually configurable by applications.","type":"string"},"close_time":{"description":"When the connection was closed. This field is set only when the\nconnection state is \"closed\".","format":"date-time","type":"string"},"group_id":{"description":"Most recent group ID seen in requests sent over this connection. This\ntypically refers to a consumer group, but the Kafka group protocol is\nmore general and may also be used by other types of clients that\ncoordinate membership and assignments through the broker.","type":"string"},"group_instance_id":{"description":"Most recent group instance ID seen in requests sent over this connection.\nThis is used when static membership is enabled, allowing a specific\nclient instance to retain its group membership across restarts.","type":"string"},"group_member_id":{"description":"Most recent group member ID seen in requests sent over this connection.\nThis is the unique identifier assigned by the broker to a particular\nmember of the group.","type":"string"},"idle_duration":{"title":"How long the connection has been idle (no in-flight requests)","type":"string"},"in_flight_requests":{"$ref":"#/components/schemas/InFlightRequests"},"listener_name":{"description":"Name of the Kafka listener that accepted this connection.\nA listener is a named broker endpoint (for example, \"internal\",\n\"external\", or \"sasl_tls\"). Each listener defines its network address and\nenforces its protocol and authentication policy.","type":"string"},"node_id":{"format":"int32","title":"Broker node ID","type":"integer"},"open_time":{"format":"date-time","title":"When the broker accepted the connection","type":"string"},"recent_request_statistics":{"$ref":"#/components/schemas/RequestStatistics"},"shard_id":{"format":"int64","title":"Broker shard that handles the connection","type":"integer"},"source":{"$ref":"#/components/schemas/Source"},"state":{"$ref":"#/components/schemas/KafkaConnectionState"},"tls_info":{"$ref":"#/components/schemas/TLSInfo"},"total_request_statistics":{"$ref":"#/components/schemas/RequestStatistics"},"transactional_id":{"title":"Most recent transactional ID seen in requests sent over this connection","type":"string"},"uid":{"title":"Kafka connection UUID","type":"string"}},"title":"Kafka connection details for a broker","type":"object"},"KafkaConnectionState":{"description":"- KAFKA_CONNECTION_STATE_OPEN: The connection is accepting requests.\n - KAFKA_CONNECTION_STATE_ABORTING: The connection is aborting ongoing requests and about to be closed.\nThis is a transient state between open and closed that should rarely be\nobservable under normal circumstances.\n - KAFKA_CONNECTION_STATE_CLOSED: The connection has been closed.","enum":["KAFKA_CONNECTION_STATE_OPEN","KAFKA_CONNECTION_STATE_ABORTING","KAFKA_CONNECTION_STATE_CLOSED"],"title":"Enums","type":"string"},"Link":{"description":"Describes a URL link.","properties":{"description":{"description":"Describes what the link offers.","type":"string"},"url":{"description":"The URL of the link.","type":"string"}},"type":"object"},"LintHint":{"description":"LintHint is a generic linting hint.","properties":{"column":{"description":"Column number of the lint.","format":"int32","type":"integer"},"hint":{"description":"The hint message.","type":"string"},"line":{"description":"Line number of the lint.","format":"int32","type":"integer"},"lint_type":{"description":"Optional lint type or enum.","type":"string"}},"type":"object"},"LintMCPConfigRequest":{"properties":{"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP tools configuration in YAML format.","type":"object"}},"required":["tools"],"type":"object"},"LintMCPConfigResponse":{"properties":{"lint_hints":{"additionalProperties":{"$ref":"#/components/schemas/LintHint"},"description":"A list of linting issues.","type":"object"}},"type":"object"},"LintPipelineConfigRequest":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format.\nSee the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation\nfor more details.","type":"string"}},"required":["config_yaml"],"type":"object"},"LintPipelineConfigResponse":{"properties":{"lint_hints":{"description":"A list of linting issues.","items":{"$ref":"#/components/schemas/LintHint"},"type":"array"}},"type":"object"},"ListACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListACLsResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/ListACLsResponse.Resource"},"type":"array"}},"type":"object"},"ListACLsResponse.Resource":{"properties":{"acls":{"items":{"$ref":"#/components/schemas/Policy"},"type":"array"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListComponentsResponse":{"properties":{"components":{"$ref":"#/components/schemas/ComponentList"}},"type":"object"},"ListConnectClustersResponse":{"properties":{"clusters":{"items":{"$ref":"#/components/schemas/ConnectCluster"},"type":"array"}},"type":"object"},"ListConnectorTopicsResponse":{"properties":{"topics":{"description":"Topic names.","items":{"type":"string"},"type":"array"}},"type":"object"},"ListConnectorsResponse":{"properties":{"connectors":{"description":"List of connectors, where the parent key is the connector name.","items":{"$ref":"#/components/schemas/ConnectorInfoStatus"},"type":"array"},"next_page_token":{"description":"Page Token to fetch the next page. The value can be used as page_token in the next call to this endpoint.","type":"string"}},"type":"object"},"ListKafkaConnectSecretsResponse":{"description":"ListKafkaConnectSecretsResponse is the response of ListKafkaConnectSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListKafkaConnectionsResponse":{"description":"ListKafkaConnectionsResponse is the response from the ListKafkaConnections\nRPC.","properties":{"connections":{"description":"The list of connections matching the request.\nNote that in addition to open connections, some recently-closed\nconnections may also be included here. If you don't want to include\nclosed connections, set the filter in the request to `state =\nKAFKA_CONNECTION_STATE_OPEN`.","items":{"$ref":"#/components/schemas/KafkaConnection"},"type":"array"},"total_size":{"format":"uint64","title":"Total number of connections matching the request.\nThis may be greater than `len(connections)` if some connections were\nomitted from the response due to the specified (or default) `page_size`.\nExample:\n request.page_size = 10\n response.connections = [\u003c10 items\u003e]\n response.total_size = 13","type":"string"}},"type":"object"},"ListMCPServersRequest.Filter":{"properties":{"display_name_contains":{"description":"Any MCP Server that partially match this name will be returned.","type":"string"},"secret_id":{"description":"Match MCP servers that use this secret ID.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"MCP servers that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListMCPServersResponse":{"properties":{"mcp_servers":{"items":{"$ref":"#/components/schemas/MCPServer"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListMountTasksResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/MountTask"},"type":"array"}},"type":"object"},"ListMountableTopicsResponse":{"properties":{"topics":{"items":{"$ref":"#/components/schemas/TopicLocation"},"type":"array"}},"type":"object"},"ListPipelinesRequest.Filter":{"properties":{"name_contains":{"description":"Any pipelines that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"Pipelines that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListPipelinesResponse":{"properties":{"next_page_token":{"type":"string"},"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"}},"type":"object"},"ListQuotasRequest.Filter":{"properties":{"entity_name":{"description":"Filter by entity name. If unspecified will return all entities for specified entity type.","type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"},"match_default":{"description":"If true, the entity_name will match the default entity (e.g., default client-id).","type":"boolean"}},"type":"object"},"ListQuotasResponse":{"properties":{"page_token":{"description":"Token to retrieve the next page of results. If empty, there are no more results.","type":"string"},"quotas":{"items":{"$ref":"#/components/schemas/QuotaEntry"},"type":"array"}},"type":"object"},"ListResourcesRequest.Filter":{"properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"ListResourcesResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/ListResourcesResponse.Resource"},"type":"array"}},"type":"object"},"ListResourcesResponse.Resource":{"properties":{"display_name":{"type":"string"},"id":{"type":"string"},"type":{"$ref":"#/components/schemas/ListResourcesResponse.Type"}},"type":"object"},"ListResourcesResponse.Type":{"enum":["TYPE_PIPELINE","TYPE_CLUSTER","TYPE_MCP_SERVER","TYPE_AI_AGENT"],"type":"string"},"ListRoleMembersRequest.Filter":{"description":"Filter options.","properties":{"name_contains":{"description":"Filter results to only members with names which contain the string.","type":"string"}},"type":"object"},"ListRoleMembersResponse":{"description":"ListRoleMembersResponse is the response for ListRoleMembers.","properties":{"members":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"role_name":{"description":"The role name.","type":"string"}},"type":"object"},"ListRolesRequest.Filter":{"description":"Filter options.","properties":{"name_contains":{"description":"Filter results to only roles with names which contain the string.","type":"string"},"name_prefix":{"description":"Filter results only roles named with the prefix.","type":"string"},"principal":{"description":"Return only roles assigned to this principal.","type":"string"}},"type":"object"},"ListRolesResponse":{"description":"ListRolesResponse is the response for ListRoles.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"roles":{"description":"The roles in the system.","items":{"$ref":"#/components/schemas/Role"},"type":"array"}},"type":"object"},"ListSecretScopesResponse":{"description":"ListSecretScopesResponse is the response of ListSecretScopes.","properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"}},"type":"object"},"ListSecretsFilter":{"description":"ListSecretsFilter are the filter options for listing secrets.","properties":{"labels[string][string]":{"additionalProperties":{"type":"string"},"description":"The secret labels to search for.","type":"object"},"name_contains":{"description":"Substring match on secret name. Case-sensitive.","type":"string"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes to search for","type":"array"}},"type":"object"},"ListSecretsResponse":{"description":"ListSecretsResponse is the response of ListSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListTopicsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListTopicsResponse":{"properties":{"next_page_token":{"type":"string"},"topics":{"items":{"$ref":"#/components/schemas/ListTopicsResponse.Topic"},"type":"array"}},"type":"object"},"ListTopicsResponse.Topic":{"properties":{"internal":{"description":"Whether topic is internal only.","type":"boolean"},"name":{"description":"Topic name.","type":"string"},"partition_count":{"description":"Topic partition count.","format":"int32","type":"integer"},"replication_factor":{"description":"Topic replication factor.","format":"int32","type":"integer"}},"type":"object"},"ListTransformsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on transform name. Case-sensitive.","type":"string"}},"type":"object"},"ListTransformsResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"transforms":{"items":{"$ref":"#/components/schemas/TransformMetadata"},"type":"array"}},"type":"object"},"ListUsersRequest.Filter":{"properties":{"name":{"description":"Username.","type":"string"},"name_contains":{"description":"Substring match on username. Case-sensitive.","type":"string"}},"type":"object"},"ListUsersResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"users":{"items":{"$ref":"#/components/schemas/ListUsersResponse.User"},"type":"array"}},"type":"object"},"ListUsersResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"}},"type":"object"},"LocalizedMessage":{"description":"Provides a localized error message that is safe to return to the user\nwhich can be attached to an RPC error.","properties":{"locale":{"title":"The locale used following the specification defined at\nhttps://www.rfc-editor.org/rfc/bcp/bcp47.txt.\nExamples are: \"en-US\", \"fr-CH\", \"es-MX\"","type":"string"},"message":{"description":"The localized error message in the above locale.","type":"string"}},"type":"object"},"MCPServer":{"description":"Defines the MCP server resource.","properties":{"description":{"description":"Optional MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"id":{"description":"MCP Server ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"state":{"$ref":"#/components/schemas/MCPServer.State"},"status":{"$ref":"#/components/schemas/MCPServer.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a MCP server resource.\nThey help organize MCP servers and enable filtering when listing them.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"},"url":{"readOnly":true,"title":"URL to connect to the MCP server","type":"string"}},"required":["id","display_name","tools","service_account"],"type":"object"},"MCPServer.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"required":["client_id","client_secret"],"type":"object"},"MCPServer.State":{"description":"State of the MCP server.\n\n - STATE_STARTING: The MCP server is starting.\n - STATE_RUNNING: The MCP server is running.\n - STATE_STOPPING: The MCP server is in the process of stopping.\n - STATE_STOPPED: The MCP server is stopped and in paused state.\n - STATE_ERROR: The MCP server encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"MCPServer.Status":{"description":"MCP server status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"MCPServerCreate":{"description":"MCPServerCreate contains the details for the MCP Server creation request.","properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a MCP server.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"required":["display_name","tools","service_account"],"type":"object"},"MCPServerUpdate":{"properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP servers name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"type":"object"},"MatchingACL":{"properties":{"error":{"$ref":"#/components/schemas/rpc.Status"},"host":{"description":"The host address to use for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"MountTask":{"properties":{"id":{"description":"Unique identifier for this mount task.","format":"int32","type":"integer"},"state":{"$ref":"#/components/schemas/MountTask.State"},"topics":{"description":"List of topics that are being mounted or unmounted.","items":{"$ref":"#/components/schemas/MountTask.Topic"},"type":"array"},"type":{"$ref":"#/components/schemas/MountTask.Type"}},"type":"object"},"MountTask.State":{"description":" - STATE_PLANNED: Planned: The mount task has been created and is awaiting further actions.\n - STATE_PREPARING: Preparing: The mount task is gathering resources and preparing for execution.\n - STATE_PREPARED: Prepared: All preparations are complete, and the mount task is ready to be executed.\n - STATE_EXECUTING: Executing: The mount task is actively transferring or transforming data.\n - STATE_EXECUTED: Executed: The core mount task actions are complete, but the mount task has not yet cut over or finalized.\n - STATE_CUT_OVER: Cut Over: The mount task has reached a critical point where ownership is transferred or final adjustments are made.\n - STATE_FINISHED: Finished: The mount task has been successfully completed, and no further actions are required.\n - STATE_CANCELING: Canceling: The mount task is in the process of being canceled, and rollback or cleanup actions may be in progress.\n - STATE_CANCELLED: Cancelled: The mount task has been fully canceled, and no further actions will be taken.","enum":["STATE_PLANNED","STATE_PREPARING","STATE_PREPARED","STATE_EXECUTING","STATE_EXECUTED","STATE_CUT_OVER","STATE_FINISHED","STATE_CANCELING","STATE_CANCELLED"],"type":"string"},"MountTask.Topic":{"properties":{"source_topic_reference":{"description":"The topic reference in the object storage bucket.\nThis field is only set for tasks of type MOUNT.","type":"string"},"topic_reference":{"description":"The topic reference within the current cluster, which may be either a simple topic name or a full reference\nin the form: cluster-uuid/topic-name/revision.","type":"string"}},"type":"object"},"MountTask.Type":{"description":" - TYPE_MOUNT: Mount represents the process of making topics available in a cluster by loading them from object storage.\n - TYPE_UNMOUNT: Unmount represents the process of offloading topics back to object storage.","enum":["TYPE_MOUNT","TYPE_UNMOUNT"],"type":"string"},"MountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of mount","type":"integer"}},"type":"object"},"Options":{"properties":{"include_tasks":{"description":"Restart connector's tasks.","type":"boolean"},"only_failed":{"description":"Restart only connectors that have failed.","type":"boolean"}},"type":"object"},"ParamDefinition":{"description":"ParamDefinition represents a parameter definition.","properties":{"default_value":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}},"type":"object"},"ParamSpec":{"description":"ParamSpec represents parameter specifications.","properties":{"definitions":{"items":{"$ref":"#/components/schemas/ParamDefinition"},"type":"array"}},"type":"object"},"PartitionStatus":{"enum":["PARTITION_STATUS_RUNNING","PARTITION_STATUS_INACTIVE","PARTITION_STATUS_ERRORED","PARTITION_STATUS_UNKNOWN"],"type":"string"},"PartitionTransformStatus":{"properties":{"broker_id":{"format":"int32","type":"integer"},"lag":{"format":"int32","type":"integer"},"partition_id":{"format":"int32","type":"integer"},"status":{"$ref":"#/components/schemas/PartitionStatus"}},"type":"object"},"PermissionType":{"description":"Whether the operation should be allowed or denied.","enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"},"Pipeline":{"description":"Defines the pipeline resource.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","title":"The pipeline configuration in YAML.\nSee https://docs.redpanda.com/redpanda-connect/configuration/about/","type":"string"},"description":{"description":"Optional pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"id":{"description":"Pipeline ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"state":{"$ref":"#/components/schemas/Pipeline.State"},"status":{"$ref":"#/components/schemas/Pipeline.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a pipeline resource.\nThey help organize pipelines and enable filtering when listing them.","type":"object"},"url":{"description":"URL to connect to the pipeline, for example, via http_server.\nMay be empty if no http_server is used.","type":"string"}},"required":["id","display_name","config_yaml"],"type":"object"},"Pipeline.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"type":"object"},"Pipeline.State":{"description":"State of the pipeline.\n\n - STATE_STARTING: The pipeline is starting.\n - STATE_RUNNING: The pipeline is running.\n - STATE_STOPPING: The pipeline is in the process of stopping.\n - STATE_STOPPED: The pipeline is stopped and in paused state.\n - STATE_ERROR: The pipeline encountered an error. See [Error Handling](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/error_handling/) for further guidance.\n - STATE_COMPLETED: The pipeline has completed the job successfully.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR","STATE_COMPLETED"],"type":"string"},"Pipeline.Status":{"description":"Pipeline status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"PipelineCreate":{"description":"PipelineCreate contains the details for the pipeline creation request.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"PipelineUpdate":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"PipelinesForSecret":{"properties":{"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"Policy":{"properties":{"host":{"description":"The host address for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"}},"type":"object"},"Quota.Value":{"properties":{"value":{"format":"double","type":"number"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"QuotaDeletion":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value_types":{"items":{"$ref":"#/components/schemas/ValueType"},"title":"Value that should be deleted for the specified entity","type":"array"}},"type":"object"},"QuotaEntry":{"description":"QuotaEntry represents the quota for a specific entity type.","properties":{"entity":{"$ref":"#/components/schemas/Entity"},"values":{"items":{"$ref":"#/components/schemas/Quota.Value"},"type":"array"}},"type":"object"},"QuotaFailure":{"description":"Describes how a quota check failed.\n\nFor example if a daily limit was exceeded for the calling project,\na service could respond with a QuotaFailure detail containing the project\nid and the description of the quota limit that was exceeded. If the\ncalling project hasn't enabled the service in the developer console, then\na service could respond with the project id and set `service_disabled`\nto true.\n\nAlso see RetryInfo and Help types for other details about handling a\nquota failure.","properties":{"violations":{"description":"Describes all quota violations.","items":{"$ref":"#/components/schemas/QuotaFailure.Violation"},"type":"array"}},"title":"QuotaFailure","type":"object"},"QuotaFailure.Violation":{"description":"A message type used to describe a single quota violation. For example, a\ndaily quota or a custom quota that was exceeded.","properties":{"api_service":{"description":"The API Service from which the `QuotaFailure.Violation` orginates. In\nsome cases, Quota issues originate from an API Service other than the one\nthat was called. In other words, a dependency of the called API Service\ncould be the cause of the `QuotaFailure`, and this field would have the\ndependency API service name.\n\nFor example, if the called API is Kubernetes Engine API\n(container.googleapis.com), and a quota violation occurs in the\nKubernetes Engine API itself, this field would be\n\"container.googleapis.com\". On the other hand, if the quota violation\noccurs when the Kubernetes Engine API creates VMs in the Compute Engine\nAPI (compute.googleapis.com), this field would be\n\"compute.googleapis.com\".","type":"string"},"description":{"description":"A description of how the quota check failed. Clients can use this\ndescription to find more about the quota configuration in the service's\npublic documentation, or find the relevant quota limit to adjust through\ndeveloper console.\n\nFor example: \"Service disabled\" or \"Daily Limit for read operations\nexceeded\".","type":"string"},"future_quota_value":{"description":"The new quota value being rolled out at the time of the violation. At the\ncompletion of the rollout, this value will be enforced in place of\nquota_value. If no rollout is in progress at the time of the violation,\nthis field is not set.\n\nFor example, if at the time of the violation a rollout is in progress\nchanging the number of CPUs quota from 10 to 20, 20 would be the value of\nthis field.","format":"int64","nullable":true,"type":"string"},"quota_dimensions":{"additionalProperties":{"type":"string"},"description":"The dimensions of the violated quota. Every non-global quota is enforced\non a set of dimensions. While quota metric defines what to count, the\ndimensions specify for what aspects the counter should be increased.\n\nFor example, the quota \"CPUs per region per VM family\" enforces a limit\non the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions\n\"region\" and \"vm_family\". And if the violation occurred in region\n\"us-central1\" and for VM family \"n1\", the quota_dimensions would be,\n\n{\n \"region\": \"us-central1\",\n \"vm_family\": \"n1\",\n}\n\nWhen a quota is enforced globally, the quota_dimensions would always be\nempty.","type":"object"},"quota_id":{"description":"The id of the violated quota. Also know as \"limit name\", this is the\nunique identifier of a quota in the context of an API service.\n\nFor example, \"CPUS-PER-VM-FAMILY-per-project-region\".","type":"string"},"quota_metric":{"description":"The metric of the violated quota. A quota metric is a named counter to\nmeasure usage, such as API requests or CPUs. When an activity occurs in a\nservice, such as Virtual Machine allocation, one or more quota metrics\nmay be affected.\n\nFor example, \"compute.googleapis.com/cpus_per_vm_family\",\n\"storage.googleapis.com/internet_egress_bandwidth\".","type":"string"},"quota_value":{"description":"The enforced quota value at the time of the `QuotaFailure`.\n\nFor example, if the enforced quota value at the time of the\n`QuotaFailure` on the number of CPUs is \"10\", then the value of this\nfield would reflect this quantity.","format":"int64","type":"string"},"subject":{"description":"The subject on which the quota check failed.\nFor example, \"clientip:\u003cip address of client\u003e\" or \"project:\u003cGoogle\ndeveloper project id\u003e\".","type":"string"}},"type":"object"},"QuotaSetting":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"values":{"items":{"$ref":"#/components/schemas/RequestQuotaValue"},"type":"array"}},"type":"object"},"ReplicaAssignment":{"properties":{"partition_id":{"description":"A partition to create.","format":"int32","type":"integer"},"replica_ids":{"description":"The broker IDs the partition replicas are assigned to.","items":{"format":"int32","type":"integer"},"type":"array"}},"type":"object"},"Request":{"properties":{"api_key":{"format":"int32","title":"API key for the request type (e.g., produce/fetch/metadata/etc)\nhttps://kafka.apache.org/0101/protocol.html#protocol_api_keys","type":"integer"},"in_flight_duration":{"title":"How long the request has been in-flight since it was received","type":"string"}},"type":"object"},"RequestQuotaEntity":{"properties":{"entity_name":{"description":"Entity name is the name of the entity type specified.\nIf left empty, the entity will be treated as a default entity (e.g., all clients).\nIf entity_type is ENTITY_TYPE_CLIENT_ID_PREFIX, this field must be set.","type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"RequestQuotaValue":{"properties":{"value":{"format":"double","type":"number"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"RequestStatistics":{"properties":{"fetch_bytes":{"description":"Sum of bytes fetched.","format":"uint64","type":"string"},"produce_batch_count":{"format":"uint64","title":"Number of produced batches.\nAverage batch size = produce_bytes / produce_batch_count","type":"string"},"produce_bytes":{"description":"Sum of bytes produced.","format":"uint64","type":"string"},"request_count":{"description":"Number of requests the client has made.","format":"uint64","type":"string"}},"type":"object"},"ResourcePatternType":{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"},"ResourceType":{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"Role":{"description":"Role defines a role in the system.","properties":{"name":{"description":"The name of the role.","type":"string"}},"type":"object"},"RoleMembership":{"description":"RoleMembership is the role membership.","properties":{"principal":{"description":"The name of the principal assigned to the role.","type":"string"}},"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"Scope":{"description":"Defines the scope of a secret.","enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"Secret":{"description":"Defines the secret resource.","properties":{"id":{"description":"Secret identifier.","readOnly":true,"type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"}},"type":"object"},"SetConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"SetPartitionsToTopicsRequest":{"properties":{"partition_count":{"description":"The number of partitions to set for the topics.","format":"int32","type":"integer"},"topic_names":{"description":"The topic names.","items":{"type":"string"},"type":"array"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"SetPartitionsToTopicsResponse":{"properties":{"statuses":{"description":"The status of the operation for each topic.","items":{"$ref":"#/components/schemas/AlterTopicPartitionStatus"},"type":"array"}},"type":"object"},"SetQuotaRequest":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value":{"$ref":"#/components/schemas/RequestQuotaValue"}},"type":"object"},"SetQuotaResponse":{"type":"object"},"SetTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after this update.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"SetTopicPartitionsBody":{"properties":{"partition_count":{"description":"The number of partitions to set for the topic.","format":"int32","type":"integer"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"SetTopicPartitionsResponse":{"type":"object"},"Source":{"properties":{"ip_address":{"type":"string"},"port":{"format":"int64","type":"integer"}},"type":"object"},"StartMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"StartPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"StopMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"StopPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"SuccessfulEntity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"TLSInfo":{"properties":{"enabled":{"title":"Whether TLS is in use","type":"boolean"}},"type":"object"},"TaskInfo":{"properties":{"connector":{"description":"Name of connector.","type":"string"},"task":{"description":"The connector task ID.","format":"int32","type":"integer"}},"type":"object"},"TaskStatus":{"properties":{"id":{"description":"The connector task ID.","format":"int32","type":"integer"},"state":{"description":"State of connector task.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the task is assigned to.","type":"string"}},"type":"object"},"Tool":{"description":"A configuration tool for the MCP server.","properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_yaml":{"description":"The contents of the configuration tool in YAML format.","type":"string"}},"required":["config_yaml"],"type":"object"},"TopicLocation":{"properties":{"topic_location":{"description":"Full reference for the unmounted topic in this format: `topic-name/cluster-uuid/revision`.\nUse this as unique identifier for mounting a topic if there are multiple topics available\nwith the same name.","type":"string"},"topic_name":{"description":"Topic name.","type":"string"}},"type":"object"},"TopicMount":{"description":"TopicMount defines the migration of a topic from the cloud storage into this cluster,\nso that it becomes available via the Kafka API.","properties":{"alias":{"description":"Alias may be provided to mount the topic under a different name. Leave\nblank to re-use the source topic name. The alias does not persist if you\nunmount the topic again.","type":"string"},"source_topic_reference":{"description":"The topic name or full reference of the topic to mount. The full reference\nmust be used in case the same topic exists more than once. This may be the case if\nthe same topic has been unmounted multiple times. List all mountable topics to\nfind the full reference (contains topic name, cluster uuid and revision).","type":"string"}},"required":["source_topic_reference"],"type":"object"},"TransformMetadata":{"properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"Input topic to apply the transform to.","type":"string"},"name":{"description":"Name of transform.","type":"string"},"output_topic_names":{"description":"Output topics to write the transform results to.","items":{"type":"string"},"type":"array"},"statuses":{"items":{"$ref":"#/components/schemas/PartitionTransformStatus"},"type":"array"}},"type":"object"},"UnmountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of unmount","type":"integer"}},"type":"object"},"UpdateConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"operation":{"$ref":"#/components/schemas/ConfigAlterOperation"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"UpdateKafkaConnectSecretBody":{"description":"UpdateKafkaConnectSecretRequest is the request of UpdateKafkaConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateKafkaConnectSecretResponse":{"description":"UpdateKafkaConnectSecretResponse is the response of UpdateKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"UpdateMountTaskBody":{"properties":{"action":{"$ref":"#/components/schemas/Action"}},"required":["action"],"type":"object"},"UpdateMountTaskResponse":{"type":"object"},"UpdatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"UpdateRoleMembershipBody":{"description":"UpdateRoleMembershipRequest is the request to UpdateRoleMembership.","properties":{"add":{"description":"Members to assign to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"create":{"description":"Create the role if it doesn't already exist.\nIf the role is created in this way, the “add” list will be respected, but the “remove” list will be ignored.","type":"boolean"},"remove":{"description":"Members to remove from the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"}},"type":"object"},"UpdateRoleMembershipResponse":{"description":"UpdateRoleMembershipResponse is the response for UpdateRoleMembership.","properties":{"added":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"removed":{"description":"Members removed from the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"role_name":{"description":"The role name.","type":"string"}},"type":"object"},"UpdateSecretBody":{"description":"UpdateSecretRequest is the request of UpdateSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"type":"object"},"UpdateSecretResponse":{"description":"UpdateSecretResponse is the response of UpdateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after applying this partial patch.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"UpdateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"UpdateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/UpdateUserResponse.User"}},"type":"object"},"UpdateUserResponse.User":{"description":"Updated user's name and SASL mechanism.","properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"type":"string"}},"type":"object"},"UpsertConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"ValueType":{"description":"The type of value that the quota represents.\n\n - VALUE_TYPE_PRODUCER_BYTE_RATE: The rate at which producers can send data.\n - VALUE_TYPE_CONSUMER_BYTE_RATE: The rate at which consumers can fetch data.\n - VALUE_TYPE_CONTROLLER_MUTATION_RATE: The rate at which topic mutation requests can be made.\n - VALUE_TYPE_REQUEST_PERCENTAGE: The percentage of the total throughput that can be used by the entity.\n\nNot supported in Redpanda","enum":["VALUE_TYPE_PRODUCER_BYTE_RATE","VALUE_TYPE_CONSUMER_BYTE_RATE","VALUE_TYPE_CONTROLLER_MUTATION_RATE","VALUE_TYPE_REQUEST_PERCENTAGE"],"type":"string"},"rpc.Status":{"description":"The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).","properties":{"code":{"description":"RPC status code, as described [here](https://github.com/googleapis/googleapis/blob/b4c238feaa1097c53798ed77035bbfeb7fc72e96/google/rpc/code.proto#L32).","enum":["OK","CANCELLED","UNKNOWN","INVALID_ARGUMENT","DEADLINE_EXCEEDED","NOT_FOUND","ALREADY_EXISTS","PERMISSION_DENIED","UNAUTHENTICATED","RESOURCE_EXHAUSTED","FAILED_PRECONDITION","ABORTED","OUT_OF_RANGE","UNIMPLEMENTED","INTERNAL","UNAVAILABLE","DATA_LOSS"],"format":"int32","type":"string"},"details":{"items":{"description":"Details of the error.","oneOf":[{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.BadRequest"],"type":"string"}}},{"$ref":"#/components/schemas/BadRequest"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.ErrorInfo"],"type":"string"}}},{"$ref":"#/components/schemas/ErrorInfo"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.QuotaFailure"],"type":"string"}}},{"$ref":"#/components/schemas/QuotaFailure"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.Help"],"type":"string"}}},{"$ref":"#/components/schemas/Help"}]}]},"type":"array"},"message":{"description":"Detailed error message. No compatibility guarantees are given for the text contained in this message.","type":"string"}},"type":"object"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1"},"openapi":"3.0.3","paths":{"/v1/acls":{"delete":{"description":"Delete all ACLs that match the filter criteria. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_DeleteACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","required":true,"schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","required":true,"schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","required":true,"schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","required":true,"schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete ACLs","tags":["Redpanda ACLs"]},"get":{"description":"List all ACLs. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_ListACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List ACLs","tags":["Redpanda ACLs"]},"post":{"description":"Create a new ACL.","operationId":"ACLService_CreateACL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLResponse"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create ACL","tags":["Redpanda ACLs"]}},"/v1/cloud-storage/mount-tasks":{"get":{"description":"This operation retrieves the status of a task responsible for mounting or unmounting topics. It provides details on the task’s type (mount or unmount), its current state, and the topics involved.","operationId":"CloudStorageService_ListMountTasks","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountTasksResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the mount task status","tags":["Cloud Storage"]}},"/v1/cloud-storage/mount-tasks/{id}":{"delete":{"description":"Delete a mount or unmount by ID.","operationId":"CloudStorageService_DeleteMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to delete.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a mount or unmount","tags":["Cloud Storage"]},"get":{"description":"Retrieves the status of a mount or unmount by ID. The response provides details on the operation type (mount or unmount), its current state, and the topics involved. Use the ID returned when you start the mount or unmount, or use the ListMountTasks endpoint to retrieve a list of IDs.","operationId":"CloudStorageService_GetMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to retrieve.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get the status of a mount or unmount by ID","tags":["Cloud Storage"]},"post":{"description":"This operation allows performing an action on an ongoing mount task.","operationId":"CloudStorageService_UpdateMountTask","parameters":[{"description":"ID is the unique identifier of the mount or unmount to update.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a mount or unmount","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/mount":{"post":{"description":"Attach mountable topics from object storage to a cluster, making them available for consumption and production again. Mounting a topic reloads its data and state to the local brokers, allowing active use of the topic.","operationId":"CloudStorageService_MountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TopicMount"},"required":["topics"],"type":"array"}}},"required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Mount topics from object storage","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/mountable":{"get":{"description":"Retrieve all topics that are currently unmounted and available to be mounted to the cluster. These topics reside in object storage and can be mounted for consumption or production within the cluster.","operationId":"CloudStorageService_ListMountableTopics","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountableTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List mountable topics","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/unmount":{"post":{"description":"Unmount topics to object storage, freeing up all local cluster resources. Once you unmount a topic, it can no longer be consumed or produced to. It detaches from the active cluster while its data remains safely stored in the external object storage.","operationId":"CloudStorageService_UnmountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"required":["topics"],"type":"array"}}},"description":"List of topics to unmount.","required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnmountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Unmount topics to object storage","tags":["Cloud Storage"]}},"/v1/kafka-connect/clusters":{"get":{"description":"List Connect clusters available in Console.","operationId":"KafkaConnectService_ListConnectClusters","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectClustersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect clusters","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}":{"get":{"description":"Get information about an available Kafka Connect cluster.","operationId":"KafkaConnectService_GetConnectCluster","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCluster"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Connect cluster not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect cluster","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors":{"get":{"description":"List connectors managed by the Kafka Connect service.","operationId":"KafkaConnectService_ListConnectors","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connectors","tags":["Kafka Connect"]},"post":{"description":"Create a connector with the specified configuration.","operationId":"KafkaConnectService_CreateConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"required":true,"x-originalParamName":"connector"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}":{"delete":{"description":"Delete a connector. This operation force stops all tasks and also deletes the connector configuration.","operationId":"KafkaConnectService_DeleteConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete connector","tags":["Kafka Connect"]},"get":{"description":"Get information about a connector in a specific cluster.","operationId":"KafkaConnectService_GetConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/config":{"get":{"description":"Get the configuration for the connector.","operationId":"KafkaConnectService_GetConnectorConfig","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector configuration","tags":["Kafka Connect"]},"put":{"description":"Update the configuration for an existing connector with the specified name, or create a new connector using the given configuration. Returns information about the connector after the change has been made.","operationId":"KafkaConnectService_UpsertConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector. If a connector with this name does not already exist, a new connector is created.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"required":["config"],"type":"object"}}},"description":"Connector configuration property.","required":true,"x-originalParamName":"config"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Updated"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Upsert connector configuration","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/pause":{"put":{"description":"Pause the connector and its tasks, which stops messages from processing until the connector is resumed. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_PauseConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Pause request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Pause connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/restart":{"post":{"description":"Triggers a connector restart. You must specify whether or not tasks are also restarted, and whether only failed connectors are restarted.","operationId":"KafkaConnectService_RestartConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Options"}}},"required":true,"x-originalParamName":"options"},"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Restart connector request success"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Restart connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/resume":{"put":{"description":"Resume a paused connector and its tasks, and resumes message processing. This call is asynchronous and may take some time to process. If the connector was not paused, this operation does not do anything.","operationId":"KafkaConnectService_ResumeConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Resume request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Resume connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/status":{"get":{"description":"Gets the current status of the connector, including the state for each of its tasks, error information, etc.","operationId":"KafkaConnectService_GetConnectorStatus","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorStatus"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector status","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/stop":{"put":{"description":"Stops a connector, but does not delete it. All tasks for the connector are shut down completely. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_StopConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics":{"get":{"description":"Returns a list of connector topic names. If the connector is inactive, this call returns an empty list.","operationId":"KafkaConnectService_ListConnectorTopics","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connector topics","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics/reset":{"put":{"description":"Resets the set of topic names that the connector is using.","operationId":"KafkaConnectService_ResetConnectorTopics","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector using the topics to be reset.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Reset connector topics","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/secrets":{"get":{"description":"List Kafka Connect cluster secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListKafkaConnectSecrets","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string][string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect cluster secrets","tags":["Secrets"]},"post":{"description":"Create a Kafka Connect cluster secret.","operationId":"SecretService_CreateKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKafkaConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetKafkaConnectSecretResponse"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Connect cluster secret","tags":["Secrets"]}},"/v1/kafka-connect/clusters/{cluster_name}/secrets/{id}":{"delete":{"description":"Delete a Kafka Connect cluster secret.","operationId":"SecretService_DeleteKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Connect cluster secret","tags":["Secrets"]},"get":{"description":"Get a specific Kafka Connect cluster secret.","operationId":"SecretService_GetKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"The ID of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetKafkaConnectSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect cluster secret","tags":["Secrets"]},"put":{"description":"Update a Kafka Connect cluster secret.","operationId":"SecretService_UpdateKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to update.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKafkaConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKafkaConnectSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Connect cluster secret","tags":["Secrets"]}},"/v1/monitoring/kafka/connections":{"get":{"description":"List information on recent connections to the cluster.","operationId":"MonitoringService_ListKafkaConnections","parameters":[{"description":"The maximum number of connections to return. If unspecified or 0, a\ndefault value may be applied. The server may return fewer connections\nthan requested due to memory constraints; the limit is set to allow\nlisting all connections for a single broker. Consider filtering by\nnode_id to view connections for specific brokers. Note that paging is\ncurrently not fully supported, and this field only acts as a limit for\nthe first page of data returned. Subsequent pages of data cannot be\nrequested.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Filter expression to apply to the connection list.\nUses a subset of AIP-160 filter syntax supporting:\n- Field comparisons (`=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, `\u003e=`)\n- Logical AND chaining: condition1 AND condition2\n- Nested field access: parent.child = value\n- Escape sequences: field = \"string with \\\"quotes\\\"\"\n- Enum types\n- RFC3339 timestamps and ISO-like duration\n\nLimitations (not supported):\n- Logical OR chaining\n- Parentheses `(` `)` for grouping\n- Map and repeated types\n- HAS (:) operator\n- Negation (-, NOT)\n- Bare literal matching\n\nExample filters:\n- `state = KAFKA_CONNECTION_STATE_OPEN`\n- `idle_duration \u003e 30s AND total_request_statistics.request_count \u003e 100`\n- `authentication_info.user_principal = \"my-producer\"`\n- `recent_request_statistics.produce_bytes \u003e 1000 AND\nclient_software_name = \"kgo\"`\n- `open_time \u003e= 2025-09-01T10:22:54Z`\n\nReference: https://google.aip.dev/160","in":"query","name":"filter","schema":{"type":"string"}},{"description":"Field-based ordering specification following AIP-132 syntax.\nSupports multiple fields with `asc`/`desc` direction indicators.\nExamples:\n- `idle_duration desc` - longest idle connections first\n- `open_time desc, total_request_statistics.request_count desc` - newest\nconnections first, then most active\n- `recent_request_statistics.produce_bytes desc` - connections with\nhighest current produce throughput first\n\nReference: https://google.aip.dev/132#ordering","in":"query","name":"order_by","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListKafkaConnectionsResponse"}}},"description":"Recent connections"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Recent Connections","tags":["Monitoring"]}},"/v1/quotas":{"get":{"description":"List client quotas. Use filter parameters to narrow results by entity type and filter criteria.","operationId":"QuotaService_ListQuotas","parameters":[{"description":"The type of entity to filter by. If unspecified, all entities will be returned.\n\n - ENTITY_TYPE_USER: Not supported in Redpanda\n - ENTITY_TYPE_IP: Not supported in Redpanda","in":"query","name":"filter.entity_type","schema":{"enum":["ENTITY_TYPE_CLIENT_ID","ENTITY_TYPE_CLIENT_ID_PREFIX","ENTITY_TYPE_USER","ENTITY_TYPE_IP"],"type":"string"}},{"description":"Filter by entity name. If unspecified will return all entities for specified entity type.","in":"query","name":"filter.entity_name","schema":{"type":"string"}},{"description":"If true, the entity_name will match the default entity (e.g., default client-id).","in":"query","name":"filter.match_default","schema":{"type":"boolean"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListQuotasResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List quotas","tags":["Quotas"]},"post":{"description":"Create or update client throughput quotas for a single entity. This operation is an upsert.","operationId":"QuotaService_SetQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetQuotaResponse"}}},"description":"Quota Set"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set a quota","tags":["Quotas"]}},"/v1/quotas:batchDelete":{"post":{"description":"Delete client quotas for multiple entities and values in a single request.","operationId":"QuotaService_BatchDeleteQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteQuotaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete multiple quotas","tags":["Quotas"]}},"/v1/quotas:batchSet":{"post":{"description":"Create or update client throughput quotas for multiple entities in a single request.","operationId":"QuotaService_BatchSetQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSetQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSetQuotaResponse"}}},"description":"Quotas Set"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set multiple quotas","tags":["Quotas"]}},"/v1/quotas:delete":{"post":{"description":"Delete client quotas for single entity and value.","operationId":"QuotaService_DeleteQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteQuotaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a quota","tags":["Quotas"]}},"/v1/redpanda-connect/components":{"get":{"description":"Returns a JSON list of available [components](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about), filtered by component type.","operationId":"PipelineService_ListComponents","parameters":[{"in":"query","name":"read_mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListComponentsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the list of available components","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/config-schema":{"get":{"description":"The configuration schema includes available [components and processors](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about) in this Redpanda Connect instance.","operationId":"PipelineService_GetPipelineServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelineServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect pipeline configurations","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/mcp-servers":{"get":{"description":"List Redpanda Connect MCP Servers. Optional: filter based on MCP server name.","operationId":"MCPServerService_ListMCPServers","parameters":[{"description":"Any MCP Server that partially match this name will be returned.","in":"query","name":"filter.display_name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"description":"Match MCP servers that use this secret ID.","in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMCPServersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect MCP Servers","tags":["Redpanda Connect MCP servers"]},"post":{"description":"Create a new Redpanda Connect MCP Server.","operationId":"MCPServerService_CreateMCPServer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerCreate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}":{"delete":{"description":"Delete a Redpanda Connect MCP server.","operationId":"MCPServerService_DeleteMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"get":{"description":"Get a specific Redpanda Connect MCP server.","operationId":"MCPServerService_GetMCPServer","parameters":[{"description":"MCP server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"put":{"description":"Update the configuration of a Redpanda Connect MCP server.","operationId":"MCPServerService_UpdateMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerUpdate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}:start":{"post":{"description":"Start a stopped Redpanda Connect MCP server.","operationId":"MCPServerService_StartMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}:stop":{"post":{"description":"Stop a running Redpanda Connect MCP server.","operationId":"MCPServerService_StopMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers:getConfigSchema":{"get":{"description":"The configuration schema includes available components and processors in this Redpanda Connect MCP Server instance.","operationId":"MCPServerService_GetMCPServerServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMCPServerServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect MCP Servers configurations.","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect MCP tools YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"MCPServerService_LintMCPConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect MCP tools configuration","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/pipelines":{"get":{"description":"List Redpanda Connect pipelines. Optional: filter based on pipeline name.","operationId":"PipelineService_ListPipelines","parameters":[{"description":"Any pipelines that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPipelinesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect pipelines","tags":["Redpanda Connect Pipelines"]},"post":{"description":"Create a new Redpanda Connect pipeline.","operationId":"PipelineService_CreatePipeline","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineCreate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines-by-secrets":{"get":{"description":"Get Redpanda Connect pipelines by secrets.","operationId":"PipelineService_GetPipelinesBySecrets","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesBySecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines by secrets","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines-for-secret":{"get":{"description":"Get Redpanda Connect pipelines for a given secret.","operationId":"PipelineService_GetPipelinesForSecret","parameters":[{"description":"Secret ID.","in":"query","name":"secret_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesForSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines for secret","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}":{"delete":{"description":"Delete a Redpanda Connect pipeline.","operationId":"PipelineService_DeletePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]},"get":{"description":"Get a specific Redpanda Connect pipeline.","operationId":"PipelineService_GetPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]},"put":{"description":"Update the [configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) of a Redpanda Connect pipeline.","operationId":"PipelineService_UpdatePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineUpdate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}/start":{"put":{"description":"Start a stopped Redpanda Connect pipeline.","operationId":"PipelineService_StartPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}/stop":{"put":{"description":"Stop a running Redpanda Connect pipeline.","operationId":"PipelineService_StopPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect pipeline YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"PipelineService_LintPipelineConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintPipelineConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintPipelineConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect pipeline configuration","tags":["Redpanda Connect Pipelines"]}},"/v1/roles":{"get":{"description":"List roles. Optional: filter based on role name and principal.","operationId":"SecurityService_ListRoles","parameters":[{"description":"Filter results only roles named with the prefix.","in":"query","name":"filter.name_prefix","schema":{"type":"string"}},{"description":"Filter results to only roles with names which contain the string.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Return only roles assigned to this principal.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"Page size.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRolesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List roles","tags":["Security"]},"post":{"description":"Create a role.","operationId":"SecurityService_CreateRole","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"description":"The role to create.","required":true,"x-originalParamName":"role"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleResponse"}}},"description":"Role created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create role","tags":["Security"]}},"/v1/roles/{role_name}":{"delete":{"description":"Delete a role.","operationId":"SecurityService_DeleteRole","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}},{"description":"Whether to delete the ACLs bound to the role.","in":"query","name":"delete_acls","schema":{"type":"boolean"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Role deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete role","tags":["Security"]},"get":{"description":"Get a role.","operationId":"SecurityService_GetRole","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRoleResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get role","tags":["Security"]},"put":{"description":"Update a role.","operationId":"SecurityService_UpdateRoleMembership","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleMembershipBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleMembershipResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update role","tags":["Security"]}},"/v1/roles/{role_name}/members":{"get":{"description":"List members assigned to a role.","operationId":"SecurityService_ListRoleMembers","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}},{"description":"Filter results to only members with names which contain the string.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Page size.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRoleMembersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List role members","tags":["Security"]}},"/v1/secret-scopes":{"get":{"description":"List supported secret scopes.","operationId":"SecretService_ListSecretScopes","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretScopesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List secret scopes","tags":["Secrets"]}},"/v1/secrets":{"get":{"description":"List secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListSecrets","parameters":[{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List secrets","tags":["Secrets"]},"post":{"description":"Create a secret.","operationId":"SecretService_CreateSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretRequest"}}},"description":"CreateSecretRequest is the request of CreateSecret.","required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretResponse"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create secret","tags":["Secrets"]}},"/v1/secrets/resources":{"get":{"description":"Get resources by secret.","operationId":"SecretService_ListResources","parameters":[{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResourcesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get resources by secret","tags":["Secrets"]}},"/v1/secrets/{id}":{"delete":{"description":"Delete a secret.","operationId":"SecretService_DeleteSecret","parameters":[{"description":"The id of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete secret","tags":["Secrets"]},"get":{"description":"Get a secret.","operationId":"SecretService_GetSecret","parameters":[{"description":"The id of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get secret","tags":["Secrets"]},"put":{"description":"Update a secret.","operationId":"SecretService_UpdateSecret","parameters":[{"description":"Secret identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update secret","tags":["Secrets"]}},"/v1/topics":{"get":{"description":"List topics, with partition count and replication factor. Optional: filter based on topic name.","operationId":"TopicService_ListTopics","parameters":[{"description":"Substring match on topic name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List topics","tags":["Topics"]},"post":{"description":"Create a [topic](https://docs.redpanda.com/redpanda-cloud/get-started/create-topic/).","operationId":"TopicService_CreateTopic","parameters":[{"description":"If true, makes this request a dry run; everything is validated but\nno topics are actually created.","in":"query","name":"validate_only","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicRequest.Topic"}}},"description":"The topic to create.","required":true,"x-originalParamName":"topic"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicResponse"}}},"description":"Topic created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create topic","tags":["Topics"]}},"/v1/topics-partitions":{"patch":{"description":"Add partitions to existing topics. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_AddPartitionsToTopics","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPartitionsToTopicsRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPartitionsToTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Add topic partitions","tags":["Topics"]},"put":{"description":"Set partition counts for existing topics. New value must be equal to or larger than the current count of partitions in the topic. All topics will have the same final count of partitions. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_SetPartitionsToTopics","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPartitionsToTopicsRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPartitionsToTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic partitions","tags":["Topics"]}},"/v1/topics/{topic_name}":{"delete":{"description":"Delete the Kafka topic with the requested name.","operationId":"TopicService_DeleteTopic","parameters":[{"description":"Topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Topic deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Requested topic does not exist"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete topic","tags":["Topics"]}},"/v1/topics/{topic_name}/configurations":{"get":{"description":"Get key-value configs for a topic.","operationId":"TopicService_GetTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get topic configurations","tags":["Topics"]},"patch":{"description":"Update a subset of the topic configurations.","operationId":"TopicService_UpdateTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UpdateConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update topic configuration","tags":["Topics"]},"put":{"description":"Update the entire set of key-value configurations for a topic. Config entries that are not provided in the request are removed and will fall back to their default values.","operationId":"TopicService_SetTopicConfigurations","parameters":[{"description":"Name of topic.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SetConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic configurations","tags":["Topics"]}},"/v1/topics/{topic_name}/partitions":{"patch":{"description":"Add partitions to an existing topic. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_AddTopicPartitions","parameters":[{"description":"The topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTopicPartitionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTopicPartitionsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Add topic partitions","tags":["Topics"]},"put":{"description":"Set partitions to an existing topic. New value must be equal to or larger than the current count of partitions in the topic. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_SetTopicPartitions","parameters":[{"description":"The topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicPartitionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicPartitionsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic partitions","tags":["Topics"]}},"/v1/transforms":{"get":{"description":"Retrieve a list of Wasm transforms. Optional: filter based on transform name.","operationId":"TransformService_ListTransforms","parameters":[{"description":"Substring match on transform name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","transforms":[{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic11","output-topic12"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]},{"environment_variables":[],"input_topic_name":"topic2","name":"transform2","output_topic_names":["output-topic21","output-topic22"],"statuses":[{"broker_id":2,"lag":2,"partition_id":2,"status":"PARTITION_STATUS_RUNNING"}]}]},"schema":{"$ref":"#/components/schemas/ListTransformsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List transforms","tags":["Wasm Transforms"]},"put":{"description":"Initiate deployment of a new Wasm transform. This endpoint uses multipart/form-data encoding. Following deployment, a brief period is required before the Wasm transform becomes operational. Monitor the partition statuses to check whether the transform is active. This usually takes around 3s, but no longer than 10s.","operationId":"TransformService_DeployTransform","requestBody":{"content":{"multipart/form-data":{"schema":{"example":"{\"name\":\"redact-orders\",\"input_topic_name\":\"orders\",\"output_topic_names\":[\"orders-redacted\"],\"environment_variables\":[{\"key\":\"LOGGER_LEVEL\",\"value\":\"DEBUG\"}]}","properties":{"metadata":{"$ref":"#/components/schemas/DeployTransformRequest"},"wasm_binary":{"description":"Binary file containing the compiled WASM transform. The maximum size for this file is 10MiB.","format":"binary","type":"string"}},"type":"object"}}},"description":"Transform metadata as well as the WASM binary","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransformMetadata"}}},"description":"Created"}},"summary":"Deploy Transform","tags":["Wasm Transforms"]}},"/v1/transforms/{name}":{"delete":{"description":"Delete a Wasm transform with the requested name.","operationId":"TransformService_DeleteTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"Transform deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete transform","tags":["Wasm Transforms"]},"get":{"description":"Get a specific Wasm transform.","operationId":"TransformService_GetTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"transform":{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic1","output-topic2"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]}},"schema":{"$ref":"#/components/schemas/GetTransformResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get transform","tags":["Wasm Transforms"]}},"/v1/users":{"get":{"description":"List users. Optional: filter based on username.","operationId":"UserService_ListUsers","parameters":[{"description":"Username.","in":"query","name":"filter.name","schema":{"type":"string"}},{"description":"Substring match on username. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","users":[{"name":"payment-service"},{"name":"jane"}]},"schema":{"$ref":"#/components/schemas/ListUsersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List users","tags":["Redpanda Users"]},"post":{"description":"Create a new user.","operationId":"UserService_CreateUser","requestBody":{"content":{"application/json":{"example":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service","password":"secure-password"},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"required":true,"x-originalParamName":"user"},"responses":{"201":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"description":"User created"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create user","tags":["Redpanda Users"]}},"/v1/users/{name}":{"delete":{"description":"Delete the specified user","operationId":"UserService_DeleteUser","parameters":[{"description":"Username","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"User deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"example":{"code":"NOT_FOUND","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_RESOURCE_NOT_FOUND"}],"message":"user not found"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete user","tags":["Redpanda Users"]}},"/v1/users/{user.name}":{"put":{"description":"Update a user's credentials.","operationId":"UserService_UpdateUser","parameters":[{"description":"Username.","in":"path","name":"user.name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","password":"new-password"}},"schema":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"password":{"description":"Password.","type":"string"}},"type":"object"}}},"required":true,"x-originalParamName":"user"},"responses":{"200":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/UpdateUserResponse.User"}}},"description":"OK"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update user","tags":["Redpanda Users"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Manage Redpanda access control lists (ACLs). See [Redpanda Cloud Authorization](https://docs.redpanda.com/redpanda-cloud/security/authorization/cloud-authorization/) for more information.","name":"Redpanda ACLs"},{"description":"Manage Redpanda topics stored in object storage. See: [Mountable Topics](https://docs.redpanda.com/redpanda-cloud/manage/mountable-topics/)","name":"Cloud Storage"},{"description":"Manage Wasm transforms in Redpanda.","name":"Wasm Transforms"},{"description":"Manage [connectors](https://docs.redpanda.com/redpanda-cloud/develop/managed-connectors/) and interact with the Kafka Connect API.","name":"Kafka Connect"},{"description":"Create and manage [Redpanda Connect](https://docs.redpanda.com/redpanda-cloud/develop/connect/about) pipelines and their configurations.","name":"Redpanda Connect Pipelines"},{"description":"Create and manage Redpanda Connect MCP servers and their configurations.","name":"Redpanda Connect MCP servers"},{"description":"Monitoring operations for Redpanda.","name":"Monitoring"},{"description":"Manage client throughput limits. See [Redpanda Client Throughput Limits](https://docs.redpanda.com/current/manage/cluster-maintenance/manage-throughput/#client-throughput-limits) for more information.","name":"Quotas"},{"description":"Manage [secrets](https://docs.redpanda.com/redpanda-cloud/security/secrets) for Redpanda Cloud.","name":"Secrets"},{"description":"Manage Redpanda roles.","name":"Security"},{"description":"Manage Redpanda topics.","name":"Topics"},{"description":"Manage Redpanda users. For more information, see [Role-Based Access Control](https://docs.redpanda.com/redpanda-cloud/security/authorization/rbac/).","name":"Redpanda Users"}]} \ No newline at end of file +{"components":{"schemas":{"ACL.Operation":{"description":"The operation that is allowed or denied (e.g. READ).","enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"},"Action":{"enum":["ACTION_PREPARE","ACTION_EXECUTE","ACTION_FINISH","ACTION_CANCEL"],"type":"string"},"AddPartitionsToTopicsRequest":{"properties":{"partition_count":{"description":"The number of partitions to add for the topics.","format":"int32","type":"integer"},"topic_names":{"description":"The topic names.","items":{"type":"string"},"type":"array"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"AddPartitionsToTopicsResponse":{"properties":{"statuses":{"description":"The status of the operation for each topic.","items":{"$ref":"#/components/schemas/AlterTopicPartitionStatus"},"type":"array"}},"type":"object"},"AddTopicPartitionsBody":{"properties":{"partition_count":{"description":"The number of partitions to add to the topic.","format":"int32","type":"integer"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"AddTopicPartitionsResponse":{"type":"object"},"AlterTopicPartitionStatus":{"properties":{"error":{"description":"The error if any.","type":"string"},"success":{"description":"Whether the operation was successful.","type":"boolean"},"topic_name":{"description":"The topic name.","type":"string"}},"type":"object"},"AnnotatedOption":{"properties":{"description":{"type":"string"},"value":{"type":"string"}},"title":"AnnotatedOption represents an annotated option","type":"object"},"AuthenticationInfo":{"properties":{"mechanism":{"$ref":"#/components/schemas/AuthenticationMechanism"},"state":{"$ref":"#/components/schemas/AuthenticationState"},"user_principal":{"title":"Authenticated user principal","type":"string"}},"title":"Other Messages","type":"object"},"AuthenticationMechanism":{"enum":["AUTHENTICATION_MECHANISM_MTLS","AUTHENTICATION_MECHANISM_SASL_SCRAM","AUTHENTICATION_MECHANISM_SASL_OAUTHBEARER","AUTHENTICATION_MECHANISM_SASL_PLAIN","AUTHENTICATION_MECHANISM_SASL_GSSAPI"],"title":"- AUTHENTICATION_MECHANISM_MTLS: Mutual TLS using client certificates\n - AUTHENTICATION_MECHANISM_SASL_SCRAM: SASL SCRAM\n - AUTHENTICATION_MECHANISM_SASL_OAUTHBEARER: SASL OAUTHBEARER (OAuth 2.0 / OpenID Connect)\n - AUTHENTICATION_MECHANISM_SASL_PLAIN: SASL PLAIN (username/password in plaintext)\n - AUTHENTICATION_MECHANISM_SASL_GSSAPI: SASL GSSAPI (Kerberos)","type":"string"},"AuthenticationState":{"enum":["AUTHENTICATION_STATE_UNAUTHENTICATED","AUTHENTICATION_STATE_SUCCESS","AUTHENTICATION_STATE_FAILURE"],"type":"string"},"BadRequest":{"description":"Describes violations in a client request. This error type focuses on the\nsyntactic aspects of the request.","properties":{"field_violations":{"description":"Describes all violations in a client request.","items":{"$ref":"#/components/schemas/FieldViolation"},"type":"array"}},"title":"BadRequest","type":"object"},"BatchDeleteQuotaRequest":{"properties":{"deletions":{"items":{"$ref":"#/components/schemas/QuotaDeletion"},"type":"array"}},"type":"object"},"BatchDeleteQuotaResponse":{"properties":{"failed_entities":{"items":{"$ref":"#/components/schemas/FailedEntity"},"type":"array"},"successful_entities":{"items":{"$ref":"#/components/schemas/SuccessfulEntity"},"type":"array"}},"type":"object"},"BatchSetQuotaRequest":{"properties":{"settings":{"description":"A list of quota settings to apply. Each setting pairs an entity\nwith the specific values to be set for it.","items":{"$ref":"#/components/schemas/QuotaSetting"},"type":"array"}},"type":"object"},"BatchSetQuotaResponse":{"properties":{"failed_entities":{"items":{"$ref":"#/components/schemas/FailedEntity"},"type":"array"},"successful_entities":{"items":{"$ref":"#/components/schemas/SuccessfulEntity"},"type":"array"}},"type":"object"},"BloblangFunctionSpec":{"description":"BloblangFunctionSpec represents a Bloblang function specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"params":{"$ref":"#/components/schemas/ParamSpec"},"status":{"type":"string"},"version":{"type":"string"}},"type":"object"},"BloblangMethodSpec":{"description":"BloblangMethodSpec represents a Bloblang method specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"params":{"$ref":"#/components/schemas/ParamSpec"},"status":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ComponentList":{"description":"ComponentList contains the structured component data.","properties":{"bloblang_functions":{"items":{"$ref":"#/components/schemas/BloblangFunctionSpec"},"type":"array"},"bloblang_methods":{"items":{"$ref":"#/components/schemas/BloblangMethodSpec"},"type":"array"},"buffers":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"caches":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"inputs":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"metrics":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"outputs":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"processors":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"rate_limits":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"scanners":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"tracers":{"items":{"$ref":"#/components/schemas/ComponentSpec"},"type":"array"},"version":{"type":"string"}},"type":"object"},"ComponentSpec":{"description":"ComponentSpec represents a component specification.","properties":{"categories":{"items":{"type":"string"},"type":"array"},"config":{"$ref":"#/components/schemas/FieldSpec"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"footnotes":{"type":"string"},"name":{"type":"string"},"status":{"$ref":"#/components/schemas/ComponentStatus"},"summary":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ComponentStatus":{"description":"ComponentStatus represents the stability level of a component.","enum":["COMPONENT_STATUS_STABLE","COMPONENT_STATUS_BETA","COMPONENT_STATUS_EXPERIMENTAL","COMPONENT_STATUS_DEPRECATED"],"type":"string"},"ComponentType":{"description":"Component type for this tool.","enum":["COMPONENT_TYPE_PROCESSOR","COMPONENT_TYPE_CACHE","COMPONENT_TYPE_INPUT","COMPONENT_TYPE_OUTPUT"],"type":"string"},"Config":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigAlterOperation":{"enum":["CONFIG_ALTER_OPERATION_SET","CONFIG_ALTER_OPERATION_DELETE","CONFIG_ALTER_OPERATION_APPEND","CONFIG_ALTER_OPERATION_SUBTRACT"],"type":"string"},"ConfigSource":{"enum":["CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG","CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG","CONFIG_SOURCE_STATIC_BROKER_CONFIG","CONFIG_SOURCE_DEFAULT_CONFIG","CONFIG_SOURCE_DYNAMIC_BROKER_LOGGER_CONFIG"],"type":"string"},"ConfigSynonym":{"properties":{"name":{"type":"string"},"source":{"$ref":"#/components/schemas/ConfigSource"},"value":{"nullable":true,"type":"string"}},"type":"object"},"ConfigType":{"enum":["CONFIG_TYPE_BOOLEAN","CONFIG_TYPE_STRING","CONFIG_TYPE_INT","CONFIG_TYPE_SHORT","CONFIG_TYPE_LONG","CONFIG_TYPE_DOUBLE","CONFIG_TYPE_LIST","CONFIG_TYPE_CLASS","CONFIG_TYPE_PASSWORD"],"type":"string"},"Configuration":{"properties":{"config_synonyms":{"description":"If no config value is set at the topic level, it will inherit the value\nset at the broker or cluster level. `name` is the corresponding config\nkey whose value is inherited. `source` indicates whether the inherited\nconfig is default, broker, etc.","items":{"$ref":"#/components/schemas/ConfigSynonym"},"type":"array"},"documentation":{"description":"Config documentation.","nullable":true,"type":"string"},"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"read_only":{"description":"Whether the config is read-only, or is dynamic and can be altered.","type":"boolean"},"sensitive":{"description":"Whether this is a sensitive config key and value.","type":"boolean"},"source":{"$ref":"#/components/schemas/ConfigSource"},"type":{"$ref":"#/components/schemas/ConfigType"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"ConfigurationYAMLSchema":{"properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_schema":{"description":"JSON schema of the configuration components that are allowed for MCP Servers.","type":"string"}},"type":"object"},"ConnectCluster":{"properties":{"address":{"description":"The host address of the Kafka Connect cluster.","type":"string"},"info":{"$ref":"#/components/schemas/ConnectCluster.Info"},"name":{"description":"Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`.","type":"string"},"plugins":{"items":{"$ref":"#/components/schemas/ConnectorPlugin"},"type":"array"}},"type":"object"},"ConnectCluster.Info":{"properties":{"commit":{"description":"The git commit ID of the connect worker source code.","type":"string"},"kafka_cluster_id":{"description":"Cluster ID.","type":"string"},"version":{"description":"Connect worker version.","type":"string"}},"type":"object"},"Connector":{"properties":{"state":{"description":"State of the connector instance.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the connector is assigned to.","type":"string"}},"type":"object"},"ConnectorError":{"properties":{"content":{"description":"Detailed description of the error.","type":"string"},"title":{"description":"Short description of the error.","type":"string"},"type":{"$ref":"#/components/schemas/ConnectorError.Type"}},"title":"ConnectorError is the error of a connector, this is holistic error\nabstraction, made parsing the error trace of connector or Task","type":"object"},"ConnectorError.Type":{"description":"Error level.","enum":["TYPE_ERROR","TYPE_WARNING"],"type":"string"},"ConnectorHolisticState":{"description":"State of a connector or one of its tasks, as described in the [Kafka Connect documentation](https://kafka.apache.org/documentation.html#connect_administration). Takes into account not just the state of the connector instance itself, but also the tasks within the connector.\n\n - CONNECTOR_HOLISTIC_STATE_PAUSED: The connector or task has been administratively paused.\n - CONNECTOR_HOLISTIC_STATE_RESTARTING: The connector or task is restarting.\n - CONNECTOR_HOLISTIC_STATE_DESTROYED: The connector is destroyed, regardless of any tasks.\n - CONNECTOR_HOLISTIC_STATE_STOPPED: The connector or task has been stopped.\n - CONNECTOR_HOLISTIC_STATE_UNASSIGNED: - The connector or task has not yet been assigned to a worker,\n- THe connector is running, but there are unassigned tasks.\n - CONNECTOR_HOLISTIC_STATE_HEALTHY: The connector is running, \u003e 0 tasks, all of them in running state.\n - CONNECTOR_HOLISTIC_STATE_UNHEALTHY: - The connector has failed,\n- The connector is running, but has no tasks,\n- Connector is running and has tasks, but all tasks have failed.\n - CONNECTOR_HOLISTIC_STATE_DEGRADED: The connector is running and has tasks, and at least one task, but not all, have failed.\n - CONNECTOR_HOLISTIC_STATE_UNKNOWN: The connector or task state could not be determined.","enum":["CONNECTOR_HOLISTIC_STATE_PAUSED","CONNECTOR_HOLISTIC_STATE_RESTARTING","CONNECTOR_HOLISTIC_STATE_DESTROYED","CONNECTOR_HOLISTIC_STATE_STOPPED","CONNECTOR_HOLISTIC_STATE_UNASSIGNED","CONNECTOR_HOLISTIC_STATE_HEALTHY","CONNECTOR_HOLISTIC_STATE_UNHEALTHY","CONNECTOR_HOLISTIC_STATE_DEGRADED","CONNECTOR_HOLISTIC_STATE_UNKNOWN"],"type":"string"},"ConnectorInfoStatus":{"properties":{"info":{"$ref":"#/components/schemas/ConnectorSpec"},"name":{"description":"Name of connector.","type":"string"},"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"ConnectorPlugin":{"properties":{"class":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"ConnectorSpec":{"description":"Connector specifications as defined in the Kafka Connect\nAPI. You may include this in the request body when creating a new connector.","properties":{"config":{"additionalProperties":{"type":"string"},"description":"Connector configuration properties.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"items":{"$ref":"#/components/schemas/TaskInfo"},"readOnly":true,"type":"array"},"type":{"readOnly":true,"type":"string"}},"required":["name","config"],"type":"object"},"ConnectorStatus":{"properties":{"connector":{"$ref":"#/components/schemas/Connector"},"errors":{"description":"List of parsed connectors' and tasks' errors.","items":{"$ref":"#/components/schemas/ConnectorError"},"type":"array"},"holistic_state":{"$ref":"#/components/schemas/ConnectorHolisticState"},"name":{"description":"Name of connector.","type":"string"},"tasks":{"description":"Status of connector tasks. For more information, see the [https://docs.redpanda.com/current/deploy/deployment-option/cloud/managed-connectors/monitor-connectors/#connector-tasks](Monitor Connectors) documentation.","items":{"$ref":"#/components/schemas/TaskStatus"},"type":"array"},"type":{"description":"Type of connector (sink or source).","type":"string"}},"type":"object"},"CreateACLRequest":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.\nFor requests with resource_type CLUSTER, this will default to \"kafka-cluster\".","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","principal","host","operation","permission_type"],"type":"object"},"CreateACLResponse":{"type":"object"},"CreateConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"CreateKafkaConnectSecretBody":{"description":"CreateKafkaConnectSecretRequest is the request of CreateKafkaConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"name":{"description":"Name of connector.","type":"string"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["name","secret_data"],"type":"object"},"CreateKafkaConnectSecretResponse":{"description":"CreateKafkaConnectSecretResponse is the response of CreateKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"CreatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"CreateRoleResponse":{"description":"CreateRoleResponse is the response for CreateRole.","properties":{"role":{"$ref":"#/components/schemas/Role"}},"type":"object"},"CreateSecretRequest":{"description":"CreateSecretRequest is the request of CreateSecret.","properties":{"id":{"description":"Secret identifier.","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"CreateSecretResponse":{"description":"CreateSecretResponse is the response of CreateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"CreateTopicRequest.Topic":{"properties":{"configs":{"description":"An array of key-value config pairs for a topic.\nThese correspond to Kafka topic-level configs.","items":{"$ref":"#/components/schemas/Config"},"type":"array"},"name":{"description":"Name of topic.","type":"string"},"partition_count":{"description":"The number of partitions to give the topic. If specifying\npartitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default partition count, set to null.","format":"int32","nullable":true,"type":"integer"},"replica_assignments":{"description":"Manually specify broker ID assignments for partition replicas. If manually assigning replicas, both `replication_factor` and\n`partition_count` must be -1.","items":{"$ref":"#/components/schemas/ReplicaAssignment"},"type":"array"},"replication_factor":{"description":"The number of replicas every partition must have.\nIf specifying partitions manually (see `replica_assignments`), set to -1.\nOr, to use the cluster default replication factor, set to null.","format":"int32","nullable":true,"type":"integer"}},"type":"object"},"CreateTopicResponse":{"properties":{"partition_count":{"description":"The number of partitions created for the topic.\nThis field has a default value of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"replication_factor":{"description":"The number of replicas per topic partition.\nThis field has a default of -1, which may be returned if the broker\ndoes not support v5+ of this request which added support for returning\nthis information.","format":"int32","type":"integer"},"topic_name":{"description":"Name of topic.","type":"string"}},"type":"object"},"CreateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"CreateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/CreateUserResponse.User"}},"type":"object"},"CreateUserResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"title":"Name of newly-created user","type":"string"}},"type":"object"},"DeleteACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"required":["resource_type","resource_pattern_type","operation","permission_type"],"type":"object"},"DeleteACLsResponse":{"properties":{"matching_acls":{"items":{"$ref":"#/components/schemas/MatchingACL"},"type":"array"}},"type":"object"},"DeleteKafkaConnectSecretResponse":{"description":"DeleteKafkaConnectSecretResponse is the response of DeleteKafkaConnectSecret.","type":"object"},"DeleteMCPServerResponse":{"type":"object"},"DeleteMountTaskResponse":{"type":"object"},"DeletePipelineResponse":{"type":"object"},"DeleteQuotaRequest":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"DeleteQuotaResponse":{"type":"object"},"DeleteRoleResponse":{"description":"DeleteRoleResponse is the response for DeleteRole.","type":"object"},"DeleteSecretResponse":{"description":"DeleteSecretResponse is the response of DeleteSecret.","type":"object"},"DeleteTopicResponse":{"type":"object"},"DeleteTransformResponse":{"type":"object"},"DeleteUserResponse":{"type":"object"},"DeployTransformRequest":{"description":"Metadata required to deploy a new Wasm\ntransform in a Redpanda cluster.","properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"The input topic to apply the transform to.","example":"orders","type":"string"},"name":{"description":"Name of the transform.","example":"redact-payment-details-in-orders","type":"string"},"output_topic_names":{"description":"Output topic to write the transform results to.","example":"orders-redacted","items":{"type":"string"},"type":"array"}},"required":["name","input_topic_name","output_topic_names"],"type":"object"},"Entity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"EntityType":{"description":"The type of entity that the quota applies to.\n\n - ENTITY_TYPE_USER: Not supported in Redpanda\n - ENTITY_TYPE_IP: Not supported in Redpanda","enum":["ENTITY_TYPE_CLIENT_ID","ENTITY_TYPE_CLIENT_ID_PREFIX","ENTITY_TYPE_USER","ENTITY_TYPE_IP"],"type":"string"},"EnvironmentVariable":{"properties":{"key":{"description":"The key of your environment variable.","example":"LOG_LEVEL","type":"string"},"value":{"description":"The value of your environment variable.","example":"DEBUG","type":"string"}},"required":["key","value"],"type":"object"},"ErrorInfo":{"description":"Describes the cause of the error with structured details.\n\nExample of an error when contacting the \"pubsub.googleapis.com\" API when it\nis not enabled:\n\n { \"reason\": \"API_DISABLED\"\n \"domain\": \"googleapis.com\"\n \"metadata\": {\n \"resource\": \"projects/123\",\n \"service\": \"pubsub.googleapis.com\"\n }\n }\n\nThis response indicates that the pubsub.googleapis.com API is not enabled.\n\nExample of an error that is returned when attempting to create a Spanner\ninstance in a region that is out of stock:\n\n { \"reason\": \"STOCKOUT\"\n \"domain\": \"spanner.googleapis.com\",\n \"metadata\": {\n \"availableRegions\": \"us-central1,us-east2\"\n }\n }","properties":{"domain":{"description":"The logical grouping to which the \"reason\" belongs. The error domain\nis typically the registered service name of the tool or product that\ngenerates the error. Example: \"pubsub.googleapis.com\". If the error is\ngenerated by some common infrastructure, the error domain must be a\nglobally unique value that identifies the infrastructure. For Google API\ninfrastructure, the error domain is \"googleapis.com\".","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"Additional structured details about this error.\n\nKeys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should\nideally be lowerCamelCase. Also, they must be limited to 64 characters in\nlength. When identifying the current value of an exceeded limit, the units\nshould be contained in the key, not the value. For example, rather than\n`{\"instanceLimit\": \"100/request\"}`, should be returned as,\n`{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of\ninstances that can be created in a single (batch) request.","type":"object"},"reason":{"description":"The reason of the error. This is a constant value that identifies the\nproximate cause of the error. Error reasons are unique within a particular\ndomain of errors. This should be at most 63 characters and match a\nregular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents\nUPPER_SNAKE_CASE.","type":"string"}},"title":"ErrorInfo","type":"object"},"FailedEntity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"},"error_code":{"format":"int32","type":"integer"},"error_message":{"type":"string"}},"type":"object"},"FieldSpec":{"description":"FieldSpec represents a field specification.","properties":{"advanced":{"type":"boolean"},"annotated_options":{"items":{"$ref":"#/components/schemas/AnnotatedOption"},"type":"array"},"children":{"items":{"$ref":"#/components/schemas/FieldSpec"},"type":"array"},"default_value":{"type":"string"},"deprecated":{"type":"boolean"},"description":{"type":"string"},"examples":{"items":{"type":"string"},"type":"array"},"interpolated":{"items":{"type":"string"},"type":"array"},"kind":{"type":"string"},"name":{"type":"string"},"optional":{"type":"boolean"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"FieldViolation":{"description":"A message type used to describe a single bad request field.","properties":{"description":{"description":"A description of why the request element is bad.","type":"string"},"field":{"description":"A path that leads to a field in the request body. The value will be a\nsequence of dot-separated identifiers that identify a protocol buffer\nfield.\n\nConsider the following:\n\n message CreateContactRequest {\n message EmailAddress {\n enum Type {\n TYPE_UNSPECIFIED = 0;\n HOME = 1;\n WORK = 2;\n }\n\n optional string email = 1;\n repeated EmailType type = 2;\n }\n\n string full_name = 1;\n repeated EmailAddress email_addresses = 2;\n }\n\nIn this example, in proto `field` could take one of the following values:\n\n* `full_name` for a violation in the `full_name` value\n* `email_addresses[1].email` for a violation in the `email` field of the\n first `email_addresses` message\n* `email_addresses[3].type[2]` for a violation in the second `type`\n value in the third `email_addresses` message.\n\nIn JSON, the same values are represented as:\n\n* `fullName` for a violation in the `fullName` value\n* `emailAddresses[1].email` for a violation in the `email` field of the\n first `emailAddresses` message\n* `emailAddresses[3].type[2]` for a violation in the second `type`\n value in the third `emailAddresses` message.","type":"string"},"localized_message":{"$ref":"#/components/schemas/LocalizedMessage"},"reason":{"description":"The reason of the field-level error. This is a constant value that\nidentifies the proximate cause of the field-level error. It should\nuniquely identify the type of the FieldViolation within the scope of the\ngoogle.rpc.ErrorInfo.domain. This should be at most 63\ncharacters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,\nwhich represents UPPER_SNAKE_CASE.","type":"string"}},"type":"object"},"GetConnectClusterResponse":{"properties":{"cluster":{"$ref":"#/components/schemas/ConnectCluster"}},"type":"object"},"GetConnectorConfigResponse":{"properties":{"config":{"additionalProperties":{"type":"string"},"type":"object"}},"type":"object"},"GetConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"GetConnectorStatusResponse":{"properties":{"status":{"$ref":"#/components/schemas/ConnectorStatus"}},"type":"object"},"GetKafkaConnectSecretResponse":{"description":"GetKafkaConnectSecretResponse is the response of GetKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"GetMCPServerServiceConfigSchemaResponse":{"properties":{"configuration_yamls":{"description":"The configuration schema for the MCP Server.","items":{"$ref":"#/components/schemas/ConfigurationYAMLSchema"},"type":"array"}},"type":"object"},"GetMountTaskResponse":{"properties":{"task":{"$ref":"#/components/schemas/MountTask"}},"type":"object"},"GetPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"GetPipelineServiceConfigSchemaResponse":{"properties":{"config_schema":{"description":"JSON schema of the configuration components that are allowed for Connect pipelines.","type":"string"}},"type":"object"},"GetPipelinesBySecretsResponse":{"properties":{"pipelines_for_secret":{"items":{"$ref":"#/components/schemas/PipelinesForSecret"},"type":"array"}},"type":"object"},"GetPipelinesForSecretResponse":{"properties":{"pipelines_for_secret":{"$ref":"#/components/schemas/PipelinesForSecret"}},"type":"object"},"GetRoleResponse":{"description":"GetRoleResponse is the response to GetRole.","properties":{"members":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"role":{"$ref":"#/components/schemas/Role"}},"type":"object"},"GetSecretResponse":{"description":"GetSecretResponse is the response of GetSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"GetTopicConfigurationsResponse":{"properties":{"configurations":{"items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"GetTransformResponse":{"properties":{"transform":{"$ref":"#/components/schemas/TransformMetadata"}},"type":"object"},"Help":{"description":"Provides links to documentation or for performing an out of band action.\n\nFor example, if a quota check failed with an error indicating the calling\nproject hasn't enabled the accessed service, this can contain a URL pointing\ndirectly to the right place in the developer console to flip the bit.","properties":{"links":{"description":"URL(s) pointing to additional information on handling the current error.","items":{"$ref":"#/components/schemas/Link"},"type":"array"}},"title":"Help","type":"object"},"InFlightRequests":{"properties":{"has_more_requests":{"description":"Whether there are more in-flight requests than those in\n`sampled_in_flight_requests`.","type":"boolean"},"sampled_in_flight_requests":{"items":{"$ref":"#/components/schemas/Request"},"title":"A sample (e.g., the 5 latest) of the currently in-flight requests","type":"array"}},"type":"object"},"KafkaConnection":{"properties":{"api_versions":{"additionalProperties":{"format":"int32","type":"integer"},"description":"This map records, for each Kafka API, the highest version number observed\nin requests on this connection. It can be useful for understanding which\nprotocol versions a client supports or has negotiated with the broker.\nOnly APIs that were actually used (i.e. at least one request was seen)\nare included.\n\nExample:\n { 0: 11, 1: 13 }\nmeans that for API key 0 (Produce), version 11 was the highest seen,\nand for API key 1 (Fetch), version 13 was the highest seen.\n\nReference:\n- https://kafka.apache.org/0101/protocol.html#protocol_api_keys\n- https://kafka.apache.org/0101/protocol.html#protocol_compatibility","type":"object"},"authentication_info":{"$ref":"#/components/schemas/AuthenticationInfo"},"client_id":{"description":"Client identifier included in every request sent by the Kafka client.\nThis is typically a configurable property (client.id) set by the\napplication when creating a producer or consumer, and is often used for\nmetrics, quotas, and debugging.","type":"string"},"client_software_name":{"description":"Name of the client library, reported automatically in ApiVersions v3+\nrequests. This is set by the client implementation and is not typically\nconfigurable by applications.","type":"string"},"client_software_version":{"description":"Version of the client library, reported automatically in ApiVersions v3+\nrequests. Like client_software_name, this is set by the\nclient and not usually configurable by applications.","type":"string"},"close_time":{"description":"When the connection was closed. This field is set only when the\nconnection state is \"closed\".","format":"date-time","type":"string"},"group_id":{"description":"Most recent group ID seen in requests sent over this connection. This\ntypically refers to a consumer group, but the Kafka group protocol is\nmore general and may also be used by other types of clients that\ncoordinate membership and assignments through the broker.","type":"string"},"group_instance_id":{"description":"Most recent group instance ID seen in requests sent over this connection.\nThis is used when static membership is enabled, allowing a specific\nclient instance to retain its group membership across restarts.","type":"string"},"group_member_id":{"description":"Most recent group member ID seen in requests sent over this connection.\nThis is the unique identifier assigned by the broker to a particular\nmember of the group.","type":"string"},"idle_duration":{"title":"How long the connection has been idle (no in-flight requests)","type":"string"},"in_flight_requests":{"$ref":"#/components/schemas/InFlightRequests"},"listener_name":{"description":"Name of the Kafka listener that accepted this connection.\nA listener is a named broker endpoint (for example, \"internal\",\n\"external\", or \"sasl_tls\"). Each listener defines its network address and\nenforces its protocol and authentication policy.","type":"string"},"node_id":{"format":"int32","title":"Broker node ID","type":"integer"},"open_time":{"format":"date-time","title":"When the broker accepted the connection","type":"string"},"recent_request_statistics":{"$ref":"#/components/schemas/RequestStatistics"},"shard_id":{"format":"int64","title":"Broker shard that handles the connection","type":"integer"},"source":{"$ref":"#/components/schemas/Source"},"state":{"$ref":"#/components/schemas/KafkaConnectionState"},"tls_info":{"$ref":"#/components/schemas/TLSInfo"},"total_request_statistics":{"$ref":"#/components/schemas/RequestStatistics"},"transactional_id":{"title":"Most recent transactional ID seen in requests sent over this connection","type":"string"},"uid":{"title":"Kafka connection UUID","type":"string"}},"title":"Kafka connection details for a broker","type":"object"},"KafkaConnectionState":{"description":"- KAFKA_CONNECTION_STATE_OPEN: The connection is accepting requests.\n - KAFKA_CONNECTION_STATE_ABORTING: The connection is aborting ongoing requests and about to be closed.\nThis is a transient state between open and closed that should rarely be\nobservable under normal circumstances.\n - KAFKA_CONNECTION_STATE_CLOSED: The connection has been closed.","enum":["KAFKA_CONNECTION_STATE_OPEN","KAFKA_CONNECTION_STATE_ABORTING","KAFKA_CONNECTION_STATE_CLOSED"],"title":"Enums","type":"string"},"Link":{"description":"Describes a URL link.","properties":{"description":{"description":"Describes what the link offers.","type":"string"},"url":{"description":"The URL of the link.","type":"string"}},"type":"object"},"LintHint":{"description":"LintHint is a generic linting hint.","properties":{"column":{"description":"Column number of the lint.","format":"int32","type":"integer"},"hint":{"description":"The hint message.","type":"string"},"line":{"description":"Line number of the lint.","format":"int32","type":"integer"},"lint_type":{"description":"Optional lint type or enum.","type":"string"}},"type":"object"},"LintMCPConfigRequest":{"properties":{"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP tools configuration in YAML format.","type":"object"}},"required":["tools"],"type":"object"},"LintMCPConfigResponse":{"properties":{"lint_hints":{"additionalProperties":{"$ref":"#/components/schemas/LintHint"},"description":"A list of linting issues.","type":"object"}},"type":"object"},"LintPipelineConfigRequest":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format.\nSee the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation\nfor more details.","type":"string"}},"required":["config_yaml"],"type":"object"},"LintPipelineConfigResponse":{"properties":{"lint_hints":{"description":"A list of linting issues.","items":{"$ref":"#/components/schemas/LintHint"},"type":"array"}},"type":"object"},"ListACLsRequest.Filter":{"properties":{"host":{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","nullable":true,"type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","nullable":true,"type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","nullable":true,"type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListACLsResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/ListACLsResponse.Resource"},"type":"array"}},"type":"object"},"ListACLsResponse.Resource":{"properties":{"acls":{"items":{"$ref":"#/components/schemas/Policy"},"type":"array"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"ListComponentsResponse":{"properties":{"components":{"$ref":"#/components/schemas/ComponentList"}},"type":"object"},"ListConnectClustersResponse":{"properties":{"clusters":{"items":{"$ref":"#/components/schemas/ConnectCluster"},"type":"array"}},"type":"object"},"ListConnectorTopicsResponse":{"properties":{"topics":{"description":"Topic names.","items":{"type":"string"},"type":"array"}},"type":"object"},"ListConnectorsResponse":{"properties":{"connectors":{"description":"List of connectors, where the parent key is the connector name.","items":{"$ref":"#/components/schemas/ConnectorInfoStatus"},"type":"array"},"next_page_token":{"description":"Page Token to fetch the next page. The value can be used as page_token in the next call to this endpoint.","type":"string"}},"type":"object"},"ListKafkaConnectSecretsResponse":{"description":"ListKafkaConnectSecretsResponse is the response of ListKafkaConnectSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListKafkaConnectionsResponse":{"description":"ListKafkaConnectionsResponse is the response from the ListKafkaConnections\nRPC.","properties":{"connections":{"description":"The list of connections matching the request.\nNote that in addition to open connections, some recently-closed\nconnections may also be included here. If you don't want to include\nclosed connections, set the filter in the request to `state =\nKAFKA_CONNECTION_STATE_OPEN`.","items":{"$ref":"#/components/schemas/KafkaConnection"},"type":"array"},"total_size":{"format":"uint64","title":"Total number of connections matching the request.\nThis may be greater than `len(connections)` if some connections were\nomitted from the response due to the specified (or default) `page_size`.\nExample:\n request.page_size = 10\n response.connections = [\u003c10 items\u003e]\n response.total_size = 13","type":"string"}},"type":"object"},"ListMCPServersRequest.Filter":{"properties":{"display_name_contains":{"description":"Any MCP Server that partially match this name will be returned.","type":"string"},"secret_id":{"description":"Match MCP servers that use this secret ID.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"MCP servers that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListMCPServersResponse":{"properties":{"mcp_servers":{"items":{"$ref":"#/components/schemas/MCPServer"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListMountTasksResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/MountTask"},"type":"array"}},"type":"object"},"ListMountableTopicsResponse":{"properties":{"topics":{"items":{"$ref":"#/components/schemas/TopicLocation"},"type":"array"}},"type":"object"},"ListPipelinesRequest.Filter":{"properties":{"name_contains":{"description":"Any pipelines that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"Pipelines that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListPipelinesResponse":{"properties":{"next_page_token":{"type":"string"},"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"}},"type":"object"},"ListQuotasRequest.Filter":{"properties":{"entity_name":{"description":"Filter by entity name. If unspecified will return all entities for specified entity type.","type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"},"match_default":{"description":"If true, the entity_name will match the default entity (e.g., default client-id).","type":"boolean"}},"type":"object"},"ListQuotasResponse":{"properties":{"page_token":{"description":"Token to retrieve the next page of results. If empty, there are no more results.","type":"string"},"quotas":{"items":{"$ref":"#/components/schemas/QuotaEntry"},"type":"array"}},"type":"object"},"ListResourcesRequest.Filter":{"properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"ListResourcesResponse":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/ListResourcesResponse.Resource"},"type":"array"}},"type":"object"},"ListResourcesResponse.Resource":{"properties":{"display_name":{"type":"string"},"id":{"type":"string"},"type":{"$ref":"#/components/schemas/ListResourcesResponse.Type"}},"type":"object"},"ListResourcesResponse.Type":{"enum":["TYPE_PIPELINE","TYPE_CLUSTER","TYPE_MCP_SERVER","TYPE_AI_AGENT"],"type":"string"},"ListRoleMembersRequest.Filter":{"description":"Filter options.","properties":{"name_contains":{"description":"Filter results to only members with names which contain the string.","type":"string"}},"type":"object"},"ListRoleMembersResponse":{"description":"ListRoleMembersResponse is the response for ListRoleMembers.","properties":{"members":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"role_name":{"description":"The role name.","type":"string"}},"type":"object"},"ListRolesRequest.Filter":{"description":"Filter options.","properties":{"name_contains":{"description":"Filter results to only roles with names which contain the string.","type":"string"},"name_prefix":{"description":"Filter results only roles named with the prefix.","type":"string"},"principal":{"description":"Return only roles assigned to this principal.","type":"string"}},"type":"object"},"ListRolesResponse":{"description":"ListRolesResponse is the response for ListRoles.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"roles":{"description":"The roles in the system.","items":{"$ref":"#/components/schemas/Role"},"type":"array"}},"type":"object"},"ListSecretScopesResponse":{"description":"ListSecretScopesResponse is the response of ListSecretScopes.","properties":{"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array"}},"type":"object"},"ListSecretsFilter":{"description":"ListSecretsFilter are the filter options for listing secrets.","properties":{"labels[string][string]":{"additionalProperties":{"type":"string"},"description":"The secret labels to search for.","type":"object"},"name_contains":{"description":"Substring match on secret name. Case-sensitive.","type":"string"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes to search for","type":"array"}},"type":"object"},"ListSecretsResponse":{"description":"ListSecretsResponse is the response of ListSecrets.","properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"secrets":{"description":"Secrets retrieved.","items":{"$ref":"#/components/schemas/Secret"},"type":"array"}},"type":"object"},"ListTopicsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListTopicsResponse":{"properties":{"next_page_token":{"type":"string"},"topics":{"items":{"$ref":"#/components/schemas/ListTopicsResponse.Topic"},"type":"array"}},"type":"object"},"ListTopicsResponse.Topic":{"properties":{"internal":{"description":"Whether topic is internal only.","type":"boolean"},"name":{"description":"Topic name.","type":"string"},"partition_count":{"description":"Topic partition count.","format":"int32","type":"integer"},"replication_factor":{"description":"Topic replication factor.","format":"int32","type":"integer"}},"type":"object"},"ListTransformsRequest.Filter":{"properties":{"name_contains":{"description":"Substring match on transform name. Case-sensitive.","type":"string"}},"type":"object"},"ListTransformsResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"transforms":{"items":{"$ref":"#/components/schemas/TransformMetadata"},"type":"array"}},"type":"object"},"ListUsersRequest.Filter":{"properties":{"name":{"description":"Username.","type":"string"},"name_contains":{"description":"Substring match on username. Case-sensitive.","type":"string"}},"type":"object"},"ListUsersResponse":{"properties":{"next_page_token":{"description":"Token to retrieve the next page.","type":"string"},"users":{"items":{"$ref":"#/components/schemas/ListUsersResponse.User"},"type":"array"}},"type":"object"},"ListUsersResponse.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"}},"type":"object"},"LocalizedMessage":{"description":"Provides a localized error message that is safe to return to the user\nwhich can be attached to an RPC error.","properties":{"locale":{"title":"The locale used following the specification defined at\nhttps://www.rfc-editor.org/rfc/bcp/bcp47.txt.\nExamples are: \"en-US\", \"fr-CH\", \"es-MX\"","type":"string"},"message":{"description":"The localized error message in the above locale.","type":"string"}},"type":"object"},"MCPServer":{"description":"Defines the MCP server resource.","properties":{"description":{"description":"Optional MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"id":{"description":"MCP Server ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"state":{"$ref":"#/components/schemas/MCPServer.State"},"status":{"$ref":"#/components/schemas/MCPServer.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a MCP server resource.\nThey help organize MCP servers and enable filtering when listing them.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"},"url":{"readOnly":true,"title":"URL to connect to the MCP server","type":"string"}},"required":["id","display_name","tools","service_account"],"type":"object"},"MCPServer.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"required":["client_id","client_secret"],"type":"object"},"MCPServer.State":{"description":"State of the MCP server.\n\n - STATE_STARTING: The MCP server is starting.\n - STATE_RUNNING: The MCP server is running.\n - STATE_STOPPING: The MCP server is in the process of stopping.\n - STATE_STOPPED: The MCP server is stopped and in paused state.\n - STATE_ERROR: The MCP server encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"MCPServer.Status":{"description":"MCP server status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"MCPServerCreate":{"description":"MCPServerCreate contains the details for the MCP Server creation request.","properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a MCP server.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"required":["display_name","tools","service_account"],"type":"object"},"MCPServerUpdate":{"properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP servers name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/MCPServer.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"type":"object"},"MatchingACL":{"properties":{"error":{"$ref":"#/components/schemas/rpc.Status"},"host":{"description":"The host address to use for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"},"resource_name":{"description":"The name of the resource this ACL targets.","type":"string"},"resource_pattern_type":{"$ref":"#/components/schemas/ResourcePatternType"},"resource_type":{"$ref":"#/components/schemas/ResourceType"}},"type":"object"},"MountTask":{"properties":{"id":{"description":"Unique identifier for this mount task.","format":"int32","type":"integer"},"state":{"$ref":"#/components/schemas/MountTask.State"},"topics":{"description":"List of topics that are being mounted or unmounted.","items":{"$ref":"#/components/schemas/MountTask.Topic"},"type":"array"},"type":{"$ref":"#/components/schemas/MountTask.Type"}},"type":"object"},"MountTask.State":{"description":" - STATE_PLANNED: Planned: The mount task has been created and is awaiting further actions.\n - STATE_PREPARING: Preparing: The mount task is gathering resources and preparing for execution.\n - STATE_PREPARED: Prepared: All preparations are complete, and the mount task is ready to be executed.\n - STATE_EXECUTING: Executing: The mount task is actively transferring or transforming data.\n - STATE_EXECUTED: Executed: The core mount task actions are complete, but the mount task has not yet cut over or finalized.\n - STATE_CUT_OVER: Cut Over: The mount task has reached a critical point where ownership is transferred or final adjustments are made.\n - STATE_FINISHED: Finished: The mount task has been successfully completed, and no further actions are required.\n - STATE_CANCELING: Canceling: The mount task is in the process of being canceled, and rollback or cleanup actions may be in progress.\n - STATE_CANCELLED: Cancelled: The mount task has been fully canceled, and no further actions will be taken.","enum":["STATE_PLANNED","STATE_PREPARING","STATE_PREPARED","STATE_EXECUTING","STATE_EXECUTED","STATE_CUT_OVER","STATE_FINISHED","STATE_CANCELING","STATE_CANCELLED"],"type":"string"},"MountTask.Topic":{"properties":{"source_topic_reference":{"description":"The topic reference in the object storage bucket.\nThis field is only set for tasks of type MOUNT.","type":"string"},"topic_reference":{"description":"The topic reference within the current cluster, which may be either a simple topic name or a full reference\nin the form: cluster-uuid/topic-name/revision.","type":"string"}},"type":"object"},"MountTask.Type":{"description":" - TYPE_MOUNT: Mount represents the process of making topics available in a cluster by loading them from object storage.\n - TYPE_UNMOUNT: Unmount represents the process of offloading topics back to object storage.","enum":["TYPE_MOUNT","TYPE_UNMOUNT"],"type":"string"},"MountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of mount","type":"integer"}},"type":"object"},"Options":{"properties":{"include_tasks":{"description":"Restart connector's tasks.","type":"boolean"},"only_failed":{"description":"Restart only connectors that have failed.","type":"boolean"}},"type":"object"},"ParamDefinition":{"description":"ParamDefinition represents a parameter definition.","properties":{"default_value":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"}},"type":"object"},"ParamSpec":{"description":"ParamSpec represents parameter specifications.","properties":{"definitions":{"items":{"$ref":"#/components/schemas/ParamDefinition"},"type":"array"}},"type":"object"},"PartitionStatus":{"enum":["PARTITION_STATUS_RUNNING","PARTITION_STATUS_INACTIVE","PARTITION_STATUS_ERRORED","PARTITION_STATUS_UNKNOWN"],"type":"string"},"PartitionTransformStatus":{"properties":{"broker_id":{"format":"int32","type":"integer"},"lag":{"format":"int32","type":"integer"},"partition_id":{"format":"int32","type":"integer"},"status":{"$ref":"#/components/schemas/PartitionStatus"}},"type":"object"},"PermissionType":{"description":"Whether the operation should be allowed or denied.","enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"},"Pipeline":{"description":"Defines the pipeline resource.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","title":"The pipeline configuration in YAML.\nSee https://docs.redpanda.com/redpanda-connect/configuration/about/","type":"string"},"description":{"description":"Optional pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"id":{"description":"Pipeline ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"state":{"$ref":"#/components/schemas/Pipeline.State"},"status":{"$ref":"#/components/schemas/Pipeline.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a pipeline resource.\nThey help organize pipelines and enable filtering when listing them.","type":"object"},"url":{"description":"URL to connect to the pipeline, for example, via http_server.\nMay be empty if no http_server is used.","type":"string"}},"required":["id","display_name","config_yaml"],"type":"object"},"Pipeline.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"type":"object"},"Pipeline.State":{"description":"State of the pipeline.\n\n - STATE_STARTING: The pipeline is starting.\n - STATE_RUNNING: The pipeline is running.\n - STATE_STOPPING: The pipeline is in the process of stopping.\n - STATE_STOPPED: The pipeline is stopped and in paused state.\n - STATE_ERROR: The pipeline encountered an error. See [Error Handling](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/error_handling/) for further guidance.\n - STATE_COMPLETED: The pipeline has completed the job successfully.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR","STATE_COMPLETED"],"type":"string"},"Pipeline.Status":{"description":"Pipeline status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"PipelineCreate":{"description":"PipelineCreate contains the details for the pipeline creation request.","properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"PipelineUpdate":{"properties":{"config_yaml":{"description":"The Redpanda Connect pipeline configuration in YAML format. See the [Redpanda Connect Configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) documentation for more details.","type":"string"},"description":{"description":"Pipeline description.","type":"string"},"display_name":{"description":"User-friendly pipeline name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/Pipeline.ServiceAccount"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"PipelinesForSecret":{"properties":{"pipelines":{"items":{"$ref":"#/components/schemas/Pipeline"},"type":"array"},"secret_id":{"type":"string"}},"type":"object"},"Policy":{"properties":{"host":{"description":"The host address for this ACL.","type":"string"},"operation":{"$ref":"#/components/schemas/ACL.Operation"},"permission_type":{"$ref":"#/components/schemas/PermissionType"},"principal":{"description":"The user for whom this ACL applies.","type":"string"}},"type":"object"},"Quota.Value":{"properties":{"value":{"format":"double","type":"number"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"QuotaDeletion":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value_types":{"items":{"$ref":"#/components/schemas/ValueType"},"title":"Value that should be deleted for the specified entity","type":"array"}},"type":"object"},"QuotaEntry":{"description":"QuotaEntry represents the quota for a specific entity type.","properties":{"entity":{"$ref":"#/components/schemas/Entity"},"values":{"items":{"$ref":"#/components/schemas/Quota.Value"},"type":"array"}},"type":"object"},"QuotaFailure":{"description":"Describes how a quota check failed.\n\nFor example if a daily limit was exceeded for the calling project,\na service could respond with a QuotaFailure detail containing the project\nid and the description of the quota limit that was exceeded. If the\ncalling project hasn't enabled the service in the developer console, then\na service could respond with the project id and set `service_disabled`\nto true.\n\nAlso see RetryInfo and Help types for other details about handling a\nquota failure.","properties":{"violations":{"description":"Describes all quota violations.","items":{"$ref":"#/components/schemas/QuotaFailure.Violation"},"type":"array"}},"title":"QuotaFailure","type":"object"},"QuotaFailure.Violation":{"description":"A message type used to describe a single quota violation. For example, a\ndaily quota or a custom quota that was exceeded.","properties":{"api_service":{"description":"The API Service from which the `QuotaFailure.Violation` orginates. In\nsome cases, Quota issues originate from an API Service other than the one\nthat was called. In other words, a dependency of the called API Service\ncould be the cause of the `QuotaFailure`, and this field would have the\ndependency API service name.\n\nFor example, if the called API is Kubernetes Engine API\n(container.googleapis.com), and a quota violation occurs in the\nKubernetes Engine API itself, this field would be\n\"container.googleapis.com\". On the other hand, if the quota violation\noccurs when the Kubernetes Engine API creates VMs in the Compute Engine\nAPI (compute.googleapis.com), this field would be\n\"compute.googleapis.com\".","type":"string"},"description":{"description":"A description of how the quota check failed. Clients can use this\ndescription to find more about the quota configuration in the service's\npublic documentation, or find the relevant quota limit to adjust through\ndeveloper console.\n\nFor example: \"Service disabled\" or \"Daily Limit for read operations\nexceeded\".","type":"string"},"future_quota_value":{"description":"The new quota value being rolled out at the time of the violation. At the\ncompletion of the rollout, this value will be enforced in place of\nquota_value. If no rollout is in progress at the time of the violation,\nthis field is not set.\n\nFor example, if at the time of the violation a rollout is in progress\nchanging the number of CPUs quota from 10 to 20, 20 would be the value of\nthis field.","format":"int64","nullable":true,"type":"string"},"quota_dimensions":{"additionalProperties":{"type":"string"},"description":"The dimensions of the violated quota. Every non-global quota is enforced\non a set of dimensions. While quota metric defines what to count, the\ndimensions specify for what aspects the counter should be increased.\n\nFor example, the quota \"CPUs per region per VM family\" enforces a limit\non the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions\n\"region\" and \"vm_family\". And if the violation occurred in region\n\"us-central1\" and for VM family \"n1\", the quota_dimensions would be,\n\n{\n \"region\": \"us-central1\",\n \"vm_family\": \"n1\",\n}\n\nWhen a quota is enforced globally, the quota_dimensions would always be\nempty.","type":"object"},"quota_id":{"description":"The id of the violated quota. Also know as \"limit name\", this is the\nunique identifier of a quota in the context of an API service.\n\nFor example, \"CPUS-PER-VM-FAMILY-per-project-region\".","type":"string"},"quota_metric":{"description":"The metric of the violated quota. A quota metric is a named counter to\nmeasure usage, such as API requests or CPUs. When an activity occurs in a\nservice, such as Virtual Machine allocation, one or more quota metrics\nmay be affected.\n\nFor example, \"compute.googleapis.com/cpus_per_vm_family\",\n\"storage.googleapis.com/internet_egress_bandwidth\".","type":"string"},"quota_value":{"description":"The enforced quota value at the time of the `QuotaFailure`.\n\nFor example, if the enforced quota value at the time of the\n`QuotaFailure` on the number of CPUs is \"10\", then the value of this\nfield would reflect this quantity.","format":"int64","type":"string"},"subject":{"description":"The subject on which the quota check failed.\nFor example, \"clientip:\u003cip address of client\u003e\" or \"project:\u003cGoogle\ndeveloper project id\u003e\".","type":"string"}},"type":"object"},"QuotaSetting":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"values":{"items":{"$ref":"#/components/schemas/RequestQuotaValue"},"type":"array"}},"type":"object"},"ReplicaAssignment":{"properties":{"partition_id":{"description":"A partition to create.","format":"int32","type":"integer"},"replica_ids":{"description":"The broker IDs the partition replicas are assigned to.","items":{"format":"int32","type":"integer"},"type":"array"}},"type":"object"},"Request":{"properties":{"api_key":{"format":"int32","title":"API key for the request type (e.g., produce/fetch/metadata/etc)\nhttps://kafka.apache.org/0101/protocol.html#protocol_api_keys","type":"integer"},"in_flight_duration":{"title":"How long the request has been in-flight since it was received","type":"string"}},"type":"object"},"RequestQuotaEntity":{"properties":{"entity_name":{"description":"Entity name is the name of the entity type specified.\nIf left empty, the entity will be treated as a default entity (e.g., all clients).\nIf entity_type is ENTITY_TYPE_CLIENT_ID_PREFIX, this field must be set.","type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"RequestQuotaValue":{"properties":{"value":{"format":"double","type":"number"},"value_type":{"$ref":"#/components/schemas/ValueType"}},"type":"object"},"RequestStatistics":{"properties":{"fetch_bytes":{"description":"Sum of bytes fetched.","format":"uint64","type":"string"},"produce_batch_count":{"format":"uint64","title":"Number of produced batches.\nAverage batch size = produce_bytes / produce_batch_count","type":"string"},"produce_bytes":{"description":"Sum of bytes produced.","format":"uint64","type":"string"},"request_count":{"description":"Number of requests the client has made.","format":"uint64","type":"string"}},"type":"object"},"ResourcePatternType":{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"},"ResourceType":{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"Role":{"description":"Role defines a role in the system.","properties":{"name":{"description":"The name of the role.","type":"string"}},"type":"object"},"RoleMembership":{"description":"RoleMembership is the role membership.","properties":{"principal":{"description":"The name of the principal assigned to the role.","type":"string"}},"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"Scope":{"description":"Defines the scope of a secret.","enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"Secret":{"description":"Defines the secret resource.","properties":{"id":{"description":"Secret identifier.","readOnly":true,"type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"}},"type":"object"},"SetConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"SetPartitionsToTopicsRequest":{"properties":{"partition_count":{"description":"The number of partitions to set for the topics.","format":"int32","type":"integer"},"topic_names":{"description":"The topic names.","items":{"type":"string"},"type":"array"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"SetPartitionsToTopicsResponse":{"properties":{"statuses":{"description":"The status of the operation for each topic.","items":{"$ref":"#/components/schemas/AlterTopicPartitionStatus"},"type":"array"}},"type":"object"},"SetQuotaRequest":{"properties":{"entity":{"$ref":"#/components/schemas/RequestQuotaEntity"},"value":{"$ref":"#/components/schemas/RequestQuotaValue"}},"type":"object"},"SetQuotaResponse":{"type":"object"},"SetTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after this update.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"SetTopicPartitionsBody":{"properties":{"partition_count":{"description":"The number of partitions to set for the topic.","format":"int32","type":"integer"},"validate_only":{"description":"Validate the request only, do not execute it.","type":"boolean"}},"type":"object"},"SetTopicPartitionsResponse":{"type":"object"},"Source":{"properties":{"ip_address":{"type":"string"},"port":{"format":"int64","type":"integer"}},"type":"object"},"StartMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"StartPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"StopMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"StopPipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"SuccessfulEntity":{"properties":{"entity_name":{"type":"string"},"entity_type":{"$ref":"#/components/schemas/EntityType"}},"type":"object"},"TLSInfo":{"properties":{"enabled":{"title":"Whether TLS is in use","type":"boolean"}},"type":"object"},"TaskInfo":{"properties":{"connector":{"description":"Name of connector.","type":"string"},"task":{"description":"The connector task ID.","format":"int32","type":"integer"}},"type":"object"},"TaskStatus":{"properties":{"id":{"description":"The connector task ID.","format":"int32","type":"integer"},"state":{"description":"State of connector task.","type":"string"},"trace":{"description":"String value of stack trace.","type":"string"},"worker_id":{"description":"ID of worker that the task is assigned to.","type":"string"}},"type":"object"},"Tool":{"description":"A configuration tool for the MCP server.","properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_yaml":{"description":"The contents of the configuration tool in YAML format.","type":"string"}},"required":["config_yaml"],"type":"object"},"TopicLocation":{"properties":{"topic_location":{"description":"Full reference for the unmounted topic in this format: `topic-name/cluster-uuid/revision`.\nUse this as unique identifier for mounting a topic if there are multiple topics available\nwith the same name.","type":"string"},"topic_name":{"description":"Topic name.","type":"string"}},"type":"object"},"TopicMount":{"description":"TopicMount defines the migration of a topic from the cloud storage into this cluster,\nso that it becomes available via the Kafka API.","properties":{"alias":{"description":"Alias may be provided to mount the topic under a different name. Leave\nblank to re-use the source topic name. The alias does not persist if you\nunmount the topic again.","type":"string"},"source_topic_reference":{"description":"The topic name or full reference of the topic to mount. The full reference\nmust be used in case the same topic exists more than once. This may be the case if\nthe same topic has been unmounted multiple times. List all mountable topics to\nfind the full reference (contains topic name, cluster uuid and revision).","type":"string"}},"required":["source_topic_reference"],"type":"object"},"TransformMetadata":{"properties":{"environment_variables":{"description":"The environment variables you want to apply to your transform's environment","items":{"$ref":"#/components/schemas/EnvironmentVariable"},"type":"array"},"input_topic_name":{"description":"Input topic to apply the transform to.","type":"string"},"name":{"description":"Name of transform.","type":"string"},"output_topic_names":{"description":"Output topics to write the transform results to.","items":{"type":"string"},"type":"array"},"statuses":{"items":{"$ref":"#/components/schemas/PartitionTransformStatus"},"type":"array"}},"type":"object"},"UnmountTopicsResponse":{"properties":{"mount_task_id":{"format":"int32","title":"ID of unmount","type":"integer"}},"type":"object"},"UpdateConfiguration":{"properties":{"name":{"description":"A topic-level config key (e.g. `segment.bytes`).","type":"string"},"operation":{"$ref":"#/components/schemas/ConfigAlterOperation"},"value":{"description":"A topic-level config value (e.g. 1073741824).","nullable":true,"type":"string"}},"type":"object"},"UpdateKafkaConnectSecretBody":{"description":"UpdateKafkaConnectSecretRequest is the request of UpdateKafkaConnectSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"required":["secret_data"],"type":"object"},"UpdateKafkaConnectSecretResponse":{"description":"UpdateKafkaConnectSecretResponse is the response of UpdateKafkaConnectSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/MCPServer"}},"type":"object"},"UpdateMountTaskBody":{"properties":{"action":{"$ref":"#/components/schemas/Action"}},"required":["action"],"type":"object"},"UpdateMountTaskResponse":{"type":"object"},"UpdatePipelineResponse":{"properties":{"pipeline":{"$ref":"#/components/schemas/Pipeline"}},"type":"object"},"UpdateRoleMembershipBody":{"description":"UpdateRoleMembershipRequest is the request to UpdateRoleMembership.","properties":{"add":{"description":"Members to assign to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"create":{"description":"Create the role if it doesn't already exist.\nIf the role is created in this way, the “add” list will be respected, but the “remove” list will be ignored.","type":"boolean"},"remove":{"description":"Members to remove from the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"}},"type":"object"},"UpdateRoleMembershipResponse":{"description":"UpdateRoleMembershipResponse is the response for UpdateRoleMembership.","properties":{"added":{"description":"Members assigned to the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"removed":{"description":"Members removed from the role.","items":{"$ref":"#/components/schemas/RoleMembership"},"type":"array"},"role_name":{"description":"The role name.","type":"string"}},"type":"object"},"UpdateSecretBody":{"description":"UpdateSecretRequest is the request of UpdateSecret.","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Secret labels.","type":"object"},"scopes":{"items":{"$ref":"#/components/schemas/Scope"},"title":"Secret scopes","type":"array"},"secret_data":{"description":"The secret data. Must be Base64-encoded.","format":"byte","type":"string"}},"type":"object"},"UpdateSecretResponse":{"description":"UpdateSecretResponse is the response of UpdateSecret.","properties":{"secret":{"$ref":"#/components/schemas/Secret"}},"type":"object"},"UpdateTopicConfigurationsResponse":{"properties":{"configurations":{"description":"Topic's complete set of configurations after applying this partial patch.","items":{"$ref":"#/components/schemas/Configuration"},"type":"array"}},"type":"object"},"UpdateUserRequest.User":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"description":"Username.","type":"string"},"password":{"description":"Password.","type":"string"}},"type":"object"},"UpdateUserResponse":{"properties":{"user":{"$ref":"#/components/schemas/UpdateUserResponse.User"}},"type":"object"},"UpdateUserResponse.User":{"description":"Updated user's name and SASL mechanism.","properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"name":{"type":"string"}},"type":"object"},"UpsertConnectorResponse":{"properties":{"connector":{"$ref":"#/components/schemas/ConnectorSpec"}},"type":"object"},"ValueType":{"description":"The type of value that the quota represents.\n\n - VALUE_TYPE_PRODUCER_BYTE_RATE: The rate at which producers can send data.\n - VALUE_TYPE_CONSUMER_BYTE_RATE: The rate at which consumers can fetch data.\n - VALUE_TYPE_CONTROLLER_MUTATION_RATE: The rate at which topic mutation requests can be made.\n - VALUE_TYPE_REQUEST_PERCENTAGE: The percentage of the total throughput that can be used by the entity.\n\nNot supported in Redpanda","enum":["VALUE_TYPE_PRODUCER_BYTE_RATE","VALUE_TYPE_CONSUMER_BYTE_RATE","VALUE_TYPE_CONTROLLER_MUTATION_RATE","VALUE_TYPE_REQUEST_PERCENTAGE"],"type":"string"},"rpc.Status":{"description":"The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).","properties":{"code":{"description":"RPC status code, as described [here](https://github.com/googleapis/googleapis/blob/b4c238feaa1097c53798ed77035bbfeb7fc72e96/google/rpc/code.proto#L32).","enum":["OK","CANCELLED","UNKNOWN","INVALID_ARGUMENT","DEADLINE_EXCEEDED","NOT_FOUND","ALREADY_EXISTS","PERMISSION_DENIED","UNAUTHENTICATED","RESOURCE_EXHAUSTED","FAILED_PRECONDITION","ABORTED","OUT_OF_RANGE","UNIMPLEMENTED","INTERNAL","UNAVAILABLE","DATA_LOSS"],"format":"int32","type":"string"},"details":{"items":{"description":"Details of the error.","oneOf":[{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.BadRequest"],"type":"string"}}},{"$ref":"#/components/schemas/BadRequest"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.ErrorInfo"],"type":"string"}}},{"$ref":"#/components/schemas/ErrorInfo"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.QuotaFailure"],"type":"string"}}},{"$ref":"#/components/schemas/QuotaFailure"}]},{"allOf":[{"properties":{"@type":{"description":"Fully qualified protobuf type name of the underlying response, prefixed with `type.googleapis.com/`.","enum":["type.googleapis.com/google.rpc.Help"],"type":"string"}}},{"$ref":"#/components/schemas/Help"}]}]},"type":"array"},"message":{"description":"Detailed error message. No compatibility guarantees are given for the text contained in this message.","type":"string"}},"type":"object"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1"},"openapi":"3.0.3","paths":{"/v1/acls":{"delete":{"description":"Delete all ACLs that match the filter criteria. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_DeleteACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","required":true,"schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","required":true,"schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","required":true,"schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","required":true,"schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete ACLs","tags":["Redpanda ACLs"]},"get":{"description":"List all ACLs. The `filter.` query string parameters find matching ACLs that meet all specified conditions.","operationId":"ACLService_ListACLs","parameters":[{"description":"The type of resource (topic, consumer group, etc.) this\nACL targets.","in":"query","name":"filter.resource_type","schema":{"enum":["RESOURCE_TYPE_ANY","RESOURCE_TYPE_TOPIC","RESOURCE_TYPE_GROUP","RESOURCE_TYPE_CLUSTER","RESOURCE_TYPE_TRANSACTIONAL_ID","RESOURCE_TYPE_DELEGATION_TOKEN","RESOURCE_TYPE_USER","RESOURCE_TYPE_REGISTRY","RESOURCE_TYPE_SUBJECT"],"type":"string"}},{"description":"The name of the resource this ACL targets.","in":"query","name":"filter.resource_name","schema":{"type":"string"}},{"description":"The pattern to use for matching the specified resource_name\n(any, exact match, literal, or prefixed).","in":"query","name":"filter.resource_pattern_type","schema":{"enum":["RESOURCE_PATTERN_TYPE_ANY","RESOURCE_PATTERN_TYPE_MATCH","RESOURCE_PATTERN_TYPE_LITERAL","RESOURCE_PATTERN_TYPE_PREFIXED"],"type":"string"}},{"description":"The user for whom this ACL applies. With the Kafka simple\nauthorizer, you must include the prefix \"User:\" with the user name.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"The host address to use for this ACL. To allow a principal\naccess from multiple hosts, you must create an ACL for each host.","in":"query","name":"filter.host","schema":{"type":"string"}},{"description":"The operation that is allowed or denied (e.g. READ).","in":"query","name":"filter.operation","schema":{"enum":["OPERATION_ANY","OPERATION_ALL","OPERATION_READ","OPERATION_WRITE","OPERATION_CREATE","OPERATION_DELETE","OPERATION_ALTER","OPERATION_DESCRIBE","OPERATION_CLUSTER_ACTION","OPERATION_DESCRIBE_CONFIGS","OPERATION_ALTER_CONFIGS","OPERATION_IDEMPOTENT_WRITE","OPERATION_CREATE_TOKENS","OPERATION_DESCRIBE_TOKENS"],"type":"string"}},{"description":"Whether the operation should be allowed or denied.","in":"query","name":"filter.permission_type","schema":{"enum":["PERMISSION_TYPE_ANY","PERMISSION_TYPE_DENY","PERMISSION_TYPE_ALLOW"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListACLsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List ACLs","tags":["Redpanda ACLs"]},"post":{"description":"Create a new ACL.","operationId":"ACLService_CreateACL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateACLResponse"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create ACL","tags":["Redpanda ACLs"]}},"/v1/cloud-storage/mount-tasks":{"get":{"description":"This operation retrieves the status of a task responsible for mounting or unmounting topics. It provides details on the task’s type (mount or unmount), its current state, and the topics involved.","operationId":"CloudStorageService_ListMountTasks","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountTasksResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the mount task status","tags":["Cloud Storage"]}},"/v1/cloud-storage/mount-tasks/{id}":{"delete":{"description":"Delete a mount or unmount by ID.","operationId":"CloudStorageService_DeleteMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to delete.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a mount or unmount","tags":["Cloud Storage"]},"get":{"description":"Retrieves the status of a mount or unmount by ID. The response provides details on the operation type (mount or unmount), its current state, and the topics involved. Use the ID returned when you start the mount or unmount, or use the ListMountTasks endpoint to retrieve a list of IDs.","operationId":"CloudStorageService_GetMountTask","parameters":[{"description":"Unique identifier of the mount or unmount task to retrieve.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get the status of a mount or unmount by ID","tags":["Cloud Storage"]},"post":{"description":"This operation allows performing an action on an ongoing mount task.","operationId":"CloudStorageService_UpdateMountTask","parameters":[{"description":"ID is the unique identifier of the mount or unmount to update.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMountTaskResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a mount or unmount","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/mount":{"post":{"description":"Attach mountable topics from object storage to a cluster, making them available for consumption and production again. Mounting a topic reloads its data and state to the local brokers, allowing active use of the topic.","operationId":"CloudStorageService_MountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TopicMount"},"required":["topics"],"type":"array"}}},"required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Mount topics from object storage","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/mountable":{"get":{"description":"Retrieve all topics that are currently unmounted and available to be mounted to the cluster. These topics reside in object storage and can be mounted for consumption or production within the cluster.","operationId":"CloudStorageService_ListMountableTopics","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMountableTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List mountable topics","tags":["Cloud Storage"]}},"/v1/cloud-storage/topics/unmount":{"post":{"description":"Unmount topics to object storage, freeing up all local cluster resources. Once you unmount a topic, it can no longer be consumed or produced to. It detaches from the active cluster while its data remains safely stored in the external object storage.","operationId":"CloudStorageService_UnmountTopics","requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"required":["topics"],"type":"array"}}},"description":"List of topics to unmount.","required":true,"x-originalParamName":"topics"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnmountTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Unmount topics to object storage","tags":["Cloud Storage"]}},"/v1/kafka-connect/clusters":{"get":{"description":"List Connect clusters available in Console.","operationId":"KafkaConnectService_ListConnectClusters","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectClustersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect clusters","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}":{"get":{"description":"Get information about an available Kafka Connect cluster.","operationId":"KafkaConnectService_GetConnectCluster","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCluster"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Connect cluster not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect cluster","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors":{"get":{"description":"List connectors managed by the Kafka Connect service.","operationId":"KafkaConnectService_ListConnectors","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connectors","tags":["Kafka Connect"]},"post":{"description":"Create a connector with the specified configuration.","operationId":"KafkaConnectService_CreateConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"required":true,"x-originalParamName":"connector"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}":{"delete":{"description":"Delete a connector. This operation force stops all tasks and also deletes the connector configuration.","operationId":"KafkaConnectService_DeleteConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete connector","tags":["Kafka Connect"]},"get":{"description":"Get information about a connector in a specific cluster.","operationId":"KafkaConnectService_GetConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/config":{"get":{"description":"Get the configuration for the connector.","operationId":"KafkaConnectService_GetConnectorConfig","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector configuration","tags":["Kafka Connect"]},"put":{"description":"Update the configuration for an existing connector with the specified name, or create a new connector using the given configuration. Returns information about the connector after the change has been made.","operationId":"KafkaConnectService_UpsertConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector. If a connector with this name does not already exist, a new connector is created.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"required":["config"],"type":"object"}}},"description":"Connector configuration property.","required":true,"x-originalParamName":"config"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Updated"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorSpec"}}},"description":"Created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Upsert connector configuration","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/pause":{"put":{"description":"Pause the connector and its tasks, which stops messages from processing until the connector is resumed. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_PauseConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Pause request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Pause connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/restart":{"post":{"description":"Triggers a connector restart. You must specify whether or not tasks are also restarted, and whether only failed connectors are restarted.","operationId":"KafkaConnectService_RestartConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Options"}}},"required":true,"x-originalParamName":"options"},"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Restart connector request success"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Restart connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/resume":{"put":{"description":"Resume a paused connector and its tasks, and resumes message processing. This call is asynchronous and may take some time to process. If the connector was not paused, this operation does not do anything.","operationId":"KafkaConnectService_ResumeConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Resume request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Resume connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/status":{"get":{"description":"Gets the current status of the connector, including the state for each of its tasks, error information, etc.","operationId":"KafkaConnectService_GetConnectorStatus","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorStatus"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get connector status","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/stop":{"put":{"description":"Stops a connector, but does not delete it. All tasks for the connector are shut down completely. This call is asynchronous and may take some time to process.","operationId":"KafkaConnectService_StopConnector","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Request accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop connector","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics":{"get":{"description":"Returns a list of connector topic names. If the connector is inactive, this call returns an empty list.","operationId":"KafkaConnectService_ListConnectorTopics","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListConnectorTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List connector topics","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/connectors/{name}/topics/reset":{"put":{"description":"Resets the set of topic names that the connector is using.","operationId":"KafkaConnectService_ResetConnectorTopics","parameters":[{"description":"Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Name of connector using the topics to be reset.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Reset connector topics","tags":["Kafka Connect"]}},"/v1/kafka-connect/clusters/{cluster_name}/secrets":{"get":{"description":"List Kafka Connect cluster secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListKafkaConnectSecrets","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string][string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Connect cluster secrets","tags":["Secrets"]},"post":{"description":"Create a Kafka Connect cluster secret.","operationId":"SecretService_CreateKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKafkaConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetKafkaConnectSecretResponse"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Connect cluster secret","tags":["Secrets"]}},"/v1/kafka-connect/clusters/{cluster_name}/secrets/{id}":{"delete":{"description":"Delete a Kafka Connect cluster secret.","operationId":"SecretService_DeleteKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete Connect cluster secret","tags":["Secrets"]},"get":{"description":"Get a specific Kafka Connect cluster secret.","operationId":"SecretService_GetKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"The ID of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetKafkaConnectSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Connect cluster secret","tags":["Secrets"]},"put":{"description":"Update a Kafka Connect cluster secret.","operationId":"SecretService_UpdateKafkaConnectSecret","parameters":[{"description":"Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.","in":"path","name":"cluster_name","required":true,"schema":{"type":"string"}},{"description":"ID of the secret to update.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKafkaConnectSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKafkaConnectSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update Connect cluster secret","tags":["Secrets"]}},"/v1/monitoring/kafka/connections":{"get":{"description":"List information on recent connections to the cluster.","operationId":"MonitoringService_ListKafkaConnections","parameters":[{"description":"The maximum number of connections to return. If unspecified or 0, a\ndefault value may be applied. The server may return fewer connections\nthan requested due to memory constraints; the limit is set to allow\nlisting all connections for a single broker. Consider filtering by\nnode_id to view connections for specific brokers. Note that paging is\ncurrently not fully supported, and this field only acts as a limit for\nthe first page of data returned. Subsequent pages of data cannot be\nrequested.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Filter expression to apply to the connection list.\nUses a subset of AIP-160 filter syntax supporting:\n- Field comparisons (`=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, `\u003e=`)\n- Logical AND chaining: condition1 AND condition2\n- Nested field access: parent.child = value\n- Escape sequences: field = \"string with \\\"quotes\\\"\"\n- Enum types\n- RFC3339 timestamps and ISO-like duration\n\nLimitations (not supported):\n- Logical OR chaining\n- Parentheses `(` `)` for grouping\n- Map and repeated types\n- HAS (:) operator\n- Negation (-, NOT)\n- Bare literal matching\n\nExample filters:\n- `state = KAFKA_CONNECTION_STATE_OPEN`\n- `idle_duration \u003e 30s AND total_request_statistics.request_count \u003e 100`\n- `authentication_info.user_principal = \"my-producer\"`\n- `recent_request_statistics.produce_bytes \u003e 1000 AND\nclient_software_name = \"kgo\"`\n- `open_time \u003e= 2025-09-01T10:22:54Z`\n\nReference: https://google.aip.dev/160","in":"query","name":"filter","schema":{"type":"string"}},{"description":"Field-based ordering specification following AIP-132 syntax.\nSupports multiple fields with `asc`/`desc` direction indicators.\nExamples:\n- `idle_duration desc` - longest idle connections first\n- `open_time desc, total_request_statistics.request_count desc` - newest\nconnections first, then most active\n- `recent_request_statistics.produce_bytes desc` - connections with\nhighest current produce throughput first\n\nReference: https://google.aip.dev/132#ordering","in":"query","name":"order_by","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListKafkaConnectionsResponse"}}},"description":"Recent connections"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Recent Connections","tags":["Monitoring"]}},"/v1/quotas":{"get":{"description":"List client quotas. Use filter parameters to narrow results by entity type and filter criteria.","operationId":"QuotaService_ListQuotas","parameters":[{"description":"The type of entity to filter by. If unspecified, all entities will be returned.\n\n - ENTITY_TYPE_USER: Not supported in Redpanda\n - ENTITY_TYPE_IP: Not supported in Redpanda","in":"query","name":"filter.entity_type","schema":{"enum":["ENTITY_TYPE_CLIENT_ID","ENTITY_TYPE_CLIENT_ID_PREFIX","ENTITY_TYPE_USER","ENTITY_TYPE_IP"],"type":"string"}},{"description":"Filter by entity name. If unspecified will return all entities for specified entity type.","in":"query","name":"filter.entity_name","schema":{"type":"string"}},{"description":"If true, the entity_name will match the default entity (e.g., default client-id).","in":"query","name":"filter.match_default","schema":{"type":"boolean"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListQuotasResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List quotas","tags":["Quotas"]},"post":{"description":"Create or update client throughput quotas for a single entity. This operation is an upsert.","operationId":"QuotaService_SetQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetQuotaResponse"}}},"description":"Quota Set"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set a quota","tags":["Quotas"]}},"/v1/quotas:batchDelete":{"post":{"description":"Delete client quotas for multiple entities and values in a single request.","operationId":"QuotaService_BatchDeleteQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteQuotaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete multiple quotas","tags":["Quotas"]}},"/v1/quotas:batchSet":{"post":{"description":"Create or update client throughput quotas for multiple entities in a single request.","operationId":"QuotaService_BatchSetQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSetQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSetQuotaResponse"}}},"description":"Quotas Set"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set multiple quotas","tags":["Quotas"]}},"/v1/quotas:delete":{"post":{"description":"Delete client quotas for single entity and value.","operationId":"QuotaService_DeleteQuota","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteQuotaRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteQuotaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a quota","tags":["Quotas"]}},"/v1/redpanda-connect/components":{"get":{"description":"Returns a JSON list of available [components](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about), filtered by component type.","operationId":"PipelineService_ListComponents","parameters":[{"in":"query","name":"read_mask","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListComponentsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the list of available components","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/config-schema":{"get":{"description":"The configuration schema includes available [components and processors](https://docs.redpanda.com/redpanda-cloud/develop/connect/components/about) in this Redpanda Connect instance.","operationId":"PipelineService_GetPipelineServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelineServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect pipeline configurations","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/mcp-servers":{"get":{"description":"List Redpanda Connect MCP Servers. Optional: filter based on MCP server name.","operationId":"MCPServerService_ListMCPServers","parameters":[{"description":"Any MCP Server that partially match this name will be returned.","in":"query","name":"filter.display_name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"description":"Match MCP servers that use this secret ID.","in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMCPServersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect MCP Servers","tags":["Redpanda Connect MCP servers"]},"post":{"description":"Create a new Redpanda Connect MCP Server.","operationId":"MCPServerService_CreateMCPServer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerCreate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}":{"delete":{"description":"Delete a Redpanda Connect MCP server.","operationId":"MCPServerService_DeleteMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"get":{"description":"Get a specific Redpanda Connect MCP server.","operationId":"MCPServerService_GetMCPServer","parameters":[{"description":"MCP server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"put":{"description":"Update the configuration of a Redpanda Connect MCP server.","operationId":"MCPServerService_UpdateMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerUpdate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}:start":{"post":{"description":"Start a stopped Redpanda Connect MCP server.","operationId":"MCPServerService_StartMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers/{id}:stop":{"post":{"description":"Stop a running Redpanda Connect MCP server.","operationId":"MCPServerService_StopMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServer"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers:getConfigSchema":{"get":{"description":"The configuration schema includes available components and processors in this Redpanda Connect MCP Server instance.","operationId":"MCPServerService_GetMCPServerServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMCPServerServiceConfigSchemaResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect MCP Servers configurations.","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/mcp-servers:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect MCP tools YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"MCPServerService_LintMCPConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect MCP tools configuration","tags":["Redpanda Connect MCP servers"]}},"/v1/redpanda-connect/pipelines":{"get":{"description":"List Redpanda Connect pipelines. Optional: filter based on pipeline name.","operationId":"PipelineService_ListPipelines","parameters":[{"description":"Any pipelines that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPipelinesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect pipelines","tags":["Redpanda Connect Pipelines"]},"post":{"description":"Create a new Redpanda Connect pipeline.","operationId":"PipelineService_CreatePipeline","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineCreate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines-by-secrets":{"get":{"description":"Get Redpanda Connect pipelines by secrets.","operationId":"PipelineService_GetPipelinesBySecrets","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesBySecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines by secrets","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines-for-secret":{"get":{"description":"Get Redpanda Connect pipelines for a given secret.","operationId":"PipelineService_GetPipelinesForSecret","parameters":[{"description":"Secret ID.","in":"query","name":"secret_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPipelinesForSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipelines for secret","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}":{"delete":{"description":"Delete a Redpanda Connect pipeline.","operationId":"PipelineService_DeletePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]},"get":{"description":"Get a specific Redpanda Connect pipeline.","operationId":"PipelineService_GetPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]},"put":{"description":"Update the [configuration](https://docs.redpanda.com/redpanda-cloud/develop/connect/configuration/about) of a Redpanda Connect pipeline.","operationId":"PipelineService_UpdatePipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineUpdate"}}},"required":true,"x-originalParamName":"pipeline"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}/start":{"put":{"description":"Start a stopped Redpanda Connect pipeline.","operationId":"PipelineService_StartPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Started"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines/{id}/stop":{"put":{"description":"Stop a running Redpanda Connect pipeline.","operationId":"PipelineService_StopPipeline","parameters":[{"description":"Pipeline ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pipeline"}}},"description":"Stopped"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect pipeline","tags":["Redpanda Connect Pipelines"]}},"/v1/redpanda-connect/pipelines:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect pipeline YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"PipelineService_LintPipelineConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintPipelineConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintPipelineConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect pipeline configuration","tags":["Redpanda Connect Pipelines"]}},"/v1/roles":{"get":{"description":"List roles. Optional: filter based on role name and principal.","operationId":"SecurityService_ListRoles","parameters":[{"description":"Filter results only roles named with the prefix.","in":"query","name":"filter.name_prefix","schema":{"type":"string"}},{"description":"Filter results to only roles with names which contain the string.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Return only roles assigned to this principal.","in":"query","name":"filter.principal","schema":{"type":"string"}},{"description":"Page size.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRolesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List roles","tags":["Security"]},"post":{"description":"Create a role.","operationId":"SecurityService_CreateRole","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"description":"The role to create.","required":true,"x-originalParamName":"role"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleResponse"}}},"description":"Role created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create role","tags":["Security"]}},"/v1/roles/{role_name}":{"delete":{"description":"Delete a role.","operationId":"SecurityService_DeleteRole","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}},{"description":"Whether to delete the ACLs bound to the role.","in":"query","name":"delete_acls","schema":{"type":"boolean"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Role deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete role","tags":["Security"]},"get":{"description":"Get a role.","operationId":"SecurityService_GetRole","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRoleResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get role","tags":["Security"]},"put":{"description":"Update a role.","operationId":"SecurityService_UpdateRoleMembership","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleMembershipBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleMembershipResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update role","tags":["Security"]}},"/v1/roles/{role_name}/members":{"get":{"description":"List members assigned to a role.","operationId":"SecurityService_ListRoleMembers","parameters":[{"description":"The role name.","in":"path","name":"role_name","required":true,"schema":{"type":"string"}},{"description":"Filter results to only members with names which contain the string.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Page size.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRoleMembersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List role members","tags":["Security"]}},"/v1/secret-scopes":{"get":{"description":"List supported secret scopes.","operationId":"SecretService_ListSecretScopes","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretScopesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List secret scopes","tags":["Secrets"]}},"/v1/secrets":{"get":{"description":"List secrets. Optional: filter based on secret name and labels.","operationId":"SecretService_ListSecrets","parameters":[{"description":"Substring match on secret name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.labels[string]","schema":{"type":"string"}},{"description":"Secret scopes to search for","in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSecretsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List secrets","tags":["Secrets"]},"post":{"description":"Create a secret.","operationId":"SecretService_CreateSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretRequest"}}},"description":"CreateSecretRequest is the request of CreateSecret.","required":true,"x-originalParamName":"body"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretResponse"}}},"description":"Secret created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create secret","tags":["Secrets"]}},"/v1/secrets/resources":{"get":{"description":"Get resources by secret.","operationId":"SecretService_ListResources","parameters":[{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"in":"query","name":"filter.scopes","schema":{"items":{"enum":["SCOPE_REDPANDA_CONNECT","SCOPE_REDPANDA_CLUSTER","SCOPE_MCP_SERVER","SCOPE_AI_AGENT","SCOPE_AI_GATEWAY"],"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResourcesResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get resources by secret","tags":["Secrets"]}},"/v1/secrets/{id}":{"delete":{"description":"Delete a secret.","operationId":"SecretService_DeleteSecret","parameters":[{"description":"The id of the secret to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Secret deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete secret","tags":["Secrets"]},"get":{"description":"Get a secret.","operationId":"SecretService_GetSecret","parameters":[{"description":"The id of the secret to retrieve.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get secret","tags":["Secrets"]},"put":{"description":"Update a secret.","operationId":"SecretService_UpdateSecret","parameters":[{"description":"Secret identifier.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update secret","tags":["Secrets"]}},"/v1/topics":{"get":{"description":"List topics, with partition count and replication factor. Optional: filter based on topic name.","operationId":"TopicService_ListTopics","parameters":[{"description":"Substring match on topic name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response. If not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List topics","tags":["Topics"]},"post":{"description":"Create a [topic](https://docs.redpanda.com/redpanda-cloud/get-started/create-topic/).","operationId":"TopicService_CreateTopic","parameters":[{"description":"If true, makes this request a dry run; everything is validated but\nno topics are actually created.","in":"query","name":"validate_only","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicRequest.Topic"}}},"description":"The topic to create.","required":true,"x-originalParamName":"topic"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicResponse"}}},"description":"Topic created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create topic","tags":["Topics"]}},"/v1/topics-partitions":{"patch":{"description":"Add partitions to existing topics. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_AddPartitionsToTopics","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPartitionsToTopicsRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPartitionsToTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Add topic partitions","tags":["Topics"]},"put":{"description":"Set partition counts for existing topics. New value must be equal to or larger than the current count of partitions in the topic. All topics will have the same final count of partitions. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_SetPartitionsToTopics","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPartitionsToTopicsRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPartitionsToTopicsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic partitions","tags":["Topics"]}},"/v1/topics/{topic_name}":{"delete":{"description":"Delete the Kafka topic with the requested name.","operationId":"TopicService_DeleteTopic","parameters":[{"description":"Topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Topic deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Requested topic does not exist"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete topic","tags":["Topics"]}},"/v1/topics/{topic_name}/configurations":{"get":{"description":"Get key-value configs for a topic.","operationId":"TopicService_GetTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get topic configurations","tags":["Topics"]},"patch":{"description":"Update a subset of the topic configurations.","operationId":"TopicService_UpdateTopicConfigurations","parameters":[{"description":"Topic name","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UpdateConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update topic configuration","tags":["Topics"]},"put":{"description":"Update the entire set of key-value configurations for a topic. Config entries that are not provided in the request are removed and will fall back to their default values.","operationId":"TopicService_SetTopicConfigurations","parameters":[{"description":"Name of topic.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SetConfiguration"},"type":"array"}}},"required":true,"x-originalParamName":"configurations"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicConfigurationsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic configurations","tags":["Topics"]}},"/v1/topics/{topic_name}/partitions":{"patch":{"description":"Add partitions to an existing topic. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_AddTopicPartitions","parameters":[{"description":"The topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTopicPartitionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTopicPartitionsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Add topic partitions","tags":["Topics"]},"put":{"description":"Set partitions to an existing topic. New value must be equal to or larger than the current count of partitions in the topic. Depending on the partitioning strategy used, this may impact ordering guarantees.","operationId":"TopicService_SetTopicPartitions","parameters":[{"description":"The topic name.","in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicPartitionsBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetTopicPartitionsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Set topic partitions","tags":["Topics"]}},"/v1/transforms":{"get":{"description":"Retrieve a list of Wasm transforms. Optional: filter based on transform name.","operationId":"TransformService_ListTransforms","parameters":[{"description":"Substring match on transform name. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","transforms":[{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic11","output-topic12"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]},{"environment_variables":[],"input_topic_name":"topic2","name":"transform2","output_topic_names":["output-topic21","output-topic22"],"statuses":[{"broker_id":2,"lag":2,"partition_id":2,"status":"PARTITION_STATUS_RUNNING"}]}]},"schema":{"$ref":"#/components/schemas/ListTransformsResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List transforms","tags":["Wasm Transforms"]},"put":{"description":"Initiate deployment of a new Wasm transform. This endpoint uses multipart/form-data encoding. Following deployment, a brief period is required before the Wasm transform becomes operational. Monitor the partition statuses to check whether the transform is active. This usually takes around 3s, but no longer than 10s.","operationId":"TransformService_DeployTransform","requestBody":{"content":{"multipart/form-data":{"schema":{"example":"{\"name\":\"redact-orders\", \"input_topic_name\":\"orders\", \"output_topic_names\":[\"orders-redacted\"], \"environment_variables\":[{\"key\":\"LOGGER_LEVEL\", \"value\":\"DEBUG\"}]}","properties":{"metadata":{"$ref":"#/components/schemas/DeployTransformRequest"},"wasm_binary":{"description":"Binary file containing the compiled WASM transform. The maximum size for this file is 10MiB.","format":"binary","type":"string"}},"type":"object"}}},"description":"Transform metadata as well as the WASM binary","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransformMetadata"}}},"description":"Created"}},"summary":"Deploy Transform","tags":["Wasm Transforms"]}},"/v1/transforms/{name}":{"delete":{"description":"Delete a Wasm transform with the requested name.","operationId":"TransformService_DeleteTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"Transform deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete transform","tags":["Wasm Transforms"]},"get":{"description":"Get a specific Wasm transform.","operationId":"TransformService_GetTransform","parameters":[{"description":"Name of transform.","example":{"name":"transform1"},"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"transform":{"environment_variables":[],"input_topic_name":"topic1","name":"transform1","output_topic_names":["output-topic1","output-topic2"],"statuses":[{"broker_id":1,"lag":1,"partition_id":1,"status":"PARTITION_STATUS_RUNNING"}]}},"schema":{"$ref":"#/components/schemas/GetTransformResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get transform","tags":["Wasm Transforms"]}},"/v1/users":{"get":{"description":"List users. Optional: filter based on username.","operationId":"UserService_ListUsers","parameters":[{"description":"Username.","in":"query","name":"filter.name","schema":{"type":"string"}},{"description":"Substring match on username. Case-sensitive.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"next_page_token":"","users":[{"name":"payment-service"},{"name":"jane"}]},"schema":{"$ref":"#/components/schemas/ListUsersResponse"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List users","tags":["Redpanda Users"]},"post":{"description":"Create a new user.","operationId":"UserService_CreateUser","requestBody":{"content":{"application/json":{"example":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service","password":"secure-password"},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"required":true,"x-originalParamName":"user"},"responses":{"201":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/CreateUserRequest.User"}}},"description":"User created"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create user","tags":["Redpanda Users"]}},"/v1/users/{name}":{"delete":{"description":"Delete the specified user","operationId":"UserService_DeleteUser","parameters":[{"description":"Username","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"example":{},"schema":{}}},"description":"User deleted successfully"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"404":{"content":{"application/json":{"example":{"code":"NOT_FOUND","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_RESOURCE_NOT_FOUND"}],"message":"user not found"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete user","tags":["Redpanda Users"]}},"/v1/users/{user.name}":{"put":{"description":"Update a user's credentials.","operationId":"UserService_UpdateUser","parameters":[{"description":"Username.","in":"path","name":"user.name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","password":"new-password"}},"schema":{"properties":{"mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"password":{"description":"Password.","type":"string"}},"type":"object"}}},"required":true,"x-originalParamName":"user"},"responses":{"200":{"content":{"application/json":{"example":{"user":{"mechanism":"SASL_MECHANISM_SCRAM_SHA_256","name":"payment-service"}},"schema":{"$ref":"#/components/schemas/UpdateUserResponse.User"}}},"description":"OK"},"400":{"content":{"application/json":{"example":{"code":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.ErrorInfo","domain":"redpanda.com/dataplane","metadata":{},"reason":"REASON_INVALID_INPUT"},{"@type":"type.googleapis.com/google.rpc.BadRequest","field_violations":[{"description":"value length must be at least 3 characters","field":"user.password","localized_message":null,"reason":""},{"description":"value is required","field":"user.mechanism","localized_message":null,"reason":""}]}],"message":"provided parameters are invalid"},"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Bad request. Check API documentation and update request."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Unauthenticated."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Internal Server Error. Reach out to support."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update user","tags":["Redpanda Users"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Manage Redpanda access control lists (ACLs). See [Redpanda Cloud Authorization](https://docs.redpanda.com/redpanda-cloud/security/authorization/cloud-authorization/) for more information.","name":"Redpanda ACLs"},{"description":"Manage Redpanda topics stored in object storage. See: [Mountable Topics](https://docs.redpanda.com/redpanda-cloud/manage/mountable-topics/)","name":"Cloud Storage"},{"description":"Manage Wasm transforms in Redpanda.","name":"Wasm Transforms"},{"description":"Manage [connectors](https://docs.redpanda.com/redpanda-cloud/develop/managed-connectors/) and interact with the Kafka Connect API.","name":"Kafka Connect"},{"description":"Create and manage [Redpanda Connect](https://docs.redpanda.com/redpanda-cloud/develop/connect/about) pipelines and their configurations.","name":"Redpanda Connect Pipelines"},{"description":"Create and manage Redpanda Connect MCP servers and their configurations.","name":"Redpanda Connect MCP servers"},{"description":"Monitoring operations for Redpanda.","name":"Monitoring"},{"description":"Manage client throughput limits. See [Redpanda Client Throughput Limits](https://docs.redpanda.com/current/manage/cluster-maintenance/manage-throughput/#client-throughput-limits) for more information.","name":"Quotas"},{"description":"Manage [secrets](https://docs.redpanda.com/redpanda-cloud/security/secrets) for Redpanda Cloud.","name":"Secrets"},{"description":"Manage Redpanda roles.","name":"Security"},{"description":"Manage Redpanda topics.","name":"Topics"},{"description":"Manage Redpanda users. For more information, see [Role-Based Access Control](https://docs.redpanda.com/redpanda-cloud/security/authorization/rbac/).","name":"Redpanda Users"}]} \ No newline at end of file diff --git a/proto/gen/openapi/openapi.v1alpha3.json b/proto/gen/openapi/openapi.v1alpha3.json index b86839bba..55b39cf2f 100644 --- a/proto/gen/openapi/openapi.v1alpha3.json +++ b/proto/gen/openapi/openapi.v1alpha3.json @@ -1 +1 @@ -{"components":{"schemas":{"ACLAccessFilter":{"properties":{"host":{"title":"The host to match. If not set, will default to match all hosts\nwith the specified `operation` and `permission_type`. Note that\nthe asterisk `*` is literal and matches hosts that are set to `*`","type":"string"},"operation":{"$ref":"#/components/schemas/ACLOperation"},"permission_type":{"$ref":"#/components/schemas/ACLPermissionType"},"principal":{"title":"The name of the principal, if not set will default to match\nall principals with the specified `operation` and `permission_type`","type":"string"}},"title":"Filter an ACL based on its access","type":"object"},"ACLFilter":{"properties":{"access_filter":{"$ref":"#/components/schemas/ACLAccessFilter"},"resource_filter":{"$ref":"#/components/schemas/ACLResourceFilter"}},"title":"A filter for ACLs","type":"object"},"ACLOperation":{"enum":["ACL_OPERATION_ANY","ACL_OPERATION_READ","ACL_OPERATION_WRITE","ACL_OPERATION_CREATE","ACL_OPERATION_REMOVE","ACL_OPERATION_ALTER","ACL_OPERATION_DESCRIBE","ACL_OPERATION_CLUSTER_ACTION","ACL_OPERATION_DESCRIBE_CONFIGS","ACL_OPERATION_ALTER_CONFIGS","ACL_OPERATION_IDEMPOTENT_WRITE"],"title":"The ACL operation to match","type":"string"},"ACLPattern":{"description":"- ACL_PATTERN_ANY: Wildcard to match any pattern\n - ACL_PATTERN_LITERAL: Match a literal string\n - ACL_PATTERN_PREFIXED: Match a prefix\n - ACL_PATTERN_MATCH: Match serves as a catch-all for all the names of a topic\nthe principal is authorized to access","enum":["ACL_PATTERN_ANY","ACL_PATTERN_LITERAL","ACL_PATTERN_PREFIXED","ACL_PATTERN_MATCH"],"title":"The ACL pattern type","type":"string"},"ACLPermissionType":{"enum":["ACL_PERMISSION_TYPE_ANY","ACL_PERMISSION_TYPE_ALLOW","ACL_PERMISSION_TYPE_DENY"],"title":"ACL permission types","type":"string"},"ACLResource":{"description":"- ACL_RESOURCE_ANY: Wildcard for selecting any ACL resource\n - ACL_RESOURCE_CLUSTER: Cluster wide resource\n - ACL_RESOURCE_GROUP: Consumer group resource\n - ACL_RESOURCE_TOPIC: Topic resource\n - ACL_RESOURCE_TXN_ID: Transaction ID resource\n - ACL_RESOURCE_SR_SUBJECT: Schema Registry subject resource\n - ACL_RESOURCE_SR_REGISTRY: Schema Registry wide resource\n - ACL_RESOURCE_SR_ANY: Wildcard to match any SR ACL resource","enum":["ACL_RESOURCE_ANY","ACL_RESOURCE_CLUSTER","ACL_RESOURCE_GROUP","ACL_RESOURCE_TOPIC","ACL_RESOURCE_TXN_ID","ACL_RESOURCE_SR_SUBJECT","ACL_RESOURCE_SR_REGISTRY","ACL_RESOURCE_SR_ANY"],"title":"The ACL resource types","type":"string"},"ACLResourceFilter":{"properties":{"name":{"title":"Name, if not given will default to match all items in `resource_type`.\nNote that asterisk `*` is literal and matches resource ACLs\nthat are named `*`","type":"string"},"pattern_type":{"$ref":"#/components/schemas/ACLPattern"},"resource_type":{"$ref":"#/components/schemas/ACLResource"}},"title":"A filter to match ACLs for resources","type":"object"},"AIAgent":{"description":"Defines the AI Agent resource.","properties":{"description":{"description":"Optional AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"id":{"description":"AI Agent ID.","readOnly":true,"type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"state":{"$ref":"#/components/schemas/AIAgent.State"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to an AI agent resource.\nThey help organize AI agents and enable filtering when listing them.","type":"object"},"url":{"description":"URL to connect to the AI agent endpoint.","readOnly":true,"type":"string"}},"required":["display_name","system_prompt","provider","model","service_account"],"type":"object"},"AIAgent.MCPServer":{"description":"MCP server configuration.","properties":{"id":{"description":"ID of the Redpanda MCP server.","type":"string"}},"type":"object"},"AIAgent.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/AIAgent.Provider.OpenAI"}},"type":"object"},"AIAgent.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"required":["api_key"],"type":"object"},"AIAgent.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"required":["client_id","client_secret"],"type":"object"},"AIAgent.State":{"description":"State of the AI agent.\n\n - STATE_STARTING: The AI agent is starting.\n - STATE_RUNNING: The AI agent is running and ready to handle requests.\n - STATE_STOPPING: The AI agent is in the process of stopping.\n - STATE_STOPPED: The AI agent is stopped and in paused state.\n - STATE_ERROR: The AI agent encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"AIAgentCreate":{"description":"AIAgentCreate contains the details for the AI agent creation request.","properties":{"description":{"description":"AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to an AI agent.","type":"object"}},"required":["display_name","system_prompt","provider","model","service_account"],"type":"object"},"AIAgentUpdate":{"properties":{"description":{"description":"AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"type":"object"},"AIGateway":{"description":"Defines the AI Gateway resource.","properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"Optional AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"id":{"description":"AI Gateway ID.","readOnly":true,"type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"state":{"$ref":"#/components/schemas/AIGateway.State"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to an AI gateway resource.\nThey help organize AI gateways and enable filtering when listing them.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"AIGateway.State":{"description":"State of the AI gateway.\n\n - STATE_STARTING: The AI gateway is starting.\n - STATE_RUNNING: The AI gateway is running and ready to handle requests.\n - STATE_STOPPING: The AI gateway is in the process of stopping.\n - STATE_STOPPED: The AI gateway is stopped and in paused state.\n - STATE_ERROR: The AI gateway encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"AIGatewayCreate":{"description":"AIGatewayCreate contains the details for the AI gateway creation request.","properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to an AI gateway.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"AIGatewayUpdate":{"properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"type":"object"},"Any":{"additionalProperties":{},"properties":{"@type":{"type":"string"}},"type":"object"},"AuthenticationConfiguration":{"properties":{"plain_configuration":{"$ref":"#/components/schemas/PlainConfig"},"scram_configuration":{"$ref":"#/components/schemas/ScramConfig"}},"title":"Authentication config. Supports:\n* SASL/SCRAM\n* SASL/PLAIN","type":"object"},"ComponentType":{"description":"Component type for this tool.","enum":["COMPONENT_TYPE_PROCESSOR","COMPONENT_TYPE_CACHE","COMPONENT_TYPE_INPUT","COMPONENT_TYPE_OUTPUT"],"type":"string"},"ConfigurationYAMLSchema":{"properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_schema":{"description":"JSON schema of the configuration components that are allowed for MCP Servers.","type":"string"}},"type":"object"},"ConsumerOffsetSyncOptions":{"properties":{"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"group_filters":{"items":{"$ref":"#/components/schemas/NameFilter"},"title":"The filters","type":"array"},"interval":{"title":"Sync interval\nIf 0 provided, defaults to 30 seconds","type":"string"},"paused":{"title":"Allows user to pause the consumer offset sync task. If paused, then\nthe task will enter the 'paused' state and not sync consumer offsets from\nthe source cluster","type":"boolean"}},"title":"Options for syncing consumer offsets","type":"object"},"CreateAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"CreateAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"CreateKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"CreateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"DeleteAIAgentResponse":{"type":"object"},"DeleteAIGatewayResponse":{"type":"object"},"DeleteKnowledgeBaseResponse":{"type":"object"},"DeleteMCPServerResponse":{"type":"object"},"EarliestOffset":{"description":"Start at the earliest offset in the partition.","type":"object"},"FailOverBody":{"properties":{"shadow_topic_name":{"title":"The name of the shadow topic to fail over, if not set will fail over\nthe entire shadow link","type":"string"}},"title":"Request to fail over a shadow link or a single shadow topic","type":"object"},"FilterType":{"description":"- FILTER_TYPE_INCLUDE: Include the items that match the filter\n - FILTER_TYPE_EXCLUDE: Exclude the items that match the filter","enum":["FILTER_TYPE_INCLUDE","FILTER_TYPE_EXCLUDE"],"title":"What type of filter this is, include or exclude","type":"string"},"GetAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"GetAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"GetKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"GetMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"GetMCPServerServiceConfigSchemaResponse":{"properties":{"configuration_yamls":{"description":"The configuration schema for the MCP Server.","items":{"$ref":"#/components/schemas/ConfigurationYAMLSchema"},"type":"array"}},"type":"object"},"GetShadowMetricsResponse":{"properties":{"error_topics":{"format":"uint64","type":"string"},"failed_over_topics":{"format":"uint64","type":"string"},"total_topics_replicated":{"format":"uint64","type":"string"}},"type":"object"},"KnowledgeBase":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBase.Generation"},"id":{"readOnly":true,"type":"string"},"indexer":{"$ref":"#/components/schemas/KnowledgeBase.Indexer"},"retrieval_api_url":{"readOnly":true,"type":"string"},"retriever":{"$ref":"#/components/schemas/KnowledgeBase.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBase.VectorDatabase"}},"required":["id","display_name","vector_database","embedding_generator","generation"],"type":"object"},"KnowledgeBase.EmbeddingGenerator":{"properties":{"dimensions":{"format":"int32","type":"integer"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider"}},"required":["provider","dimensions","model"],"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"required":["api_key"],"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBase.Generation":{"properties":{"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.Generation.Provider"}},"required":["provider","model"],"type":"object"},"KnowledgeBase.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBase.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBase.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBase.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBase.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker"}},"type":"object"},"KnowledgeBase.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBase.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBase.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBase.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBase.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBase.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"},"table":{"type":"string"}},"required":["dsn","table"],"type":"object"},"KnowledgeBaseCreate":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation"},"indexer":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Indexer"},"retriever":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBaseCreate.VectorDatabase"}},"required":["display_name","vector_database","embedding_generator"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator":{"properties":{"dimensions":{"format":"int32","type":"integer"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider"}},"required":["provider","dimensions","model"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"required":["api_key"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseCreate.Generation":{"properties":{"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation.Provider"}},"required":["provider","model"],"type":"object"},"KnowledgeBaseCreate.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseCreate.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseCreate.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBaseCreate.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBaseCreate.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBaseCreate.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBaseCreate.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"},"table":{"type":"string"}},"required":["dsn","table"],"type":"object"},"KnowledgeBaseUpdate":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation"},"indexer":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Indexer"},"retriever":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.VectorDatabase"}},"required":["display_name","vector_database","embedding_generator"],"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator":{"properties":{"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider"}},"required":["provider"],"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.Generation":{"properties":{"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation.Provider"}},"required":["provider"],"type":"object"},"KnowledgeBaseUpdate.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseUpdate.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBaseUpdate.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBaseUpdate.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBaseUpdate.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"}},"required":["dsn"],"type":"object"},"LatestOffset":{"description":"Start at the latest offset in the partition.","type":"object"},"LintHint":{"description":"LintHint is a generic linting hint.","properties":{"column":{"description":"Column number of the lint.","format":"int32","type":"integer"},"hint":{"description":"The hint message.","type":"string"},"line":{"description":"Line number of the lint.","format":"int32","type":"integer"},"lint_type":{"description":"Optional lint type or enum.","type":"string"}},"type":"object"},"LintMCPConfigRequest":{"properties":{"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP tools configuration in YAML format.","type":"object"}},"required":["tools"],"type":"object"},"LintMCPConfigResponse":{"properties":{"lint_hints":{"additionalProperties":{"$ref":"#/components/schemas/LintHint"},"description":"A list of linting issues.","type":"object"}},"type":"object"},"ListAIAgentsRequest.Filter":{"properties":{"mcp_server_id":{"type":"string"},"name_contains":{"description":"Any AI agents that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"AI agents that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListAIAgentsResponse":{"properties":{"ai_agents":{"items":{"$ref":"#/components/schemas/AIAgent"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListAIGatewaysRequest.Filter":{"properties":{"name_contains":{"description":"Any AI gateways that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"AI gateways that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListAIGatewaysResponse":{"properties":{"ai_gateways":{"items":{"$ref":"#/components/schemas/AIGateway"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListKnowledgeBasesRequest.Filter":{"properties":{"name_contains":{"description":"Any KnowledgeBase that partially match this name will be returned.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"KnowledgeBases that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListKnowledgeBasesResponse":{"properties":{"knowledge_bases":{"items":{"$ref":"#/components/schemas/KnowledgeBase"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListMCPServersRequest.Filter":{"properties":{"display_name_contains":{"description":"Any MCP Server that partially match this name will be returned.","type":"string"},"secret_id":{"description":"Match MCP servers that use this secret ID.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"MCP servers that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListMCPServersResponse":{"properties":{"mcp_servers":{"items":{"$ref":"#/components/schemas/v1alpha3.MCPServer"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListShadowLinkTopicsRequest.Filter":{"properties":{"topic_name_contains":{"description":"Substring match on shadow topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListShadowLinkTopicsResponse":{"properties":{"next_page_token":{"title":"Token to retrieve the next page","type":"string"},"shadow_topics":{"items":{"$ref":"#/components/schemas/v1alpha3.ShadowTopic"},"title":"Shadow topic status information","type":"array"}},"type":"object"},"MCPServer.State":{"description":"State of the MCP server.\n\n - STATE_STARTING: The MCP server is starting.\n - STATE_RUNNING: The MCP server is running.\n - STATE_STOPPING: The MCP server is in the process of stopping.\n - STATE_STOPPED: The MCP server is stopped and in paused state.\n - STATE_ERROR: The MCP server encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"MCPServer.Status":{"description":"MCP server status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"MCPServerCreate":{"description":"MCPServerCreate contains the details for the MCP Server creation request.","properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a MCP server.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"required":["display_name","tools"],"type":"object"},"MCPServerUpdate":{"properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP servers name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"type":"object"},"NameFilter":{"properties":{"filter_type":{"$ref":"#/components/schemas/FilterType"},"name":{"title":"The resource name, or \"*\"\nNote if \"*\", must be the _only_ character\nand `pattern_type` must be `PATTERN_TYPE_LITERAL`","type":"string"},"pattern_type":{"$ref":"#/components/schemas/PatternType"}},"title":"A filter based on the name of a resource","type":"object"},"PartitionInfo":{"properties":{"high_watermark":{"format":"int64","type":"string"},"lag":{"format":"int64","type":"string"},"partition_id":{"format":"int32","type":"integer"},"source_high_watermark":{"format":"int64","type":"string"},"source_last_stable_offset":{"format":"int64","type":"string"},"source_last_updated_timestamp":{"format":"date-time","type":"string"}},"title":"Partition-level information","type":"object"},"PatternType":{"description":"- PATTERN_TYPE_LITERAL: Must match the filter exactly\n - PATTERN_TYPE_PREFIX: Will match anything that starts with filter","enum":["PATTERN_TYPE_LITERAL","PATTERN_TYPE_PREFIX"],"title":"The matching pattern type","type":"string"},"PlainConfig":{"properties":{"password":{"title":"Password","type":"string"},"password_set":{"readOnly":true,"title":"Indicates that the password has been set","type":"boolean"},"password_set_at":{"format":"date-time","readOnly":true,"title":"Timestamp of when the password was last set - only valid if password_set\nis true","type":"string"},"username":{"title":"PLAIN username","type":"string"}},"title":"PLAIN settings","type":"object"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"SchemaRegistrySyncOptions":{"description":"Options for how the Schema Registry is synced.","properties":{"shadow_schema_registry_topic":{"$ref":"#/components/schemas/ShadowSchemaRegistryTopic"}},"type":"object"},"ScramConfig":{"properties":{"password":{"title":"Password","type":"string"},"password_set":{"readOnly":true,"title":"Indicates that the password has been set","type":"boolean"},"password_set_at":{"format":"date-time","readOnly":true,"title":"Timestamp of when the password was last set - only valid if password_set\nis true","type":"string"},"scram_mechanism":{"$ref":"#/components/schemas/ScramMechanism"},"username":{"title":"SCRAM username","type":"string"}},"title":"SCRAM settings","type":"object"},"ScramMechanism":{"description":"- SCRAM_MECHANISM_SCRAM_SHA_256: SCRAM-SHA-256\n - SCRAM_MECHANISM_SCRAM_SHA_512: SCRAM-SHA-512","enum":["SCRAM_MECHANISM_SCRAM_SHA_256","SCRAM_MECHANISM_SCRAM_SHA_512"],"title":"Valid SCRAM mechanisms","type":"string"},"SecuritySettingsSyncOptions":{"properties":{"acl_filters":{"items":{"$ref":"#/components/schemas/ACLFilter"},"title":"ACL filters","type":"array"},"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"interval":{"title":"Sync interval\nIf 0 provided, defaults to 30 seconds","type":"string"},"paused":{"title":"Allows user to pause the security settings sync task. If paused,\nthen the task will enter the 'paused' state and will not sync security\nsettings from the source cluster","type":"boolean"}},"title":"Options for syncing security settings","type":"object"},"ShadowLinkClientOptions":{"properties":{"authentication_configuration":{"$ref":"#/components/schemas/AuthenticationConfiguration"},"bootstrap_servers":{"items":{"type":"string"},"title":"The bootstrap servers to use","type":"array"},"client_id":{"readOnly":true,"title":"The Client ID for the Kafka RPC requests setn by this cluster to the\nsource cluster","type":"string"},"connection_timeout_ms":{"format":"int32","title":"Connection timeout.\nIf 0 is provided, defaults to 1 second","type":"integer"},"effective_connection_timeout_ms":{"format":"int32","readOnly":true,"title":"The effective connection timeout in milliseconds","type":"integer"},"effective_fetch_max_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch max bytes","type":"integer"},"effective_fetch_min_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch min bytes","type":"integer"},"effective_fetch_partition_max_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch partition max bytes","type":"integer"},"effective_fetch_wait_max_ms":{"format":"int32","readOnly":true,"title":"The effective fetch wait max in milliseconds","type":"integer"},"effective_metadata_max_age_ms":{"format":"int32","readOnly":true,"title":"The effective metadata max age in milliseconds","type":"integer"},"effective_retry_backoff_ms":{"format":"int32","readOnly":true,"title":"The effective retry backoff in milliseconds","type":"integer"},"fetch_max_bytes":{"format":"int32","title":"Fetch max bytes.\nIf 0 is provided, defaults to 20 MiB","type":"integer"},"fetch_min_bytes":{"format":"int32","title":"Fetch min bytes.\nIf 0 is provided, defaults to 5 MiB","type":"integer"},"fetch_partition_max_bytes":{"format":"int32","title":"Fetch partition max bytes.\nIf 0 is provided, defaults to 5 MiB","type":"integer"},"fetch_wait_max_ms":{"format":"int32","title":"Fetch request timeout.\nIf 0 is provided, defaults to 500ms","type":"integer"},"metadata_max_age_ms":{"format":"int32","title":"Max metadata age.\nIf 0 is provided, defaults to 10 seconds","type":"integer"},"retry_backoff_ms":{"format":"int32","title":"Retry base backoff.\nIf 0 is provided, defaults to 100ms","type":"integer"},"source_cluster_id":{"title":"If provided, this is the expected ID of the source cluster. If it does\nnot match then the connection will be rejected. If provided, this value\nmust match the `ClusterId` field returned in the Kafka Metadata response\nmessage","type":"string"},"tls_settings":{"$ref":"#/components/schemas/TLSSettings"}},"required":["bootstrap_servers"],"title":"Options for the client link","type":"object"},"ShadowLinkConfigurations":{"properties":{"client_options":{"$ref":"#/components/schemas/ShadowLinkClientOptions"},"consumer_offset_sync_options":{"$ref":"#/components/schemas/ConsumerOffsetSyncOptions"},"schema_registry_sync_options":{"$ref":"#/components/schemas/SchemaRegistrySyncOptions"},"security_sync_options":{"$ref":"#/components/schemas/SecuritySettingsSyncOptions"},"topic_metadata_sync_options":{"$ref":"#/components/schemas/TopicMetadataSyncOptions"}},"title":"ShadowLink options","type":"object"},"ShadowLinkState":{"description":"- SHADOW_LINK_STATE_ACTIVE: Shadow link is active\n - SHADOW_LINK_STATE_PAUSED: Shadow link was paused","enum":["SHADOW_LINK_STATE_ACTIVE","SHADOW_LINK_STATE_PAUSED"],"title":"State of the shadow link","type":"string"},"ShadowLinkTaskStatus":{"properties":{"broker_id":{"format":"int32","title":"The broker the task is running on","type":"integer"},"name":{"title":"Name of the task","type":"string"},"reason":{"title":"Reason for task being in state","type":"string"},"shard":{"format":"int32","title":"The shard the task is running on","type":"integer"},"state":{"$ref":"#/components/schemas/TaskState"}},"title":"Status of a task","type":"object"},"ShadowSchemaRegistryTopic":{"description":"Shadow the entire source cluster's Schema Registry byte-for-byte.\nIf set, the Shadow Link will attempt to add the `_schemas`\ntopic to the list of Shadow Topics as long as:\n1. The `_schemas` topic exists on the source cluster\n2. The `_schemas` topic does not exist on the shadow cluster, or it is\nempty.\nIf either of the above conditions are _not_ met, then the `_schemas`\ntopic will _not_ be shadowed by this cluster. Unsetting this flag will\n_not_ remove the `_schemas` topic from shadowing if it has already been\nadded. Once made a shadow topic, the\n`_schemas` topic will be replicated byte-for-byte. To stop shadowing the\n`_schemas` topic, unset this field, then either fail-over the topic or\ndelete it.","type":"object"},"ShadowTopicState":{"description":"- SHADOW_TOPIC_STATE_ACTIVE: Shadow topic is active\n - SHADOW_TOPIC_STATE_FAULTED: Shadow topic has faulted\n - SHADOW_TOPIC_STATE_PAUSED: Shadow topic has been paused\n - SHADOW_TOPIC_STATE_FAILING_OVER: Shadow topic is in the process of failing over\n - SHADOW_TOPIC_STATE_FAILED_OVER: Shadow topic has failed over successfully\n - SHADOW_TOPIC_STATE_PROMOTING: Shadow topic is in the process of being promoted\n - SHADOW_TOPIC_STATE_PROMOTED: Shadow topic is promoted successfully","enum":["SHADOW_TOPIC_STATE_ACTIVE","SHADOW_TOPIC_STATE_FAULTED","SHADOW_TOPIC_STATE_PAUSED","SHADOW_TOPIC_STATE_FAILING_OVER","SHADOW_TOPIC_STATE_FAILED_OVER","SHADOW_TOPIC_STATE_PROMOTING","SHADOW_TOPIC_STATE_PROMOTED"],"title":"State of a shadow topic","type":"string"},"StartAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"StartAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"StartMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"StopAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"StopAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"StopMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"TLSFileSettings":{"properties":{"ca_path":{"title":"Path to the CA","type":"string"},"cert_path":{"title":"Path to the cert","type":"string"},"key_path":{"title":"Key and Cert are optional but if one is provided, then both must be\nPath to the key","type":"string"}},"title":"TLS file settings","type":"object"},"TLSPEMSettings":{"properties":{"ca":{"title":"The CA","type":"string"},"cert":{"title":"The cert","type":"string"},"key":{"title":"Key and Cert are optional but if one is provided, then both must be\nThe key","type":"string"},"key_fingerprint":{"readOnly":true,"title":"The SHA-256 of the key, in base64 format","type":"string"}},"title":"Used when providing the TLS information in PEM format","type":"object"},"TLSSettings":{"properties":{"do_not_set_sni_hostname":{"title":"If true, the SNI hostname will not be provided when TLS is used","type":"boolean"},"enabled":{"title":"Whether or not TLS is enabled","type":"boolean"},"tls_file_settings":{"$ref":"#/components/schemas/TLSFileSettings"},"tls_pem_settings":{"$ref":"#/components/schemas/TLSPEMSettings"}},"title":"TLS settings","type":"object"},"TaskState":{"description":"- TASK_STATE_ACTIVE: Task is active\n - TASK_STATE_PAUSED: Task was paused\n - TASK_STATE_LINK_UNAVAILABLE: Task is unable to communicate with source cluster\n - TASK_STATE_NOT_RUNNING: Task is not running\n - TASK_STATE_FAULTED: Task is faulted","enum":["TASK_STATE_ACTIVE","TASK_STATE_PAUSED","TASK_STATE_LINK_UNAVAILABLE","TASK_STATE_NOT_RUNNING","TASK_STATE_FAULTED"],"title":"Task states","type":"string"},"Tool":{"description":"A configuration tool for the MCP server.","properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_yaml":{"description":"The contents of the configuration tool in YAML format.","type":"string"}},"required":["config_yaml"],"type":"object"},"TopicMetadataSyncOptions":{"properties":{"auto_create_shadow_topic_filters":{"description":"List of filters that indicate which topics should be automatically\ncreated as shadow topics on the shadow cluster. This only controls\nautomatic creation of shadow topics and does not effect the state of the\nmirror topic once it is created.\nLiteral filters for __consumer_offsets, _redpanda.audit_log and _schemas\nwill be rejected as well as prefix filters to match topics prefixed with\n_redpanda or __redpanda.\nWildcard `*` is permitted only for literal filters and will _not_ match\nany topics that start with _redpanda or __redpanda. If users wish to\nshadow topics that start with _redpanda or __redpanda, they should\nprovide a literal filter for those topics.","items":{"$ref":"#/components/schemas/NameFilter"},"type":"array"},"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"exclude_default":{"description":"If this is true, then only the properties listed in\n`synced_shadow_topic_properties` will be synced.","title":"If false, then the following topic properties will be synced by default:\n- `compression.type`\n- `retention.bytes`\n- `retention.ms`\n- `delete.retention.ms`\n- Replication Factor\n- `min.compaction.lag.ms`\n- `max.compaction.lag.ms`","type":"boolean"},"interval":{"title":"How often to sync metadata\nIf 0 provided, defaults to 30 seconds","type":"string"},"paused":{"title":"Allows user to pause the topic sync task. If paused, then\nthe task will enter the 'paused' state and not sync topics or their\nproperties from the source cluster","type":"boolean"},"start_at_earliest":{"$ref":"#/components/schemas/EarliestOffset"},"start_at_latest":{"$ref":"#/components/schemas/LatestOffset"},"start_at_timestamp":{"description":"Enables data replication from the first offset on the\nsource topic/partition where the record's timestamp is\nat or after the specified timestamp.","format":"date-time","type":"string"},"synced_shadow_topic_properties":{"description":"The following properties are not allowed to be replicated and adding them\nto this list will result in an error:\n- `redpanda.remote.readreplica`\n- `redpanda.remote.recovery`\n- `redpanda.remote.allowgaps`\n- `redpanda.virtual.cluster.id`\n- `redpanda.leaders.preference`\n- `redpanda.cloud_topic.enabled`\n\nThis list is a list of properties in addition to the default properties\nthat will be synced. See `exclude_default`.","items":{"type":"string"},"title":"List of topic properties that should be synced from the source topic.\nThe following properties will always be replicated\n- Partition count\n- `max.message.bytes`\n- `cleanup.policy`\n- `timestamp.type`","type":"array"}},"title":"Options for syncing topic metadata","type":"object"},"UpdateAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"UpdateAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"UpdateKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"UpdateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"rpc.Status":{"properties":{"code":{"format":"int32","type":"integer"},"details":{"items":{"$ref":"#/components/schemas/Any"},"type":"array"},"message":{"type":"string"}},"type":"object"},"v1alpha3.FailOverResponse":{"properties":{"failed_over_topics":{"items":{"type":"string"},"title":"List of topics that were failed over\nIf shadow_topic_name was specified in the request, this will contain only that topic\nIf shadow_topic_name was not specified, this will contain all topics in the shadow link","type":"array"},"name":{"title":"Name of the shadow link that was failed over","type":"string"}},"type":"object"},"v1alpha3.GetShadowLinkResponse":{"properties":{"shadow_link":{"$ref":"#/components/schemas/v1alpha3.ShadowLink"}},"type":"object"},"v1alpha3.GetShadowTopicResponse":{"properties":{"partitions":{"items":{"$ref":"#/components/schemas/PartitionInfo"},"type":"array"},"state":{"$ref":"#/components/schemas/ShadowTopicState"},"topic_name":{"type":"string"},"total_lag":{"format":"int64","type":"string"},"total_partitions":{"format":"int32","type":"integer"}},"type":"object"},"v1alpha3.MCPServer":{"description":"Defines the MCP server resource.","properties":{"description":{"description":"Optional MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"id":{"description":"MCP Server ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"state":{"$ref":"#/components/schemas/MCPServer.State"},"status":{"$ref":"#/components/schemas/MCPServer.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a MCP server resource.\nThey help organize MCP servers and enable filtering when listing them.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"},"url":{"readOnly":true,"title":"URL to connect to the MCP server","type":"string"}},"required":["id","display_name","tools"],"type":"object"},"v1alpha3.ShadowLink":{"properties":{"configurations":{"$ref":"#/components/schemas/ShadowLinkConfigurations"},"name":{"title":"Return name, configuration, and overall state","type":"string"},"state":{"$ref":"#/components/schemas/ShadowLinkState"},"synced_shadow_topic_properties":{"items":{"type":"string"},"type":"array"},"tasks_status":{"items":{"$ref":"#/components/schemas/ShadowLinkTaskStatus"},"type":"array"},"uid":{"type":"string"}},"type":"object"},"v1alpha3.ShadowTopic":{"properties":{"state":{"$ref":"#/components/schemas/ShadowTopicState"},"topic_name":{"type":"string"},"total_lag":{"format":"int64","type":"string"},"total_partitions":{"format":"int32","type":"integer"}},"type":"object"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1"},"openapi":"3.0.3","paths":{"/v1alpha3/ai-agents":{"get":{"description":"List AI agents. Optional: filter based on AI agent name.","operationId":"AIAgentService_ListAIAgents","parameters":[{"description":"Any AI agents that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"in":"query","name":"filter.mcp_server_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 50. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAIAgentsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List AI Agents","tags":["AI Agents"]},"post":{"description":"Create a new AI agent.","operationId":"AIAgentService_CreateAIAgent","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgentCreate"}}},"required":true,"x-originalParamName":"ai_agent"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Created"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}":{"delete":{"description":"Delete an AI agent.","operationId":"AIAgentService_DeleteAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete AI Agent","tags":["AI Agents"]},"get":{"description":"Get a specific AI agent.","operationId":"AIAgentService_GetAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get AI Agent","tags":["AI Agents"]},"put":{"description":"Update the configuration of an AI agent.","operationId":"AIAgentService_UpdateAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgentUpdate"}}},"required":true,"x-originalParamName":"ai_agent"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}:start":{"put":{"description":"Start a stopped AI agent.","operationId":"AIAgentService_StartAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}:stop":{"put":{"description":"Stop a running AI agent.","operationId":"AIAgentService_StopAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-gateways":{"get":{"description":"List AI gateways. Optional: filter based on AI gateway name.","operationId":"AIGatewayService_ListAIGateways","parameters":[{"description":"Any AI gateways that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 50. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAIGatewaysResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List AI Gateways","tags":["AI Gateways"]},"post":{"description":"Create a new AI gateway.","operationId":"AIGatewayService_CreateAIGateway","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGatewayCreate"}}},"required":true,"x-originalParamName":"ai_gateway"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Created"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}":{"delete":{"description":"Delete an AI gateway.","operationId":"AIGatewayService_DeleteAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete AI Gateway","tags":["AI Gateways"]},"get":{"description":"Get a specific AI gateway.","operationId":"AIGatewayService_GetAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get AI Gateway","tags":["AI Gateways"]},"put":{"description":"Update the configuration of an AI gateway.","operationId":"AIGatewayService_UpdateAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGatewayUpdate"}}},"required":true,"x-originalParamName":"ai_gateway"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}:start":{"put":{"description":"Start a stopped AI gateway.","operationId":"AIGatewayService_StartAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}:stop":{"put":{"description":"Stop a running AI gateway.","operationId":"AIGatewayService_StopAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/knowledge-bases":{"get":{"operationId":"KnowledgeBaseService_ListKnowledgeBases","parameters":[{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Any KnowledgeBase that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"post":{"operationId":"KnowledgeBaseService_CreateKnowledgeBase","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseCreate"}}},"required":true,"x-originalParamName":"knowledge_base"},"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]}},"/v1alpha3/knowledge-bases/{id}":{"delete":{"operationId":"KnowledgeBaseService_DeleteKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"get":{"operationId":"KnowledgeBaseService_GetKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"put":{"operationId":"KnowledgeBaseService_UpdateKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseUpdate"}}},"required":true,"x-originalParamName":"knowledge_base"},"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]}},"/v1alpha3/redpanda-connect/mcp-servers":{"get":{"description":"List Redpanda Connect MCP Servers. Optional: filter based on MCP server name.","operationId":"MCPServerService_ListMCPServers","parameters":[{"description":"Any MCP Server that partially match this name will be returned.","in":"query","name":"filter.display_name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"description":"Match MCP servers that use this secret ID.","in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMCPServersResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect MCP Servers","tags":["Redpanda Connect MCP servers"]},"post":{"description":"Create a new Redpanda Connect MCP Server.","operationId":"MCPServerService_CreateMCPServer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerCreate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}":{"delete":{"description":"Delete a Redpanda Connect MCP server.","operationId":"MCPServerService_DeleteMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"get":{"description":"Get a specific Redpanda Connect MCP server.","operationId":"MCPServerService_GetMCPServer","parameters":[{"description":"MCP server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"put":{"description":"Update the configuration of a Redpanda Connect MCP server.","operationId":"MCPServerService_UpdateMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerUpdate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}:start":{"post":{"description":"Start a stopped Redpanda Connect MCP server.","operationId":"MCPServerService_StartMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}:stop":{"post":{"description":"Stop a running Redpanda Connect MCP server.","operationId":"MCPServerService_StopMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers:getConfigSchema":{"get":{"description":"The configuration schema includes available components and processors in this Redpanda Connect MCP Server instance.","operationId":"MCPServerService_GetMCPServerServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMCPServerServiceConfigSchemaResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect MCP Servers configurations.","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect MCP tools YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"MCPServerService_LintMCPConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect MCP tools configuration","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/shadowlink/{name}":{"get":{"description":"Retrieve details of a specific shadow link by name.","operationId":"ShadowLinkService_GetShadowLink","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.GetShadowLinkResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Link","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{name}/failover":{"post":{"description":"Fail over a shadow link or a specific shadow topic within a link.","operationId":"ShadowLinkService_FailOver","parameters":[{"description":"The name of the shadow link to fail over","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailOverBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.FailOverResponse"}}},"description":"Failover accepted and initiated"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Fail Over Shadow Link","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{name}/metrics":{"get":{"description":"Retrieve metrics for a specific shadow link, including total topics replicated, failed over topics, and error topics.","operationId":"ShadowLinkService_GetShadowMetrics","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetShadowMetricsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Link Metrics","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{shadow_link_name}/topic":{"get":{"description":"List shadow topic status information for a specific shadow link. Optional: filter based on topic name.","operationId":"ShadowLinkService_ListShadowLinkTopics","parameters":[{"in":"path","name":"shadow_link_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on shadow topic name. Case-sensitive.","in":"query","name":"filter.topic_name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListShadowLinkTopicsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Shadow Link Topics","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{shadow_link_name}/topic/{topic_name}":{"get":{"description":"Retrieve details of a specific shadow topic within a shadow link.","operationId":"ShadowLinkService_GetShadowTopic","parameters":[{"in":"path","name":"shadow_link_name","required":true,"schema":{"type":"string"}},{"in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.GetShadowTopicResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Topic","tags":["Shadow Links (Dataplane)"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Create and manage AI agents and their configurations.","name":"AI Agents"},{"description":"Create and manage AI gateways and their configurations.","name":"AI Gateways"},{"description":"Create and manage retrieval-augmented generation (RAG) knowledge bases.","name":"Redpanda AI KnowledgeBase"},{"description":"Create and manage Redpanda Connect MCP servers and their configurations.","name":"Redpanda Connect MCP servers"},{"description":"Dataplane operations for Redpanda shadow links.","name":"Shadow Links (Dataplane)"}]} \ No newline at end of file +{"components":{"schemas":{"ACLAccessFilter":{"properties":{"host":{"title":"The host to match. If not set, will default to match all hosts\nwith the specified `operation` and `permission_type`. Note that\nthe asterisk `*` is literal and matches hosts that are set to `*`","type":"string"},"operation":{"$ref":"#/components/schemas/ACLOperation"},"permission_type":{"$ref":"#/components/schemas/ACLPermissionType"},"principal":{"title":"The name of the principal, if not set will default to match\nall principals with the specified `operation` and `permission_type`","type":"string"}},"title":"Filter an ACL based on its access","type":"object"},"ACLFilter":{"properties":{"access_filter":{"$ref":"#/components/schemas/ACLAccessFilter"},"resource_filter":{"$ref":"#/components/schemas/ACLResourceFilter"}},"title":"A filter for ACLs","type":"object"},"ACLOperation":{"enum":["ACL_OPERATION_ANY","ACL_OPERATION_READ","ACL_OPERATION_WRITE","ACL_OPERATION_CREATE","ACL_OPERATION_REMOVE","ACL_OPERATION_ALTER","ACL_OPERATION_DESCRIBE","ACL_OPERATION_CLUSTER_ACTION","ACL_OPERATION_DESCRIBE_CONFIGS","ACL_OPERATION_ALTER_CONFIGS","ACL_OPERATION_IDEMPOTENT_WRITE"],"title":"The ACL operation to match","type":"string"},"ACLPattern":{"description":"- ACL_PATTERN_ANY: Wildcard to match any pattern\n - ACL_PATTERN_LITERAL: Match a literal string\n - ACL_PATTERN_PREFIXED: Match a prefix\n - ACL_PATTERN_MATCH: Match serves as a catch-all for all the names of a topic\nthe principal is authorized to access","enum":["ACL_PATTERN_ANY","ACL_PATTERN_LITERAL","ACL_PATTERN_PREFIXED","ACL_PATTERN_MATCH"],"title":"The ACL pattern type","type":"string"},"ACLPermissionType":{"enum":["ACL_PERMISSION_TYPE_ANY","ACL_PERMISSION_TYPE_ALLOW","ACL_PERMISSION_TYPE_DENY"],"title":"ACL permission types","type":"string"},"ACLResource":{"description":"- ACL_RESOURCE_ANY: Wildcard for selecting any ACL resource\n - ACL_RESOURCE_CLUSTER: Cluster wide resource\n - ACL_RESOURCE_GROUP: Consumer group resource\n - ACL_RESOURCE_TOPIC: Topic resource\n - ACL_RESOURCE_TXN_ID: Transaction ID resource\n - ACL_RESOURCE_SR_SUBJECT: Schema Registry subject resource\n - ACL_RESOURCE_SR_REGISTRY: Schema Registry wide resource\n - ACL_RESOURCE_SR_ANY: Wildcard to match any SR ACL resource","enum":["ACL_RESOURCE_ANY","ACL_RESOURCE_CLUSTER","ACL_RESOURCE_GROUP","ACL_RESOURCE_TOPIC","ACL_RESOURCE_TXN_ID","ACL_RESOURCE_SR_SUBJECT","ACL_RESOURCE_SR_REGISTRY","ACL_RESOURCE_SR_ANY"],"title":"The ACL resource types","type":"string"},"ACLResourceFilter":{"properties":{"name":{"title":"Name, if not given will default to match all items in `resource_type`.\nNote that asterisk `*` is literal and matches resource ACLs\nthat are named `*`","type":"string"},"pattern_type":{"$ref":"#/components/schemas/ACLPattern"},"resource_type":{"$ref":"#/components/schemas/ACLResource"}},"title":"A filter to match ACLs for resources","type":"object"},"AIAgent":{"description":"Defines the AI Agent resource.","properties":{"description":{"description":"Optional AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"id":{"description":"AI Agent ID.","readOnly":true,"type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"state":{"$ref":"#/components/schemas/AIAgent.State"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to an AI agent resource.\nThey help organize AI agents and enable filtering when listing them.","type":"object"},"url":{"description":"URL to connect to the AI agent endpoint.","readOnly":true,"type":"string"}},"required":["display_name","system_prompt","provider","model","service_account"],"type":"object"},"AIAgent.MCPServer":{"description":"MCP server configuration.","properties":{"id":{"description":"ID of the Redpanda MCP server.","type":"string"}},"type":"object"},"AIAgent.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/AIAgent.Provider.OpenAI"}},"type":"object"},"AIAgent.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"required":["api_key"],"type":"object"},"AIAgent.ServiceAccount":{"properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"required":["client_id","client_secret"],"type":"object"},"AIAgent.State":{"description":"State of the AI agent.\n\n - STATE_STARTING: The AI agent is starting.\n - STATE_RUNNING: The AI agent is running and ready to handle requests.\n - STATE_STOPPING: The AI agent is in the process of stopping.\n - STATE_STOPPED: The AI agent is stopped and in paused state.\n - STATE_ERROR: The AI agent encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"AIAgentCreate":{"description":"AIAgentCreate contains the details for the AI agent creation request.","properties":{"description":{"description":"AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to an AI agent.","type":"object"}},"required":["display_name","system_prompt","provider","model","service_account"],"type":"object"},"AIAgentUpdate":{"properties":{"description":{"description":"AI agent description.","type":"string"},"display_name":{"description":"User-friendly AI agent name.","type":"string"},"max_iterations":{"format":"int32","type":"integer"},"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/AIAgent.MCPServer"},"description":"Map of MCP servers that this AI agent can use.","type":"object"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/AIAgent.Provider"},"resources":{"$ref":"#/components/schemas/Resources"},"service_account":{"$ref":"#/components/schemas/AIAgent.ServiceAccount"},"system_prompt":{"description":"System instructions that define how the AI agent should behave and respond.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"type":"object"},"AIGateway":{"description":"Defines the AI Gateway resource.","properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"Optional AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"id":{"description":"AI Gateway ID.","readOnly":true,"type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"state":{"$ref":"#/components/schemas/AIGateway.State"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to an AI gateway resource.\nThey help organize AI gateways and enable filtering when listing them.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"AIGateway.State":{"description":"State of the AI gateway.\n\n - STATE_STARTING: The AI gateway is starting.\n - STATE_RUNNING: The AI gateway is running and ready to handle requests.\n - STATE_STOPPING: The AI gateway is in the process of stopping.\n - STATE_STOPPED: The AI gateway is stopped and in paused state.\n - STATE_ERROR: The AI gateway encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"AIGatewayCreate":{"description":"AIGatewayCreate contains the details for the AI gateway creation request.","properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to an AI gateway.","type":"object"}},"required":["display_name","config_yaml"],"type":"object"},"AIGatewayUpdate":{"properties":{"config_yaml":{"description":"YAML configuration that defines the AI gateway's behavior, routing rules, and settings.","type":"string"},"description":{"description":"AI gateway description.","type":"string"},"display_name":{"description":"User-friendly AI gateway name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"}},"type":"object"},"Any":{"additionalProperties":{},"properties":{"@type":{"type":"string"}},"type":"object"},"AuthenticationConfiguration":{"properties":{"plain_configuration":{"$ref":"#/components/schemas/PlainConfig"},"scram_configuration":{"$ref":"#/components/schemas/ScramConfig"}},"title":"Authentication config. Supports:\n* SASL/SCRAM\n* SASL/PLAIN","type":"object"},"ComponentType":{"description":"Component type for this tool.","enum":["COMPONENT_TYPE_PROCESSOR","COMPONENT_TYPE_CACHE","COMPONENT_TYPE_INPUT","COMPONENT_TYPE_OUTPUT"],"type":"string"},"ConfigurationYAMLSchema":{"properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_schema":{"description":"JSON schema of the configuration components that are allowed for MCP Servers.","type":"string"}},"type":"object"},"ConsumerOffsetSyncOptions":{"properties":{"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"group_filters":{"items":{"$ref":"#/components/schemas/NameFilter"},"title":"The filters","type":"array"},"interval":{"title":"Sync interval\nIf 0 provided, defaults to 30 seconds","type":"string"},"paused":{"title":"Allows user to pause the consumer offset sync task. If paused, then\nthe task will enter the 'paused' state and not sync consumer offsets from\nthe source cluster","type":"boolean"}},"title":"Options for syncing consumer offsets","type":"object"},"CreateAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"CreateAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"CreateKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"CreateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"DeleteAIAgentResponse":{"type":"object"},"DeleteAIGatewayResponse":{"type":"object"},"DeleteKnowledgeBaseResponse":{"type":"object"},"DeleteMCPServerResponse":{"type":"object"},"EarliestOffset":{"description":"Start at the earliest offset in the partition.","type":"object"},"FailOverBody":{"properties":{"shadow_topic_name":{"title":"The name of the shadow topic to fail over, if not set will fail over\nthe entire shadow link","type":"string"}},"title":"Request to fail over a shadow link or a single shadow topic","type":"object"},"FilterType":{"description":"- FILTER_TYPE_INCLUDE: Include the items that match the filter\n - FILTER_TYPE_EXCLUDE: Exclude the items that match the filter","enum":["FILTER_TYPE_INCLUDE","FILTER_TYPE_EXCLUDE"],"title":"What type of filter this is, include or exclude","type":"string"},"GetAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"GetAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"GetKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"GetMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"GetMCPServerServiceConfigSchemaResponse":{"properties":{"configuration_yamls":{"description":"The configuration schema for the MCP Server.","items":{"$ref":"#/components/schemas/ConfigurationYAMLSchema"},"type":"array"}},"type":"object"},"GetShadowMetricsResponse":{"properties":{"error_topics":{"format":"uint64","type":"string"},"failed_over_topics":{"format":"uint64","type":"string"},"total_topics_replicated":{"format":"uint64","type":"string"}},"type":"object"},"KnowledgeBase":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBase.Generation"},"id":{"readOnly":true,"type":"string"},"indexer":{"$ref":"#/components/schemas/KnowledgeBase.Indexer"},"retrieval_api_url":{"readOnly":true,"type":"string"},"retriever":{"$ref":"#/components/schemas/KnowledgeBase.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBase.VectorDatabase"}},"required":["id","display_name","vector_database","embedding_generator","generation"],"type":"object"},"KnowledgeBase.EmbeddingGenerator":{"properties":{"dimensions":{"format":"int32","type":"integer"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider"}},"required":["provider","dimensions","model"],"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBase.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"required":["api_key"],"type":"object"},"KnowledgeBase.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBase.Generation":{"properties":{"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.Generation.Provider"}},"required":["provider","model"],"type":"object"},"KnowledgeBase.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBase.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBase.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBase.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBase.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker"}},"type":"object"},"KnowledgeBase.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBase.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBase.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBase.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBase.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBase.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBase.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"},"table":{"type":"string"}},"required":["dsn","table"],"type":"object"},"KnowledgeBaseCreate":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation"},"indexer":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Indexer"},"retriever":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBaseCreate.VectorDatabase"}},"required":["display_name","vector_database","embedding_generator"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator":{"properties":{"dimensions":{"format":"int32","type":"integer"},"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider"}},"required":["provider","dimensions","model"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBaseCreate.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"required":["api_key"],"type":"object"},"KnowledgeBaseCreate.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseCreate.Generation":{"properties":{"model":{"type":"string"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation.Provider"}},"required":["provider","model"],"type":"object"},"KnowledgeBaseCreate.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseCreate.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseCreate.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBaseCreate.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseCreate.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBaseCreate.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBaseCreate.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBaseCreate.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBaseCreate.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"},"table":{"type":"string"}},"required":["dsn","table"],"type":"object"},"KnowledgeBaseUpdate":{"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"embedding_generator":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator"},"generation":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation"},"indexer":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Indexer"},"retriever":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a pipeline.","type":"object"},"vector_database":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.VectorDatabase"}},"required":["display_name","vector_database","embedding_generator"],"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator":{"properties":{"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider"}},"required":["provider"],"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider.Cohere"},"openai":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.EmbeddingGenerator.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"base_url":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.EmbeddingGenerator.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.Generation":{"properties":{"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation.Provider"}},"required":["provider"],"type":"object"},"KnowledgeBaseUpdate.Generation.Provider":{"properties":{"openai":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Generation.Provider.OpenAI"}},"type":"object"},"KnowledgeBaseUpdate.Generation.Provider.OpenAI":{"properties":{"api_key":{"type":"string"}},"type":"object"},"KnowledgeBaseUpdate.Indexer":{"properties":{"chunk_overlap":{"format":"int32","type":"integer"},"chunk_size":{"format":"int32","type":"integer"},"input_topics":{"items":{"type":"string"},"type":"array"},"redpanda_password":{"type":"string"},"redpanda_sasl_mechanism":{"$ref":"#/components/schemas/SASLMechanism"},"redpanda_username":{"type":"string"}},"required":["input_topics"],"type":"object"},"KnowledgeBaseUpdate.Retriever":{"properties":{"reranker":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker":{"properties":{"enabled":{"type":"boolean"},"provider":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker.Provider"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker.Provider":{"properties":{"cohere":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.Retriever.Reranker.Provider.Cohere"}},"type":"object"},"KnowledgeBaseUpdate.Retriever.Reranker.Provider.Cohere":{"properties":{"api_key":{"type":"string"},"model":{"type":"string"}},"required":["api_key","model"],"type":"object"},"KnowledgeBaseUpdate.VectorDatabase":{"properties":{"postgres":{"$ref":"#/components/schemas/KnowledgeBaseUpdate.VectorDatabase.Postgres"}},"type":"object"},"KnowledgeBaseUpdate.VectorDatabase.Postgres":{"properties":{"dsn":{"type":"string"}},"required":["dsn"],"type":"object"},"LatestOffset":{"description":"Start at the latest offset in the partition.","type":"object"},"LintHint":{"description":"LintHint is a generic linting hint.","properties":{"column":{"description":"Column number of the lint.","format":"int32","type":"integer"},"hint":{"description":"The hint message.","type":"string"},"line":{"description":"Line number of the lint.","format":"int32","type":"integer"},"lint_type":{"description":"Optional lint type or enum.","type":"string"}},"type":"object"},"LintMCPConfigRequest":{"properties":{"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP tools configuration in YAML format.","type":"object"}},"required":["tools"],"type":"object"},"LintMCPConfigResponse":{"properties":{"lint_hints":{"additionalProperties":{"$ref":"#/components/schemas/LintHint"},"description":"A list of linting issues.","type":"object"}},"type":"object"},"ListAIAgentsRequest.Filter":{"properties":{"mcp_server_id":{"type":"string"},"name_contains":{"description":"Any AI agents that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"AI agents that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListAIAgentsResponse":{"properties":{"ai_agents":{"items":{"$ref":"#/components/schemas/AIAgent"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListAIGatewaysRequest.Filter":{"properties":{"name_contains":{"description":"Any AI gateways that partially match this name will be returned.","type":"string"},"secret_id":{"type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"AI gateways that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListAIGatewaysResponse":{"properties":{"ai_gateways":{"items":{"$ref":"#/components/schemas/AIGateway"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListKnowledgeBasesRequest.Filter":{"properties":{"name_contains":{"description":"Any KnowledgeBase that partially match this name will be returned.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"KnowledgeBases that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListKnowledgeBasesResponse":{"properties":{"knowledge_bases":{"items":{"$ref":"#/components/schemas/KnowledgeBase"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListMCPServersRequest.Filter":{"properties":{"display_name_contains":{"description":"Any MCP Server that partially match this name will be returned.","type":"string"},"secret_id":{"description":"Match MCP servers that use this secret ID.","type":"string"},"tags[string]":{"additionalProperties":{"type":"string"},"description":"MCP servers that match all the provided tags will be returned.","type":"object"}},"type":"object"},"ListMCPServersResponse":{"properties":{"mcp_servers":{"items":{"$ref":"#/components/schemas/v1alpha3.MCPServer"},"type":"array"},"next_page_token":{"type":"string"}},"type":"object"},"ListShadowLinkTopicsRequest.Filter":{"properties":{"topic_name_contains":{"description":"Substring match on shadow topic name. Case-sensitive.","type":"string"}},"type":"object"},"ListShadowLinkTopicsResponse":{"properties":{"next_page_token":{"title":"Token to retrieve the next page","type":"string"},"shadow_topics":{"items":{"$ref":"#/components/schemas/v1alpha3.ShadowTopic"},"title":"Shadow topic status information","type":"array"}},"type":"object"},"MCPServer.State":{"description":"State of the MCP server.\n\n - STATE_STARTING: The MCP server is starting.\n - STATE_RUNNING: The MCP server is running.\n - STATE_STOPPING: The MCP server is in the process of stopping.\n - STATE_STOPPED: The MCP server is stopped and in paused state.\n - STATE_ERROR: The MCP server encountered an error.","enum":["STATE_STARTING","STATE_RUNNING","STATE_STOPPING","STATE_STOPPED","STATE_ERROR"],"type":"string"},"MCPServer.Status":{"description":"MCP server status may contain an error message.","properties":{"error":{"type":"string"}},"type":"object"},"MCPServerCreate":{"description":"MCPServerCreate contains the details for the MCP Server creation request.","properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"Optional list of tags to attach to a MCP server.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"required":["display_name","tools"],"type":"object"},"MCPServerUpdate":{"properties":{"description":{"description":"MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP servers name.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"tags":{"additionalProperties":{"type":"string"},"description":"A map of tags to add, update or delete.\nIf a tag's value is empty, the server interprets that as a deletion.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"}},"type":"object"},"NameFilter":{"properties":{"filter_type":{"$ref":"#/components/schemas/FilterType"},"name":{"title":"The resource name, or \"*\"\nNote if \"*\", must be the _only_ character\nand `pattern_type` must be `PATTERN_TYPE_LITERAL`","type":"string"},"pattern_type":{"$ref":"#/components/schemas/PatternType"}},"title":"A filter based on the name of a resource","type":"object"},"PartitionInfo":{"properties":{"high_watermark":{"format":"int64","type":"string"},"lag":{"format":"int64","type":"string"},"partition_id":{"format":"int32","type":"integer"},"source_high_watermark":{"format":"int64","type":"string"},"source_last_stable_offset":{"format":"int64","type":"string"},"source_last_updated_timestamp":{"format":"date-time","type":"string"}},"title":"Partition-level information","type":"object"},"PatternType":{"description":"- PATTERN_TYPE_LITERAL: Must match the filter exactly\n - PATTERN_TYPE_PREFIX: Will match anything that starts with filter","enum":["PATTERN_TYPE_LITERAL","PATTERN_TYPE_PREFIX"],"title":"The matching pattern type","type":"string"},"PlainConfig":{"properties":{"password":{"title":"Password","type":"string"},"password_set":{"readOnly":true,"title":"Indicates that the password has been set","type":"boolean"},"password_set_at":{"format":"date-time","readOnly":true,"title":"Timestamp of when the password was last set - only valid if password_set\nis true","type":"string"},"username":{"title":"PLAIN username","type":"string"}},"title":"PLAIN settings","type":"object"},"Resources":{"properties":{"cpu_shares":{"description":"`cpu_shares` is a string specifying the amount of CPU to allocate for the\npipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable\nunits include:\n- Decimal SI units: \"m\" (e.g., \"500m\" for 500 millicores, \"2\" for 2 cores)\nCPU shares can be specified in millicores (1 core = 1000 millicores).\nIf you don't specify a unit, the value is interpreted as the number of cores.","type":"string"},"memory_shares":{"description":"`memory_shares` is a string specifying the amount of memory to allocate for\nthe pipeline.\n\nThis follows the [Kubernetes quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/) format. Acceptable units\ninclude:\n- Decimal SI units: \"K\", \"M\", \"G\", \"T\", \"P\", \"E\" (e.g., \"128M\" for 128\n megabytes)\n- Binary SI units: \"Ki\", \"Mi\", \"Gi\", \"Ti\", \"Pi\", \"Ei\" (e.g., \"512Mi\" for\n512 mebibytes) If you don't specify a unit, the value is interpreted as\nbytes.","type":"string"}},"required":["memory_shares","cpu_shares"],"type":"object"},"SASLMechanism":{"description":"SASL mechanism to use for authentication.","enum":["SASL_MECHANISM_SCRAM_SHA_256","SASL_MECHANISM_SCRAM_SHA_512"],"type":"string"},"SchemaRegistrySyncOptions":{"description":"Options for how the Schema Registry is synced.","properties":{"shadow_schema_registry_topic":{"$ref":"#/components/schemas/ShadowSchemaRegistryTopic"}},"type":"object"},"ScramConfig":{"properties":{"password":{"title":"Password","type":"string"},"password_set":{"readOnly":true,"title":"Indicates that the password has been set","type":"boolean"},"password_set_at":{"format":"date-time","readOnly":true,"title":"Timestamp of when the password was last set - only valid if password_set\nis true","type":"string"},"scram_mechanism":{"$ref":"#/components/schemas/ScramMechanism"},"username":{"title":"SCRAM username","type":"string"}},"title":"SCRAM settings","type":"object"},"ScramMechanism":{"description":"- SCRAM_MECHANISM_SCRAM_SHA_256: SCRAM-SHA-256\n - SCRAM_MECHANISM_SCRAM_SHA_512: SCRAM-SHA-512","enum":["SCRAM_MECHANISM_SCRAM_SHA_256","SCRAM_MECHANISM_SCRAM_SHA_512"],"title":"Valid SCRAM mechanisms","type":"string"},"SecuritySettingsSyncOptions":{"properties":{"acl_filters":{"items":{"$ref":"#/components/schemas/ACLFilter"},"title":"ACL filters","type":"array"},"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"interval":{"title":"Sync interval\nIf 0 provided, defaults to 30 seconds","type":"string"},"paused":{"title":"Allows user to pause the security settings sync task. If paused,\nthen the task will enter the 'paused' state and will not sync security\nsettings from the source cluster","type":"boolean"}},"title":"Options for syncing security settings","type":"object"},"ShadowLinkClientOptions":{"properties":{"authentication_configuration":{"$ref":"#/components/schemas/AuthenticationConfiguration"},"bootstrap_servers":{"items":{"type":"string"},"title":"The bootstrap servers to use","type":"array"},"client_id":{"readOnly":true,"title":"The Client ID for the Kafka RPC requests setn by this cluster to the\nsource cluster","type":"string"},"connection_timeout_ms":{"format":"int32","title":"Connection timeout.\nIf 0 is provided, defaults to 1 second","type":"integer"},"effective_connection_timeout_ms":{"format":"int32","readOnly":true,"title":"The effective connection timeout in milliseconds","type":"integer"},"effective_fetch_max_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch max bytes","type":"integer"},"effective_fetch_min_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch min bytes","type":"integer"},"effective_fetch_partition_max_bytes":{"format":"int32","readOnly":true,"title":"The effective fetch partition max bytes","type":"integer"},"effective_fetch_wait_max_ms":{"format":"int32","readOnly":true,"title":"The effective fetch wait max in milliseconds","type":"integer"},"effective_metadata_max_age_ms":{"format":"int32","readOnly":true,"title":"The effective metadata max age in milliseconds","type":"integer"},"effective_retry_backoff_ms":{"format":"int32","readOnly":true,"title":"The effective retry backoff in milliseconds","type":"integer"},"fetch_max_bytes":{"format":"int32","title":"Fetch max bytes.\nIf 0 is provided, defaults to 20 MiB","type":"integer"},"fetch_min_bytes":{"format":"int32","title":"Fetch min bytes.\nIf 0 is provided, defaults to 5 MiB","type":"integer"},"fetch_partition_max_bytes":{"format":"int32","title":"Fetch partition max bytes.\nIf 0 is provided, defaults to 5 MiB","type":"integer"},"fetch_wait_max_ms":{"format":"int32","title":"Fetch request timeout.\nIf 0 is provided, defaults to 500ms","type":"integer"},"metadata_max_age_ms":{"format":"int32","title":"Max metadata age.\nIf 0 is provided, defaults to 10 seconds","type":"integer"},"retry_backoff_ms":{"format":"int32","title":"Retry base backoff.\nIf 0 is provided, defaults to 100ms","type":"integer"},"source_cluster_id":{"title":"If provided, this is the expected ID of the source cluster. If it does\nnot match then the connection will be rejected. If provided, this value\nmust match the `ClusterId` field returned in the Kafka Metadata response\nmessage","type":"string"},"tls_settings":{"$ref":"#/components/schemas/TLSSettings"}},"required":["bootstrap_servers"],"title":"Options for the client link","type":"object"},"ShadowLinkConfigurations":{"properties":{"client_options":{"$ref":"#/components/schemas/ShadowLinkClientOptions"},"consumer_offset_sync_options":{"$ref":"#/components/schemas/ConsumerOffsetSyncOptions"},"schema_registry_sync_options":{"$ref":"#/components/schemas/SchemaRegistrySyncOptions"},"security_sync_options":{"$ref":"#/components/schemas/SecuritySettingsSyncOptions"},"topic_metadata_sync_options":{"$ref":"#/components/schemas/TopicMetadataSyncOptions"}},"title":"ShadowLink options","type":"object"},"ShadowLinkState":{"description":"- SHADOW_LINK_STATE_ACTIVE: Shadow link is active\n - SHADOW_LINK_STATE_PAUSED: Shadow link was paused","enum":["SHADOW_LINK_STATE_ACTIVE","SHADOW_LINK_STATE_PAUSED"],"title":"State of the shadow link","type":"string"},"ShadowLinkTaskStatus":{"properties":{"broker_id":{"format":"int32","title":"The broker the task is running on","type":"integer"},"name":{"title":"Name of the task","type":"string"},"reason":{"title":"Reason for task being in state","type":"string"},"shard":{"format":"int32","title":"The shard the task is running on","type":"integer"},"state":{"$ref":"#/components/schemas/TaskState"}},"title":"Status of a task","type":"object"},"ShadowSchemaRegistryTopic":{"description":"Shadow the entire source cluster's Schema Registry byte-for-byte.\nIf set, the Shadow Link will attempt to add the `_schemas`\ntopic to the list of Shadow Topics as long as:\n1. The `_schemas` topic exists on the source cluster\n2. The `_schemas` topic does not exist on the shadow cluster, or it is\nempty.\nIf either of the above conditions are _not_ met, then the `_schemas`\ntopic will _not_ be shadowed by this cluster. Unsetting this flag will\n_not_ remove the `_schemas` topic from shadowing if it has already been\nadded. Once made a shadow topic, the\n`_schemas` topic will be replicated byte-for-byte. To stop shadowing the\n`_schemas` topic, unset this field, then either fail-over the topic or\ndelete it.","type":"object"},"ShadowTopicState":{"description":"- SHADOW_TOPIC_STATE_ACTIVE: Shadow topic is active\n - SHADOW_TOPIC_STATE_FAULTED: Shadow topic has faulted\n - SHADOW_TOPIC_STATE_PAUSED: Shadow topic has been paused\n - SHADOW_TOPIC_STATE_FAILING_OVER: Shadow topic is in the process of failing over\n - SHADOW_TOPIC_STATE_FAILED_OVER: Shadow topic has failed over successfully\n - SHADOW_TOPIC_STATE_PROMOTING: Shadow topic is in the process of being promoted\n - SHADOW_TOPIC_STATE_PROMOTED: Shadow topic is promoted successfully","enum":["SHADOW_TOPIC_STATE_ACTIVE","SHADOW_TOPIC_STATE_FAULTED","SHADOW_TOPIC_STATE_PAUSED","SHADOW_TOPIC_STATE_FAILING_OVER","SHADOW_TOPIC_STATE_FAILED_OVER","SHADOW_TOPIC_STATE_PROMOTING","SHADOW_TOPIC_STATE_PROMOTED"],"title":"State of a shadow topic","type":"string"},"StartAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"StartAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"StartMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"StopAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"StopAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"StopMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"TLSFileSettings":{"properties":{"ca_path":{"title":"Path to the CA","type":"string"},"cert_path":{"title":"Path to the cert","type":"string"},"key_path":{"title":"Key and Cert are optional but if one is provided, then both must be\nPath to the key","type":"string"}},"title":"TLS file settings","type":"object"},"TLSPEMSettings":{"properties":{"ca":{"title":"The CA","type":"string"},"cert":{"title":"The cert","type":"string"},"key":{"title":"Key and Cert are optional but if one is provided, then both must be\nThe key","type":"string"},"key_fingerprint":{"readOnly":true,"title":"The SHA-256 of the key, in base64 format","type":"string"}},"title":"Used when providing the TLS information in PEM format","type":"object"},"TLSSettings":{"properties":{"do_not_set_sni_hostname":{"title":"If true, the SNI hostname will not be provided when TLS is used","type":"boolean"},"enabled":{"title":"Whether or not TLS is enabled","type":"boolean"},"tls_file_settings":{"$ref":"#/components/schemas/TLSFileSettings"},"tls_pem_settings":{"$ref":"#/components/schemas/TLSPEMSettings"}},"title":"TLS settings","type":"object"},"TaskState":{"description":"- TASK_STATE_ACTIVE: Task is active\n - TASK_STATE_PAUSED: Task was paused\n - TASK_STATE_LINK_UNAVAILABLE: Task is unable to communicate with source cluster\n - TASK_STATE_NOT_RUNNING: Task is not running\n - TASK_STATE_FAULTED: Task is faulted","enum":["TASK_STATE_ACTIVE","TASK_STATE_PAUSED","TASK_STATE_LINK_UNAVAILABLE","TASK_STATE_NOT_RUNNING","TASK_STATE_FAULTED"],"title":"Task states","type":"string"},"Tool":{"description":"A configuration tool for the MCP server.","properties":{"component_type":{"$ref":"#/components/schemas/ComponentType"},"config_yaml":{"description":"The contents of the configuration tool in YAML format.","type":"string"}},"required":["config_yaml"],"type":"object"},"TopicMetadataSyncOptions":{"properties":{"auto_create_shadow_topic_filters":{"description":"List of filters that indicate which topics should be automatically\ncreated as shadow topics on the shadow cluster. This only controls\nautomatic creation of shadow topics and does not effect the state of the\nmirror topic once it is created.\nLiteral filters for __consumer_offsets, _redpanda.audit_log and _schemas\nwill be rejected as well as prefix filters to match topics prefixed with\n_redpanda or __redpanda.\nWildcard `*` is permitted only for literal filters and will _not_ match\nany topics that start with _redpanda or __redpanda. If users wish to\nshadow topics that start with _redpanda or __redpanda, they should\nprovide a literal filter for those topics.","items":{"$ref":"#/components/schemas/NameFilter"},"type":"array"},"effective_interval":{"readOnly":true,"title":"The effective interval for the task","type":"string"},"exclude_default":{"description":"If this is true, then only the properties listed in\n`synced_shadow_topic_properties` will be synced.","title":"If false, then the following topic properties will be synced by default:\n- `compression.type`\n- `retention.bytes`\n- `retention.ms`\n- `delete.retention.ms`\n- Replication Factor\n- `min.compaction.lag.ms`\n- `max.compaction.lag.ms`","type":"boolean"},"interval":{"title":"How often to sync metadata\nIf 0 provided, defaults to 30 seconds","type":"string"},"paused":{"title":"Allows user to pause the topic sync task. If paused, then\nthe task will enter the 'paused' state and not sync topics or their\nproperties from the source cluster","type":"boolean"},"start_at_earliest":{"$ref":"#/components/schemas/EarliestOffset"},"start_at_latest":{"$ref":"#/components/schemas/LatestOffset"},"start_at_timestamp":{"description":"Enables data replication from the first offset on the\nsource topic/partition where the record's timestamp is\nat or after the specified timestamp.","format":"date-time","type":"string"},"synced_shadow_topic_properties":{"description":"The following properties are not allowed to be replicated and adding them\nto this list will result in an error:\n- `redpanda.remote.readreplica`\n- `redpanda.remote.recovery`\n- `redpanda.remote.allowgaps`\n- `redpanda.virtual.cluster.id`\n- `redpanda.leaders.preference`\n- `redpanda.cloud_topic.enabled`\n\nThis list is a list of properties in addition to the default properties\nthat will be synced. See `exclude_default`.","items":{"type":"string"},"title":"List of topic properties that should be synced from the source topic.\nThe following properties will always be replicated\n- Partition count\n- `max.message.bytes`\n- `cleanup.policy`\n- `timestamp.type`","type":"array"}},"title":"Options for syncing topic metadata","type":"object"},"UpdateAIAgentResponse":{"properties":{"ai_agent":{"$ref":"#/components/schemas/AIAgent"}},"type":"object"},"UpdateAIGatewayResponse":{"properties":{"ai_gateway":{"$ref":"#/components/schemas/AIGateway"}},"type":"object"},"UpdateKnowledgeBaseResponse":{"properties":{"knowledge_base":{"$ref":"#/components/schemas/KnowledgeBase"}},"type":"object"},"UpdateMCPServerResponse":{"properties":{"mcp_server":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}},"type":"object"},"rpc.Status":{"properties":{"code":{"format":"int32","type":"integer"},"details":{"items":{"$ref":"#/components/schemas/Any"},"type":"array"},"message":{"type":"string"}},"type":"object"},"v1alpha3.FailOverResponse":{"properties":{"failed_over_topics":{"items":{"type":"string"},"title":"List of topics that were failed over\nIf shadow_topic_name was specified in the request, this will contain only that topic\nIf shadow_topic_name was not specified, this will contain all topics in the shadow link","type":"array"},"name":{"title":"Name of the shadow link that was failed over","type":"string"}},"type":"object"},"v1alpha3.GetShadowLinkResponse":{"properties":{"shadow_link":{"$ref":"#/components/schemas/v1alpha3.ShadowLink"}},"type":"object"},"v1alpha3.GetShadowTopicResponse":{"properties":{"partitions":{"items":{"$ref":"#/components/schemas/PartitionInfo"},"type":"array"},"state":{"$ref":"#/components/schemas/ShadowTopicState"},"topic_id":{"type":"string"},"topic_name":{"type":"string"},"total_lag":{"format":"int64","type":"string"},"total_partitions":{"format":"int32","type":"integer"}},"type":"object"},"v1alpha3.MCPServer":{"description":"Defines the MCP server resource.","properties":{"description":{"description":"Optional MCP server description.","type":"string"},"display_name":{"description":"User-friendly MCP server name.","type":"string"},"id":{"description":"MCP Server ID.","type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"state":{"$ref":"#/components/schemas/MCPServer.State"},"status":{"$ref":"#/components/schemas/MCPServer.Status"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags are key-value pairs that can be assigned to a MCP server resource.\nThey help organize MCP servers and enable filtering when listing them.","type":"object"},"tools":{"additionalProperties":{"$ref":"#/components/schemas/Tool"},"description":"The Redpanda Connect MCP server configuration.","type":"object"},"url":{"readOnly":true,"title":"URL to connect to the MCP server","type":"string"}},"required":["id","display_name","tools"],"type":"object"},"v1alpha3.ShadowLink":{"properties":{"configurations":{"$ref":"#/components/schemas/ShadowLinkConfigurations"},"name":{"title":"Return name, configuration, and overall state","type":"string"},"state":{"$ref":"#/components/schemas/ShadowLinkState"},"synced_shadow_topic_properties":{"items":{"type":"string"},"type":"array"},"tasks_status":{"items":{"$ref":"#/components/schemas/ShadowLinkTaskStatus"},"type":"array"},"uid":{"type":"string"}},"type":"object"},"v1alpha3.ShadowTopic":{"properties":{"state":{"$ref":"#/components/schemas/ShadowTopicState"},"topic_id":{"type":"string"},"topic_name":{"type":"string"},"total_lag":{"format":"int64","type":"string"},"total_partitions":{"format":"int32","type":"integer"}},"type":"object"}},"securitySchemes":{"auth0":{"description":"RedpandaCloud","flows":{"implicit":{"authorizationUrl":"https://auth.prd.cloud.redpanda.com/oauth/authorize","scopes":{},"x-client-id":"dQjapNIAHhF7EQqQToRla3yEII9sUSap"}},"type":"oauth2"}}},"info":{"title":"Redpanda Cloud Data Plane API","version":"v1"},"openapi":"3.0.3","paths":{"/v1alpha3/ai-agents":{"get":{"description":"List AI agents. Optional: filter based on AI agent name.","operationId":"AIAgentService_ListAIAgents","parameters":[{"description":"Any AI agents that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"in":"query","name":"filter.mcp_server_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 50. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAIAgentsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List AI Agents","tags":["AI Agents"]},"post":{"description":"Create a new AI agent.","operationId":"AIAgentService_CreateAIAgent","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgentCreate"}}},"required":true,"x-originalParamName":"ai_agent"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Created"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}":{"delete":{"description":"Delete an AI agent.","operationId":"AIAgentService_DeleteAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete AI Agent","tags":["AI Agents"]},"get":{"description":"Get a specific AI agent.","operationId":"AIAgentService_GetAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get AI Agent","tags":["AI Agents"]},"put":{"description":"Update the configuration of an AI agent.","operationId":"AIAgentService_UpdateAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgentUpdate"}}},"required":true,"x-originalParamName":"ai_agent"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}:start":{"put":{"description":"Start a stopped AI agent.","operationId":"AIAgentService_StartAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-agents/{id}:stop":{"put":{"description":"Stop a running AI agent.","operationId":"AIAgentService_StopAIAgent","parameters":[{"description":"AI Agent ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIAgent"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop AI Agent","tags":["AI Agents"]}},"/v1alpha3/ai-gateways":{"get":{"description":"List AI gateways. Optional: filter based on AI gateway name.","operationId":"AIGatewayService_ListAIGateways","parameters":[{"description":"Any AI gateways that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 50. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAIGatewaysResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List AI Gateways","tags":["AI Gateways"]},"post":{"description":"Create a new AI gateway.","operationId":"AIGatewayService_CreateAIGateway","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGatewayCreate"}}},"required":true,"x-originalParamName":"ai_gateway"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Created"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}":{"delete":{"description":"Delete an AI gateway.","operationId":"AIGatewayService_DeleteAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete AI Gateway","tags":["AI Gateways"]},"get":{"description":"Get a specific AI gateway.","operationId":"AIGatewayService_GetAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get AI Gateway","tags":["AI Gateways"]},"put":{"description":"Update the configuration of an AI gateway.","operationId":"AIGatewayService_UpdateAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGatewayUpdate"}}},"required":true,"x-originalParamName":"ai_gateway"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}:start":{"put":{"description":"Start a stopped AI gateway.","operationId":"AIGatewayService_StartAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/ai-gateways/{id}:stop":{"put":{"description":"Stop a running AI gateway.","operationId":"AIGatewayService_StopAIGateway","parameters":[{"description":"AI Gateway ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGateway"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stop AI Gateway","tags":["AI Gateways"]}},"/v1alpha3/knowledge-bases":{"get":{"operationId":"KnowledgeBaseService_ListKnowledgeBases","parameters":[{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"in":"query","name":"page_token","schema":{"type":"string"}},{"description":"Any KnowledgeBase that partially match this name will be returned.","in":"query","name":"filter.name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"post":{"operationId":"KnowledgeBaseService_CreateKnowledgeBase","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseCreate"}}},"required":true,"x-originalParamName":"knowledge_base"},"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]}},"/v1alpha3/knowledge-bases/{id}":{"delete":{"operationId":"KnowledgeBaseService_DeleteKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"get":{"operationId":"KnowledgeBaseService_GetKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]},"put":{"operationId":"KnowledgeBaseService_UpdateKnowledgeBase","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseUpdate"}}},"required":true,"x-originalParamName":"knowledge_base"},"responses":{"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"tags":["KnowledgeBaseService"]}},"/v1alpha3/redpanda-connect/mcp-servers":{"get":{"description":"List Redpanda Connect MCP Servers. Optional: filter based on MCP server name.","operationId":"MCPServerService_ListMCPServers","parameters":[{"description":"Any MCP Server that partially match this name will be returned.","in":"query","name":"filter.display_name_contains","schema":{"type":"string"}},{"description":"This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18","in":"query","name":"filter.tags[string]","schema":{"type":"string"}},{"description":"Match MCP servers that use this secret ID.","in":"query","name":"filter.secret_id","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMCPServersResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Redpanda Connect MCP Servers","tags":["Redpanda Connect MCP servers"]},"post":{"description":"Create a new Redpanda Connect MCP Server.","operationId":"MCPServerService_CreateMCPServer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerCreate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Create Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}":{"delete":{"description":"Delete a Redpanda Connect MCP server.","operationId":"MCPServerService_DeleteMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{}}},"description":"Deleted"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Delete a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"get":{"description":"Get a specific Redpanda Connect MCP server.","operationId":"MCPServerService_GetMCPServer","parameters":[{"description":"MCP server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]},"put":{"description":"Update the configuration of a Redpanda Connect MCP server.","operationId":"MCPServerService_UpdateMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Specifies which fields should be updated. If not provided,\nall fields will be updated.","in":"query","name":"update_mask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPServerUpdate"}}},"required":true,"x-originalParamName":"mcp_server"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Update a Redpanda Connect MCP Server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}:start":{"post":{"description":"Start a stopped Redpanda Connect MCP server.","operationId":"MCPServerService_StartMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"Started"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Start a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers/{id}:stop":{"post":{"description":"Stop a running Redpanda Connect MCP server.","operationId":"MCPServerService_StopMCPServer","parameters":[{"description":"MCP Server ID.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.MCPServer"}}},"description":"Stopped"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"Not Found"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Stops a Redpanda Connect MCP server","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers:getConfigSchema":{"get":{"description":"The configuration schema includes available components and processors in this Redpanda Connect MCP Server instance.","operationId":"MCPServerService_GetMCPServerServiceConfigSchema","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMCPServerServiceConfigSchemaResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Retrieve the schema for Redpanda Connect MCP Servers configurations.","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/redpanda-connect/mcp-servers:lint-config":{"post":{"description":"Validates a supplied Redpanda Connect MCP tools YAML and returns a list of linting hints. If no problems are found, the list is empty.","operationId":"MCPServerService_LintMCPConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigRequest"}}},"required":true,"x-originalParamName":"body"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LintMCPConfigResponse"}}},"description":"Linting finished. See `lint_hints` for details."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Lint a Redpanda Connect MCP tools configuration","tags":["Redpanda Connect MCP servers"]}},"/v1alpha3/shadowlink/{name}":{"get":{"description":"Retrieve details of a specific shadow link by name.","operationId":"ShadowLinkService_GetShadowLink","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.GetShadowLinkResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Link","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{name}/failover":{"post":{"description":"Fail over a shadow link or a specific shadow topic within a link.","operationId":"ShadowLinkService_FailOver","parameters":[{"description":"The name of the shadow link to fail over","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailOverBody"}}},"required":true,"x-originalParamName":"body"},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.FailOverResponse"}}},"description":"Failover accepted and initiated"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Fail Over Shadow Link","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{name}/metrics":{"get":{"description":"Retrieve metrics for a specific shadow link, including total topics replicated, failed over topics, and error topics.","operationId":"ShadowLinkService_GetShadowMetrics","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetShadowMetricsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Link Metrics","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{shadow_link_name}/topic":{"get":{"description":"List shadow topic status information for a specific shadow link. Optional: filter based on topic name.","operationId":"ShadowLinkService_ListShadowLinkTopics","parameters":[{"in":"path","name":"shadow_link_name","required":true,"schema":{"type":"string"}},{"description":"Substring match on shadow topic name. Case-sensitive.","in":"query","name":"filter.topic_name_contains","schema":{"type":"string"}},{"description":"Limit the paginated response to a number of items. Defaults to 100. Use -1 to disable pagination.","in":"query","name":"page_size","schema":{"format":"int32","type":"integer"}},{"description":"Value of the next_page_token field returned by the previous response.\nIf not provided, the system assumes the first page is requested.","in":"query","name":"page_token","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListShadowLinkTopicsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"List Shadow Link Topics","tags":["Shadow Links (Dataplane)"]}},"/v1alpha3/shadowlink/{shadow_link_name}/topic/{topic_name}":{"get":{"description":"Retrieve details of a specific shadow topic within a shadow link.","operationId":"ShadowLinkService_GetShadowTopic","parameters":[{"in":"path","name":"shadow_link_name","required":true,"schema":{"type":"string"}},{"in":"path","name":"topic_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1alpha3.GetShadowTopicResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpc.Status"}}},"description":"An unexpected error response."}},"summary":"Get Shadow Topic","tags":["Shadow Links (Dataplane)"]}}},"security":[{"auth0":[]}],"servers":[{"description":"Data Plane API","url":"{dataplane_api_url}","variables":{"dataplane_api_url":{"default":"https://{dataplane_api_url}","description":"Find the Data Plane API base URL of a cluster by calling the Get Cluster endpoint of the Control Plane API. The dataplane_api.url field is returned in the response body.\u003cbr\u003e\u003cbr\u003e\n\t\t\t\t\tExample (Dedicated): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.fmc.prd.cloud.redpanda.com\"\u003cbr\u003e\n\t\t\t\t\tExample (BYOC): \"https://api-a4cb21.ck09mi9c4vs17hng9gig.byoc.prd.cloud.redpanda.com\""}}}],"tags":[{"description":"Create and manage AI agents and their configurations.","name":"AI Agents"},{"description":"Create and manage AI gateways and their configurations.","name":"AI Gateways"},{"description":"Create and manage retrieval-augmented generation (RAG) knowledge bases.","name":"Redpanda AI KnowledgeBase"},{"description":"Create and manage Redpanda Connect MCP servers and their configurations.","name":"Redpanda Connect MCP servers"},{"description":"Dataplane operations for Redpanda shadow links.","name":"Shadow Links (Dataplane)"}]} \ No newline at end of file diff --git a/proto/gen/openapi/openapi.v1alpha3.yaml b/proto/gen/openapi/openapi.v1alpha3.yaml index 7cdd76c3d..045436c21 100644 --- a/proto/gen/openapi/openapi.v1alpha3.yaml +++ b/proto/gen/openapi/openapi.v1alpha3.yaml @@ -1740,6 +1740,8 @@ components: type: array state: $ref: '#/components/schemas/ShadowTopicState' + topic_id: + type: string topic_name: type: string total_lag: @@ -1812,6 +1814,8 @@ components: properties: state: $ref: '#/components/schemas/ShadowTopicState' + topic_id: + type: string topic_name: type: string total_lag: diff --git a/proto/gen/openapi/openapi.yaml b/proto/gen/openapi/openapi.yaml index 7c4f3d3b2..6878dc54c 100644 --- a/proto/gen/openapi/openapi.yaml +++ b/proto/gen/openapi/openapi.yaml @@ -6900,7 +6900,7 @@ paths: content: multipart/form-data: schema: - example: '{"name":"redact-orders","input_topic_name":"orders","output_topic_names":["orders-redacted"],"environment_variables":[{"key":"LOGGER_LEVEL","value":"DEBUG"}]}' + example: '{"name":"redact-orders", "input_topic_name":"orders", "output_topic_names":["orders-redacted"], "environment_variables":[{"key":"LOGGER_LEVEL", "value":"DEBUG"}]}' properties: metadata: $ref: '#/components/schemas/DeployTransformRequest' diff --git a/proto/redpanda/api/dataplane/v1alpha3/shadowlink.proto b/proto/redpanda/api/dataplane/v1alpha3/shadowlink.proto index 49583ad41..63628e4c7 100644 --- a/proto/redpanda/api/dataplane/v1alpha3/shadowlink.proto +++ b/proto/redpanda/api/dataplane/v1alpha3/shadowlink.proto @@ -55,9 +55,10 @@ message ListShadowLinkTopicsRequest { message ShadowTopic { string topic_name = 1; - core.admin.v2.ShadowTopicState state = 2; - int64 total_lag = 3; - int32 total_partitions = 4; + string topic_id = 2; + core.admin.v2.ShadowTopicState state = 3; + int64 total_lag = 4; + int32 total_partitions = 5; } message ListShadowLinkTopicsResponse { @@ -92,10 +93,11 @@ message GetShadowTopicResponse { } string topic_name = 1; - core.admin.v2.ShadowTopicState state = 2; - int64 total_lag = 3; - int32 total_partitions = 4; - repeated PartitionInfo partitions = 5; + string topic_id = 2; + core.admin.v2.ShadowTopicState state = 3; + int64 total_lag = 4; + int32 total_partitions = 5; + repeated PartitionInfo partitions = 6; } message GetShadowMetricsRequest {