Quotas¶
A quota bounds how much a bucket may hold. Both dimensions default to unlimited.
| Dimension | Limits |
|---|---|
bytes |
Current logical bytes in the bucket |
objects |
Currently visible objects in the bucket |
Setting a quota¶
Send both dimensions. Each is either unlimited or a limit with a value:
curl -X PUT https://management.example.com/api/v1/buckets/uploads/quota \
-H "Authorization: Bearer <your-management-token>" \
-H "Content-Type: application/json" \
-d '{"quota":{"bytes":{"mode":"limit","bytes":10737418240},"objects":{"mode":"unlimited"}}}'
That caps the bucket at 10 GiB with no object-count limit.
To remove a quota, set both back to unlimited:
curl -X PUT https://management.example.com/api/v1/buckets/uploads/quota \
-H "Authorization: Bearer <your-management-token>" \
-H "Content-Type: application/json" \
-d '{"quota":{"bytes":{"mode":"unlimited"},"objects":{"mode":"unlimited"}}}'
The bucket record, including its quota, comes back in the response.
Enforcement¶
A write that would take the bucket past either limit is refused. The check happens before the object is committed, so a rejected upload leaves nothing behind.
Enforcement is on current usage. On a versioned bucket, non-current versions do not count toward the quota — which means a bucket can grow on disk while staying inside its quota. Watch both:
See Capacity Planning.
Lowering a quota below current usage¶
This is refused. Setting a quota is itself validated against the bucket's present usage: if the bucket already holds more than the proposed limit, the request fails and the existing quota stays in place.
To shrink a bucket, delete objects first — or add a lifecycle rule and lower the quota once it has run.
What a quota does not do¶
- It does not reserve space. Two buckets each capped at 10 GiB on a 15 GiB disk will still fill the disk.
- It does not bound in-progress multipart uploads before completion.
- It is per bucket. There is no deployment-wide quota.
Use quotas to stop one bucket consuming a shared deployment, and disk monitoring to stop the deployment running out. They answer different questions.