diff --git a/backend/pkg/protogen/redpanda/api/common/v1/errordetails.pb.go b/backend/pkg/protogen/redpanda/api/common/v1/errordetails.pb.go new file mode 100644 index 000000000..1a318b99c --- /dev/null +++ b/backend/pkg/protogen/redpanda/api/common/v1/errordetails.pb.go @@ -0,0 +1,325 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc (unknown) +// source: redpanda/api/common/v1/errordetails.proto + +package commonv1 + +import ( + reflect "reflect" + sync "sync" + + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// AttemptInfo contains information about retryable actions and their specific attempts. +type AttemptInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Attempts []*AttemptInfo_Attempt `protobuf:"bytes,1,rep,name=attempts,proto3" json:"attempts,omitempty"` +} + +func (x *AttemptInfo) Reset() { + *x = AttemptInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_redpanda_api_common_v1_errordetails_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AttemptInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttemptInfo) ProtoMessage() {} + +func (x *AttemptInfo) ProtoReflect() protoreflect.Message { + mi := &file_redpanda_api_common_v1_errordetails_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttemptInfo.ProtoReflect.Descriptor instead. +func (*AttemptInfo) Descriptor() ([]byte, []int) { + return file_redpanda_api_common_v1_errordetails_proto_rawDescGZIP(), []int{0} +} + +func (x *AttemptInfo) GetAttempts() []*AttemptInfo_Attempt { + if x != nil { + return x.Attempts + } + return nil +} + +// ExternalError is an error that may be returned to external users. Other +// errors thrown by internal systems are discarded by default, so internal +// errors with sensitive information are not exposed. +type ExternalError struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Details []*anypb.Any `protobuf:"bytes,2,rep,name=details,proto3" json:"details,omitempty"` +} + +func (x *ExternalError) Reset() { + *x = ExternalError{} + if protoimpl.UnsafeEnabled { + mi := &file_redpanda_api_common_v1_errordetails_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalError) ProtoMessage() {} + +func (x *ExternalError) ProtoReflect() protoreflect.Message { + mi := &file_redpanda_api_common_v1_errordetails_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalError.ProtoReflect.Descriptor instead. +func (*ExternalError) Descriptor() ([]byte, []int) { + return file_redpanda_api_common_v1_errordetails_proto_rawDescGZIP(), []int{1} +} + +func (x *ExternalError) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *ExternalError) GetDetails() []*anypb.Any { + if x != nil { + return x.Details + } + return nil +} + +type AttemptInfo_Attempt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` + Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *AttemptInfo_Attempt) Reset() { + *x = AttemptInfo_Attempt{} + if protoimpl.UnsafeEnabled { + mi := &file_redpanda_api_common_v1_errordetails_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AttemptInfo_Attempt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttemptInfo_Attempt) ProtoMessage() {} + +func (x *AttemptInfo_Attempt) ProtoReflect() protoreflect.Message { + mi := &file_redpanda_api_common_v1_errordetails_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttemptInfo_Attempt.ProtoReflect.Descriptor instead. +func (*AttemptInfo_Attempt) Descriptor() ([]byte, []int) { + return file_redpanda_api_common_v1_errordetails_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *AttemptInfo_Attempt) GetNumber() int32 { + if x != nil { + return x.Number + } + return 0 +} + +func (x *AttemptInfo_Attempt) GetStatus() *status.Status { + if x != nil { + return x.Status + } + return nil +} + +var File_redpanda_api_common_v1_errordetails_proto protoreflect.FileDescriptor + +var file_redpanda_api_common_v1_errordetails_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, 0x65, 0x64, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x01, 0x0a, 0x0b, 0x41, 0x74, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x64, 0x70, + 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, + 0x1a, 0x4d, 0x0a, 0x07, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x59, 0x0a, 0x0d, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x83, 0x02, 0x0a, 0x1a, 0x63, + 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x57, + 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, + 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x41, 0x43, 0xaa, 0x02, 0x16, + 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, + 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, + 0x02, 0x22, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x3a, + 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_redpanda_api_common_v1_errordetails_proto_rawDescOnce sync.Once + file_redpanda_api_common_v1_errordetails_proto_rawDescData = file_redpanda_api_common_v1_errordetails_proto_rawDesc +) + +func file_redpanda_api_common_v1_errordetails_proto_rawDescGZIP() []byte { + file_redpanda_api_common_v1_errordetails_proto_rawDescOnce.Do(func() { + file_redpanda_api_common_v1_errordetails_proto_rawDescData = protoimpl.X.CompressGZIP(file_redpanda_api_common_v1_errordetails_proto_rawDescData) + }) + return file_redpanda_api_common_v1_errordetails_proto_rawDescData +} + +var file_redpanda_api_common_v1_errordetails_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_redpanda_api_common_v1_errordetails_proto_goTypes = []interface{}{ + (*AttemptInfo)(nil), // 0: redpanda.api.common.v1.AttemptInfo + (*ExternalError)(nil), // 1: redpanda.api.common.v1.ExternalError + (*AttemptInfo_Attempt)(nil), // 2: redpanda.api.common.v1.AttemptInfo.Attempt + (*anypb.Any)(nil), // 3: google.protobuf.Any + (*status.Status)(nil), // 4: google.rpc.Status +} +var file_redpanda_api_common_v1_errordetails_proto_depIdxs = []int32{ + 2, // 0: redpanda.api.common.v1.AttemptInfo.attempts:type_name -> redpanda.api.common.v1.AttemptInfo.Attempt + 3, // 1: redpanda.api.common.v1.ExternalError.details:type_name -> google.protobuf.Any + 4, // 2: redpanda.api.common.v1.AttemptInfo.Attempt.status:type_name -> google.rpc.Status + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_redpanda_api_common_v1_errordetails_proto_init() } +func file_redpanda_api_common_v1_errordetails_proto_init() { + if File_redpanda_api_common_v1_errordetails_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_redpanda_api_common_v1_errordetails_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttemptInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_redpanda_api_common_v1_errordetails_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalError); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_redpanda_api_common_v1_errordetails_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttemptInfo_Attempt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_redpanda_api_common_v1_errordetails_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_redpanda_api_common_v1_errordetails_proto_goTypes, + DependencyIndexes: file_redpanda_api_common_v1_errordetails_proto_depIdxs, + MessageInfos: file_redpanda_api_common_v1_errordetails_proto_msgTypes, + }.Build() + File_redpanda_api_common_v1_errordetails_proto = out.File + file_redpanda_api_common_v1_errordetails_proto_rawDesc = nil + file_redpanda_api_common_v1_errordetails_proto_goTypes = nil + file_redpanda_api_common_v1_errordetails_proto_depIdxs = nil +} diff --git a/backend/pkg/protogen/redpanda/api/common/v1/linthint.pb.go b/backend/pkg/protogen/redpanda/api/common/v1/linthint.pb.go new file mode 100644 index 000000000..3122d31cf --- /dev/null +++ b/backend/pkg/protogen/redpanda/api/common/v1/linthint.pb.go @@ -0,0 +1,194 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc (unknown) +// source: redpanda/api/common/v1/linthint.proto + +package commonv1 + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// LintHint is a generic linting hint. +type LintHint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Line number of the lint. + Line int32 `protobuf:"varint,1,opt,name=line,proto3" json:"line,omitempty"` + // Column number of the lint. + Column int32 `protobuf:"varint,2,opt,name=column,proto3" json:"column,omitempty"` + // The hint message. + Hint string `protobuf:"bytes,3,opt,name=hint,proto3" json:"hint,omitempty"` + // Optional lint type or enum. + LintType string `protobuf:"bytes,4,opt,name=lint_type,json=lintType,proto3" json:"lint_type,omitempty"` +} + +func (x *LintHint) Reset() { + *x = LintHint{} + if protoimpl.UnsafeEnabled { + mi := &file_redpanda_api_common_v1_linthint_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LintHint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LintHint) ProtoMessage() {} + +func (x *LintHint) ProtoReflect() protoreflect.Message { + mi := &file_redpanda_api_common_v1_linthint_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LintHint.ProtoReflect.Descriptor instead. +func (*LintHint) Descriptor() ([]byte, []int) { + return file_redpanda_api_common_v1_linthint_proto_rawDescGZIP(), []int{0} +} + +func (x *LintHint) GetLine() int32 { + if x != nil { + return x.Line + } + return 0 +} + +func (x *LintHint) GetColumn() int32 { + if x != nil { + return x.Column + } + return 0 +} + +func (x *LintHint) GetHint() string { + if x != nil { + return x.Hint + } + return "" +} + +func (x *LintHint) GetLintType() string { + if x != nil { + return x.LintType + } + return "" +} + +var File_redpanda_api_common_v1_linthint_proto protoreflect.FileDescriptor + +var file_redpanda_api_common_v1_linthint_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x69, 0x6e, 0x74, 0x68, 0x69, 0x6e, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, + 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x22, + 0x67, 0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x74, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, + 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x69, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6c, + 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6c, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0xff, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, + 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x4c, 0x69, 0x6e, 0x74, 0x68, 0x69, 0x6e, + 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x57, 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x67, + 0x6f, 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, + 0x31, 0xa2, 0x02, 0x03, 0x52, 0x41, 0x43, 0xaa, 0x02, 0x16, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x64, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x16, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x22, 0x52, 0x65, 0x64, 0x70, + 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, + 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x19, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_redpanda_api_common_v1_linthint_proto_rawDescOnce sync.Once + file_redpanda_api_common_v1_linthint_proto_rawDescData = file_redpanda_api_common_v1_linthint_proto_rawDesc +) + +func file_redpanda_api_common_v1_linthint_proto_rawDescGZIP() []byte { + file_redpanda_api_common_v1_linthint_proto_rawDescOnce.Do(func() { + file_redpanda_api_common_v1_linthint_proto_rawDescData = protoimpl.X.CompressGZIP(file_redpanda_api_common_v1_linthint_proto_rawDescData) + }) + return file_redpanda_api_common_v1_linthint_proto_rawDescData +} + +var file_redpanda_api_common_v1_linthint_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_redpanda_api_common_v1_linthint_proto_goTypes = []interface{}{ + (*LintHint)(nil), // 0: redpanda.api.common.v1.LintHint +} +var file_redpanda_api_common_v1_linthint_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_redpanda_api_common_v1_linthint_proto_init() } +func file_redpanda_api_common_v1_linthint_proto_init() { + if File_redpanda_api_common_v1_linthint_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_redpanda_api_common_v1_linthint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LintHint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_redpanda_api_common_v1_linthint_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_redpanda_api_common_v1_linthint_proto_goTypes, + DependencyIndexes: file_redpanda_api_common_v1_linthint_proto_depIdxs, + MessageInfos: file_redpanda_api_common_v1_linthint_proto_msgTypes, + }.Build() + File_redpanda_api_common_v1_linthint_proto = out.File + file_redpanda_api_common_v1_linthint_proto_rawDesc = nil + file_redpanda_api_common_v1_linthint_proto_goTypes = nil + file_redpanda_api_common_v1_linthint_proto_depIdxs = nil +} diff --git a/backend/pkg/protogen/redpanda/api/common/v1alpha1/common.pb.go b/backend/pkg/protogen/redpanda/api/common/v1alpha1/common.pb.go new file mode 100644 index 000000000..10f6c4270 --- /dev/null +++ b/backend/pkg/protogen/redpanda/api/common/v1alpha1/common.pb.go @@ -0,0 +1,325 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc (unknown) +// source: redpanda/api/common/v1alpha1/common.proto + +package commonv1alpha1 + +import ( + reflect "reflect" + sync "sync" + + code "google.golang.org/genproto/googleapis/rpc/code" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Reason int32 + +const ( + Reason_REASON_UNSPECIFIED Reason = 0 + // The specified resource could not be found. + Reason_REASON_RESOURCE_NOT_FOUND Reason = 1 + // The input provided with the request is invalid. + Reason_REASON_INVALID_INPUT Reason = 2 + // Authentication token is missing. + Reason_REASON_NO_AUTHENTICATION_TOKEN Reason = 3 + // The authentication token provided has expired. + Reason_REASON_AUTHENTICATION_TOKEN_EXPIRED Reason = 4 + // The authentication token provided is invalid. + Reason_REASON_AUTHENTICATION_TOKEN_INVALID Reason = 5 + // The user does not have the necessary permissions. + Reason_REASON_PERMISSION_DENIED Reason = 6 + // The request cannot be completed due to server error. + Reason_REASON_SERVER_ERROR Reason = 7 + // The request rate is too high. + Reason_REASON_TOO_MANY_REQUESTS Reason = 8 + // The request timed out. + Reason_REASON_TIMEOUT Reason = 9 + // The feature is not configured. + Reason_REASON_FEATURE_NOT_CONFIGURED Reason = 10 + // The feature is not supported in the requested environment. + Reason_REASON_FEATURE_NOT_SUPPORTED Reason = 11 +) + +// Enum value maps for Reason. +var ( + Reason_name = map[int32]string{ + 0: "REASON_UNSPECIFIED", + 1: "REASON_RESOURCE_NOT_FOUND", + 2: "REASON_INVALID_INPUT", + 3: "REASON_NO_AUTHENTICATION_TOKEN", + 4: "REASON_AUTHENTICATION_TOKEN_EXPIRED", + 5: "REASON_AUTHENTICATION_TOKEN_INVALID", + 6: "REASON_PERMISSION_DENIED", + 7: "REASON_SERVER_ERROR", + 8: "REASON_TOO_MANY_REQUESTS", + 9: "REASON_TIMEOUT", + 10: "REASON_FEATURE_NOT_CONFIGURED", + 11: "REASON_FEATURE_NOT_SUPPORTED", + } + Reason_value = map[string]int32{ + "REASON_UNSPECIFIED": 0, + "REASON_RESOURCE_NOT_FOUND": 1, + "REASON_INVALID_INPUT": 2, + "REASON_NO_AUTHENTICATION_TOKEN": 3, + "REASON_AUTHENTICATION_TOKEN_EXPIRED": 4, + "REASON_AUTHENTICATION_TOKEN_INVALID": 5, + "REASON_PERMISSION_DENIED": 6, + "REASON_SERVER_ERROR": 7, + "REASON_TOO_MANY_REQUESTS": 8, + "REASON_TIMEOUT": 9, + "REASON_FEATURE_NOT_CONFIGURED": 10, + "REASON_FEATURE_NOT_SUPPORTED": 11, + } +) + +func (x Reason) Enum() *Reason { + p := new(Reason) + *p = x + return p +} + +func (x Reason) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Reason) Descriptor() protoreflect.EnumDescriptor { + return file_redpanda_api_common_v1alpha1_common_proto_enumTypes[0].Descriptor() +} + +func (Reason) Type() protoreflect.EnumType { + return &file_redpanda_api_common_v1alpha1_common_proto_enumTypes[0] +} + +func (x Reason) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Reason.Descriptor instead. +func (Reason) EnumDescriptor() ([]byte, []int) { + return file_redpanda_api_common_v1alpha1_common_proto_rawDescGZIP(), []int{0} +} + +// Modified variant of google.rpc.Status, that uses enum instead of int32 for +// code, so it's nicer in REST. +// The `Status` type defines a logical error model that is suitable for +// different programming environments, including REST APIs and RPC APIs. It is +// used by [gRPC](https://github.com/grpc). Each `Status` message contains +// three pieces of data: error code, error message, and error details. +// +// You can find out more about this error model and how to work with it in the +// [API Design Guide](https://cloud.google.com/apis/design/errors). +type ErrorStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status code, which should be an enum value of + // [google.rpc.Code][google.rpc.Code]. + Code code.Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.rpc.Code" json:"code,omitempty"` + // A developer-facing error message, which should be in English. Any + // user-facing error message should be localized and sent in the + // [google.rpc.Status.details][google.rpc.Status.details] field, or localized + // by the client. + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // A list of messages that carry the error details. There is a common set of + // message types for APIs to use. + Details []*anypb.Any `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"` +} + +func (x *ErrorStatus) Reset() { + *x = ErrorStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_redpanda_api_common_v1alpha1_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ErrorStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorStatus) ProtoMessage() {} + +func (x *ErrorStatus) ProtoReflect() protoreflect.Message { + mi := &file_redpanda_api_common_v1alpha1_common_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ErrorStatus.ProtoReflect.Descriptor instead. +func (*ErrorStatus) Descriptor() ([]byte, []int) { + return file_redpanda_api_common_v1alpha1_common_proto_rawDescGZIP(), []int{0} +} + +func (x *ErrorStatus) GetCode() code.Code { + if x != nil { + return x.Code + } + return code.Code(0) +} + +func (x *ErrorStatus) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *ErrorStatus) GetDetails() []*anypb.Any { + if x != nil { + return x.Details + } + return nil +} + +var File_redpanda_api_common_v1alpha1_common_proto protoreflect.FileDescriptor + +var file_redpanda_api_common_v1alpha1_common_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x72, 0x65, 0x64, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, + 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x0b, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2a, 0xfd, 0x02, 0x0a, 0x06, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, + 0x19, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, + 0x4e, 0x50, 0x55, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x4e, 0x4f, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x03, 0x12, 0x27, 0x0a, 0x23, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, + 0x44, 0x10, 0x04, 0x12, 0x27, 0x0a, 0x23, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x55, + 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4b, + 0x45, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, + 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, + 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, + 0x4f, 0x55, 0x54, 0x10, 0x09, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, + 0x49, 0x47, 0x55, 0x52, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x41, 0x53, + 0x4f, 0x4e, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, + 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x0b, 0x42, 0xa7, 0x02, 0x0a, 0x20, 0x63, + 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, + 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, + 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, + 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x41, 0x43, 0xaa, 0x02, 0x1c, 0x52, 0x65, 0x64, 0x70, + 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x1c, 0x52, 0x65, 0x64, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x28, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x1f, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x3a, 0x3a, 0x41, + 0x70, 0x69, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_redpanda_api_common_v1alpha1_common_proto_rawDescOnce sync.Once + file_redpanda_api_common_v1alpha1_common_proto_rawDescData = file_redpanda_api_common_v1alpha1_common_proto_rawDesc +) + +func file_redpanda_api_common_v1alpha1_common_proto_rawDescGZIP() []byte { + file_redpanda_api_common_v1alpha1_common_proto_rawDescOnce.Do(func() { + file_redpanda_api_common_v1alpha1_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_redpanda_api_common_v1alpha1_common_proto_rawDescData) + }) + return file_redpanda_api_common_v1alpha1_common_proto_rawDescData +} + +var file_redpanda_api_common_v1alpha1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_redpanda_api_common_v1alpha1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_redpanda_api_common_v1alpha1_common_proto_goTypes = []interface{}{ + (Reason)(0), // 0: redpanda.api.common.v1alpha1.Reason + (*ErrorStatus)(nil), // 1: redpanda.api.common.v1alpha1.ErrorStatus + (code.Code)(0), // 2: google.rpc.Code + (*anypb.Any)(nil), // 3: google.protobuf.Any +} +var file_redpanda_api_common_v1alpha1_common_proto_depIdxs = []int32{ + 2, // 0: redpanda.api.common.v1alpha1.ErrorStatus.code:type_name -> google.rpc.Code + 3, // 1: redpanda.api.common.v1alpha1.ErrorStatus.details:type_name -> google.protobuf.Any + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_redpanda_api_common_v1alpha1_common_proto_init() } +func file_redpanda_api_common_v1alpha1_common_proto_init() { + if File_redpanda_api_common_v1alpha1_common_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_redpanda_api_common_v1alpha1_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ErrorStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_redpanda_api_common_v1alpha1_common_proto_rawDesc, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_redpanda_api_common_v1alpha1_common_proto_goTypes, + DependencyIndexes: file_redpanda_api_common_v1alpha1_common_proto_depIdxs, + EnumInfos: file_redpanda_api_common_v1alpha1_common_proto_enumTypes, + MessageInfos: file_redpanda_api_common_v1alpha1_common_proto_msgTypes, + }.Build() + File_redpanda_api_common_v1alpha1_common_proto = out.File + file_redpanda_api_common_v1alpha1_common_proto_rawDesc = nil + file_redpanda_api_common_v1alpha1_common_proto_goTypes = nil + file_redpanda_api_common_v1alpha1_common_proto_depIdxs = nil +} diff --git a/backend/pkg/protogen/redpanda/api/common/v1alpha1/money.pb.go b/backend/pkg/protogen/redpanda/api/common/v1alpha1/money.pb.go new file mode 100644 index 000000000..cab9c8327 --- /dev/null +++ b/backend/pkg/protogen/redpanda/api/common/v1alpha1/money.pb.go @@ -0,0 +1,238 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc (unknown) +// source: redpanda/api/common/v1alpha1/money.proto + +package commonv1alpha1 + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Currency int32 + +const ( + Currency_CURRENCY_UNSPECIFIED Currency = 0 + Currency_CURRENCY_CURRENCY_USD_CENTS Currency = 1 +) + +// Enum value maps for Currency. +var ( + Currency_name = map[int32]string{ + 0: "CURRENCY_UNSPECIFIED", + 1: "CURRENCY_CURRENCY_USD_CENTS", + } + Currency_value = map[string]int32{ + "CURRENCY_UNSPECIFIED": 0, + "CURRENCY_CURRENCY_USD_CENTS": 1, + } +) + +func (x Currency) Enum() *Currency { + p := new(Currency) + *p = x + return p +} + +func (x Currency) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Currency) Descriptor() protoreflect.EnumDescriptor { + return file_redpanda_api_common_v1alpha1_money_proto_enumTypes[0].Descriptor() +} + +func (Currency) Type() protoreflect.EnumType { + return &file_redpanda_api_common_v1alpha1_money_proto_enumTypes[0] +} + +func (x Currency) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Currency.Descriptor instead. +func (Currency) EnumDescriptor() ([]byte, []int) { + return file_redpanda_api_common_v1alpha1_money_proto_rawDescGZIP(), []int{0} +} + +type Money struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Amount is a decimal number. + // Examples: + // 10 + // 10.15 + Amount string `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` + Currency Currency `protobuf:"varint,2,opt,name=currency,proto3,enum=redpanda.api.common.v1alpha1.Currency" json:"currency,omitempty"` +} + +func (x *Money) Reset() { + *x = Money{} + if protoimpl.UnsafeEnabled { + mi := &file_redpanda_api_common_v1alpha1_money_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Money) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Money) ProtoMessage() {} + +func (x *Money) ProtoReflect() protoreflect.Message { + mi := &file_redpanda_api_common_v1alpha1_money_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Money.ProtoReflect.Descriptor instead. +func (*Money) Descriptor() ([]byte, []int) { + return file_redpanda_api_common_v1alpha1_money_proto_rawDescGZIP(), []int{0} +} + +func (x *Money) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +func (x *Money) GetCurrency() Currency { + if x != nil { + return x.Currency + } + return Currency_CURRENCY_UNSPECIFIED +} + +var File_redpanda_api_common_v1alpha1_money_proto protoreflect.FileDescriptor + +var file_redpanda_api_common_v1alpha1_money_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6d, + 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x72, 0x65, 0x64, 0x70, + 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x05, 0x4d, 0x6f, 0x6e, + 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x06, 0xe0, 0x41, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x2a, 0x45, + 0x0a, 0x08, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x55, + 0x52, 0x52, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x43, 0x59, + 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x53, 0x44, 0x5f, 0x43, 0x45, + 0x4e, 0x54, 0x53, 0x10, 0x01, 0x42, 0xa6, 0x02, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, + 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, + 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x67, + 0x6f, 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, + 0x52, 0x41, 0x43, 0xaa, 0x02, 0x1c, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x41, + 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0xca, 0x02, 0x1c, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, + 0x69, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0xe2, 0x02, 0x28, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, + 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1f, 0x52, + 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_redpanda_api_common_v1alpha1_money_proto_rawDescOnce sync.Once + file_redpanda_api_common_v1alpha1_money_proto_rawDescData = file_redpanda_api_common_v1alpha1_money_proto_rawDesc +) + +func file_redpanda_api_common_v1alpha1_money_proto_rawDescGZIP() []byte { + file_redpanda_api_common_v1alpha1_money_proto_rawDescOnce.Do(func() { + file_redpanda_api_common_v1alpha1_money_proto_rawDescData = protoimpl.X.CompressGZIP(file_redpanda_api_common_v1alpha1_money_proto_rawDescData) + }) + return file_redpanda_api_common_v1alpha1_money_proto_rawDescData +} + +var file_redpanda_api_common_v1alpha1_money_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_redpanda_api_common_v1alpha1_money_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_redpanda_api_common_v1alpha1_money_proto_goTypes = []interface{}{ + (Currency)(0), // 0: redpanda.api.common.v1alpha1.Currency + (*Money)(nil), // 1: redpanda.api.common.v1alpha1.Money +} +var file_redpanda_api_common_v1alpha1_money_proto_depIdxs = []int32{ + 0, // 0: redpanda.api.common.v1alpha1.Money.currency:type_name -> redpanda.api.common.v1alpha1.Currency + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_redpanda_api_common_v1alpha1_money_proto_init() } +func file_redpanda_api_common_v1alpha1_money_proto_init() { + if File_redpanda_api_common_v1alpha1_money_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_redpanda_api_common_v1alpha1_money_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Money); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_redpanda_api_common_v1alpha1_money_proto_rawDesc, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_redpanda_api_common_v1alpha1_money_proto_goTypes, + DependencyIndexes: file_redpanda_api_common_v1alpha1_money_proto_depIdxs, + EnumInfos: file_redpanda_api_common_v1alpha1_money_proto_enumTypes, + MessageInfos: file_redpanda_api_common_v1alpha1_money_proto_msgTypes, + }.Build() + File_redpanda_api_common_v1alpha1_money_proto = out.File + file_redpanda_api_common_v1alpha1_money_proto_rawDesc = nil + file_redpanda_api_common_v1alpha1_money_proto_goTypes = nil + file_redpanda_api_common_v1alpha1_money_proto_depIdxs = nil +} diff --git a/backend/pkg/protogen/redpanda/api/common/v1alpha1/options.pb.go b/backend/pkg/protogen/redpanda/api/common/v1alpha1/options.pb.go new file mode 100644 index 000000000..ffb75dd51 --- /dev/null +++ b/backend/pkg/protogen/redpanda/api/common/v1alpha1/options.pb.go @@ -0,0 +1,113 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc (unknown) +// source: redpanda/api/common/v1alpha1/options.proto + +package commonv1alpha1 + +import ( + reflect "reflect" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +var file_redpanda_api_common_v1alpha1_options_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*descriptorpb.MethodOptions)(nil), + ExtensionType: ([]string)(nil), + Field: 15350, + Name: "redpanda.api.common.v1alpha1.required_permission", + Tag: "bytes,15350,rep,name=required_permission", + Filename: "redpanda/api/common/v1alpha1/options.proto", + }, +} + +// Extension fields to descriptorpb.MethodOptions. +var ( + // repeated string required_permission = 15350; + E_RequiredPermission = &file_redpanda_api_common_v1alpha1_options_proto_extTypes[0] +) + +var File_redpanda_api_common_v1alpha1_options_proto protoreflect.FileDescriptor + +var file_redpanda_api_common_v1alpha1_options_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x72, 0x65, + 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3a, 0x50, 0x0a, 0x13, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0xf6, 0x77, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0xa8, + 0x02, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x42, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x64, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x41, 0x43, 0xaa, 0x02, + 0x1c, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x1c, + 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x28, 0x52, + 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1f, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x64, 0x61, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, + 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var file_redpanda_api_common_v1alpha1_options_proto_goTypes = []interface{}{ + (*descriptorpb.MethodOptions)(nil), // 0: google.protobuf.MethodOptions +} +var file_redpanda_api_common_v1alpha1_options_proto_depIdxs = []int32{ + 0, // 0: redpanda.api.common.v1alpha1.required_permission:extendee -> google.protobuf.MethodOptions + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 0, // [0:1] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_redpanda_api_common_v1alpha1_options_proto_init() } +func file_redpanda_api_common_v1alpha1_options_proto_init() { + if File_redpanda_api_common_v1alpha1_options_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_redpanda_api_common_v1alpha1_options_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 1, + NumServices: 0, + }, + GoTypes: file_redpanda_api_common_v1alpha1_options_proto_goTypes, + DependencyIndexes: file_redpanda_api_common_v1alpha1_options_proto_depIdxs, + ExtensionInfos: file_redpanda_api_common_v1alpha1_options_proto_extTypes, + }.Build() + File_redpanda_api_common_v1alpha1_options_proto = out.File + file_redpanda_api_common_v1alpha1_options_proto_rawDesc = nil + file_redpanda_api_common_v1alpha1_options_proto_goTypes = nil + file_redpanda_api_common_v1alpha1_options_proto_depIdxs = nil +} diff --git a/backend/pkg/protogen/redpanda/api/common/v1alpha1/pagination.pb.go b/backend/pkg/protogen/redpanda/api/common/v1alpha1/pagination.pb.go new file mode 100644 index 000000000..eb54d383d --- /dev/null +++ b/backend/pkg/protogen/redpanda/api/common/v1alpha1/pagination.pb.go @@ -0,0 +1,179 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc (unknown) +// source: redpanda/api/common/v1alpha1/pagination.proto + +package commonv1alpha1 + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// KeySetPageToken represents a pagination token for KeySet pagination. +// It marks the beginning of a page where records start from the key that +// satisfies the condition key >= value_greater_equal. Records are sorted +// alphabetically by key in ascending order. +type KeySetPageToken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + ValueGreaterEqual string `protobuf:"bytes,2,opt,name=value_greater_equal,json=valueGreaterEqual,proto3" json:"value_greater_equal,omitempty"` +} + +func (x *KeySetPageToken) Reset() { + *x = KeySetPageToken{} + if protoimpl.UnsafeEnabled { + mi := &file_redpanda_api_common_v1alpha1_pagination_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KeySetPageToken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeySetPageToken) ProtoMessage() {} + +func (x *KeySetPageToken) ProtoReflect() protoreflect.Message { + mi := &file_redpanda_api_common_v1alpha1_pagination_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KeySetPageToken.ProtoReflect.Descriptor instead. +func (*KeySetPageToken) Descriptor() ([]byte, []int) { + return file_redpanda_api_common_v1alpha1_pagination_proto_rawDescGZIP(), []int{0} +} + +func (x *KeySetPageToken) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *KeySetPageToken) GetValueGreaterEqual() string { + if x != nil { + return x.ValueGreaterEqual + } + return "" +} + +var File_redpanda_api_common_v1alpha1_pagination_proto protoreflect.FileDescriptor + +var file_redpanda_api_common_v1alpha1_pagination_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x1c, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x22, 0x53, 0x0a, + 0x0f, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x67, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x72, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x11, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x47, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x45, 0x71, 0x75, + 0x61, 0x6c, 0x42, 0xab, 0x02, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, + 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0f, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x62, 0x75, 0x66, 0x2e, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x64, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, + 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, + 0x02, 0x03, 0x52, 0x41, 0x43, 0xaa, 0x02, 0x1c, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, + 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x1c, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, + 0x41, 0x70, 0x69, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0xe2, 0x02, 0x28, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x5c, 0x41, + 0x70, 0x69, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x1f, 0x52, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_redpanda_api_common_v1alpha1_pagination_proto_rawDescOnce sync.Once + file_redpanda_api_common_v1alpha1_pagination_proto_rawDescData = file_redpanda_api_common_v1alpha1_pagination_proto_rawDesc +) + +func file_redpanda_api_common_v1alpha1_pagination_proto_rawDescGZIP() []byte { + file_redpanda_api_common_v1alpha1_pagination_proto_rawDescOnce.Do(func() { + file_redpanda_api_common_v1alpha1_pagination_proto_rawDescData = protoimpl.X.CompressGZIP(file_redpanda_api_common_v1alpha1_pagination_proto_rawDescData) + }) + return file_redpanda_api_common_v1alpha1_pagination_proto_rawDescData +} + +var file_redpanda_api_common_v1alpha1_pagination_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_redpanda_api_common_v1alpha1_pagination_proto_goTypes = []interface{}{ + (*KeySetPageToken)(nil), // 0: redpanda.api.common.v1alpha1.KeySetPageToken +} +var file_redpanda_api_common_v1alpha1_pagination_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_redpanda_api_common_v1alpha1_pagination_proto_init() } +func file_redpanda_api_common_v1alpha1_pagination_proto_init() { + if File_redpanda_api_common_v1alpha1_pagination_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_redpanda_api_common_v1alpha1_pagination_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KeySetPageToken); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_redpanda_api_common_v1alpha1_pagination_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_redpanda_api_common_v1alpha1_pagination_proto_goTypes, + DependencyIndexes: file_redpanda_api_common_v1alpha1_pagination_proto_depIdxs, + MessageInfos: file_redpanda_api_common_v1alpha1_pagination_proto_msgTypes, + }.Build() + File_redpanda_api_common_v1alpha1_pagination_proto = out.File + file_redpanda_api_common_v1alpha1_pagination_proto_rawDesc = nil + file_redpanda_api_common_v1alpha1_pagination_proto_goTypes = nil + file_redpanda_api_common_v1alpha1_pagination_proto_depIdxs = nil +} diff --git a/backend/pkg/protogen/redpanda/api/console/v1alpha1/security.pb.go b/backend/pkg/protogen/redpanda/api/console/v1alpha1/security.pb.go index 74cb572fb..b09ddad94 100644 --- a/backend/pkg/protogen/redpanda/api/console/v1alpha1/security.pb.go +++ b/backend/pkg/protogen/redpanda/api/console/v1alpha1/security.pb.go @@ -961,114 +961,109 @@ var file_redpanda_api_console_v1alpha1_security_proto_rawDesc = []byte{ 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, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x04, 0x52, 0x6f, - 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x1f, 0xba, 0x48, 0x1c, 0xc8, 0x01, 0x01, 0x72, 0x17, 0x10, 0x01, 0x18, 0x80, 0x01, 0x32, - 0x10, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, - 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xf8, 0x02, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x30, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x13, 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, 0xb2, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, - 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x1c, 0xba, 0x48, 0x19, 0x72, 0x17, 0x18, 0x80, 0x01, 0x32, 0x12, 0x5e, 0x28, - 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2a, 0x29, 0x24, - 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x41, 0x0a, 0x0d, - 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x1c, 0xba, 0x48, 0x19, 0x72, 0x17, 0x18, 0x80, 0x01, 0x32, 0x12, 0x5e, - 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2a, 0x29, - 0x24, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, - 0x26, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x18, 0x80, 0x01, 0x52, 0x09, 0x70, 0x72, - 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x22, 0x76, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, - 0x65, 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, 0x4c, 0x0a, 0x11, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x37, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 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, 0x52, 0x6f, - 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x4d, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, - 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 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, 0x52, 0x6f, 0x6c, - 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x4e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x6f, 0x6c, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0x48, - 0x1c, 0xc8, 0x01, 0x01, 0x72, 0x17, 0x10, 0x01, 0x18, 0x80, 0x01, 0x32, 0x10, 0x5e, 0x5b, 0x61, - 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, 0x24, 0x52, 0x08, 0x72, - 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, - 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x72, - 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, - 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x47, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x68, 0x69, 0x70, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x72, 0x0a, - 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0x48, 0x1c, 0xc8, 0x01, 0x01, 0x72, 0x17, 0x10, - 0x01, 0x18, 0x80, 0x01, 0x32, 0x10, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, - 0x39, 0x2d, 0x5f, 0x5d, 0x2b, 0x24, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x04, 0x52, 0x6f, + 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x17, 0xba, 0x48, 0x14, 0xc8, 0x01, 0x01, 0x72, 0x0f, 0x10, 0x01, 0x18, 0x80, 0x01, 0x32, + 0x08, 0x5e, 0x5b, 0x5e, 0x2c, 0x3d, 0x5d, 0x2b, 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xe4, 0x02, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x13, 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, 0x9e, 0x01, 0x0a, 0x06, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xba, 0x48, 0x0f, 0x72, + 0x0d, 0x18, 0x80, 0x01, 0x32, 0x08, 0x5e, 0x5b, 0x5e, 0x2c, 0x3d, 0x5d, 0x2b, 0x24, 0x52, 0x0a, + 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x37, 0x0a, 0x0d, 0x6e, 0x61, + 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x12, 0xba, 0x48, 0x0f, 0x72, 0x0d, 0x18, 0x80, 0x01, 0x32, 0x08, 0x5e, 0x5b, 0x5e, + 0x2c, 0x3d, 0x5d, 0x2b, 0x24, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x18, 0x80, 0x01, + 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x76, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x72, + 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, + 0x05, 0x72, 0x6f, 0x6c, 0x65, 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, 0x4c, + 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x4d, 0x0a, 0x12, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x3c, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, + 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xba, 0x48, 0x0a, 0xc8, 0x01, 0x01, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x01, 0x52, + 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, + 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 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, 0x52, 0x6f, 0x6c, 0x65, + 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x47, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, + 0x60, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xba, 0x48, 0x0a, 0xc8, 0x01, 0x01, 0x72, + 0x05, 0x10, 0x01, 0x18, 0x80, 0x01, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x6c, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc6, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbe, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0x48, 0x1c, 0xc8, 0x01, 0x01, 0x72, 0x17, 0x10, - 0x01, 0x18, 0x80, 0x01, 0x32, 0x10, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, - 0x39, 0x2d, 0x5f, 0x5d, 0x2b, 0x24, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x59, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x13, - 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, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x37, 0x0a, 0x06, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, - 0x48, 0x05, 0x72, 0x03, 0x18, 0x80, 0x01, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x22, 0xa7, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x07, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, - 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x2e, 0x0a, 0x0e, 0x52, 0x6f, - 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, - 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x22, 0xfb, 0x01, 0x0a, 0x1b, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x6f, - 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, - 0x48, 0x1c, 0xc8, 0x01, 0x01, 0x72, 0x17, 0x10, 0x01, 0x18, 0x80, 0x01, 0x32, 0x10, 0x5e, 0x5b, - 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, 0x24, 0x52, 0x08, + 0x73, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xba, 0x48, 0x14, 0xc8, 0x01, 0x01, 0x72, 0x0f, 0x10, + 0x01, 0x18, 0x80, 0x01, 0x32, 0x08, 0x5e, 0x5b, 0x5e, 0x2c, 0x3d, 0x5d, 0x2b, 0x24, 0x52, 0x08, + 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x59, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x02, 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, 0x52, 0x6f, 0x6c, + 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x13, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x37, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2d, + 0x0a, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0x18, 0x80, 0x01, 0x52, + 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa7, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x47, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2d, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x2e, 0x0a, 0x0e, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x68, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, + 0x61, 0x6c, 0x22, 0xf3, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, + 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xba, 0x48, 0x14, 0xc8, 0x01, 0x01, 0x72, 0x0f, 0x10, + 0x01, 0x18, 0x80, 0x01, 0x32, 0x08, 0x5e, 0x5b, 0x5e, 0x2c, 0x3d, 0x5d, 0x2b, 0x24, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x03, 0x61, 0x64, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, @@ -1079,89 +1074,88 @@ var file_redpanda_api_console_v1alpha1_security_proto_rawDesc = []byte{ 0x0b, 0x32, 0x2d, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, - 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, + 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x6f, 0x6c, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0x48, - 0x1c, 0xc8, 0x01, 0x01, 0x72, 0x17, 0x10, 0x01, 0x18, 0x80, 0x01, 0x32, 0x10, 0x5e, 0x5b, 0x61, - 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x5d, 0x2b, 0x24, 0x52, 0x08, 0x72, - 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x61, 0x64, 0x64, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x05, 0x61, 0x64, 0x64, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x07, - 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 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, 0x52, 0x6f, - 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x07, 0x72, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x32, 0xf2, 0x05, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x70, 0x0a, 0x09, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2f, 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, 0x52, 0x6f, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 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, 0x52, 0x6f, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x0a, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x30, 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, - 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x6a, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x2d, 0x2e, 0x72, 0x65, - 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, - 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, - 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x64, - 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, - 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x0a, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x30, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x82, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, + 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x72, 0x6f, 0x6c, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xba, 0x48, + 0x14, 0xc8, 0x01, 0x01, 0x72, 0x0f, 0x10, 0x01, 0x18, 0x80, 0x01, 0x32, 0x08, 0x5e, 0x5b, 0x5e, + 0x2c, 0x3d, 0x5d, 0x2b, 0x24, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x43, 0x0a, 0x05, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, + 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, 0x52, + 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x05, 0x61, + 0x64, 0x64, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, - 0x3a, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x68, 0x69, 0x70, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x32, 0xf2, 0x05, + 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x70, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2f, + 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, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x72, 0x65, - 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, - 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xae, 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, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 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, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, + 0x65, 0x12, 0x30, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x31, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, + 0x6f, 0x6c, 0x65, 0x12, 0x2d, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, + 0x6c, 0x65, 0x12, 0x30, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 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, 0x52, 0x6f, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x0f, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 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, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, + 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x3a, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, + 0x64, 0x61, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, + 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x72, 0x65, 0x64, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x42, 0xae, 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, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 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 ( diff --git a/frontend/src/components/pages/acls/Acl.List.tsx b/frontend/src/components/pages/acls/Acl.List.tsx index 5b4e626ac..8c4bd5129 100644 --- a/frontend/src/components/pages/acls/Acl.List.tsx +++ b/frontend/src/components/pages/acls/Acl.List.tsx @@ -424,7 +424,7 @@ const RolesTab = observer(() => { cell: (ctx) => { const entry = ctx.row.original; return <> - {entry.name} diff --git a/frontend/src/components/pages/acls/RoleDetails.tsx b/frontend/src/components/pages/acls/RoleDetails.tsx index 8e0bacd51..94903d82e 100644 --- a/frontend/src/components/pages/acls/RoleDetails.tsx +++ b/frontend/src/components/pages/acls/RoleDetails.tsx @@ -31,20 +31,20 @@ class RoleDetailsPage extends PageComponent<{ roleName: string }> { @observable isDeleting: boolean = false; @observable principalSearch: string = ''; + @observable roleName: string = ''; constructor(p: any) { super(p); makeObservable(this); + this.roleName = decodeURIComponent(this.props.roleName); this.deleteRole = this.deleteRole.bind(this); } initPage(p: PageInitHelper): void { - const roleName = decodeURIComponent(this.props.roleName); - p.title = 'Role details'; p.addBreadcrumb('Access control', '/security'); p.addBreadcrumb('Roles', '/security/roles'); - p.addBreadcrumb(roleName, `/security/roles/${roleName}`); + p.addBreadcrumb(decodeURIComponent(this.props.roleName), `/security/roles/${this.props.roleName}`); this.refreshData(true); appGlobal.onRefresh = () => this.refreshData(true); @@ -65,7 +65,7 @@ class RoleDetailsPage extends PageComponent<{ roleName: string }> { async deleteRole() { this.isDeleting = true try { - await rolesApi.deleteRole(this.props.roleName, true) + await rolesApi.deleteRole(this.roleName, true) await rolesApi.refreshRoles(); await rolesApi.refreshRoleMembers(); // need to refresh assignments as well, otherwise users will still be marked as having that role, even though it doesn't exist anymore } finally { @@ -81,9 +81,9 @@ class RoleDetailsPage extends PageComponent<{ roleName: string }> { const aclPrincipalGroup = principalGroupsView.principalGroups.find(({ principalType, principalName - }) => principalType === 'RedpandaRole' && principalName === this.props.roleName) + }) => principalType === 'RedpandaRole' && principalName === this.roleName) - let members = rolesApi.roleMembers.get(this.props.roleName) ?? [] + let members = rolesApi.roleMembers.get(this.roleName) ?? [] try { const quickSearchRegExp = new RegExp(this.principalSearch, 'i') members = members.filter(({name}) => name.match(quickSearchRegExp)) @@ -91,7 +91,7 @@ class RoleDetailsPage extends PageComponent<{ roleName: string }> { console.warn('Invalid expression') } - const numberOfPrincipals = rolesApi.roleMembers.get(this.props.roleName)?.length ?? 0; + const numberOfPrincipals = rolesApi.roleMembers.get(this.roleName)?.length ?? 0; return <> @@ -109,7 +109,7 @@ class RoleDetailsPage extends PageComponent<{ roleName: string }> { Delete } - roleName={this.props.roleName} + roleName={this.roleName} /> diff --git a/frontend/src/components/pages/acls/RoleEditPage.tsx b/frontend/src/components/pages/acls/RoleEditPage.tsx index d09f97e1c..219fb9b26 100644 --- a/frontend/src/components/pages/acls/RoleEditPage.tsx +++ b/frontend/src/components/pages/acls/RoleEditPage.tsx @@ -25,19 +25,19 @@ import { principalGroupsView } from './Models'; class RoleEditPage extends PageComponent<{ roleName: string }> { @observable allDataLoaded = false; + @observable roleName: string = ''; constructor(p: any) { super(p); makeObservable(this); + this.roleName = decodeURIComponent(this.props.roleName); } initPage(p: PageInitHelper): void { - const roleName = decodeURIComponent(this.props.roleName); - p.title = 'Edit role'; p.addBreadcrumb('Access control', '/security'); p.addBreadcrumb('Roles', '/security/roles'); - p.addBreadcrumb(roleName, `/security/roles/${roleName}`); + p.addBreadcrumb(decodeURIComponent(this.props.roleName), `/security/roles/${encodeURIComponent(this.props.roleName)}`); this.refreshData(true); appGlobal.onRefresh = () => this.refreshData(true); @@ -72,7 +72,7 @@ class RoleEditPage extends PageComponent<{ roleName: string }> { return <> { title: `Role ${newRole.roleName} successfully ${editMode ? 'updated' : 'created'}` }); - history.push(`/security/roles/${newRole.roleName}/details`); + history.push(`/security/roles/${encodeURIComponent(newRole.roleName)}/details`); } catch (err) { toast({ @@ -141,7 +141,8 @@ export const RoleForm = observer(({ initialData }: RoleFormProps) => { { Create } {editMode ? : diff --git a/frontend/src/components/pages/connect/Overview.tsx b/frontend/src/components/pages/connect/Overview.tsx index 05943f3b8..f36e26d4d 100644 --- a/frontend/src/components/pages/connect/Overview.tsx +++ b/frontend/src/components/pages/connect/Overview.tsx @@ -21,7 +21,7 @@ import { PageComponent, PageInitHelper } from '../Page'; import { ConnectorClass, ConnectorsColumn, errIcon, mr05, NotConfigured, OverviewStatisticsCard, TasksColumn, TaskState } from './helper'; import Section from '../../misc/Section'; import PageContent from '../../misc/PageContent'; -import { Box, DataTable, Stack, Text, Tooltip } from '@redpanda-data/ui'; +import { Badge, Box, DataTable, Link, Stack, Text, Tooltip } from '@redpanda-data/ui'; import SearchBar from '../../misc/SearchBar'; import RpConnectPipelinesList from '../rp-connect/Pipelines.List'; import { RedpandaConnectIntro } from '../rp-connect/RedpandaConnectIntro'; @@ -32,7 +32,7 @@ import {isServerless} from '../../../config'; class KafkaConnectOverview extends PageComponent { initPage(p: PageInitHelper): void { p.title = 'Overview'; - p.addBreadcrumb('Connectors', '/connect-clusters'); + p.addBreadcrumb('Connect', '/connect-clusters'); this.refreshData(true); appGlobal.onRefresh = () => this.refreshData(true); @@ -55,13 +55,24 @@ class KafkaConnectOverview extends PageComponent { const tabs = [ { key: 'redpandaConnect', - title: Redpanda Connect, - content: , + title: Redpanda Connect Recommended, + content: + + + Redpanda Connect is an alternative to Kafka Connect. Choose from a growing ecosystem of readily available connectors. Learn more. + + + , }, { key: 'kafkaConnect', title: Kafka Connect, - content: + content: + + + Kafka Connect is our set of managed connectors. These provide a way to integrate your Redpanda data with different data systems. Learn more. + + }, ] as Tab[]; @@ -70,6 +81,9 @@ class KafkaConnectOverview extends PageComponent { return ( + + There are two ways to integrate your Redpanda data with data from external systems: Redpanda Connect and Kafka Connect. + {tabs.length == 1 ? (typeof tabs[0].content == 'function' ? tabs[0].content() diff --git a/frontend/src/components/pages/rp-connect/Pipelines.Create.tsx b/frontend/src/components/pages/rp-connect/Pipelines.Create.tsx index 8cb0dd89d..5b2ee9811 100644 --- a/frontend/src/components/pages/rp-connect/Pipelines.Create.tsx +++ b/frontend/src/components/pages/rp-connect/Pipelines.Create.tsx @@ -15,7 +15,7 @@ import { observer } from 'mobx-react'; import { appGlobal } from '../../../state/appGlobal'; import PageContent from '../../misc/PageContent'; import { PageComponent, PageInitHelper } from '../Page'; -import { Box, Button, createStandaloneToast, Flex, FormField, Input } from '@redpanda-data/ui'; +import { Alert, AlertIcon, Box, Button, Text, createStandaloneToast, Flex, FormField, Input } from '@redpanda-data/ui'; import PipelinesYamlEditor from '../../misc/PipelinesYamlEditor'; import { pipelinesApi } from '../../../state/backendApi'; import { DefaultSkeleton } from '../../../utils/tsxUtils'; @@ -23,6 +23,8 @@ import { Link } from 'react-router-dom'; import { Link as ChLink } from '@redpanda-data/ui'; import Tabs from '../../misc/tabs/Tabs'; import { PipelineCreate } from '../../../protogen/redpanda/api/dataplane/v1alpha2/pipeline_pb'; +import { ConnectError } from '@connectrpc/connect'; +import { LintHint } from '../../../protogen/redpanda/api/common/v1/linthint_pb'; const { ToastContainer, toast } = createStandaloneToast(); const exampleContent = ` @@ -137,10 +139,32 @@ class RpConnectPipelinesCreate extends PageComponent<{}> { appGlobal.history.push('/connect-clusters'); }) .catch(err => { + const details = []; + let genDesc = String(err); + if (err instanceof ConnectError) { + genDesc = err.message; + for (const detail of err.details) { + if (isLintHint(detail)) { + const hint = LintHint.fromJsonString(JSON.stringify(detail.debug)); + details.push(`Line ${hint.line}, Col ${hint.column}: ${hint.hint}`) + } + } + } + let desc = {genDesc} + if (details.length > 0) { + desc = <> + {genDesc} +
    + {details.map((d, idx) => ( +
  • {d}
  • + ))} +
+ + } toast({ status: 'error', duration: null, isClosable: true, title: 'Failed to create pipeline', - description: String(err), + description: desc, }) }) .finally(() => { @@ -174,6 +198,11 @@ export const PipelineEditor = observer((p: { language="yaml" />
+ {isKafkaConnectPipeline(p.yaml) && + + + This looks like a Kafka Connect configuration. For help with Redpanda Connect configurations, see our quickstart documentation. + } }, { @@ -183,3 +212,59 @@ export const PipelineEditor = observer((p: { }, ]} /> }); + + + +/** + * Determines whether a given string represents a Kafka Connect configuration. + * + * This function first attempts to parse the input as JSON. If the parsing is successful, + * it checks for the presence of specific Kafka Connect-related keys commonly found in + * configurations, such as "connector.class", "key.converter", and "value.converter". + * + * @param {string | undefined} value - The input string to evaluate as a potential Kafka Connect configuration. + * @returns {boolean} - Returns `true` if the string is a valid JSON object containing + * at least a subset of Kafka Connect configuration keys; otherwise, returns `false`. + * + * @example + * ```typescript + * const configString = `{ + * "connector.class": "com.ibm.eventstreams.connect.mqsink.MQSinkConnector", + * "key.converter": "org.apache.kafka.connect.converters.ByteArrayConverter", + * "value.converter": "org.apache.kafka.connect.converters.ByteArrayConverter" + * }`; + * + * const result = isKafkaConnectPipeline(configString); + * console.log(result); // Output: true + * ``` + */ +const isKafkaConnectPipeline = (value: string | undefined): boolean => { + if (value === undefined) { + return false; + } + // Attempt to parse the input string as JSON + let json: object; + try { + json = JSON.parse(value); + } catch (e) { + // If parsing fails, it's not a valid JSON and hence not a Kafka Connect config + return false; + } + + const kafkaConfigKeys = [ + 'connector.class', + 'key.converter', + 'value.converter', + 'header.converter', + 'tasks.max.enforce', + 'errors.log.enable', + ]; + + const matchCount = kafkaConfigKeys.filter(key => key in json).length; + + return matchCount > 0; +}; + +function isLintHint(obj: any): obj is { type: string, debug: any } { + return obj && obj.type === LintHint.typeName; +} diff --git a/frontend/src/components/routes.tsx b/frontend/src/components/routes.tsx index 2f8475596..144637f1e 100644 --- a/frontend/src/components/routes.tsx +++ b/frontend/src/components/routes.tsx @@ -282,7 +282,7 @@ export const APP_ROUTES: IRouteEntry[] = [ routeVisibility(true, [Feature.GetQuotas], ['canListQuotas']) ), - MakeRoute<{}>('/connect-clusters', KafkaConnectOverview, 'Connectors', LinkIcon, true, + MakeRoute<{}>('/connect-clusters', KafkaConnectOverview, 'Connect', LinkIcon, true, () => { if (isServerless()) { console.log('Connect clusters inside serverless checks.') diff --git a/frontend/src/protogen/redpanda/api/common/v1/errordetails_pb.ts b/frontend/src/protogen/redpanda/api/common/v1/errordetails_pb.ts new file mode 100644 index 000000000..a56094450 --- /dev/null +++ b/frontend/src/protogen/redpanda/api/common/v1/errordetails_pb.ts @@ -0,0 +1,138 @@ +// @generated by protoc-gen-es v1.6.0 with parameter "target=ts,import_extension=" +// @generated from file redpanda/api/common/v1/errordetails.proto (package redpanda.api.common.v1, syntax proto3) +/* eslint-disable */ +// @ts-nocheck + +import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; +import { Any, Message, proto3 } from "@bufbuild/protobuf"; +import { Status } from "../../../../google/rpc/status_pb"; + +/** + * AttemptInfo contains information about retryable actions and their specific attempts. + * + * @generated from message redpanda.api.common.v1.AttemptInfo + */ +export class AttemptInfo extends Message { + /** + * @generated from field: repeated redpanda.api.common.v1.AttemptInfo.Attempt attempts = 1; + */ + attempts: AttemptInfo_Attempt[] = []; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "redpanda.api.common.v1.AttemptInfo"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "attempts", kind: "message", T: AttemptInfo_Attempt, repeated: true }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): AttemptInfo { + return new AttemptInfo().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): AttemptInfo { + return new AttemptInfo().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): AttemptInfo { + return new AttemptInfo().fromJsonString(jsonString, options); + } + + static equals(a: AttemptInfo | PlainMessage | undefined, b: AttemptInfo | PlainMessage | undefined): boolean { + return proto3.util.equals(AttemptInfo, a, b); + } +} + +/** + * @generated from message redpanda.api.common.v1.AttemptInfo.Attempt + */ +export class AttemptInfo_Attempt extends Message { + /** + * @generated from field: int32 number = 1; + */ + number = 0; + + /** + * @generated from field: google.rpc.Status status = 2; + */ + status?: Status; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "redpanda.api.common.v1.AttemptInfo.Attempt"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "number", kind: "scalar", T: 5 /* ScalarType.INT32 */ }, + { no: 2, name: "status", kind: "message", T: Status }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): AttemptInfo_Attempt { + return new AttemptInfo_Attempt().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): AttemptInfo_Attempt { + return new AttemptInfo_Attempt().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): AttemptInfo_Attempt { + return new AttemptInfo_Attempt().fromJsonString(jsonString, options); + } + + static equals(a: AttemptInfo_Attempt | PlainMessage | undefined, b: AttemptInfo_Attempt | PlainMessage | undefined): boolean { + return proto3.util.equals(AttemptInfo_Attempt, a, b); + } +} + +/** + * ExternalError is an error that may be returned to external users. Other + * errors thrown by internal systems are discarded by default, so internal + * errors with sensitive information are not exposed. + * + * @generated from message redpanda.api.common.v1.ExternalError + */ +export class ExternalError extends Message { + /** + * @generated from field: string message = 1; + */ + message = ""; + + /** + * @generated from field: repeated google.protobuf.Any details = 2; + */ + details: Any[] = []; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "redpanda.api.common.v1.ExternalError"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "details", kind: "message", T: Any, repeated: true }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): ExternalError { + return new ExternalError().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): ExternalError { + return new ExternalError().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): ExternalError { + return new ExternalError().fromJsonString(jsonString, options); + } + + static equals(a: ExternalError | PlainMessage | undefined, b: ExternalError | PlainMessage | undefined): boolean { + return proto3.util.equals(ExternalError, a, b); + } +} + diff --git a/frontend/src/protogen/redpanda/api/common/v1/linthint_pb.ts b/frontend/src/protogen/redpanda/api/common/v1/linthint_pb.ts new file mode 100644 index 000000000..1135f6e0c --- /dev/null +++ b/frontend/src/protogen/redpanda/api/common/v1/linthint_pb.ts @@ -0,0 +1,73 @@ +// @generated by protoc-gen-es v1.6.0 with parameter "target=ts,import_extension=" +// @generated from file redpanda/api/common/v1/linthint.proto (package redpanda.api.common.v1, syntax proto3) +/* eslint-disable */ +// @ts-nocheck + +import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; +import { Message, proto3 } from "@bufbuild/protobuf"; + +/** + * LintHint is a generic linting hint. + * + * @generated from message redpanda.api.common.v1.LintHint + */ +export class LintHint extends Message { + /** + * Line number of the lint. + * + * @generated from field: int32 line = 1; + */ + line = 0; + + /** + * Column number of the lint. + * + * @generated from field: int32 column = 2; + */ + column = 0; + + /** + * The hint message. + * + * @generated from field: string hint = 3; + */ + hint = ""; + + /** + * Optional lint type or enum. + * + * @generated from field: string lint_type = 4; + */ + lintType = ""; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "redpanda.api.common.v1.LintHint"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "line", kind: "scalar", T: 5 /* ScalarType.INT32 */ }, + { no: 2, name: "column", kind: "scalar", T: 5 /* ScalarType.INT32 */ }, + { no: 3, name: "hint", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 4, name: "lint_type", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): LintHint { + return new LintHint().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): LintHint { + return new LintHint().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): LintHint { + return new LintHint().fromJsonString(jsonString, options); + } + + static equals(a: LintHint | PlainMessage | undefined, b: LintHint | PlainMessage | undefined): boolean { + return proto3.util.equals(LintHint, a, b); + } +} + diff --git a/frontend/src/protogen/redpanda/api/common/v1alpha1/common_pb.ts b/frontend/src/protogen/redpanda/api/common/v1alpha1/common_pb.ts new file mode 100644 index 000000000..c4db8c154 --- /dev/null +++ b/frontend/src/protogen/redpanda/api/common/v1alpha1/common_pb.ts @@ -0,0 +1,181 @@ +// @generated by protoc-gen-es v1.6.0 with parameter "target=ts,import_extension=" +// @generated from file redpanda/api/common/v1alpha1/common.proto (package redpanda.api.common.v1alpha1, syntax proto3) +/* eslint-disable */ +// @ts-nocheck + +import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; +import { Any, Message, proto3 } from "@bufbuild/protobuf"; +import { Code } from "../../../../google/rpc/code_pb"; + +/** + * @generated from enum redpanda.api.common.v1alpha1.Reason + */ +export enum Reason { + /** + * @generated from enum value: REASON_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * The specified resource could not be found. + * + * @generated from enum value: REASON_RESOURCE_NOT_FOUND = 1; + */ + RESOURCE_NOT_FOUND = 1, + + /** + * The input provided with the request is invalid. + * + * @generated from enum value: REASON_INVALID_INPUT = 2; + */ + INVALID_INPUT = 2, + + /** + * Authentication token is missing. + * + * @generated from enum value: REASON_NO_AUTHENTICATION_TOKEN = 3; + */ + NO_AUTHENTICATION_TOKEN = 3, + + /** + * The authentication token provided has expired. + * + * @generated from enum value: REASON_AUTHENTICATION_TOKEN_EXPIRED = 4; + */ + AUTHENTICATION_TOKEN_EXPIRED = 4, + + /** + * The authentication token provided is invalid. + * + * @generated from enum value: REASON_AUTHENTICATION_TOKEN_INVALID = 5; + */ + AUTHENTICATION_TOKEN_INVALID = 5, + + /** + * The user does not have the necessary permissions. + * + * @generated from enum value: REASON_PERMISSION_DENIED = 6; + */ + PERMISSION_DENIED = 6, + + /** + * The request cannot be completed due to server error. + * + * @generated from enum value: REASON_SERVER_ERROR = 7; + */ + SERVER_ERROR = 7, + + /** + * The request rate is too high. + * + * @generated from enum value: REASON_TOO_MANY_REQUESTS = 8; + */ + TOO_MANY_REQUESTS = 8, + + /** + * The request timed out. + * + * @generated from enum value: REASON_TIMEOUT = 9; + */ + TIMEOUT = 9, + + /** + * The feature is not configured. + * + * @generated from enum value: REASON_FEATURE_NOT_CONFIGURED = 10; + */ + FEATURE_NOT_CONFIGURED = 10, + + /** + * The feature is not supported in the requested environment. + * + * @generated from enum value: REASON_FEATURE_NOT_SUPPORTED = 11; + */ + FEATURE_NOT_SUPPORTED = 11, +} +// Retrieve enum metadata with: proto3.getEnumType(Reason) +proto3.util.setEnumType(Reason, "redpanda.api.common.v1alpha1.Reason", [ + { no: 0, name: "REASON_UNSPECIFIED" }, + { no: 1, name: "REASON_RESOURCE_NOT_FOUND" }, + { no: 2, name: "REASON_INVALID_INPUT" }, + { no: 3, name: "REASON_NO_AUTHENTICATION_TOKEN" }, + { no: 4, name: "REASON_AUTHENTICATION_TOKEN_EXPIRED" }, + { no: 5, name: "REASON_AUTHENTICATION_TOKEN_INVALID" }, + { no: 6, name: "REASON_PERMISSION_DENIED" }, + { no: 7, name: "REASON_SERVER_ERROR" }, + { no: 8, name: "REASON_TOO_MANY_REQUESTS" }, + { no: 9, name: "REASON_TIMEOUT" }, + { no: 10, name: "REASON_FEATURE_NOT_CONFIGURED" }, + { no: 11, name: "REASON_FEATURE_NOT_SUPPORTED" }, +]); + +/** + * Modified variant of google.rpc.Status, that uses enum instead of int32 for + * code, so it's nicer in REST. + * The `Status` type defines a logical error model that is suitable for + * different programming environments, including REST APIs and RPC APIs. It is + * used by [gRPC](https://github.com/grpc). Each `Status` message contains + * three pieces of data: error code, error message, and error details. + * + * You can find out more about this error model and how to work with it in the + * [API Design Guide](https://cloud.google.com/apis/design/errors). + * + * @generated from message redpanda.api.common.v1alpha1.ErrorStatus + */ +export class ErrorStatus extends Message { + /** + * The status code, which should be an enum value of + * [google.rpc.Code][google.rpc.Code]. + * + * @generated from field: google.rpc.Code code = 1; + */ + code = Code.OK; + + /** + * A developer-facing error message, which should be in English. Any + * user-facing error message should be localized and sent in the + * [google.rpc.Status.details][google.rpc.Status.details] field, or localized + * by the client. + * + * @generated from field: string message = 2; + */ + message = ""; + + /** + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + * + * @generated from field: repeated google.protobuf.Any details = 3; + */ + details: Any[] = []; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "redpanda.api.common.v1alpha1.ErrorStatus"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "code", kind: "enum", T: proto3.getEnumType(Code) }, + { no: 2, name: "message", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 3, name: "details", kind: "message", T: Any, repeated: true }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): ErrorStatus { + return new ErrorStatus().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): ErrorStatus { + return new ErrorStatus().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): ErrorStatus { + return new ErrorStatus().fromJsonString(jsonString, options); + } + + static equals(a: ErrorStatus | PlainMessage | undefined, b: ErrorStatus | PlainMessage | undefined): boolean { + return proto3.util.equals(ErrorStatus, a, b); + } +} + diff --git a/frontend/src/protogen/redpanda/api/common/v1alpha1/money_pb.ts b/frontend/src/protogen/redpanda/api/common/v1alpha1/money_pb.ts new file mode 100644 index 000000000..20c72c564 --- /dev/null +++ b/frontend/src/protogen/redpanda/api/common/v1alpha1/money_pb.ts @@ -0,0 +1,76 @@ +// @generated by protoc-gen-es v1.6.0 with parameter "target=ts,import_extension=" +// @generated from file redpanda/api/common/v1alpha1/money.proto (package redpanda.api.common.v1alpha1, syntax proto3) +/* eslint-disable */ +// @ts-nocheck + +import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; +import { Message, proto3 } from "@bufbuild/protobuf"; + +/** + * @generated from enum redpanda.api.common.v1alpha1.Currency + */ +export enum Currency { + /** + * @generated from enum value: CURRENCY_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CURRENCY_CURRENCY_USD_CENTS = 1; + */ + CURRENCY_USD_CENTS = 1, +} +// Retrieve enum metadata with: proto3.getEnumType(Currency) +proto3.util.setEnumType(Currency, "redpanda.api.common.v1alpha1.Currency", [ + { no: 0, name: "CURRENCY_UNSPECIFIED" }, + { no: 1, name: "CURRENCY_CURRENCY_USD_CENTS" }, +]); + +/** + * @generated from message redpanda.api.common.v1alpha1.Money + */ +export class Money extends Message { + /** + * Amount is a decimal number. + * Examples: + * 10 + * 10.15 + * + * @generated from field: string amount = 1; + */ + amount = ""; + + /** + * @generated from field: redpanda.api.common.v1alpha1.Currency currency = 2; + */ + currency = Currency.UNSPECIFIED; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "redpanda.api.common.v1alpha1.Money"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "amount", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "currency", kind: "enum", T: proto3.getEnumType(Currency) }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): Money { + return new Money().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): Money { + return new Money().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): Money { + return new Money().fromJsonString(jsonString, options); + } + + static equals(a: Money | PlainMessage | undefined, b: Money | PlainMessage | undefined): boolean { + return proto3.util.equals(Money, a, b); + } +} + diff --git a/frontend/src/protogen/redpanda/api/common/v1alpha1/pagination_pb.ts b/frontend/src/protogen/redpanda/api/common/v1alpha1/pagination_pb.ts new file mode 100644 index 000000000..6ca4d3960 --- /dev/null +++ b/frontend/src/protogen/redpanda/api/common/v1alpha1/pagination_pb.ts @@ -0,0 +1,56 @@ +// @generated by protoc-gen-es v1.6.0 with parameter "target=ts,import_extension=" +// @generated from file redpanda/api/common/v1alpha1/pagination.proto (package redpanda.api.common.v1alpha1, syntax proto3) +/* eslint-disable */ +// @ts-nocheck + +import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; +import { Message, proto3 } from "@bufbuild/protobuf"; + +/** + * KeySetPageToken represents a pagination token for KeySet pagination. + * It marks the beginning of a page where records start from the key that + * satisfies the condition key >= value_greater_equal. Records are sorted + * alphabetically by key in ascending order. + * + * @generated from message redpanda.api.common.v1alpha1.KeySetPageToken + */ +export class KeySetPageToken extends Message { + /** + * @generated from field: string key = 1; + */ + key = ""; + + /** + * @generated from field: string value_greater_equal = 2; + */ + valueGreaterEqual = ""; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "redpanda.api.common.v1alpha1.KeySetPageToken"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "key", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "value_greater_equal", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): KeySetPageToken { + return new KeySetPageToken().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): KeySetPageToken { + return new KeySetPageToken().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): KeySetPageToken { + return new KeySetPageToken().fromJsonString(jsonString, options); + } + + static equals(a: KeySetPageToken | PlainMessage | undefined, b: KeySetPageToken | PlainMessage | undefined): boolean { + return proto3.util.equals(KeySetPageToken, a, b); + } +} + diff --git a/proto/redpanda/api/console/v1alpha1/security.proto b/proto/redpanda/api/console/v1alpha1/security.proto index 7c4c71840..dff41985c 100644 --- a/proto/redpanda/api/console/v1alpha1/security.proto +++ b/proto/redpanda/api/console/v1alpha1/security.proto @@ -11,7 +11,7 @@ message Role { (buf.validate.field).required = true, (buf.validate.field).string.min_len = 1, (buf.validate.field).string.max_len = 128, - (buf.validate.field).string.pattern = "^[a-zA-Z0-9-_]+$" + (buf.validate.field).string.pattern = "^[^,=]+$" ]; } @@ -22,13 +22,13 @@ message ListRolesRequest { // Filter results only roles named with the prefix. string name_prefix = 1 [ (buf.validate.field).string.max_len = 128, - (buf.validate.field).string.pattern = "^([a-zA-Z0-9-_]*)$" + (buf.validate.field).string.pattern = "^[^,=]+$" ]; // Filter results to only roles with names which contain the string. string name_contains = 2 [ (buf.validate.field).string.max_len = 128, - (buf.validate.field).string.pattern = "^([a-zA-Z0-9-_]*)$" + (buf.validate.field).string.pattern = "^[^,=]+$" ]; // Return only roles assigned to this principal. @@ -77,7 +77,7 @@ message GetRoleRequest { (buf.validate.field).required = true, (buf.validate.field).string.min_len = 1, (buf.validate.field).string.max_len = 128, - (buf.validate.field).string.pattern = "^[a-zA-Z0-9-_]+$" + (buf.validate.field).string.pattern = "^[^,=]+$" ]; } @@ -97,7 +97,7 @@ message DeleteRoleRequest { (buf.validate.field).required = true, (buf.validate.field).string.min_len = 1, (buf.validate.field).string.max_len = 128, - (buf.validate.field).string.pattern = "^[a-zA-Z0-9-_]+$" + (buf.validate.field).string.pattern = "^[^,=]+$" ]; // Whether to delete the ACLs bound to the role. @@ -120,7 +120,7 @@ message ListRoleMembersRequest { (buf.validate.field).required = true, (buf.validate.field).string.min_len = 1, (buf.validate.field).string.max_len = 128, - (buf.validate.field).string.pattern = "^[a-zA-Z0-9-_]+$" + (buf.validate.field).string.pattern = "^[^,=]+$" ]; // Optional filter. @@ -162,7 +162,7 @@ message UpdateRoleMembershipRequest { (buf.validate.field).required = true, (buf.validate.field).string.min_len = 1, (buf.validate.field).string.max_len = 128, - (buf.validate.field).string.pattern = "^[a-zA-Z0-9-_]+$" + (buf.validate.field).string.pattern = "^[^,=]+$" ]; // Create the role if it doesn't already exist. @@ -183,7 +183,7 @@ message UpdateRoleMembershipResponse { (buf.validate.field).required = true, (buf.validate.field).string.min_len = 1, (buf.validate.field).string.max_len = 128, - (buf.validate.field).string.pattern = "^[a-zA-Z0-9-_]+$" + (buf.validate.field).string.pattern = "^[^,=]+$" ]; // Members assigned to the role. diff --git a/taskfiles/proto.yaml b/taskfiles/proto.yaml index e6042dfdc..8512bae69 100644 --- a/taskfiles/proto.yaml +++ b/taskfiles/proto.yaml @@ -55,6 +55,7 @@ tasks: {{ .PATH_PREFIX }} buf generate --template=proto/buf.gen.yaml - for: { var: BUF_INPUTS } cmd: "{{ .PATH_PREFIX }} buf generate --template={{ .ITEM }}/buf.gen.yaml {{ .ITEM }}" + - "{{ .PATH_PREFIX }} buf generate --template=proto/buf.gen.yaml buf.build/redpandadata/common" - task: :backend:fmt - task: generate-openapi3 - if [[ $CI == "true" ]]; then git diff -w --exit-code; fi