v32

latestOpenAPI 3.1.0raw.githubusercontent.com2026-05-151,1412,2144.5 MB
Load Balancers

Update load balancer pool

Updates the specified load balancer pool with the provided changes.

Behavior:

  • Simple fields (strings, numbers, booleans) will be updated if provided
  • Complex objects (nested structures like members, health monitors, etc.) must be specified completely - partial updates are not supported for these objects
  • Undefined fields will remain unchanged
  • If no change is detected for a specific field compared to the current pool state, that field will be skipped
  • If no changes are detected at all across all fields, no task will be created and an empty task list will be returned

Examples of complex objects that require full specification:

  • Pool members: All member properties must be provided when updating members
  • Health monitors: Complete health monitor configuration must be specified
  • Session persistence: Full session persistence settings must be included
patch/cloud/v2/lbpools/{project_id}/{region_id}/{pool_id}

Path parameters

project_idinteger required

Project ID

Example:1

Project ID

region_idinteger required

Region ID

Example:1

Region ID

pool_idstring uuid4 required

Pool ID

Example:00000000-0000-4000-8000-000000000000

Pool ID

Request body

admin_state_upboolean

Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.

ca_secret_idstring uuid4 nullable

Secret ID of CA certificate bundle

crl_secret_idstring uuid4 nullable

Secret ID of CA revocation list file

lb_algorithm'LEAST_CONNECTIONS' | 'ROUND_ROBIN' | 'SOURCE_IP'
namestring

New pool name

protocol'HTTP' | 'HTTPS' | 'PROXY' | 'PROXYV2' | 'TCP' | 'UDP'
secret_idstring uuid4 nullable

Secret ID for TLS client authentication to the member servers

timeout_client_datainteger nullable

Frontend client inactivity timeout in milliseconds. We are recommending to use listener.timeout_client_data instead.

timeout_member_connectinteger nullable

Backend member connection timeout in milliseconds

timeout_member_datainteger nullable

Backend member inactivity timeout in milliseconds

Example request

{
  "admin_state_up": true,
  "healthmonitor": {
    "admin_state_up": true,
    "delay": 10,
    "domain_name": "example.com",
    "expected_codes": "200,301,302",
    "http_version": "1.1",
    "max_retries": 2,
    "max_retries_down": 2,
    "timeout": 5,
    "url_path": "/"
  },
  "members": [
    {
      "address": "192.168.40.33",
      "id": "a7e7e8d6-0bf7-4ac9-8170-831b47ee2ba9",
      "operating_status": "NO_MONITOR",
      "protocol_port": 80,
      "subnet_id": "32283b0b-b560-4690-810c-f672cbb2e28d",
      "weight": 1
    }
  ],
  "name": "new_pool_name",
  "session_persistence": {
    "cookie_name": "cookie_name"
  },
  "timeout_client_data": 50000,
  "timeout_member_connect": 50000
}

Response

OK

tasksstring[] required

List of task IDs representing asynchronous operations. Use these IDs to monitor operation progress:

  • GET /v1/tasks/{task_id} - Check individual task status and details Poll task status until completion (FINISHED/ERROR) before proceeding with dependent operations.
idstring required

Example response

{
  "tasks": [
    "d478ae29-dedc-4869-82f0-96104425f565"
  ]
}