LabRequestOptions#
- pydantic model controller.models.v1.lab.LabRequestOptions#
User-provided lab configuration options.
This model represents the form submission to the spawner HTML form presented to the user by JupyterHub.
All values to this model can instead be given as lists of length one, with boolean values converted to the strings
trueorfalse. This is the form in which the values are received by the JupyterHub spawner form processing code, and allows JupyterHub to pass its form submission directly to the lab controller without modifications.- Parameters:
data (
Any)
Show JSON schema
{ "title": "LabRequestOptions", "description": "User-provided lab configuration options.\n\nThis model represents the form submission to the spawner HTML form\npresented to the user by JupyterHub.\n\nAll values to this model can instead be given as lists of length one, with\nboolean values converted to the strings ``true`` or ``false``. This is the\nform in which the values are received by the JupyterHub spawner form\nprocessing code, and allows JupyterHub to pass its form submission\ndirectly to the lab controller without modifications.", "type": "object", "properties": { "size": { "$ref": "#/$defs/LabSize", "description": "Size of image, chosen from sizes specified in the controller configuration", "examples": [ "medium" ], "title": "Image size" }, "enable_debug": { "default": false, "description": "If true, set the ``DEBUG`` environment variable when spawning the lab, which enables additional debug logging", "examples": [ true ], "title": "Enable debugging in spawned Lab", "type": "boolean" }, "reset_user_env": { "default": false, "description": "If true, set the ``RESET_USER_ENV`` environment variable when spawning the lab, which tells the lab to move aside the user environment directories (``.cache``, ``.conda``, ``.jupyter``, ``.local``) and files (``.user_setups``). This can be used to recover from user configuration errors that break lab startup.", "examples": [ true ], "title": "Move aside user environment", "type": "boolean" }, "image_list": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Selected image from the radio button part of the image menu, or the special value ``use_image_from_dropdown``. If this is set, to a value other than ``use_image_from_dropdown``, ``image_dropdown`` should not be set.", "examples": [ "lighthouse.ceres/library/sketchbook:w_2023_07@sha256:abcd" ], "title": "Image from selection radio button" }, "image_dropdown": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Selected image from the dropdown part of the image menu. If this is set, ``image_list`` should be omitted or set to ``use_image_from_dropdown``.", "examples": [ "lighthouse.ceres/library/sketchbook:w_2022_40" ], "title": "Image from dropdown list" }, "image_class": { "anyOf": [ { "$ref": "#/$defs/ImageClass" }, { "type": "null" } ], "default": null, "description": "Spawn a class of image determined by the lab controller. Not used by the user form, but may be used by bots creating labs. Only one of ``image_class`` or ``image_tag`` may be given, and neither ``image_list`` nor ``image_dropdown`` should be set when using these options.", "examples": [ "recommended" ], "title": "Class of image to spawn" }, "image_tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Spawn the image with the given tag. Not used by the user form, but may be used by bots creating labs. Only one of ``image_class`` or ``image_tag`` may be given, and neither ``image_list`` nor ``image_dropdown`` should be set when using these options.", "examples": [ "w_2023_07" ], "title": "Tag of image to spawn" } }, "$defs": { "ImageClass": { "description": "Supported classes of images.\n\nThese keywords can be passed into the spawn form to spawn whatever image\nmatches this class, as determined by the lab controller. This is primarily\nused when spawning notebooks for bot users.", "enum": [ "recommended", "latest-release", "latest-weekly", "latest-daily" ], "title": "ImageClass", "type": "string" }, "LabSize": { "description": "Allowable names for pod sizes.\n\nTaken from `d20 creature sizes`_.", "enum": [ "fine", "diminutive", "tiny", "small", "medium", "large", "huge", "gargantuan", "colossal", "custom" ], "title": "LabSize", "type": "string" } }, "required": [ "size" ] }
- Fields:
- Validators:
_validate_booleans»enable_debug_validate_booleans»reset_user_env_validate_lists»all fields_validate_one_image»all fields_validate_size»size
-
field enable_debug: Annotated[bool, Field(title='Enable debugging in spawned Lab', description='If true, set the
DEBUGenvironment variable when spawning the lab, which enables additional debug logging', examples=[True])] = False# If true, set the
DEBUGenvironment variable when spawning the lab, which enables additional debug logging- Validated by:
_validate_booleans_validate_lists_validate_one_image
- field image_class: ImageClass | None = None#
Spawn a class of image determined by the lab controller. Not used by the user form, but may be used by bots creating labs. Only one of
image_classorimage_tagmay be given, and neitherimage_listnorimage_dropdownshould be set when using these options.- Validated by:
_validate_lists_validate_one_image
- field image_dropdown: str | None = None#
Selected image from the dropdown part of the image menu. If this is set,
image_listshould be omitted or set touse_image_from_dropdown.- Validated by:
_validate_lists_validate_one_image
- field image_list: str | None = None#
Selected image from the radio button part of the image menu, or the special value
use_image_from_dropdown. If this is set, to a value other thanuse_image_from_dropdown,image_dropdownshould not be set.- Validated by:
_validate_lists_validate_one_image
- field image_tag: str | None = None#
Spawn the image with the given tag. Not used by the user form, but may be used by bots creating labs. Only one of
image_classorimage_tagmay be given, and neitherimage_listnorimage_dropdownshould be set when using these options.- Validated by:
_validate_lists_validate_one_image
-
field reset_user_env: Annotated[bool, Field(title='Move aside user environment', description='If true, set the
RESET_USER_ENVenvironment variable when spawning the lab, which tells the lab to move aside the user environment directories (.cache,.conda,.jupyter,.local) and files (.user_setups). This can be used to recover from user configuration errors that break lab startup.', examples=[True])] = False# If true, set the
RESET_USER_ENVenvironment variable when spawning the lab, which tells the lab to move aside the user environment directories (.cache,.conda,.jupyter,.local) and files (.user_setups). This can be used to recover from user configuration errors that break lab startup.- Validated by:
_validate_booleans_validate_lists_validate_one_image
- field size: Annotated[LabSize, Field(title='Image size', description='Size of image, chosen from sizes specified in the controller configuration', examples=[LabSize.MEDIUM])] [Required]#
Size of image, chosen from sizes specified in the controller configuration
- Validated by:
_validate_lists_validate_one_image_validate_size