Service Quotas
Protocol: JSON 1.1 (X-Amz-Target: ServiceQuotasV20190624.*)
Endpoint: POST http://localhost:4566/
Signing name: servicequotas
Floci answers Service Quotas lookups from a generated in-memory catalog. Every service code
resolves to a quota list: a curated set with real AWS quota codes where tooling depends on
them — CodeBuild's L-2DC20C30 ("Concurrently running builds") and Lambda's L-B99A9384
("Concurrent executions") — plus a deterministic generic set for any other service code. All
values are deliberately generous (5000) so local pipelines that gate on quota headroom, such
as AWS Landing Zone Accelerator, never stall on a limit the emulator does not enforce.
Applied quotas and AWS default quotas return the same data, and quota values are static.
RequestServiceQuotaIncrease is accepted and validated but does not change any quota value —
see Limitations.
Supported Actions
| Action | Description |
|---|---|
ListServiceQuotas |
Lists the quotas for a service code; generated quotas for unknown codes |
GetServiceQuota |
Returns one quota by service and quota code, else NoSuchResourceException |
GetAWSDefaultServiceQuota |
Same as GetServiceQuota; defaults equal applied values |
ListAWSDefaultServiceQuotas |
Same as ListServiceQuotas; defaults equal applied values |
RequestServiceQuotaIncrease |
Validates and echoes an increase request as PENDING; not persisted, quota unchanged |
Limitations
- Quota increase requests are not persisted.
RequestServiceQuotaIncreasevalidates its input, resolves the quota, and returns a well-formedRequestedQuota, but keeps no state. The request is observable only in the response that creates it. Statusis alwaysPENDINGand never advances. Nothing processes requests, so no request ever reachesAPPROVED,CASE_OPENED, orDENIED.PENDINGis what real AWS returns on creation, so a caller that only reads the creation response sees faithful data; a caller that polls for completion will wait forever.- Unknown service codes generate a quota catalog rather than failing. This is deliberate, so
the code has to be well-formed to be trusted:
ServiceCodeis validated against the modeled[a-zA-Z][a-zA-Z0-9-]{1,63}(max 63 characters) and a malformed one is rejected withIllegalArgumentExceptioninstead of returning invented quotas. - A requested increase does not change the quota.
GetServiceQuotacontinues to return the catalog value after a successful increase request. Quota values remain static by design so pipelines never stall on an unenforced limit. GetRequestedServiceQuotaChangeandListRequestedServiceQuotaChangeHistoryare not implemented — there is no request store for them to read.CaseIdis never returned; no support case is opened.SupportCaseAllowedin the request is accepted and ignored, as the emulator has no case-opening path either way.- The quota-increase template operations (
PutServiceQuotaIncreaseRequestIntoTemplateand related) are not implemented.
Configuration
| Environment variable | Default | Description |
|---|---|---|
FLOCI_SERVICES_SERVICEQUOTAS_ENABLED |
true |
Enables the service |