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
true
orfalse
. 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
DEBUG
environment variable when spawning the lab, which enables additional debug logging', examples=[True])] = False¶ If true, set the
DEBUG
environment 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_class
orimage_tag
may be given, and neitherimage_list
norimage_dropdown
should 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_list
should 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_dropdown
should 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_class
orimage_tag
may be given, and neitherimage_list
norimage_dropdown
should 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_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])] = False¶ 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.- 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