@@ -150,7 +150,8 @@ def update(
150150 self ,
151151 id_or_name : str ,
152152 * ,
153- name : str ,
153+ config : proxy_update_params .Config | Omit = omit ,
154+ name : str | Omit = omit ,
154155 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
155156 # The extra values given here take precedence over values defined on the client or passed to this method.
156157 extra_headers : Headers | None = None ,
@@ -159,12 +160,19 @@ def update(
159160 timeout : float | httpx .Timeout | None | NotGiven = not_given ,
160161 idempotency_key : str | None = None ,
161162 ) -> ProxyUpdateResponse :
162- """Update a proxy's name.
163+ """Update a proxy's name, or move an ISP proxy to another reserved exit IP .
163164
164- Proxy names are not unique and duplicate names are
165- allowed.
165+ Proxy
166+ names are not unique and duplicate names are allowed. Moving requires a reserved
167+ ISP allocation and is accepted only for proxies of type isp: the new endpoint is
168+ probed first and nothing changes if the probe fails. An IP outside the
169+ allocation is a 400 with code ip_not_reserved. A 409 means the IP cannot
170+ currently be assigned or the proxy was changed concurrently; read it back and
171+ retry.
166172
167173 Args:
174+ config: Changes to an ISP proxy's exit IP. Accepted only for proxies of type `isp`.
175+
168176 name: New proxy name. Proxy names are trimmed and length-checked only; duplicates are
169177 allowed because proxies are updated by ID, not by name.
170178
@@ -182,7 +190,13 @@ def update(
182190 raise ValueError (f"Expected a non-empty value for `id_or_name` but received { id_or_name !r} " )
183191 return self ._patch (
184192 path_template ("/proxies/{id_or_name}" , id_or_name = id_or_name ),
185- body = maybe_transform ({"name" : name }, proxy_update_params .ProxyUpdateParams ),
193+ body = maybe_transform (
194+ {
195+ "config" : config ,
196+ "name" : name ,
197+ },
198+ proxy_update_params .ProxyUpdateParams ,
199+ ),
186200 options = make_request_options (
187201 extra_headers = extra_headers ,
188202 extra_query = extra_query ,
@@ -196,6 +210,7 @@ def update(
196210 def list (
197211 self ,
198212 * ,
213+ ip_address : str | Omit = omit ,
199214 limit : int | Omit = omit ,
200215 name : str | Omit = omit ,
201216 offset : int | Omit = omit ,
@@ -211,6 +226,10 @@ def list(
211226 List proxies in the resolved project.
212227
213228 Args:
229+ ip_address: Exact match on the primary exit IP of ISP proxies. Must be an IPv4 address. Only
230+ ISP proxies are matched: the ip_address shown on other proxy types is a one-time
231+ observation, not a stable identity.
232+
214233 limit: Limit the number of proxies to return.
215234
216235 name: Exact-match filter on proxy name using the database collation. In production,
@@ -240,6 +259,7 @@ def list(
240259 timeout = timeout ,
241260 query = maybe_transform (
242261 {
262+ "ip_address" : ip_address ,
243263 "limit" : limit ,
244264 "name" : name ,
245265 "offset" : offset ,
@@ -480,7 +500,8 @@ async def update(
480500 self ,
481501 id_or_name : str ,
482502 * ,
483- name : str ,
503+ config : proxy_update_params .Config | Omit = omit ,
504+ name : str | Omit = omit ,
484505 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
485506 # The extra values given here take precedence over values defined on the client or passed to this method.
486507 extra_headers : Headers | None = None ,
@@ -489,12 +510,19 @@ async def update(
489510 timeout : float | httpx .Timeout | None | NotGiven = not_given ,
490511 idempotency_key : str | None = None ,
491512 ) -> ProxyUpdateResponse :
492- """Update a proxy's name.
513+ """Update a proxy's name, or move an ISP proxy to another reserved exit IP .
493514
494- Proxy names are not unique and duplicate names are
495- allowed.
515+ Proxy
516+ names are not unique and duplicate names are allowed. Moving requires a reserved
517+ ISP allocation and is accepted only for proxies of type isp: the new endpoint is
518+ probed first and nothing changes if the probe fails. An IP outside the
519+ allocation is a 400 with code ip_not_reserved. A 409 means the IP cannot
520+ currently be assigned or the proxy was changed concurrently; read it back and
521+ retry.
496522
497523 Args:
524+ config: Changes to an ISP proxy's exit IP. Accepted only for proxies of type `isp`.
525+
498526 name: New proxy name. Proxy names are trimmed and length-checked only; duplicates are
499527 allowed because proxies are updated by ID, not by name.
500528
@@ -512,7 +540,13 @@ async def update(
512540 raise ValueError (f"Expected a non-empty value for `id_or_name` but received { id_or_name !r} " )
513541 return await self ._patch (
514542 path_template ("/proxies/{id_or_name}" , id_or_name = id_or_name ),
515- body = await async_maybe_transform ({"name" : name }, proxy_update_params .ProxyUpdateParams ),
543+ body = await async_maybe_transform (
544+ {
545+ "config" : config ,
546+ "name" : name ,
547+ },
548+ proxy_update_params .ProxyUpdateParams ,
549+ ),
516550 options = make_request_options (
517551 extra_headers = extra_headers ,
518552 extra_query = extra_query ,
@@ -526,6 +560,7 @@ async def update(
526560 def list (
527561 self ,
528562 * ,
563+ ip_address : str | Omit = omit ,
529564 limit : int | Omit = omit ,
530565 name : str | Omit = omit ,
531566 offset : int | Omit = omit ,
@@ -541,6 +576,10 @@ def list(
541576 List proxies in the resolved project.
542577
543578 Args:
579+ ip_address: Exact match on the primary exit IP of ISP proxies. Must be an IPv4 address. Only
580+ ISP proxies are matched: the ip_address shown on other proxy types is a one-time
581+ observation, not a stable identity.
582+
544583 limit: Limit the number of proxies to return.
545584
546585 name: Exact-match filter on proxy name using the database collation. In production,
@@ -570,6 +609,7 @@ def list(
570609 timeout = timeout ,
571610 query = maybe_transform (
572611 {
612+ "ip_address" : ip_address ,
573613 "limit" : limit ,
574614 "name" : name ,
575615 "offset" : offset ,
0 commit comments