@@ -148,9 +148,9 @@ async def update_inbound_trunk_fields(
148148 self ,
149149 trunk_id : str ,
150150 * ,
151- numbers : Optional [list [str ]] = None ,
152- allowed_addresses : Optional [list [str ]] = None ,
153- allowed_numbers : Optional [list [str ]] = None ,
151+ numbers : Optional [ListUpdate | list [str ]] = None ,
152+ allowed_addresses : Optional [ListUpdate | list [str ]] = None ,
153+ allowed_numbers : Optional [ListUpdate | list [str ]] = None ,
154154 auth_username : Optional [str ] = None ,
155155 auth_password : Optional [str ] = None ,
156156 name : Optional [str ] = None ,
@@ -167,11 +167,26 @@ async def update_inbound_trunk_fields(
167167 metadata = metadata ,
168168 )
169169 if numbers is not None :
170- update .numbers .set .extend (numbers )
170+ if isinstance (numbers , ListUpdate ):
171+ update .numbers .set .extend (numbers .set )
172+ update .numbers .add .extend (numbers .add )
173+ update .numbers .remove .extend (numbers .remove )
174+ else :
175+ update .numbers .set .extend (numbers )
171176 if allowed_addresses is not None :
172- update .allowed_addresses .set .extend (allowed_addresses )
177+ if isinstance (allowed_addresses , ListUpdate ):
178+ update .allowed_addresses .set .extend (allowed_addresses .set )
179+ update .allowed_addresses .add .extend (allowed_addresses .add )
180+ update .allowed_addresses .remove .extend (allowed_addresses .remove )
181+ else :
182+ update .allowed_addresses .set .extend (allowed_addresses )
173183 if allowed_numbers is not None :
174- update .allowed_numbers .set .extend (allowed_numbers )
184+ if isinstance (allowed_numbers , ListUpdate ):
185+ update .allowed_numbers .set .extend (allowed_numbers .set )
186+ update .allowed_numbers .add .extend (allowed_numbers .add )
187+ update .allowed_numbers .remove .extend (allowed_numbers .remove )
188+ else :
189+ update .allowed_numbers .set .extend (allowed_numbers )
175190
176191 return await self ._client .request (
177192 SVC ,
@@ -314,7 +329,7 @@ async def update_outbound_trunk_fields(
314329 * ,
315330 address : str | None = None ,
316331 transport : SIPTransport | None = None ,
317- numbers : list [ str ] | None = None ,
332+ numbers : Optional [ ListUpdate | list [ str ]] = None ,
318333 auth_username : str | None = None ,
319334 auth_password : str | None = None ,
320335 name : str | None = None ,
@@ -333,7 +348,13 @@ async def update_outbound_trunk_fields(
333348 metadata = metadata ,
334349 )
335350 if numbers is not None :
336- update .numbers .set .extend (numbers )
351+ if isinstance (numbers , ListUpdate ):
352+ update .numbers .set .extend (numbers .set )
353+ update .numbers .add .extend (numbers .add )
354+ update .numbers .remove .extend (numbers .remove )
355+ else :
356+ update .numbers .set .extend (numbers )
357+
337358 return await self ._client .request (
338359 SVC ,
339360 "UpdateSIPOutboundTrunk" ,
@@ -586,7 +607,7 @@ async def update_dispatch_rule_fields(
586607 self ,
587608 rule_id : str ,
588609 * ,
589- trunk_ids : Optional [list [str ]] = None ,
610+ trunk_ids : Optional [ListUpdate | list [str ]] = None ,
590611 rule : Optional [SIPDispatchRule ] = None ,
591612 name : Optional [str ] = None ,
592613 metadata : Optional [str ] = None ,
@@ -601,8 +622,15 @@ async def update_dispatch_rule_fields(
601622 metadata = metadata ,
602623 rule = rule ,
603624 attributes = attributes ,
604- trunk_ids = ListUpdate (set = trunk_ids ) if trunk_ids else None ,
605625 )
626+ if trunk_ids is not None :
627+ if isinstance (trunk_ids , ListUpdate ):
628+ update .trunk_ids .set .extend (trunk_ids .set )
629+ update .trunk_ids .add .extend (trunk_ids .add )
630+ update .trunk_ids .remove .extend (trunk_ids .remove )
631+ else :
632+ update .trunk_ids .set .extend (trunk_ids )
633+
606634 return await self ._client .request (
607635 SVC ,
608636 "UpdateSIPDispatchRule" ,
0 commit comments