Saltar al contenido
NimbusNexus

Cuotas

Las cuotas son límites por proyecto que acotan cuánto de cada recurso puede tener un proyecto. Evitan que el gasto se dispare por bucles accidentales y garantizan que el consumo de un proyecto no pueda agotar la capacidad de una región.

Qué tiene cuota

Cada proyecto tiene una cuota para cada uno de estos recursos:

RecursoCuota por defectoNotas
VMs50Por región; "VM" cuenta todos los estados salvo terminated
vCPU200Total entre todas las VMs en ejecución
RAM (GB)800Total entre todas las VMs en ejecución
Almacenamiento en bloques (GB)5.000Suma de todos los volúmenes (conectados + desconectados)
Almacenamiento de objetos (GB)ilimitadoSolo es un límite flexible: te contactaremos por encima de ~50 TB para alinear expectativas
Snapshots200Por región; los snapshots borrados no cuentan
Backups500Por región
IPs flotantes20Por región
Redes10Por región
Grupos de seguridad50Por región
Balanceadores de carga10Por región
Zonas DNS50A nivel de proyecto
Usuarios25A nivel de proyecto

Los valores por defecto son conservadores. A la mayoría de los proyectos de producción se les sube a 5–10× en los ejes más usados (vCPU, RAM, almacenamiento) poco después del lanzamiento.

Cuota frente a consumo

Los endpoints exponen ambas cosas:

  • GET /v1/quotas — los límites (50 VMs, 200 vCPU, etc.)
  • GET /v1/quotas/usage — el consumo actual (12 VMs usadas de 50, 48 vCPU de 200, etc.)

Comprueba siempre el consumo antes de crear recursos en bloque; una petición que te haría superar la cuota devuelve un 429 con Retry-After vacío (como la cuota no tiene límite temporal, reintentar no sirve de nada — tienes que borrar algo o aumentar la cuota).

Aumento de cuota

Los aumentos de cuota se tramitan con el formulario de contacto de soporte, no con la API. Tres motivos:

  1. Planificación de capacidad. Los aumentos grandes (10× o más) requieren reservar hardware en la región de destino.
  2. Cumplimiento normativo. Algunos aumentos de cuota requieren una breve conversación sobre la forma de la carga de trabajo.
  3. Prevención de abusos. Un endpoint de autoservicio para aumentar cuotas sería lo primero a lo que llamaría una cuenta comprometida.

La mayoría de los aumentos se resuelven en menos de un día laborable. Las migraciones de producción se resuelven el mismo día si lo indicas en la solicitud.

Cuotas en varias regiones

La mayoría de las cuotas son por región (VMs, snapshots, redes). Unas pocas son a nivel de proyecto (zonas DNS, usuarios). La respuesta del endpoint lo indica explícitamente — cada entrada de cuota lleva un campo scope (region: us-east-1 o project).

Próximos pasos

  • Proyectos — el contenedor al que se aplican las cuotas.
  • Autenticación — cómo llamar a estos endpoints.
  • El formulario de contacto de soporte en /contact/support — donde se tramitan los aumentos de cuota.

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 →