Zum Inhalt springen
NimbusNexus

Kontingente

Kontingente sind Limits pro Projekt, die begrenzen, wie viel einer Ressource ein Projekt haben kann. Sie verhindern ausufernde Kosten durch versehentliche Schleifen und stellen sicher, dass der Verbrauch eines Projekts nicht die Kapazität einer Region aufbraucht.

Wofür es Kontingente gibt

Jedes Projekt hat ein Kontingent für jede dieser Ressourcen:

RessourceStandardkontingentHinweise
VMs50Pro Region; als „VM“ zählt jeder Zustand außer terminated
vCPU200Summe über alle laufenden VMs
RAM (GB)800Summe über alle laufenden VMs
Blockspeicher (GB)5.000Summe aller Volumes (angehängt + getrennt)
Objektspeicher (GB)unbegrenztNur weiches Limit: Ab ~50 TB melden wir uns bei Ihnen, um die Erwartungen abzustimmen
Snapshots200Pro Region; gelöschte Snapshots zählen nicht
Backups500Pro Region
Floating-IPs20Pro Region
Netzwerke10Pro Region
Sicherheitsgruppen50Pro Region
Load Balancer10Pro Region
DNS-Zonen50Projektweit
Benutzer25Projektweit

Die Standardwerte sind konservativ. Bei den meisten Produktionsprojekten werden die am stärksten genutzten Achsen (vCPU, RAM, Speicher) kurz nach dem Start auf 5–10× angehoben.

Kontingent vs. Verbrauch

Die Endpoints liefern beides:

  • GET /v1/quotas — die Limits (50 VMs, 200 vCPU usw.)
  • GET /v1/quotas/usage — den aktuellen Verbrauch (12 von 50 VMs genutzt, 48 von 200 vCPU usw.)

Prüfen Sie immer den Verbrauch, bevor Sie Ressourcen in großer Zahl erstellen; ein Request, der Sie über das Kontingent bringen würde, erhält 429 mit leerem Retry-After (da das Kontingent nicht zeitlich begrenzt ist, hilft Wiederholen nicht — Sie müssen etwas löschen oder das Kontingent erhöhen).

Kontingent erhöhen

Kontingenterhöhungen laufen über das Support-Kontaktformular, nicht über die API. Drei Gründe:

  1. Kapazitätsplanung. Für große Erhöhungen (10×+) muss Hardware in der Zielregion reserviert werden.
  2. Compliance. Manche Kontingenterhöhungen erfordern ein kurzes Gespräch über die Art des Workloads.
  3. Missbrauchsschutz. Einen Self-Service-Endpoint für Kontingenterhöhungen würde ein kompromittiertes Konto als Erstes aufrufen.

Die meisten Erhöhungen sind in weniger als einem Werktag erledigt. Produktionsmigrationen werden noch am selben Tag bearbeitet, wenn Sie sie in der Anfrage kennzeichnen.

Kontingente über Regionen hinweg

Die meisten Kontingente gelten pro Region (VMs, Snapshots, Netzwerke). Einige gelten projektweit (DNS-Zonen, Benutzer). Die Antwort des Endpoints macht das explizit — jeder Kontingenteintrag hat ein Feld scope (region: us-east-1 oder project).

Nächste Schritte

  • Projekte — der Container, für den Kontingente gelten.
  • Authentifizierung — wie Sie diese Endpoints aufrufen.
  • Das Support-Kontaktformular unter /contact/support — dort beantragen Sie Kontingenterhöhungen.

Reference

GET/api/v1/quota-request/

Get Quota Request

Retrieve a single quota change request by ID within the caller's project.

Parameters

NameInTypeDescription
id*querystring—

Responses

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

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/quota-request/?id=example" \
  -H "Authorization: Bearer $NIMBUS_KEY"
POST/api/v1/quota-request/

Create Quota Request

Submit a new quota change request for the caller's project or domain.

Request body

FieldTypeDescription
reasonstring | null—
service_name*ServiceNameEnum—
quota_name*string—
new_value*integer—
project_idstring | null—

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 422Validation error
  • 500Internal Server Error

Example

curl -X POST "https://api.nimbusnexus.net/api/v1/quota-request/" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "service_name": "nova",
    "quota_name": "example",
    "new_value": 1
  }'
PATCH/api/v1/quota-request/

Update Quota Request

Update an existing quota change request; non-admin callers may only edit their own request payload.

Request body

FieldTypeDescription
id*string—
new_valueinteger | null—
stateQuotaRequestStateEnum | null—
admin_user_idstring | null—
messagestring | 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/quota-request/" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "example"
  }'
DELETE/api/v1/quota-request/

Delete Quota Request

Delete a quota change request owned by the caller's project.

Parameters

NameInTypeDescription
id*querystring—

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/quota-request/?id=example" \
  -H "Authorization: Bearer $NIMBUS_KEY"
POST/api/v1/quota-request/approve

Admin Approve Quota Request

Admin endpoint that approves a pending quota change request and applies the new limits.

Request body

FieldTypeDescription
id*string—

Responses

  • 200Successful 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/quota-request/approve" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "example"
  }'
GET/api/v1/quota-request/list

Get Quota Request List

List quota change requests for the caller's project, optionally filtered by request state.

Parameters

NameInTypeDescription
statesqueryarray of QuotaRequestStateEnum | null—
project_idquerystring | null—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 422Validation error
  • 500Internal Server Error

Example

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

Admin Reject Quota Request

Admin endpoint that rejects a quota change request with an explanatory message.

Request body

FieldTypeDescription
id*string—
messagestring—

Responses

  • 200Successful 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/quota-request/reject" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "example"
  }'
POST/api/v1/quota-request/update

Admin Mark Quota Request For Update

Admin endpoint that flags a quota change request as needing further updates from the requester.

Request body

FieldTypeDescription
id*string—
messagestring—

Responses

  • 200Successful 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/quota-request/update" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "example"
  }'
GET/api/v1/quota/{service}

Get Quotas

Return current quota limits (or defaults) for the given service in the caller's scope.

Parameters

NameInTypeDescription
service*pathQuotaServiceEnum—
admin_domainquerystring | null—
admin_projectquerystring | null—
defaultsqueryboolean | null—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 422Validation error
  • 500Internal Server Error

Example

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

Update Quotas

Update quota limits for the given service in the caller's scope (admin only).

Parameters

NameInTypeDescription
service*pathQuotaServiceEnum—

Request body

FieldTypeDescription
admin_domainstring | null—
admin_projectstring | null—
quotas*object—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 422Validation error
  • 500Internal Server Error

Example

curl -X PATCH "https://api.nimbusnexus.net/api/v1/quota/<service>" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "quotas": {}
  }'
POST/api/v1/quota/{service}/reset

Reset Quotas

Reset quota limits for the given service back to their default values (admin only).

Parameters

NameInTypeDescription
service*pathQuotaServiceEnum—

Request body

FieldTypeDescription
admin_domainstring | null—
admin_projectstring | null—
quotasarray of string | null—

Responses

  • 200Successful 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/quota/<service>/reset" \
  -H "Authorization: Bearer $NIMBUS_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
GET/api/v1/quota/{service}/usage

Get Quota Usage

Return current resource usage for the given service in the caller's scope.

Parameters

NameInTypeDescription
service*pathQuotaServiceEnum—
admin_domainquerystring | null—
admin_projectquerystring | null—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 422Validation error
  • 500Internal Server Error

Example

curl -X GET "https://api.nimbusnexus.net/api/v1/quota/<service>/usage" \
  -H "Authorization: Bearer $NIMBUS_KEY"

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