GafaelfawrUser#
- pydantic model nublado.controller.models.domain.gafaelfawr.GafaelfawrUser#
User information from Gafaelfawr supplemented with the user’s token.
This model is used to pass the user information around internally, bundling the user’s metadata with their notebook token.
- Parameters:
data (
Any)
Show JSON schema
{ "title": "GafaelfawrUser", "description": "User information from Gafaelfawr supplemented with the user's token.\n\nThis model is used to pass the user information around internally,\nbundling the user's metadata with their notebook token.", "type": "object", "properties": { "username": { "title": "Username", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferred full name" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Email address" }, "uid": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "UID number" }, "gid": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Primary GID" }, "groups": { "default": [], "items": { "$ref": "#/$defs/GafaelfawrGroup" }, "title": "Groups", "type": "array" }, "quota": { "anyOf": [ { "$ref": "#/$defs/GafaelfawrQuota" }, { "type": "null" } ], "default": null, "title": "Quota" }, "token": { "title": "Notebook token", "type": "string" } }, "$defs": { "GafaelfawrGroup": { "description": "Information about a single group.", "properties": { "name": { "title": "Name of the group", "type": "string" }, "id": { "title": "Numeric GID of the group", "type": "integer" } }, "required": [ "name", "id" ], "title": "GafaelfawrGroup", "type": "object" }, "GafaelfawrNotebookQuota": { "description": "Notebook Aspect quota information for a user.", "properties": { "cpu": { "examples": [ 4.0 ], "title": "CPU equivalents", "type": "number" }, "memory": { "title": "Maximum memory use (GiB)", "type": "number" }, "spawn": { "default": true, "title": "Spawning allowed", "type": "boolean" } }, "required": [ "cpu", "memory" ], "title": "GafaelfawrNotebookQuota", "type": "object" }, "GafaelfawrQuota": { "description": "Quota information for a user.", "properties": { "api": { "additionalProperties": { "type": "integer" }, "default": {}, "description": "Mapping of service names to requests per minute", "title": "API quotas", "type": "object" }, "notebook": { "anyOf": [ { "$ref": "#/$defs/GafaelfawrNotebookQuota" }, { "type": "null" } ], "default": null, "title": "Notebook Aspect quotas" }, "tap": { "additionalProperties": { "$ref": "#/$defs/GafaelfawrTapQuota" }, "default": {}, "title": "TAP quotas", "type": "object" } }, "title": "GafaelfawrQuota", "type": "object" }, "GafaelfawrTapQuota": { "description": "TAP quota information for a user.", "properties": { "concurrent": { "title": "Concurrent queries", "type": "integer" } }, "required": [ "concurrent" ], "title": "GafaelfawrTapQuota", "type": "object" } }, "required": [ "username", "token" ] }
- Fields:
- field email: Annotated[str | None, Field(title='Email address')] = None#
- field gid: Annotated[int | None, Field(title='Primary GID')] = None#
- field groups: Annotated[list[GafaelfawrGroup], Field(title='Groups')] = []#
- field name: Annotated[str | None, Field(title='Preferred full name')] = None#
- field quota: Annotated[GafaelfawrQuota | None, Field(title='Quota')] = None#
- field token: Annotated[str, Field(title='Notebook token')] [Required]#
- field uid: Annotated[int | None, Field(title='UID number')] = None#
- field username: Annotated[str, Field(..., title='Username')] [Required]#