{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/canonical/main/json-schema/canonical-quota-group-schema.json", "title": "QuotaGroup", "description": "Defines a quota group for one or more snaps.", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/canonical-asynchronous-api-openapi.yml#/components/schemas/QuotaGroup", "type": "object", "required": [ "group-name" ], "properties": { "group-name": { "type": "string", "description": "The name of the quota group." }, "subgroups": { "type": "array", "items": { "type": "string" }, "description": "lists any subgroups this quota group contains." }, "parent": { "type": "string", "description": "Contains the parent quota group name, if this group is a subgroup." }, "snaps": { "type": "array", "items": { "type": "string" }, "description": "Lists any snaps that belong to this quota group." }, "services": { "type": "string", "description": "Only for a subgroup, lists specific services belonging to a snap in the parent group." }, "constraints": { "type": "object", "description": "The types and values of limits defined for this quota group.", "properties": { "memory": { "type": "integer", "format": "int64", "description": "Memory usage limit in bytes." }, "cpu": { "type": "string", "description": "Includes percentage as a limit." }, "cpu-set": { "type": "string", "description": "Per-cpu limits, with cpus listing included cores." }, "threads": { "type": "integer", "description": "Maximum number of threads for this quota group." }, "journal": { "type": "object", "description": "Number of messages logged per time period.", "properties": { "size": { "type": "integer", "format": "int64" }, "rate-count": { "type": "integer" }, "rate-period": { "type": "integer" } } } } }, "current": { "type": "object", "description": "Contains the current usage of memory and task quotas", "additionalProperties": true } } }