Ir para o conteúdo
NimbusNexus

Cotas

Cotas são limites por projeto que restringem quanto de cada recurso um projeto pode ter. Elas evitam gastos descontrolados causados por loops acidentais e garantem que o uso de um projeto não esgote a capacidade de uma região.

O que tem cota

Todo projeto tem uma cota para cada um destes itens:

RecursoCota padrãoObservações
VMs50Por região; "VM" conta todos os estados, exceto terminated
vCPU200Total de todas as VMs em execução
RAM (GB)800Total de todas as VMs em execução
Armazenamento em blocos (GB)5.000Soma de todos os volumes (anexados + desanexados)
Armazenamento de objetos (GB)ilimitadoSó um limite flexível: entramos em contato acima de ~50 TB para alinhar expectativas
Snapshots200Por região; snapshots excluídos não contam
Backups500Por região
IPs flutuantes20Por região
Redes10Por região
Grupos de segurança50Por região
Balanceadores de carga10Por região
Zonas DNS50Para o projeto inteiro
Usuários25Para o projeto inteiro

Os padrões são conservadores. A maioria dos projetos de produção tem as cotas aumentadas para 5–10× nos eixos mais usados (vCPU, RAM, armazenamento) logo após o lançamento.

Cota vs. uso

Os endpoints expõem os dois:

  • GET /v1/quotas — os limites (50 VMs, 200 vCPU, etc.)
  • GET /v1/quotas/usage — o consumo atual (12 de 50 VMs usadas, 48 de 200 vCPU, etc.)

Sempre verifique o uso antes de criar recursos em massa; uma requisição que faria você ultrapassar a cota retorna 429 com Retry-After vazio (como a cota não é limitada no tempo, tentar de novo não ajuda — você precisa excluir algo ou aumentar a cota).

Aumentar uma cota

Os aumentos de cota passam pelo formulário de contato do suporte, não pela API. Três motivos:

  1. Planejamento de capacidade. Aumentos grandes (10× ou mais) precisam reservar hardware na região de destino.
  2. Conformidade. Alguns aumentos de cota exigem uma conversa rápida sobre o formato da carga de trabalho.
  3. Prevenção de abuso. Um endpoint self-service de aumento de cota seria a primeira coisa que uma conta comprometida chamaria.

A maioria dos aumentos é aprovada em menos de um dia útil. Migrações de produção têm resposta no mesmo dia se você as sinalizar na solicitação.

Cotas nas diferentes regiões

A maioria das cotas é por região (VMs, snapshots, redes). Algumas valem para o projeto inteiro (zonas DNS, usuários). A resposta do endpoint deixa isso explícito — cada entrada de cota traz um campo scope (region: us-east-1 ou project).

Próximos passos

  • Projetos — o contêiner ao qual as cotas se aplicam.
  • Autenticação — como chamar estes endpoints.
  • O formulário de contato do suporte, em /contact/support — por onde passam os aumentos de cota.

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 →