@@ -49,7 +49,7 @@ def to_public(self) -> ydb_topic_public_types.PublicCodec:
49
49
50
50
51
51
@dataclass
52
- class SupportedCodecs (IToProto , IFromProto , IToPublic ):
52
+ class SupportedCodecs (IToProto , IFromProto , IToPublic , IFromPublic ):
53
53
codecs : List [Codec ]
54
54
55
55
def to_proto (self ) -> ydb_topic_pb2 .SupportedCodecs :
@@ -69,6 +69,13 @@ def from_proto(msg: Optional[ydb_topic_pb2.SupportedCodecs]) -> "SupportedCodecs
69
69
def to_public (self ) -> List [ydb_topic_public_types .PublicCodec ]:
70
70
return list (map (Codec .to_public , self .codecs ))
71
71
72
+ @staticmethod
73
+ def from_public (codecs : Optional [List [ydb_topic_public_types .PublicCodec ]]) -> "SupportedCodecs" :
74
+ if codecs is None :
75
+ return None
76
+
77
+ return SupportedCodecs (codecs = codecs )
78
+
72
79
73
80
@dataclass (order = True )
74
81
class OffsetsRange (IFromProto , IToProto ):
@@ -886,17 +893,21 @@ def from_proto(
886
893
@dataclass
887
894
class AlterConsumer (IToProto , IFromPublic ):
888
895
name : str
889
- set_important : bool
890
- set_read_from : datetime .datetime
891
- set_supported_codecs : SupportedCodecs
892
- alter_attributes : Dict [str , str ]
896
+ set_important : Optional [ bool ]
897
+ set_read_from : Optional [ datetime .datetime ]
898
+ set_supported_codecs : Optional [ SupportedCodecs ]
899
+ alter_attributes : Optional [ Dict [str , str ] ]
893
900
894
901
def to_proto (self ) -> ydb_topic_pb2 .AlterConsumer :
902
+ supported_codecs = None
903
+ if self .set_supported_codecs is not None :
904
+ supported_codecs = self .set_supported_codecs .to_proto ()
905
+
895
906
return ydb_topic_pb2 .AlterConsumer (
896
907
name = self .name ,
897
908
set_important = self .set_important ,
898
909
set_read_from = proto_timestamp_from_datetime (self .set_read_from ),
899
- set_supported_codecs = self . set_supported_codecs . to_proto () ,
910
+ set_supported_codecs = supported_codecs ,
900
911
alter_attributes = self .alter_attributes ,
901
912
)
902
913
@@ -905,13 +916,11 @@ def from_public(alter_consumer: ydb_topic_public_types.PublicAlterConsumer) -> A
905
916
if not alter_consumer :
906
917
return None
907
918
908
- supported_codecs = alter_consumer .set_supported_codecs if alter_consumer .set_supported_codecs else []
909
-
910
919
return AlterConsumer (
911
920
name = alter_consumer .name ,
912
921
set_important = alter_consumer .set_important ,
913
922
set_read_from = alter_consumer .set_read_from ,
914
- set_supported_codecs = SupportedCodecs ( codecs = supported_codecs ),
923
+ set_supported_codecs = SupportedCodecs . from_public ( alter_consumer . set_supported_codecs ),
915
924
alter_attributes = alter_consumer .alter_attributes ,
916
925
)
917
926
@@ -936,16 +945,9 @@ def to_proto(self) -> ydb_topic_pb2.PartitioningSettings:
936
945
937
946
938
947
@dataclass
939
- class AlterPartitioningSettings (IToProto , IFromProto ):
940
- set_min_active_partitions : int
941
- set_partition_count_limit : int
942
-
943
- @staticmethod
944
- def from_proto (msg : ydb_topic_pb2 .AlterPartitioningSettings ) -> "AlterPartitioningSettings" :
945
- return AlterPartitioningSettings (
946
- set_min_active_partitions = msg .set_min_active_partitions ,
947
- set_partition_count_limit = msg .set_partition_count_limit ,
948
- )
948
+ class AlterPartitioningSettings (IToProto ):
949
+ set_min_active_partitions : Optional [int ]
950
+ set_partition_count_limit : Optional [int ]
949
951
950
952
def to_proto (self ) -> ydb_topic_pb2 .AlterPartitioningSettings :
951
953
return ydb_topic_pb2 .AlterPartitioningSettings (
@@ -1050,20 +1052,22 @@ class CreateTopicResult:
1050
1052
@dataclass
1051
1053
class AlterTopicRequest (IToProto , IFromPublic ):
1052
1054
path : str
1053
- add_consumers : List ["Consumer" ]
1054
- alter_partitioning_settings : AlterPartitioningSettings
1055
- set_retention_period : datetime .timedelta
1056
- set_retention_storage_mb : int
1057
- set_supported_codecs : SupportedCodecs
1058
- set_partition_write_burst_bytes : typing . Optional [int ]
1059
- set_partition_write_speed_bytes_per_second : typing . Optional [int ]
1060
- alter_attributes : Dict [str , str ]
1061
- alter_consumers : List [AlterConsumer ]
1062
- drop_consumers : List [str ]
1063
- set_metering_mode : "MeteringMode"
1055
+ add_consumers : Optional [ List ["Consumer" ] ]
1056
+ alter_partitioning_settings : Optional [ AlterPartitioningSettings ]
1057
+ set_retention_period : Optional [ datetime .timedelta ]
1058
+ set_retention_storage_mb : Optional [ int ]
1059
+ set_supported_codecs : Optional [ SupportedCodecs ]
1060
+ set_partition_write_burst_bytes : Optional [int ]
1061
+ set_partition_write_speed_bytes_per_second : Optional [int ]
1062
+ alter_attributes : Optional [ Dict [str , str ] ]
1063
+ alter_consumers : Optional [ List [AlterConsumer ] ]
1064
+ drop_consumers : Optional [ List [str ] ]
1065
+ set_metering_mode : Optional [ "MeteringMode" ]
1064
1066
1065
1067
def to_proto (self ) -> ydb_topic_pb2 .AlterTopicRequest :
1066
- supported_codecs = self .set_supported_codecs .to_proto () if self .set_supported_codecs .codecs else None
1068
+ supported_codecs = None
1069
+ if self .set_supported_codecs is not None :
1070
+ supported_codecs = self .set_supported_codecs .to_proto ()
1067
1071
1068
1072
return ydb_topic_pb2 .AlterTopicRequest (
1069
1073
path = self .path ,
@@ -1098,8 +1102,6 @@ def from_public(req: ydb_topic_public_types.AlterTopicRequestParams) -> AlterTop
1098
1102
1099
1103
drop_consumers = req .drop_consumers if req .drop_consumers else []
1100
1104
1101
- supported_codecs = req .set_supported_codecs if req .set_supported_codecs else []
1102
-
1103
1105
return AlterTopicRequest (
1104
1106
path = req .path ,
1105
1107
alter_partitioning_settings = AlterPartitioningSettings (
@@ -1109,9 +1111,7 @@ def from_public(req: ydb_topic_public_types.AlterTopicRequestParams) -> AlterTop
1109
1111
add_consumers = add_consumers ,
1110
1112
set_retention_period = req .set_retention_period ,
1111
1113
set_retention_storage_mb = req .set_retention_storage_mb ,
1112
- set_supported_codecs = SupportedCodecs (
1113
- codecs = supported_codecs ,
1114
- ),
1114
+ set_supported_codecs = SupportedCodecs .from_public (req .set_supported_codecs ),
1115
1115
set_partition_write_burst_bytes = req .set_partition_write_burst_bytes ,
1116
1116
set_partition_write_speed_bytes_per_second = req .set_partition_write_speed_bytes_per_second ,
1117
1117
alter_attributes = req .alter_attributes ,
@@ -1121,11 +1121,6 @@ def from_public(req: ydb_topic_public_types.AlterTopicRequestParams) -> AlterTop
1121
1121
)
1122
1122
1123
1123
1124
- @dataclass
1125
- class AlterTopicResult :
1126
- pass
1127
-
1128
-
1129
1124
@dataclass
1130
1125
class DescribeTopicRequest :
1131
1126
path : str
0 commit comments