@@ -199,9 +199,21 @@ def update(
199199 timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
200200 ) -> TaskIDList :
201201 """
202- Changes provided here will overwrite existing load balancer pool settings.
203- Undefined fields will be kept as is. Complex objects need to be specified fully,
204- they will be overwritten.
202+ Updates the specified load balancer pool with the provided changes.
203+ **Behavior:**
204+
205+ - Simple fields (strings, numbers, booleans) will be updated if provided
206+ - Complex objects (nested structures like members, health monitors, etc.) must
207+ be specified completely - partial updates are not supported for these objects
208+ - Undefined fields will remain unchanged
209+ - If no change is detected for a specific field compared to the current pool
210+ state, that field will be skipped
211+ - If no changes are detected at all across all fields, no task will be created
212+ and an empty task list will be returned **Examples of complex objects that
213+ require full specification:**
214+ - Pool members: All member properties must be provided when updating members
215+ - Health monitors: Complete health monitor configuration must be specified
216+ - Session persistence: Full session persistence settings must be included
205217
206218 Args:
207219 project_id: Project ID
@@ -250,7 +262,7 @@ def update(
250262 if not pool_id :
251263 raise ValueError (f"Expected a non-empty value for `pool_id` but received { pool_id !r} " )
252264 return self ._patch (
253- f"/cloud/v1 /lbpools/{ project_id } /{ region_id } /{ pool_id } " ,
265+ f"/cloud/v2 /lbpools/{ project_id } /{ region_id } /{ pool_id } " ,
254266 body = maybe_transform (
255267 {
256268 "ca_secret_id" : ca_secret_id ,
@@ -745,9 +757,21 @@ async def update(
745757 timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
746758 ) -> TaskIDList :
747759 """
748- Changes provided here will overwrite existing load balancer pool settings.
749- Undefined fields will be kept as is. Complex objects need to be specified fully,
750- they will be overwritten.
760+ Updates the specified load balancer pool with the provided changes.
761+ **Behavior:**
762+
763+ - Simple fields (strings, numbers, booleans) will be updated if provided
764+ - Complex objects (nested structures like members, health monitors, etc.) must
765+ be specified completely - partial updates are not supported for these objects
766+ - Undefined fields will remain unchanged
767+ - If no change is detected for a specific field compared to the current pool
768+ state, that field will be skipped
769+ - If no changes are detected at all across all fields, no task will be created
770+ and an empty task list will be returned **Examples of complex objects that
771+ require full specification:**
772+ - Pool members: All member properties must be provided when updating members
773+ - Health monitors: Complete health monitor configuration must be specified
774+ - Session persistence: Full session persistence settings must be included
751775
752776 Args:
753777 project_id: Project ID
@@ -796,7 +820,7 @@ async def update(
796820 if not pool_id :
797821 raise ValueError (f"Expected a non-empty value for `pool_id` but received { pool_id !r} " )
798822 return await self ._patch (
799- f"/cloud/v1 /lbpools/{ project_id } /{ region_id } /{ pool_id } " ,
823+ f"/cloud/v2 /lbpools/{ project_id } /{ region_id } /{ pool_id } " ,
800824 body = await async_maybe_transform (
801825 {
802826 "ca_secret_id" : ca_secret_id ,
0 commit comments