QuotaConfig

pydantic model gafaelfawr.config.QuotaConfig

Quota configuration.

Parameters:

data (Any)

Show JSON schema
{
   "title": "QuotaConfig",
   "description": "Quota configuration.",
   "type": "object",
   "properties": {
      "default": {
         "$ref": "#/$defs/QuotaGrant",
         "title": "Default quota",
         "description": "Default quotas for all users"
      },
      "groups": {
         "additionalProperties": {
            "$ref": "#/$defs/QuotaGrant"
         },
         "default": {},
         "description": "Additional quota grants by group name",
         "title": "Quota grants by group",
         "type": "object"
      }
   },
   "$defs": {
      "NotebookQuota": {
         "additionalProperties": false,
         "description": "Quota settings for the Notebook Aspect.",
         "properties": {
            "cpu": {
               "description": "Maximum number of CPU equivalents",
               "title": "CPU limit",
               "type": "number"
            },
            "memory": {
               "description": "Maximum memory usage in GiB",
               "title": "Memory limit (GiB)",
               "type": "number"
            }
         },
         "required": [
            "cpu",
            "memory"
         ],
         "title": "NotebookQuota",
         "type": "object"
      },
      "QuotaGrant": {
         "additionalProperties": false,
         "description": "One grant of quotas.\n\nThere may be one of these per group, as well as a default one, in the\noverall quota configuration.",
         "properties": {
            "api": {
               "additionalProperties": {
                  "type": "integer"
               },
               "default": {},
               "description": "Mapping of service names to quota of requests per 15 minutes",
               "title": "Service quotas",
               "type": "object"
            },
            "notebook": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/NotebookQuota"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Quota settings for the Notebook Aspect",
               "title": "Notebook quota"
            }
         },
         "title": "QuotaGrant",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "default"
   ]
}

Fields:
field default: QuotaGrant [Required]

Default quotas for all users

field groups: dict[str, QuotaGrant] = {}

Additional quota grants by group name