@@ -145,25 +145,30 @@ def get_tags(self):
145145
146146
147147class EncryptUserCmkConf (TLSData ):
148- def __init__ (self , user_cmk_id : str , trn : str , region_id : str ):
148+ def __init__ (self , user_cmk_id : str , trn : str , region_id : str , from_tls : bool = None ):
149149 self .user_cmk_id = user_cmk_id
150150 self .trn = trn
151151 self .region_id = region_id
152+ self .from_tls = from_tls
152153
153154 @classmethod
154155 def set_attributes (cls , data ):
155156 user_cmk_id = data .get (USER_CMK_ID )
156157 trn = data .get (TRN )
157158 region_id = data .get (REGION_ID )
159+ from_tls = data .get (FROM_TLS )
158160
159- return cls (user_cmk_id , trn , region_id )
161+ return cls (user_cmk_id , trn , region_id , from_tls )
160162
161163 def json (self ):
162- return {
164+ res = {
163165 USER_CMK_ID : self .user_cmk_id ,
164166 TRN : self .trn ,
165167 REGION_ID : self .region_id ,
166168 }
169+ if self .from_tls is not None :
170+ res [FROM_TLS ] = self .from_tls
171+ return res
167172
168173
169174class EncryptConf (TLSData ):
@@ -176,7 +181,10 @@ def __init__(self, enable: bool = False, encrypt_type: str = "default", user_cmk
176181 def set_attributes (cls , data ):
177182 enable = data .get (ENABLE_ENCRYPT_CONF )
178183 encrypt_type = data .get (ENCRYPT_TYPE )
179- user_cmk_info = data .get (USER_CMK_INFO )
184+ user_cmk_info = None
185+ user_cmk_info_data = data .get (USER_CMK_INFO )
186+ if user_cmk_info_data is not None and isinstance (user_cmk_info_data , dict ):
187+ user_cmk_info = EncryptUserCmkConf .set_attributes (data = user_cmk_info_data )
180188
181189 return cls (enable , encrypt_type , user_cmk_info )
182190
@@ -188,13 +196,32 @@ def json(self):
188196 }
189197
190198
199+ class BindProcessor (TLSData ):
200+ def __init__ (self , processor_id : str = None , processor_name : str = None ):
201+ self .processor_id = processor_id
202+ self .processor_name = processor_name
203+
204+ @classmethod
205+ def set_attributes (cls , data : dict ):
206+ processor_id = data .get (PROCESSOR_ID )
207+ processor_name = data .get (PROCESSOR_NAME )
208+ return cls (processor_id , processor_name )
209+
210+ def json (self ):
211+ return {
212+ PROCESSOR_ID : self .processor_id ,
213+ PROCESSOR_NAME : self .processor_name ,
214+ }
215+
216+
191217class TopicInfo (TLSData ):
192218 def __init__ (self , topic_name : str = None , topic_id : str = None , project_id : str = None , ttl : int = None ,
193219 create_time : str = None , modify_time : str = None , shard_count : int = None , description : str = None ,
194220 auto_split : bool = None , max_split_shard : int = None , enable_tracking : bool = None ,
195221 time_key : str = None , time_format : str = None , tags : List [TagInfo ] = None , log_public_ip : bool = None ,
196222 enable_hot_ttl : bool = None , hot_ttl : int = None , cold_ttl : int = None , archive_ttl : int = None ,
197- encrypt_conf : EncryptConf = None ):
223+ encrypt_conf : EncryptConf = None , bind_processor = None , metering_mode : str = None ,
224+ project_name : str = None , region : str = None , tls_version : str = None ):
198225 self .topic_name = topic_name
199226 self .topic_id = topic_id
200227 self .project_id = project_id
@@ -215,12 +242,25 @@ def __init__(self, topic_name: str = None, topic_id: str = None, project_id: str
215242 self .cold_ttl = cold_ttl
216243 self .archive_ttl = archive_ttl
217244 self .encrypt_conf = encrypt_conf
245+ self .bind_processor = bind_processor
246+ self .metering_mode = metering_mode
247+ self .project_name = project_name
248+ self .region = region
249+ self .tls_version = tls_version
218250
219251 @classmethod
220252 def set_attributes (cls , data : dict ):
253+ bind_processor = None
254+ bind_processor_data = data .get (BIND_PROCESSOR )
255+ if bind_processor_data is not None and isinstance (bind_processor_data , dict ):
256+ bind_processor = BindProcessor .set_attributes (data = bind_processor_data )
257+ metering_mode = data .get (METERING_MODE )
221258 topic_name = data .get (TOPIC_NAME )
222259 topic_id = data .get (TOPIC_ID )
223260 project_id = data .get (PROJECT_ID )
261+ project_name = data .get (PROJECT_NAME )
262+ region = data .get (REGION )
263+ tls_version = data .get (TLS_VERSION )
224264 ttl = data .get (TTL )
225265 create_time = data .get (CREATE_TIME )
226266 modify_time = data .get (MODIFY_TIME )
@@ -237,7 +277,10 @@ def set_attributes(cls, data: dict):
237277 hot_ttl = data .get (HOT_TTL )
238278 cold_ttl = data .get (COLD_TTL )
239279 archive_ttl = data .get (ARCHIVE_TTL )
240- encrypt_conf = data .get (ENCRYPT_CONF )
280+ encrypt_conf = None
281+ encrypt_conf_data = data .get (ENCRYPT_CONF )
282+ if encrypt_conf_data is not None and isinstance (encrypt_conf_data , dict ):
283+ encrypt_conf = EncryptConf .set_attributes (data = encrypt_conf_data )
241284
242285 tags = data .get (TAGS )
243286 if tags is not None :
@@ -248,7 +291,8 @@ def set_attributes(cls, data: dict):
248291
249292 return cls (topic_name , topic_id , project_id , ttl , create_time , modify_time , shard_count , description ,
250293 auto_split , max_split_shard , enable_tracking , time_key , time_format , topic_tags , log_public_ip ,
251- enable_hot_ttl , hot_ttl , cold_ttl , archive_ttl , encrypt_conf )
294+ enable_hot_ttl , hot_ttl , cold_ttl , archive_ttl , encrypt_conf , bind_processor , metering_mode ,
295+ project_name , region , tls_version )
252296
253297 def get_create_time (self ):
254298 """
0 commit comments