Zum Inhalt springen
NimbusNexus

Load Balancer

Ein Load Balancer steht mit einer einzigen VIP (virtuellen IP) vor einer Flotte von VMs, verteilt den Traffic auf die Backends und nimmt fehlerhafte Backends automatisch aus der Rotation. Zwei Varianten: L4 (TCP / UDP / Proxy-Protokoll) und L7 (HTTP / HTTPS mit Routing nach Pfad + Header).

Die vier Unterressourcen

Ein Load Balancer ist selbst ein Container; die Routing-Logik steckt in verschachtelten Ressourcen:

  • Listener — einer pro (Protokoll, Port), auf dem der LB Traffic annimmt. HTTPS:443 ist ein Listener; HTTP:80 ist ein weiterer. Ein einzelner LB kann viele Listener haben.
  • Pool — eine Gruppe von Backend-VMs, pro Listener definiert. Jeder Pool hat einen Algorithmus (round-robin, least-connections, source-ip-hash) und eine Richtlinie für Session-Persistenz.
  • Member — ein Backend in einem Pool. Verweist auf VM + Port + Gewichtung.
  • Health monitor — der aktive Health-Check pro Pool. Fehlerhafte Member werden aus der Rotation genommen, bis sie sich erholen.

Die Endpoints unten arbeiten mit dem Load Balancer auf oberster Ebene. Die verschachtelten CRUD-Operationen für Listener/Pools/Member/Health Monitors liegen unter /v1/load-balancers/{id}/listeners usw. (nicht in diesem minimalen Beispiel — beschrieben in der Live-Spezifikation).

SSL-Terminierung

Für HTTPS-Listener haben Sie zwei Möglichkeiten:

  • TLS wird am LB terminiert. Laden Sie ein Zertifikat hoch (oder nutzen Sie Let's Encrypt über das Add-on cert-manager); der LB spricht TLS mit den Clients und Klartext mit Ihren VMs. Einfacher zu verwalten; der LB kann HTTP-Header für das L7-Routing auswerten.
  • TLS-Passthrough. Der LB leitet nur auf L4 per TCP weiter; Ihre VMs übernehmen TLS. Erforderlich, wenn das Backend das ursprüngliche Client-Zertifikat sehen muss.

Health-Checks

Ein Health Monitor prüft jeden Member regelmäßig (standardmäßig alle 10 s) auf einem konfigurierten Pfad / Port. Drei Ergebnisse:

  • Healthy (fehlerfrei) — die letzten 2 Prüfungen waren erfolgreich (Standard; konfigurierbar). Der Member erhält Traffic.
  • Unhealthy (fehlerhaft) — die letzten 3 Prüfungen sind fehlgeschlagen (konfigurierbar). Der Member wird aus der Rotation genommen; bestehende Verbindungen laufen aus.
  • Recovering (in Erholung) — war Unhealthy und besteht die Prüfungen jetzt wieder. Wechselt nach 2 erfolgreichen Prüfungen zu Healthy.

Bei HTTP-Health-Checks sendet der LB einen GET an /healthz (konfigurierbar) und erwartet 200. Implementieren Sie /healthz in Ihrer App so, dass es schnell einen Body zurückgibt — und lassen Sie den Check keine echte Arbeit erledigen, sonst wird der Check selbst zur Last.

Preise

Load Balancer werden pauschal pro Stunde und Region abgerechnet ($0,024/Stunde für das Standard-Tier in der EN-Preisreferenz). Listener / Pool / Member / Health Monitor anzulegen ist kostenlos. Traffic zwischen LBs in verschiedenen Regionen zählt als normaler Egress zwischen Regionen.

Nächste Schritte

  • Virtuelle Maschinen — was zu Membern eines Pools wird.
  • Floating-IPs — Alternative für den öffentlichen Zugriff auf eine einzelne VM ohne LB.
  • Sicherheitsgruppen — die Firewall an der VM-Schnittstelle; LBs beachten die Sicherheitsgruppen der Member.

Reference

GET/api/v1/health_monitors/

List Health Monitor

Lists health monitors visible in the current scope, filtered by query parameters.

Parameters

NameInTypeDescription
admin_domainquerystring | null—
admin_projectquerystring | null—
projectquerystring | null—
namequerystring | null—
delayqueryinteger | null—
max_retriesqueryinteger | null—
pool_idquerystring | null—
timeoutqueryinteger | null—
typequery"HTTP" | "HTTPS" | "PING" | "SCTP" | "TCP" | "TLS-HELLO" | "UDP-CONNECT" | null—
admin_state_upqueryboolean | null—
expected_codesquerystring | null—
http_methodquerystring | null—
max_retries_downqueryinteger | null—
url_pathquerystring | null—
provisioning_statusquerystring | null—
operating_statusquerystring | null—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/health_monitors/" \
  -H "Authorization: Bearer $NIMBUS_KEY"
POST/api/v1/health_monitors/

Create Health Monitor

Creates a new health monitor for a pool.

Request body

FieldTypeDescription
delay*integerHealth Monitor's delay
max_retries*integerHealth Monitor's max retries
pool_id*stringPool's id
timeout*integerHealth Monitor's timeout
type*"HTTP" | "HTTPS" | "PING" | "SCTP" | "TCP" | "TLS-HELLO" | "UDP-CONNECT"Health Monitor's type
admin_state_upbooleanHealth Monitor's admin_state_up, default is True
namestring | nullHealth Monitor's name
expected_codesstring | nullHealth Monitor's expected codes, HTTP/HTTPS only
http_method"OPTIONS" | "GET" | "PUT" | "CONNECT" | "POST" | "TRACE" | "DELETE" | "HEAD" | "PATCH" | nullHealth Monitor's http_method, HTTP/HTTPS only
http_version1 | 1.1 | nullHealth Monitor's http_version, HTTP/HTTPS only
max_retries_downinteger | nullHealth Monitor's max_retries_down, Octavia uses 3 when omitted
url_pathstring | nullHealth Monitor's url_path, HTTP/HTTPS only

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X POST "https://api.nimbusnexus.net/api/v1/health_monitors/" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "delay": 1,
    "max_retries": 1,
    "pool_id": "<pool_id>",
    "timeout": 1,
    "type": "HTTP"
  }'
GET/api/v1/health_monitors/{healthmonitor_id}

Get Health Monitor

Retrieves the details of a single health monitor by ID.

Parameters

NameInTypeDescription
healthmonitor_id*pathstring—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/health_monitors/<healthmonitor_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY"
PATCH/api/v1/health_monitors/{healthmonitor_id}

Update Health Monitor

Updates the mutable attributes of an existing health monitor.

Parameters

NameInTypeDescription
healthmonitor_id*pathstring—

Request body

FieldTypeDescription
delayinteger | null—
max_retriesinteger | null—
pool_idstring | null—
timeoutinteger | null—
admin_state_upboolean | null—
namestring | nullHealth Monitor's name
expected_codesstring | nullHealth Monitor's expected codes
http_method"OPTIONS" | "GET" | "PUT" | "CONNECT" | "POST" | "TRACE" | "DELETE" | "HEAD" | "PATCH" | nullHealth Monitor's http_method, HTTP/HTTPS only
http_version1 | 1.1 | nullHealth Monitor's http_version
max_retries_downinteger | nullHealth Monitor's max_retries_down, Octavia uses 3 when omitted
url_pathstring | nullHealth Monitor's url_path, HTTP/HTTPS only

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X PATCH "https://api.nimbusnexus.net/api/v1/health_monitors/<healthmonitor_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
DELETE/api/v1/health_monitors/{healthmonitor_id}

Delete Health Monitor

Deletes the specified health monitor.

Parameters

NameInTypeDescription
healthmonitor_id*pathstring—

Responses

  • 204Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X DELETE "https://api.nimbusnexus.net/api/v1/health_monitors/<healthmonitor_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY"
GET/api/v1/listeners/

List Listeners

Lists listeners visible in the current scope, filtered by query parameters.

Parameters

NameInTypeDescription
admin_domainquerystring | null—
admin_projectquerystring | null—
projectquerystring | null—
namequerystring | null—
protocolquery"HTTP" | "HTTPS" | "SCTP" | "PROMETHEUS" | "TCP" | "TERMINATED_HTTPS" | "UDP" | null—
protocol_portqueryinteger | null—
loadbalancer_idquerystring | null—
descriptionquerystring | null—
tagsqueryarray of string | nullFilter by tags
admin_state_upqueryboolean | null—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/listeners/" \
  -H "Authorization: Bearer $NIMBUS_KEY"
POST/api/v1/listeners/

Create Listener

Creates a new listener attached to a load balancer.

Request body

FieldTypeDescription
admin_domainstring | null—
admin_projectstring | null—
namestring | null—
connection_limitinteger | null—
default_pool_idstring | null—
default_tls_container_refstring | null—
sni_container_refsarray of string | null—
descriptionstring | null—
tagsarray of string | nullFilter by tags
admin_state_upboolean | null—
loadbalancer_id*string—
protocol_port*integer—
protocol*"HTTP" | "HTTPS" | "SCTP" | "PROMETHEUS" | "TCP" | "TERMINATED_HTTPS" | "UDP"—
project_idstring | null—

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X POST "https://api.nimbusnexus.net/api/v1/listeners/" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "loadbalancer_id": "<loadbalancer_id>",
    "protocol_port": 1,
    "protocol": "HTTP"
  }'
GET/api/v1/listeners/{listener_id}

Get Listener

Retrieves the details of a single listener by ID.

Parameters

NameInTypeDescription
listener_id*pathstring—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/listeners/<listener_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY"
PATCH/api/v1/listeners/{listener_id}

Update Listener

Updates the mutable attributes of an existing listener.

Parameters

NameInTypeDescription
listener_id*pathstring—

Request body

FieldTypeDescription
admin_domainstring | null—
admin_projectstring | null—
namestring | null—
connection_limitinteger | null—
default_pool_idstring | null—
default_tls_container_refstring | null—
sni_container_refsarray of string | null—
descriptionstring | null—
tagsarray of string | nullFilter by tags
admin_state_upboolean | null—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X PATCH "https://api.nimbusnexus.net/api/v1/listeners/<listener_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
DELETE/api/v1/listeners/{listener_id}

Delete Listener

Deletes the specified listener.

Parameters

NameInTypeDescription
listener_id*pathstring—

Responses

  • 204Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X DELETE "https://api.nimbusnexus.net/api/v1/listeners/<listener_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY"
GET/api/v1/listeners/{listener_id}/stats

Get Listener Stats

Returns traffic statistics for the specified listener.

Parameters

NameInTypeDescription
listener_id*pathstring—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/listeners/<listener_id>/stats" \
  -H "Authorization: Bearer $NIMBUS_KEY"
GET/api/v1/loadbalancers/

List Load Balancers

Lists load balancers visible in the current scope, filtered by query parameters.

Parameters

NameInTypeDescription
admin_domainquerystring | null—
admin_projectquerystring | null—
projectquerystring | null—
namequerystring | nullFilter by load balancer name
vip_network_idquerystring | nullFilter by VIP network ID
vip_subnet_idquerystring | nullFilter by VIP subnet ID
vip_port_idquerystring | nullFilter by VIP port ID
providerquerystring | nullFilter by provider name (e.g., amphora, ovn)
admin_state_upqueryboolean | nullFilter by administrative state
tagsqueryarray of string | nullFilter by tags (comma-separated list)

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/loadbalancers/" \
  -H "Authorization: Bearer $NIMBUS_KEY"
POST/api/v1/loadbalancers/

Create Load Balancer

Creates a new load balancer in the requested project.

Request body

FieldTypeDescription
admin_domainstring | null—
admin_projectstring | null—
name*string—
vip_subnet_idstring | null—
vip_network_idstring | null—
vip_port_idstring | null—
vip_qos_policy_idstring | null—
flavor_idstring | null—
vip_addressstring | null—
providerstring | null—
descriptionstring | null—
admin_state_upboolean—
tagsarray of string | nullFilter by tags (comma-separated list)

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X POST "https://api.nimbusnexus.net/api/v1/loadbalancers/" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Example"
  }'
GET/api/v1/loadbalancers/{loadbalancer_id}

Get Load Balancer

Retrieves the details of a single load balancer by ID.

Parameters

NameInTypeDescription
loadbalancer_id*pathstring—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/loadbalancers/<loadbalancer_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY"
PATCH/api/v1/loadbalancers/{loadbalancer_id}

Update Load Balancer

Updates the mutable attributes of an existing load balancer.

Parameters

NameInTypeDescription
loadbalancer_id*pathstring—

Request body

FieldTypeDescription
admin_domainstring | null—
admin_projectstring | null—
namestring | null—
tagsarray of string | null—
admin_state_upboolean | null—
descriptionstring | null—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X PATCH "https://api.nimbusnexus.net/api/v1/loadbalancers/<loadbalancer_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
DELETE/api/v1/loadbalancers/{loadbalancer_id}

Delete Load Balancer

Deletes a load balancer, optionally cascading to its child resources.

Parameters

NameInTypeDescription
loadbalancer_id*pathstring—
cascadequeryboolean | null—

Responses

  • 204Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X DELETE "https://api.nimbusnexus.net/api/v1/loadbalancers/<loadbalancer_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY"
GET/api/v1/loadbalancers/{loadbalancer_id}/stats

Get Load Balancer Stats

Returns traffic statistics for the specified load balancer.

Parameters

NameInTypeDescription
loadbalancer_id*pathstring—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/loadbalancers/<loadbalancer_id>/stats" \
  -H "Authorization: Bearer $NIMBUS_KEY"
GET/api/v1/loadbalancers/{loadbalancer_id}/status

Get Load Balancer Status

Returns the operational and provisioning status tree of the specified load balancer.

Parameters

NameInTypeDescription
loadbalancer_id*pathstring—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/loadbalancers/<loadbalancer_id>/status" \
  -H "Authorization: Bearer $NIMBUS_KEY"
GET/api/v1/pools/

List Pools

Lists backend pools visible in the current scope, filtered by query parameters.

Parameters

NameInTypeDescription
admin_domainquerystring | null—
admin_projectquerystring | null—
projectquerystring | null—
namequerystring | null—
descriptionquerystring | null—
protocolquery"HTTP" | "HTTPS" | "TCP" | "UDP" | "PROXY" | "PROXYV2" | "SCTP" | null—
loadbalancer_idquerystring | null—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/pools/" \
  -H "Authorization: Bearer $NIMBUS_KEY"
POST/api/v1/pools/

Create Pool

Creates a new backend pool on a load balancer.

Request body

FieldTypeDescription
admin_domainstring | null—
admin_projectstring | null—
namestring | nullPool's name
descriptionstring | nullPool's description
protocol*"HTTP" | "HTTPS" | "TCP" | "UDP" | "PROXY" | "PROXYV2" | "SCTP"—
lb_algorithm*"ROUND_ROBIN" | "LEAST_CONNECTIONS" | "SOURCE_IP" | "SOURCE_IP_PORT"—
loadbalancer_idstring | null—
listener_idstring | null—
admin_state_upboolean | null—

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X POST "https://api.nimbusnexus.net/api/v1/pools/" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "protocol": "HTTP",
    "lb_algorithm": "ROUND_ROBIN"
  }'
GET/api/v1/pools/{pool_id}

Get Pool

Retrieves the details of a single backend pool by ID.

Parameters

NameInTypeDescription
pool_id*pathstring—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/pools/<pool_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY"
PATCH/api/v1/pools/{pool_id}

Update Pool

Updates the mutable attributes of an existing backend pool.

Parameters

NameInTypeDescription
pool_id*pathstring—

Request body

FieldTypeDescription
admin_domainstring | null—
admin_projectstring | null—
namestring | nullPool's name
descriptionstring | nullNew pool's description
lb_algorithm"ROUND_ROBIN" | "LEAST_CONNECTIONS" | "SOURCE_IP" | null—
admin_state_upboolean | null—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X PATCH "https://api.nimbusnexus.net/api/v1/pools/<pool_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
DELETE/api/v1/pools/{pool_id}

Delete Pool

Deletes the specified backend pool.

Parameters

NameInTypeDescription
pool_id*pathstring—

Responses

  • 204Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X DELETE "https://api.nimbusnexus.net/api/v1/pools/<pool_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY"
GET/api/v1/pools/{pool_id}/members/

List Members

Lists backend members of the specified pool, filtered by query parameters.

Parameters

NameInTypeDescription
pool_id*pathstring—
admin_domainquerystring | null—
admin_projectquerystring | null—
addressquerystring | null—
weightqueryinteger | null—
monitor_addressquerystring | null—
protocol_portqueryinteger | null—
monitor_portqueryinteger | null—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/pools/<pool_id>/members/" \
  -H "Authorization: Bearer $NIMBUS_KEY"
POST/api/v1/pools/{pool_id}/members/

Create Member

Adds a new backend member to the specified pool.

Parameters

NameInTypeDescription
pool_id*pathstring—

Request body

FieldTypeDescription
admin_domainstring | null—
admin_projectstring | null—
namestring | nullPool's name
address*string—
protocol_port*integer—
weightinteger | null—
monitor_addressstring | null—
monitor_portinteger | null—
admin_state_upboolean—
subnet_idstring | nullThe subnet ID where the member IP is located. Required for OVN

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X POST "https://api.nimbusnexus.net/api/v1/pools/<pool_id>/members/" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "address": "example",
    "protocol_port": 1
  }'
PUT/api/v1/pools/{pool_id}/members/

Batch Update Members

Replaces or additively updates the full set of members for a pool in one batch.

Parameters

NameInTypeDescription
pool_id*pathstring—

Request body

FieldTypeDescription
admin_domainstring | null—
admin_projectstring | null—
additive_onlyboolean—
members*array of MemberSingleBatchUpdate—

Responses

  • 202Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X PUT "https://api.nimbusnexus.net/api/v1/pools/<pool_id>/members/" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "members": [
      {
        "address": "example",
        "protocol_port": 1
      }
    ]
  }'
GET/api/v1/pools/{pool_id}/members/{member_id}

Get Member

Retrieves a single backend member of a pool by ID.

Parameters

NameInTypeDescription
pool_id*pathstring—
member_id*pathstring—

Responses

  • 200Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/pools/<pool_id>/members/<member_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY"
PATCH/api/v1/pools/{pool_id}/members/{member_id}

Update Member

Updates the mutable attributes of an existing pool member.

Parameters

NameInTypeDescription
pool_id*pathstring—
member_id*pathstring—

Request body

FieldTypeDescription
admin_domainstring | null—
admin_projectstring | null—
namestring | nullPool's name
weightinteger | null—
monitor_addressstring | null—
monitor_portinteger | null—
admin_state_upboolean | null—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X PATCH "https://api.nimbusnexus.net/api/v1/pools/<pool_id>/members/<member_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
DELETE/api/v1/pools/{pool_id}/members/{member_id}

Delete Member

Removes a backend member from the specified pool.

Parameters

NameInTypeDescription
pool_id*pathstring—
member_id*pathstring—

Responses

  • 204Successful Response
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

Example

curl -X DELETE "https://api.nimbusnexus.net/api/v1/pools/<pool_id>/members/<member_id>" \
  -H "Authorization: Bearer $NIMBUS_KEY"

Need to make a real call? Try these endpoints in the live Swagger UI →