@@ -132,18 +132,15 @@ def stream_config_message(
132132 delete_on_empty_min_age = config .delete_on_empty_min_age
133133 if storage_class is not None :
134134 paths .append (f"{ mask_path_prefix } storage_class" )
135- stream_config .storage_class = msgs . StorageClass ( storage_class .value )
135+ stream_config .storage_class = storage_class .value
136136 if retention_age is not None :
137137 paths .append (f"{ mask_path_prefix } retention_policy" )
138138 stream_config .age = retention_age
139139 if timestamping is not None :
140140 paths .append (f"{ mask_path_prefix } timestamping" )
141- stream_config .timestamping = msgs .StreamConfig .Timestamping ()
142141 if timestamping .mode is not None :
143142 paths .append (f"{ mask_path_prefix } timestamping.mode" )
144- stream_config .timestamping .mode = msgs .TimestampingMode (
145- timestamping .mode .value
146- )
143+ stream_config .timestamping .mode = timestamping .mode .value
147144 if timestamping .uncapped is not None :
148145 paths .append (f"{ mask_path_prefix } timestamping.uncapped" )
149146 stream_config .timestamping .uncapped = timestamping .uncapped
@@ -176,7 +173,7 @@ def basin_config_message(
176173 default_stream_config = cast (
177174 msgs .StreamConfig , stream_config_message (config .default_stream_config )
178175 )
179- basin_config .default_stream_config = default_stream_config
176+ basin_config .default_stream_config . CopyFrom ( default_stream_config )
180177 if config .create_stream_on_append is not None :
181178 basin_config .create_stream_on_append = config .create_stream_on_append
182179 paths .append ("create_stream_on_append" )
@@ -266,7 +263,7 @@ def permissions(perm: Permission) -> msgs.ReadWritePermissions:
266263 case Permission .READ_WRITE :
267264 read = True
268265 write = True
269- return msgs .ReadWritePermissions (read , write )
266+ return msgs .ReadWritePermissions (read = read , write = write )
270267
271268 def permitted_op_groups (
272269 op_group_perms : OperationGroupPermissions | None ,
@@ -288,13 +285,15 @@ def permitted_op_groups(
288285 streams = resource_set (scope .streams ),
289286 access_tokens = resource_set (scope .access_tokens ),
290287 op_groups = permitted_op_groups (scope .op_group_perms ),
291- ops = (msgs . Operation ( op .value ) for op in scope .ops ) if scope . ops else None ,
288+ ops = (op .value for op in scope .ops ),
292289 ),
293290 )
294291
295292
296293def access_token_info_schema (info : msgs .AccessTokenInfo ) -> AccessTokenInfo :
297- def resource_match_rule (resource_set : msgs .ResourceSet ) -> ResourceMatchRule :
294+ def resource_match_rule (resource_set : msgs .ResourceSet ) -> ResourceMatchRule | None :
295+ if not resource_set .HasField ("matching" ):
296+ return None
298297 match resource_set .WhichOneof ("matching" ):
299298 case "exact" :
300299 return ResourceMatchRule (ResourceMatchOp .EXACT , resource_set .exact )
0 commit comments