From 54041420dde66eefe11549d72b0522a56eb5192f Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Fri, 4 Aug 2023 16:28:12 +0200 Subject: [PATCH 01/28] Add basic script to generate GalaxyConfigModel From the configuration schema. --- lib/galaxy/config/config_manage.py | 64 ++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/lib/galaxy/config/config_manage.py b/lib/galaxy/config/config_manage.py index ef21f95b3339..e1d7a3cd6142 100644 --- a/lib/galaxy/config/config_manage.py +++ b/lib/galaxy/config/config_manage.py @@ -524,12 +524,76 @@ def _get_option_desc(option: Dict[str, Any]) -> str: return desc +def _generate_api_models(args: Namespace, app_desc: App) -> None: + """Generates Pydantic models for the Galaxy configuration API.""" + if app_desc.app_name != "galaxy": + raise Exception("Only Galaxy is supported for API model generation") + schema = app_desc.schema + f = StringIO() + file_header = """ +# This file is auto-generated by the Galaxy configuration schema tool. +# Do not edit this file directly. + +from typing import ( + Any, + Dict, + List, + Optional, +) + +from pydantic import Field + +from galaxy.schema.schema import Model + + +class GalaxyConfigModel(Model): + \"\"\"Contains Galaxy configuration values.\"\"\" +""" + f.write(file_header) + + for key, value in schema.app_schema.items(): + type = _get_schema_type(value) + required = value.get("required", False) + field_type = type if required else f"Optional[{type}]" + default = _get_field_default(value, type, required) + title = key.replace("_", " ").title() + description = value.get("desc") + field = f'{key}: {field_type} = Field({default}, title="{title}", description="""{description}""",)' + f.write(f" {field}\n") + + destination = os.path.join(args.galaxy_root, "lib", "galaxy", "schema", "configuration.py") + _write_to_file(args, f, destination) + + +def _get_field_default(value, field_type, required): + default = None if "default" not in value or not required else value["default"] + if default is not None: + if field_type == "bool": + default = default.title() + elif field_type == "str": + default = f'"{default}"' + return default + + +def _get_schema_type(value): + field_type = value.get("type", "str") + if field_type == "seq": + field_type = "List[Any]" + elif field_type == "any": + field_type = "Any" + elif field_type == "map": + # TODO: handle map types by creating a sub-model with the mapping + field_type = "Dict[str, Any]" + return field_type + + ACTIONS: Dict[str, Callable] = { "convert": _run_conversion, "build_sample_yaml": _build_sample_yaml, "validate": _validate, "lint": _lint, "build_rst": _to_rst, + "generate_api_models": _generate_api_models, } From 152289742b32b1c25db42227980ac4c476d42371 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Fri, 4 Aug 2023 16:29:23 +0200 Subject: [PATCH 02/28] Add makefile commands And invoke `config-api-schema` when building the config options and updating the client API schema. --- Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 1e5a171796c5..353292fcf154 100644 --- a/Makefile +++ b/Makefile @@ -101,12 +101,18 @@ config-convert-dry-run: ## convert old style galaxy ini to yaml (dry run) config-convert: ## convert old style galaxy ini to yaml $(CONFIG_MANAGE) convert galaxy +config-api-schema: ## generates the schema model for the galaxy config file + $(CONFIG_MANAGE) generate_api_models galaxy + $(IN_VENV) isort lib/galaxy/schema/configuration.py + $(IN_VENV) black lib/galaxy/schema/configuration.py + config-rebuild: ## Rebuild all sample YAML and RST files from config schema $(CONFIG_MANAGE) build_sample_yaml galaxy --add-comments $(CONFIG_MANAGE) build_rst galaxy > doc/source/admin/galaxy_options.rst $(CONFIG_MANAGE) build_sample_yaml reports --add-comments $(CONFIG_MANAGE) build_rst reports > doc/source/admin/reports_options.rst $(CONFIG_MANAGE) build_sample_yaml tool_shed --add-comments + $(MAKE) config-api-schema config-lint: ## lint galaxy YAML configuration file $(CONFIG_MANAGE) lint galaxy @@ -186,7 +192,7 @@ build-api-schema: remove-api-schema: rm _schema.yaml -update-client-api-schema: client-node-deps build-api-schema +update-client-api-schema: config-api-schema client-node-deps build-api-schema $(IN_VENV) cd client && node openapi_to_schema.mjs ../_schema.yaml > src/schema/schema.ts && npx prettier --write src/schema/schema.ts $(MAKE) remove-api-schema From 66130e4d5b1ab06959c42a6bbe9044b121239abe Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Fri, 4 Aug 2023 16:30:39 +0200 Subject: [PATCH 03/28] WIP: Add basic generated GalaxyConfigModel This model is not yet properly generated as it exposes everything. --- client/src/schema/schema.ts | 3062 ++++++++++++++- lib/galaxy/schema/configuration.py | 3473 +++++++++++++++++ .../webapps/galaxy/api/configuration.py | 3 +- 3 files changed, 6536 insertions(+), 2 deletions(-) create mode 100644 lib/galaxy/schema/configuration.py diff --git a/client/src/schema/schema.ts b/client/src/schema/schema.ts index 789deebb50c3..73f6103c88a0 100644 --- a/client/src/schema/schema.ts +++ b/client/src/schema/schema.ts @@ -4600,6 +4600,3066 @@ export interface components { /** Tags */ tags?: string[]; }; + /** + * GalaxyConfigModel + * @description Contains Galaxy configuration values. + */ + GalaxyConfigModel: { + /** + * Activation Grace Period + * @description Activation grace period (in hours). Activation is not forced (login is not + * disabled) until grace period has passed. Users under grace period can't run + * jobs. Enter 0 to disable grace period. + */ + activation_grace_period?: number; + /** + * Admin Tool Recommendations Path + * @description Set path to the additional tool preferences from Galaxy admins. + * It has two blocks. One for listing deprecated tools which will be removed from the recommendations and + * another is for adding additional tools to be recommended along side those from the deep learning model. + */ + admin_tool_recommendations_path?: string; + /** + * Admin Users + * @description Administrative users - set this to a comma-separated list of valid Galaxy + * users (email addresses). These users will have access to the Admin section + * of the server, and will have access to create users, groups, roles, + * libraries, and more. For more information, see: + * https://galaxyproject.org/admin/ + */ + admin_users?: string; + /** + * Allow Path Paste + * @description Allow admins to paste filesystem paths during upload. For libraries this + * adds an option to the admin library upload tool allowing admins to paste + * filesystem paths to files and directories in a box, and these paths will be + * added to a library. For history uploads, this allows pasting in paths as URIs. + * (i.e. prefixed with file://). Set to true to enable. Please note the security + * implication that this will give Galaxy Admins access to anything your Galaxy + * user has access to. + */ + allow_path_paste?: boolean; + /** + * Allow User Creation + * @description Allow unregistered users to create new accounts (otherwise, they will have to + * be created by an admin). + */ + allow_user_creation?: boolean; + /** + * Allow User Dataset Purge + * @description Allow users to remove their datasets from disk immediately (otherwise, + * datasets will be removed after a time period specified by an administrator in + * the cleanup scripts run via cron) + */ + allow_user_dataset_purge?: boolean; + /** + * Allow User Deletion + * @description Allow administrators to delete accounts. + */ + allow_user_deletion?: boolean; + /** + * Allow User Impersonation + * @description Allow administrators to log in as other users (useful for debugging). + */ + allow_user_impersonation?: boolean; + /** + * Allowed Origin Hostnames + * @description Return a Access-Control-Allow-Origin response header that matches the Origin + * header of the request if that Origin hostname matches one of the strings or + * regular expressions listed here. This is a comma-separated list of hostname + * strings or regular expressions beginning and ending with /. + * E.g. mysite.com,google.com,usegalaxy.org,/^[\w\.]*example\.com/ + * See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS + */ + allowed_origin_hostnames?: string; + /** + * Amqp Internal Connection + * @description Galaxy uses AMQP internally for communicating between processes. For + * example, when reloading the toolbox or locking job execution, the process + * that handled that particular request will tell all others to also reload, + * lock jobs, etc. + * For connection examples, see https://docs.celeryq.dev/projects/kombu/en/stable/userguide/connections.html + * + * Without specifying anything here, galaxy will first attempt to use your + * specified database_connection above. If that's not specified either, Galaxy + * will automatically create and use a separate sqlite database located in your + * /database folder (indicated in the commented out line below). + */ + amqp_internal_connection?: string; + /** + * Apache Xsendfile + * @description For help on configuring the Advanced proxy features, see: + * https://docs.galaxyproject.org/en/master/admin/production.html + * + * Apache can handle file downloads (Galaxy-to-user) via mod_xsendfile. Set + * this to true to inform Galaxy that mod_xsendfile is enabled upstream. + */ + apache_xsendfile?: boolean; + /** + * Api Allow Run As + * @description Optional list of email addresses of API users who can make calls on behalf of + * other users. + */ + api_allow_run_as?: string; + /** + * Auth Config File + * @description XML config file that allows the use of different authentication providers + * (e.g. LDAP) instead or in addition to local authentication (.sample is used + * if default does not exist). + */ + auth_config_file?: string; + /** + * Auto Configure Logging + * @description If true, Galaxy will attempt to configure a simple root logger if a + * "loggers" section does not appear in this configuration file. + */ + auto_configure_logging?: boolean; + /** + * Aws Estimate + * @description This flag enables an AWS cost estimate for every job based on their runtime matrices. + * CPU, RAM and runtime usage is mapped against AWS pricing table. + * Please note, that those numbers are only estimates. + */ + aws_estimate?: boolean; + /** + * Biotools Content Directory + * @description Point Galaxy at a repository consisting of a copy of the bio.tools database (e.g. + * https://github.com/bio-tools/content/) to resolve bio.tools data for tool metadata. + */ + biotools_content_directory?: string; + /** + * Biotools Service Cache Data Dir + * @description bio.tools web service request related caching. The data directory to point + * beaker cache at. + */ + biotools_service_cache_data_dir?: string; + /** + * Biotools Service Cache Lock Dir + * @description bio.tools web service request related caching. The lock directory to point + * beaker cache at. + */ + biotools_service_cache_lock_dir?: string; + /** + * Biotools Service Cache Schema Name + * @description When biotools_service_cache_type = ext:database, this is + * the database table name used by beaker for + * bio.tools web service request related caching. + */ + biotools_service_cache_schema_name?: string; + /** + * Biotools Service Cache Table Name + * @description When biotools_service_cache_type = ext:database, this is + * the database table name used by beaker for + * bio.tools web service request related caching. + */ + biotools_service_cache_table_name?: string; + /** + * Biotools Service Cache Type + * @description bio.tools web service request related caching. The type of beaker cache used. + */ + biotools_service_cache_type?: string; + /** + * Biotools Service Cache Url + * @description When biotools_service_cache_type = ext:database, this is + * the url of the database used by beaker for + * bio.tools web service request related caching. + * The application config code will set it to the + * value of database_connection if this is not set. + */ + biotools_service_cache_url?: string; + /** + * Biotools Use Api + * @description Set this to true to attempt to resolve bio.tools metadata for tools for tool not + * resovled via biotools_content_directory. + */ + biotools_use_api?: boolean; + /** + * Bootstrap Admin Api Key + * @description API key that allows performing some admin actions without actually + * having a real admin user in the database and config. + * Only set this if you need to bootstrap Galaxy, in particular to create + * a real admin user account via API. + * You should probably not set this on a production server. + */ + bootstrap_admin_api_key?: string; + /** + * Brand + * @description Append "{brand}" text to the masthead. + */ + brand?: string; + /** + * Build Sites Config File + * @description File that defines the builds (dbkeys) available at sites used by display applications + * and the URL to those sites. + */ + build_sites_config_file?: string; + /** + * Builds File Path + * @description File containing old-style genome builds. + * + * The value of this option will be resolved with respect to . + */ + builds_file_path?: string; + /** + * Cache Dir + * @description Top level cache directory. Any other cache directories (tool_cache_data_dir, + * template_cache_path, etc.) should be subdirectories. + */ + cache_dir?: string; + /** + * Cache User Job Count + * @description If using job concurrency limits (configured in job_config_file), several + * extra database queries must be performed to determine the number of jobs a + * user has dispatched to a given destination. By default, these queries will + * happen for every job that is waiting to run, but if cache_user_job_count is + * set to true, it will only happen once per iteration of the handler queue. + * Although better for performance due to reduced queries, the trade-off is a + * greater possibility that jobs will be dispatched past the configured limits + * if running many handlers. + */ + cache_user_job_count?: boolean; + /** + * Carbon Emission Estimates + * @description This flag enables carbon emissions estimates for every job based on its runtime metrics. + * CPU and RAM usage and the total job runtime are used to determine an estimate value. + * These estimates and are based off of the work of the Green Algorithms Project and + * the United States Environmental Protection Agency (EPA). + * Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. + * for more detals. + */ + carbon_emission_estimates?: boolean; + /** + * Celery Conf + * @description Configuration options passed to Celery. + * + * To refer to a task by name, use the template `galaxy.foo` where `foo` is the function name + * of the task defined in the galaxy.celery.tasks module. + * + * The `broker_url` option, if unset, defaults to the value of `amqp_internal_connection`. + * The `result_backend` option must be set if the `enable_celery_tasks` option is set. + * + * The galaxy.fetch_data task can be disabled by setting its route to "disabled": `galaxy.fetch_data: disabled`. + * (Other tasks cannot be disabled on a per-task basis at this time.) + * + * For details, see Celery documentation at https://docs.celeryq.dev/en/stable/userguide/configuration.html. + */ + celery_conf?: Record; + /** + * Celery User Rate Limit + * @description If set to a non-0 value, upper limit on number of + * tasks that can be executed per user per second. + */ + celery_user_rate_limit?: number; + /** + * Check Job Script Integrity + * @description Set to false to disable various checks Galaxy will do to ensure it + * can run job scripts before attempting to execute or submit them. + */ + check_job_script_integrity?: boolean; + /** + * Check Job Script Integrity Count + * @description Number of checks to execute if check_job_script_integrity is enabled. + */ + check_job_script_integrity_count?: number; + /** + * Check Job Script Integrity Sleep + * @description Time to sleep between checks if check_job_script_integrity is enabled (in seconds). + */ + check_job_script_integrity_sleep?: number; + /** + * Chunk Upload Size + * @description Galaxy can upload user files in chunks without using nginx. Enable the chunk + * uploader by specifying a chunk size larger than 0. The chunk size is specified + * in bytes (default: 10MB). + */ + chunk_upload_size?: number; + /** + * Citation Cache Data Dir + * @description Citation related caching. Tool citations information maybe fetched from + * external sources such as https://doi.org/ by Galaxy - the following + * parameters can be used to control the caching used to store this information. + */ + citation_cache_data_dir?: string; + /** + * Citation Cache Lock Dir + * @description Citation related caching. Tool citations information maybe fetched from + * external sources such as https://doi.org/ by Galaxy - the following + * parameters can be used to control the caching used to store this information. + */ + citation_cache_lock_dir?: string; + /** + * Citation Cache Schema Name + * @description When citation_cache_type = ext:database, this is + * the database schema name of the table used by beaker for + * citation related caching. + */ + citation_cache_schema_name?: string; + /** + * Citation Cache Table Name + * @description When citation_cache_type = ext:database, this is + * the database table name used by beaker for + * citation related caching. + */ + citation_cache_table_name?: string; + /** + * Citation Cache Type + * @description Citation related caching. Tool citations information maybe fetched from + * external sources such as https://doi.org/ by Galaxy - the following + * parameters can be used to control the caching used to store this information. + */ + citation_cache_type?: string; + /** + * Citation Cache Url + * @description When citation_cache_type = ext:database, this is + * the url of the database used by beaker for citation + * caching. The application config code will set it to the + * value of database_connection if this is not set. + */ + citation_cache_url?: string; + /** + * Citation Url + * @description The URL linked by the "How to Cite Galaxy" link in the "Help" menu. + */ + citation_url?: string; + /** + * Citations Export Message Html + * @description Message to display on the export citations tool page + */ + citations_export_message_html?: string; + /** + * Cleanup Job + * @description Clean up various bits of jobs left on the filesystem after completion. These + * bits include the job working directory, external metadata temporary files, + * and DRM stdout and stderr files (if using a DRM). Possible values are: + * always, onsuccess, never + */ + cleanup_job?: string; + /** + * Conda Auto Init + * @description Set to true to instruct Galaxy to install Conda from the web automatically + * if it cannot find a local copy and conda_exec is not configured. + */ + conda_auto_init?: boolean; + /** + * Conda Auto Install + * @description Set to true to instruct Galaxy to look for and install missing tool + * dependencies before each job runs. + */ + conda_auto_install?: boolean; + /** + * Conda Copy Dependencies + * @description You must set this to true if conda_prefix and job_working_directory are not on the same + * volume, or some conda dependencies will fail to execute at job runtime. + * Conda will copy packages content instead of creating hardlinks or symlinks. + * This will prevent problems with some specific packages (perl, R), at the cost + * of extra disk space usage and extra time spent copying packages. + */ + conda_copy_dependencies?: boolean; + /** + * Conda Debug + * @description Pass debug flag to conda commands. + */ + conda_debug?: boolean; + /** + * Conda Ensure Channels + * @description conda channels to enable by default + * (https://conda.io/docs/user-guide/tasks/manage-channels.html) + */ + conda_ensure_channels?: string; + /** + * Conda Exec + * @description Override the Conda executable to use, it will default to the one on the + * PATH (if available) and then to /bin/conda + */ + conda_exec?: string; + /** + * Conda Prefix + * @description conda_prefix is the location on the filesystem where Conda packages and environments are + * installed. + * + * Sample default '/_conda' + */ + conda_prefix?: string; + /** + * Conda Use Local + * @description Use locally-built conda packages. + */ + conda_use_local?: boolean; + /** + * Config Dir + * @description The directory that will be prepended to relative paths in options specifying + * other Galaxy config files (e.g. datatypes_config_file). Defaults to the + * directory in which galaxy.yml is located. + */ + config_dir?: string; + /** + * Container Resolvers + * @description Rather than specifying a container_resolvers_config_file, the definition of the + * resolvers to enable can be embedded into Galaxy's config with this option. + * This has no effect if a container_resolvers_config_file is used. + * Takes the same options that can be set in container_resolvers_config_file. + */ + container_resolvers?: Record[]; + /** + * Container Resolvers Config File + * @description Container resolvers configuration. Set up a file describing + * container resolvers to use when discovering containers for Galaxy. If + * this is set to None, the default container resolvers loaded is + * determined by enable_mulled_containers. + * For available options see https://docs.galaxyproject.org/en/master/admin/container_resolvers.html + */ + container_resolvers_config_file?: string; + /** + * Cookie Domain + * @description Tell Galaxy that multiple domains sharing the same root are associated + * to this instance and wants to share the same session cookie. + * This allow a user to stay logged in when passing from one subdomain + * to the other. + * This root domain will be written in the unique session cookie shared + * by all subdomains. + */ + cookie_domain?: string; + /** + * Custom Activation Email Message + * @description This text will be inserted at the end of the activation email's message, before + * the 'Your Galaxy Team' signature. + */ + custom_activation_email_message?: string; + /** + * Data Dir + * @description The directory that will be prepended to relative paths in options specifying + * Galaxy data/cache directories and files (such as the default SQLite database, + * file_path, etc.). Defaults to `database/` if running Galaxy from source or + * `/data` otherwise. + */ + data_dir?: string; + /** + * Data Manager Config File + * @description File where Data Managers are configured (.sample used if default does not + * exist). + */ + data_manager_config_file?: string; + /** + * Database Auto Migrate + * @description Setting the following option to true will cause Galaxy to automatically + * migrate the database forward after updates. This is not recommended for production + * use. + */ + database_auto_migrate?: boolean; + /** + * Database Connection + * @description By default, Galaxy uses a SQLite database at '/universe.sqlite'. You + * may use a SQLAlchemy connection string to specify an external database instead. + * + * Sample default 'sqlite:////universe.sqlite?isolation_level=IMMEDIATE' + * + * You may specify additional options that will be passed to the SQLAlchemy + * database engine by using the prefix "database_engine_option_". For some of these + * options, default values are provided (e.g. see database_engine_option_pool_size, + * etc.). + * + * The same applies to `install_database_connection`, for which you should use the + * "install_database_engine_option_" prefix. + * + * For more options, please check SQLAlchemy's documentation at + * https://docs.sqlalchemy.org/en/14/core/engines.html?highlight=create_engine#sqlalchemy.create_engine + */ + database_connection?: string; + /** + * Database Engine Option Echo + * @description Print database operations to the server log (warning, quite verbose!). + */ + database_engine_option_echo?: boolean; + /** + * Database Engine Option Echo Pool + * @description Print database pool operations to the server log (warning, quite verbose!). + */ + database_engine_option_echo_pool?: boolean; + /** + * Database Engine Option Max Overflow + * @description If the server logs errors about not having enough database pool connections, + * you will want to increase these values, or consider running more Galaxy + * processes. + */ + database_engine_option_max_overflow?: number; + /** + * Database Engine Option Pool Recycle + * @description If using MySQL and the server logs the error "MySQL server has gone away", + * you will want to set this to some positive value (7200 should work). + */ + database_engine_option_pool_recycle?: number; + /** + * Database Engine Option Pool Size + * @description If the server logs errors about not having enough database pool connections, + * you will want to increase these values, or consider running more Galaxy + * processes. + */ + database_engine_option_pool_size?: number; + /** + * Database Engine Option Server Side Cursors + * @description If large database query results are causing memory or response time issues in + * the Galaxy process, leave the result on the server instead. This option is + * only available for PostgreSQL and is highly recommended. + */ + database_engine_option_server_side_cursors?: boolean; + /** + * Database Log Query Counts + * @description Log number of SQL queries executed and total time spent dispatching SQL statements for + * each web request. If statsd is also enabled this information will be logged there as well. + * This should be considered somewhat experimental, we are unsure of the performance costs of + * running this in production. This is useful information for optimizing database interaction + * performance. Similar information can be obtained on a per-request basis by enabling the + * sql_debug middleware and adding sql_debug=1 to a request string. + */ + database_log_query_counts?: boolean; + /** + * Database Query Profiling Proxy + * @description Log all database transactions, can be useful for debugging and performance + * profiling. Logging is done via Python's 'logging' module under the qualname + * 'galaxy.model.orm.logging_connection_proxy' + */ + database_query_profiling_proxy?: boolean; + /** + * Database Template + * @description If auto-creating a postgres database on startup - it can be based on an existing + * template database. This will set that. This is probably only useful for testing but + * documentation is included here for completeness. + */ + database_template?: string; + /** + * Database Wait + * @description Wait for database to become available instead of failing immediately. + */ + database_wait?: boolean; + /** + * Database Wait Attempts + * @description Number of attempts before failing if database_wait is enabled. + */ + database_wait_attempts?: number; + /** + * Database Wait Sleep + * @description Time to sleep between attempts if database_wait is enabled (in seconds). + */ + database_wait_sleep?: number; + /** + * Datatypes Config File + * @description Datatypes config file(s), defines what data (file) types are available in + * Galaxy (.sample is used if default does not exist). If a datatype appears in + * multiple files, the last definition is used (though the first sniffer is used + * so limit sniffer definitions to one file). + */ + datatypes_config_file?: string; + /** + * Datatypes Disable Auto + * @description Disable the 'Auto-detect' option for file uploads + */ + datatypes_disable_auto?: boolean; + /** + * Debug + * @description Debug enables access to various config options useful for development + * and debugging: use_lint, use_profile, and use_printdebug. It also + * causes the files used by PBS/SGE (submission script, output, and error) + * to remain on disk after the job is complete. + */ + debug?: boolean; + /** + * Default Job Resubmission Condition + * @description When jobs fail due to job runner problems, Galaxy can be configured to retry + * these or reroute the jobs to new destinations. Very fine control of this is + * available with resubmit declarations in the job config. For simple deployments + * of Galaxy though, the following attribute can define resubmission conditions + * for all job destinations. If any job destination defines even one + * resubmission condition explicitly in the job config - the condition described + * by this option will not apply to that destination. For instance, the condition: + * 'attempt < 3 and unknown_error and (time_running < 300 or time_since_queued < 300)' + * would retry up to two times jobs that didn't fail due to detected memory or + * walltime limits but did fail quickly (either while queueing or running). The + * commented out default below results in no default job resubmission condition, + * failing jobs are just failed outright. + */ + default_job_resubmission_condition?: string; + /** + * Default Job Shell + * @description Set the default shell used by non-containerized jobs Galaxy-wide. This + * defaults to bash for all jobs and can be overridden at the destination + * level for heterogeneous clusters. conda job resolution requires bash or zsh + * so if this is switched to /bin/sh for instance - conda resolution + * should be disabled. Containerized jobs always use /bin/sh - so more maximum + * portability tool authors should assume generated commands run in sh. + */ + default_job_shell?: string; + /** + * Default Locale + * @description Default localization for Galaxy UI. + * Allowed values are listed at the end of client/src/nls/locale.js. + * With the default value (auto), the locale will be automatically adjusted to + * the user's navigator language. + * Users can override this settings in their user preferences if the localization + * settings are enabled in user_preferences_extra_conf.yml + */ + default_locale?: string; + /** + * Default Panel View + * @description Default tool panel view for the current Galaxy configuration. This should refer to an id of + * a panel view defined using the panel_views or panel_views_dir configuration options or an + * EDAM panel view. The default panel view is simply called `default` and refers to the tool + * panel state defined by the integrated tool panel. + */ + default_panel_view?: string; + /** + * Default Workflow Export Format + * @description Default format for the export of workflows. Possible values are 'ga' + * or 'format2'. + */ + default_workflow_export_format?: string; + /** + * Delay Tool Initialization + * @description Set this to true to delay parsing of tool inputs and outputs until they are needed. + * This results in faster startup times but uses more memory when using forked Galaxy + * processes. + */ + delay_tool_initialization?: boolean; + /** + * Dependency Resolution + * @description Alternative representation of various dependency resolution parameters. Takes the + * dictified version of a DependencyManager object - so this is ideal for automating the + * configuration of dependency resolution from one application that uses a DependencyManager + * to another. + */ + dependency_resolution?: Record; + /** + * Dependency Resolvers + * @description Rather than specifying a dependency_resolvers_config_file, the definition of the + * resolvers to enable can be embedded into Galaxy's config with this option. + * This has no effect if a dependency_resolvers_config_file is used. + * + * The syntax, available resolvers, and documentation of their options is explained in detail in the + * documentation: + * + * https://docs.galaxyproject.org/en/master/admin/dependency_resolvers.html + */ + dependency_resolvers?: Record[]; + /** + * Dependency Resolvers Config File + * @description Specifies the path to the standalone dependency resolvers configuration file. This + * configuration can now be specified directly in the Galaxy configuration, see the + * description of the 'dependency_resolvers' option for details. + */ + dependency_resolvers_config_file?: string; + /** + * Disable Library Comptypes + * @description Users may choose to download multiple files from a library in an archive. By + * default, Galaxy allows users to select from a few different archive formats + * if testing shows that Galaxy is able to create files using these formats. + * Specific formats can be disabled with this option, separate more than one + * format with commas. Available formats are currently 'zip', 'gz', and 'bz2'. + */ + disable_library_comptypes?: string; + /** + * Display Builtin Converters + * @description Display built-in converters in the tool panel. + */ + display_builtin_converters?: boolean; + /** + * Display Chunk Size + * @description Incremental Display Options + */ + display_chunk_size?: number; + /** + * Display Galaxy Brand + * @description This option has been deprecated, use the `logo_src` instead to change the + * default logo including the galaxy brand title. + */ + display_galaxy_brand?: boolean; + /** + * Display Servers + * @description Galaxy can display data at various external browsers. These options specify + * which browsers should be available. URLs and builds available at these + * browsers are defined in the specified files. + * + * If use_remote_user is set to true, display application servers will be denied access + * to Galaxy and so displaying datasets in these sites will fail. + * display_servers contains a list of hostnames which should be allowed to + * bypass security to display datasets. Please be aware that there are security + * implications if this is allowed. More details (including required changes to + * the proxy server config) are available in the Apache proxy documentation on + * the Galaxy Community Hub. + * + * The list of servers in this sample config are for the UCSC Main, Test and + * Archaea browsers, but the default if left commented is to not allow any + * display sites to bypass security (you must uncomment the line below to allow + * them). + */ + display_servers?: string; + /** + * Drmaa External Killjob Script + * @description When running DRMAA jobs as the Galaxy user + * (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) + * this script is used to kill such jobs by Galaxy (e.g. if the user cancels + * the job). + * + * Example value 'sudo -E scripts/drmaa_external_killer.py' + */ + drmaa_external_killjob_script?: string; + /** + * Drmaa External Runjob Script + * @description When running DRMAA jobs as the Galaxy user + * (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) + * this script is used to run the job script Galaxy generates for a tool execution. + * + * Example value 'sudo -E scripts/drmaa_external_runner.py --assign_all_groups' + */ + drmaa_external_runjob_script?: string; + /** + * Dynamic Proxy + * @description As of 16.04 Galaxy supports multiple proxy types. The original NodeJS + * implementation, alongside a new Golang single-binary-no-dependencies + * version. Valid values are (node, golang) + */ + dynamic_proxy?: string; + /** + * Dynamic Proxy Bind Ip + * @description Set the port and IP for the dynamic proxy to bind to, this must match + * the external configuration if dynamic_proxy_manage is set to false. + */ + dynamic_proxy_bind_ip?: string; + /** + * Dynamic Proxy Bind Port + * @description Set the port and IP for the dynamic proxy to bind to, this must match + * the external configuration if dynamic_proxy_manage is set to false. + */ + dynamic_proxy_bind_port?: number; + /** + * Dynamic Proxy Debug + * @description Enable verbose debugging of Galaxy-managed dynamic proxy. + */ + dynamic_proxy_debug?: boolean; + /** + * Dynamic Proxy External Proxy + * @description The dynamic proxy is proxied by an external proxy (e.g. apache frontend to + * nodejs to wrap connections in SSL). + */ + dynamic_proxy_external_proxy?: boolean; + /** + * Dynamic Proxy Golang Api Key + * @description The golang proxy uses a RESTful HTTP API for communication with Galaxy + * instead of a JSON or SQLite file for IPC. If you do not specify this, it will + * be set randomly for you. You should set this if you are managing the proxy + * manually. + */ + dynamic_proxy_golang_api_key?: string; + /** + * Dynamic Proxy Golang Clean Interval + * @description In order to kill containers, the golang proxy has to check at some interval + * for possibly dead containers. This is exposed as a configurable parameter, + * but the default value is probably fine. + */ + dynamic_proxy_golang_clean_interval?: number; + /** + * Dynamic Proxy Golang Docker Address + * @description The golang proxy needs to know how to talk to your docker daemon. Currently + * TLS is not supported, that will come in an update. + */ + dynamic_proxy_golang_docker_address?: string; + /** + * Dynamic Proxy Golang Noaccess + * @description This attribute governs the minimum length of time between consecutive HTTP/WS + * requests through the proxy, before the proxy considers a container as being + * inactive and kills it. + */ + dynamic_proxy_golang_noaccess?: number; + /** + * Dynamic Proxy Manage + * @description Have Galaxy manage dynamic proxy component for routing requests to other + * services based on Galaxy's session cookie. It will attempt to do this by + * default though you do need to install node+npm and do an npm install from + * `lib/galaxy/web/proxy/js`. It is generally more robust to configure this + * externally, managing it in the same way Galaxy itself is managed. If true, Galaxy will only + * launch the proxy if it is actually going to be used (e.g. for Jupyter). + */ + dynamic_proxy_manage?: boolean; + /** + * Dynamic Proxy Prefix + * @description Additionally, when the dynamic proxy is proxied by an upstream server, you'll + * want to specify a prefixed URL so both Galaxy and the proxy reside under the + * same path that your cookies are under. This will result in a url like + * https://FQDN/galaxy-prefix/gie_proxy for proxying + */ + dynamic_proxy_prefix?: string; + /** + * Dynamic Proxy Session Map + * @description The NodeJS dynamic proxy can use an SQLite database or a JSON file for IPC, + * set that here. + */ + dynamic_proxy_session_map?: string; + /** + * Edam Panel Views + * @description Comma-separated list of the EDAM panel views to load - choose from merged, operations, topics. + * Set to empty string to disable EDAM all together. Set default_panel_view to 'ontology:edam_topics' + * to override default tool panel to use an EDAM view. + */ + edam_panel_views?: string; + /** + * Edam Toolbox Ontology Path + * @description Sets the path to EDAM ontology file - if the path doesn't exist PyPI package data will be loaded. + */ + edam_toolbox_ontology_path?: string; + /** + * Email Domain Allowlist File + * @description E-mail domains allowlist is used to specify allowed email address domains. + * If the list is non-empty and a user attempts registration using an email + * address belonging to a domain that is not on the list, registration will be + * denied. Unlike which matches the address's + * base domain, here email addresses are matched against the full domain (base + subdomain). + * This is a more restrictive option than , and + * therefore, in case is set and is not empty, + * will be ignored. + * + * Example value 'email_allowlist.conf' + * + * The value of this option will be resolved with respect to . + */ + email_domain_allowlist_file?: string; + /** + * Email Domain Blocklist File + * @description E-mail domains blocklist is used for filtering out users that are using + * disposable email addresses at registration. If their address's base domain + * matches any domain on the list, they are refused registration. Address subdomains + * are ignored (both 'name@spam.com' and 'name@foo.spam.com' will match 'spam.com'). + * + * Example value 'email_blocklist.conf' + * + * The value of this option will be resolved with respect to . + */ + email_domain_blocklist_file?: string; + /** + * Email From + * @description Email address to use in the 'From' field when sending emails for + * account activations, workflow step notifications, password resets, and + * tool error reports. We recommend using a string in the following format: + * Galaxy Project . + * If not configured, '' will be used. + */ + email_from?: string; + /** + * Enable Account Interface + * @description Allow users to manage their account data, change passwords or delete their + * accounts. + */ + enable_account_interface?: boolean; + /** + * Enable Beacon Integration + * @description Enables user preferences and api endpoint for the beacon integration. + */ + enable_beacon_integration?: boolean; + /** + * Enable Beta Gdpr + * @description Enables GDPR Compliance mode. This makes several changes to the way + * Galaxy logs and exposes data externally such as removing emails and + * usernames from logs and bug reports. It also causes the delete user + * admin action to permanently redact their username and password, but + * not to delete data associated with the account as this is not + * currently easily implementable. + * + * You are responsible for removing personal data from backups. + * + * This forces expose_user_email and expose_user_name to be false, and + * forces user_deletion to be true to support the right to erasure. + * + * Please read the GDPR section under the special topics area of the + * admin documentation. + */ + enable_beta_gdpr?: boolean; + /** + * Enable Beta Markdown Export + * @description Enable export of Galaxy Markdown documents (pages and workflow reports) + * to PDF. Requires manual installation and setup of weasyprint (latest version + * available for Python 2.7 is 0.42). + */ + enable_beta_markdown_export?: boolean; + /** + * Enable Beta Workflow Modules + * @description Enable beta workflow modules that should not yet be considered part of Galaxy's + * stable API. (The module state definitions may change and workflows built using + * these modules may not function in the future.) + */ + enable_beta_workflow_modules?: boolean; + /** + * Enable Celery Tasks + * @description Offload long-running tasks to a Celery task queue. + * Activate this only if you have setup a Celery worker for Galaxy. + * For details, see https://docs.galaxyproject.org/en/master/admin/production.html + */ + enable_celery_tasks?: boolean; + /** + * Enable Data Manager User View + * @description Allow non-admin users to view available Data Manager options. + */ + enable_data_manager_user_view?: boolean; + /** + * Enable Legacy Sample Tracking Api + * @description Enable the API for sample tracking + */ + enable_legacy_sample_tracking_api?: boolean; + /** + * Enable Mulled Containers + * @description Enable Galaxy to fetch containers registered with quay.io generated + * from tool requirements resolved through Conda. These containers (when + * available) have been generated using mulled - https://github.com/mulled. + * Container availability will vary by tool, this option will only be used + * for job destinations with Docker or Singularity enabled. + */ + enable_mulled_containers?: boolean; + /** + * Enable Notification System + * @description Enables the Notification System integrated in Galaxy. + * + * Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. + * + * The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. + * + * Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. + */ + enable_notification_system?: boolean; + /** + * Enable Oidc + * @description Enables and disables OpenID Connect (OIDC) support. + */ + enable_oidc?: boolean; + /** + * Enable Old Display Applications + * @description Set this to false to disable the old-style display applications that + * are hardcoded into datatype classes. + * This may be desirable due to using the new-style, XML-defined, display + * applications that have been defined for many of the datatypes that have the + * old-style. + * There is also a potential security concern with the old-style applications, + * where a malicious party could provide a link that appears to reference the + * Galaxy server, but contains a redirect to a third-party server, tricking a + * Galaxy user to access said site. + */ + enable_old_display_applications?: boolean; + /** + * Enable Per Request Sql Debugging + * @description Enables a per request sql debugging option. If this is set to true, + * append ?sql_debug=1 to web request URLs to enable detailed logging on + * the backend of SQL queries generated during that request. This is + * useful for debugging slow endpoints during development. + */ + enable_per_request_sql_debugging?: boolean; + /** + * Enable Quotas + * @description Enable enforcement of quotas. Quotas can be set from the Admin interface. + */ + enable_quotas?: boolean; + /** + * Enable Tool Document Cache + * @description Whether to enable the tool document cache. This cache stores + * expanded XML strings. Enabling the tool cache results in slightly faster startup + * times. The tool cache is backed by a SQLite database, which cannot + * be stored on certain network disks. The cache location is configurable + * using the ``tool_cache_data_dir`` setting, but can be disabled completely here. + */ + enable_tool_document_cache?: boolean; + /** + * Enable Tool Recommendations + * @description Allow the display of tool recommendations in workflow editor and after tool execution. + * If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well + */ + enable_tool_recommendations?: boolean; + /** + * Enable Tool Shed Check + * @description Enable automatic polling of relative tool sheds to see if any updates + * are available for installed repositories. Ideally only one Galaxy + * server process should be able to check for repository updates. The + * setting for hours_between_check should be an integer between 1 and 24. + */ + enable_tool_shed_check?: boolean; + /** + * Enable Tool Source Display + * @description This option allows users to view the tool wrapper source code. This is + * safe to enable if you have not hardcoded any secrets in any of the tool + * wrappers installed on this Galaxy server. If you have only installed tool + * wrappers from public tool sheds and tools shipped with Galaxy there you + * can enable this option. + */ + enable_tool_source_display?: boolean; + /** + * Enable Tool Tags + * @description Enable tool tags (associating tools with tags). This has its own option + * since its implementation has a few performance implications on startup for + * large servers. + */ + enable_tool_tags?: boolean; + /** + * Enable Unique Workflow Defaults + * @description Enable a feature when running workflows. When enabled, default datasets + * are selected for "Set at Runtime" inputs from the history such that the + * same input will not be selected twice, unless there are more inputs than + * compatible datasets in the history. + * When false, the most recently added compatible item in the history will + * be used for each "Set at Runtime" input, independent of others in the workflow. + */ + enable_unique_workflow_defaults?: boolean; + /** + * Environment Setup File + * @description File to source to set up the environment when running jobs. By default, the + * environment in which the Galaxy server starts is used when running jobs + * locally, and the environment set up per the DRM's submission method and + * policy is used when running jobs on a cluster (try testing with `qsub` on the + * command line). environment_setup_file can be set to the path of a file on + * the cluster that should be sourced by the user to set up the environment + * prior to running tools. This can be especially useful for running jobs as + * the actual user, to remove the need to configure each user's environment + * individually. + */ + environment_setup_file?: string; + /** + * Error Email To + * @description Datasets in an error state include a link to report the error. Those reports + * will be sent to this address. Error reports are disabled if no address is + * set. Also this email is shown as a contact to user in case of Galaxy + * misconfiguration and other events user may encounter. + */ + error_email_to?: string; + /** + * Error Report File + * @description Path to error reports configuration file. + */ + error_report_file?: string; + /** + * Expired Notifications Cleanup Interval + * @description The interval in seconds between attempts to delete all expired notifications from the database (every 24 hours by default). Runs in a Celery task. + */ + expired_notifications_cleanup_interval?: number; + /** + * Expose Dataset Path + * @description This option allows users to see the full path of datasets via the "View + * Details" option in the history. This option also exposes the command line to + * non-administrative users. Administrators can always see dataset paths. + */ + expose_dataset_path?: boolean; + /** + * Expose Potentially Sensitive Job Metrics + * @description This option allows users to see the job metrics (except for environment + * variables). + */ + expose_potentially_sensitive_job_metrics?: boolean; + /** + * Expose User Email + * @description Expose user list. Setting this to true will expose the user list to + * authenticated users. This makes sharing datasets in smaller galaxy instances + * much easier as they can type a name/email and have the correct user show up. + * This makes less sense on large public Galaxy instances where that data + * shouldn't be exposed. For semi-public Galaxies, it may make sense to expose + * just the username and not email, or vice versa. + * + * If enable_beta_gdpr is set to true, then this option will be + * overridden and set to false. + */ + expose_user_email?: boolean; + /** + * Expose User Name + * @description Expose user list. Setting this to true will expose the user list to + * authenticated users. This makes sharing datasets in smaller galaxy instances + * much easier as they can type a name/email and have the correct user show up. + * This makes less sense on large public Galaxy instances where that data + * shouldn't be exposed. For semi-public Galaxies, it may make sense to expose + * just the username and not email, or vice versa. + * + * If enable_beta_gdpr is set to true, then this option will be + * overridden and set to false. + */ + expose_user_name?: boolean; + /** + * External Chown Script + * @description When running DRMAA jobs as the Galaxy user + * (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) + * this script is used transfer permissions back and forth between the Galaxy user + * and the user that is running the job. + * + * Example value 'sudo -E scripts/external_chown_script.py' + */ + external_chown_script?: string; + /** + * Fetch Url Allowlist + * @description List of allowed local network addresses for "Upload from URL" dialog. + * By default, Galaxy will deny access to the local network address space, to + * prevent users making requests to services which the administrator did not + * intend to expose. Previously, you could request any network service that + * Galaxy might have had access to, even if the user could not normally access it. + * It should be a comma-separated list of IP addresses or IP address/mask, e.g. + * 10.10.10.10,10.0.1.0/24,fd00::/8 + */ + fetch_url_allowlist?: string; + /** + * File Path + * @description Where dataset files are stored. It must be accessible at the same path on any cluster + * nodes that will run Galaxy jobs, unless using Pulsar. The default value has been changed + * from 'files' to 'objects' as of 20.05; however, Galaxy will first check if the 'files' + * directory exists before using 'objects' as the default. + */ + file_path?: string; + /** + * File Sources + * @description FileSource plugins described embedded into Galaxy's config. + */ + file_sources?: Record[]; + /** + * File Sources Config File + * @description Configured FileSource plugins. + */ + file_sources_config_file?: string; + /** + * Fluent Host + * @description Fluentd configuration. Various events can be logged to the fluentd instance + * configured below by enabling fluent_log. + */ + fluent_host?: string; + /** + * Fluent Log + * @description Fluentd configuration. Various events can be logged to the fluentd instance + * configured below by enabling fluent_log. + */ + fluent_log?: boolean; + /** + * Fluent Port + * @description Fluentd configuration. Various events can be logged to the fluentd instance + * configured below by enabling fluent_log. + */ + fluent_port?: number; + /** + * Flush Per N Datasets + * @description Maximum number of datasets to create before flushing created datasets to database. + * This affects tools that create many output datasets. + * Higher values will lead to fewer database flushes and faster execution, but require + * more memory. Set to -1 to disable creating datasets in batches. + */ + flush_per_n_datasets?: number; + /** + * Ftp Upload Dir + * @description This should point to a directory containing subdirectories matching users' + * identifier (defaults to e-mail), where Galaxy will look for files. + */ + ftp_upload_dir?: string; + /** + * Ftp Upload Dir Identifier + * @description User attribute to use as subdirectory in calculating default ftp_upload_dir + * pattern. By default this will be email so a user's FTP upload directory will be + * ${ftp_upload_dir}/${user.email}. Can set this to other attributes such as id or + * username though. + */ + ftp_upload_dir_identifier?: string; + /** + * Ftp Upload Dir Template + * @description Python string template used to determine an FTP upload directory for a + * particular user. + * + * Defaults to '${ftp_upload_dir}/${ftp_upload_dir_identifier}'. + */ + ftp_upload_dir_template?: string; + /** + * Ftp Upload Purge + * @description Set to false to prevent Galaxy from deleting uploaded FTP files + * as it imports them. + */ + ftp_upload_purge?: boolean; + /** + * Ftp Upload Site + * @description Enable Galaxy's "Upload via FTP" interface. You'll need to install and + * configure an FTP server (we've used ProFTPd since it can use Galaxy's + * database for authentication) and set the following two options. + * This will be provided to users in the help text as 'log in to the FTP + * server at '. Thus, it should be the hostname of your FTP server. + */ + ftp_upload_site?: string; + /** + * Ga4Gh Service Environment + * @description Service environment (exposed via the service-info endpoint for the Galaxy DRS API) for + * implemented GA4GH services. + * + * Suggested values are prod, test, dev, staging. + * + * For more information on GA4GH service definitions - check out + * https://github.com/ga4gh-discovery/ga4gh-service-registry + * and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml + */ + ga4gh_service_environment?: string; + /** + * Ga4Gh Service Id + * @description Service ID for GA4GH services (exposed via the service-info endpoint for the Galaxy DRS API). + * If unset, one will be generated using the URL the target API requests are made against. + * + * For more information on GA4GH service definitions - check out + * https://github.com/ga4gh-discovery/ga4gh-service-registry + * and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml + * + * This value should likely reflect your service's URL. For instance for usegalaxy.org + * this value should be org.usegalaxy. Particular Galaxy implementations will treat this + * value as a prefix and append the service type to this ID. For instance for the DRS + * service "id" (available via the DRS API) for the above configuration value would be + * org.usegalaxy.drs. + */ + ga4gh_service_id?: string; + /** + * Ga4Gh Service Organization Name + * @description Service name for host organization (exposed via the service-info endpoint for the Galaxy DRS API). + * If unset, one will be generated using ga4gh_service_id. + * + * For more information on GA4GH service definitions - check out + * https://github.com/ga4gh-discovery/ga4gh-service-registry + * and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml + */ + ga4gh_service_organization_name?: string; + /** + * Ga4Gh Service Organization Url + * @description Organization URL for host organization (exposed via the service-info endpoint for the Galaxy DRS API). + * If unset, one will be generated using the URL the target API requests are made against. + * + * For more information on GA4GH service definitions - check out + * https://github.com/ga4gh-discovery/ga4gh-service-registry + * and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml + */ + ga4gh_service_organization_url?: string; + /** + * Ga Code + * @description You can enter tracking code here to track visitor's behavior + * through your Google Analytics account. Example: UA-XXXXXXXX-Y + */ + ga_code?: string; + /** + * Galaxy Data Manager Data Path + * @description Directory to store Data Manager based tool-data. Defaults to the value of the + * option. + */ + galaxy_data_manager_data_path?: string; + /** + * Galaxy Infrastructure Url + * @description URL (with schema http/https) of the Galaxy instance as accessible + * within your local network. This URL is used as a default by pulsar + * file staging and Interactive Tool containers for communicating back with + * Galaxy via the API. + * + * If you plan to run Interactive Tools make sure the docker container + * can reach this URL. + */ + galaxy_infrastructure_url?: string; + /** + * Galaxy Infrastructure Web Port + * @description If the above URL cannot be determined ahead of time in dynamic environments + * but the port which should be used to access Galaxy can be - this should be + * set to prevent Galaxy from having to guess. For example if Galaxy is sitting + * behind a proxy with REMOTE_USER enabled - infrastructure shouldn't talk to + * Python processes directly and this should be set to 80 or 443, etc... If + * unset this file will be read for a server block defining a port corresponding + * to the webapp. + */ + galaxy_infrastructure_web_port?: number; + /** + * Galaxy Url Prefix + * @description URL prefix for Galaxy application. If Galaxy should be served under a prefix set this to + * the desired prefix value. + */ + galaxy_url_prefix?: string; + /** + * Geographical Server Location Code + * @description The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. + * This is used to make carbon emissions estimates more accurate as the location effects the + * carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the + * `geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, + * visit https://galaxyproject.org/admin/carbon_emissions + */ + geographical_server_location_code?: string; + /** + * Heartbeat Interval + * @description Control the period (in seconds) between dumps. Use -1 to disable. Regardless + * of this setting, if use_heartbeat is enabled, you can send a Galaxy process + * SIGUSR1 (`kill -USR1`) to force a dump. + */ + heartbeat_interval?: number; + /** + * Heartbeat Log + * @description Heartbeat log filename. Can accept the template variables {server_name} and {pid} + */ + heartbeat_log?: string; + /** + * Helpsite Url + * @description The URL linked by the "Galaxy Help" link in the "Help" menu. + * + * @default https://help.galaxyproject.org/ + */ + helpsite_url?: string; + /** + * History Audit Table Prune Interval + * @description Time (in seconds) between attempts to remove old rows from the history_audit database table. + * Set to 0 to disable pruning. + */ + history_audit_table_prune_interval?: number; + /** + * History Local Serial Workflow Scheduling + * @description Force serial scheduling of workflows within the context of a particular history + */ + history_local_serial_workflow_scheduling?: boolean; + /** + * Hours Between Check + * @description Enable automatic polling of relative tool sheds to see if any updates + * are available for installed repositories. Ideally only one Galaxy + * server process should be able to check for repository updates. The + * setting for hours_between_check should be an integer between 1 and 24. + */ + hours_between_check?: number; + /** + * Id Secret + * @description Galaxy encodes various internal values when these values will be output in + * some format (for example, in a URL or cookie). You should set a key to be + * used by the algorithm that encodes and decodes these values. It can be any + * string with a length between 5 and 56 bytes. + * One simple way to generate a value for this is with the shell command: + * python -c 'from __future__ import print_function; import time; print(time.time())' | md5sum | cut -f 1 -d ' ' + */ + id_secret?: string; + /** + * Inactivity Box Content + * @description Shown in warning box to users that were not activated yet. + * In use only if activation_grace_period is set. + */ + inactivity_box_content?: string; + /** + * Install Database Connection + * @description By default, Galaxy will use the same database to track user data and + * tool shed install data. There are many situations in which it is + * valuable to separate these - for instance bootstrapping fresh Galaxy + * instances with pretested installs. The following option can be used to + * separate the tool shed install database (all other options listed above + * but prefixed with ``install_`` are also available). + * + * Defaults to the value of the 'database_connection' option. + */ + install_database_connection?: string; + /** + * Instance Resource Url + * @description URL of the support resource for the galaxy instance. Used in activation + * emails. + * + * Example value 'https://galaxyproject.org/' + */ + instance_resource_url?: string; + /** + * Integrated Tool Panel Config + * @description File that contains the XML section and tool tags from all tool panel config + * files integrated into a single file that defines the tool panel layout. This + * file can be changed by the Galaxy administrator to alter the layout of the + * tool panel. If not present, Galaxy will create it. + * + * The value of this option will be resolved with respect to . + */ + integrated_tool_panel_config?: string; + /** + * Interactivetools Base Path + * @description Base path for interactive tools running at a subpath without a subdomain. Defaults to "/". + */ + interactivetools_base_path?: string; + /** + * Interactivetools Enable + * @description Enable InteractiveTools. + */ + interactivetools_enable?: boolean; + /** + * Interactivetools Map + * @description Map for interactivetool proxy. + */ + interactivetools_map?: string; + /** + * Interactivetools Prefix + * @description Prefix to use in the formation of the subdomain or path for interactive tools + */ + interactivetools_prefix?: string; + /** + * Interactivetools Proxy Host + * @description Hostname and port of Interactive tools proxy. It is assumed to be hosted on the same hostname and port as + * Galaxy by default. + */ + interactivetools_proxy_host?: string; + /** + * Interactivetools Shorten Url + * @description Shorten the uuid portion of the subdomain or path for interactive tools. + * Especially useful for avoiding the need for wildcard certificates by keeping + * subdomain under 63 chars + */ + interactivetools_shorten_url?: boolean; + /** + * Interactivetools Upstream Proxy + * @description Set this to false to redirect users of Interactive tools directly to the Interactive tools proxy. `interactivetools_upstream_proxy` should only be set to false in development. + */ + interactivetools_upstream_proxy?: boolean; + /** + * Involucro Auto Init + * @description Install involucro as needed to build Docker or Singularity containers for tools. Ignored if + * relevant container resolver is not used. + */ + involucro_auto_init?: boolean; + /** + * Involucro Path + * @description involucro is a tool used to build Docker or Singularity containers for tools from Conda + * dependencies referenced in tools as `requirement` s. The following path is + * the location of involucro on the Galaxy host. This is ignored if the relevant + * container resolver isn't enabled, and will install on demand unless + * involucro_auto_init is set to false. + */ + involucro_path?: string; + /** + * Job Config + * @description Description of job running configuration, can be embedded into Galaxy configuration or loaded from an additional file with the job_config_file option. + */ + job_config?: Record; + /** + * Job Config File + * @description To increase performance of job execution and the web interface, you can + * separate Galaxy into multiple processes. There are more than one way to do + * this, and they are explained in detail in the documentation: + * + * https://docs.galaxyproject.org/en/master/admin/scaling.html + * + * By default, Galaxy manages and executes jobs from within a single process and + * notifies itself of new jobs via in-memory queues. Jobs are run locally on + * the system on which Galaxy is started. Advanced job running capabilities can + * be configured through the job configuration file or the option. + */ + job_config_file?: string; + /** + * Job Handler Monitor Sleep + * @description Each Galaxy job handler process runs one thread responsible for discovering jobs and + * dispatching them to runners. This thread operates in a loop and sleeps for the given + * number of seconds at the end of each iteration. This can be decreased if extremely high + * job throughput is necessary, but doing so can increase CPU usage of handler processes. + * Float values are allowed. + */ + job_handler_monitor_sleep?: number; + /** + * Job Metrics Config File + * @description XML config file that contains the job metric collection configuration. + */ + job_metrics_config_file?: string; + /** + * Job Resource Params File + * @description Optional file containing job resource data entry fields definition. + * These fields will be presented to users in the tool forms and allow them to + * overwrite default job resources such as number of processors, memory and + * walltime. + */ + job_resource_params_file?: string; + /** + * Job Runner Monitor Sleep + * @description Each Galaxy job handler process runs one thread per job runner plugin responsible for + * checking the state of queued and running jobs. This thread operates in a loop and + * sleeps for the given number of seconds at the end of each iteration. This can be + * decreased if extremely high job throughput is necessary, but doing so can increase CPU + * usage of handler processes. Float values are allowed. + */ + job_runner_monitor_sleep?: number; + /** + * Job Working Directory + * @description Each job is given a unique empty directory as its current working directory. + * This option defines in what parent directory those directories will be + * created. + * + * The value of this option will be resolved with respect to . + */ + job_working_directory?: string; + /** + * Len File Path + * @description Directory where chrom len files are kept, currently mainly used by trackster. + * + * The value of this option will be resolved with respect to . + */ + len_file_path?: string; + /** + * Library Import Dir + * @description Add an option to the library upload form which allows administrators to + * upload a directory of files. + */ + library_import_dir?: string; + /** + * Local Conda Mapping File + * @description Path to a file that provides a mapping from abstract packages to concrete conda packages. + * See `config/local_conda_mapping.yml.sample` for examples. + */ + local_conda_mapping_file?: string; + /** + * Local Task Queue Workers + * @description This enables splitting of jobs into tasks, if specified by the particular tool + * config. + * This is a new feature and not recommended for production servers yet. + */ + local_task_queue_workers?: number; + /** + * Log Actions + * @description Turn on logging of user actions to the database. Actions currently logged + * are grid views, tool searches, and use of "recently" used tools menu. The + * log_events and log_actions functionality will eventually be merged. + */ + log_actions?: boolean; + /** + * Log Destination + * @description Log destination, defaults to special value "stdout" that logs to standard output. If set to anything else, + * then it will be interpreted as a path that will be used as the log file, and logging to stdout will be + * disabled. + */ + log_destination?: string; + /** + * Log Events + * @description Turn on logging of application events and some user events to the database. + */ + log_events?: boolean; + /** + * Log Level + * @description Verbosity of console log messages. Acceptable values can be found here: + * https://docs.python.org/library/logging.html#logging-levels + * A custom debug level of "TRACE" is available for even more verbosity. + */ + log_level?: string; + /** + * Log Rotate Count + * @description Number of log file backups to keep, per the documentation in + * https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler + * Any additional rotated log files will automatically be pruned. If log_rotate_size is not also set, no log + * rotation will be performed. A value of 0 (the default) means no rotation. + */ + log_rotate_count?: number; + /** + * Log Rotate Size + * @description Size of log file at which size it will be rotated as per the documentation in + * https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler + * If log_rotate_count is not also set, no log rotation will be performed. A value of 0 (the default) means no + * rotation. Size can be a number of bytes or a human-friendly representation like "100 MB" or "1G". + */ + log_rotate_size?: string; + /** + * Logging + * @description Controls where and how the server logs messages. If set, overrides all settings in the log_* configuration + * options. Configuration is described in the documentation at: + * https://docs.galaxyproject.org/en/master/admin/config_logging.html + */ + logging?: Record; + /** + * Logo Src + * @description The brand image source. + */ + logo_src?: string; + /** + * Logo Src Secondary + * @description The custom brand image source. + */ + logo_src_secondary?: string; + /** + * Logo Url + * @description The URL linked by the "Galaxy/brand" text. + */ + logo_url?: string; + /** + * Mailing Join Addr + * @description On the user registration form, users may choose to join a mailing list. This + * is the address used to subscribe to the list. Uncomment and leave empty if you + * want to remove this option from the user registration form. + * + * Example value 'galaxy-announce-join@lists.galaxyproject.org' + */ + mailing_join_addr?: string; + /** + * Mailing Join Body + * @description The body of the email sent to the mailing list join address. See the + * `mailing_join_addr` option for more information. + */ + mailing_join_body?: string; + /** + * Mailing Join Subject + * @description The subject of the email sent to the mailing list join address. See the + * `mailing_join_addr` option for more information. + */ + mailing_join_subject?: string; + /** + * Managed Config Dir + * @description The directory that will be prepended to relative paths in options specifying + * config files controlled by Galaxy (such as shed_tool_config_file, etc.). Must be + * writable by the user running Galaxy. Defaults to `/` if running + * Galaxy from source or `/config` otherwise. + */ + managed_config_dir?: string; + /** + * Markdown Export Css + * @description CSS file to apply to all Markdown exports to PDF - currently used by + * WeasyPrint during rendering an HTML export of the document to PDF. + */ + markdown_export_css?: string; + /** + * Markdown Export Css Invocation Reports + * @description CSS file to apply to invocation report exports to PDF. Generally prefer + * markdown_export_css, but this is here for deployments that + * would like to tailor different kinds of exports. + */ + markdown_export_css_invocation_reports?: string; + /** + * Markdown Export Css Pages + * @description CSS file to apply to "Galaxy Page" exports to PDF. Generally prefer + * markdown_export_css, but this is here for deployments that + * would like to tailor different kinds of exports. + */ + markdown_export_css_pages?: string; + /** + * Markdown Export Epilogue + * @description Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing + * branded footers. + */ + markdown_export_epilogue?: string; + /** + * Markdown Export Epilogue Invocation Reports + * @description Alternative to markdown_export_epilogue that applies just to invocation report + * exports. + */ + markdown_export_epilogue_invocation_reports?: string; + /** + * Markdown Export Epilogue Pages + * @description Alternative to markdown_export_epilogue that applies just to page exports. + */ + markdown_export_epilogue_pages?: string; + /** + * Markdown Export Prologue + * @description Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing + * branded headers. + */ + markdown_export_prologue?: string; + /** + * Markdown Export Prologue Invocation Reports + * @description Alternative to markdown_export_prologue that applies just to invocation report + * exports. + */ + markdown_export_prologue_invocation_reports?: string; + /** + * Markdown Export Prologue Pages + * @description Alternative to markdown_export_prologue that applies just to page exports. + */ + markdown_export_prologue_pages?: string; + /** + * Matomo Server + * @description Please enter the URL for the Matomo server (including https) so this can be used for tracking + * with Matomo (https://matomo.org/). + */ + matomo_server?: string; + /** + * Matomo Site Id + * @description Please enter the site ID for the Matomo server so this can be used for tracking + * with Matomo (https://matomo.org/). + */ + matomo_site_id?: string; + /** + * Max Discovered Files + * @description Set this to a positive integer value to limit the number of datasets that can be discovered by + * a single job. This prevents accidentally creating large numbers of datasets when running tools + * that create a potentially unlimited number of output datasets, such as tools that split a file + * into a collection of datasets for each line in an input dataset. + */ + max_discovered_files?: number; + /** + * Max Metadata Value Size + * @description Very large metadata values can cause Galaxy crashes. This will allow + * limiting the maximum metadata key size (in bytes used in memory, not the end + * result database value size) Galaxy will attempt to save with a dataset. Use + * 0 to disable this feature. The default is 5MB, but as low as 1MB seems to be + * a reasonable size. + */ + max_metadata_value_size?: number; + /** + * Maximum Upload File Size + * @description Maximum size of uploadable files, specified in bytes (default: 100GB). + * This value is ignored if an external upload server is configured. + */ + maximum_upload_file_size?: number; + /** + * Maximum Workflow Invocation Duration + * @description This is the maximum amount of time a workflow invocation may stay in an active + * scheduling state in seconds. Set to -1 to disable this maximum and allow any workflow + * invocation to schedule indefinitely. The default corresponds to 1 month. + */ + maximum_workflow_invocation_duration?: number; + /** + * Maximum Workflow Jobs Per Scheduling Iteration + * @description Specify a maximum number of jobs that any given workflow scheduling iteration can create. + * Set this to a positive integer to prevent large collection jobs in a workflow from + * preventing other jobs from executing. This may also mitigate memory issues associated with + * scheduling workflows at the expense of increased total DB traffic because model objects + * are expunged from the SQL alchemy session between workflow invocation scheduling iterations. + * Set to -1 to disable any such maximum. + */ + maximum_workflow_jobs_per_scheduling_iteration?: number; + /** + * Message Box Class + * @description Class of the message box under the masthead. Possible values are: + * 'info' (the default), 'warning', 'error', 'done'. + */ + message_box_class?: string; + /** + * Message Box Content + * @description Show a message box under the masthead. + */ + message_box_content?: string; + /** + * Message Box Visible + * @description Show a message box under the masthead. + */ + message_box_visible?: boolean; + /** + * Metadata Strategy + * @description Determines how metadata will be set. Valid values are `directory`, `extended`, + * `directory_celery` and `extended_celery`. + * In extended mode jobs will decide if a tool run failed, the object stores + * configuration is serialized and made available to the job and is used for + * writing output datasets to the object store as part of the job and dynamic + * output discovery (e.g. discovered datasets , unpopulated collections, + * etc) happens as part of the job. In `directory_celery` and `extended_celery` metadata + * will be set within a celery task. + */ + metadata_strategy?: string; + /** + * Migrated Tools Config + * @description This option is deprecated. + * In previous releases this file was maintained by tool migration scripts that are no + * longer part of the code base. The option remains as a placeholder for deployments where + * these scripts were previously run and such a file exists. + */ + migrated_tools_config?: string; + /** + * Modules Mapping Files + * @description Path to a file that provides a mapping from abstract packages to locally installed modules. + * See `config/environment_modules_mapping.yml.sample` for examples. + */ + modules_mapping_files?: string; + /** + * Monitor Thread Join Timeout + * @description When stopping Galaxy cleanly, how much time to give various monitoring/polling + * threads to finish before giving up on joining them. Set to 0 to disable this and + * terminate without waiting. Among others, these threads include the job handler + * workers, which are responsible for preparing/submitting and collecting/finishing + * jobs, and which can cause job errors if not shut down cleanly. If using + * supervisord, consider also increasing the value of `stopwaitsecs`. See the + * Galaxy Admin Documentation for more. + */ + monitor_thread_join_timeout?: number; + /** + * Mulled Channels + * @description Conda channels to use when building Docker or Singularity containers using involucro. + */ + mulled_channels?: string; + /** + * Mulled Resolution Cache Data Dir + * @description Data directory used by beaker for caching mulled resolution requests. + */ + mulled_resolution_cache_data_dir?: string; + /** + * Mulled Resolution Cache Expire + * @description Seconds until the beaker cache is considered old and a new value is created. + */ + mulled_resolution_cache_expire?: number; + /** + * Mulled Resolution Cache Lock Dir + * @description Lock directory used by beaker for caching mulled resolution requests. + */ + mulled_resolution_cache_lock_dir?: string; + /** + * Mulled Resolution Cache Schema Name + * @description When mulled_resolution_cache_type = ext:database, this is + * the database schema name of the table used by beaker for + * caching mulled resolution requests. + */ + mulled_resolution_cache_schema_name?: string; + /** + * Mulled Resolution Cache Table Name + * @description When mulled_resolution_cache_type = ext:database, this is + * the database table name used by beaker for + * caching mulled resolution requests. + */ + mulled_resolution_cache_table_name?: string; + /** + * Mulled Resolution Cache Type + * @description Mulled resolution caching. Mulled resolution uses external APIs of quay.io, these + * requests are caching using this and the following parameters + */ + mulled_resolution_cache_type?: string; + /** + * Mulled Resolution Cache Url + * @description When mulled_resolution_cache_type = ext:database, this is + * the url of the database used by beaker for caching mulled resolution + * requests. The application config code will set it to the + * value of database_connection if this is not set. + */ + mulled_resolution_cache_url?: string; + /** + * New File Path + * @description Where temporary files are stored. It must be accessible at the same path on any cluster + * nodes that will run Galaxy jobs, unless using Pulsar. + */ + new_file_path?: string; + /** + * New User Dataset Access Role Default Private + * @description By default, users' data will be public, but setting this to true will cause + * it to be private. Does not affect existing users and data, only ones created + * after this option is set. Users may still change their default back to + * public. + */ + new_user_dataset_access_role_default_private?: boolean; + /** + * Nginx Upload Job Files Path + * @description Galaxy can also use nginx_upload_module to receive files staged out upon job + * completion by remote job runners (i.e. Pulsar) that initiate staging + * operations on the remote end. See the Galaxy nginx documentation for the + * corresponding nginx configuration. + */ + nginx_upload_job_files_path?: string; + /** + * Nginx Upload Job Files Store + * @description Galaxy can also use nginx_upload_module to receive files staged out upon job + * completion by remote job runners (i.e. Pulsar) that initiate staging + * operations on the remote end. See the Galaxy nginx documentation for the + * corresponding nginx configuration. + */ + nginx_upload_job_files_store?: string; + /** + * Nginx Upload Path + * @description This value overrides the action set on the file upload form, e.g. the web + * path where the nginx_upload_module has been configured to intercept upload + * requests. + */ + nginx_upload_path?: string; + /** + * Nginx Upload Store + * @description nginx can also handle file uploads (user-to-Galaxy) via nginx_upload_module. + * Configuration for this is complex and explained in detail in the + * documentation linked above. The upload store is a temporary directory in + * which files uploaded by the upload module will be placed. + */ + nginx_upload_store?: string; + /** + * Nginx X Accel Redirect Base + * @description The same download handling can be done by nginx using X-Accel-Redirect. This + * should be set to the path defined in the nginx config as an internal redirect + * with access to Galaxy's data files (see documentation linked above). + */ + nginx_x_accel_redirect_base?: string; + /** + * Normalize Remote User Email + * @description If your proxy and/or authentication source does not normalize e-mail + * addresses or user names being passed to Galaxy - set this option + * to true to force these to lower case. + */ + normalize_remote_user_email?: boolean; + /** + * Object Store Cache Monitor Driver + * @description Specify where cache monitoring is driven for caching object stores + * such as S3, Azure, and iRODS. This option has no affect on disk object stores. + * For production instances, the cache should be monitored by external tools such + * as tmpwatch and this value should be set to 'external'. This will disable all + * cache monitoring in Galaxy. Alternatively, 'celery' can monitor caches using + * a periodic task or an 'inprocess' thread can be used - but this last option + * seriously limits Galaxy's ability to scale. The default of 'auto' will use + * 'celery' if 'enable_celery_tasks' is set to true or 'inprocess' otherwise. + * This option serves as the default for all object stores and can be overridden + * on a per object store basis (but don't - just setup tmpwatch for all relevant + * cache paths). + */ + object_store_cache_monitor_driver?: string; + /** + * Object Store Cache Monitor Interval + * @description For object store cache monitoring done by Galaxy, this is the interval between + * cache checking steps. This is used by both inprocess cache monitors (which we + * recommend you do not use) and by the celery task if it is configured (by setting + * enable_celery_tasks to true and not setting object_store_cache_monitor_driver to + * external). + */ + object_store_cache_monitor_interval?: number; + /** + * Object Store Cache Path + * @description Default cache path for caching object stores if cache not configured for + * that object store entry. + */ + object_store_cache_path?: string; + /** + * Object Store Cache Size + * @description Default cache size for caching object stores if cache not configured for + * that object store entry. + */ + object_store_cache_size?: number; + /** + * Object Store Config File + * @description Configuration file for the object store + * If this is set and exists, it overrides any other objectstore settings. + */ + object_store_config_file?: string; + /** + * Object Store Store By + * @description What Dataset attribute is used to reference files in an ObjectStore implementation, + * this can be 'uuid' or 'id'. The default will depend on how the object store is configured, + * starting with 20.05 Galaxy will try to default to 'uuid' if it can be sure this + * is a new Galaxy instance - but the default will be 'id' in many cases. In particular, + * if the name of the directory set in is `objects`, the default will be set + * to 'uuid', otherwise it will be 'id'. + */ + object_store_store_by?: string; + /** + * Oidc Backends Config File + * @description Sets the path to OIDC backends configuration file. + */ + oidc_backends_config_file?: string; + /** + * Oidc Config File + * @description Sets the path to OIDC configuration file. + */ + oidc_config_file?: string; + /** + * Outputs To Working Directory + * @description This option will override tool output paths to write outputs to the job + * working directory (instead of to the file_path) and the job manager will move + * the outputs to their proper place in the dataset directory on the Galaxy + * server after the job completes. This is necessary (for example) if jobs run + * on a cluster and datasets can not be created by the user running the jobs (e.g. + * if the filesystem is mounted read-only or the jobs are run by a different + * user than the galaxy user). + */ + outputs_to_working_directory?: boolean; + /** + * Overwrite Model Recommendations + * @description Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model + * are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools + * by admins and predicted by the deep learning model are shown. + */ + overwrite_model_recommendations?: boolean; + /** + * Panel Views + * @description Definitions of static toolbox panel views embedded directly in the config instead of reading + * YAML from directory with panel_views_dir. + */ + panel_views?: Record[]; + /** + * Panel Views Dir + * @description Directory to check out for toolbox tool panel views. The path is relative to the + * Galaxy root dir. To use an absolute path begin the path with '/'. This is a + * comma-separated list. + */ + panel_views_dir?: string; + /** + * Parallelize Workflow Scheduling Within Histories + * @description If multiple job handlers are enabled, allow Galaxy to schedule workflow invocations + * in multiple handlers simultaneously. This is discouraged because it results in a + * less predictable order of workflow datasets within in histories. + */ + parallelize_workflow_scheduling_within_histories?: boolean; + /** + * Password Expiration Period + * @description Password expiration period (in days). Users are required to change their + * password every x days. Users will be redirected to the change password + * screen when they log in after their password expires. Enter 0 to disable + * password expiration. + */ + password_expiration_period?: number; + /** + * Plausible Domain + * @description Please enter the URL for the Galaxy server so this can be used for tracking + * with Plausible (https://plausible.io/). + */ + plausible_domain?: string; + /** + * Plausible Server + * @description Please enter the URL for the Plausible server (including https) so this can be used for tracking + * with Plausible (https://plausible.io/). + */ + plausible_server?: string; + /** + * Post User Logout Href + * @description This is the default url to which users are redirected after they log out. + */ + post_user_logout_href?: string; + /** + * Power Usage Effectiveness + * @description The estimated power usage effectiveness of the data centre housing the server your galaxy + * instance is running on. This can make carbon emissions estimates more accurate. + * For more information on how to calculate a PUE value, visit + * https://en.wikipedia.org/wiki/Power_usage_effectiveness + */ + power_usage_effectiveness?: number; + /** + * Precache Dependencies + * @description By default, when using a cached dependency manager, the dependencies are cached + * when installing new tools and when using tools for the first time. + * Set this to false if you prefer dependencies to be cached only when installing new tools. + */ + precache_dependencies?: boolean; + /** + * Prefer Custos Login + * @description Controls the order of the login page to prefer Custos-based login and registration. + */ + prefer_custos_login?: boolean; + /** + * Preserve Python Environment + * @description In the past Galaxy would preserve its Python environment when running jobs ( + * and still does for internal tools packaged with Galaxy). This behavior exposes + * Galaxy internals to tools and could result in problems when activating + * Python environments for tools (such as with Conda packaging). The default + * legacy_only will restrict this behavior to tools identified by the Galaxy + * team as requiring this environment. Set this to "always" to restore the + * previous behavior (and potentially break Conda dependency resolution for many + * tools). Set this to legacy_and_local to preserve the environment for legacy + * tools and locally managed tools (this might be useful for instance if you are + * installing software into Galaxy's virtualenv for tool development). + */ + preserve_python_environment?: string; + /** + * Pretty Datetime Format + * @description Format string used when showing date and time information. + * The string may contain: + * - the directives used by Python time.strftime() function (see + * https://docs.python.org/library/time.html#time.strftime), + * - $locale (complete format string for the server locale), + * - $iso8601 (complete format string as specified by ISO 8601 international + * standard). + */ + pretty_datetime_format?: string; + /** + * Quota Url + * @description The URL linked for quota information in the UI. + */ + quota_url?: string; + /** + * Real System Username + * @description When running DRMAA jobs as the Galaxy user + * (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) + * Galaxy can extract the user name from the email address (actually the local-part before the @) + * or the username which are both stored in the Galaxy data base. + * The latter option is particularly useful for installations that get the + * authentication from LDAP. + * Also, Galaxy can accept the name of a common system user (eg. galaxy_worker) + * who can run every job being submitted. This user should not be the same user + * running the galaxy system. + * Possible values are user_email (default), username or + */ + real_system_username?: string; + /** + * Refgenie Config File + * @description File containing refgenie configuration, e.g. /path/to/genome_config.yaml. Can be used by refgenie backed tool data tables. + */ + refgenie_config_file?: string; + /** + * Registration Warning Message + * @description Registration warning message is used to discourage people from registering + * multiple accounts. Applies mostly for the main Galaxy instance. + * If no message specified the warning box will not be shown. + */ + registration_warning_message?: string; + /** + * Release Doc Base Url + * @description The URL linked by the "Galaxy Version" link in the "Help" menu. + */ + release_doc_base_url?: string; + /** + * Remote User Header + * @description If use_remote_user is enabled, the header that the upstream proxy provides + * the remote username in defaults to HTTP_REMOTE_USER (the ``HTTP_`` is prepended + * by WSGI). This option allows you to change the header. Note, you still need + * to prepend ``HTTP_`` to the header in this option, but your proxy server should + * *not* include ``HTTP_`` at the beginning of the header name. + */ + remote_user_header?: string; + /** + * Remote User Logout Href + * @description If use_remote_user is enabled, you can set this to a URL that will log your + * users out. + */ + remote_user_logout_href?: string; + /** + * Remote User Maildomain + * @description If use_remote_user is enabled and your external authentication + * method just returns bare usernames, set a default mail domain to be appended + * to usernames, to become your Galaxy usernames (email addresses). + */ + remote_user_maildomain?: string; + /** + * Remote User Secret + * @description If use_remote_user is enabled, anyone who can log in to the Galaxy host may + * impersonate any other user by simply sending the appropriate header. Thus a + * secret shared between the upstream proxy server, and Galaxy is required. + * If anyone other than the Galaxy user is using the server, then apache/nginx + * should pass a value in the header 'GX_SECRET' that is identical to the one + * below. + */ + remote_user_secret?: string; + /** + * Require Login + * @description Force everyone to log in (disable anonymous access). + */ + require_login?: boolean; + /** + * Retry Interactivetool Metadata Internally + * @description Galaxy Interactive Tools (GxITs) can be stopped from within the Galaxy + * interface, killing the GxIT job without completing its metadata setting post-job + * steps. In such a case it may be desirable to set metadata on job outputs + * internally (in the Galaxy job handler process). The default is is the value of + * `retry_metadata_internally`, which defaults to `true`. + */ + retry_interactivetool_metadata_internally?: boolean; + /** + * Retry Job Output Collection + * @description If your network filesystem's caching prevents the Galaxy server from seeing + * the job's stdout and stderr files when it completes, you can retry reading + * these files. The job runner will retry the number of times specified below, + * waiting 1 second between tries. For NFS, you may want to try the -noac mount + * option (Linux) or -actimeo=0 (Solaris). + */ + retry_job_output_collection?: number; + /** + * Retry Metadata Internally + * @description Although it is fairly reliable, setting metadata can occasionally fail. In + * these instances, you can choose to retry setting it internally or leave it in + * a failed state (since retrying internally may cause the Galaxy process to be + * unresponsive). If this option is set to false, the user will be given the + * option to retry externally, or set metadata manually (when possible). + */ + retry_metadata_internally?: boolean; + /** + * Sanitize All Html + * @description Sanitize all HTML tool output. By default, all tool output served as + * 'text/html' will be sanitized thoroughly. This can be disabled if you have + * special tools that require unaltered output. WARNING: disabling this does + * make the Galaxy instance susceptible to XSS attacks initiated by your users. + */ + sanitize_all_html?: boolean; + /** + * Sanitize Allowlist File + * @description Datasets created by tools listed in this file are trusted and will not have + * their HTML sanitized on display. This can be manually edited or manipulated + * through the Admin control panel -- see "Manage Allowlist" + * + * The value of this option will be resolved with respect to . + */ + sanitize_allowlist_file?: string; + /** + * Screencasts Url + * @description The URL linked by the "Videos" link in the "Help" menu. + */ + screencasts_url?: string; + /** + * Select Type Workflow Threshold + * @description Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) + * Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. + * use 0 in order to always use select2 fields, + * use -1 (default) in order to always use the regular select fields, + * use any other positive number as threshold (above threshold: regular select fields will be used) + */ + select_type_workflow_threshold?: number; + /** + * Sentry Ca Certs + * @description Use this option to provide the path to location of the CA (Certificate Authority) + * certificate file if the sentry server uses a self-signed certificate. + */ + sentry_ca_certs?: string; + /** + * Sentry Dsn + * @description Log to Sentry + * Sentry is an open source logging and error aggregation platform. Setting + * sentry_dsn will enable the Sentry middleware and errors will be sent to the + * indicated sentry instance. This connection string is available in your + * sentry instance under -> Settings -> API Keys. + */ + sentry_dsn?: string; + /** + * Sentry Event Level + * @description Determines the minimum log level that will be sent as an event to Sentry. + * Possible values are DEBUG, INFO, WARNING, ERROR or CRITICAL. + */ + sentry_event_level?: string; + /** + * Sentry Traces Sample Rate + * @description Set to a number between 0 and 1. With this option set, every transaction created + * will have that percentage chance of being sent to Sentry. A value higher than 0 + * is required to analyze performance. + */ + sentry_traces_sample_rate?: number; + /** + * Serve Xss Vulnerable Mimetypes + * @description By default Galaxy will serve non-HTML tool output that may potentially + * contain browser executable JavaScript content as plain text. This will for + * instance cause SVG datasets to not render properly and so may be disabled + * by setting this option to true. + */ + serve_xss_vulnerable_mimetypes?: boolean; + /** + * Session Duration + * @description Galaxy Session Timeout + * This provides a timeout (in minutes) after which a user will have to log back in. + * A duration of 0 disables this feature. + */ + session_duration?: number; + /** + * Shed Data Manager Config File + * @description File where Tool Shed based Data Managers are configured. This file will be created + * automatically upon data manager installation. + */ + shed_data_manager_config_file?: string; + /** + * Shed Tool Config File + * @description Tool config file for tools installed from the Galaxy Tool Shed. Must + * be writable by Galaxy and generally should not be edited by hand. In + * older Galaxy releases, this file was part of the tool_config_file + * option. It is still possible to specify this file (and other + * shed-enabled tool config files) in tool_config_file, but in the + * standard case of a single shed-enabled tool config, this option is + * preferable. This file will be created automatically upon tool + * installation, whereas Galaxy will fail to start if any files in + * tool_config_file cannot be read. + */ + shed_tool_config_file?: string; + /** + * Shed Tool Data Path + * @description Directory where Tool Data Table related files will be placed when installed from a + * ToolShed. Defaults to the value of the 'tool_data_path' option. + */ + shed_tool_data_path?: string; + /** + * Shed Tool Data Table Config + * @description XML config file that contains additional data table entries for the + * ToolDataTableManager. This file is automatically generated based on the + * current installed tool shed repositories that contain valid + * tool_data_table_conf.xml.sample files. At the time of installation, these + * entries are automatically added to the following file, which is parsed and + * applied to the ToolDataTableManager at server start up. + */ + shed_tool_data_table_config?: string; + /** + * Short Term Storage Cleanup Interval + * @description How many seconds between instances of short term storage being cleaned up in default + * Celery task configuration. + */ + short_term_storage_cleanup_interval?: number; + /** + * Short Term Storage Default Duration + * @description Default duration before short term web storage files will be cleaned up by Galaxy + * tasks (in seconds). The default duration is 1 day. + */ + short_term_storage_default_duration?: number; + /** + * Short Term Storage Dir + * @description Location of files available for a short time as downloads (short term storage). + * This directory is exclusively used for serving dynamically generated downloadable + * content. Galaxy may uses the new_file_path parameter as a general temporary directory + * and that directory should be monitored by a tool such as tmpwatch in production + * environments. short_term_storage_dir on the other hand is monitored by Galaxy's task + * framework and should not require such external tooling. + */ + short_term_storage_dir?: string; + /** + * Short Term Storage Maximum Duration + * @description The maximum duration short term storage files can hosted before they will be marked for + * clean up. The default setting of 0 indicates no limit here. + */ + short_term_storage_maximum_duration?: number; + /** + * Show User Prepopulate Form + * @description When using LDAP for authentication, allow administrators to pre-populate users + * using an additional form on 'Create new user' + */ + show_user_prepopulate_form?: boolean; + /** + * Show Welcome With Login + * @description Show the site's welcome page (see welcome_url) alongside the login page + * (even if require_login is true). + */ + show_welcome_with_login?: boolean; + /** + * Simplified Workflow Run Ui + * @description If set to 'off' by default, always use the traditional workflow form that renders + * all steps in the GUI and serializes the tool state of all steps during + * invocation. Set to 'prefer' to default to a simplified workflow UI that + * only renders the inputs if possible (the workflow must have no disconnected + * runtime inputs and not replacement parameters within tool steps). In the + * future 'force' may be added an option for Galaskio-style servers that should + * only render simplified workflows. + */ + simplified_workflow_run_ui?: string; + /** + * Simplified Workflow Run Ui Job Cache + * @description When the simplified workflow run form is rendered, should the invocation use job + * caching. This isn't a boolean so an option for 'show-selection' can be added later. + */ + simplified_workflow_run_ui_job_cache?: string; + /** + * Simplified Workflow Run Ui Target History + * @description When the simplified workflow run form is rendered, should the invocation outputs + * be sent to the 'current' history or a 'new' history. If the user should be presented + * and option between these - set this to 'prefer_current' or 'prefer_new' to display + * a runtime setting with the corresponding default. The default is to provide the + * user this option and default it to the current history (the traditional behavior + * of Galaxy for years) - this corresponds to the setting 'prefer_current'. + */ + simplified_workflow_run_ui_target_history?: string; + /** + * Single User + * @description If an e-mail address is specified here, it will hijack remote user mechanics + * (``use_remote_user``) and have the webapp inject a single fixed user. This + * has the effect of turning Galaxy into a single user application with no + * login or external proxy required. Such applications should not be exposed to + * the world. + */ + single_user?: string; + /** + * Slow Query Log Threshold + * @description Slow query logging. Queries slower than the threshold indicated below will + * be logged to debug. A value of '0' is disabled. For example, you would set + * this to .005 to log all queries taking longer than 5 milliseconds. + */ + slow_query_log_threshold?: number; + /** + * Smtp Password + * @description If your SMTP server requires a username and password, you can provide them + * here (password in cleartext here, but if your server supports STARTTLS it + * will be sent over the network encrypted). + */ + smtp_password?: string; + /** + * Smtp Server + * @description Galaxy sends mail for various things: subscribing users to the mailing list + * if they request it, password resets, reporting dataset errors, and sending + * activation emails. To do this, it needs to send mail through an SMTP server, + * which you may define here (host:port). + * Galaxy will automatically try STARTTLS but will continue upon failure. + */ + smtp_server?: string; + /** + * Smtp Ssl + * @description If your SMTP server requires SSL from the beginning of the connection + */ + smtp_ssl?: boolean; + /** + * Smtp Username + * @description If your SMTP server requires a username and password, you can provide them + * here (password in cleartext here, but if your server supports STARTTLS it + * will be sent over the network encrypted). + */ + smtp_username?: string; + /** + * Sniff Compressed Dynamic Datatypes Default + * @description Enable sniffing of compressed datatypes. This can be configured/overridden + * on a per-datatype basis in the datatypes_conf.xml file. + * With this option set to false the compressed datatypes will be unpacked + * before sniffing. + */ + sniff_compressed_dynamic_datatypes_default?: boolean; + /** + * Static Cache Time + * @description Serve static content, which must be enabled if you're not serving it via a + * proxy server. These options should be self explanatory and so are not + * documented individually. You can use these paths (or ones in the proxy + * server) to point to your own styles. + */ + static_cache_time?: number; + /** + * Static Dir + * @description Serve static content, which must be enabled if you're not serving it via a + * proxy server. These options should be self explanatory and so are not + * documented individually. You can use these paths (or ones in the proxy + * server) to point to your own styles. + */ + static_dir?: string; + /** + * Static Enabled + * @description Serve static content, which must be enabled if you're not serving it via a + * proxy server. These options should be self explanatory and so are not + * documented individually. You can use these paths (or ones in the proxy + * server) to point to your own styles. + */ + static_enabled?: boolean; + /** + * Static Favicon Dir + * @description Serve static content, which must be enabled if you're not serving it via a + * proxy server. These options should be self explanatory and so are not + * documented individually. You can use these paths (or ones in the proxy + * server) to point to your own styles. + */ + static_favicon_dir?: string; + /** + * Static Images Dir + * @description Serve static content, which must be enabled if you're not serving it via a + * proxy server. These options should be self explanatory and so are not + * documented individually. You can use these paths (or ones in the proxy + * server) to point to your own styles. + */ + static_images_dir?: string; + /** + * Static Robots Txt + * @description Serve static content, which must be enabled if you're not serving it via a + * proxy server. These options should be self explanatory and so are not + * documented individually. You can use these paths (or ones in the proxy + * server) to point to your own styles. + */ + static_robots_txt?: string; + /** + * Static Scripts Dir + * @description Serve static content, which must be enabled if you're not serving it via a + * proxy server. These options should be self explanatory and so are not + * documented individually. You can use these paths (or ones in the proxy + * server) to point to your own styles. + */ + static_scripts_dir?: string; + /** + * Static Style Dir + * @description Serve static content, which must be enabled if you're not serving it via a + * proxy server. These options should be self explanatory and so are not + * documented individually. You can use these paths (or ones in the proxy + * server) to point to your own styles. + */ + static_style_dir?: string; + /** + * Statsd Host + * @description Log to statsd + * Statsd is an external statistics aggregator (https://github.com/etsy/statsd) + * Enabling the following options will cause galaxy to log request timing and + * other statistics to the configured statsd instance. The statsd_prefix is + * useful if you are running multiple Galaxy instances and want to segment + * statistics between them within the same aggregator. + */ + statsd_host?: string; + /** + * Statsd Influxdb + * @description If you are using telegraf to collect these metrics and then sending + * them to InfluxDB, Galaxy can provide more nicely tagged metrics. + * Instead of sending prefix + dot-separated-path, Galaxy will send + * prefix with a tag path set to the page url + */ + statsd_influxdb?: boolean; + /** + * Statsd Mock Calls + * @description Mock out statsd client calls - only used by testing infrastructure really. + * Do not set this in production environments. + */ + statsd_mock_calls?: boolean; + /** + * Statsd Port + * @description Log to statsd + * Statsd is an external statistics aggregator (https://github.com/etsy/statsd) + * Enabling the following options will cause galaxy to log request timing and + * other statistics to the configured statsd instance. The statsd_prefix is + * useful if you are running multiple Galaxy instances and want to segment + * statistics between them within the same aggregator. + */ + statsd_port?: number; + /** + * Statsd Prefix + * @description Log to statsd + * Statsd is an external statistics aggregator (https://github.com/etsy/statsd) + * Enabling the following options will cause galaxy to log request timing and + * other statistics to the configured statsd instance. The statsd_prefix is + * useful if you are running multiple Galaxy instances and want to segment + * statistics between them within the same aggregator. + */ + statsd_prefix?: string; + /** + * Support Url + * @description The URL linked by the "Support" link in the "Help" menu. + */ + support_url?: string; + /** + * Template Cache Path + * @description Mako templates are compiled as needed and cached for reuse, this directory is + * used for the cache + */ + template_cache_path?: string; + /** + * Templates Dir + * @description The directory containing custom templates for Galaxy, such as HTML/text email templates. Defaults to 'templates'. Default templates can be found in the Galaxy root under config/templates. These can be copied to if you wish to customize them. + */ + templates_dir?: string; + /** + * Terms Url + * @description The URL linked by the "Terms and Conditions" link in the "Help" menu, as well + * as on the user registration and login forms and in the activation emails. + */ + terms_url?: string; + /** + * Themes Config File + * @description Optional file containing one or more themes for galaxy. If several themes + * are defined, users can choose their preferred theme in the client. + */ + themes_config_file?: string; + /** + * Tool Cache Data Dir + * @description Tool related caching. Fully expanded tools and metadata will be stored at this path. + * Per tool_conf cache locations can be configured in (``shed_``)tool_conf.xml files using + * the tool_cache_data_dir attribute. + */ + tool_cache_data_dir?: string; + /** + * Tool Config File + * @description Tool config files, defines what tools are available in Galaxy. + * Tools can be locally developed or installed from Galaxy tool sheds. + * (config/tool_conf.xml.sample will be used if left unset and + * config/tool_conf.xml does not exist). Can be a single file, a list of + * files, or (for backwards compatibility) a comma-separated list of files. + */ + tool_config_file?: Record; + /** + * Tool Data Path + * @description Directory where data used by tools is located. See the samples in that + * directory and the Galaxy Community Hub for help: + * https://galaxyproject.org/admin/data-integration + */ + tool_data_path?: string; + /** + * Tool Data Table Config Path + * @description XML config file that contains data table entries for the + * ToolDataTableManager. This file is manually # maintained by the Galaxy + * administrator (.sample used if default does not exist). + */ + tool_data_table_config_path?: string; + /** + * Tool Dependency Cache Dir + * @description By default the tool_dependency_cache_dir is the _cache directory + * of the tool dependency directory. + * + * Sample default '/_cache' + */ + tool_dependency_cache_dir?: string; + /** + * Tool Dependency Dir + * @description Various dependency resolver configuration parameters will have defaults set relative + * to this path, such as the default conda prefix, default Galaxy packages path, legacy + * tool shed dependencies path, and the dependency cache directory. + * + * Set the string to null to explicitly disable tool dependency handling. + * If this option is set to none or an invalid path, installing tools with dependencies + * from the Tool Shed or in Conda will fail. + */ + tool_dependency_dir?: string; + /** + * Tool Description Boost + * @description In tool search, a query match against a tool's description text will + * receive this score multiplier. + */ + tool_description_boost?: number; + /** + * Tool Destinations Config File + * @description Path to dynamic tool destinations configuration file. + */ + tool_destinations_config_file?: string; + /** + * Tool Enable Ngram Search + * @description Disabling this will prevent partial matches on tool names. + * Enable/disable Ngram-search for tools. It makes tool + * search results tolerant for spelling mistakes in the query, and will + * also match query substrings e.g. "genome" will match "genomics" or + * "metagenome". + */ + tool_enable_ngram_search?: boolean; + /** + * Tool Evaluation Strategy + * @description Determines which process will evaluate the tool command line. If set to "local" the tool command + * line, configuration files and other dynamic values will be templated in the job + * handler process. If set to ``remote`` the tool command line will be built as part of the + * submitted job. Note that ``remote`` is a beta setting that will be useful for materializing + * deferred datasets as part of the submitted job. Note also that you have to set ``metadata_strategy`` + * to ``extended`` if you set this option to ``remote``. + */ + tool_evaluation_strategy?: string; + /** + * Tool Filters + * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + * that admins may use to restrict the tools to display. + */ + tool_filters?: string; + /** + * Tool Help Bm25F K1 + * @description The lower this parameter, the greater the diminishing reward for + * term frequency in the help text. A higher K1 increases the level + * of reward for additional occurences of a term. The default value will + * provide a slight increase in score for the first, second and third + * occurrence and little reward thereafter. + */ + tool_help_bm25f_k1?: number; + /** + * Tool Help Boost + * @description In tool search, a query match against a tool's help text will receive + * this score multiplier. + */ + tool_help_boost?: number; + /** + * Tool Id Boost + * @description In tool search, a query match against a tool's ID text will receive + * this score multiplier. The query must be an exact match against ID + * in order to be counted as a match. + */ + tool_id_boost?: number; + /** + * Tool Label Boost + * @description In tool search, a query match against a tool's label text will + * receive this score multiplier. + */ + tool_label_boost?: number; + /** + * Tool Label Filters + * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + * that admins may use to restrict the tool labels to display. + */ + tool_label_filters?: string; + /** + * Tool Name Boost + * @description In tool search, a query match against a tool's name text will receive + * this score multiplier. + */ + tool_name_boost?: number; + /** + * Tool Name Exact Multiplier + * @description If a search query matches a tool name exactly, the score will be + * multiplied by this factor. + */ + tool_name_exact_multiplier?: number; + /** + * Tool Ngram Factor + * @description Ngram matched scores will be multiplied by this factor. Should always + * be below 1, because an ngram match is a partial match of a search term. + */ + tool_ngram_factor?: number; + /** + * Tool Ngram Maxsize + * @description Set maximum character length of ngrams + */ + tool_ngram_maxsize?: number; + /** + * Tool Ngram Minsize + * @description Set minimum character length of ngrams + */ + tool_ngram_minsize?: number; + /** + * Tool Path + * @description Default path to the directory containing the tools defined in tool_conf.xml. + * Other tool config files must include the tool_path as an attribute in the + * tag. + */ + tool_path?: string; + /** + * Tool Recommendation Model Path + * @description Set remote path of the trained model (HDF5 file) for tool recommendation. + */ + tool_recommendation_model_path?: string; + /** + * Tool Search Index Dir + * @description Directory in which the toolbox search index is stored. + */ + tool_search_index_dir?: string; + /** + * Tool Search Limit + * @description Limits the number of results in toolbox search. Use to set the + * maximum number of tool search results to display. + */ + tool_search_limit?: number; + /** + * Tool Section Boost + * @description In tool search, a query match against a tool's section text will + * receive this score multiplier. + */ + tool_section_boost?: number; + /** + * Tool Section Filters + * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + * that admins may use to restrict the tool sections to display. + */ + tool_section_filters?: string; + /** + * Tool Sheds Config File + * @description File containing the Galaxy Tool Sheds that should be made available to + * install from in the admin interface (.sample used if default does not exist). + */ + tool_sheds_config_file?: string; + /** + * Tool Stub Boost + * @description A stub is parsed from the GUID as "owner/repo/tool_id". + * In tool search, a query match against a tool's stub text will receive + * this score multiplier. + */ + tool_stub_boost?: number; + /** + * Tool Test Data Directories + * @description Set tool test data directory. The test framework sets this value to + * 'test-data,https://github.com/galaxyproject/galaxy-test-data.git' which will + * cause Galaxy to clone down extra test data on the fly for certain tools + * distributed with Galaxy but this is likely not appropriate for production systems. + * Instead one can simply clone that repository directly and specify a path here + * instead of a Git HTTP repository. + */ + tool_test_data_directories?: string; + /** + * Tool Training Recommendations + * @description Displays a link to training material, if any includes the current tool. + * When activated the following options also need to be set: + * tool_training_recommendations_link, + * tool_training_recommendations_api_url + */ + tool_training_recommendations?: boolean; + /** + * Tool Training Recommendations Api Url + * @description URL to API describing tutorials containing specific tools. + * When CORS is used, make sure to add this host. + */ + tool_training_recommendations_api_url?: string; + /** + * Tool Training Recommendations Link + * @description Template URL to display all tutorials containing current tool. + * Valid template inputs are: + * {repository_owner} + * {name} + * {tool_id} + * {training_tool_identifier} + * {version} + */ + tool_training_recommendations_link?: string; + /** + * Toolbox Auto Sort + * @description If true, the toolbox will be sorted by tool id when the toolbox is loaded. + * This is useful for ensuring that tools are always displayed in the same + * order in the UI. If false, the order of tools in the toolbox will be + * preserved as they are loaded from the tool config files. + */ + toolbox_auto_sort?: boolean; + /** + * Toolbox Filter Base Modules + * @description The base module(s) that are searched for modules for toolbox filtering + * (https://galaxyproject.org/user-defined-toolbox-filters/) functions. + */ + toolbox_filter_base_modules?: string; + /** + * Topk Recommendations + * @description Set the number of predictions/recommendations to be made by the model + */ + topk_recommendations?: number; + /** + * Tour Config Dir + * @description Interactive tour directory: where to store interactive tour definition files. + * Galaxy ships with several basic interface tours enabled, though a different + * directory with custom tours can be specified here. The path is relative to the + * Galaxy root dir. To use an absolute path begin the path with '/'. This is a + * comma-separated list. + */ + tour_config_dir?: string; + /** + * Track Jobs In Database + * @description This option is deprecated, use the `mem-self` handler assignment option in the + * job configuration instead. + */ + track_jobs_in_database?: boolean; + /** + * Trs Servers Config File + * @description Allow import of workflows from the TRS servers configured in + * the specified YAML or JSON file. The file should be a list with + * 'id', 'label', and 'api_url' for each entry. Optionally, + * 'link_url' and 'doc' may be be specified as well for each entry. + * + * If this is null (the default), a simple configuration containing + * just Dockstore will be used. + */ + trs_servers_config_file?: string; + /** + * Trust Jupyter Notebook Conversion + * @description Set to true to use Jupyter nbconvert to build HTML from Jupyter + * notebooks in Galaxy histories. This process may allow users to execute + * arbitrary code or serve arbitrary HTML. If enabled, Jupyter must be + * available and on Galaxy's PATH, to do this run + * `pip install jinja2 pygments jupyter` in Galaxy's virtualenv. + */ + trust_jupyter_notebook_conversion?: boolean; + /** + * Tus Upload Store + * @description The upload store is a temporary directory in which files uploaded by the + * tus middleware or server will be placed. + * Defaults to new_file_path if not set. + */ + tus_upload_store?: string; + /** + * Upload From Form Button + * @description If 'always-on', add another button to tool form data inputs that allow uploading + * data from the tool form in fewer clicks (at the expense of making the form more + * complicated). This applies to workflows as well. + * + * Avoiding making this a boolean because we may add options such as 'in-single-form-view' + * or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109 + */ + upload_from_form_button?: string; + /** + * Upstream Gzip + * @description If using compression in the upstream proxy server, use this option to disable + * gzipping of dataset collection and library archives, since the upstream server + * will do it faster on the fly. To enable compression add ``application/zip`` + * to the proxy's compressable mimetypes. + */ + upstream_gzip?: boolean; + /** + * Upstream Mod Zip + * @description If using the mod-zip module in nginx, use this option to assemble + * zip archives in nginx. This is preferable over the upstream_gzip option + * as Galaxy does not need to serve the archive. + * Requires setting up internal nginx locations to all paths that can be archived. + * See https://docs.galaxyproject.org/en/master/admin/nginx.html#creating-archives-with-mod-zip + * for details. + */ + upstream_mod_zip?: boolean; + /** + * Use Cached Dependency Manager + * @description Certain dependency resolvers (namely Conda) take a considerable amount of + * time to build an isolated job environment in the job_working_directory if the + * job working directory is on a network share. Set this option to true + * to cache the dependencies in a folder. This option is beta and should only be + * used if you experience long waiting times before a job is actually submitted + * to your cluster. + * + * This only affects tools where some requirements can be resolved but not others, + * most modern best practice tools can use prebuilt environments in the Conda + * directory. + */ + use_cached_dependency_manager?: boolean; + /** + * Use Heartbeat + * @description Write thread status periodically to 'heartbeat.log', (careful, uses disk + * space rapidly!). Useful to determine why your processes may be consuming a + * lot of CPU. + */ + use_heartbeat?: boolean; + /** + * Use Lint + * @description Check for WSGI compliance. + */ + use_lint?: boolean; + /** + * Use Pbkdf2 + * @description Allow disabling pbkdf2 hashing of passwords for legacy situations. + * This should normally be left enabled unless there is a specific + * reason to disable it. + */ + use_pbkdf2?: boolean; + /** + * Use Printdebug + * @description Intercept print statements and show them on the returned page. + */ + use_printdebug?: boolean; + /** + * Use Profile + * @description Run the Python profiler on each request. + */ + use_profile?: boolean; + /** + * Use Remote User + * @description User authentication can be delegated to an upstream proxy server (usually + * Apache). The upstream proxy should set a REMOTE_USER header in the request. + * Enabling remote user disables regular logins. For more information, see: + * https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html + */ + use_remote_user?: boolean; + /** + * Use Tasked Jobs + * @description This enables splitting of jobs into tasks, if specified by the particular tool + * config. + * This is a new feature and not recommended for production servers yet. + */ + use_tasked_jobs?: boolean; + /** + * User Activation On + * @description User account activation feature global flag. If set to false, the rest of + * the Account activation configuration is ignored and user activation is + * disabled (i.e. accounts are active since registration). + * The activation is also not working in case the SMTP server is not defined. + */ + user_activation_on?: boolean; + /** + * User Library Import Check Permissions + * @description In conjunction or alternatively, Galaxy can restrict user library imports to + * those files that the user can read (by checking basic unix permissions). + * For this to work, the username has to match the username on the filesystem. + */ + user_library_import_check_permissions?: boolean; + /** + * User Library Import Dir + * @description Add an option to the library upload form which allows authorized + * non-administrators to upload a directory of files. The configured directory + * must contain sub-directories named the same as the non-admin user's Galaxy + * login ( email ). The non-admin user is restricted to uploading files or + * sub-directories of files contained in their directory. + */ + user_library_import_dir?: string; + /** + * User Library Import Dir Auto Creation + * @description If user_library_import_dir is set, this option will auto create a library + * import directory for every user (based on their email) upon login. + */ + user_library_import_dir_auto_creation?: boolean; + /** + * User Library Import Symlink Allowlist + * @description For security reasons, users may not import any files that actually lie + * outside of their `user_library_import_dir` (e.g. using symbolic links). A + * list of directories can be allowed by setting the following option (the list + * is comma-separated). Be aware that *any* user with library import permissions + * can import from anywhere in these directories (assuming they are able to + * create symlinks to them). + */ + user_library_import_symlink_allowlist?: string; + /** + * User Preferences Extra Conf Path + * @description Location of the configuration file containing extra user preferences. + */ + user_preferences_extra_conf_path?: string; + /** + * User Tool Filters + * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + * that users may use to restrict the tools to display. + */ + user_tool_filters?: string; + /** + * User Tool Label Filters + * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + * that users may use to restrict the tool labels to display. + */ + user_tool_label_filters?: string; + /** + * User Tool Section Filters + * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + * that users may use to restrict the tool sections to display. + */ + user_tool_section_filters?: string; + /** + * Vault Config File + * @description Vault config file. + */ + vault_config_file?: string; + /** + * Visualization Plugins Directory + * @description Visualizations config directory: where to look for individual visualization + * plugins. The path is relative to the Galaxy root dir. To use an absolute + * path begin the path with '/'. This is a comma-separated list. + */ + visualization_plugins_directory?: string; + /** + * Visualizations Visible + * @description Show visualization tab and list in masthead. + */ + visualizations_visible?: boolean; + /** + * Watch Core Config + * @description Monitor a subset of options in the core configuration file (See RELOADABLE_CONFIG_OPTIONS + * in lib/galaxy/config/__init__.py). If changes are found, modified options are + * automatically reloaded. Takes the same values as the 'watch_tools' option. + */ + watch_core_config?: string; + /** + * Watch Job Rules + * @description Monitor dynamic job rules. If changes are found, rules are automatically reloaded. Takes + * the same values as the 'watch_tools' option. + */ + watch_job_rules?: string; + /** + * Watch Tool Data Dir + * @description Monitor the tool_data and shed_tool_data_path directories. If changes in tool data table + * files are found, the tool data tables for that data manager are automatically reloaded. + * Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy + * to use this option. Other options include 'auto' which will attempt to use the watchdog + * library if it is available but won't fail to load Galaxy if it is not and 'polling' which + * will use a less efficient monitoring scheme that may work in wider range of scenarios than + * the watchdog default. + */ + watch_tool_data_dir?: string; + /** + * Watch Tools + * @description Monitor the tools and tool directories listed in any tool config file specified in + * tool_config_file option. If changes are found, tools are automatically reloaded. + * Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy + * to use this option. Other options include 'auto' which will attempt to watch tools if the + * watchdog library is available but won't fail to load Galaxy if it is not and 'polling' + * which will use a less efficient monitoring scheme that may work in wider range of + * scenarios than the watchdog default. + */ + watch_tools?: string; + /** + * Watch Tours + * @description Monitor the interactive tours directory specified in the 'tour_config_dir' option. If + * changes are found, modified tours are automatically reloaded. Takes the same values as the + * 'watch_tools' option. + */ + watch_tours?: string; + /** + * Webhooks Dir + * @description Webhooks directory: where to store webhooks - plugins to extend the Galaxy UI. + * By default none will be loaded. Set to config/plugins/webhooks/demo to load Galaxy's + * demo webhooks. To use an absolute path begin the path with '/'. This is a + * comma-separated list. Add test/functional/webhooks to this list to include the demo + * webhooks used to test the webhook framework. + */ + webhooks_dir?: string; + /** + * Welcome Directory + * @description Location of New User Welcome data, a single directory containing the + * images and JSON of Topics/Subtopics/Slides as export. This location + * is relative to galaxy/static + */ + welcome_directory?: string; + /** + * Welcome Url + * @description The URL of the page to display in Galaxy's middle pane when loaded. This can + * be an absolute or relative URL. + */ + welcome_url?: string; + /** + * Wiki Url + * @description The URL linked by the "Community Hub" link in the "Help" menu. + */ + wiki_url?: string; + /** + * Workflow Monitor Sleep + * @description Each Galaxy workflow handler process runs one thread responsible for + * checking the state of active workflow invocations. This thread operates in a loop and + * sleeps for the given number of seconds at the end of each iteration. This can be + * decreased if extremely high job throughput is necessary, but doing so can increase CPU + * usage of handler processes. Float values are allowed. + */ + workflow_monitor_sleep?: number; + /** + * Workflow Resource Params File + * @description Similar to the above parameter, workflows can describe parameters used to + * influence scheduling of jobs within the workflow. This requires both a description + * of the fields available (which defaults to the definitions in + * job_resource_params_file if not set). + */ + workflow_resource_params_file?: string; + /** + * Workflow Resource Params Mapper + * @description This parameter describes how to map users and workflows to a set of workflow + * resource parameter to present (typically input IDs from workflow_resource_params_file). + * If this this is a function reference it will be passed various inputs (workflow model + * object and user) and it should produce a list of input IDs. If it is a path + * it is expected to be an XML or YAML file describing how to map group names to parameter + * descriptions (additional types of mappings via these files could be implemented but + * haven't yet - for instance using workflow tags to do the mapping). + * + * Sample default path 'config/workflow_resource_mapper_conf.yml.sample' + */ + workflow_resource_params_mapper?: string; + /** + * Workflow Schedulers Config File + * @description Optional configuration file similar to `job_config_file` to specify + * which Galaxy processes should schedule workflows. + */ + workflow_schedulers_config_file?: string; + /** + * X Frame Options + * @description The following default adds a header to web request responses that + * will cause modern web browsers to not allow Galaxy to be embedded in + * the frames of web applications hosted at other hosts - this can help + * prevent a class of attack called clickjacking + * (https://www.owasp.org/index.php/Clickjacking). If you configure a + * proxy in front of Galaxy - please ensure this header remains intact + * to protect your users. Uncomment and leave empty to not set the + * `X-Frame-Options` header. + */ + x_frame_options?: string; + }; /** * GroupModel * @description User group model @@ -9716,7 +12776,7 @@ export interface operations { /** @description Object containing exposable configuration settings */ 200: { content: { - "application/json": Record; + "application/json": components["schemas"]["GalaxyConfigModel"]; }; }; /** @description Validation Error */ diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py new file mode 100644 index 000000000000..91c2f14ad6be --- /dev/null +++ b/lib/galaxy/schema/configuration.py @@ -0,0 +1,3473 @@ +# This file is auto-generated by the Galaxy configuration schema tool. +# Do not edit this file directly. + +from typing import ( + Any, + Dict, + List, + Optional, +) + +from pydantic import Field + +from galaxy.schema.schema import Model + + +class GalaxyConfigModel(Model): + """Contains Galaxy configuration values.""" + + config_dir: Optional[str] = Field( + None, + title="Config Dir", + description="""The directory that will be prepended to relative paths in options specifying +other Galaxy config files (e.g. datatypes_config_file). Defaults to the +directory in which galaxy.yml is located. +""", + ) + managed_config_dir: Optional[str] = Field( + None, + title="Managed Config Dir", + description="""The directory that will be prepended to relative paths in options specifying +config files controlled by Galaxy (such as shed_tool_config_file, etc.). Must be +writable by the user running Galaxy. Defaults to `/` if running +Galaxy from source or `/config` otherwise. +""", + ) + data_dir: Optional[str] = Field( + None, + title="Data Dir", + description="""The directory that will be prepended to relative paths in options specifying +Galaxy data/cache directories and files (such as the default SQLite database, +file_path, etc.). Defaults to `database/` if running Galaxy from source or +`/data` otherwise. +""", + ) + templates_dir: Optional[str] = Field( + None, + title="Templates Dir", + description="""The directory containing custom templates for Galaxy, such as HTML/text email templates. Defaults to 'templates'. Default templates can be found in the Galaxy root under config/templates. These can be copied to if you wish to customize them. +""", + ) + cache_dir: Optional[str] = Field( + None, + title="Cache Dir", + description="""Top level cache directory. Any other cache directories (tool_cache_data_dir, +template_cache_path, etc.) should be subdirectories. +""", + ) + database_connection: Optional[str] = Field( + None, + title="Database Connection", + description="""By default, Galaxy uses a SQLite database at '/universe.sqlite'. You +may use a SQLAlchemy connection string to specify an external database instead. + +Sample default 'sqlite:////universe.sqlite?isolation_level=IMMEDIATE' + +You may specify additional options that will be passed to the SQLAlchemy +database engine by using the prefix "database_engine_option_". For some of these +options, default values are provided (e.g. see database_engine_option_pool_size, +etc.). + +The same applies to `install_database_connection`, for which you should use the +"install_database_engine_option_" prefix. + +For more options, please check SQLAlchemy's documentation at +https://docs.sqlalchemy.org/en/14/core/engines.html?highlight=create_engine#sqlalchemy.create_engine +""", + ) + database_engine_option_pool_size: Optional[int] = Field( + None, + title="Database Engine Option Pool Size", + description="""If the server logs errors about not having enough database pool connections, +you will want to increase these values, or consider running more Galaxy +processes. +""", + ) + database_engine_option_max_overflow: Optional[int] = Field( + None, + title="Database Engine Option Max Overflow", + description="""If the server logs errors about not having enough database pool connections, +you will want to increase these values, or consider running more Galaxy +processes. +""", + ) + database_engine_option_pool_recycle: Optional[int] = Field( + None, + title="Database Engine Option Pool Recycle", + description="""If using MySQL and the server logs the error "MySQL server has gone away", +you will want to set this to some positive value (7200 should work). +""", + ) + database_engine_option_server_side_cursors: Optional[bool] = Field( + None, + title="Database Engine Option Server Side Cursors", + description="""If large database query results are causing memory or response time issues in +the Galaxy process, leave the result on the server instead. This option is +only available for PostgreSQL and is highly recommended. +""", + ) + database_query_profiling_proxy: Optional[bool] = Field( + None, + title="Database Query Profiling Proxy", + description="""Log all database transactions, can be useful for debugging and performance +profiling. Logging is done via Python's 'logging' module under the qualname +'galaxy.model.orm.logging_connection_proxy' +""", + ) + database_template: Optional[str] = Field( + None, + title="Database Template", + description="""If auto-creating a postgres database on startup - it can be based on an existing +template database. This will set that. This is probably only useful for testing but +documentation is included here for completeness. +""", + ) + database_log_query_counts: Optional[bool] = Field( + None, + title="Database Log Query Counts", + description="""Log number of SQL queries executed and total time spent dispatching SQL statements for +each web request. If statsd is also enabled this information will be logged there as well. +This should be considered somewhat experimental, we are unsure of the performance costs of +running this in production. This is useful information for optimizing database interaction +performance. Similar information can be obtained on a per-request basis by enabling the +sql_debug middleware and adding sql_debug=1 to a request string. +""", + ) + slow_query_log_threshold: Optional[float] = Field( + None, + title="Slow Query Log Threshold", + description="""Slow query logging. Queries slower than the threshold indicated below will +be logged to debug. A value of '0' is disabled. For example, you would set +this to .005 to log all queries taking longer than 5 milliseconds. +""", + ) + enable_per_request_sql_debugging: Optional[bool] = Field( + None, + title="Enable Per Request Sql Debugging", + description="""Enables a per request sql debugging option. If this is set to true, +append ?sql_debug=1 to web request URLs to enable detailed logging on +the backend of SQL queries generated during that request. This is +useful for debugging slow endpoints during development. +""", + ) + install_database_connection: Optional[str] = Field( + None, + title="Install Database Connection", + description="""By default, Galaxy will use the same database to track user data and +tool shed install data. There are many situations in which it is +valuable to separate these - for instance bootstrapping fresh Galaxy +instances with pretested installs. The following option can be used to +separate the tool shed install database (all other options listed above +but prefixed with ``install_`` are also available). + +Defaults to the value of the 'database_connection' option. +""", + ) + database_auto_migrate: Optional[bool] = Field( + None, + title="Database Auto Migrate", + description="""Setting the following option to true will cause Galaxy to automatically +migrate the database forward after updates. This is not recommended for production +use. +""", + ) + database_wait: Optional[bool] = Field( + None, + title="Database Wait", + description="""Wait for database to become available instead of failing immediately. +""", + ) + database_wait_attempts: Optional[int] = Field( + None, + title="Database Wait Attempts", + description="""Number of attempts before failing if database_wait is enabled. +""", + ) + database_wait_sleep: Optional[float] = Field( + None, + title="Database Wait Sleep", + description="""Time to sleep between attempts if database_wait is enabled (in seconds). +""", + ) + history_audit_table_prune_interval: Optional[int] = Field( + None, + title="History Audit Table Prune Interval", + description="""Time (in seconds) between attempts to remove old rows from the history_audit database table. +Set to 0 to disable pruning. +""", + ) + file_path: Optional[str] = Field( + None, + title="File Path", + description="""Where dataset files are stored. It must be accessible at the same path on any cluster +nodes that will run Galaxy jobs, unless using Pulsar. The default value has been changed +from 'files' to 'objects' as of 20.05; however, Galaxy will first check if the 'files' +directory exists before using 'objects' as the default. +""", + ) + new_file_path: Optional[str] = Field( + None, + title="New File Path", + description="""Where temporary files are stored. It must be accessible at the same path on any cluster +nodes that will run Galaxy jobs, unless using Pulsar. +""", + ) + maximum_upload_file_size: Optional[int] = Field( + None, + title="Maximum Upload File Size", + description="""Maximum size of uploadable files, specified in bytes (default: 100GB). +This value is ignored if an external upload server is configured. +""", + ) + tool_config_file: Optional[Any] = Field( + None, + title="Tool Config File", + description="""Tool config files, defines what tools are available in Galaxy. +Tools can be locally developed or installed from Galaxy tool sheds. +(config/tool_conf.xml.sample will be used if left unset and +config/tool_conf.xml does not exist). Can be a single file, a list of +files, or (for backwards compatibility) a comma-separated list of files. +""", + ) + shed_tool_config_file: Optional[str] = Field( + None, + title="Shed Tool Config File", + description="""Tool config file for tools installed from the Galaxy Tool Shed. Must +be writable by Galaxy and generally should not be edited by hand. In +older Galaxy releases, this file was part of the tool_config_file +option. It is still possible to specify this file (and other +shed-enabled tool config files) in tool_config_file, but in the +standard case of a single shed-enabled tool config, this option is +preferable. This file will be created automatically upon tool +installation, whereas Galaxy will fail to start if any files in +tool_config_file cannot be read. +""", + ) + migrated_tools_config: Optional[str] = Field( + None, + title="Migrated Tools Config", + description="""This option is deprecated. +In previous releases this file was maintained by tool migration scripts that are no +longer part of the code base. The option remains as a placeholder for deployments where +these scripts were previously run and such a file exists. +""", + ) + integrated_tool_panel_config: Optional[str] = Field( + None, + title="Integrated Tool Panel Config", + description="""File that contains the XML section and tool tags from all tool panel config +files integrated into a single file that defines the tool panel layout. This +file can be changed by the Galaxy administrator to alter the layout of the +tool panel. If not present, Galaxy will create it. + +The value of this option will be resolved with respect to . +""", + ) + tool_path: Optional[str] = Field( + None, + title="Tool Path", + description="""Default path to the directory containing the tools defined in tool_conf.xml. +Other tool config files must include the tool_path as an attribute in the + tag. +""", + ) + tool_dependency_dir: Optional[str] = Field( + None, + title="Tool Dependency Dir", + description="""Various dependency resolver configuration parameters will have defaults set relative +to this path, such as the default conda prefix, default Galaxy packages path, legacy +tool shed dependencies path, and the dependency cache directory. + +Set the string to null to explicitly disable tool dependency handling. +If this option is set to none or an invalid path, installing tools with dependencies +from the Tool Shed or in Conda will fail. +""", + ) + dependency_resolvers_config_file: Optional[str] = Field( + None, + title="Dependency Resolvers Config File", + description="""Specifies the path to the standalone dependency resolvers configuration file. This +configuration can now be specified directly in the Galaxy configuration, see the +description of the 'dependency_resolvers' option for details. +""", + ) + conda_prefix: Optional[str] = Field( + None, + title="Conda Prefix", + description="""conda_prefix is the location on the filesystem where Conda packages and environments are +installed. + +Sample default '/_conda' +""", + ) + conda_exec: Optional[str] = Field( + None, + title="Conda Exec", + description="""Override the Conda executable to use, it will default to the one on the +PATH (if available) and then to /bin/conda +""", + ) + conda_debug: Optional[bool] = Field( + None, + title="Conda Debug", + description="""Pass debug flag to conda commands. +""", + ) + conda_ensure_channels: Optional[str] = Field( + None, + title="Conda Ensure Channels", + description="""conda channels to enable by default +(https://conda.io/docs/user-guide/tasks/manage-channels.html) +""", + ) + conda_use_local: Optional[bool] = Field( + None, + title="Conda Use Local", + description="""Use locally-built conda packages. +""", + ) + conda_auto_install: Optional[bool] = Field( + None, + title="Conda Auto Install", + description="""Set to true to instruct Galaxy to look for and install missing tool +dependencies before each job runs. +""", + ) + conda_auto_init: Optional[bool] = Field( + None, + title="Conda Auto Init", + description="""Set to true to instruct Galaxy to install Conda from the web automatically +if it cannot find a local copy and conda_exec is not configured. +""", + ) + conda_copy_dependencies: Optional[bool] = Field( + None, + title="Conda Copy Dependencies", + description="""You must set this to true if conda_prefix and job_working_directory are not on the same +volume, or some conda dependencies will fail to execute at job runtime. +Conda will copy packages content instead of creating hardlinks or symlinks. +This will prevent problems with some specific packages (perl, R), at the cost +of extra disk space usage and extra time spent copying packages. +""", + ) + local_conda_mapping_file: Optional[str] = Field( + None, + title="Local Conda Mapping File", + description="""Path to a file that provides a mapping from abstract packages to concrete conda packages. +See `config/local_conda_mapping.yml.sample` for examples. +""", + ) + modules_mapping_files: Optional[str] = Field( + None, + title="Modules Mapping Files", + description="""Path to a file that provides a mapping from abstract packages to locally installed modules. +See `config/environment_modules_mapping.yml.sample` for examples. +""", + ) + use_cached_dependency_manager: Optional[bool] = Field( + None, + title="Use Cached Dependency Manager", + description="""Certain dependency resolvers (namely Conda) take a considerable amount of +time to build an isolated job environment in the job_working_directory if the +job working directory is on a network share. Set this option to true +to cache the dependencies in a folder. This option is beta and should only be +used if you experience long waiting times before a job is actually submitted +to your cluster. + +This only affects tools where some requirements can be resolved but not others, +most modern best practice tools can use prebuilt environments in the Conda +directory. +""", + ) + tool_dependency_cache_dir: Optional[str] = Field( + None, + title="Tool Dependency Cache Dir", + description="""By default the tool_dependency_cache_dir is the _cache directory +of the tool dependency directory. + +Sample default '/_cache' +""", + ) + precache_dependencies: Optional[bool] = Field( + None, + title="Precache Dependencies", + description="""By default, when using a cached dependency manager, the dependencies are cached +when installing new tools and when using tools for the first time. +Set this to false if you prefer dependencies to be cached only when installing new tools. +""", + ) + tool_sheds_config_file: Optional[str] = Field( + None, + title="Tool Sheds Config File", + description="""File containing the Galaxy Tool Sheds that should be made available to +install from in the admin interface (.sample used if default does not exist). +""", + ) + watch_tools: Optional[str] = Field( + None, + title="Watch Tools", + description="""Monitor the tools and tool directories listed in any tool config file specified in +tool_config_file option. If changes are found, tools are automatically reloaded. +Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy +to use this option. Other options include 'auto' which will attempt to watch tools if the +watchdog library is available but won't fail to load Galaxy if it is not and 'polling' +which will use a less efficient monitoring scheme that may work in wider range of +scenarios than the watchdog default. +""", + ) + watch_job_rules: Optional[str] = Field( + None, + title="Watch Job Rules", + description="""Monitor dynamic job rules. If changes are found, rules are automatically reloaded. Takes +the same values as the 'watch_tools' option. +""", + ) + watch_core_config: Optional[str] = Field( + None, + title="Watch Core Config", + description="""Monitor a subset of options in the core configuration file (See RELOADABLE_CONFIG_OPTIONS +in lib/galaxy/config/__init__.py). If changes are found, modified options are +automatically reloaded. Takes the same values as the 'watch_tools' option. +""", + ) + watch_tours: Optional[str] = Field( + None, + title="Watch Tours", + description="""Monitor the interactive tours directory specified in the 'tour_config_dir' option. If +changes are found, modified tours are automatically reloaded. Takes the same values as the +'watch_tools' option. +""", + ) + short_term_storage_dir: Optional[str] = Field( + None, + title="Short Term Storage Dir", + description="""Location of files available for a short time as downloads (short term storage). +This directory is exclusively used for serving dynamically generated downloadable +content. Galaxy may uses the new_file_path parameter as a general temporary directory +and that directory should be monitored by a tool such as tmpwatch in production +environments. short_term_storage_dir on the other hand is monitored by Galaxy's task +framework and should not require such external tooling. +""", + ) + short_term_storage_default_duration: Optional[int] = Field( + None, + title="Short Term Storage Default Duration", + description="""Default duration before short term web storage files will be cleaned up by Galaxy +tasks (in seconds). The default duration is 1 day. +""", + ) + short_term_storage_maximum_duration: Optional[int] = Field( + None, + title="Short Term Storage Maximum Duration", + description="""The maximum duration short term storage files can hosted before they will be marked for +clean up. The default setting of 0 indicates no limit here. +""", + ) + short_term_storage_cleanup_interval: Optional[int] = Field( + None, + title="Short Term Storage Cleanup Interval", + description="""How many seconds between instances of short term storage being cleaned up in default +Celery task configuration. +""", + ) + file_sources_config_file: Optional[str] = Field( + None, + title="File Sources Config File", + description="""Configured FileSource plugins. +""", + ) + file_sources: Optional[List[Any]] = Field( + None, + title="File Sources", + description="""FileSource plugins described embedded into Galaxy's config. +""", + ) + enable_mulled_containers: Optional[bool] = Field( + None, + title="Enable Mulled Containers", + description="""Enable Galaxy to fetch containers registered with quay.io generated +from tool requirements resolved through Conda. These containers (when +available) have been generated using mulled - https://github.com/mulled. +Container availability will vary by tool, this option will only be used +for job destinations with Docker or Singularity enabled. +""", + ) + container_resolvers_config_file: Optional[str] = Field( + None, + title="Container Resolvers Config File", + description="""Container resolvers configuration. Set up a file describing +container resolvers to use when discovering containers for Galaxy. If +this is set to None, the default container resolvers loaded is +determined by enable_mulled_containers. +For available options see https://docs.galaxyproject.org/en/master/admin/container_resolvers.html +""", + ) + container_resolvers: Optional[List[Any]] = Field( + None, + title="Container Resolvers", + description="""Rather than specifying a container_resolvers_config_file, the definition of the +resolvers to enable can be embedded into Galaxy's config with this option. +This has no effect if a container_resolvers_config_file is used. +Takes the same options that can be set in container_resolvers_config_file. +""", + ) + involucro_path: Optional[str] = Field( + None, + title="Involucro Path", + description="""involucro is a tool used to build Docker or Singularity containers for tools from Conda +dependencies referenced in tools as `requirement` s. The following path is +the location of involucro on the Galaxy host. This is ignored if the relevant +container resolver isn't enabled, and will install on demand unless +involucro_auto_init is set to false. +""", + ) + involucro_auto_init: Optional[bool] = Field( + None, + title="Involucro Auto Init", + description="""Install involucro as needed to build Docker or Singularity containers for tools. Ignored if +relevant container resolver is not used. +""", + ) + mulled_channels: Optional[str] = Field( + None, + title="Mulled Channels", + description="""Conda channels to use when building Docker or Singularity containers using involucro. +""", + ) + enable_tool_shed_check: Optional[bool] = Field( + None, + title="Enable Tool Shed Check", + description="""Enable automatic polling of relative tool sheds to see if any updates +are available for installed repositories. Ideally only one Galaxy +server process should be able to check for repository updates. The +setting for hours_between_check should be an integer between 1 and 24. +""", + ) + hours_between_check: Optional[int] = Field( + None, + title="Hours Between Check", + description="""Enable automatic polling of relative tool sheds to see if any updates +are available for installed repositories. Ideally only one Galaxy +server process should be able to check for repository updates. The +setting for hours_between_check should be an integer between 1 and 24. +""", + ) + tool_data_table_config_path: Optional[str] = Field( + None, + title="Tool Data Table Config Path", + description="""XML config file that contains data table entries for the +ToolDataTableManager. This file is manually # maintained by the Galaxy +administrator (.sample used if default does not exist). +""", + ) + shed_tool_data_table_config: Optional[str] = Field( + None, + title="Shed Tool Data Table Config", + description="""XML config file that contains additional data table entries for the +ToolDataTableManager. This file is automatically generated based on the +current installed tool shed repositories that contain valid +tool_data_table_conf.xml.sample files. At the time of installation, these +entries are automatically added to the following file, which is parsed and +applied to the ToolDataTableManager at server start up. +""", + ) + tool_data_path: Optional[str] = Field( + None, + title="Tool Data Path", + description="""Directory where data used by tools is located. See the samples in that +directory and the Galaxy Community Hub for help: +https://galaxyproject.org/admin/data-integration +""", + ) + shed_tool_data_path: Optional[str] = Field( + None, + title="Shed Tool Data Path", + description="""Directory where Tool Data Table related files will be placed when installed from a +ToolShed. Defaults to the value of the 'tool_data_path' option. +""", + ) + watch_tool_data_dir: Optional[str] = Field( + None, + title="Watch Tool Data Dir", + description="""Monitor the tool_data and shed_tool_data_path directories. If changes in tool data table +files are found, the tool data tables for that data manager are automatically reloaded. +Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy +to use this option. Other options include 'auto' which will attempt to use the watchdog +library if it is available but won't fail to load Galaxy if it is not and 'polling' which +will use a less efficient monitoring scheme that may work in wider range of scenarios than +the watchdog default. +""", + ) + refgenie_config_file: Optional[str] = Field( + None, + title="Refgenie Config File", + description="""File containing refgenie configuration, e.g. /path/to/genome_config.yaml. Can be used by refgenie backed tool data tables. +""", + ) + build_sites_config_file: Optional[str] = Field( + None, + title="Build Sites Config File", + description="""File that defines the builds (dbkeys) available at sites used by display applications +and the URL to those sites. +""", + ) + builds_file_path: Optional[str] = Field( + None, + title="Builds File Path", + description="""File containing old-style genome builds. + +The value of this option will be resolved with respect to . +""", + ) + len_file_path: Optional[str] = Field( + None, + title="Len File Path", + description="""Directory where chrom len files are kept, currently mainly used by trackster. + +The value of this option will be resolved with respect to . +""", + ) + datatypes_config_file: Optional[str] = Field( + None, + title="Datatypes Config File", + description="""Datatypes config file(s), defines what data (file) types are available in +Galaxy (.sample is used if default does not exist). If a datatype appears in +multiple files, the last definition is used (though the first sniffer is used +so limit sniffer definitions to one file). +""", + ) + sniff_compressed_dynamic_datatypes_default: Optional[bool] = Field( + None, + title="Sniff Compressed Dynamic Datatypes Default", + description="""Enable sniffing of compressed datatypes. This can be configured/overridden +on a per-datatype basis in the datatypes_conf.xml file. +With this option set to false the compressed datatypes will be unpacked +before sniffing. +""", + ) + datatypes_disable_auto: Optional[bool] = Field( + None, + title="Datatypes Disable Auto", + description="""Disable the 'Auto-detect' option for file uploads +""", + ) + visualization_plugins_directory: Optional[str] = Field( + None, + title="Visualization Plugins Directory", + description="""Visualizations config directory: where to look for individual visualization +plugins. The path is relative to the Galaxy root dir. To use an absolute +path begin the path with '/'. This is a comma-separated list. +""", + ) + tour_config_dir: Optional[str] = Field( + None, + title="Tour Config Dir", + description="""Interactive tour directory: where to store interactive tour definition files. +Galaxy ships with several basic interface tours enabled, though a different +directory with custom tours can be specified here. The path is relative to the +Galaxy root dir. To use an absolute path begin the path with '/'. This is a +comma-separated list. +""", + ) + webhooks_dir: Optional[str] = Field( + None, + title="Webhooks Dir", + description="""Webhooks directory: where to store webhooks - plugins to extend the Galaxy UI. +By default none will be loaded. Set to config/plugins/webhooks/demo to load Galaxy's +demo webhooks. To use an absolute path begin the path with '/'. This is a +comma-separated list. Add test/functional/webhooks to this list to include the demo +webhooks used to test the webhook framework. +""", + ) + job_working_directory: Optional[str] = Field( + None, + title="Job Working Directory", + description="""Each job is given a unique empty directory as its current working directory. +This option defines in what parent directory those directories will be +created. + +The value of this option will be resolved with respect to . +""", + ) + template_cache_path: Optional[str] = Field( + None, + title="Template Cache Path", + description="""Mako templates are compiled as needed and cached for reuse, this directory is +used for the cache +""", + ) + check_job_script_integrity: Optional[bool] = Field( + None, + title="Check Job Script Integrity", + description="""Set to false to disable various checks Galaxy will do to ensure it +can run job scripts before attempting to execute or submit them. +""", + ) + check_job_script_integrity_count: Optional[int] = Field( + None, + title="Check Job Script Integrity Count", + description="""Number of checks to execute if check_job_script_integrity is enabled. +""", + ) + check_job_script_integrity_sleep: Optional[float] = Field( + None, + title="Check Job Script Integrity Sleep", + description="""Time to sleep between checks if check_job_script_integrity is enabled (in seconds). +""", + ) + default_job_shell: Optional[str] = Field( + None, + title="Default Job Shell", + description="""Set the default shell used by non-containerized jobs Galaxy-wide. This +defaults to bash for all jobs and can be overridden at the destination +level for heterogeneous clusters. conda job resolution requires bash or zsh +so if this is switched to /bin/sh for instance - conda resolution +should be disabled. Containerized jobs always use /bin/sh - so more maximum +portability tool authors should assume generated commands run in sh. +""", + ) + enable_tool_document_cache: Optional[bool] = Field( + None, + title="Enable Tool Document Cache", + description="""Whether to enable the tool document cache. This cache stores +expanded XML strings. Enabling the tool cache results in slightly faster startup +times. The tool cache is backed by a SQLite database, which cannot +be stored on certain network disks. The cache location is configurable +using the ``tool_cache_data_dir`` setting, but can be disabled completely here. +""", + ) + tool_cache_data_dir: Optional[str] = Field( + None, + title="Tool Cache Data Dir", + description="""Tool related caching. Fully expanded tools and metadata will be stored at this path. +Per tool_conf cache locations can be configured in (``shed_``)tool_conf.xml files using +the tool_cache_data_dir attribute. +""", + ) + tool_search_index_dir: Optional[str] = Field( + None, + title="Tool Search Index Dir", + description="""Directory in which the toolbox search index is stored.""", + ) + delay_tool_initialization: Optional[bool] = Field( + None, + title="Delay Tool Initialization", + description="""Set this to true to delay parsing of tool inputs and outputs until they are needed. +This results in faster startup times but uses more memory when using forked Galaxy +processes. +""", + ) + biotools_content_directory: Optional[str] = Field( + None, + title="Biotools Content Directory", + description="""Point Galaxy at a repository consisting of a copy of the bio.tools database (e.g. +https://github.com/bio-tools/content/) to resolve bio.tools data for tool metadata. +""", + ) + biotools_use_api: Optional[bool] = Field( + None, + title="Biotools Use Api", + description="""Set this to true to attempt to resolve bio.tools metadata for tools for tool not +resovled via biotools_content_directory. +""", + ) + biotools_service_cache_type: Optional[str] = Field( + None, + title="Biotools Service Cache Type", + description="""bio.tools web service request related caching. The type of beaker cache used. +""", + ) + biotools_service_cache_data_dir: Optional[str] = Field( + None, + title="Biotools Service Cache Data Dir", + description="""bio.tools web service request related caching. The data directory to point +beaker cache at. +""", + ) + biotools_service_cache_lock_dir: Optional[str] = Field( + None, + title="Biotools Service Cache Lock Dir", + description="""bio.tools web service request related caching. The lock directory to point +beaker cache at. +""", + ) + biotools_service_cache_url: Optional[str] = Field( + None, + title="Biotools Service Cache Url", + description="""When biotools_service_cache_type = ext:database, this is +the url of the database used by beaker for +bio.tools web service request related caching. +The application config code will set it to the +value of database_connection if this is not set. +""", + ) + biotools_service_cache_table_name: Optional[str] = Field( + None, + title="Biotools Service Cache Table Name", + description="""When biotools_service_cache_type = ext:database, this is +the database table name used by beaker for +bio.tools web service request related caching. +""", + ) + biotools_service_cache_schema_name: Optional[str] = Field( + None, + title="Biotools Service Cache Schema Name", + description="""When biotools_service_cache_type = ext:database, this is +the database table name used by beaker for +bio.tools web service request related caching. +""", + ) + citation_cache_type: Optional[str] = Field( + None, + title="Citation Cache Type", + description="""Citation related caching. Tool citations information maybe fetched from +external sources such as https://doi.org/ by Galaxy - the following +parameters can be used to control the caching used to store this information. +""", + ) + citation_cache_data_dir: Optional[str] = Field( + None, + title="Citation Cache Data Dir", + description="""Citation related caching. Tool citations information maybe fetched from +external sources such as https://doi.org/ by Galaxy - the following +parameters can be used to control the caching used to store this information. +""", + ) + citation_cache_lock_dir: Optional[str] = Field( + None, + title="Citation Cache Lock Dir", + description="""Citation related caching. Tool citations information maybe fetched from +external sources such as https://doi.org/ by Galaxy - the following +parameters can be used to control the caching used to store this information. +""", + ) + citation_cache_url: Optional[str] = Field( + None, + title="Citation Cache Url", + description="""When citation_cache_type = ext:database, this is +the url of the database used by beaker for citation +caching. The application config code will set it to the +value of database_connection if this is not set. +""", + ) + citation_cache_table_name: Optional[str] = Field( + None, + title="Citation Cache Table Name", + description="""When citation_cache_type = ext:database, this is +the database table name used by beaker for +citation related caching. +""", + ) + citation_cache_schema_name: Optional[str] = Field( + None, + title="Citation Cache Schema Name", + description="""When citation_cache_type = ext:database, this is +the database schema name of the table used by beaker for +citation related caching. +""", + ) + mulled_resolution_cache_type: Optional[str] = Field( + None, + title="Mulled Resolution Cache Type", + description="""Mulled resolution caching. Mulled resolution uses external APIs of quay.io, these +requests are caching using this and the following parameters +""", + ) + mulled_resolution_cache_data_dir: Optional[str] = Field( + None, + title="Mulled Resolution Cache Data Dir", + description="""Data directory used by beaker for caching mulled resolution requests. +""", + ) + mulled_resolution_cache_lock_dir: Optional[str] = Field( + None, + title="Mulled Resolution Cache Lock Dir", + description="""Lock directory used by beaker for caching mulled resolution requests. +""", + ) + mulled_resolution_cache_expire: Optional[int] = Field( + None, + title="Mulled Resolution Cache Expire", + description="""Seconds until the beaker cache is considered old and a new value is created. +""", + ) + mulled_resolution_cache_url: Optional[str] = Field( + None, + title="Mulled Resolution Cache Url", + description="""When mulled_resolution_cache_type = ext:database, this is +the url of the database used by beaker for caching mulled resolution +requests. The application config code will set it to the +value of database_connection if this is not set. +""", + ) + mulled_resolution_cache_table_name: Optional[str] = Field( + None, + title="Mulled Resolution Cache Table Name", + description="""When mulled_resolution_cache_type = ext:database, this is +the database table name used by beaker for +caching mulled resolution requests. +""", + ) + mulled_resolution_cache_schema_name: Optional[str] = Field( + None, + title="Mulled Resolution Cache Schema Name", + description="""When mulled_resolution_cache_type = ext:database, this is +the database schema name of the table used by beaker for +caching mulled resolution requests. +""", + ) + object_store_config_file: Optional[str] = Field( + None, + title="Object Store Config File", + description="""Configuration file for the object store +If this is set and exists, it overrides any other objectstore settings. +""", + ) + object_store_cache_monitor_driver: Optional[str] = Field( + None, + title="Object Store Cache Monitor Driver", + description="""Specify where cache monitoring is driven for caching object stores +such as S3, Azure, and iRODS. This option has no affect on disk object stores. +For production instances, the cache should be monitored by external tools such +as tmpwatch and this value should be set to 'external'. This will disable all +cache monitoring in Galaxy. Alternatively, 'celery' can monitor caches using +a periodic task or an 'inprocess' thread can be used - but this last option +seriously limits Galaxy's ability to scale. The default of 'auto' will use +'celery' if 'enable_celery_tasks' is set to true or 'inprocess' otherwise. +This option serves as the default for all object stores and can be overridden +on a per object store basis (but don't - just setup tmpwatch for all relevant +cache paths). +""", + ) + object_store_cache_monitor_interval: Optional[int] = Field( + None, + title="Object Store Cache Monitor Interval", + description="""For object store cache monitoring done by Galaxy, this is the interval between +cache checking steps. This is used by both inprocess cache monitors (which we +recommend you do not use) and by the celery task if it is configured (by setting +enable_celery_tasks to true and not setting object_store_cache_monitor_driver to +external). +""", + ) + object_store_cache_path: Optional[str] = Field( + None, + title="Object Store Cache Path", + description="""Default cache path for caching object stores if cache not configured for +that object store entry. +""", + ) + object_store_cache_size: Optional[int] = Field( + None, + title="Object Store Cache Size", + description="""Default cache size for caching object stores if cache not configured for +that object store entry. +""", + ) + object_store_store_by: Optional[str] = Field( + None, + title="Object Store Store By", + description="""What Dataset attribute is used to reference files in an ObjectStore implementation, +this can be 'uuid' or 'id'. The default will depend on how the object store is configured, +starting with 20.05 Galaxy will try to default to 'uuid' if it can be sure this +is a new Galaxy instance - but the default will be 'id' in many cases. In particular, +if the name of the directory set in is `objects`, the default will be set +to 'uuid', otherwise it will be 'id'. +""", + ) + smtp_server: Optional[str] = Field( + None, + title="Smtp Server", + description="""Galaxy sends mail for various things: subscribing users to the mailing list +if they request it, password resets, reporting dataset errors, and sending +activation emails. To do this, it needs to send mail through an SMTP server, +which you may define here (host:port). +Galaxy will automatically try STARTTLS but will continue upon failure. +""", + ) + smtp_username: Optional[str] = Field( + None, + title="Smtp Username", + description="""If your SMTP server requires a username and password, you can provide them +here (password in cleartext here, but if your server supports STARTTLS it +will be sent over the network encrypted). +""", + ) + smtp_password: Optional[str] = Field( + None, + title="Smtp Password", + description="""If your SMTP server requires a username and password, you can provide them +here (password in cleartext here, but if your server supports STARTTLS it +will be sent over the network encrypted). +""", + ) + smtp_ssl: Optional[bool] = Field( + None, + title="Smtp Ssl", + description="""If your SMTP server requires SSL from the beginning of the connection +""", + ) + mailing_join_addr: Optional[str] = Field( + None, + title="Mailing Join Addr", + description="""On the user registration form, users may choose to join a mailing list. This +is the address used to subscribe to the list. Uncomment and leave empty if you +want to remove this option from the user registration form. + +Example value 'galaxy-announce-join@lists.galaxyproject.org' +""", + ) + mailing_join_subject: Optional[str] = Field( + None, + title="Mailing Join Subject", + description="""The subject of the email sent to the mailing list join address. See the +`mailing_join_addr` option for more information. +""", + ) + mailing_join_body: Optional[str] = Field( + None, + title="Mailing Join Body", + description="""The body of the email sent to the mailing list join address. See the +`mailing_join_addr` option for more information. +""", + ) + error_email_to: Optional[str] = Field( + None, + title="Error Email To", + description="""Datasets in an error state include a link to report the error. Those reports +will be sent to this address. Error reports are disabled if no address is +set. Also this email is shown as a contact to user in case of Galaxy +misconfiguration and other events user may encounter. +""", + ) + email_from: Optional[str] = Field( + None, + title="Email From", + description="""Email address to use in the 'From' field when sending emails for +account activations, workflow step notifications, password resets, and +tool error reports. We recommend using a string in the following format: +Galaxy Project . +If not configured, '' will be used. +""", + ) + custom_activation_email_message: Optional[str] = Field( + None, + title="Custom Activation Email Message", + description="""This text will be inserted at the end of the activation email's message, before +the 'Your Galaxy Team' signature. +""", + ) + instance_resource_url: Optional[str] = Field( + None, + title="Instance Resource Url", + description="""URL of the support resource for the galaxy instance. Used in activation +emails. + +Example value 'https://galaxyproject.org/' +""", + ) + email_domain_blocklist_file: Optional[str] = Field( + None, + title="Email Domain Blocklist File", + description="""E-mail domains blocklist is used for filtering out users that are using +disposable email addresses at registration. If their address's base domain +matches any domain on the list, they are refused registration. Address subdomains +are ignored (both 'name@spam.com' and 'name@foo.spam.com' will match 'spam.com'). + +Example value 'email_blocklist.conf' + +The value of this option will be resolved with respect to . +""", + ) + email_domain_allowlist_file: Optional[str] = Field( + None, + title="Email Domain Allowlist File", + description="""E-mail domains allowlist is used to specify allowed email address domains. +If the list is non-empty and a user attempts registration using an email +address belonging to a domain that is not on the list, registration will be +denied. Unlike which matches the address's +base domain, here email addresses are matched against the full domain (base + subdomain). +This is a more restrictive option than , and +therefore, in case is set and is not empty, + will be ignored. + +Example value 'email_allowlist.conf' + +The value of this option will be resolved with respect to . +""", + ) + registration_warning_message: Optional[str] = Field( + None, + title="Registration Warning Message", + description="""Registration warning message is used to discourage people from registering +multiple accounts. Applies mostly for the main Galaxy instance. +If no message specified the warning box will not be shown. +""", + ) + user_activation_on: Optional[bool] = Field( + None, + title="User Activation On", + description="""User account activation feature global flag. If set to false, the rest of +the Account activation configuration is ignored and user activation is +disabled (i.e. accounts are active since registration). +The activation is also not working in case the SMTP server is not defined. +""", + ) + activation_grace_period: Optional[int] = Field( + None, + title="Activation Grace Period", + description="""Activation grace period (in hours). Activation is not forced (login is not +disabled) until grace period has passed. Users under grace period can't run +jobs. Enter 0 to disable grace period. +""", + ) + inactivity_box_content: Optional[str] = Field( + None, + title="Inactivity Box Content", + description="""Shown in warning box to users that were not activated yet. +In use only if activation_grace_period is set. +""", + ) + password_expiration_period: Optional[int] = Field( + None, + title="Password Expiration Period", + description="""Password expiration period (in days). Users are required to change their +password every x days. Users will be redirected to the change password +screen when they log in after their password expires. Enter 0 to disable +password expiration. +""", + ) + enable_account_interface: Optional[bool] = Field( + None, + title="Enable Account Interface", + description="""Allow users to manage their account data, change passwords or delete their +accounts. +""", + ) + session_duration: Optional[int] = Field( + None, + title="Session Duration", + description="""Galaxy Session Timeout +This provides a timeout (in minutes) after which a user will have to log back in. +A duration of 0 disables this feature. +""", + ) + ga_code: Optional[str] = Field( + None, + title="Ga Code", + description="""You can enter tracking code here to track visitor's behavior +through your Google Analytics account. Example: UA-XXXXXXXX-Y +""", + ) + plausible_server: Optional[str] = Field( + None, + title="Plausible Server", + description="""Please enter the URL for the Plausible server (including https) so this can be used for tracking +with Plausible (https://plausible.io/). +""", + ) + plausible_domain: Optional[str] = Field( + None, + title="Plausible Domain", + description="""Please enter the URL for the Galaxy server so this can be used for tracking +with Plausible (https://plausible.io/). +""", + ) + matomo_server: Optional[str] = Field( + None, + title="Matomo Server", + description="""Please enter the URL for the Matomo server (including https) so this can be used for tracking +with Matomo (https://matomo.org/). +""", + ) + matomo_site_id: Optional[str] = Field( + None, + title="Matomo Site Id", + description="""Please enter the site ID for the Matomo server so this can be used for tracking +with Matomo (https://matomo.org/). +""", + ) + display_servers: Optional[str] = Field( + None, + title="Display Servers", + description="""Galaxy can display data at various external browsers. These options specify +which browsers should be available. URLs and builds available at these +browsers are defined in the specified files. + +If use_remote_user is set to true, display application servers will be denied access +to Galaxy and so displaying datasets in these sites will fail. +display_servers contains a list of hostnames which should be allowed to +bypass security to display datasets. Please be aware that there are security +implications if this is allowed. More details (including required changes to +the proxy server config) are available in the Apache proxy documentation on +the Galaxy Community Hub. + +The list of servers in this sample config are for the UCSC Main, Test and +Archaea browsers, but the default if left commented is to not allow any +display sites to bypass security (you must uncomment the line below to allow +them). +""", + ) + enable_old_display_applications: Optional[bool] = Field( + None, + title="Enable Old Display Applications", + description="""Set this to false to disable the old-style display applications that +are hardcoded into datatype classes. +This may be desirable due to using the new-style, XML-defined, display +applications that have been defined for many of the datatypes that have the +old-style. +There is also a potential security concern with the old-style applications, +where a malicious party could provide a link that appears to reference the +Galaxy server, but contains a redirect to a third-party server, tricking a +Galaxy user to access said site. +""", + ) + aws_estimate: Optional[bool] = Field( + None, + title="Aws Estimate", + description="""This flag enables an AWS cost estimate for every job based on their runtime matrices. +CPU, RAM and runtime usage is mapped against AWS pricing table. +Please note, that those numbers are only estimates. +""", + ) + carbon_emission_estimates: Optional[bool] = Field( + None, + title="Carbon Emission Estimates", + description="""This flag enables carbon emissions estimates for every job based on its runtime metrics. +CPU and RAM usage and the total job runtime are used to determine an estimate value. +These estimates and are based off of the work of the Green Algorithms Project and +the United States Environmental Protection Agency (EPA). +Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. +for more detals. +""", + ) + geographical_server_location_code: Optional[str] = Field( + None, + title="Geographical Server Location Code", + description="""The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. +This is used to make carbon emissions estimates more accurate as the location effects the +carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the +`geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, +visit https://galaxyproject.org/admin/carbon_emissions +""", + ) + power_usage_effectiveness: Optional[float] = Field( + None, + title="Power Usage Effectiveness", + description="""The estimated power usage effectiveness of the data centre housing the server your galaxy +instance is running on. This can make carbon emissions estimates more accurate. +For more information on how to calculate a PUE value, visit +https://en.wikipedia.org/wiki/Power_usage_effectiveness +""", + ) + interactivetools_enable: Optional[bool] = Field( + None, + title="Interactivetools Enable", + description="""Enable InteractiveTools. +""", + ) + interactivetools_upstream_proxy: Optional[bool] = Field( + None, + title="Interactivetools Upstream Proxy", + description="""Set this to false to redirect users of Interactive tools directly to the Interactive tools proxy. `interactivetools_upstream_proxy` should only be set to false in development.""", + ) + interactivetools_proxy_host: Optional[str] = Field( + None, + title="Interactivetools Proxy Host", + description="""Hostname and port of Interactive tools proxy. It is assumed to be hosted on the same hostname and port as +Galaxy by default. +""", + ) + interactivetools_base_path: Optional[str] = Field( + None, + title="Interactivetools Base Path", + description="""Base path for interactive tools running at a subpath without a subdomain. Defaults to "/". +""", + ) + interactivetools_map: Optional[str] = Field( + None, + title="Interactivetools Map", + description="""Map for interactivetool proxy. +""", + ) + interactivetools_prefix: Optional[str] = Field( + None, + title="Interactivetools Prefix", + description="""Prefix to use in the formation of the subdomain or path for interactive tools +""", + ) + interactivetools_shorten_url: Optional[bool] = Field( + None, + title="Interactivetools Shorten Url", + description="""Shorten the uuid portion of the subdomain or path for interactive tools. +Especially useful for avoiding the need for wildcard certificates by keeping +subdomain under 63 chars +""", + ) + retry_interactivetool_metadata_internally: Optional[bool] = Field( + None, + title="Retry Interactivetool Metadata Internally", + description="""Galaxy Interactive Tools (GxITs) can be stopped from within the Galaxy +interface, killing the GxIT job without completing its metadata setting post-job +steps. In such a case it may be desirable to set metadata on job outputs +internally (in the Galaxy job handler process). The default is is the value of +`retry_metadata_internally`, which defaults to `true`. +""", + ) + visualizations_visible: Optional[bool] = Field( + None, + title="Visualizations Visible", + description="""Show visualization tab and list in masthead. +""", + ) + message_box_visible: Optional[bool] = Field( + None, + title="Message Box Visible", + description="""Show a message box under the masthead. +""", + ) + message_box_content: Optional[str] = Field( + None, + title="Message Box Content", + description="""Show a message box under the masthead. +""", + ) + message_box_class: Optional[str] = Field( + None, + title="Message Box Class", + description="""Class of the message box under the masthead. Possible values are: +'info' (the default), 'warning', 'error', 'done'. +""", + ) + brand: Optional[str] = Field( + None, + title="Brand", + description="""Append "{brand}" text to the masthead. +""", + ) + display_galaxy_brand: Optional[bool] = Field( + None, + title="Display Galaxy Brand", + description="""This option has been deprecated, use the `logo_src` instead to change the +default logo including the galaxy brand title. +""", + ) + pretty_datetime_format: Optional[str] = Field( + None, + title="Pretty Datetime Format", + description="""Format string used when showing date and time information. +The string may contain: +- the directives used by Python time.strftime() function (see + https://docs.python.org/library/time.html#time.strftime), +- $locale (complete format string for the server locale), +- $iso8601 (complete format string as specified by ISO 8601 international + standard). +""", + ) + trs_servers_config_file: Optional[str] = Field( + None, + title="Trs Servers Config File", + description="""Allow import of workflows from the TRS servers configured in +the specified YAML or JSON file. The file should be a list with +'id', 'label', and 'api_url' for each entry. Optionally, +'link_url' and 'doc' may be be specified as well for each entry. + +If this is null (the default), a simple configuration containing +just Dockstore will be used. +""", + ) + user_preferences_extra_conf_path: Optional[str] = Field( + None, + title="User Preferences Extra Conf Path", + description="""Location of the configuration file containing extra user preferences. +""", + ) + default_locale: Optional[str] = Field( + None, + title="Default Locale", + description="""Default localization for Galaxy UI. +Allowed values are listed at the end of client/src/nls/locale.js. +With the default value (auto), the locale will be automatically adjusted to +the user's navigator language. +Users can override this settings in their user preferences if the localization +settings are enabled in user_preferences_extra_conf.yml +""", + ) + galaxy_url_prefix: Optional[str] = Field( + None, + title="Galaxy Url Prefix", + description="""URL prefix for Galaxy application. If Galaxy should be served under a prefix set this to +the desired prefix value. +""", + ) + galaxy_infrastructure_url: Optional[str] = Field( + None, + title="Galaxy Infrastructure Url", + description="""URL (with schema http/https) of the Galaxy instance as accessible +within your local network. This URL is used as a default by pulsar +file staging and Interactive Tool containers for communicating back with +Galaxy via the API. + +If you plan to run Interactive Tools make sure the docker container +can reach this URL. +""", + ) + galaxy_infrastructure_web_port: Optional[int] = Field( + None, + title="Galaxy Infrastructure Web Port", + description="""If the above URL cannot be determined ahead of time in dynamic environments +but the port which should be used to access Galaxy can be - this should be +set to prevent Galaxy from having to guess. For example if Galaxy is sitting +behind a proxy with REMOTE_USER enabled - infrastructure shouldn't talk to +Python processes directly and this should be set to 80 or 443, etc... If +unset this file will be read for a server block defining a port corresponding +to the webapp. +""", + ) + welcome_url: Optional[str] = Field( + None, + title="Welcome Url", + description="""The URL of the page to display in Galaxy's middle pane when loaded. This can +be an absolute or relative URL. +""", + ) + logo_url: Optional[str] = Field( + None, + title="Logo Url", + description="""The URL linked by the "Galaxy/brand" text. +""", + ) + logo_src: Optional[str] = Field( + None, + title="Logo Src", + description="""The brand image source. +""", + ) + logo_src_secondary: Optional[str] = Field( + None, + title="Logo Src Secondary", + description="""The custom brand image source. +""", + ) + helpsite_url: str = Field( + "https://help.galaxyproject.org/", + title="Helpsite Url", + description="""The URL linked by the "Galaxy Help" link in the "Help" menu. +""", + ) + wiki_url: Optional[str] = Field( + None, + title="Wiki Url", + description="""The URL linked by the "Community Hub" link in the "Help" menu. +""", + ) + quota_url: Optional[str] = Field( + None, + title="Quota Url", + description="""The URL linked for quota information in the UI. +""", + ) + support_url: Optional[str] = Field( + None, + title="Support Url", + description="""The URL linked by the "Support" link in the "Help" menu. +""", + ) + citation_url: Optional[str] = Field( + None, + title="Citation Url", + description="""The URL linked by the "How to Cite Galaxy" link in the "Help" menu. +""", + ) + release_doc_base_url: Optional[str] = Field( + None, + title="Release Doc Base Url", + description="""The URL linked by the "Galaxy Version" link in the "Help" menu. +""", + ) + screencasts_url: Optional[str] = Field( + None, + title="Screencasts Url", + description="""The URL linked by the "Videos" link in the "Help" menu. +""", + ) + terms_url: Optional[str] = Field( + None, + title="Terms Url", + description="""The URL linked by the "Terms and Conditions" link in the "Help" menu, as well +as on the user registration and login forms and in the activation emails. +""", + ) + static_enabled: Optional[bool] = Field( + None, + title="Static Enabled", + description="""Serve static content, which must be enabled if you're not serving it via a +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy +server) to point to your own styles. +""", + ) + static_cache_time: Optional[int] = Field( + None, + title="Static Cache Time", + description="""Serve static content, which must be enabled if you're not serving it via a +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy +server) to point to your own styles. +""", + ) + static_dir: Optional[str] = Field( + None, + title="Static Dir", + description="""Serve static content, which must be enabled if you're not serving it via a +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy +server) to point to your own styles. +""", + ) + static_images_dir: Optional[str] = Field( + None, + title="Static Images Dir", + description="""Serve static content, which must be enabled if you're not serving it via a +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy +server) to point to your own styles. +""", + ) + static_favicon_dir: Optional[str] = Field( + None, + title="Static Favicon Dir", + description="""Serve static content, which must be enabled if you're not serving it via a +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy +server) to point to your own styles. +""", + ) + static_scripts_dir: Optional[str] = Field( + None, + title="Static Scripts Dir", + description="""Serve static content, which must be enabled if you're not serving it via a +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy +server) to point to your own styles. +""", + ) + static_style_dir: Optional[str] = Field( + None, + title="Static Style Dir", + description="""Serve static content, which must be enabled if you're not serving it via a +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy +server) to point to your own styles. +""", + ) + static_robots_txt: Optional[str] = Field( + None, + title="Static Robots Txt", + description="""Serve static content, which must be enabled if you're not serving it via a +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy +server) to point to your own styles. +""", + ) + display_chunk_size: Optional[int] = Field( + None, + title="Display Chunk Size", + description="""Incremental Display Options +""", + ) + apache_xsendfile: Optional[bool] = Field( + None, + title="Apache Xsendfile", + description="""For help on configuring the Advanced proxy features, see: +https://docs.galaxyproject.org/en/master/admin/production.html + +Apache can handle file downloads (Galaxy-to-user) via mod_xsendfile. Set +this to true to inform Galaxy that mod_xsendfile is enabled upstream. +""", + ) + nginx_x_accel_redirect_base: Optional[str] = Field( + None, + title="Nginx X Accel Redirect Base", + description="""The same download handling can be done by nginx using X-Accel-Redirect. This +should be set to the path defined in the nginx config as an internal redirect +with access to Galaxy's data files (see documentation linked above). +""", + ) + upstream_gzip: Optional[bool] = Field( + None, + title="Upstream Gzip", + description="""If using compression in the upstream proxy server, use this option to disable +gzipping of dataset collection and library archives, since the upstream server +will do it faster on the fly. To enable compression add ``application/zip`` +to the proxy's compressable mimetypes. +""", + ) + upstream_mod_zip: Optional[bool] = Field( + None, + title="Upstream Mod Zip", + description="""If using the mod-zip module in nginx, use this option to assemble +zip archives in nginx. This is preferable over the upstream_gzip option +as Galaxy does not need to serve the archive. +Requires setting up internal nginx locations to all paths that can be archived. +See https://docs.galaxyproject.org/en/master/admin/nginx.html#creating-archives-with-mod-zip +for details. +""", + ) + x_frame_options: Optional[str] = Field( + None, + title="X Frame Options", + description="""The following default adds a header to web request responses that +will cause modern web browsers to not allow Galaxy to be embedded in +the frames of web applications hosted at other hosts - this can help +prevent a class of attack called clickjacking +(https://www.owasp.org/index.php/Clickjacking). If you configure a +proxy in front of Galaxy - please ensure this header remains intact +to protect your users. Uncomment and leave empty to not set the +`X-Frame-Options` header. +""", + ) + nginx_upload_store: Optional[str] = Field( + None, + title="Nginx Upload Store", + description="""nginx can also handle file uploads (user-to-Galaxy) via nginx_upload_module. +Configuration for this is complex and explained in detail in the +documentation linked above. The upload store is a temporary directory in +which files uploaded by the upload module will be placed. +""", + ) + nginx_upload_path: Optional[str] = Field( + None, + title="Nginx Upload Path", + description="""This value overrides the action set on the file upload form, e.g. the web +path where the nginx_upload_module has been configured to intercept upload +requests. +""", + ) + nginx_upload_job_files_store: Optional[str] = Field( + None, + title="Nginx Upload Job Files Store", + description="""Galaxy can also use nginx_upload_module to receive files staged out upon job +completion by remote job runners (i.e. Pulsar) that initiate staging +operations on the remote end. See the Galaxy nginx documentation for the +corresponding nginx configuration. +""", + ) + nginx_upload_job_files_path: Optional[str] = Field( + None, + title="Nginx Upload Job Files Path", + description="""Galaxy can also use nginx_upload_module to receive files staged out upon job +completion by remote job runners (i.e. Pulsar) that initiate staging +operations on the remote end. See the Galaxy nginx documentation for the +corresponding nginx configuration. +""", + ) + tus_upload_store: Optional[str] = Field( + None, + title="Tus Upload Store", + description="""The upload store is a temporary directory in which files uploaded by the +tus middleware or server will be placed. +Defaults to new_file_path if not set. +""", + ) + chunk_upload_size: Optional[int] = Field( + None, + title="Chunk Upload Size", + description="""Galaxy can upload user files in chunks without using nginx. Enable the chunk +uploader by specifying a chunk size larger than 0. The chunk size is specified +in bytes (default: 10MB). +""", + ) + dynamic_proxy_manage: Optional[bool] = Field( + None, + title="Dynamic Proxy Manage", + description="""Have Galaxy manage dynamic proxy component for routing requests to other +services based on Galaxy's session cookie. It will attempt to do this by +default though you do need to install node+npm and do an npm install from +`lib/galaxy/web/proxy/js`. It is generally more robust to configure this +externally, managing it in the same way Galaxy itself is managed. If true, Galaxy will only +launch the proxy if it is actually going to be used (e.g. for Jupyter). +""", + ) + dynamic_proxy: Optional[str] = Field( + None, + title="Dynamic Proxy", + description="""As of 16.04 Galaxy supports multiple proxy types. The original NodeJS +implementation, alongside a new Golang single-binary-no-dependencies +version. Valid values are (node, golang) +""", + ) + dynamic_proxy_session_map: Optional[str] = Field( + None, + title="Dynamic Proxy Session Map", + description="""The NodeJS dynamic proxy can use an SQLite database or a JSON file for IPC, +set that here. +""", + ) + dynamic_proxy_bind_port: Optional[int] = Field( + None, + title="Dynamic Proxy Bind Port", + description="""Set the port and IP for the dynamic proxy to bind to, this must match +the external configuration if dynamic_proxy_manage is set to false. +""", + ) + dynamic_proxy_bind_ip: Optional[str] = Field( + None, + title="Dynamic Proxy Bind Ip", + description="""Set the port and IP for the dynamic proxy to bind to, this must match +the external configuration if dynamic_proxy_manage is set to false. +""", + ) + dynamic_proxy_debug: Optional[bool] = Field( + None, + title="Dynamic Proxy Debug", + description="""Enable verbose debugging of Galaxy-managed dynamic proxy. +""", + ) + dynamic_proxy_external_proxy: Optional[bool] = Field( + None, + title="Dynamic Proxy External Proxy", + description="""The dynamic proxy is proxied by an external proxy (e.g. apache frontend to +nodejs to wrap connections in SSL). +""", + ) + dynamic_proxy_prefix: Optional[str] = Field( + None, + title="Dynamic Proxy Prefix", + description="""Additionally, when the dynamic proxy is proxied by an upstream server, you'll +want to specify a prefixed URL so both Galaxy and the proxy reside under the +same path that your cookies are under. This will result in a url like +https://FQDN/galaxy-prefix/gie_proxy for proxying +""", + ) + dynamic_proxy_golang_noaccess: Optional[int] = Field( + None, + title="Dynamic Proxy Golang Noaccess", + description="""This attribute governs the minimum length of time between consecutive HTTP/WS +requests through the proxy, before the proxy considers a container as being +inactive and kills it. +""", + ) + dynamic_proxy_golang_clean_interval: Optional[int] = Field( + None, + title="Dynamic Proxy Golang Clean Interval", + description="""In order to kill containers, the golang proxy has to check at some interval +for possibly dead containers. This is exposed as a configurable parameter, +but the default value is probably fine. +""", + ) + dynamic_proxy_golang_docker_address: Optional[str] = Field( + None, + title="Dynamic Proxy Golang Docker Address", + description="""The golang proxy needs to know how to talk to your docker daemon. Currently +TLS is not supported, that will come in an update. +""", + ) + dynamic_proxy_golang_api_key: Optional[str] = Field( + None, + title="Dynamic Proxy Golang Api Key", + description="""The golang proxy uses a RESTful HTTP API for communication with Galaxy +instead of a JSON or SQLite file for IPC. If you do not specify this, it will +be set randomly for you. You should set this if you are managing the proxy +manually. +""", + ) + auto_configure_logging: Optional[bool] = Field( + None, + title="Auto Configure Logging", + description="""If true, Galaxy will attempt to configure a simple root logger if a +"loggers" section does not appear in this configuration file. +""", + ) + log_destination: Optional[str] = Field( + None, + title="Log Destination", + description="""Log destination, defaults to special value "stdout" that logs to standard output. If set to anything else, +then it will be interpreted as a path that will be used as the log file, and logging to stdout will be +disabled. +""", + ) + log_rotate_size: Optional[str] = Field( + None, + title="Log Rotate Size", + description="""Size of log file at which size it will be rotated as per the documentation in +https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler +If log_rotate_count is not also set, no log rotation will be performed. A value of 0 (the default) means no +rotation. Size can be a number of bytes or a human-friendly representation like "100 MB" or "1G". +""", + ) + log_rotate_count: Optional[int] = Field( + None, + title="Log Rotate Count", + description="""Number of log file backups to keep, per the documentation in +https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler +Any additional rotated log files will automatically be pruned. If log_rotate_size is not also set, no log +rotation will be performed. A value of 0 (the default) means no rotation. +""", + ) + log_level: Optional[str] = Field( + None, + title="Log Level", + description="""Verbosity of console log messages. Acceptable values can be found here: +https://docs.python.org/library/logging.html#logging-levels +A custom debug level of "TRACE" is available for even more verbosity. +""", + ) + logging: Optional[Dict[str, Any]] = Field( + None, + title="Logging", + description="""Controls where and how the server logs messages. If set, overrides all settings in the log_* configuration +options. Configuration is described in the documentation at: +https://docs.galaxyproject.org/en/master/admin/config_logging.html +""", + ) + database_engine_option_echo: Optional[bool] = Field( + None, + title="Database Engine Option Echo", + description="""Print database operations to the server log (warning, quite verbose!). +""", + ) + database_engine_option_echo_pool: Optional[bool] = Field( + None, + title="Database Engine Option Echo Pool", + description="""Print database pool operations to the server log (warning, quite verbose!). +""", + ) + log_events: Optional[bool] = Field( + None, + title="Log Events", + description="""Turn on logging of application events and some user events to the database. +""", + ) + log_actions: Optional[bool] = Field( + None, + title="Log Actions", + description="""Turn on logging of user actions to the database. Actions currently logged +are grid views, tool searches, and use of "recently" used tools menu. The +log_events and log_actions functionality will eventually be merged. +""", + ) + fluent_log: Optional[bool] = Field( + None, + title="Fluent Log", + description="""Fluentd configuration. Various events can be logged to the fluentd instance +configured below by enabling fluent_log. +""", + ) + fluent_host: Optional[str] = Field( + None, + title="Fluent Host", + description="""Fluentd configuration. Various events can be logged to the fluentd instance +configured below by enabling fluent_log. +""", + ) + fluent_port: Optional[int] = Field( + None, + title="Fluent Port", + description="""Fluentd configuration. Various events can be logged to the fluentd instance +configured below by enabling fluent_log. +""", + ) + sanitize_all_html: Optional[bool] = Field( + None, + title="Sanitize All Html", + description="""Sanitize all HTML tool output. By default, all tool output served as +'text/html' will be sanitized thoroughly. This can be disabled if you have +special tools that require unaltered output. WARNING: disabling this does +make the Galaxy instance susceptible to XSS attacks initiated by your users. +""", + ) + sanitize_allowlist_file: Optional[str] = Field( + None, + title="Sanitize Allowlist File", + description="""Datasets created by tools listed in this file are trusted and will not have +their HTML sanitized on display. This can be manually edited or manipulated +through the Admin control panel -- see "Manage Allowlist" + +The value of this option will be resolved with respect to . +""", + ) + serve_xss_vulnerable_mimetypes: Optional[bool] = Field( + None, + title="Serve Xss Vulnerable Mimetypes", + description="""By default Galaxy will serve non-HTML tool output that may potentially +contain browser executable JavaScript content as plain text. This will for +instance cause SVG datasets to not render properly and so may be disabled +by setting this option to true. +""", + ) + allowed_origin_hostnames: Optional[str] = Field( + None, + title="Allowed Origin Hostnames", + description="""Return a Access-Control-Allow-Origin response header that matches the Origin +header of the request if that Origin hostname matches one of the strings or +regular expressions listed here. This is a comma-separated list of hostname +strings or regular expressions beginning and ending with /. +E.g. mysite.com,google.com,usegalaxy.org,/^[\w\.]*example\.com/ +See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS +""", + ) + trust_jupyter_notebook_conversion: Optional[bool] = Field( + None, + title="Trust Jupyter Notebook Conversion", + description="""Set to true to use Jupyter nbconvert to build HTML from Jupyter +notebooks in Galaxy histories. This process may allow users to execute +arbitrary code or serve arbitrary HTML. If enabled, Jupyter must be +available and on Galaxy's PATH, to do this run +`pip install jinja2 pygments jupyter` in Galaxy's virtualenv. +""", + ) + debug: Optional[bool] = Field( + None, + title="Debug", + description="""Debug enables access to various config options useful for development +and debugging: use_lint, use_profile, and use_printdebug. It also +causes the files used by PBS/SGE (submission script, output, and error) +to remain on disk after the job is complete. +""", + ) + use_lint: Optional[bool] = Field( + None, + title="Use Lint", + description="""Check for WSGI compliance. +""", + ) + use_profile: Optional[bool] = Field( + None, + title="Use Profile", + description="""Run the Python profiler on each request. +""", + ) + use_printdebug: Optional[bool] = Field( + None, + title="Use Printdebug", + description="""Intercept print statements and show them on the returned page. +""", + ) + monitor_thread_join_timeout: Optional[int] = Field( + None, + title="Monitor Thread Join Timeout", + description="""When stopping Galaxy cleanly, how much time to give various monitoring/polling +threads to finish before giving up on joining them. Set to 0 to disable this and +terminate without waiting. Among others, these threads include the job handler +workers, which are responsible for preparing/submitting and collecting/finishing +jobs, and which can cause job errors if not shut down cleanly. If using +supervisord, consider also increasing the value of `stopwaitsecs`. See the +Galaxy Admin Documentation for more. +""", + ) + use_heartbeat: Optional[bool] = Field( + None, + title="Use Heartbeat", + description="""Write thread status periodically to 'heartbeat.log', (careful, uses disk +space rapidly!). Useful to determine why your processes may be consuming a +lot of CPU. +""", + ) + heartbeat_interval: Optional[int] = Field( + None, + title="Heartbeat Interval", + description="""Control the period (in seconds) between dumps. Use -1 to disable. Regardless +of this setting, if use_heartbeat is enabled, you can send a Galaxy process +SIGUSR1 (`kill -USR1`) to force a dump. +""", + ) + heartbeat_log: Optional[str] = Field( + None, + title="Heartbeat Log", + description="""Heartbeat log filename. Can accept the template variables {server_name} and {pid} +""", + ) + sentry_dsn: Optional[str] = Field( + None, + title="Sentry Dsn", + description="""Log to Sentry +Sentry is an open source logging and error aggregation platform. Setting +sentry_dsn will enable the Sentry middleware and errors will be sent to the +indicated sentry instance. This connection string is available in your +sentry instance under -> Settings -> API Keys. +""", + ) + sentry_event_level: Optional[str] = Field( + None, + title="Sentry Event Level", + description="""Determines the minimum log level that will be sent as an event to Sentry. +Possible values are DEBUG, INFO, WARNING, ERROR or CRITICAL. +""", + ) + sentry_traces_sample_rate: Optional[float] = Field( + None, + title="Sentry Traces Sample Rate", + description="""Set to a number between 0 and 1. With this option set, every transaction created +will have that percentage chance of being sent to Sentry. A value higher than 0 +is required to analyze performance. +""", + ) + sentry_ca_certs: Optional[str] = Field( + None, + title="Sentry Ca Certs", + description="""Use this option to provide the path to location of the CA (Certificate Authority) +certificate file if the sentry server uses a self-signed certificate. +""", + ) + statsd_host: Optional[str] = Field( + None, + title="Statsd Host", + description="""Log to statsd +Statsd is an external statistics aggregator (https://github.com/etsy/statsd) +Enabling the following options will cause galaxy to log request timing and +other statistics to the configured statsd instance. The statsd_prefix is +useful if you are running multiple Galaxy instances and want to segment +statistics between them within the same aggregator. +""", + ) + statsd_port: Optional[int] = Field( + None, + title="Statsd Port", + description="""Log to statsd +Statsd is an external statistics aggregator (https://github.com/etsy/statsd) +Enabling the following options will cause galaxy to log request timing and +other statistics to the configured statsd instance. The statsd_prefix is +useful if you are running multiple Galaxy instances and want to segment +statistics between them within the same aggregator. +""", + ) + statsd_prefix: Optional[str] = Field( + None, + title="Statsd Prefix", + description="""Log to statsd +Statsd is an external statistics aggregator (https://github.com/etsy/statsd) +Enabling the following options will cause galaxy to log request timing and +other statistics to the configured statsd instance. The statsd_prefix is +useful if you are running multiple Galaxy instances and want to segment +statistics between them within the same aggregator. +""", + ) + statsd_influxdb: Optional[bool] = Field( + None, + title="Statsd Influxdb", + description="""If you are using telegraf to collect these metrics and then sending +them to InfluxDB, Galaxy can provide more nicely tagged metrics. +Instead of sending prefix + dot-separated-path, Galaxy will send +prefix with a tag path set to the page url +""", + ) + statsd_mock_calls: Optional[bool] = Field( + None, + title="Statsd Mock Calls", + description="""Mock out statsd client calls - only used by testing infrastructure really. +Do not set this in production environments. +""", + ) + library_import_dir: Optional[str] = Field( + None, + title="Library Import Dir", + description="""Add an option to the library upload form which allows administrators to +upload a directory of files. +""", + ) + user_library_import_dir: Optional[str] = Field( + None, + title="User Library Import Dir", + description="""Add an option to the library upload form which allows authorized +non-administrators to upload a directory of files. The configured directory +must contain sub-directories named the same as the non-admin user's Galaxy +login ( email ). The non-admin user is restricted to uploading files or +sub-directories of files contained in their directory. +""", + ) + user_library_import_dir_auto_creation: Optional[bool] = Field( + None, + title="User Library Import Dir Auto Creation", + description="""If user_library_import_dir is set, this option will auto create a library +import directory for every user (based on their email) upon login. +""", + ) + user_library_import_symlink_allowlist: Optional[str] = Field( + None, + title="User Library Import Symlink Allowlist", + description="""For security reasons, users may not import any files that actually lie +outside of their `user_library_import_dir` (e.g. using symbolic links). A +list of directories can be allowed by setting the following option (the list +is comma-separated). Be aware that *any* user with library import permissions +can import from anywhere in these directories (assuming they are able to +create symlinks to them). +""", + ) + user_library_import_check_permissions: Optional[bool] = Field( + None, + title="User Library Import Check Permissions", + description="""In conjunction or alternatively, Galaxy can restrict user library imports to +those files that the user can read (by checking basic unix permissions). +For this to work, the username has to match the username on the filesystem. +""", + ) + allow_path_paste: Optional[bool] = Field( + None, + title="Allow Path Paste", + description="""Allow admins to paste filesystem paths during upload. For libraries this +adds an option to the admin library upload tool allowing admins to paste +filesystem paths to files and directories in a box, and these paths will be +added to a library. For history uploads, this allows pasting in paths as URIs. +(i.e. prefixed with file://). Set to true to enable. Please note the security +implication that this will give Galaxy Admins access to anything your Galaxy +user has access to. +""", + ) + disable_library_comptypes: Optional[str] = Field( + None, + title="Disable Library Comptypes", + description="""Users may choose to download multiple files from a library in an archive. By +default, Galaxy allows users to select from a few different archive formats +if testing shows that Galaxy is able to create files using these formats. +Specific formats can be disabled with this option, separate more than one +format with commas. Available formats are currently 'zip', 'gz', and 'bz2'. +""", + ) + tool_name_boost: Optional[float] = Field( + None, + title="Tool Name Boost", + description="""In tool search, a query match against a tool's name text will receive +this score multiplier. +""", + ) + tool_name_exact_multiplier: Optional[float] = Field( + None, + title="Tool Name Exact Multiplier", + description="""If a search query matches a tool name exactly, the score will be +multiplied by this factor. +""", + ) + tool_id_boost: Optional[float] = Field( + None, + title="Tool Id Boost", + description="""In tool search, a query match against a tool's ID text will receive +this score multiplier. The query must be an exact match against ID +in order to be counted as a match. +""", + ) + tool_section_boost: Optional[float] = Field( + None, + title="Tool Section Boost", + description="""In tool search, a query match against a tool's section text will +receive this score multiplier. +""", + ) + tool_description_boost: Optional[float] = Field( + None, + title="Tool Description Boost", + description="""In tool search, a query match against a tool's description text will +receive this score multiplier. +""", + ) + tool_label_boost: Optional[float] = Field( + None, + title="Tool Label Boost", + description="""In tool search, a query match against a tool's label text will +receive this score multiplier. +""", + ) + tool_stub_boost: Optional[float] = Field( + None, + title="Tool Stub Boost", + description="""A stub is parsed from the GUID as "owner/repo/tool_id". +In tool search, a query match against a tool's stub text will receive +this score multiplier. +""", + ) + tool_help_boost: Optional[float] = Field( + None, + title="Tool Help Boost", + description="""In tool search, a query match against a tool's help text will receive +this score multiplier. +""", + ) + tool_help_bm25f_k1: Optional[float] = Field( + None, + title="Tool Help Bm25F K1", + description="""The lower this parameter, the greater the diminishing reward for +term frequency in the help text. A higher K1 increases the level +of reward for additional occurences of a term. The default value will +provide a slight increase in score for the first, second and third +occurrence and little reward thereafter. +""", + ) + tool_search_limit: Optional[int] = Field( + None, + title="Tool Search Limit", + description="""Limits the number of results in toolbox search. Use to set the +maximum number of tool search results to display. +""", + ) + tool_enable_ngram_search: Optional[bool] = Field( + None, + title="Tool Enable Ngram Search", + description="""Disabling this will prevent partial matches on tool names. +Enable/disable Ngram-search for tools. It makes tool +search results tolerant for spelling mistakes in the query, and will +also match query substrings e.g. "genome" will match "genomics" or +"metagenome". +""", + ) + tool_ngram_minsize: Optional[int] = Field( + None, + title="Tool Ngram Minsize", + description="""Set minimum character length of ngrams +""", + ) + tool_ngram_maxsize: Optional[int] = Field( + None, + title="Tool Ngram Maxsize", + description="""Set maximum character length of ngrams +""", + ) + tool_ngram_factor: Optional[float] = Field( + None, + title="Tool Ngram Factor", + description="""Ngram matched scores will be multiplied by this factor. Should always +be below 1, because an ngram match is a partial match of a search term. +""", + ) + tool_test_data_directories: Optional[str] = Field( + None, + title="Tool Test Data Directories", + description="""Set tool test data directory. The test framework sets this value to +'test-data,https://github.com/galaxyproject/galaxy-test-data.git' which will +cause Galaxy to clone down extra test data on the fly for certain tools +distributed with Galaxy but this is likely not appropriate for production systems. +Instead one can simply clone that repository directly and specify a path here +instead of a Git HTTP repository. +""", + ) + id_secret: Optional[str] = Field( + None, + title="Id Secret", + description="""Galaxy encodes various internal values when these values will be output in +some format (for example, in a URL or cookie). You should set a key to be +used by the algorithm that encodes and decodes these values. It can be any +string with a length between 5 and 56 bytes. +One simple way to generate a value for this is with the shell command: + python -c 'from __future__ import print_function; import time; print(time.time())' | md5sum | cut -f 1 -d ' ' +""", + ) + use_remote_user: Optional[bool] = Field( + None, + title="Use Remote User", + description="""User authentication can be delegated to an upstream proxy server (usually +Apache). The upstream proxy should set a REMOTE_USER header in the request. +Enabling remote user disables regular logins. For more information, see: +https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html +""", + ) + remote_user_maildomain: Optional[str] = Field( + None, + title="Remote User Maildomain", + description="""If use_remote_user is enabled and your external authentication +method just returns bare usernames, set a default mail domain to be appended +to usernames, to become your Galaxy usernames (email addresses). +""", + ) + remote_user_header: Optional[str] = Field( + None, + title="Remote User Header", + description="""If use_remote_user is enabled, the header that the upstream proxy provides +the remote username in defaults to HTTP_REMOTE_USER (the ``HTTP_`` is prepended +by WSGI). This option allows you to change the header. Note, you still need +to prepend ``HTTP_`` to the header in this option, but your proxy server should +*not* include ``HTTP_`` at the beginning of the header name. +""", + ) + remote_user_secret: Optional[str] = Field( + None, + title="Remote User Secret", + description="""If use_remote_user is enabled, anyone who can log in to the Galaxy host may +impersonate any other user by simply sending the appropriate header. Thus a +secret shared between the upstream proxy server, and Galaxy is required. +If anyone other than the Galaxy user is using the server, then apache/nginx +should pass a value in the header 'GX_SECRET' that is identical to the one +below. +""", + ) + remote_user_logout_href: Optional[str] = Field( + None, + title="Remote User Logout Href", + description="""If use_remote_user is enabled, you can set this to a URL that will log your +users out. +""", + ) + post_user_logout_href: Optional[str] = Field( + None, + title="Post User Logout Href", + description="""This is the default url to which users are redirected after they log out. +""", + ) + normalize_remote_user_email: Optional[bool] = Field( + None, + title="Normalize Remote User Email", + description="""If your proxy and/or authentication source does not normalize e-mail +addresses or user names being passed to Galaxy - set this option +to true to force these to lower case. +""", + ) + single_user: Optional[str] = Field( + None, + title="Single User", + description="""If an e-mail address is specified here, it will hijack remote user mechanics +(``use_remote_user``) and have the webapp inject a single fixed user. This +has the effect of turning Galaxy into a single user application with no +login or external proxy required. Such applications should not be exposed to +the world. +""", + ) + admin_users: Optional[str] = Field( + None, + title="Admin Users", + description="""Administrative users - set this to a comma-separated list of valid Galaxy +users (email addresses). These users will have access to the Admin section +of the server, and will have access to create users, groups, roles, +libraries, and more. For more information, see: + https://galaxyproject.org/admin/ +""", + ) + require_login: Optional[bool] = Field( + None, + title="Require Login", + description="""Force everyone to log in (disable anonymous access). +""", + ) + show_welcome_with_login: Optional[bool] = Field( + None, + title="Show Welcome With Login", + description="""Show the site's welcome page (see welcome_url) alongside the login page +(even if require_login is true). +""", + ) + prefer_custos_login: Optional[bool] = Field( + None, + title="Prefer Custos Login", + description="""Controls the order of the login page to prefer Custos-based login and registration. +""", + ) + allow_user_creation: Optional[bool] = Field( + None, + title="Allow User Creation", + description="""Allow unregistered users to create new accounts (otherwise, they will have to +be created by an admin). +""", + ) + allow_user_deletion: Optional[bool] = Field( + None, + title="Allow User Deletion", + description="""Allow administrators to delete accounts. +""", + ) + allow_user_impersonation: Optional[bool] = Field( + None, + title="Allow User Impersonation", + description="""Allow administrators to log in as other users (useful for debugging). +""", + ) + show_user_prepopulate_form: Optional[bool] = Field( + None, + title="Show User Prepopulate Form", + description="""When using LDAP for authentication, allow administrators to pre-populate users +using an additional form on 'Create new user' +""", + ) + upload_from_form_button: Optional[str] = Field( + None, + title="Upload From Form Button", + description="""If 'always-on', add another button to tool form data inputs that allow uploading +data from the tool form in fewer clicks (at the expense of making the form more +complicated). This applies to workflows as well. + +Avoiding making this a boolean because we may add options such as 'in-single-form-view' +or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109 +""", + ) + allow_user_dataset_purge: Optional[bool] = Field( + None, + title="Allow User Dataset Purge", + description="""Allow users to remove their datasets from disk immediately (otherwise, +datasets will be removed after a time period specified by an administrator in +the cleanup scripts run via cron) +""", + ) + new_user_dataset_access_role_default_private: Optional[bool] = Field( + None, + title="New User Dataset Access Role Default Private", + description="""By default, users' data will be public, but setting this to true will cause +it to be private. Does not affect existing users and data, only ones created +after this option is set. Users may still change their default back to +public. +""", + ) + expose_user_name: Optional[bool] = Field( + None, + title="Expose User Name", + description="""Expose user list. Setting this to true will expose the user list to +authenticated users. This makes sharing datasets in smaller galaxy instances +much easier as they can type a name/email and have the correct user show up. +This makes less sense on large public Galaxy instances where that data +shouldn't be exposed. For semi-public Galaxies, it may make sense to expose +just the username and not email, or vice versa. + +If enable_beta_gdpr is set to true, then this option will be +overridden and set to false. +""", + ) + expose_user_email: Optional[bool] = Field( + None, + title="Expose User Email", + description="""Expose user list. Setting this to true will expose the user list to +authenticated users. This makes sharing datasets in smaller galaxy instances +much easier as they can type a name/email and have the correct user show up. +This makes less sense on large public Galaxy instances where that data +shouldn't be exposed. For semi-public Galaxies, it may make sense to expose +just the username and not email, or vice versa. + +If enable_beta_gdpr is set to true, then this option will be +overridden and set to false. +""", + ) + fetch_url_allowlist: Optional[str] = Field( + None, + title="Fetch Url Allowlist", + description="""List of allowed local network addresses for "Upload from URL" dialog. +By default, Galaxy will deny access to the local network address space, to +prevent users making requests to services which the administrator did not +intend to expose. Previously, you could request any network service that +Galaxy might have had access to, even if the user could not normally access it. +It should be a comma-separated list of IP addresses or IP address/mask, e.g. +10.10.10.10,10.0.1.0/24,fd00::/8 +""", + ) + enable_beta_gdpr: Optional[bool] = Field( + None, + title="Enable Beta Gdpr", + description="""Enables GDPR Compliance mode. This makes several changes to the way +Galaxy logs and exposes data externally such as removing emails and +usernames from logs and bug reports. It also causes the delete user +admin action to permanently redact their username and password, but +not to delete data associated with the account as this is not +currently easily implementable. + +You are responsible for removing personal data from backups. + +This forces expose_user_email and expose_user_name to be false, and +forces user_deletion to be true to support the right to erasure. + +Please read the GDPR section under the special topics area of the +admin documentation. +""", + ) + enable_beta_workflow_modules: Optional[bool] = Field( + None, + title="Enable Beta Workflow Modules", + description="""Enable beta workflow modules that should not yet be considered part of Galaxy's +stable API. (The module state definitions may change and workflows built using +these modules may not function in the future.) +""", + ) + edam_panel_views: Optional[str] = Field( + None, + title="Edam Panel Views", + description="""Comma-separated list of the EDAM panel views to load - choose from merged, operations, topics. +Set to empty string to disable EDAM all together. Set default_panel_view to 'ontology:edam_topics' +to override default tool panel to use an EDAM view. +""", + ) + edam_toolbox_ontology_path: Optional[str] = Field( + None, + title="Edam Toolbox Ontology Path", + description="""Sets the path to EDAM ontology file - if the path doesn't exist PyPI package data will be loaded. +""", + ) + panel_views_dir: Optional[str] = Field( + None, + title="Panel Views Dir", + description="""Directory to check out for toolbox tool panel views. The path is relative to the +Galaxy root dir. To use an absolute path begin the path with '/'. This is a +comma-separated list. +""", + ) + panel_views: Optional[List[Any]] = Field( + None, + title="Panel Views", + description="""Definitions of static toolbox panel views embedded directly in the config instead of reading +YAML from directory with panel_views_dir. +""", + ) + default_panel_view: Optional[str] = Field( + None, + title="Default Panel View", + description="""Default tool panel view for the current Galaxy configuration. This should refer to an id of +a panel view defined using the panel_views or panel_views_dir configuration options or an +EDAM panel view. The default panel view is simply called `default` and refers to the tool +panel state defined by the integrated tool panel. +""", + ) + default_workflow_export_format: Optional[str] = Field( + None, + title="Default Workflow Export Format", + description="""Default format for the export of workflows. Possible values are 'ga' +or 'format2'. +""", + ) + parallelize_workflow_scheduling_within_histories: Optional[bool] = Field( + None, + title="Parallelize Workflow Scheduling Within Histories", + description="""If multiple job handlers are enabled, allow Galaxy to schedule workflow invocations +in multiple handlers simultaneously. This is discouraged because it results in a +less predictable order of workflow datasets within in histories. +""", + ) + maximum_workflow_invocation_duration: Optional[int] = Field( + None, + title="Maximum Workflow Invocation Duration", + description="""This is the maximum amount of time a workflow invocation may stay in an active +scheduling state in seconds. Set to -1 to disable this maximum and allow any workflow +invocation to schedule indefinitely. The default corresponds to 1 month. +""", + ) + maximum_workflow_jobs_per_scheduling_iteration: Optional[int] = Field( + None, + title="Maximum Workflow Jobs Per Scheduling Iteration", + description="""Specify a maximum number of jobs that any given workflow scheduling iteration can create. +Set this to a positive integer to prevent large collection jobs in a workflow from +preventing other jobs from executing. This may also mitigate memory issues associated with +scheduling workflows at the expense of increased total DB traffic because model objects +are expunged from the SQL alchemy session between workflow invocation scheduling iterations. +Set to -1 to disable any such maximum. +""", + ) + flush_per_n_datasets: Optional[int] = Field( + None, + title="Flush Per N Datasets", + description="""Maximum number of datasets to create before flushing created datasets to database. +This affects tools that create many output datasets. +Higher values will lead to fewer database flushes and faster execution, but require +more memory. Set to -1 to disable creating datasets in batches. +""", + ) + max_discovered_files: Optional[int] = Field( + None, + title="Max Discovered Files", + description="""Set this to a positive integer value to limit the number of datasets that can be discovered by +a single job. This prevents accidentally creating large numbers of datasets when running tools +that create a potentially unlimited number of output datasets, such as tools that split a file +into a collection of datasets for each line in an input dataset. +""", + ) + history_local_serial_workflow_scheduling: Optional[bool] = Field( + None, + title="History Local Serial Workflow Scheduling", + description="""Force serial scheduling of workflows within the context of a particular history +""", + ) + enable_oidc: Optional[bool] = Field( + None, + title="Enable Oidc", + description="""Enables and disables OpenID Connect (OIDC) support. +""", + ) + oidc_config_file: Optional[str] = Field( + None, + title="Oidc Config File", + description="""Sets the path to OIDC configuration file. +""", + ) + oidc_backends_config_file: Optional[str] = Field( + None, + title="Oidc Backends Config File", + description="""Sets the path to OIDC backends configuration file. +""", + ) + auth_config_file: Optional[str] = Field( + None, + title="Auth Config File", + description="""XML config file that allows the use of different authentication providers +(e.g. LDAP) instead or in addition to local authentication (.sample is used +if default does not exist). +""", + ) + api_allow_run_as: Optional[str] = Field( + None, + title="Api Allow Run As", + description="""Optional list of email addresses of API users who can make calls on behalf of +other users. +""", + ) + bootstrap_admin_api_key: Optional[str] = Field( + None, + title="Bootstrap Admin Api Key", + description="""API key that allows performing some admin actions without actually +having a real admin user in the database and config. +Only set this if you need to bootstrap Galaxy, in particular to create +a real admin user account via API. +You should probably not set this on a production server. +""", + ) + ga4gh_service_id: Optional[str] = Field( + None, + title="Ga4Gh Service Id", + description="""Service ID for GA4GH services (exposed via the service-info endpoint for the Galaxy DRS API). +If unset, one will be generated using the URL the target API requests are made against. + +For more information on GA4GH service definitions - check out +https://github.com/ga4gh-discovery/ga4gh-service-registry +and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml + +This value should likely reflect your service's URL. For instance for usegalaxy.org +this value should be org.usegalaxy. Particular Galaxy implementations will treat this +value as a prefix and append the service type to this ID. For instance for the DRS +service "id" (available via the DRS API) for the above configuration value would be +org.usegalaxy.drs. +""", + ) + ga4gh_service_organization_name: Optional[str] = Field( + None, + title="Ga4Gh Service Organization Name", + description="""Service name for host organization (exposed via the service-info endpoint for the Galaxy DRS API). +If unset, one will be generated using ga4gh_service_id. + +For more information on GA4GH service definitions - check out +https://github.com/ga4gh-discovery/ga4gh-service-registry +and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml +""", + ) + ga4gh_service_organization_url: Optional[str] = Field( + None, + title="Ga4Gh Service Organization Url", + description="""Organization URL for host organization (exposed via the service-info endpoint for the Galaxy DRS API). +If unset, one will be generated using the URL the target API requests are made against. + +For more information on GA4GH service definitions - check out +https://github.com/ga4gh-discovery/ga4gh-service-registry +and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml +""", + ) + ga4gh_service_environment: Optional[str] = Field( + None, + title="Ga4Gh Service Environment", + description="""Service environment (exposed via the service-info endpoint for the Galaxy DRS API) for +implemented GA4GH services. + +Suggested values are prod, test, dev, staging. + +For more information on GA4GH service definitions - check out +https://github.com/ga4gh-discovery/ga4gh-service-registry +and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml +""", + ) + enable_tool_tags: Optional[bool] = Field( + None, + title="Enable Tool Tags", + description="""Enable tool tags (associating tools with tags). This has its own option +since its implementation has a few performance implications on startup for +large servers. +""", + ) + enable_unique_workflow_defaults: Optional[bool] = Field( + None, + title="Enable Unique Workflow Defaults", + description="""Enable a feature when running workflows. When enabled, default datasets +are selected for "Set at Runtime" inputs from the history such that the +same input will not be selected twice, unless there are more inputs than +compatible datasets in the history. +When false, the most recently added compatible item in the history will +be used for each "Set at Runtime" input, independent of others in the workflow. +""", + ) + simplified_workflow_run_ui: Optional[str] = Field( + None, + title="Simplified Workflow Run Ui", + description="""If set to 'off' by default, always use the traditional workflow form that renders +all steps in the GUI and serializes the tool state of all steps during +invocation. Set to 'prefer' to default to a simplified workflow UI that +only renders the inputs if possible (the workflow must have no disconnected +runtime inputs and not replacement parameters within tool steps). In the +future 'force' may be added an option for Galaskio-style servers that should +only render simplified workflows. +""", + ) + simplified_workflow_run_ui_target_history: Optional[str] = Field( + None, + title="Simplified Workflow Run Ui Target History", + description="""When the simplified workflow run form is rendered, should the invocation outputs +be sent to the 'current' history or a 'new' history. If the user should be presented +and option between these - set this to 'prefer_current' or 'prefer_new' to display +a runtime setting with the corresponding default. The default is to provide the +user this option and default it to the current history (the traditional behavior +of Galaxy for years) - this corresponds to the setting 'prefer_current'. +""", + ) + simplified_workflow_run_ui_job_cache: Optional[str] = Field( + None, + title="Simplified Workflow Run Ui Job Cache", + description="""When the simplified workflow run form is rendered, should the invocation use job +caching. This isn't a boolean so an option for 'show-selection' can be added later. +""", + ) + ftp_upload_site: Optional[str] = Field( + None, + title="Ftp Upload Site", + description="""Enable Galaxy's "Upload via FTP" interface. You'll need to install and +configure an FTP server (we've used ProFTPd since it can use Galaxy's +database for authentication) and set the following two options. +This will be provided to users in the help text as 'log in to the FTP +server at '. Thus, it should be the hostname of your FTP server. +""", + ) + ftp_upload_dir: Optional[str] = Field( + None, + title="Ftp Upload Dir", + description="""This should point to a directory containing subdirectories matching users' +identifier (defaults to e-mail), where Galaxy will look for files. +""", + ) + ftp_upload_dir_identifier: Optional[str] = Field( + None, + title="Ftp Upload Dir Identifier", + description="""User attribute to use as subdirectory in calculating default ftp_upload_dir +pattern. By default this will be email so a user's FTP upload directory will be +${ftp_upload_dir}/${user.email}. Can set this to other attributes such as id or +username though. +""", + ) + ftp_upload_dir_template: Optional[str] = Field( + None, + title="Ftp Upload Dir Template", + description="""Python string template used to determine an FTP upload directory for a +particular user. + +Defaults to '${ftp_upload_dir}/${ftp_upload_dir_identifier}'. +""", + ) + ftp_upload_purge: Optional[bool] = Field( + None, + title="Ftp Upload Purge", + description="""Set to false to prevent Galaxy from deleting uploaded FTP files +as it imports them. +""", + ) + enable_quotas: Optional[bool] = Field( + None, + title="Enable Quotas", + description="""Enable enforcement of quotas. Quotas can be set from the Admin interface. +""", + ) + expose_dataset_path: Optional[bool] = Field( + None, + title="Expose Dataset Path", + description="""This option allows users to see the full path of datasets via the "View +Details" option in the history. This option also exposes the command line to +non-administrative users. Administrators can always see dataset paths. +""", + ) + enable_tool_source_display: Optional[bool] = Field( + None, + title="Enable Tool Source Display", + description="""This option allows users to view the tool wrapper source code. This is +safe to enable if you have not hardcoded any secrets in any of the tool +wrappers installed on this Galaxy server. If you have only installed tool +wrappers from public tool sheds and tools shipped with Galaxy there you +can enable this option. +""", + ) + job_metrics_config_file: Optional[str] = Field( + None, + title="Job Metrics Config File", + description="""XML config file that contains the job metric collection configuration. +""", + ) + expose_potentially_sensitive_job_metrics: Optional[bool] = Field( + None, + title="Expose Potentially Sensitive Job Metrics", + description="""This option allows users to see the job metrics (except for environment +variables). +""", + ) + enable_legacy_sample_tracking_api: Optional[bool] = Field( + None, + title="Enable Legacy Sample Tracking Api", + description="""Enable the API for sample tracking +""", + ) + enable_data_manager_user_view: Optional[bool] = Field( + None, + title="Enable Data Manager User View", + description="""Allow non-admin users to view available Data Manager options. +""", + ) + data_manager_config_file: Optional[str] = Field( + None, + title="Data Manager Config File", + description="""File where Data Managers are configured (.sample used if default does not +exist). +""", + ) + shed_data_manager_config_file: Optional[str] = Field( + None, + title="Shed Data Manager Config File", + description="""File where Tool Shed based Data Managers are configured. This file will be created +automatically upon data manager installation. +""", + ) + galaxy_data_manager_data_path: Optional[str] = Field( + None, + title="Galaxy Data Manager Data Path", + description="""Directory to store Data Manager based tool-data. Defaults to the value of the + option. +""", + ) + job_config_file: Optional[str] = Field( + None, + title="Job Config File", + description="""To increase performance of job execution and the web interface, you can +separate Galaxy into multiple processes. There are more than one way to do +this, and they are explained in detail in the documentation: + +https://docs.galaxyproject.org/en/master/admin/scaling.html + +By default, Galaxy manages and executes jobs from within a single process and +notifies itself of new jobs via in-memory queues. Jobs are run locally on +the system on which Galaxy is started. Advanced job running capabilities can +be configured through the job configuration file or the option. +""", + ) + job_config: Optional[Dict[str, Any]] = Field( + None, + title="Job Config", + description="""Description of job running configuration, can be embedded into Galaxy configuration or loaded from an additional file with the job_config_file option.""", + ) + dependency_resolvers: Optional[List[Any]] = Field( + None, + title="Dependency Resolvers", + description="""Rather than specifying a dependency_resolvers_config_file, the definition of the +resolvers to enable can be embedded into Galaxy's config with this option. +This has no effect if a dependency_resolvers_config_file is used. + +The syntax, available resolvers, and documentation of their options is explained in detail in the +documentation: + +https://docs.galaxyproject.org/en/master/admin/dependency_resolvers.html +""", + ) + dependency_resolution: Optional[Dict[str, Any]] = Field( + None, + title="Dependency Resolution", + description="""Alternative representation of various dependency resolution parameters. Takes the +dictified version of a DependencyManager object - so this is ideal for automating the +configuration of dependency resolution from one application that uses a DependencyManager +to another. +""", + ) + default_job_resubmission_condition: Optional[str] = Field( + None, + title="Default Job Resubmission Condition", + description="""When jobs fail due to job runner problems, Galaxy can be configured to retry +these or reroute the jobs to new destinations. Very fine control of this is +available with resubmit declarations in the job config. For simple deployments +of Galaxy though, the following attribute can define resubmission conditions +for all job destinations. If any job destination defines even one +resubmission condition explicitly in the job config - the condition described +by this option will not apply to that destination. For instance, the condition: +'attempt < 3 and unknown_error and (time_running < 300 or time_since_queued < 300)' +would retry up to two times jobs that didn't fail due to detected memory or +walltime limits but did fail quickly (either while queueing or running). The +commented out default below results in no default job resubmission condition, +failing jobs are just failed outright. +""", + ) + track_jobs_in_database: Optional[bool] = Field( + None, + title="Track Jobs In Database", + description="""This option is deprecated, use the `mem-self` handler assignment option in the +job configuration instead. +""", + ) + use_tasked_jobs: Optional[bool] = Field( + None, + title="Use Tasked Jobs", + description="""This enables splitting of jobs into tasks, if specified by the particular tool +config. +This is a new feature and not recommended for production servers yet. +""", + ) + local_task_queue_workers: Optional[int] = Field( + None, + title="Local Task Queue Workers", + description="""This enables splitting of jobs into tasks, if specified by the particular tool +config. +This is a new feature and not recommended for production servers yet. +""", + ) + job_handler_monitor_sleep: Optional[float] = Field( + None, + title="Job Handler Monitor Sleep", + description="""Each Galaxy job handler process runs one thread responsible for discovering jobs and +dispatching them to runners. This thread operates in a loop and sleeps for the given +number of seconds at the end of each iteration. This can be decreased if extremely high +job throughput is necessary, but doing so can increase CPU usage of handler processes. +Float values are allowed. +""", + ) + job_runner_monitor_sleep: Optional[float] = Field( + None, + title="Job Runner Monitor Sleep", + description="""Each Galaxy job handler process runs one thread per job runner plugin responsible for +checking the state of queued and running jobs. This thread operates in a loop and +sleeps for the given number of seconds at the end of each iteration. This can be +decreased if extremely high job throughput is necessary, but doing so can increase CPU +usage of handler processes. Float values are allowed. +""", + ) + workflow_monitor_sleep: Optional[float] = Field( + None, + title="Workflow Monitor Sleep", + description="""Each Galaxy workflow handler process runs one thread responsible for +checking the state of active workflow invocations. This thread operates in a loop and +sleeps for the given number of seconds at the end of each iteration. This can be +decreased if extremely high job throughput is necessary, but doing so can increase CPU +usage of handler processes. Float values are allowed. +""", + ) + metadata_strategy: Optional[str] = Field( + None, + title="Metadata Strategy", + description="""Determines how metadata will be set. Valid values are `directory`, `extended`, +`directory_celery` and `extended_celery`. +In extended mode jobs will decide if a tool run failed, the object stores +configuration is serialized and made available to the job and is used for +writing output datasets to the object store as part of the job and dynamic +output discovery (e.g. discovered datasets , unpopulated collections, +etc) happens as part of the job. In `directory_celery` and `extended_celery` metadata +will be set within a celery task. +""", + ) + retry_metadata_internally: Optional[bool] = Field( + None, + title="Retry Metadata Internally", + description="""Although it is fairly reliable, setting metadata can occasionally fail. In +these instances, you can choose to retry setting it internally or leave it in +a failed state (since retrying internally may cause the Galaxy process to be +unresponsive). If this option is set to false, the user will be given the +option to retry externally, or set metadata manually (when possible). +""", + ) + max_metadata_value_size: Optional[int] = Field( + None, + title="Max Metadata Value Size", + description="""Very large metadata values can cause Galaxy crashes. This will allow +limiting the maximum metadata key size (in bytes used in memory, not the end +result database value size) Galaxy will attempt to save with a dataset. Use +0 to disable this feature. The default is 5MB, but as low as 1MB seems to be +a reasonable size. +""", + ) + outputs_to_working_directory: Optional[bool] = Field( + None, + title="Outputs To Working Directory", + description="""This option will override tool output paths to write outputs to the job +working directory (instead of to the file_path) and the job manager will move +the outputs to their proper place in the dataset directory on the Galaxy +server after the job completes. This is necessary (for example) if jobs run +on a cluster and datasets can not be created by the user running the jobs (e.g. +if the filesystem is mounted read-only or the jobs are run by a different +user than the galaxy user). +""", + ) + retry_job_output_collection: Optional[int] = Field( + None, + title="Retry Job Output Collection", + description="""If your network filesystem's caching prevents the Galaxy server from seeing +the job's stdout and stderr files when it completes, you can retry reading +these files. The job runner will retry the number of times specified below, +waiting 1 second between tries. For NFS, you may want to try the -noac mount +option (Linux) or -actimeo=0 (Solaris). +""", + ) + tool_evaluation_strategy: Optional[str] = Field( + None, + title="Tool Evaluation Strategy", + description="""Determines which process will evaluate the tool command line. If set to "local" the tool command +line, configuration files and other dynamic values will be templated in the job +handler process. If set to ``remote`` the tool command line will be built as part of the +submitted job. Note that ``remote`` is a beta setting that will be useful for materializing +deferred datasets as part of the submitted job. Note also that you have to set ``metadata_strategy`` +to ``extended`` if you set this option to ``remote``. +""", + ) + preserve_python_environment: Optional[str] = Field( + None, + title="Preserve Python Environment", + description="""In the past Galaxy would preserve its Python environment when running jobs ( +and still does for internal tools packaged with Galaxy). This behavior exposes +Galaxy internals to tools and could result in problems when activating +Python environments for tools (such as with Conda packaging). The default +legacy_only will restrict this behavior to tools identified by the Galaxy +team as requiring this environment. Set this to "always" to restore the +previous behavior (and potentially break Conda dependency resolution for many +tools). Set this to legacy_and_local to preserve the environment for legacy +tools and locally managed tools (this might be useful for instance if you are +installing software into Galaxy's virtualenv for tool development). +""", + ) + cleanup_job: Optional[str] = Field( + None, + title="Cleanup Job", + description="""Clean up various bits of jobs left on the filesystem after completion. These +bits include the job working directory, external metadata temporary files, +and DRM stdout and stderr files (if using a DRM). Possible values are: +always, onsuccess, never +""", + ) + drmaa_external_runjob_script: Optional[str] = Field( + None, + title="Drmaa External Runjob Script", + description="""When running DRMAA jobs as the Galaxy user +(https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) +this script is used to run the job script Galaxy generates for a tool execution. + +Example value 'sudo -E scripts/drmaa_external_runner.py --assign_all_groups' +""", + ) + drmaa_external_killjob_script: Optional[str] = Field( + None, + title="Drmaa External Killjob Script", + description="""When running DRMAA jobs as the Galaxy user +(https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) +this script is used to kill such jobs by Galaxy (e.g. if the user cancels +the job). + +Example value 'sudo -E scripts/drmaa_external_killer.py' +""", + ) + external_chown_script: Optional[str] = Field( + None, + title="External Chown Script", + description="""When running DRMAA jobs as the Galaxy user +(https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) +this script is used transfer permissions back and forth between the Galaxy user +and the user that is running the job. + +Example value 'sudo -E scripts/external_chown_script.py' +""", + ) + real_system_username: Optional[str] = Field( + None, + title="Real System Username", + description="""When running DRMAA jobs as the Galaxy user +(https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) +Galaxy can extract the user name from the email address (actually the local-part before the @) +or the username which are both stored in the Galaxy data base. +The latter option is particularly useful for installations that get the +authentication from LDAP. +Also, Galaxy can accept the name of a common system user (eg. galaxy_worker) +who can run every job being submitted. This user should not be the same user +running the galaxy system. +Possible values are user_email (default), username or +""", + ) + environment_setup_file: Optional[str] = Field( + None, + title="Environment Setup File", + description="""File to source to set up the environment when running jobs. By default, the +environment in which the Galaxy server starts is used when running jobs +locally, and the environment set up per the DRM's submission method and +policy is used when running jobs on a cluster (try testing with `qsub` on the +command line). environment_setup_file can be set to the path of a file on +the cluster that should be sourced by the user to set up the environment +prior to running tools. This can be especially useful for running jobs as +the actual user, to remove the need to configure each user's environment +individually. +""", + ) + enable_beta_markdown_export: Optional[bool] = Field( + None, + title="Enable Beta Markdown Export", + description="""Enable export of Galaxy Markdown documents (pages and workflow reports) +to PDF. Requires manual installation and setup of weasyprint (latest version +available for Python 2.7 is 0.42). +""", + ) + markdown_export_css: Optional[str] = Field( + None, + title="Markdown Export Css", + description="""CSS file to apply to all Markdown exports to PDF - currently used by +WeasyPrint during rendering an HTML export of the document to PDF. +""", + ) + markdown_export_css_pages: Optional[str] = Field( + None, + title="Markdown Export Css Pages", + description="""CSS file to apply to "Galaxy Page" exports to PDF. Generally prefer +markdown_export_css, but this is here for deployments that +would like to tailor different kinds of exports. +""", + ) + markdown_export_css_invocation_reports: Optional[str] = Field( + None, + title="Markdown Export Css Invocation Reports", + description="""CSS file to apply to invocation report exports to PDF. Generally prefer +markdown_export_css, but this is here for deployments that +would like to tailor different kinds of exports. +""", + ) + markdown_export_prologue: Optional[str] = Field( + None, + title="Markdown Export Prologue", + description="""Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing +branded headers. +""", + ) + markdown_export_epilogue: Optional[str] = Field( + None, + title="Markdown Export Epilogue", + description="""Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing +branded footers. +""", + ) + markdown_export_prologue_pages: Optional[str] = Field( + None, + title="Markdown Export Prologue Pages", + description="""Alternative to markdown_export_prologue that applies just to page exports. +""", + ) + markdown_export_prologue_invocation_reports: Optional[str] = Field( + None, + title="Markdown Export Prologue Invocation Reports", + description="""Alternative to markdown_export_prologue that applies just to invocation report +exports. +""", + ) + markdown_export_epilogue_pages: Optional[str] = Field( + None, + title="Markdown Export Epilogue Pages", + description="""Alternative to markdown_export_epilogue that applies just to page exports. +""", + ) + markdown_export_epilogue_invocation_reports: Optional[str] = Field( + None, + title="Markdown Export Epilogue Invocation Reports", + description="""Alternative to markdown_export_epilogue that applies just to invocation report +exports. +""", + ) + job_resource_params_file: Optional[str] = Field( + None, + title="Job Resource Params File", + description="""Optional file containing job resource data entry fields definition. +These fields will be presented to users in the tool forms and allow them to +overwrite default job resources such as number of processors, memory and +walltime. +""", + ) + workflow_resource_params_file: Optional[str] = Field( + None, + title="Workflow Resource Params File", + description="""Similar to the above parameter, workflows can describe parameters used to +influence scheduling of jobs within the workflow. This requires both a description +of the fields available (which defaults to the definitions in +job_resource_params_file if not set). +""", + ) + workflow_resource_params_mapper: Optional[str] = Field( + None, + title="Workflow Resource Params Mapper", + description="""This parameter describes how to map users and workflows to a set of workflow +resource parameter to present (typically input IDs from workflow_resource_params_file). +If this this is a function reference it will be passed various inputs (workflow model +object and user) and it should produce a list of input IDs. If it is a path +it is expected to be an XML or YAML file describing how to map group names to parameter +descriptions (additional types of mappings via these files could be implemented but +haven't yet - for instance using workflow tags to do the mapping). + +Sample default path 'config/workflow_resource_mapper_conf.yml.sample' +""", + ) + workflow_schedulers_config_file: Optional[str] = Field( + None, + title="Workflow Schedulers Config File", + description="""Optional configuration file similar to `job_config_file` to specify +which Galaxy processes should schedule workflows. +""", + ) + cache_user_job_count: Optional[bool] = Field( + None, + title="Cache User Job Count", + description="""If using job concurrency limits (configured in job_config_file), several +extra database queries must be performed to determine the number of jobs a +user has dispatched to a given destination. By default, these queries will +happen for every job that is waiting to run, but if cache_user_job_count is +set to true, it will only happen once per iteration of the handler queue. +Although better for performance due to reduced queries, the trade-off is a +greater possibility that jobs will be dispatched past the configured limits +if running many handlers. +""", + ) + toolbox_auto_sort: Optional[bool] = Field( + None, + title="Toolbox Auto Sort", + description="""If true, the toolbox will be sorted by tool id when the toolbox is loaded. +This is useful for ensuring that tools are always displayed in the same +order in the UI. If false, the order of tools in the toolbox will be +preserved as they are loaded from the tool config files. +""", + ) + tool_filters: Optional[str] = Field( + None, + title="Tool Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) +that admins may use to restrict the tools to display. +""", + ) + tool_label_filters: Optional[str] = Field( + None, + title="Tool Label Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) +that admins may use to restrict the tool labels to display. +""", + ) + tool_section_filters: Optional[str] = Field( + None, + title="Tool Section Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) +that admins may use to restrict the tool sections to display. +""", + ) + user_tool_filters: Optional[str] = Field( + None, + title="User Tool Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) +that users may use to restrict the tools to display. +""", + ) + user_tool_section_filters: Optional[str] = Field( + None, + title="User Tool Section Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) +that users may use to restrict the tool sections to display. +""", + ) + user_tool_label_filters: Optional[str] = Field( + None, + title="User Tool Label Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) +that users may use to restrict the tool labels to display. +""", + ) + toolbox_filter_base_modules: Optional[str] = Field( + None, + title="Toolbox Filter Base Modules", + description="""The base module(s) that are searched for modules for toolbox filtering +(https://galaxyproject.org/user-defined-toolbox-filters/) functions. +""", + ) + amqp_internal_connection: Optional[str] = Field( + None, + title="Amqp Internal Connection", + description="""Galaxy uses AMQP internally for communicating between processes. For +example, when reloading the toolbox or locking job execution, the process +that handled that particular request will tell all others to also reload, +lock jobs, etc. +For connection examples, see https://docs.celeryq.dev/projects/kombu/en/stable/userguide/connections.html + +Without specifying anything here, galaxy will first attempt to use your +specified database_connection above. If that's not specified either, Galaxy +will automatically create and use a separate sqlite database located in your +/database folder (indicated in the commented out line below). +""", + ) + celery_conf: Optional[Any] = Field( + None, + title="Celery Conf", + description="""Configuration options passed to Celery. + +To refer to a task by name, use the template `galaxy.foo` where `foo` is the function name +of the task defined in the galaxy.celery.tasks module. + +The `broker_url` option, if unset, defaults to the value of `amqp_internal_connection`. +The `result_backend` option must be set if the `enable_celery_tasks` option is set. + +The galaxy.fetch_data task can be disabled by setting its route to "disabled": `galaxy.fetch_data: disabled`. +(Other tasks cannot be disabled on a per-task basis at this time.) + +For details, see Celery documentation at https://docs.celeryq.dev/en/stable/userguide/configuration.html. +""", + ) + enable_celery_tasks: Optional[bool] = Field( + None, + title="Enable Celery Tasks", + description="""Offload long-running tasks to a Celery task queue. +Activate this only if you have setup a Celery worker for Galaxy. +For details, see https://docs.galaxyproject.org/en/master/admin/production.html +""", + ) + celery_user_rate_limit: Optional[float] = Field( + None, + title="Celery User Rate Limit", + description="""If set to a non-0 value, upper limit on number of +tasks that can be executed per user per second. +""", + ) + use_pbkdf2: Optional[bool] = Field( + None, + title="Use Pbkdf2", + description="""Allow disabling pbkdf2 hashing of passwords for legacy situations. +This should normally be left enabled unless there is a specific +reason to disable it. +""", + ) + cookie_domain: Optional[str] = Field( + None, + title="Cookie Domain", + description="""Tell Galaxy that multiple domains sharing the same root are associated +to this instance and wants to share the same session cookie. +This allow a user to stay logged in when passing from one subdomain +to the other. +This root domain will be written in the unique session cookie shared +by all subdomains. +""", + ) + select_type_workflow_threshold: Optional[int] = Field( + None, + title="Select Type Workflow Threshold", + description="""Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) +Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. +use 0 in order to always use select2 fields, +use -1 (default) in order to always use the regular select fields, +use any other positive number as threshold (above threshold: regular select fields will be used) +""", + ) + enable_tool_recommendations: Optional[bool] = Field( + None, + title="Enable Tool Recommendations", + description="""Allow the display of tool recommendations in workflow editor and after tool execution. +If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well +""", + ) + tool_recommendation_model_path: Optional[str] = Field( + None, + title="Tool Recommendation Model Path", + description="""Set remote path of the trained model (HDF5 file) for tool recommendation. +""", + ) + topk_recommendations: Optional[int] = Field( + None, + title="Topk Recommendations", + description="""Set the number of predictions/recommendations to be made by the model +""", + ) + admin_tool_recommendations_path: Optional[str] = Field( + None, + title="Admin Tool Recommendations Path", + description="""Set path to the additional tool preferences from Galaxy admins. +It has two blocks. One for listing deprecated tools which will be removed from the recommendations and +another is for adding additional tools to be recommended along side those from the deep learning model. +""", + ) + overwrite_model_recommendations: Optional[bool] = Field( + None, + title="Overwrite Model Recommendations", + description="""Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model +are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools +by admins and predicted by the deep learning model are shown. +""", + ) + error_report_file: Optional[str] = Field( + None, + title="Error Report File", + description="""Path to error reports configuration file. +""", + ) + tool_destinations_config_file: Optional[str] = Field( + None, + title="Tool Destinations Config File", + description="""Path to dynamic tool destinations configuration file. +""", + ) + welcome_directory: Optional[str] = Field( + None, + title="Welcome Directory", + description="""Location of New User Welcome data, a single directory containing the +images and JSON of Topics/Subtopics/Slides as export. This location +is relative to galaxy/static +""", + ) + vault_config_file: Optional[str] = Field( + None, + title="Vault Config File", + description="""Vault config file. +""", + ) + display_builtin_converters: Optional[bool] = Field( + None, + title="Display Builtin Converters", + description="""Display built-in converters in the tool panel.""", + ) + themes_config_file: Optional[str] = Field( + None, + title="Themes Config File", + description="""Optional file containing one or more themes for galaxy. If several themes +are defined, users can choose their preferred theme in the client. +""", + ) + enable_beacon_integration: Optional[bool] = Field( + None, + title="Enable Beacon Integration", + description="""Enables user preferences and api endpoint for the beacon integration. +""", + ) + tool_training_recommendations: Optional[bool] = Field( + None, + title="Tool Training Recommendations", + description="""Displays a link to training material, if any includes the current tool. +When activated the following options also need to be set: + tool_training_recommendations_link, + tool_training_recommendations_api_url +""", + ) + tool_training_recommendations_link: Optional[str] = Field( + None, + title="Tool Training Recommendations Link", + description="""Template URL to display all tutorials containing current tool. +Valid template inputs are: + {repository_owner} + {name} + {tool_id} + {training_tool_identifier} + {version} +""", + ) + tool_training_recommendations_api_url: Optional[str] = Field( + None, + title="Tool Training Recommendations Api Url", + description="""URL to API describing tutorials containing specific tools. +When CORS is used, make sure to add this host. +""", + ) + citations_export_message_html: Optional[str] = Field( + None, + title="Citations Export Message Html", + description="""Message to display on the export citations tool page +""", + ) + enable_notification_system: Optional[bool] = Field( + None, + title="Enable Notification System", + description="""Enables the Notification System integrated in Galaxy. + +Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. + +The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. + +Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. +""", + ) + expired_notifications_cleanup_interval: Optional[int] = Field( + None, + title="Expired Notifications Cleanup Interval", + description="""The interval in seconds between attempts to delete all expired notifications from the database (every 24 hours by default). Runs in a Celery task. +""", + ) diff --git a/lib/galaxy/webapps/galaxy/api/configuration.py b/lib/galaxy/webapps/galaxy/api/configuration.py index 6ad12cbc1dd1..a0d38c13ae75 100644 --- a/lib/galaxy/webapps/galaxy/api/configuration.py +++ b/lib/galaxy/webapps/galaxy/api/configuration.py @@ -14,6 +14,7 @@ from galaxy.managers.configuration import ConfigurationManager from galaxy.managers.context import ProvidesUserContext +from galaxy.schema.configuration import GalaxyConfigModel from galaxy.schema.fields import DecodedDatabaseIdField from galaxy.schema.schema import UserModel from galaxy.webapps.galaxy.api import ( @@ -62,7 +63,7 @@ def index( trans: ProvidesUserContext = DependsOnTrans, view: Optional[str] = SerializationViewQueryParam, keys: Optional[str] = SerializationKeysQueryParam, - ) -> Dict[str, Any]: + ) -> GalaxyConfigModel: """ Return an object containing exposable configuration settings. From ad8f491d249957c7bfcf2a75eecf693659448574 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Sun, 6 Aug 2023 14:03:22 +0200 Subject: [PATCH 04/28] Enhance GalaxyConfigModel generation - Fix some encoding issues - Use Annotated for fields --- client/src/schema/schema.ts | 814 ++++- lib/galaxy/config/config_manage.py | 31 +- lib/galaxy/schema/configuration.py | 5036 ++++++++++++++++------------ 3 files changed, 3669 insertions(+), 2212 deletions(-) diff --git a/client/src/schema/schema.ts b/client/src/schema/schema.ts index 73f6103c88a0..3dd76c8e8109 100644 --- a/client/src/schema/schema.ts +++ b/client/src/schema/schema.ts @@ -4610,6 +4610,8 @@ export interface components { * @description Activation grace period (in hours). Activation is not forced (login is not * disabled) until grace period has passed. Users under grace period can't run * jobs. Enter 0 to disable grace period. + * + * @default 3 */ activation_grace_period?: number; /** @@ -4617,6 +4619,8 @@ export interface components { * @description Set path to the additional tool preferences from Galaxy admins. * It has two blocks. One for listing deprecated tools which will be removed from the recommendations and * another is for adding additional tools to be recommended along side those from the deep learning model. + * + * @default tool_recommendations_overwrite.yml */ admin_tool_recommendations_path?: string; /** @@ -4627,7 +4631,7 @@ export interface components { * libraries, and more. For more information, see: * https://galaxyproject.org/admin/ */ - admin_users?: string; + admin_users: string; /** * Allow Path Paste * @description Allow admins to paste filesystem paths during upload. For libraries this @@ -4637,12 +4641,16 @@ export interface components { * (i.e. prefixed with file://). Set to true to enable. Please note the security * implication that this will give Galaxy Admins access to anything your Galaxy * user has access to. + * + * @default false */ allow_path_paste?: boolean; /** * Allow User Creation * @description Allow unregistered users to create new accounts (otherwise, they will have to * be created by an admin). + * + * @default true */ allow_user_creation?: boolean; /** @@ -4650,16 +4658,22 @@ export interface components { * @description Allow users to remove their datasets from disk immediately (otherwise, * datasets will be removed after a time period specified by an administrator in * the cleanup scripts run via cron) + * + * @default true */ allow_user_dataset_purge?: boolean; /** * Allow User Deletion * @description Allow administrators to delete accounts. + * + * @default false */ allow_user_deletion?: boolean; /** * Allow User Impersonation * @description Allow administrators to log in as other users (useful for debugging). + * + * @default false */ allow_user_impersonation?: boolean; /** @@ -4671,7 +4685,7 @@ export interface components { * E.g. mysite.com,google.com,usegalaxy.org,/^[\w\.]*example\.com/ * See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS */ - allowed_origin_hostnames?: string; + allowed_origin_hostnames: string; /** * Amqp Internal Connection * @description Galaxy uses AMQP internally for communicating between processes. For @@ -4684,6 +4698,8 @@ export interface components { * specified database_connection above. If that's not specified either, Galaxy * will automatically create and use a separate sqlite database located in your * /database folder (indicated in the commented out line below). + * + * @default sqlalchemy+sqlite:///./database/control.sqlite?isolation_level=IMMEDIATE */ amqp_internal_connection?: string; /** @@ -4693,6 +4709,8 @@ export interface components { * * Apache can handle file downloads (Galaxy-to-user) via mod_xsendfile. Set * this to true to inform Galaxy that mod_xsendfile is enabled upstream. + * + * @default false */ apache_xsendfile?: boolean; /** @@ -4700,18 +4718,22 @@ export interface components { * @description Optional list of email addresses of API users who can make calls on behalf of * other users. */ - api_allow_run_as?: string; + api_allow_run_as: string; /** * Auth Config File * @description XML config file that allows the use of different authentication providers * (e.g. LDAP) instead or in addition to local authentication (.sample is used * if default does not exist). + * + * @default auth_conf.xml */ auth_config_file?: string; /** * Auto Configure Logging * @description If true, Galaxy will attempt to configure a simple root logger if a * "loggers" section does not appear in this configuration file. + * + * @default true */ auto_configure_logging?: boolean; /** @@ -4719,6 +4741,8 @@ export interface components { * @description This flag enables an AWS cost estimate for every job based on their runtime matrices. * CPU, RAM and runtime usage is mapped against AWS pricing table. * Please note, that those numbers are only estimates. + * + * @default false */ aws_estimate?: boolean; /** @@ -4726,17 +4750,21 @@ export interface components { * @description Point Galaxy at a repository consisting of a copy of the bio.tools database (e.g. * https://github.com/bio-tools/content/) to resolve bio.tools data for tool metadata. */ - biotools_content_directory?: string; + biotools_content_directory: string; /** * Biotools Service Cache Data Dir * @description bio.tools web service request related caching. The data directory to point * beaker cache at. + * + * @default biotools/data */ biotools_service_cache_data_dir?: string; /** * Biotools Service Cache Lock Dir * @description bio.tools web service request related caching. The lock directory to point * beaker cache at. + * + * @default biotools/locks */ biotools_service_cache_lock_dir?: string; /** @@ -4745,17 +4773,21 @@ export interface components { * the database table name used by beaker for * bio.tools web service request related caching. */ - biotools_service_cache_schema_name?: string; + biotools_service_cache_schema_name: string; /** * Biotools Service Cache Table Name * @description When biotools_service_cache_type = ext:database, this is * the database table name used by beaker for * bio.tools web service request related caching. + * + * @default beaker_cache */ biotools_service_cache_table_name?: string; /** * Biotools Service Cache Type * @description bio.tools web service request related caching. The type of beaker cache used. + * + * @default file */ biotools_service_cache_type?: string; /** @@ -4766,11 +4798,13 @@ export interface components { * The application config code will set it to the * value of database_connection if this is not set. */ - biotools_service_cache_url?: string; + biotools_service_cache_url: string; /** * Biotools Use Api * @description Set this to true to attempt to resolve bio.tools metadata for tools for tool not * resovled via biotools_content_directory. + * + * @default false */ biotools_use_api?: boolean; /** @@ -4781,16 +4815,18 @@ export interface components { * a real admin user account via API. * You should probably not set this on a production server. */ - bootstrap_admin_api_key?: string; + bootstrap_admin_api_key: string; /** * Brand * @description Append "{brand}" text to the masthead. */ - brand?: string; + brand: string; /** * Build Sites Config File * @description File that defines the builds (dbkeys) available at sites used by display applications * and the URL to those sites. + * + * @default build_sites.yml */ build_sites_config_file?: string; /** @@ -4798,12 +4834,16 @@ export interface components { * @description File containing old-style genome builds. * * The value of this option will be resolved with respect to . + * + * @default shared/ucsc/builds.txt */ builds_file_path?: string; /** * Cache Dir * @description Top level cache directory. Any other cache directories (tool_cache_data_dir, * template_cache_path, etc.) should be subdirectories. + * + * @default cache */ cache_dir?: string; /** @@ -4816,6 +4856,8 @@ export interface components { * Although better for performance due to reduced queries, the trade-off is a * greater possibility that jobs will be dispatched past the configured limits * if running many handlers. + * + * @default false */ cache_user_job_count?: boolean; /** @@ -4826,6 +4868,8 @@ export interface components { * the United States Environmental Protection Agency (EPA). * Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. * for more detals. + * + * @default true */ carbon_emission_estimates?: boolean; /** @@ -4842,28 +4886,43 @@ export interface components { * (Other tasks cannot be disabled on a per-task basis at this time.) * * For details, see Celery documentation at https://docs.celeryq.dev/en/stable/userguide/configuration.html. + * + * @default { + * "task_routes": { + * "galaxy.fetch_data": "galaxy.external", + * "galaxy.set_job_metadata": "galaxy.external" + * } + * } */ celery_conf?: Record; /** * Celery User Rate Limit * @description If set to a non-0 value, upper limit on number of * tasks that can be executed per user per second. + * + * @default 0 */ celery_user_rate_limit?: number; /** * Check Job Script Integrity * @description Set to false to disable various checks Galaxy will do to ensure it * can run job scripts before attempting to execute or submit them. + * + * @default true */ check_job_script_integrity?: boolean; /** * Check Job Script Integrity Count * @description Number of checks to execute if check_job_script_integrity is enabled. + * + * @default 35 */ check_job_script_integrity_count?: number; /** * Check Job Script Integrity Sleep * @description Time to sleep between checks if check_job_script_integrity is enabled (in seconds). + * + * @default 0.25 */ check_job_script_integrity_sleep?: number; /** @@ -4871,6 +4930,8 @@ export interface components { * @description Galaxy can upload user files in chunks without using nginx. Enable the chunk * uploader by specifying a chunk size larger than 0. The chunk size is specified * in bytes (default: 10MB). + * + * @default 10485760 */ chunk_upload_size?: number; /** @@ -4878,6 +4939,8 @@ export interface components { * @description Citation related caching. Tool citations information maybe fetched from * external sources such as https://doi.org/ by Galaxy - the following * parameters can be used to control the caching used to store this information. + * + * @default citations/data */ citation_cache_data_dir?: string; /** @@ -4885,6 +4948,8 @@ export interface components { * @description Citation related caching. Tool citations information maybe fetched from * external sources such as https://doi.org/ by Galaxy - the following * parameters can be used to control the caching used to store this information. + * + * @default citations/locks */ citation_cache_lock_dir?: string; /** @@ -4893,12 +4958,14 @@ export interface components { * the database schema name of the table used by beaker for * citation related caching. */ - citation_cache_schema_name?: string; + citation_cache_schema_name: string; /** * Citation Cache Table Name * @description When citation_cache_type = ext:database, this is * the database table name used by beaker for * citation related caching. + * + * @default beaker_cache */ citation_cache_table_name?: string; /** @@ -4906,6 +4973,8 @@ export interface components { * @description Citation related caching. Tool citations information maybe fetched from * external sources such as https://doi.org/ by Galaxy - the following * parameters can be used to control the caching used to store this information. + * + * @default file */ citation_cache_type?: string; /** @@ -4915,15 +4984,19 @@ export interface components { * caching. The application config code will set it to the * value of database_connection if this is not set. */ - citation_cache_url?: string; + citation_cache_url: string; /** * Citation Url * @description The URL linked by the "How to Cite Galaxy" link in the "Help" menu. + * + * @default https://galaxyproject.org/citing-galaxy */ citation_url?: string; /** * Citations Export Message Html * @description Message to display on the export citations tool page + * + * @default When writing up your analysis, remember to include all references that should be cited in order to completely describe your work. Also, please remember to cite Galaxy. */ citations_export_message_html?: string; /** @@ -4932,18 +5005,24 @@ export interface components { * bits include the job working directory, external metadata temporary files, * and DRM stdout and stderr files (if using a DRM). Possible values are: * always, onsuccess, never + * + * @default always */ cleanup_job?: string; /** * Conda Auto Init * @description Set to true to instruct Galaxy to install Conda from the web automatically * if it cannot find a local copy and conda_exec is not configured. + * + * @default true */ conda_auto_init?: boolean; /** * Conda Auto Install * @description Set to true to instruct Galaxy to look for and install missing tool * dependencies before each job runs. + * + * @default false */ conda_auto_install?: boolean; /** @@ -4953,17 +5032,23 @@ export interface components { * Conda will copy packages content instead of creating hardlinks or symlinks. * This will prevent problems with some specific packages (perl, R), at the cost * of extra disk space usage and extra time spent copying packages. + * + * @default false */ conda_copy_dependencies?: boolean; /** * Conda Debug * @description Pass debug flag to conda commands. + * + * @default false */ conda_debug?: boolean; /** * Conda Ensure Channels * @description conda channels to enable by default * (https://conda.io/docs/user-guide/tasks/manage-channels.html) + * + * @default conda-forge,bioconda,defaults */ conda_ensure_channels?: string; /** @@ -4971,7 +5056,7 @@ export interface components { * @description Override the Conda executable to use, it will default to the one on the * PATH (if available) and then to /bin/conda */ - conda_exec?: string; + conda_exec: string; /** * Conda Prefix * @description conda_prefix is the location on the filesystem where Conda packages and environments are @@ -4979,10 +5064,12 @@ export interface components { * * Sample default '/_conda' */ - conda_prefix?: string; + conda_prefix: string; /** * Conda Use Local * @description Use locally-built conda packages. + * + * @default false */ conda_use_local?: boolean; /** @@ -4991,7 +5078,7 @@ export interface components { * other Galaxy config files (e.g. datatypes_config_file). Defaults to the * directory in which galaxy.yml is located. */ - config_dir?: string; + config_dir: string; /** * Container Resolvers * @description Rather than specifying a container_resolvers_config_file, the definition of the @@ -4999,7 +5086,7 @@ export interface components { * This has no effect if a container_resolvers_config_file is used. * Takes the same options that can be set in container_resolvers_config_file. */ - container_resolvers?: Record[]; + container_resolvers: Record[]; /** * Container Resolvers Config File * @description Container resolvers configuration. Set up a file describing @@ -5008,7 +5095,7 @@ export interface components { * determined by enable_mulled_containers. * For available options see https://docs.galaxyproject.org/en/master/admin/container_resolvers.html */ - container_resolvers_config_file?: string; + container_resolvers_config_file: string; /** * Cookie Domain * @description Tell Galaxy that multiple domains sharing the same root are associated @@ -5018,13 +5105,13 @@ export interface components { * This root domain will be written in the unique session cookie shared * by all subdomains. */ - cookie_domain?: string; + cookie_domain: string; /** * Custom Activation Email Message * @description This text will be inserted at the end of the activation email's message, before * the 'Your Galaxy Team' signature. */ - custom_activation_email_message?: string; + custom_activation_email_message: string; /** * Data Dir * @description The directory that will be prepended to relative paths in options specifying @@ -5032,11 +5119,13 @@ export interface components { * file_path, etc.). Defaults to `database/` if running Galaxy from source or * `/data` otherwise. */ - data_dir?: string; + data_dir: string; /** * Data Manager Config File * @description File where Data Managers are configured (.sample used if default does not * exist). + * + * @default data_manager_conf.xml */ data_manager_config_file?: string; /** @@ -5044,6 +5133,8 @@ export interface components { * @description Setting the following option to true will cause Galaxy to automatically * migrate the database forward after updates. This is not recommended for production * use. + * + * @default false */ database_auto_migrate?: boolean; /** @@ -5064,15 +5155,19 @@ export interface components { * For more options, please check SQLAlchemy's documentation at * https://docs.sqlalchemy.org/en/14/core/engines.html?highlight=create_engine#sqlalchemy.create_engine */ - database_connection?: string; + database_connection: string; /** * Database Engine Option Echo * @description Print database operations to the server log (warning, quite verbose!). + * + * @default false */ database_engine_option_echo?: boolean; /** * Database Engine Option Echo Pool * @description Print database pool operations to the server log (warning, quite verbose!). + * + * @default false */ database_engine_option_echo_pool?: boolean; /** @@ -5080,12 +5175,16 @@ export interface components { * @description If the server logs errors about not having enough database pool connections, * you will want to increase these values, or consider running more Galaxy * processes. + * + * @default 10 */ database_engine_option_max_overflow?: number; /** * Database Engine Option Pool Recycle * @description If using MySQL and the server logs the error "MySQL server has gone away", * you will want to set this to some positive value (7200 should work). + * + * @default -1 */ database_engine_option_pool_recycle?: number; /** @@ -5093,6 +5192,8 @@ export interface components { * @description If the server logs errors about not having enough database pool connections, * you will want to increase these values, or consider running more Galaxy * processes. + * + * @default 5 */ database_engine_option_pool_size?: number; /** @@ -5100,6 +5201,8 @@ export interface components { * @description If large database query results are causing memory or response time issues in * the Galaxy process, leave the result on the server instead. This option is * only available for PostgreSQL and is highly recommended. + * + * @default false */ database_engine_option_server_side_cursors?: boolean; /** @@ -5110,6 +5213,8 @@ export interface components { * running this in production. This is useful information for optimizing database interaction * performance. Similar information can be obtained on a per-request basis by enabling the * sql_debug middleware and adding sql_debug=1 to a request string. + * + * @default false */ database_log_query_counts?: boolean; /** @@ -5117,6 +5222,8 @@ export interface components { * @description Log all database transactions, can be useful for debugging and performance * profiling. Logging is done via Python's 'logging' module under the qualname * 'galaxy.model.orm.logging_connection_proxy' + * + * @default false */ database_query_profiling_proxy?: boolean; /** @@ -5125,20 +5232,26 @@ export interface components { * template database. This will set that. This is probably only useful for testing but * documentation is included here for completeness. */ - database_template?: string; + database_template: string; /** * Database Wait * @description Wait for database to become available instead of failing immediately. + * + * @default false */ database_wait?: boolean; /** * Database Wait Attempts * @description Number of attempts before failing if database_wait is enabled. + * + * @default 60 */ database_wait_attempts?: number; /** * Database Wait Sleep * @description Time to sleep between attempts if database_wait is enabled (in seconds). + * + * @default 1 */ database_wait_sleep?: number; /** @@ -5147,11 +5260,15 @@ export interface components { * Galaxy (.sample is used if default does not exist). If a datatype appears in * multiple files, the last definition is used (though the first sniffer is used * so limit sniffer definitions to one file). + * + * @default datatypes_conf.xml */ datatypes_config_file?: string; /** * Datatypes Disable Auto * @description Disable the 'Auto-detect' option for file uploads + * + * @default false */ datatypes_disable_auto?: boolean; /** @@ -5160,6 +5277,8 @@ export interface components { * and debugging: use_lint, use_profile, and use_printdebug. It also * causes the files used by PBS/SGE (submission script, output, and error) * to remain on disk after the job is complete. + * + * @default false */ debug?: boolean; /** @@ -5177,7 +5296,7 @@ export interface components { * commented out default below results in no default job resubmission condition, * failing jobs are just failed outright. */ - default_job_resubmission_condition?: string; + default_job_resubmission_condition: string; /** * Default Job Shell * @description Set the default shell used by non-containerized jobs Galaxy-wide. This @@ -5186,6 +5305,8 @@ export interface components { * so if this is switched to /bin/sh for instance - conda resolution * should be disabled. Containerized jobs always use /bin/sh - so more maximum * portability tool authors should assume generated commands run in sh. + * + * @default /bin/bash */ default_job_shell?: string; /** @@ -5196,6 +5317,8 @@ export interface components { * the user's navigator language. * Users can override this settings in their user preferences if the localization * settings are enabled in user_preferences_extra_conf.yml + * + * @default auto */ default_locale?: string; /** @@ -5204,12 +5327,16 @@ export interface components { * a panel view defined using the panel_views or panel_views_dir configuration options or an * EDAM panel view. The default panel view is simply called `default` and refers to the tool * panel state defined by the integrated tool panel. + * + * @default default */ default_panel_view?: string; /** * Default Workflow Export Format * @description Default format for the export of workflows. Possible values are 'ga' * or 'format2'. + * + * @default ga */ default_workflow_export_format?: string; /** @@ -5217,6 +5344,8 @@ export interface components { * @description Set this to true to delay parsing of tool inputs and outputs until they are needed. * This results in faster startup times but uses more memory when using forked Galaxy * processes. + * + * @default false */ delay_tool_initialization?: boolean; /** @@ -5226,7 +5355,7 @@ export interface components { * configuration of dependency resolution from one application that uses a DependencyManager * to another. */ - dependency_resolution?: Record; + dependency_resolution: Record; /** * Dependency Resolvers * @description Rather than specifying a dependency_resolvers_config_file, the definition of the @@ -5238,12 +5367,14 @@ export interface components { * * https://docs.galaxyproject.org/en/master/admin/dependency_resolvers.html */ - dependency_resolvers?: Record[]; + dependency_resolvers: Record[]; /** * Dependency Resolvers Config File * @description Specifies the path to the standalone dependency resolvers configuration file. This * configuration can now be specified directly in the Galaxy configuration, see the * description of the 'dependency_resolvers' option for details. + * + * @default dependency_resolvers_conf.xml */ dependency_resolvers_config_file?: string; /** @@ -5254,21 +5385,26 @@ export interface components { * Specific formats can be disabled with this option, separate more than one * format with commas. Available formats are currently 'zip', 'gz', and 'bz2'. */ - disable_library_comptypes?: string; + disable_library_comptypes: string; /** * Display Builtin Converters * @description Display built-in converters in the tool panel. + * @default true */ display_builtin_converters?: boolean; /** * Display Chunk Size * @description Incremental Display Options + * + * @default 65536 */ display_chunk_size?: number; /** * Display Galaxy Brand * @description This option has been deprecated, use the `logo_src` instead to change the * default logo including the galaxy brand title. + * + * @default true */ display_galaxy_brand?: boolean; /** @@ -5289,6 +5425,8 @@ export interface components { * Archaea browsers, but the default if left commented is to not allow any * display sites to bypass security (you must uncomment the line below to allow * them). + * + * @default hgw1.cse.ucsc.edu,hgw2.cse.ucsc.edu,hgw3.cse.ucsc.edu,hgw4.cse.ucsc.edu,hgw5.cse.ucsc.edu,hgw6.cse.ucsc.edu,hgw7.cse.ucsc.edu,hgw8.cse.ucsc.edu,lowepub.cse.ucsc.edu */ display_servers?: string; /** @@ -5300,7 +5438,7 @@ export interface components { * * Example value 'sudo -E scripts/drmaa_external_killer.py' */ - drmaa_external_killjob_script?: string; + drmaa_external_killjob_script: string; /** * Drmaa External Runjob Script * @description When running DRMAA jobs as the Galaxy user @@ -5309,35 +5447,45 @@ export interface components { * * Example value 'sudo -E scripts/drmaa_external_runner.py --assign_all_groups' */ - drmaa_external_runjob_script?: string; + drmaa_external_runjob_script: string; /** * Dynamic Proxy * @description As of 16.04 Galaxy supports multiple proxy types. The original NodeJS * implementation, alongside a new Golang single-binary-no-dependencies * version. Valid values are (node, golang) + * + * @default node */ dynamic_proxy?: string; /** * Dynamic Proxy Bind Ip * @description Set the port and IP for the dynamic proxy to bind to, this must match * the external configuration if dynamic_proxy_manage is set to false. + * + * @default 0.0.0.0 */ dynamic_proxy_bind_ip?: string; /** * Dynamic Proxy Bind Port * @description Set the port and IP for the dynamic proxy to bind to, this must match * the external configuration if dynamic_proxy_manage is set to false. + * + * @default 8800 */ dynamic_proxy_bind_port?: number; /** * Dynamic Proxy Debug * @description Enable verbose debugging of Galaxy-managed dynamic proxy. + * + * @default false */ dynamic_proxy_debug?: boolean; /** * Dynamic Proxy External Proxy * @description The dynamic proxy is proxied by an external proxy (e.g. apache frontend to * nodejs to wrap connections in SSL). + * + * @default false */ dynamic_proxy_external_proxy?: boolean; /** @@ -5347,18 +5495,22 @@ export interface components { * be set randomly for you. You should set this if you are managing the proxy * manually. */ - dynamic_proxy_golang_api_key?: string; + dynamic_proxy_golang_api_key: string; /** * Dynamic Proxy Golang Clean Interval * @description In order to kill containers, the golang proxy has to check at some interval * for possibly dead containers. This is exposed as a configurable parameter, * but the default value is probably fine. + * + * @default 10 */ dynamic_proxy_golang_clean_interval?: number; /** * Dynamic Proxy Golang Docker Address * @description The golang proxy needs to know how to talk to your docker daemon. Currently * TLS is not supported, that will come in an update. + * + * @default unix:///var/run/docker.sock */ dynamic_proxy_golang_docker_address?: string; /** @@ -5366,6 +5518,8 @@ export interface components { * @description This attribute governs the minimum length of time between consecutive HTTP/WS * requests through the proxy, before the proxy considers a container as being * inactive and kills it. + * + * @default 60 */ dynamic_proxy_golang_noaccess?: number; /** @@ -5376,6 +5530,8 @@ export interface components { * `lib/galaxy/web/proxy/js`. It is generally more robust to configure this * externally, managing it in the same way Galaxy itself is managed. If true, Galaxy will only * launch the proxy if it is actually going to be used (e.g. for Jupyter). + * + * @default true */ dynamic_proxy_manage?: boolean; /** @@ -5384,12 +5540,16 @@ export interface components { * want to specify a prefixed URL so both Galaxy and the proxy reside under the * same path that your cookies are under. This will result in a url like * https://FQDN/galaxy-prefix/gie_proxy for proxying + * + * @default gie_proxy */ dynamic_proxy_prefix?: string; /** * Dynamic Proxy Session Map * @description The NodeJS dynamic proxy can use an SQLite database or a JSON file for IPC, * set that here. + * + * @default session_map.sqlite */ dynamic_proxy_session_map?: string; /** @@ -5397,11 +5557,15 @@ export interface components { * @description Comma-separated list of the EDAM panel views to load - choose from merged, operations, topics. * Set to empty string to disable EDAM all together. Set default_panel_view to 'ontology:edam_topics' * to override default tool panel to use an EDAM view. + * + * @default operations,topics */ edam_panel_views?: string; /** * Edam Toolbox Ontology Path * @description Sets the path to EDAM ontology file - if the path doesn't exist PyPI package data will be loaded. + * + * @default EDAM.tsv */ edam_toolbox_ontology_path?: string; /** @@ -5419,7 +5583,7 @@ export interface components { * * The value of this option will be resolved with respect to . */ - email_domain_allowlist_file?: string; + email_domain_allowlist_file: string; /** * Email Domain Blocklist File * @description E-mail domains blocklist is used for filtering out users that are using @@ -5431,7 +5595,7 @@ export interface components { * * The value of this option will be resolved with respect to . */ - email_domain_blocklist_file?: string; + email_domain_blocklist_file: string; /** * Email From * @description Email address to use in the 'From' field when sending emails for @@ -5440,16 +5604,20 @@ export interface components { * Galaxy Project . * If not configured, '' will be used. */ - email_from?: string; + email_from: string; /** * Enable Account Interface * @description Allow users to manage their account data, change passwords or delete their * accounts. + * + * @default true */ enable_account_interface?: boolean; /** * Enable Beacon Integration * @description Enables user preferences and api endpoint for the beacon integration. + * + * @default false */ enable_beacon_integration?: boolean; /** @@ -5468,6 +5636,8 @@ export interface components { * * Please read the GDPR section under the special topics area of the * admin documentation. + * + * @default false */ enable_beta_gdpr?: boolean; /** @@ -5475,6 +5645,8 @@ export interface components { * @description Enable export of Galaxy Markdown documents (pages and workflow reports) * to PDF. Requires manual installation and setup of weasyprint (latest version * available for Python 2.7 is 0.42). + * + * @default false */ enable_beta_markdown_export?: boolean; /** @@ -5482,6 +5654,8 @@ export interface components { * @description Enable beta workflow modules that should not yet be considered part of Galaxy's * stable API. (The module state definitions may change and workflows built using * these modules may not function in the future.) + * + * @default false */ enable_beta_workflow_modules?: boolean; /** @@ -5489,16 +5663,22 @@ export interface components { * @description Offload long-running tasks to a Celery task queue. * Activate this only if you have setup a Celery worker for Galaxy. * For details, see https://docs.galaxyproject.org/en/master/admin/production.html + * + * @default false */ enable_celery_tasks?: boolean; /** * Enable Data Manager User View * @description Allow non-admin users to view available Data Manager options. + * + * @default false */ enable_data_manager_user_view?: boolean; /** * Enable Legacy Sample Tracking Api * @description Enable the API for sample tracking + * + * @default false */ enable_legacy_sample_tracking_api?: boolean; /** @@ -5508,6 +5688,8 @@ export interface components { * available) have been generated using mulled - https://github.com/mulled. * Container availability will vary by tool, this option will only be used * for job destinations with Docker or Singularity enabled. + * + * @default true */ enable_mulled_containers?: boolean; /** @@ -5519,11 +5701,15 @@ export interface components { * The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. * * Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. + * + * @default false */ enable_notification_system?: boolean; /** * Enable Oidc * @description Enables and disables OpenID Connect (OIDC) support. + * + * @default false */ enable_oidc?: boolean; /** @@ -5537,6 +5723,8 @@ export interface components { * where a malicious party could provide a link that appears to reference the * Galaxy server, but contains a redirect to a third-party server, tricking a * Galaxy user to access said site. + * + * @default true */ enable_old_display_applications?: boolean; /** @@ -5545,11 +5733,15 @@ export interface components { * append ?sql_debug=1 to web request URLs to enable detailed logging on * the backend of SQL queries generated during that request. This is * useful for debugging slow endpoints during development. + * + * @default false */ enable_per_request_sql_debugging?: boolean; /** * Enable Quotas * @description Enable enforcement of quotas. Quotas can be set from the Admin interface. + * + * @default false */ enable_quotas?: boolean; /** @@ -5559,12 +5751,16 @@ export interface components { * times. The tool cache is backed by a SQLite database, which cannot * be stored on certain network disks. The cache location is configurable * using the ``tool_cache_data_dir`` setting, but can be disabled completely here. + * + * @default false */ enable_tool_document_cache?: boolean; /** * Enable Tool Recommendations * @description Allow the display of tool recommendations in workflow editor and after tool execution. * If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well + * + * @default false */ enable_tool_recommendations?: boolean; /** @@ -5573,6 +5769,8 @@ export interface components { * are available for installed repositories. Ideally only one Galaxy * server process should be able to check for repository updates. The * setting for hours_between_check should be an integer between 1 and 24. + * + * @default false */ enable_tool_shed_check?: boolean; /** @@ -5582,6 +5780,8 @@ export interface components { * wrappers installed on this Galaxy server. If you have only installed tool * wrappers from public tool sheds and tools shipped with Galaxy there you * can enable this option. + * + * @default false */ enable_tool_source_display?: boolean; /** @@ -5589,6 +5789,8 @@ export interface components { * @description Enable tool tags (associating tools with tags). This has its own option * since its implementation has a few performance implications on startup for * large servers. + * + * @default false */ enable_tool_tags?: boolean; /** @@ -5599,6 +5801,8 @@ export interface components { * compatible datasets in the history. * When false, the most recently added compatible item in the history will * be used for each "Set at Runtime" input, independent of others in the workflow. + * + * @default false */ enable_unique_workflow_defaults?: boolean; /** @@ -5613,7 +5817,7 @@ export interface components { * the actual user, to remove the need to configure each user's environment * individually. */ - environment_setup_file?: string; + environment_setup_file: string; /** * Error Email To * @description Datasets in an error state include a link to report the error. Those reports @@ -5621,15 +5825,19 @@ export interface components { * set. Also this email is shown as a contact to user in case of Galaxy * misconfiguration and other events user may encounter. */ - error_email_to?: string; + error_email_to: string; /** * Error Report File * @description Path to error reports configuration file. + * + * @default error_report.yml */ error_report_file?: string; /** * Expired Notifications Cleanup Interval * @description The interval in seconds between attempts to delete all expired notifications from the database (every 24 hours by default). Runs in a Celery task. + * + * @default 86400 */ expired_notifications_cleanup_interval?: number; /** @@ -5637,12 +5845,16 @@ export interface components { * @description This option allows users to see the full path of datasets via the "View * Details" option in the history. This option also exposes the command line to * non-administrative users. Administrators can always see dataset paths. + * + * @default false */ expose_dataset_path?: boolean; /** * Expose Potentially Sensitive Job Metrics * @description This option allows users to see the job metrics (except for environment * variables). + * + * @default false */ expose_potentially_sensitive_job_metrics?: boolean; /** @@ -5656,6 +5868,8 @@ export interface components { * * If enable_beta_gdpr is set to true, then this option will be * overridden and set to false. + * + * @default false */ expose_user_email?: boolean; /** @@ -5669,6 +5883,8 @@ export interface components { * * If enable_beta_gdpr is set to true, then this option will be * overridden and set to false. + * + * @default false */ expose_user_name?: boolean; /** @@ -5680,7 +5896,7 @@ export interface components { * * Example value 'sudo -E scripts/external_chown_script.py' */ - external_chown_script?: string; + external_chown_script: string; /** * Fetch Url Allowlist * @description List of allowed local network addresses for "Upload from URL" dialog. @@ -5691,41 +5907,51 @@ export interface components { * It should be a comma-separated list of IP addresses or IP address/mask, e.g. * 10.10.10.10,10.0.1.0/24,fd00::/8 */ - fetch_url_allowlist?: string; + fetch_url_allowlist: string; /** * File Path * @description Where dataset files are stored. It must be accessible at the same path on any cluster * nodes that will run Galaxy jobs, unless using Pulsar. The default value has been changed * from 'files' to 'objects' as of 20.05; however, Galaxy will first check if the 'files' * directory exists before using 'objects' as the default. + * + * @default objects */ file_path?: string; /** * File Sources * @description FileSource plugins described embedded into Galaxy's config. */ - file_sources?: Record[]; + file_sources: Record[]; /** * File Sources Config File * @description Configured FileSource plugins. + * + * @default file_sources_conf.yml */ file_sources_config_file?: string; /** * Fluent Host * @description Fluentd configuration. Various events can be logged to the fluentd instance * configured below by enabling fluent_log. + * + * @default localhost */ fluent_host?: string; /** * Fluent Log * @description Fluentd configuration. Various events can be logged to the fluentd instance * configured below by enabling fluent_log. + * + * @default false */ fluent_log?: boolean; /** * Fluent Port * @description Fluentd configuration. Various events can be logged to the fluentd instance * configured below by enabling fluent_log. + * + * @default 24224 */ fluent_port?: number; /** @@ -5734,6 +5960,8 @@ export interface components { * This affects tools that create many output datasets. * Higher values will lead to fewer database flushes and faster execution, but require * more memory. Set to -1 to disable creating datasets in batches. + * + * @default 1000 */ flush_per_n_datasets?: number; /** @@ -5741,13 +5969,15 @@ export interface components { * @description This should point to a directory containing subdirectories matching users' * identifier (defaults to e-mail), where Galaxy will look for files. */ - ftp_upload_dir?: string; + ftp_upload_dir: string; /** * Ftp Upload Dir Identifier * @description User attribute to use as subdirectory in calculating default ftp_upload_dir * pattern. By default this will be email so a user's FTP upload directory will be * ${ftp_upload_dir}/${user.email}. Can set this to other attributes such as id or * username though. + * + * @default email */ ftp_upload_dir_identifier?: string; /** @@ -5757,11 +5987,13 @@ export interface components { * * Defaults to '${ftp_upload_dir}/${ftp_upload_dir_identifier}'. */ - ftp_upload_dir_template?: string; + ftp_upload_dir_template: string; /** * Ftp Upload Purge * @description Set to false to prevent Galaxy from deleting uploaded FTP files * as it imports them. + * + * @default true */ ftp_upload_purge?: boolean; /** @@ -5772,7 +6004,7 @@ export interface components { * This will be provided to users in the help text as 'log in to the FTP * server at '. Thus, it should be the hostname of your FTP server. */ - ftp_upload_site?: string; + ftp_upload_site: string; /** * Ga4Gh Service Environment * @description Service environment (exposed via the service-info endpoint for the Galaxy DRS API) for @@ -5784,7 +6016,7 @@ export interface components { * https://github.com/ga4gh-discovery/ga4gh-service-registry * and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml */ - ga4gh_service_environment?: string; + ga4gh_service_environment: string; /** * Ga4Gh Service Id * @description Service ID for GA4GH services (exposed via the service-info endpoint for the Galaxy DRS API). @@ -5800,7 +6032,7 @@ export interface components { * service "id" (available via the DRS API) for the above configuration value would be * org.usegalaxy.drs. */ - ga4gh_service_id?: string; + ga4gh_service_id: string; /** * Ga4Gh Service Organization Name * @description Service name for host organization (exposed via the service-info endpoint for the Galaxy DRS API). @@ -5810,7 +6042,7 @@ export interface components { * https://github.com/ga4gh-discovery/ga4gh-service-registry * and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml */ - ga4gh_service_organization_name?: string; + ga4gh_service_organization_name: string; /** * Ga4Gh Service Organization Url * @description Organization URL for host organization (exposed via the service-info endpoint for the Galaxy DRS API). @@ -5820,19 +6052,19 @@ export interface components { * https://github.com/ga4gh-discovery/ga4gh-service-registry * and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml */ - ga4gh_service_organization_url?: string; + ga4gh_service_organization_url: string; /** * Ga Code * @description You can enter tracking code here to track visitor's behavior * through your Google Analytics account. Example: UA-XXXXXXXX-Y */ - ga_code?: string; + ga_code: string; /** * Galaxy Data Manager Data Path * @description Directory to store Data Manager based tool-data. Defaults to the value of the * option. */ - galaxy_data_manager_data_path?: string; + galaxy_data_manager_data_path: string; /** * Galaxy Infrastructure Url * @description URL (with schema http/https) of the Galaxy instance as accessible @@ -5842,6 +6074,8 @@ export interface components { * * If you plan to run Interactive Tools make sure the docker container * can reach this URL. + * + * @default http://localhost:8080 */ galaxy_infrastructure_url?: string; /** @@ -5853,12 +6087,16 @@ export interface components { * Python processes directly and this should be set to 80 or 443, etc... If * unset this file will be read for a server block defining a port corresponding * to the webapp. + * + * @default 8080 */ galaxy_infrastructure_web_port?: number; /** * Galaxy Url Prefix * @description URL prefix for Galaxy application. If Galaxy should be served under a prefix set this to * the desired prefix value. + * + * @default / */ galaxy_url_prefix?: string; /** @@ -5868,6 +6106,8 @@ export interface components { * carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the * `geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, * visit https://galaxyproject.org/admin/carbon_emissions + * + * @default GLOBAL */ geographical_server_location_code?: string; /** @@ -5875,11 +6115,15 @@ export interface components { * @description Control the period (in seconds) between dumps. Use -1 to disable. Regardless * of this setting, if use_heartbeat is enabled, you can send a Galaxy process * SIGUSR1 (`kill -USR1`) to force a dump. + * + * @default 20 */ heartbeat_interval?: number; /** * Heartbeat Log * @description Heartbeat log filename. Can accept the template variables {server_name} and {pid} + * + * @default heartbeat_{server_name}.log */ heartbeat_log?: string; /** @@ -5893,11 +6137,15 @@ export interface components { * History Audit Table Prune Interval * @description Time (in seconds) between attempts to remove old rows from the history_audit database table. * Set to 0 to disable pruning. + * + * @default 3600 */ history_audit_table_prune_interval?: number; /** * History Local Serial Workflow Scheduling * @description Force serial scheduling of workflows within the context of a particular history + * + * @default false */ history_local_serial_workflow_scheduling?: boolean; /** @@ -5906,6 +6154,8 @@ export interface components { * are available for installed repositories. Ideally only one Galaxy * server process should be able to check for repository updates. The * setting for hours_between_check should be an integer between 1 and 24. + * + * @default 12 */ hours_between_check?: number; /** @@ -5916,12 +6166,16 @@ export interface components { * string with a length between 5 and 56 bytes. * One simple way to generate a value for this is with the shell command: * python -c 'from __future__ import print_function; import time; print(time.time())' | md5sum | cut -f 1 -d ' ' + * + * @default USING THE DEFAULT IS NOT SECURE! */ id_secret?: string; /** * Inactivity Box Content * @description Shown in warning box to users that were not activated yet. * In use only if activation_grace_period is set. + * + * @default Your account has not been activated yet. Feel free to browse around and see what's available, but you won't be able to upload data or run jobs until you have verified your email address. */ inactivity_box_content?: string; /** @@ -5935,7 +6189,7 @@ export interface components { * * Defaults to the value of the 'database_connection' option. */ - install_database_connection?: string; + install_database_connection: string; /** * Instance Resource Url * @description URL of the support resource for the galaxy instance. Used in activation @@ -5943,7 +6197,7 @@ export interface components { * * Example value 'https://galaxyproject.org/' */ - instance_resource_url?: string; + instance_resource_url: string; /** * Integrated Tool Panel Config * @description File that contains the XML section and tool tags from all tool panel config @@ -5952,26 +6206,36 @@ export interface components { * tool panel. If not present, Galaxy will create it. * * The value of this option will be resolved with respect to . + * + * @default integrated_tool_panel.xml */ integrated_tool_panel_config?: string; /** * Interactivetools Base Path * @description Base path for interactive tools running at a subpath without a subdomain. Defaults to "/". + * + * @default / */ interactivetools_base_path?: string; /** * Interactivetools Enable * @description Enable InteractiveTools. + * + * @default false */ interactivetools_enable?: boolean; /** * Interactivetools Map * @description Map for interactivetool proxy. + * + * @default interactivetools_map.sqlite */ interactivetools_map?: string; /** * Interactivetools Prefix * @description Prefix to use in the formation of the subdomain or path for interactive tools + * + * @default interactivetool */ interactivetools_prefix?: string; /** @@ -5979,23 +6243,28 @@ export interface components { * @description Hostname and port of Interactive tools proxy. It is assumed to be hosted on the same hostname and port as * Galaxy by default. */ - interactivetools_proxy_host?: string; + interactivetools_proxy_host: string; /** * Interactivetools Shorten Url * @description Shorten the uuid portion of the subdomain or path for interactive tools. * Especially useful for avoiding the need for wildcard certificates by keeping * subdomain under 63 chars + * + * @default false */ interactivetools_shorten_url?: boolean; /** * Interactivetools Upstream Proxy * @description Set this to false to redirect users of Interactive tools directly to the Interactive tools proxy. `interactivetools_upstream_proxy` should only be set to false in development. + * @default true */ interactivetools_upstream_proxy?: boolean; /** * Involucro Auto Init * @description Install involucro as needed to build Docker or Singularity containers for tools. Ignored if * relevant container resolver is not used. + * + * @default true */ involucro_auto_init?: boolean; /** @@ -6005,13 +6274,15 @@ export interface components { * the location of involucro on the Galaxy host. This is ignored if the relevant * container resolver isn't enabled, and will install on demand unless * involucro_auto_init is set to false. + * + * @default involucro */ involucro_path?: string; /** * Job Config * @description Description of job running configuration, can be embedded into Galaxy configuration or loaded from an additional file with the job_config_file option. */ - job_config?: Record; + job_config: Record; /** * Job Config File * @description To increase performance of job execution and the web interface, you can @@ -6024,6 +6295,8 @@ export interface components { * notifies itself of new jobs via in-memory queues. Jobs are run locally on * the system on which Galaxy is started. Advanced job running capabilities can * be configured through the job configuration file or the option. + * + * @default job_conf.yml */ job_config_file?: string; /** @@ -6033,11 +6306,15 @@ export interface components { * number of seconds at the end of each iteration. This can be decreased if extremely high * job throughput is necessary, but doing so can increase CPU usage of handler processes. * Float values are allowed. + * + * @default 1 */ job_handler_monitor_sleep?: number; /** * Job Metrics Config File * @description XML config file that contains the job metric collection configuration. + * + * @default job_metrics_conf.xml */ job_metrics_config_file?: string; /** @@ -6046,6 +6323,8 @@ export interface components { * These fields will be presented to users in the tool forms and allow them to * overwrite default job resources such as number of processors, memory and * walltime. + * + * @default job_resource_params_conf.xml */ job_resource_params_file?: string; /** @@ -6055,6 +6334,8 @@ export interface components { * sleeps for the given number of seconds at the end of each iteration. This can be * decreased if extremely high job throughput is necessary, but doing so can increase CPU * usage of handler processes. Float values are allowed. + * + * @default 1 */ job_runner_monitor_sleep?: number; /** @@ -6064,6 +6345,8 @@ export interface components { * created. * * The value of this option will be resolved with respect to . + * + * @default jobs_directory */ job_working_directory?: string; /** @@ -6071,6 +6354,8 @@ export interface components { * @description Directory where chrom len files are kept, currently mainly used by trackster. * * The value of this option will be resolved with respect to . + * + * @default shared/ucsc/chrom */ len_file_path?: string; /** @@ -6078,11 +6363,13 @@ export interface components { * @description Add an option to the library upload form which allows administrators to * upload a directory of files. */ - library_import_dir?: string; + library_import_dir: string; /** * Local Conda Mapping File * @description Path to a file that provides a mapping from abstract packages to concrete conda packages. * See `config/local_conda_mapping.yml.sample` for examples. + * + * @default local_conda_mapping.yml */ local_conda_mapping_file?: string; /** @@ -6090,6 +6377,8 @@ export interface components { * @description This enables splitting of jobs into tasks, if specified by the particular tool * config. * This is a new feature and not recommended for production servers yet. + * + * @default 2 */ local_task_queue_workers?: number; /** @@ -6097,6 +6386,8 @@ export interface components { * @description Turn on logging of user actions to the database. Actions currently logged * are grid views, tool searches, and use of "recently" used tools menu. The * log_events and log_actions functionality will eventually be merged. + * + * @default false */ log_actions?: boolean; /** @@ -6104,11 +6395,15 @@ export interface components { * @description Log destination, defaults to special value "stdout" that logs to standard output. If set to anything else, * then it will be interpreted as a path that will be used as the log file, and logging to stdout will be * disabled. + * + * @default stdout */ log_destination?: string; /** * Log Events * @description Turn on logging of application events and some user events to the database. + * + * @default false */ log_events?: boolean; /** @@ -6116,6 +6411,8 @@ export interface components { * @description Verbosity of console log messages. Acceptable values can be found here: * https://docs.python.org/library/logging.html#logging-levels * A custom debug level of "TRACE" is available for even more verbosity. + * + * @default DEBUG */ log_level?: string; /** @@ -6124,6 +6421,8 @@ export interface components { * https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler * Any additional rotated log files will automatically be pruned. If log_rotate_size is not also set, no log * rotation will be performed. A value of 0 (the default) means no rotation. + * + * @default 0 */ log_rotate_count?: number; /** @@ -6132,6 +6431,8 @@ export interface components { * https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler * If log_rotate_count is not also set, no log rotation will be performed. A value of 0 (the default) means no * rotation. Size can be a number of bytes or a human-friendly representation like "100 MB" or "1G". + * + * @default 0 */ log_rotate_size?: string; /** @@ -6140,20 +6441,24 @@ export interface components { * options. Configuration is described in the documentation at: * https://docs.galaxyproject.org/en/master/admin/config_logging.html */ - logging?: Record; + logging: Record; /** * Logo Src * @description The brand image source. + * + * @default /static/favicon.svg */ logo_src?: string; /** * Logo Src Secondary * @description The custom brand image source. */ - logo_src_secondary?: string; + logo_src_secondary: string; /** * Logo Url * @description The URL linked by the "Galaxy/brand" text. + * + * @default / */ logo_url?: string; /** @@ -6164,17 +6469,21 @@ export interface components { * * Example value 'galaxy-announce-join@lists.galaxyproject.org' */ - mailing_join_addr?: string; + mailing_join_addr: string; /** * Mailing Join Body * @description The body of the email sent to the mailing list join address. See the * `mailing_join_addr` option for more information. + * + * @default Join Mailing List */ mailing_join_body?: string; /** * Mailing Join Subject * @description The subject of the email sent to the mailing list join address. See the * `mailing_join_addr` option for more information. + * + * @default Join Mailing List */ mailing_join_subject?: string; /** @@ -6184,11 +6493,13 @@ export interface components { * writable by the user running Galaxy. Defaults to `/` if running * Galaxy from source or `/config` otherwise. */ - managed_config_dir?: string; + managed_config_dir: string; /** * Markdown Export Css * @description CSS file to apply to all Markdown exports to PDF - currently used by * WeasyPrint during rendering an HTML export of the document to PDF. + * + * @default markdown_export.css */ markdown_export_css?: string; /** @@ -6196,6 +6507,8 @@ export interface components { * @description CSS file to apply to invocation report exports to PDF. Generally prefer * markdown_export_css, but this is here for deployments that * would like to tailor different kinds of exports. + * + * @default markdown_export_invocation_reports.css */ markdown_export_css_invocation_reports?: string; /** @@ -6203,40 +6516,54 @@ export interface components { * @description CSS file to apply to "Galaxy Page" exports to PDF. Generally prefer * markdown_export_css, but this is here for deployments that * would like to tailor different kinds of exports. + * + * @default markdown_export_pages.css */ markdown_export_css_pages?: string; /** * Markdown Export Epilogue * @description Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing * branded footers. + * + * @default */ markdown_export_epilogue?: string; /** * Markdown Export Epilogue Invocation Reports * @description Alternative to markdown_export_epilogue that applies just to invocation report * exports. + * + * @default */ markdown_export_epilogue_invocation_reports?: string; /** * Markdown Export Epilogue Pages * @description Alternative to markdown_export_epilogue that applies just to page exports. + * + * @default */ markdown_export_epilogue_pages?: string; /** * Markdown Export Prologue * @description Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing * branded headers. + * + * @default */ markdown_export_prologue?: string; /** * Markdown Export Prologue Invocation Reports * @description Alternative to markdown_export_prologue that applies just to invocation report * exports. + * + * @default */ markdown_export_prologue_invocation_reports?: string; /** * Markdown Export Prologue Pages * @description Alternative to markdown_export_prologue that applies just to page exports. + * + * @default */ markdown_export_prologue_pages?: string; /** @@ -6244,19 +6571,21 @@ export interface components { * @description Please enter the URL for the Matomo server (including https) so this can be used for tracking * with Matomo (https://matomo.org/). */ - matomo_server?: string; + matomo_server: string; /** * Matomo Site Id * @description Please enter the site ID for the Matomo server so this can be used for tracking * with Matomo (https://matomo.org/). */ - matomo_site_id?: string; + matomo_site_id: string; /** * Max Discovered Files * @description Set this to a positive integer value to limit the number of datasets that can be discovered by * a single job. This prevents accidentally creating large numbers of datasets when running tools * that create a potentially unlimited number of output datasets, such as tools that split a file * into a collection of datasets for each line in an input dataset. + * + * @default 10000 */ max_discovered_files?: number; /** @@ -6266,12 +6595,16 @@ export interface components { * result database value size) Galaxy will attempt to save with a dataset. Use * 0 to disable this feature. The default is 5MB, but as low as 1MB seems to be * a reasonable size. + * + * @default 5242880 */ max_metadata_value_size?: number; /** * Maximum Upload File Size * @description Maximum size of uploadable files, specified in bytes (default: 100GB). * This value is ignored if an external upload server is configured. + * + * @default 107374182400 */ maximum_upload_file_size?: number; /** @@ -6279,6 +6612,8 @@ export interface components { * @description This is the maximum amount of time a workflow invocation may stay in an active * scheduling state in seconds. Set to -1 to disable this maximum and allow any workflow * invocation to schedule indefinitely. The default corresponds to 1 month. + * + * @default 2678400 */ maximum_workflow_invocation_duration?: number; /** @@ -6289,22 +6624,28 @@ export interface components { * scheduling workflows at the expense of increased total DB traffic because model objects * are expunged from the SQL alchemy session between workflow invocation scheduling iterations. * Set to -1 to disable any such maximum. + * + * @default 1000 */ maximum_workflow_jobs_per_scheduling_iteration?: number; /** * Message Box Class * @description Class of the message box under the masthead. Possible values are: * 'info' (the default), 'warning', 'error', 'done'. + * + * @default info */ message_box_class?: string; /** * Message Box Content * @description Show a message box under the masthead. */ - message_box_content?: string; + message_box_content: string; /** * Message Box Visible * @description Show a message box under the masthead. + * + * @default false */ message_box_visible?: boolean; /** @@ -6317,6 +6658,8 @@ export interface components { * output discovery (e.g. discovered datasets , unpopulated collections, * etc) happens as part of the job. In `directory_celery` and `extended_celery` metadata * will be set within a celery task. + * + * @default directory */ metadata_strategy?: string; /** @@ -6325,12 +6668,16 @@ export interface components { * In previous releases this file was maintained by tool migration scripts that are no * longer part of the code base. The option remains as a placeholder for deployments where * these scripts were previously run and such a file exists. + * + * @default migrated_tools_conf.xml */ migrated_tools_config?: string; /** * Modules Mapping Files * @description Path to a file that provides a mapping from abstract packages to locally installed modules. * See `config/environment_modules_mapping.yml.sample` for examples. + * + * @default environment_modules_mapping.yml */ modules_mapping_files?: string; /** @@ -6342,26 +6689,36 @@ export interface components { * jobs, and which can cause job errors if not shut down cleanly. If using * supervisord, consider also increasing the value of `stopwaitsecs`. See the * Galaxy Admin Documentation for more. + * + * @default 30 */ monitor_thread_join_timeout?: number; /** * Mulled Channels * @description Conda channels to use when building Docker or Singularity containers using involucro. + * + * @default conda-forge,bioconda */ mulled_channels?: string; /** * Mulled Resolution Cache Data Dir * @description Data directory used by beaker for caching mulled resolution requests. + * + * @default mulled/data */ mulled_resolution_cache_data_dir?: string; /** * Mulled Resolution Cache Expire * @description Seconds until the beaker cache is considered old and a new value is created. + * + * @default 3600 */ mulled_resolution_cache_expire?: number; /** * Mulled Resolution Cache Lock Dir * @description Lock directory used by beaker for caching mulled resolution requests. + * + * @default mulled/locks */ mulled_resolution_cache_lock_dir?: string; /** @@ -6370,18 +6727,22 @@ export interface components { * the database schema name of the table used by beaker for * caching mulled resolution requests. */ - mulled_resolution_cache_schema_name?: string; + mulled_resolution_cache_schema_name: string; /** * Mulled Resolution Cache Table Name * @description When mulled_resolution_cache_type = ext:database, this is * the database table name used by beaker for * caching mulled resolution requests. + * + * @default beaker_cache */ mulled_resolution_cache_table_name?: string; /** * Mulled Resolution Cache Type * @description Mulled resolution caching. Mulled resolution uses external APIs of quay.io, these * requests are caching using this and the following parameters + * + * @default file */ mulled_resolution_cache_type?: string; /** @@ -6391,11 +6752,13 @@ export interface components { * requests. The application config code will set it to the * value of database_connection if this is not set. */ - mulled_resolution_cache_url?: string; + mulled_resolution_cache_url: string; /** * New File Path * @description Where temporary files are stored. It must be accessible at the same path on any cluster * nodes that will run Galaxy jobs, unless using Pulsar. + * + * @default tmp */ new_file_path?: string; /** @@ -6404,6 +6767,8 @@ export interface components { * it to be private. Does not affect existing users and data, only ones created * after this option is set. Users may still change their default back to * public. + * + * @default false */ new_user_dataset_access_role_default_private?: boolean; /** @@ -6413,7 +6778,7 @@ export interface components { * operations on the remote end. See the Galaxy nginx documentation for the * corresponding nginx configuration. */ - nginx_upload_job_files_path?: string; + nginx_upload_job_files_path: string; /** * Nginx Upload Job Files Store * @description Galaxy can also use nginx_upload_module to receive files staged out upon job @@ -6421,14 +6786,14 @@ export interface components { * operations on the remote end. See the Galaxy nginx documentation for the * corresponding nginx configuration. */ - nginx_upload_job_files_store?: string; + nginx_upload_job_files_store: string; /** * Nginx Upload Path * @description This value overrides the action set on the file upload form, e.g. the web * path where the nginx_upload_module has been configured to intercept upload * requests. */ - nginx_upload_path?: string; + nginx_upload_path: string; /** * Nginx Upload Store * @description nginx can also handle file uploads (user-to-Galaxy) via nginx_upload_module. @@ -6436,19 +6801,21 @@ export interface components { * documentation linked above. The upload store is a temporary directory in * which files uploaded by the upload module will be placed. */ - nginx_upload_store?: string; + nginx_upload_store: string; /** * Nginx X Accel Redirect Base * @description The same download handling can be done by nginx using X-Accel-Redirect. This * should be set to the path defined in the nginx config as an internal redirect * with access to Galaxy's data files (see documentation linked above). */ - nginx_x_accel_redirect_base?: string; + nginx_x_accel_redirect_base: string; /** * Normalize Remote User Email * @description If your proxy and/or authentication source does not normalize e-mail * addresses or user names being passed to Galaxy - set this option * to true to force these to lower case. + * + * @default false */ normalize_remote_user_email?: boolean; /** @@ -6464,6 +6831,8 @@ export interface components { * This option serves as the default for all object stores and can be overridden * on a per object store basis (but don't - just setup tmpwatch for all relevant * cache paths). + * + * @default auto */ object_store_cache_monitor_driver?: string; /** @@ -6473,24 +6842,32 @@ export interface components { * recommend you do not use) and by the celery task if it is configured (by setting * enable_celery_tasks to true and not setting object_store_cache_monitor_driver to * external). + * + * @default 600 */ object_store_cache_monitor_interval?: number; /** * Object Store Cache Path * @description Default cache path for caching object stores if cache not configured for * that object store entry. + * + * @default object_store_cache */ object_store_cache_path?: string; /** * Object Store Cache Size * @description Default cache size for caching object stores if cache not configured for * that object store entry. + * + * @default -1 */ object_store_cache_size?: number; /** * Object Store Config File * @description Configuration file for the object store * If this is set and exists, it overrides any other objectstore settings. + * + * @default object_store_conf.xml */ object_store_config_file?: string; /** @@ -6502,15 +6879,19 @@ export interface components { * if the name of the directory set in is `objects`, the default will be set * to 'uuid', otherwise it will be 'id'. */ - object_store_store_by?: string; + object_store_store_by: string; /** * Oidc Backends Config File * @description Sets the path to OIDC backends configuration file. + * + * @default oidc_backends_config.xml */ oidc_backends_config_file?: string; /** * Oidc Config File * @description Sets the path to OIDC configuration file. + * + * @default oidc_config.xml */ oidc_config_file?: string; /** @@ -6522,6 +6903,8 @@ export interface components { * on a cluster and datasets can not be created by the user running the jobs (e.g. * if the filesystem is mounted read-only or the jobs are run by a different * user than the galaxy user). + * + * @default false */ outputs_to_working_directory?: boolean; /** @@ -6529,6 +6912,8 @@ export interface components { * @description Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model * are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools * by admins and predicted by the deep learning model are shown. + * + * @default false */ overwrite_model_recommendations?: boolean; /** @@ -6536,12 +6921,14 @@ export interface components { * @description Definitions of static toolbox panel views embedded directly in the config instead of reading * YAML from directory with panel_views_dir. */ - panel_views?: Record[]; + panel_views: Record[]; /** * Panel Views Dir * @description Directory to check out for toolbox tool panel views. The path is relative to the * Galaxy root dir. To use an absolute path begin the path with '/'. This is a * comma-separated list. + * + * @default config/plugins/activities */ panel_views_dir?: string; /** @@ -6549,6 +6936,8 @@ export interface components { * @description If multiple job handlers are enabled, allow Galaxy to schedule workflow invocations * in multiple handlers simultaneously. This is discouraged because it results in a * less predictable order of workflow datasets within in histories. + * + * @default false */ parallelize_workflow_scheduling_within_histories?: boolean; /** @@ -6557,6 +6946,8 @@ export interface components { * password every x days. Users will be redirected to the change password * screen when they log in after their password expires. Enter 0 to disable * password expiration. + * + * @default 0 */ password_expiration_period?: number; /** @@ -6564,16 +6955,18 @@ export interface components { * @description Please enter the URL for the Galaxy server so this can be used for tracking * with Plausible (https://plausible.io/). */ - plausible_domain?: string; + plausible_domain: string; /** * Plausible Server * @description Please enter the URL for the Plausible server (including https) so this can be used for tracking * with Plausible (https://plausible.io/). */ - plausible_server?: string; + plausible_server: string; /** * Post User Logout Href * @description This is the default url to which users are redirected after they log out. + * + * @default /root/login?is_logout_redirect=true */ post_user_logout_href?: string; /** @@ -6582,6 +6975,8 @@ export interface components { * instance is running on. This can make carbon emissions estimates more accurate. * For more information on how to calculate a PUE value, visit * https://en.wikipedia.org/wiki/Power_usage_effectiveness + * + * @default 1.67 */ power_usage_effectiveness?: number; /** @@ -6589,11 +6984,15 @@ export interface components { * @description By default, when using a cached dependency manager, the dependencies are cached * when installing new tools and when using tools for the first time. * Set this to false if you prefer dependencies to be cached only when installing new tools. + * + * @default true */ precache_dependencies?: boolean; /** * Prefer Custos Login * @description Controls the order of the login page to prefer Custos-based login and registration. + * + * @default false */ prefer_custos_login?: boolean; /** @@ -6608,6 +7007,8 @@ export interface components { * tools). Set this to legacy_and_local to preserve the environment for legacy * tools and locally managed tools (this might be useful for instance if you are * installing software into Galaxy's virtualenv for tool development). + * + * @default legacy_only */ preserve_python_environment?: string; /** @@ -6619,11 +7020,15 @@ export interface components { * - $locale (complete format string for the server locale), * - $iso8601 (complete format string as specified by ISO 8601 international * standard). + * + * @default $locale (UTC) */ pretty_datetime_format?: string; /** * Quota Url * @description The URL linked for quota information in the UI. + * + * @default https://galaxyproject.org/support/account-quotas/ */ quota_url?: string; /** @@ -6638,23 +7043,29 @@ export interface components { * who can run every job being submitted. This user should not be the same user * running the galaxy system. * Possible values are user_email (default), username or + * + * @default user_email */ real_system_username?: string; /** * Refgenie Config File * @description File containing refgenie configuration, e.g. /path/to/genome_config.yaml. Can be used by refgenie backed tool data tables. */ - refgenie_config_file?: string; + refgenie_config_file: string; /** * Registration Warning Message * @description Registration warning message is used to discourage people from registering * multiple accounts. Applies mostly for the main Galaxy instance. * If no message specified the warning box will not be shown. + * + * @default Please register only one account - we provide this service free of charge and have limited computational resources. Multi-accounts are tracked and will be subjected to account termination and data deletion. */ registration_warning_message?: string; /** * Release Doc Base Url * @description The URL linked by the "Galaxy Version" link in the "Help" menu. + * + * @default https://docs.galaxyproject.org/en/release_ */ release_doc_base_url?: string; /** @@ -6664,6 +7075,8 @@ export interface components { * by WSGI). This option allows you to change the header. Note, you still need * to prepend ``HTTP_`` to the header in this option, but your proxy server should * *not* include ``HTTP_`` at the beginning of the header name. + * + * @default HTTP_REMOTE_USER */ remote_user_header?: string; /** @@ -6671,14 +7084,14 @@ export interface components { * @description If use_remote_user is enabled, you can set this to a URL that will log your * users out. */ - remote_user_logout_href?: string; + remote_user_logout_href: string; /** * Remote User Maildomain * @description If use_remote_user is enabled and your external authentication * method just returns bare usernames, set a default mail domain to be appended * to usernames, to become your Galaxy usernames (email addresses). */ - remote_user_maildomain?: string; + remote_user_maildomain: string; /** * Remote User Secret * @description If use_remote_user is enabled, anyone who can log in to the Galaxy host may @@ -6687,11 +7100,15 @@ export interface components { * If anyone other than the Galaxy user is using the server, then apache/nginx * should pass a value in the header 'GX_SECRET' that is identical to the one * below. + * + * @default USING THE DEFAULT IS NOT SECURE! */ remote_user_secret?: string; /** * Require Login * @description Force everyone to log in (disable anonymous access). + * + * @default false */ require_login?: boolean; /** @@ -6701,6 +7118,8 @@ export interface components { * steps. In such a case it may be desirable to set metadata on job outputs * internally (in the Galaxy job handler process). The default is is the value of * `retry_metadata_internally`, which defaults to `true`. + * + * @default true */ retry_interactivetool_metadata_internally?: boolean; /** @@ -6710,6 +7129,8 @@ export interface components { * these files. The job runner will retry the number of times specified below, * waiting 1 second between tries. For NFS, you may want to try the -noac mount * option (Linux) or -actimeo=0 (Solaris). + * + * @default 0 */ retry_job_output_collection?: number; /** @@ -6719,6 +7140,8 @@ export interface components { * a failed state (since retrying internally may cause the Galaxy process to be * unresponsive). If this option is set to false, the user will be given the * option to retry externally, or set metadata manually (when possible). + * + * @default true */ retry_metadata_internally?: boolean; /** @@ -6727,6 +7150,8 @@ export interface components { * 'text/html' will be sanitized thoroughly. This can be disabled if you have * special tools that require unaltered output. WARNING: disabling this does * make the Galaxy instance susceptible to XSS attacks initiated by your users. + * + * @default true */ sanitize_all_html?: boolean; /** @@ -6736,11 +7161,15 @@ export interface components { * through the Admin control panel -- see "Manage Allowlist" * * The value of this option will be resolved with respect to . + * + * @default sanitize_allowlist.txt */ sanitize_allowlist_file?: string; /** * Screencasts Url * @description The URL linked by the "Videos" link in the "Help" menu. + * + * @default https://www.youtube.com/c/galaxyproject */ screencasts_url?: string; /** @@ -6750,6 +7179,8 @@ export interface components { * use 0 in order to always use select2 fields, * use -1 (default) in order to always use the regular select fields, * use any other positive number as threshold (above threshold: regular select fields will be used) + * + * @default -1 */ select_type_workflow_threshold?: number; /** @@ -6757,7 +7188,7 @@ export interface components { * @description Use this option to provide the path to location of the CA (Certificate Authority) * certificate file if the sentry server uses a self-signed certificate. */ - sentry_ca_certs?: string; + sentry_ca_certs: string; /** * Sentry Dsn * @description Log to Sentry @@ -6766,11 +7197,13 @@ export interface components { * indicated sentry instance. This connection string is available in your * sentry instance under -> Settings -> API Keys. */ - sentry_dsn?: string; + sentry_dsn: string; /** * Sentry Event Level * @description Determines the minimum log level that will be sent as an event to Sentry. * Possible values are DEBUG, INFO, WARNING, ERROR or CRITICAL. + * + * @default ERROR */ sentry_event_level?: string; /** @@ -6778,6 +7211,8 @@ export interface components { * @description Set to a number between 0 and 1. With this option set, every transaction created * will have that percentage chance of being sent to Sentry. A value higher than 0 * is required to analyze performance. + * + * @default 0 */ sentry_traces_sample_rate?: number; /** @@ -6786,6 +7221,8 @@ export interface components { * contain browser executable JavaScript content as plain text. This will for * instance cause SVG datasets to not render properly and so may be disabled * by setting this option to true. + * + * @default false */ serve_xss_vulnerable_mimetypes?: boolean; /** @@ -6793,12 +7230,16 @@ export interface components { * @description Galaxy Session Timeout * This provides a timeout (in minutes) after which a user will have to log back in. * A duration of 0 disables this feature. + * + * @default 0 */ session_duration?: number; /** * Shed Data Manager Config File * @description File where Tool Shed based Data Managers are configured. This file will be created * automatically upon data manager installation. + * + * @default shed_data_manager_conf.xml */ shed_data_manager_config_file?: string; /** @@ -6812,6 +7253,8 @@ export interface components { * preferable. This file will be created automatically upon tool * installation, whereas Galaxy will fail to start if any files in * tool_config_file cannot be read. + * + * @default shed_tool_conf.xml */ shed_tool_config_file?: string; /** @@ -6819,7 +7262,7 @@ export interface components { * @description Directory where Tool Data Table related files will be placed when installed from a * ToolShed. Defaults to the value of the 'tool_data_path' option. */ - shed_tool_data_path?: string; + shed_tool_data_path: string; /** * Shed Tool Data Table Config * @description XML config file that contains additional data table entries for the @@ -6828,18 +7271,24 @@ export interface components { * tool_data_table_conf.xml.sample files. At the time of installation, these * entries are automatically added to the following file, which is parsed and * applied to the ToolDataTableManager at server start up. + * + * @default shed_tool_data_table_conf.xml */ shed_tool_data_table_config?: string; /** * Short Term Storage Cleanup Interval * @description How many seconds between instances of short term storage being cleaned up in default * Celery task configuration. + * + * @default 3600 */ short_term_storage_cleanup_interval?: number; /** * Short Term Storage Default Duration * @description Default duration before short term web storage files will be cleaned up by Galaxy * tasks (in seconds). The default duration is 1 day. + * + * @default 86400 */ short_term_storage_default_duration?: number; /** @@ -6850,24 +7299,32 @@ export interface components { * and that directory should be monitored by a tool such as tmpwatch in production * environments. short_term_storage_dir on the other hand is monitored by Galaxy's task * framework and should not require such external tooling. + * + * @default short_term_web_storage */ short_term_storage_dir?: string; /** * Short Term Storage Maximum Duration * @description The maximum duration short term storage files can hosted before they will be marked for * clean up. The default setting of 0 indicates no limit here. + * + * @default 0 */ short_term_storage_maximum_duration?: number; /** * Show User Prepopulate Form * @description When using LDAP for authentication, allow administrators to pre-populate users * using an additional form on 'Create new user' + * + * @default false */ show_user_prepopulate_form?: boolean; /** * Show Welcome With Login * @description Show the site's welcome page (see welcome_url) alongside the login page * (even if require_login is true). + * + * @default false */ show_welcome_with_login?: boolean; /** @@ -6879,12 +7336,16 @@ export interface components { * runtime inputs and not replacement parameters within tool steps). In the * future 'force' may be added an option for Galaskio-style servers that should * only render simplified workflows. + * + * @default prefer */ simplified_workflow_run_ui?: string; /** * Simplified Workflow Run Ui Job Cache * @description When the simplified workflow run form is rendered, should the invocation use job * caching. This isn't a boolean so an option for 'show-selection' can be added later. + * + * @default off */ simplified_workflow_run_ui_job_cache?: string; /** @@ -6895,6 +7356,8 @@ export interface components { * a runtime setting with the corresponding default. The default is to provide the * user this option and default it to the current history (the traditional behavior * of Galaxy for years) - this corresponds to the setting 'prefer_current'. + * + * @default prefer_current */ simplified_workflow_run_ui_target_history?: string; /** @@ -6905,12 +7368,14 @@ export interface components { * login or external proxy required. Such applications should not be exposed to * the world. */ - single_user?: string; + single_user: string; /** * Slow Query Log Threshold * @description Slow query logging. Queries slower than the threshold indicated below will * be logged to debug. A value of '0' is disabled. For example, you would set * this to .005 to log all queries taking longer than 5 milliseconds. + * + * @default 0 */ slow_query_log_threshold?: number; /** @@ -6919,7 +7384,7 @@ export interface components { * here (password in cleartext here, but if your server supports STARTTLS it * will be sent over the network encrypted). */ - smtp_password?: string; + smtp_password: string; /** * Smtp Server * @description Galaxy sends mail for various things: subscribing users to the mailing list @@ -6928,10 +7393,12 @@ export interface components { * which you may define here (host:port). * Galaxy will automatically try STARTTLS but will continue upon failure. */ - smtp_server?: string; + smtp_server: string; /** * Smtp Ssl * @description If your SMTP server requires SSL from the beginning of the connection + * + * @default false */ smtp_ssl?: boolean; /** @@ -6940,13 +7407,15 @@ export interface components { * here (password in cleartext here, but if your server supports STARTTLS it * will be sent over the network encrypted). */ - smtp_username?: string; + smtp_username: string; /** * Sniff Compressed Dynamic Datatypes Default * @description Enable sniffing of compressed datatypes. This can be configured/overridden * on a per-datatype basis in the datatypes_conf.xml file. * With this option set to false the compressed datatypes will be unpacked * before sniffing. + * + * @default true */ sniff_compressed_dynamic_datatypes_default?: boolean; /** @@ -6955,6 +7424,8 @@ export interface components { * proxy server. These options should be self explanatory and so are not * documented individually. You can use these paths (or ones in the proxy * server) to point to your own styles. + * + * @default 360 */ static_cache_time?: number; /** @@ -6963,6 +7434,8 @@ export interface components { * proxy server. These options should be self explanatory and so are not * documented individually. You can use these paths (or ones in the proxy * server) to point to your own styles. + * + * @default static/ */ static_dir?: string; /** @@ -6971,6 +7444,8 @@ export interface components { * proxy server. These options should be self explanatory and so are not * documented individually. You can use these paths (or ones in the proxy * server) to point to your own styles. + * + * @default true */ static_enabled?: boolean; /** @@ -6979,6 +7454,8 @@ export interface components { * proxy server. These options should be self explanatory and so are not * documented individually. You can use these paths (or ones in the proxy * server) to point to your own styles. + * + * @default static/favicon.ico */ static_favicon_dir?: string; /** @@ -6987,6 +7464,8 @@ export interface components { * proxy server. These options should be self explanatory and so are not * documented individually. You can use these paths (or ones in the proxy * server) to point to your own styles. + * + * @default static/images */ static_images_dir?: string; /** @@ -6995,6 +7474,8 @@ export interface components { * proxy server. These options should be self explanatory and so are not * documented individually. You can use these paths (or ones in the proxy * server) to point to your own styles. + * + * @default static/robots.txt */ static_robots_txt?: string; /** @@ -7003,6 +7484,8 @@ export interface components { * proxy server. These options should be self explanatory and so are not * documented individually. You can use these paths (or ones in the proxy * server) to point to your own styles. + * + * @default static/scripts/ */ static_scripts_dir?: string; /** @@ -7011,6 +7494,8 @@ export interface components { * proxy server. These options should be self explanatory and so are not * documented individually. You can use these paths (or ones in the proxy * server) to point to your own styles. + * + * @default static/style */ static_style_dir?: string; /** @@ -7022,19 +7507,23 @@ export interface components { * useful if you are running multiple Galaxy instances and want to segment * statistics between them within the same aggregator. */ - statsd_host?: string; + statsd_host: string; /** * Statsd Influxdb * @description If you are using telegraf to collect these metrics and then sending * them to InfluxDB, Galaxy can provide more nicely tagged metrics. * Instead of sending prefix + dot-separated-path, Galaxy will send * prefix with a tag path set to the page url + * + * @default false */ statsd_influxdb?: boolean; /** * Statsd Mock Calls * @description Mock out statsd client calls - only used by testing infrastructure really. * Do not set this in production environments. + * + * @default false */ statsd_mock_calls?: boolean; /** @@ -7045,6 +7534,8 @@ export interface components { * other statistics to the configured statsd instance. The statsd_prefix is * useful if you are running multiple Galaxy instances and want to segment * statistics between them within the same aggregator. + * + * @default 8125 */ statsd_port?: number; /** @@ -7055,22 +7546,30 @@ export interface components { * other statistics to the configured statsd instance. The statsd_prefix is * useful if you are running multiple Galaxy instances and want to segment * statistics between them within the same aggregator. + * + * @default galaxy */ statsd_prefix?: string; /** * Support Url * @description The URL linked by the "Support" link in the "Help" menu. + * + * @default https://galaxyproject.org/support/ */ support_url?: string; /** * Template Cache Path * @description Mako templates are compiled as needed and cached for reuse, this directory is * used for the cache + * + * @default compiled_templates */ template_cache_path?: string; /** * Templates Dir * @description The directory containing custom templates for Galaxy, such as HTML/text email templates. Defaults to 'templates'. Default templates can be found in the Galaxy root under config/templates. These can be copied to if you wish to customize them. + * + * @default templates */ templates_dir?: string; /** @@ -7078,11 +7577,13 @@ export interface components { * @description The URL linked by the "Terms and Conditions" link in the "Help" menu, as well * as on the user registration and login forms and in the activation emails. */ - terms_url?: string; + terms_url: string; /** * Themes Config File * @description Optional file containing one or more themes for galaxy. If several themes * are defined, users can choose their preferred theme in the client. + * + * @default themes_conf.yml */ themes_config_file?: string; /** @@ -7090,6 +7591,8 @@ export interface components { * @description Tool related caching. Fully expanded tools and metadata will be stored at this path. * Per tool_conf cache locations can be configured in (``shed_``)tool_conf.xml files using * the tool_cache_data_dir attribute. + * + * @default tool_cache */ tool_cache_data_dir?: string; /** @@ -7099,6 +7602,8 @@ export interface components { * (config/tool_conf.xml.sample will be used if left unset and * config/tool_conf.xml does not exist). Can be a single file, a list of * files, or (for backwards compatibility) a comma-separated list of files. + * + * @default tool_conf.xml */ tool_config_file?: Record; /** @@ -7106,6 +7611,8 @@ export interface components { * @description Directory where data used by tools is located. See the samples in that * directory and the Galaxy Community Hub for help: * https://galaxyproject.org/admin/data-integration + * + * @default tool-data */ tool_data_path?: string; /** @@ -7113,6 +7620,8 @@ export interface components { * @description XML config file that contains data table entries for the * ToolDataTableManager. This file is manually # maintained by the Galaxy * administrator (.sample used if default does not exist). + * + * @default tool_data_table_conf.xml */ tool_data_table_config_path?: string; /** @@ -7122,7 +7631,7 @@ export interface components { * * Sample default '/_cache' */ - tool_dependency_cache_dir?: string; + tool_dependency_cache_dir: string; /** * Tool Dependency Dir * @description Various dependency resolver configuration parameters will have defaults set relative @@ -7132,17 +7641,23 @@ export interface components { * Set the string to null to explicitly disable tool dependency handling. * If this option is set to none or an invalid path, installing tools with dependencies * from the Tool Shed or in Conda will fail. + * + * @default dependencies */ tool_dependency_dir?: string; /** * Tool Description Boost * @description In tool search, a query match against a tool's description text will * receive this score multiplier. + * + * @default 8 */ tool_description_boost?: number; /** * Tool Destinations Config File * @description Path to dynamic tool destinations configuration file. + * + * @default tool_destinations.yml */ tool_destinations_config_file?: string; /** @@ -7152,6 +7667,8 @@ export interface components { * search results tolerant for spelling mistakes in the query, and will * also match query substrings e.g. "genome" will match "genomics" or * "metagenome". + * + * @default true */ tool_enable_ngram_search?: boolean; /** @@ -7162,6 +7679,8 @@ export interface components { * submitted job. Note that ``remote`` is a beta setting that will be useful for materializing * deferred datasets as part of the submitted job. Note also that you have to set ``metadata_strategy`` * to ``extended`` if you set this option to ``remote``. + * + * @default local */ tool_evaluation_strategy?: string; /** @@ -7169,7 +7688,7 @@ export interface components { * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) * that admins may use to restrict the tools to display. */ - tool_filters?: string; + tool_filters: string; /** * Tool Help Bm25F K1 * @description The lower this parameter, the greater the diminishing reward for @@ -7177,12 +7696,16 @@ export interface components { * of reward for additional occurences of a term. The default value will * provide a slight increase in score for the first, second and third * occurrence and little reward thereafter. + * + * @default 0.5 */ tool_help_bm25f_k1?: number; /** * Tool Help Boost * @description In tool search, a query match against a tool's help text will receive * this score multiplier. + * + * @default 1 */ tool_help_boost?: number; /** @@ -7190,12 +7713,16 @@ export interface components { * @description In tool search, a query match against a tool's ID text will receive * this score multiplier. The query must be an exact match against ID * in order to be counted as a match. + * + * @default 20 */ tool_id_boost?: number; /** * Tool Label Boost * @description In tool search, a query match against a tool's label text will * receive this score multiplier. + * + * @default 1 */ tool_label_boost?: number; /** @@ -7203,33 +7730,43 @@ export interface components { * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) * that admins may use to restrict the tool labels to display. */ - tool_label_filters?: string; + tool_label_filters: string; /** * Tool Name Boost * @description In tool search, a query match against a tool's name text will receive * this score multiplier. + * + * @default 20 */ tool_name_boost?: number; /** * Tool Name Exact Multiplier * @description If a search query matches a tool name exactly, the score will be * multiplied by this factor. + * + * @default 10 */ tool_name_exact_multiplier?: number; /** * Tool Ngram Factor * @description Ngram matched scores will be multiplied by this factor. Should always * be below 1, because an ngram match is a partial match of a search term. + * + * @default 0.2 */ tool_ngram_factor?: number; /** * Tool Ngram Maxsize * @description Set maximum character length of ngrams + * + * @default 4 */ tool_ngram_maxsize?: number; /** * Tool Ngram Minsize * @description Set minimum character length of ngrams + * + * @default 3 */ tool_ngram_minsize?: number; /** @@ -7237,28 +7774,37 @@ export interface components { * @description Default path to the directory containing the tools defined in tool_conf.xml. * Other tool config files must include the tool_path as an attribute in the * tag. + * + * @default tools */ tool_path?: string; /** * Tool Recommendation Model Path * @description Set remote path of the trained model (HDF5 file) for tool recommendation. + * + * @default https://github.com/galaxyproject/galaxy-test-data/raw/master/tool_recommendation_model_v_0.2.hdf5 */ tool_recommendation_model_path?: string; /** * Tool Search Index Dir * @description Directory in which the toolbox search index is stored. + * @default tool_search_index */ tool_search_index_dir?: string; /** * Tool Search Limit * @description Limits the number of results in toolbox search. Use to set the * maximum number of tool search results to display. + * + * @default 20 */ tool_search_limit?: number; /** * Tool Section Boost * @description In tool search, a query match against a tool's section text will * receive this score multiplier. + * + * @default 3 */ tool_section_boost?: number; /** @@ -7266,11 +7812,13 @@ export interface components { * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) * that admins may use to restrict the tool sections to display. */ - tool_section_filters?: string; + tool_section_filters: string; /** * Tool Sheds Config File * @description File containing the Galaxy Tool Sheds that should be made available to * install from in the admin interface (.sample used if default does not exist). + * + * @default tool_sheds_conf.xml */ tool_sheds_config_file?: string; /** @@ -7278,6 +7826,8 @@ export interface components { * @description A stub is parsed from the GUID as "owner/repo/tool_id". * In tool search, a query match against a tool's stub text will receive * this score multiplier. + * + * @default 2 */ tool_stub_boost?: number; /** @@ -7288,6 +7838,8 @@ export interface components { * distributed with Galaxy but this is likely not appropriate for production systems. * Instead one can simply clone that repository directly and specify a path here * instead of a Git HTTP repository. + * + * @default test-data */ tool_test_data_directories?: string; /** @@ -7296,12 +7848,16 @@ export interface components { * When activated the following options also need to be set: * tool_training_recommendations_link, * tool_training_recommendations_api_url + * + * @default true */ tool_training_recommendations?: boolean; /** * Tool Training Recommendations Api Url * @description URL to API describing tutorials containing specific tools. * When CORS is used, make sure to add this host. + * + * @default https://training.galaxyproject.org/training-material/api/top-tools.json */ tool_training_recommendations_api_url?: string; /** @@ -7313,6 +7869,8 @@ export interface components { * {tool_id} * {training_tool_identifier} * {version} + * + * @default https://training.galaxyproject.org/training-material/by-tool/{training_tool_identifier}.html */ tool_training_recommendations_link?: string; /** @@ -7321,17 +7879,23 @@ export interface components { * This is useful for ensuring that tools are always displayed in the same * order in the UI. If false, the order of tools in the toolbox will be * preserved as they are loaded from the tool config files. + * + * @default true */ toolbox_auto_sort?: boolean; /** * Toolbox Filter Base Modules * @description The base module(s) that are searched for modules for toolbox filtering * (https://galaxyproject.org/user-defined-toolbox-filters/) functions. + * + * @default galaxy.tools.filters,galaxy.tools.toolbox.filters,galaxy.tool_util.toolbox.filters */ toolbox_filter_base_modules?: string; /** * Topk Recommendations * @description Set the number of predictions/recommendations to be made by the model + * + * @default 20 */ topk_recommendations?: number; /** @@ -7341,12 +7905,16 @@ export interface components { * directory with custom tours can be specified here. The path is relative to the * Galaxy root dir. To use an absolute path begin the path with '/'. This is a * comma-separated list. + * + * @default config/plugins/tours */ tour_config_dir?: string; /** * Track Jobs In Database * @description This option is deprecated, use the `mem-self` handler assignment option in the * job configuration instead. + * + * @default true */ track_jobs_in_database?: boolean; /** @@ -7358,6 +7926,8 @@ export interface components { * * If this is null (the default), a simple configuration containing * just Dockstore will be used. + * + * @default trs_servers_conf.yml */ trs_servers_config_file?: string; /** @@ -7367,6 +7937,8 @@ export interface components { * arbitrary code or serve arbitrary HTML. If enabled, Jupyter must be * available and on Galaxy's PATH, to do this run * `pip install jinja2 pygments jupyter` in Galaxy's virtualenv. + * + * @default false */ trust_jupyter_notebook_conversion?: boolean; /** @@ -7375,7 +7947,7 @@ export interface components { * tus middleware or server will be placed. * Defaults to new_file_path if not set. */ - tus_upload_store?: string; + tus_upload_store: string; /** * Upload From Form Button * @description If 'always-on', add another button to tool form data inputs that allow uploading @@ -7384,6 +7956,8 @@ export interface components { * * Avoiding making this a boolean because we may add options such as 'in-single-form-view' * or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109 + * + * @default always-off */ upload_from_form_button?: string; /** @@ -7392,6 +7966,8 @@ export interface components { * gzipping of dataset collection and library archives, since the upstream server * will do it faster on the fly. To enable compression add ``application/zip`` * to the proxy's compressable mimetypes. + * + * @default false */ upstream_gzip?: boolean; /** @@ -7402,6 +7978,8 @@ export interface components { * Requires setting up internal nginx locations to all paths that can be archived. * See https://docs.galaxyproject.org/en/master/admin/nginx.html#creating-archives-with-mod-zip * for details. + * + * @default false */ upstream_mod_zip?: boolean; /** @@ -7416,6 +7994,8 @@ export interface components { * This only affects tools where some requirements can be resolved but not others, * most modern best practice tools can use prebuilt environments in the Conda * directory. + * + * @default false */ use_cached_dependency_manager?: boolean; /** @@ -7423,11 +8003,15 @@ export interface components { * @description Write thread status periodically to 'heartbeat.log', (careful, uses disk * space rapidly!). Useful to determine why your processes may be consuming a * lot of CPU. + * + * @default false */ use_heartbeat?: boolean; /** * Use Lint * @description Check for WSGI compliance. + * + * @default false */ use_lint?: boolean; /** @@ -7435,16 +8019,22 @@ export interface components { * @description Allow disabling pbkdf2 hashing of passwords for legacy situations. * This should normally be left enabled unless there is a specific * reason to disable it. + * + * @default true */ use_pbkdf2?: boolean; /** * Use Printdebug * @description Intercept print statements and show them on the returned page. + * + * @default true */ use_printdebug?: boolean; /** * Use Profile * @description Run the Python profiler on each request. + * + * @default false */ use_profile?: boolean; /** @@ -7453,6 +8043,8 @@ export interface components { * Apache). The upstream proxy should set a REMOTE_USER header in the request. * Enabling remote user disables regular logins. For more information, see: * https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html + * + * @default false */ use_remote_user?: boolean; /** @@ -7460,6 +8052,8 @@ export interface components { * @description This enables splitting of jobs into tasks, if specified by the particular tool * config. * This is a new feature and not recommended for production servers yet. + * + * @default false */ use_tasked_jobs?: boolean; /** @@ -7468,6 +8062,8 @@ export interface components { * the Account activation configuration is ignored and user activation is * disabled (i.e. accounts are active since registration). * The activation is also not working in case the SMTP server is not defined. + * + * @default false */ user_activation_on?: boolean; /** @@ -7475,6 +8071,8 @@ export interface components { * @description In conjunction or alternatively, Galaxy can restrict user library imports to * those files that the user can read (by checking basic unix permissions). * For this to work, the username has to match the username on the filesystem. + * + * @default false */ user_library_import_check_permissions?: boolean; /** @@ -7485,11 +8083,13 @@ export interface components { * login ( email ). The non-admin user is restricted to uploading files or * sub-directories of files contained in their directory. */ - user_library_import_dir?: string; + user_library_import_dir: string; /** * User Library Import Dir Auto Creation * @description If user_library_import_dir is set, this option will auto create a library * import directory for every user (based on their email) upon login. + * + * @default false */ user_library_import_dir_auto_creation?: boolean; /** @@ -7501,33 +8101,43 @@ export interface components { * can import from anywhere in these directories (assuming they are able to * create symlinks to them). */ - user_library_import_symlink_allowlist?: string; + user_library_import_symlink_allowlist: string; /** * User Preferences Extra Conf Path * @description Location of the configuration file containing extra user preferences. + * + * @default user_preferences_extra_conf.yml */ user_preferences_extra_conf_path?: string; /** * User Tool Filters * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) * that users may use to restrict the tools to display. + * + * @default examples:restrict_upload_to_admins, examples:restrict_encode */ user_tool_filters?: string; /** * User Tool Label Filters * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) * that users may use to restrict the tool labels to display. + * + * @default examples:restrict_upload_to_admins, examples:restrict_encode */ user_tool_label_filters?: string; /** * User Tool Section Filters * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) * that users may use to restrict the tool sections to display. + * + * @default examples:restrict_text */ user_tool_section_filters?: string; /** * Vault Config File * @description Vault config file. + * + * @default vault_conf.yml */ vault_config_file?: string; /** @@ -7535,11 +8145,15 @@ export interface components { * @description Visualizations config directory: where to look for individual visualization * plugins. The path is relative to the Galaxy root dir. To use an absolute * path begin the path with '/'. This is a comma-separated list. + * + * @default config/plugins/visualizations */ visualization_plugins_directory?: string; /** * Visualizations Visible * @description Show visualization tab and list in masthead. + * + * @default true */ visualizations_visible?: boolean; /** @@ -7547,12 +8161,16 @@ export interface components { * @description Monitor a subset of options in the core configuration file (See RELOADABLE_CONFIG_OPTIONS * in lib/galaxy/config/__init__.py). If changes are found, modified options are * automatically reloaded. Takes the same values as the 'watch_tools' option. + * + * @default false */ watch_core_config?: string; /** * Watch Job Rules * @description Monitor dynamic job rules. If changes are found, rules are automatically reloaded. Takes * the same values as the 'watch_tools' option. + * + * @default false */ watch_job_rules?: string; /** @@ -7564,6 +8182,8 @@ export interface components { * library if it is available but won't fail to load Galaxy if it is not and 'polling' which * will use a less efficient monitoring scheme that may work in wider range of scenarios than * the watchdog default. + * + * @default false */ watch_tool_data_dir?: string; /** @@ -7575,6 +8195,8 @@ export interface components { * watchdog library is available but won't fail to load Galaxy if it is not and 'polling' * which will use a less efficient monitoring scheme that may work in wider range of * scenarios than the watchdog default. + * + * @default false */ watch_tools?: string; /** @@ -7582,6 +8204,8 @@ export interface components { * @description Monitor the interactive tours directory specified in the 'tour_config_dir' option. If * changes are found, modified tours are automatically reloaded. Takes the same values as the * 'watch_tools' option. + * + * @default false */ watch_tours?: string; /** @@ -7591,6 +8215,8 @@ export interface components { * demo webhooks. To use an absolute path begin the path with '/'. This is a * comma-separated list. Add test/functional/webhooks to this list to include the demo * webhooks used to test the webhook framework. + * + * @default config/plugins/webhooks */ webhooks_dir?: string; /** @@ -7598,17 +8224,23 @@ export interface components { * @description Location of New User Welcome data, a single directory containing the * images and JSON of Topics/Subtopics/Slides as export. This location * is relative to galaxy/static + * + * @default plugins/welcome_page/new_user/static/topics/ */ welcome_directory?: string; /** * Welcome Url * @description The URL of the page to display in Galaxy's middle pane when loaded. This can * be an absolute or relative URL. + * + * @default /static/welcome.html */ welcome_url?: string; /** * Wiki Url * @description The URL linked by the "Community Hub" link in the "Help" menu. + * + * @default https://galaxyproject.org/ */ wiki_url?: string; /** @@ -7618,6 +8250,8 @@ export interface components { * sleeps for the given number of seconds at the end of each iteration. This can be * decreased if extremely high job throughput is necessary, but doing so can increase CPU * usage of handler processes. Float values are allowed. + * + * @default 1 */ workflow_monitor_sleep?: number; /** @@ -7626,6 +8260,8 @@ export interface components { * influence scheduling of jobs within the workflow. This requires both a description * of the fields available (which defaults to the definitions in * job_resource_params_file if not set). + * + * @default workflow_resource_params_conf.xml */ workflow_resource_params_file?: string; /** @@ -7640,11 +8276,13 @@ export interface components { * * Sample default path 'config/workflow_resource_mapper_conf.yml.sample' */ - workflow_resource_params_mapper?: string; + workflow_resource_params_mapper: string; /** * Workflow Schedulers Config File * @description Optional configuration file similar to `job_config_file` to specify * which Galaxy processes should schedule workflows. + * + * @default workflow_schedulers_conf.xml */ workflow_schedulers_config_file?: string; /** @@ -7657,6 +8295,8 @@ export interface components { * proxy in front of Galaxy - please ensure this header remains intact * to protect your users. Uncomment and leave empty to not set the * `X-Frame-Options` header. + * + * @default SAMEORIGIN */ x_frame_options?: string; }; diff --git a/lib/galaxy/config/config_manage.py b/lib/galaxy/config/config_manage.py index e1d7a3cd6142..32914484427c 100644 --- a/lib/galaxy/config/config_manage.py +++ b/lib/galaxy/config/config_manage.py @@ -531,17 +531,19 @@ def _generate_api_models(args: Namespace, app_desc: App) -> None: schema = app_desc.schema f = StringIO() file_header = """ -# This file is auto-generated by the Galaxy configuration schema tool. -# Do not edit this file directly. +\"\"\"Contains models for Galaxy configuration options. + +These models are used to generate the OpenAPI and Configuration YAML schema for the Galaxy configuration. +\"\"\" from typing import ( Any, Dict, List, - Optional, ) from pydantic import Field +from typing_extensions import Annotated from galaxy.schema.schema import Model @@ -552,26 +554,25 @@ class GalaxyConfigModel(Model): f.write(file_header) for key, value in schema.app_schema.items(): - type = _get_schema_type(value) - required = value.get("required", False) - field_type = type if required else f"Optional[{type}]" - default = _get_field_default(value, type, required) + field_type = _get_schema_type(value) + default = _get_field_default(value, field_type) title = key.replace("_", " ").title() - description = value.get("desc") - field = f'{key}: {field_type} = Field({default}, title="{title}", description="""{description}""",)' + desc = value.get("desc") + description = desc.replace("\\", "\\\\") if desc else None + field = f'{key}: Annotated[{field_type}, Field(title="{title}", description="""{description}""",)]' + if default is not None: + field += f" = {default}" f.write(f" {field}\n") destination = os.path.join(args.galaxy_root, "lib", "galaxy", "schema", "configuration.py") _write_to_file(args, f, destination) -def _get_field_default(value, field_type, required): - default = None if "default" not in value or not required else value["default"] +def _get_field_default(value, field_type): + default = None if "default" not in value else value["default"] if default is not None: - if field_type == "bool": - default = default.title() - elif field_type == "str": - default = f'"{default}"' + if field_type == "str" or isinstance(default, str): + default = f"'{default}'" if '"' in default else f'"{default}"' return default diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 91c2f14ad6be..99547ec95b26 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -1,14 +1,16 @@ -# This file is auto-generated by the Galaxy configuration schema tool. -# Do not edit this file directly. +"""Contains models for Galaxy configuration options. + +These models are used to generate the OpenAPI and Configuration YAML schema for the Galaxy configuration. +""" from typing import ( Any, Dict, List, - Optional, ) from pydantic import Field +from typing_extensions import Annotated from galaxy.schema.schema import Model @@ -16,49 +18,60 @@ class GalaxyConfigModel(Model): """Contains Galaxy configuration values.""" - config_dir: Optional[str] = Field( - None, - title="Config Dir", - description="""The directory that will be prepended to relative paths in options specifying + config_dir: Annotated[ + str, + Field( + title="Config Dir", + description="""The directory that will be prepended to relative paths in options specifying other Galaxy config files (e.g. datatypes_config_file). Defaults to the directory in which galaxy.yml is located. """, - ) - managed_config_dir: Optional[str] = Field( - None, - title="Managed Config Dir", - description="""The directory that will be prepended to relative paths in options specifying + ), + ] + managed_config_dir: Annotated[ + str, + Field( + title="Managed Config Dir", + description="""The directory that will be prepended to relative paths in options specifying config files controlled by Galaxy (such as shed_tool_config_file, etc.). Must be writable by the user running Galaxy. Defaults to `/` if running Galaxy from source or `/config` otherwise. """, - ) - data_dir: Optional[str] = Field( - None, - title="Data Dir", - description="""The directory that will be prepended to relative paths in options specifying + ), + ] + data_dir: Annotated[ + str, + Field( + title="Data Dir", + description="""The directory that will be prepended to relative paths in options specifying Galaxy data/cache directories and files (such as the default SQLite database, file_path, etc.). Defaults to `database/` if running Galaxy from source or `/data` otherwise. """, - ) - templates_dir: Optional[str] = Field( - None, - title="Templates Dir", - description="""The directory containing custom templates for Galaxy, such as HTML/text email templates. Defaults to 'templates'. Default templates can be found in the Galaxy root under config/templates. These can be copied to if you wish to customize them. -""", - ) - cache_dir: Optional[str] = Field( - None, - title="Cache Dir", - description="""Top level cache directory. Any other cache directories (tool_cache_data_dir, + ), + ] + templates_dir: Annotated[ + str, + Field( + title="Templates Dir", + description="""The directory containing custom templates for Galaxy, such as HTML/text email templates. Defaults to 'templates'. Default templates can be found in the Galaxy root under config/templates. These can be copied to if you wish to customize them. +""", + ), + ] = "templates" + cache_dir: Annotated[ + str, + Field( + title="Cache Dir", + description="""Top level cache directory. Any other cache directories (tool_cache_data_dir, template_cache_path, etc.) should be subdirectories. """, - ) - database_connection: Optional[str] = Field( - None, - title="Database Connection", - description="""By default, Galaxy uses a SQLite database at '/universe.sqlite'. You + ), + ] = "cache" + database_connection: Annotated[ + str, + Field( + title="Database Connection", + description="""By default, Galaxy uses a SQLite database at '/universe.sqlite'. You may use a SQLAlchemy connection string to specify an external database instead. Sample default 'sqlite:////universe.sqlite?isolation_level=IMMEDIATE' @@ -74,86 +87,106 @@ class GalaxyConfigModel(Model): For more options, please check SQLAlchemy's documentation at https://docs.sqlalchemy.org/en/14/core/engines.html?highlight=create_engine#sqlalchemy.create_engine """, - ) - database_engine_option_pool_size: Optional[int] = Field( - None, - title="Database Engine Option Pool Size", - description="""If the server logs errors about not having enough database pool connections, + ), + ] + database_engine_option_pool_size: Annotated[ + int, + Field( + title="Database Engine Option Pool Size", + description="""If the server logs errors about not having enough database pool connections, you will want to increase these values, or consider running more Galaxy processes. """, - ) - database_engine_option_max_overflow: Optional[int] = Field( - None, - title="Database Engine Option Max Overflow", - description="""If the server logs errors about not having enough database pool connections, + ), + ] = 5 + database_engine_option_max_overflow: Annotated[ + int, + Field( + title="Database Engine Option Max Overflow", + description="""If the server logs errors about not having enough database pool connections, you will want to increase these values, or consider running more Galaxy processes. """, - ) - database_engine_option_pool_recycle: Optional[int] = Field( - None, - title="Database Engine Option Pool Recycle", - description="""If using MySQL and the server logs the error "MySQL server has gone away", + ), + ] = 10 + database_engine_option_pool_recycle: Annotated[ + int, + Field( + title="Database Engine Option Pool Recycle", + description="""If using MySQL and the server logs the error "MySQL server has gone away", you will want to set this to some positive value (7200 should work). """, - ) - database_engine_option_server_side_cursors: Optional[bool] = Field( - None, - title="Database Engine Option Server Side Cursors", - description="""If large database query results are causing memory or response time issues in + ), + ] = -1 + database_engine_option_server_side_cursors: Annotated[ + bool, + Field( + title="Database Engine Option Server Side Cursors", + description="""If large database query results are causing memory or response time issues in the Galaxy process, leave the result on the server instead. This option is only available for PostgreSQL and is highly recommended. """, - ) - database_query_profiling_proxy: Optional[bool] = Field( - None, - title="Database Query Profiling Proxy", - description="""Log all database transactions, can be useful for debugging and performance + ), + ] = False + database_query_profiling_proxy: Annotated[ + bool, + Field( + title="Database Query Profiling Proxy", + description="""Log all database transactions, can be useful for debugging and performance profiling. Logging is done via Python's 'logging' module under the qualname 'galaxy.model.orm.logging_connection_proxy' """, - ) - database_template: Optional[str] = Field( - None, - title="Database Template", - description="""If auto-creating a postgres database on startup - it can be based on an existing + ), + ] = False + database_template: Annotated[ + str, + Field( + title="Database Template", + description="""If auto-creating a postgres database on startup - it can be based on an existing template database. This will set that. This is probably only useful for testing but documentation is included here for completeness. """, - ) - database_log_query_counts: Optional[bool] = Field( - None, - title="Database Log Query Counts", - description="""Log number of SQL queries executed and total time spent dispatching SQL statements for + ), + ] + database_log_query_counts: Annotated[ + bool, + Field( + title="Database Log Query Counts", + description="""Log number of SQL queries executed and total time spent dispatching SQL statements for each web request. If statsd is also enabled this information will be logged there as well. This should be considered somewhat experimental, we are unsure of the performance costs of running this in production. This is useful information for optimizing database interaction performance. Similar information can be obtained on a per-request basis by enabling the sql_debug middleware and adding sql_debug=1 to a request string. """, - ) - slow_query_log_threshold: Optional[float] = Field( - None, - title="Slow Query Log Threshold", - description="""Slow query logging. Queries slower than the threshold indicated below will + ), + ] = False + slow_query_log_threshold: Annotated[ + float, + Field( + title="Slow Query Log Threshold", + description="""Slow query logging. Queries slower than the threshold indicated below will be logged to debug. A value of '0' is disabled. For example, you would set this to .005 to log all queries taking longer than 5 milliseconds. """, - ) - enable_per_request_sql_debugging: Optional[bool] = Field( - None, - title="Enable Per Request Sql Debugging", - description="""Enables a per request sql debugging option. If this is set to true, + ), + ] = 0.0 + enable_per_request_sql_debugging: Annotated[ + bool, + Field( + title="Enable Per Request Sql Debugging", + description="""Enables a per request sql debugging option. If this is set to true, append ?sql_debug=1 to web request URLs to enable detailed logging on the backend of SQL queries generated during that request. This is useful for debugging slow endpoints during development. """, - ) - install_database_connection: Optional[str] = Field( - None, - title="Install Database Connection", - description="""By default, Galaxy will use the same database to track user data and + ), + ] = False + install_database_connection: Annotated[ + str, + Field( + title="Install Database Connection", + description="""By default, Galaxy will use the same database to track user data and tool shed install data. There are many situations in which it is valuable to separate these - for instance bootstrapping fresh Galaxy instances with pretested installs. The following option can be used to @@ -162,77 +195,97 @@ class GalaxyConfigModel(Model): Defaults to the value of the 'database_connection' option. """, - ) - database_auto_migrate: Optional[bool] = Field( - None, - title="Database Auto Migrate", - description="""Setting the following option to true will cause Galaxy to automatically + ), + ] + database_auto_migrate: Annotated[ + bool, + Field( + title="Database Auto Migrate", + description="""Setting the following option to true will cause Galaxy to automatically migrate the database forward after updates. This is not recommended for production use. """, - ) - database_wait: Optional[bool] = Field( - None, - title="Database Wait", - description="""Wait for database to become available instead of failing immediately. -""", - ) - database_wait_attempts: Optional[int] = Field( - None, - title="Database Wait Attempts", - description="""Number of attempts before failing if database_wait is enabled. -""", - ) - database_wait_sleep: Optional[float] = Field( - None, - title="Database Wait Sleep", - description="""Time to sleep between attempts if database_wait is enabled (in seconds). -""", - ) - history_audit_table_prune_interval: Optional[int] = Field( - None, - title="History Audit Table Prune Interval", - description="""Time (in seconds) between attempts to remove old rows from the history_audit database table. + ), + ] = False + database_wait: Annotated[ + bool, + Field( + title="Database Wait", + description="""Wait for database to become available instead of failing immediately. +""", + ), + ] = False + database_wait_attempts: Annotated[ + int, + Field( + title="Database Wait Attempts", + description="""Number of attempts before failing if database_wait is enabled. +""", + ), + ] = 60 + database_wait_sleep: Annotated[ + float, + Field( + title="Database Wait Sleep", + description="""Time to sleep between attempts if database_wait is enabled (in seconds). +""", + ), + ] = 1.0 + history_audit_table_prune_interval: Annotated[ + int, + Field( + title="History Audit Table Prune Interval", + description="""Time (in seconds) between attempts to remove old rows from the history_audit database table. Set to 0 to disable pruning. """, - ) - file_path: Optional[str] = Field( - None, - title="File Path", - description="""Where dataset files are stored. It must be accessible at the same path on any cluster + ), + ] = 3600 + file_path: Annotated[ + str, + Field( + title="File Path", + description="""Where dataset files are stored. It must be accessible at the same path on any cluster nodes that will run Galaxy jobs, unless using Pulsar. The default value has been changed from 'files' to 'objects' as of 20.05; however, Galaxy will first check if the 'files' directory exists before using 'objects' as the default. """, - ) - new_file_path: Optional[str] = Field( - None, - title="New File Path", - description="""Where temporary files are stored. It must be accessible at the same path on any cluster + ), + ] = "objects" + new_file_path: Annotated[ + str, + Field( + title="New File Path", + description="""Where temporary files are stored. It must be accessible at the same path on any cluster nodes that will run Galaxy jobs, unless using Pulsar. """, - ) - maximum_upload_file_size: Optional[int] = Field( - None, - title="Maximum Upload File Size", - description="""Maximum size of uploadable files, specified in bytes (default: 100GB). + ), + ] = "tmp" + maximum_upload_file_size: Annotated[ + int, + Field( + title="Maximum Upload File Size", + description="""Maximum size of uploadable files, specified in bytes (default: 100GB). This value is ignored if an external upload server is configured. """, - ) - tool_config_file: Optional[Any] = Field( - None, - title="Tool Config File", - description="""Tool config files, defines what tools are available in Galaxy. + ), + ] = 107374182400 + tool_config_file: Annotated[ + Any, + Field( + title="Tool Config File", + description="""Tool config files, defines what tools are available in Galaxy. Tools can be locally developed or installed from Galaxy tool sheds. (config/tool_conf.xml.sample will be used if left unset and config/tool_conf.xml does not exist). Can be a single file, a list of files, or (for backwards compatibility) a comma-separated list of files. """, - ) - shed_tool_config_file: Optional[str] = Field( - None, - title="Shed Tool Config File", - description="""Tool config file for tools installed from the Galaxy Tool Shed. Must + ), + ] = "tool_conf.xml" + shed_tool_config_file: Annotated[ + str, + Field( + title="Shed Tool Config File", + description="""Tool config file for tools installed from the Galaxy Tool Shed. Must be writable by Galaxy and generally should not be edited by hand. In older Galaxy releases, this file was part of the tool_config_file option. It is still possible to specify this file (and other @@ -242,39 +295,47 @@ class GalaxyConfigModel(Model): installation, whereas Galaxy will fail to start if any files in tool_config_file cannot be read. """, - ) - migrated_tools_config: Optional[str] = Field( - None, - title="Migrated Tools Config", - description="""This option is deprecated. + ), + ] = "shed_tool_conf.xml" + migrated_tools_config: Annotated[ + str, + Field( + title="Migrated Tools Config", + description="""This option is deprecated. In previous releases this file was maintained by tool migration scripts that are no longer part of the code base. The option remains as a placeholder for deployments where these scripts were previously run and such a file exists. """, - ) - integrated_tool_panel_config: Optional[str] = Field( - None, - title="Integrated Tool Panel Config", - description="""File that contains the XML section and tool tags from all tool panel config + ), + ] = "migrated_tools_conf.xml" + integrated_tool_panel_config: Annotated[ + str, + Field( + title="Integrated Tool Panel Config", + description="""File that contains the XML section and tool tags from all tool panel config files integrated into a single file that defines the tool panel layout. This file can be changed by the Galaxy administrator to alter the layout of the tool panel. If not present, Galaxy will create it. The value of this option will be resolved with respect to . """, - ) - tool_path: Optional[str] = Field( - None, - title="Tool Path", - description="""Default path to the directory containing the tools defined in tool_conf.xml. + ), + ] = "integrated_tool_panel.xml" + tool_path: Annotated[ + str, + Field( + title="Tool Path", + description="""Default path to the directory containing the tools defined in tool_conf.xml. Other tool config files must include the tool_path as an attribute in the tag. """, - ) - tool_dependency_dir: Optional[str] = Field( - None, - title="Tool Dependency Dir", - description="""Various dependency resolver configuration parameters will have defaults set relative + ), + ] = "tools" + tool_dependency_dir: Annotated[ + str, + Field( + title="Tool Dependency Dir", + description="""Various dependency resolver configuration parameters will have defaults set relative to this path, such as the default conda prefix, default Galaxy packages path, legacy tool shed dependencies path, and the dependency cache directory. @@ -282,92 +343,116 @@ class GalaxyConfigModel(Model): If this option is set to none or an invalid path, installing tools with dependencies from the Tool Shed or in Conda will fail. """, - ) - dependency_resolvers_config_file: Optional[str] = Field( - None, - title="Dependency Resolvers Config File", - description="""Specifies the path to the standalone dependency resolvers configuration file. This + ), + ] = "dependencies" + dependency_resolvers_config_file: Annotated[ + str, + Field( + title="Dependency Resolvers Config File", + description="""Specifies the path to the standalone dependency resolvers configuration file. This configuration can now be specified directly in the Galaxy configuration, see the description of the 'dependency_resolvers' option for details. """, - ) - conda_prefix: Optional[str] = Field( - None, - title="Conda Prefix", - description="""conda_prefix is the location on the filesystem where Conda packages and environments are + ), + ] = "dependency_resolvers_conf.xml" + conda_prefix: Annotated[ + str, + Field( + title="Conda Prefix", + description="""conda_prefix is the location on the filesystem where Conda packages and environments are installed. Sample default '/_conda' """, - ) - conda_exec: Optional[str] = Field( - None, - title="Conda Exec", - description="""Override the Conda executable to use, it will default to the one on the + ), + ] + conda_exec: Annotated[ + str, + Field( + title="Conda Exec", + description="""Override the Conda executable to use, it will default to the one on the PATH (if available) and then to /bin/conda """, - ) - conda_debug: Optional[bool] = Field( - None, - title="Conda Debug", - description="""Pass debug flag to conda commands. -""", - ) - conda_ensure_channels: Optional[str] = Field( - None, - title="Conda Ensure Channels", - description="""conda channels to enable by default + ), + ] + conda_debug: Annotated[ + bool, + Field( + title="Conda Debug", + description="""Pass debug flag to conda commands. +""", + ), + ] = False + conda_ensure_channels: Annotated[ + str, + Field( + title="Conda Ensure Channels", + description="""conda channels to enable by default (https://conda.io/docs/user-guide/tasks/manage-channels.html) """, - ) - conda_use_local: Optional[bool] = Field( - None, - title="Conda Use Local", - description="""Use locally-built conda packages. -""", - ) - conda_auto_install: Optional[bool] = Field( - None, - title="Conda Auto Install", - description="""Set to true to instruct Galaxy to look for and install missing tool + ), + ] = "conda-forge,bioconda,defaults" + conda_use_local: Annotated[ + bool, + Field( + title="Conda Use Local", + description="""Use locally-built conda packages. +""", + ), + ] = False + conda_auto_install: Annotated[ + bool, + Field( + title="Conda Auto Install", + description="""Set to true to instruct Galaxy to look for and install missing tool dependencies before each job runs. """, - ) - conda_auto_init: Optional[bool] = Field( - None, - title="Conda Auto Init", - description="""Set to true to instruct Galaxy to install Conda from the web automatically + ), + ] = False + conda_auto_init: Annotated[ + bool, + Field( + title="Conda Auto Init", + description="""Set to true to instruct Galaxy to install Conda from the web automatically if it cannot find a local copy and conda_exec is not configured. """, - ) - conda_copy_dependencies: Optional[bool] = Field( - None, - title="Conda Copy Dependencies", - description="""You must set this to true if conda_prefix and job_working_directory are not on the same + ), + ] = True + conda_copy_dependencies: Annotated[ + bool, + Field( + title="Conda Copy Dependencies", + description="""You must set this to true if conda_prefix and job_working_directory are not on the same volume, or some conda dependencies will fail to execute at job runtime. Conda will copy packages content instead of creating hardlinks or symlinks. This will prevent problems with some specific packages (perl, R), at the cost of extra disk space usage and extra time spent copying packages. """, - ) - local_conda_mapping_file: Optional[str] = Field( - None, - title="Local Conda Mapping File", - description="""Path to a file that provides a mapping from abstract packages to concrete conda packages. + ), + ] = False + local_conda_mapping_file: Annotated[ + str, + Field( + title="Local Conda Mapping File", + description="""Path to a file that provides a mapping from abstract packages to concrete conda packages. See `config/local_conda_mapping.yml.sample` for examples. """, - ) - modules_mapping_files: Optional[str] = Field( - None, - title="Modules Mapping Files", - description="""Path to a file that provides a mapping from abstract packages to locally installed modules. + ), + ] = "local_conda_mapping.yml" + modules_mapping_files: Annotated[ + str, + Field( + title="Modules Mapping Files", + description="""Path to a file that provides a mapping from abstract packages to locally installed modules. See `config/environment_modules_mapping.yml.sample` for examples. """, - ) - use_cached_dependency_manager: Optional[bool] = Field( - None, - title="Use Cached Dependency Manager", - description="""Certain dependency resolvers (namely Conda) take a considerable amount of + ), + ] = "environment_modules_mapping.yml" + use_cached_dependency_manager: Annotated[ + bool, + Field( + title="Use Cached Dependency Manager", + description="""Certain dependency resolvers (namely Conda) take a considerable amount of time to build an isolated job environment in the job_working_directory if the job working directory is on a network share. Set this option to true to cache the dependencies in a folder. This option is beta and should only be @@ -378,35 +463,43 @@ class GalaxyConfigModel(Model): most modern best practice tools can use prebuilt environments in the Conda directory. """, - ) - tool_dependency_cache_dir: Optional[str] = Field( - None, - title="Tool Dependency Cache Dir", - description="""By default the tool_dependency_cache_dir is the _cache directory + ), + ] = False + tool_dependency_cache_dir: Annotated[ + str, + Field( + title="Tool Dependency Cache Dir", + description="""By default the tool_dependency_cache_dir is the _cache directory of the tool dependency directory. Sample default '/_cache' """, - ) - precache_dependencies: Optional[bool] = Field( - None, - title="Precache Dependencies", - description="""By default, when using a cached dependency manager, the dependencies are cached + ), + ] + precache_dependencies: Annotated[ + bool, + Field( + title="Precache Dependencies", + description="""By default, when using a cached dependency manager, the dependencies are cached when installing new tools and when using tools for the first time. Set this to false if you prefer dependencies to be cached only when installing new tools. """, - ) - tool_sheds_config_file: Optional[str] = Field( - None, - title="Tool Sheds Config File", - description="""File containing the Galaxy Tool Sheds that should be made available to + ), + ] = True + tool_sheds_config_file: Annotated[ + str, + Field( + title="Tool Sheds Config File", + description="""File containing the Galaxy Tool Sheds that should be made available to install from in the admin interface (.sample used if default does not exist). """, - ) - watch_tools: Optional[str] = Field( - None, - title="Watch Tools", - description="""Monitor the tools and tool directories listed in any tool config file specified in + ), + ] = "tool_sheds_conf.xml" + watch_tools: Annotated[ + str, + Field( + title="Watch Tools", + description="""Monitor the tools and tool directories listed in any tool config file specified in tool_config_file option. If changes are found, tools are automatically reloaded. Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy to use this option. Other options include 'auto' which will attempt to watch tools if the @@ -414,182 +507,226 @@ class GalaxyConfigModel(Model): which will use a less efficient monitoring scheme that may work in wider range of scenarios than the watchdog default. """, - ) - watch_job_rules: Optional[str] = Field( - None, - title="Watch Job Rules", - description="""Monitor dynamic job rules. If changes are found, rules are automatically reloaded. Takes + ), + ] = "false" + watch_job_rules: Annotated[ + str, + Field( + title="Watch Job Rules", + description="""Monitor dynamic job rules. If changes are found, rules are automatically reloaded. Takes the same values as the 'watch_tools' option. """, - ) - watch_core_config: Optional[str] = Field( - None, - title="Watch Core Config", - description="""Monitor a subset of options in the core configuration file (See RELOADABLE_CONFIG_OPTIONS + ), + ] = "false" + watch_core_config: Annotated[ + str, + Field( + title="Watch Core Config", + description="""Monitor a subset of options in the core configuration file (See RELOADABLE_CONFIG_OPTIONS in lib/galaxy/config/__init__.py). If changes are found, modified options are automatically reloaded. Takes the same values as the 'watch_tools' option. """, - ) - watch_tours: Optional[str] = Field( - None, - title="Watch Tours", - description="""Monitor the interactive tours directory specified in the 'tour_config_dir' option. If + ), + ] = "false" + watch_tours: Annotated[ + str, + Field( + title="Watch Tours", + description="""Monitor the interactive tours directory specified in the 'tour_config_dir' option. If changes are found, modified tours are automatically reloaded. Takes the same values as the 'watch_tools' option. """, - ) - short_term_storage_dir: Optional[str] = Field( - None, - title="Short Term Storage Dir", - description="""Location of files available for a short time as downloads (short term storage). + ), + ] = "false" + short_term_storage_dir: Annotated[ + str, + Field( + title="Short Term Storage Dir", + description="""Location of files available for a short time as downloads (short term storage). This directory is exclusively used for serving dynamically generated downloadable content. Galaxy may uses the new_file_path parameter as a general temporary directory and that directory should be monitored by a tool such as tmpwatch in production environments. short_term_storage_dir on the other hand is monitored by Galaxy's task framework and should not require such external tooling. """, - ) - short_term_storage_default_duration: Optional[int] = Field( - None, - title="Short Term Storage Default Duration", - description="""Default duration before short term web storage files will be cleaned up by Galaxy + ), + ] = "short_term_web_storage" + short_term_storage_default_duration: Annotated[ + int, + Field( + title="Short Term Storage Default Duration", + description="""Default duration before short term web storage files will be cleaned up by Galaxy tasks (in seconds). The default duration is 1 day. """, - ) - short_term_storage_maximum_duration: Optional[int] = Field( - None, - title="Short Term Storage Maximum Duration", - description="""The maximum duration short term storage files can hosted before they will be marked for + ), + ] = 86400 + short_term_storage_maximum_duration: Annotated[ + int, + Field( + title="Short Term Storage Maximum Duration", + description="""The maximum duration short term storage files can hosted before they will be marked for clean up. The default setting of 0 indicates no limit here. """, - ) - short_term_storage_cleanup_interval: Optional[int] = Field( - None, - title="Short Term Storage Cleanup Interval", - description="""How many seconds between instances of short term storage being cleaned up in default + ), + ] = 0 + short_term_storage_cleanup_interval: Annotated[ + int, + Field( + title="Short Term Storage Cleanup Interval", + description="""How many seconds between instances of short term storage being cleaned up in default Celery task configuration. """, - ) - file_sources_config_file: Optional[str] = Field( - None, - title="File Sources Config File", - description="""Configured FileSource plugins. -""", - ) - file_sources: Optional[List[Any]] = Field( - None, - title="File Sources", - description="""FileSource plugins described embedded into Galaxy's config. -""", - ) - enable_mulled_containers: Optional[bool] = Field( - None, - title="Enable Mulled Containers", - description="""Enable Galaxy to fetch containers registered with quay.io generated + ), + ] = 3600 + file_sources_config_file: Annotated[ + str, + Field( + title="File Sources Config File", + description="""Configured FileSource plugins. +""", + ), + ] = "file_sources_conf.yml" + file_sources: Annotated[ + List[Any], + Field( + title="File Sources", + description="""FileSource plugins described embedded into Galaxy's config. +""", + ), + ] + enable_mulled_containers: Annotated[ + bool, + Field( + title="Enable Mulled Containers", + description="""Enable Galaxy to fetch containers registered with quay.io generated from tool requirements resolved through Conda. These containers (when available) have been generated using mulled - https://github.com/mulled. Container availability will vary by tool, this option will only be used for job destinations with Docker or Singularity enabled. """, - ) - container_resolvers_config_file: Optional[str] = Field( - None, - title="Container Resolvers Config File", - description="""Container resolvers configuration. Set up a file describing + ), + ] = True + container_resolvers_config_file: Annotated[ + str, + Field( + title="Container Resolvers Config File", + description="""Container resolvers configuration. Set up a file describing container resolvers to use when discovering containers for Galaxy. If this is set to None, the default container resolvers loaded is determined by enable_mulled_containers. For available options see https://docs.galaxyproject.org/en/master/admin/container_resolvers.html """, - ) - container_resolvers: Optional[List[Any]] = Field( - None, - title="Container Resolvers", - description="""Rather than specifying a container_resolvers_config_file, the definition of the + ), + ] + container_resolvers: Annotated[ + List[Any], + Field( + title="Container Resolvers", + description="""Rather than specifying a container_resolvers_config_file, the definition of the resolvers to enable can be embedded into Galaxy's config with this option. This has no effect if a container_resolvers_config_file is used. Takes the same options that can be set in container_resolvers_config_file. """, - ) - involucro_path: Optional[str] = Field( - None, - title="Involucro Path", - description="""involucro is a tool used to build Docker or Singularity containers for tools from Conda + ), + ] + involucro_path: Annotated[ + str, + Field( + title="Involucro Path", + description="""involucro is a tool used to build Docker or Singularity containers for tools from Conda dependencies referenced in tools as `requirement` s. The following path is the location of involucro on the Galaxy host. This is ignored if the relevant container resolver isn't enabled, and will install on demand unless involucro_auto_init is set to false. """, - ) - involucro_auto_init: Optional[bool] = Field( - None, - title="Involucro Auto Init", - description="""Install involucro as needed to build Docker or Singularity containers for tools. Ignored if + ), + ] = "involucro" + involucro_auto_init: Annotated[ + bool, + Field( + title="Involucro Auto Init", + description="""Install involucro as needed to build Docker or Singularity containers for tools. Ignored if relevant container resolver is not used. """, - ) - mulled_channels: Optional[str] = Field( - None, - title="Mulled Channels", - description="""Conda channels to use when building Docker or Singularity containers using involucro. -""", - ) - enable_tool_shed_check: Optional[bool] = Field( - None, - title="Enable Tool Shed Check", - description="""Enable automatic polling of relative tool sheds to see if any updates + ), + ] = True + mulled_channels: Annotated[ + str, + Field( + title="Mulled Channels", + description="""Conda channels to use when building Docker or Singularity containers using involucro. +""", + ), + ] = "conda-forge,bioconda" + enable_tool_shed_check: Annotated[ + bool, + Field( + title="Enable Tool Shed Check", + description="""Enable automatic polling of relative tool sheds to see if any updates are available for installed repositories. Ideally only one Galaxy server process should be able to check for repository updates. The setting for hours_between_check should be an integer between 1 and 24. """, - ) - hours_between_check: Optional[int] = Field( - None, - title="Hours Between Check", - description="""Enable automatic polling of relative tool sheds to see if any updates + ), + ] = False + hours_between_check: Annotated[ + int, + Field( + title="Hours Between Check", + description="""Enable automatic polling of relative tool sheds to see if any updates are available for installed repositories. Ideally only one Galaxy server process should be able to check for repository updates. The setting for hours_between_check should be an integer between 1 and 24. """, - ) - tool_data_table_config_path: Optional[str] = Field( - None, - title="Tool Data Table Config Path", - description="""XML config file that contains data table entries for the + ), + ] = 12 + tool_data_table_config_path: Annotated[ + str, + Field( + title="Tool Data Table Config Path", + description="""XML config file that contains data table entries for the ToolDataTableManager. This file is manually # maintained by the Galaxy administrator (.sample used if default does not exist). """, - ) - shed_tool_data_table_config: Optional[str] = Field( - None, - title="Shed Tool Data Table Config", - description="""XML config file that contains additional data table entries for the + ), + ] = "tool_data_table_conf.xml" + shed_tool_data_table_config: Annotated[ + str, + Field( + title="Shed Tool Data Table Config", + description="""XML config file that contains additional data table entries for the ToolDataTableManager. This file is automatically generated based on the current installed tool shed repositories that contain valid tool_data_table_conf.xml.sample files. At the time of installation, these entries are automatically added to the following file, which is parsed and applied to the ToolDataTableManager at server start up. """, - ) - tool_data_path: Optional[str] = Field( - None, - title="Tool Data Path", - description="""Directory where data used by tools is located. See the samples in that + ), + ] = "shed_tool_data_table_conf.xml" + tool_data_path: Annotated[ + str, + Field( + title="Tool Data Path", + description="""Directory where data used by tools is located. See the samples in that directory and the Galaxy Community Hub for help: https://galaxyproject.org/admin/data-integration """, - ) - shed_tool_data_path: Optional[str] = Field( - None, - title="Shed Tool Data Path", - description="""Directory where Tool Data Table related files will be placed when installed from a + ), + ] = "tool-data" + shed_tool_data_path: Annotated[ + str, + Field( + title="Shed Tool Data Path", + description="""Directory where Tool Data Table related files will be placed when installed from a ToolShed. Defaults to the value of the 'tool_data_path' option. """, - ) - watch_tool_data_dir: Optional[str] = Field( - None, - title="Watch Tool Data Dir", - description="""Monitor the tool_data and shed_tool_data_path directories. If changes in tool data table + ), + ] + watch_tool_data_dir: Annotated[ + str, + Field( + title="Watch Tool Data Dir", + description="""Monitor the tool_data and shed_tool_data_path directories. If changes in tool data table files are found, the tool data tables for that data manager are automatically reloaded. Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy to use this option. Other options include 'auto' which will attempt to use the watchdog @@ -597,336 +734,422 @@ class GalaxyConfigModel(Model): will use a less efficient monitoring scheme that may work in wider range of scenarios than the watchdog default. """, - ) - refgenie_config_file: Optional[str] = Field( - None, - title="Refgenie Config File", - description="""File containing refgenie configuration, e.g. /path/to/genome_config.yaml. Can be used by refgenie backed tool data tables. -""", - ) - build_sites_config_file: Optional[str] = Field( - None, - title="Build Sites Config File", - description="""File that defines the builds (dbkeys) available at sites used by display applications + ), + ] = "false" + refgenie_config_file: Annotated[ + str, + Field( + title="Refgenie Config File", + description="""File containing refgenie configuration, e.g. /path/to/genome_config.yaml. Can be used by refgenie backed tool data tables. +""", + ), + ] + build_sites_config_file: Annotated[ + str, + Field( + title="Build Sites Config File", + description="""File that defines the builds (dbkeys) available at sites used by display applications and the URL to those sites. """, - ) - builds_file_path: Optional[str] = Field( - None, - title="Builds File Path", - description="""File containing old-style genome builds. + ), + ] = "build_sites.yml" + builds_file_path: Annotated[ + str, + Field( + title="Builds File Path", + description="""File containing old-style genome builds. The value of this option will be resolved with respect to . """, - ) - len_file_path: Optional[str] = Field( - None, - title="Len File Path", - description="""Directory where chrom len files are kept, currently mainly used by trackster. + ), + ] = "shared/ucsc/builds.txt" + len_file_path: Annotated[ + str, + Field( + title="Len File Path", + description="""Directory where chrom len files are kept, currently mainly used by trackster. The value of this option will be resolved with respect to . """, - ) - datatypes_config_file: Optional[str] = Field( - None, - title="Datatypes Config File", - description="""Datatypes config file(s), defines what data (file) types are available in + ), + ] = "shared/ucsc/chrom" + datatypes_config_file: Annotated[ + str, + Field( + title="Datatypes Config File", + description="""Datatypes config file(s), defines what data (file) types are available in Galaxy (.sample is used if default does not exist). If a datatype appears in multiple files, the last definition is used (though the first sniffer is used so limit sniffer definitions to one file). """, - ) - sniff_compressed_dynamic_datatypes_default: Optional[bool] = Field( - None, - title="Sniff Compressed Dynamic Datatypes Default", - description="""Enable sniffing of compressed datatypes. This can be configured/overridden + ), + ] = "datatypes_conf.xml" + sniff_compressed_dynamic_datatypes_default: Annotated[ + bool, + Field( + title="Sniff Compressed Dynamic Datatypes Default", + description="""Enable sniffing of compressed datatypes. This can be configured/overridden on a per-datatype basis in the datatypes_conf.xml file. With this option set to false the compressed datatypes will be unpacked before sniffing. """, - ) - datatypes_disable_auto: Optional[bool] = Field( - None, - title="Datatypes Disable Auto", - description="""Disable the 'Auto-detect' option for file uploads -""", - ) - visualization_plugins_directory: Optional[str] = Field( - None, - title="Visualization Plugins Directory", - description="""Visualizations config directory: where to look for individual visualization + ), + ] = True + datatypes_disable_auto: Annotated[ + bool, + Field( + title="Datatypes Disable Auto", + description="""Disable the 'Auto-detect' option for file uploads +""", + ), + ] = False + visualization_plugins_directory: Annotated[ + str, + Field( + title="Visualization Plugins Directory", + description="""Visualizations config directory: where to look for individual visualization plugins. The path is relative to the Galaxy root dir. To use an absolute path begin the path with '/'. This is a comma-separated list. """, - ) - tour_config_dir: Optional[str] = Field( - None, - title="Tour Config Dir", - description="""Interactive tour directory: where to store interactive tour definition files. + ), + ] = "config/plugins/visualizations" + tour_config_dir: Annotated[ + str, + Field( + title="Tour Config Dir", + description="""Interactive tour directory: where to store interactive tour definition files. Galaxy ships with several basic interface tours enabled, though a different directory with custom tours can be specified here. The path is relative to the Galaxy root dir. To use an absolute path begin the path with '/'. This is a comma-separated list. """, - ) - webhooks_dir: Optional[str] = Field( - None, - title="Webhooks Dir", - description="""Webhooks directory: where to store webhooks - plugins to extend the Galaxy UI. + ), + ] = "config/plugins/tours" + webhooks_dir: Annotated[ + str, + Field( + title="Webhooks Dir", + description="""Webhooks directory: where to store webhooks - plugins to extend the Galaxy UI. By default none will be loaded. Set to config/plugins/webhooks/demo to load Galaxy's demo webhooks. To use an absolute path begin the path with '/'. This is a comma-separated list. Add test/functional/webhooks to this list to include the demo webhooks used to test the webhook framework. """, - ) - job_working_directory: Optional[str] = Field( - None, - title="Job Working Directory", - description="""Each job is given a unique empty directory as its current working directory. + ), + ] = "config/plugins/webhooks" + job_working_directory: Annotated[ + str, + Field( + title="Job Working Directory", + description="""Each job is given a unique empty directory as its current working directory. This option defines in what parent directory those directories will be created. The value of this option will be resolved with respect to . """, - ) - template_cache_path: Optional[str] = Field( - None, - title="Template Cache Path", - description="""Mako templates are compiled as needed and cached for reuse, this directory is + ), + ] = "jobs_directory" + template_cache_path: Annotated[ + str, + Field( + title="Template Cache Path", + description="""Mako templates are compiled as needed and cached for reuse, this directory is used for the cache """, - ) - check_job_script_integrity: Optional[bool] = Field( - None, - title="Check Job Script Integrity", - description="""Set to false to disable various checks Galaxy will do to ensure it + ), + ] = "compiled_templates" + check_job_script_integrity: Annotated[ + bool, + Field( + title="Check Job Script Integrity", + description="""Set to false to disable various checks Galaxy will do to ensure it can run job scripts before attempting to execute or submit them. """, - ) - check_job_script_integrity_count: Optional[int] = Field( - None, - title="Check Job Script Integrity Count", - description="""Number of checks to execute if check_job_script_integrity is enabled. -""", - ) - check_job_script_integrity_sleep: Optional[float] = Field( - None, - title="Check Job Script Integrity Sleep", - description="""Time to sleep between checks if check_job_script_integrity is enabled (in seconds). -""", - ) - default_job_shell: Optional[str] = Field( - None, - title="Default Job Shell", - description="""Set the default shell used by non-containerized jobs Galaxy-wide. This + ), + ] = True + check_job_script_integrity_count: Annotated[ + int, + Field( + title="Check Job Script Integrity Count", + description="""Number of checks to execute if check_job_script_integrity is enabled. +""", + ), + ] = 35 + check_job_script_integrity_sleep: Annotated[ + float, + Field( + title="Check Job Script Integrity Sleep", + description="""Time to sleep between checks if check_job_script_integrity is enabled (in seconds). +""", + ), + ] = 0.25 + default_job_shell: Annotated[ + str, + Field( + title="Default Job Shell", + description="""Set the default shell used by non-containerized jobs Galaxy-wide. This defaults to bash for all jobs and can be overridden at the destination level for heterogeneous clusters. conda job resolution requires bash or zsh so if this is switched to /bin/sh for instance - conda resolution should be disabled. Containerized jobs always use /bin/sh - so more maximum portability tool authors should assume generated commands run in sh. """, - ) - enable_tool_document_cache: Optional[bool] = Field( - None, - title="Enable Tool Document Cache", - description="""Whether to enable the tool document cache. This cache stores + ), + ] = "/bin/bash" + enable_tool_document_cache: Annotated[ + bool, + Field( + title="Enable Tool Document Cache", + description="""Whether to enable the tool document cache. This cache stores expanded XML strings. Enabling the tool cache results in slightly faster startup times. The tool cache is backed by a SQLite database, which cannot be stored on certain network disks. The cache location is configurable using the ``tool_cache_data_dir`` setting, but can be disabled completely here. """, - ) - tool_cache_data_dir: Optional[str] = Field( - None, - title="Tool Cache Data Dir", - description="""Tool related caching. Fully expanded tools and metadata will be stored at this path. + ), + ] = False + tool_cache_data_dir: Annotated[ + str, + Field( + title="Tool Cache Data Dir", + description="""Tool related caching. Fully expanded tools and metadata will be stored at this path. Per tool_conf cache locations can be configured in (``shed_``)tool_conf.xml files using the tool_cache_data_dir attribute. """, - ) - tool_search_index_dir: Optional[str] = Field( - None, - title="Tool Search Index Dir", - description="""Directory in which the toolbox search index is stored.""", - ) - delay_tool_initialization: Optional[bool] = Field( - None, - title="Delay Tool Initialization", - description="""Set this to true to delay parsing of tool inputs and outputs until they are needed. + ), + ] = "tool_cache" + tool_search_index_dir: Annotated[ + str, + Field( + title="Tool Search Index Dir", + description="""Directory in which the toolbox search index is stored.""", + ), + ] = "tool_search_index" + delay_tool_initialization: Annotated[ + bool, + Field( + title="Delay Tool Initialization", + description="""Set this to true to delay parsing of tool inputs and outputs until they are needed. This results in faster startup times but uses more memory when using forked Galaxy processes. """, - ) - biotools_content_directory: Optional[str] = Field( - None, - title="Biotools Content Directory", - description="""Point Galaxy at a repository consisting of a copy of the bio.tools database (e.g. + ), + ] = False + biotools_content_directory: Annotated[ + str, + Field( + title="Biotools Content Directory", + description="""Point Galaxy at a repository consisting of a copy of the bio.tools database (e.g. https://github.com/bio-tools/content/) to resolve bio.tools data for tool metadata. """, - ) - biotools_use_api: Optional[bool] = Field( - None, - title="Biotools Use Api", - description="""Set this to true to attempt to resolve bio.tools metadata for tools for tool not + ), + ] + biotools_use_api: Annotated[ + bool, + Field( + title="Biotools Use Api", + description="""Set this to true to attempt to resolve bio.tools metadata for tools for tool not resovled via biotools_content_directory. """, - ) - biotools_service_cache_type: Optional[str] = Field( - None, - title="Biotools Service Cache Type", - description="""bio.tools web service request related caching. The type of beaker cache used. -""", - ) - biotools_service_cache_data_dir: Optional[str] = Field( - None, - title="Biotools Service Cache Data Dir", - description="""bio.tools web service request related caching. The data directory to point + ), + ] = False + biotools_service_cache_type: Annotated[ + str, + Field( + title="Biotools Service Cache Type", + description="""bio.tools web service request related caching. The type of beaker cache used. +""", + ), + ] = "file" + biotools_service_cache_data_dir: Annotated[ + str, + Field( + title="Biotools Service Cache Data Dir", + description="""bio.tools web service request related caching. The data directory to point beaker cache at. """, - ) - biotools_service_cache_lock_dir: Optional[str] = Field( - None, - title="Biotools Service Cache Lock Dir", - description="""bio.tools web service request related caching. The lock directory to point + ), + ] = "biotools/data" + biotools_service_cache_lock_dir: Annotated[ + str, + Field( + title="Biotools Service Cache Lock Dir", + description="""bio.tools web service request related caching. The lock directory to point beaker cache at. """, - ) - biotools_service_cache_url: Optional[str] = Field( - None, - title="Biotools Service Cache Url", - description="""When biotools_service_cache_type = ext:database, this is + ), + ] = "biotools/locks" + biotools_service_cache_url: Annotated[ + str, + Field( + title="Biotools Service Cache Url", + description="""When biotools_service_cache_type = ext:database, this is the url of the database used by beaker for bio.tools web service request related caching. The application config code will set it to the value of database_connection if this is not set. """, - ) - biotools_service_cache_table_name: Optional[str] = Field( - None, - title="Biotools Service Cache Table Name", - description="""When biotools_service_cache_type = ext:database, this is + ), + ] + biotools_service_cache_table_name: Annotated[ + str, + Field( + title="Biotools Service Cache Table Name", + description="""When biotools_service_cache_type = ext:database, this is the database table name used by beaker for bio.tools web service request related caching. """, - ) - biotools_service_cache_schema_name: Optional[str] = Field( - None, - title="Biotools Service Cache Schema Name", - description="""When biotools_service_cache_type = ext:database, this is + ), + ] = "beaker_cache" + biotools_service_cache_schema_name: Annotated[ + str, + Field( + title="Biotools Service Cache Schema Name", + description="""When biotools_service_cache_type = ext:database, this is the database table name used by beaker for bio.tools web service request related caching. """, - ) - citation_cache_type: Optional[str] = Field( - None, - title="Citation Cache Type", - description="""Citation related caching. Tool citations information maybe fetched from + ), + ] + citation_cache_type: Annotated[ + str, + Field( + title="Citation Cache Type", + description="""Citation related caching. Tool citations information maybe fetched from external sources such as https://doi.org/ by Galaxy - the following parameters can be used to control the caching used to store this information. """, - ) - citation_cache_data_dir: Optional[str] = Field( - None, - title="Citation Cache Data Dir", - description="""Citation related caching. Tool citations information maybe fetched from + ), + ] = "file" + citation_cache_data_dir: Annotated[ + str, + Field( + title="Citation Cache Data Dir", + description="""Citation related caching. Tool citations information maybe fetched from external sources such as https://doi.org/ by Galaxy - the following parameters can be used to control the caching used to store this information. """, - ) - citation_cache_lock_dir: Optional[str] = Field( - None, - title="Citation Cache Lock Dir", - description="""Citation related caching. Tool citations information maybe fetched from + ), + ] = "citations/data" + citation_cache_lock_dir: Annotated[ + str, + Field( + title="Citation Cache Lock Dir", + description="""Citation related caching. Tool citations information maybe fetched from external sources such as https://doi.org/ by Galaxy - the following parameters can be used to control the caching used to store this information. """, - ) - citation_cache_url: Optional[str] = Field( - None, - title="Citation Cache Url", - description="""When citation_cache_type = ext:database, this is + ), + ] = "citations/locks" + citation_cache_url: Annotated[ + str, + Field( + title="Citation Cache Url", + description="""When citation_cache_type = ext:database, this is the url of the database used by beaker for citation caching. The application config code will set it to the value of database_connection if this is not set. """, - ) - citation_cache_table_name: Optional[str] = Field( - None, - title="Citation Cache Table Name", - description="""When citation_cache_type = ext:database, this is + ), + ] + citation_cache_table_name: Annotated[ + str, + Field( + title="Citation Cache Table Name", + description="""When citation_cache_type = ext:database, this is the database table name used by beaker for citation related caching. """, - ) - citation_cache_schema_name: Optional[str] = Field( - None, - title="Citation Cache Schema Name", - description="""When citation_cache_type = ext:database, this is + ), + ] = "beaker_cache" + citation_cache_schema_name: Annotated[ + str, + Field( + title="Citation Cache Schema Name", + description="""When citation_cache_type = ext:database, this is the database schema name of the table used by beaker for citation related caching. """, - ) - mulled_resolution_cache_type: Optional[str] = Field( - None, - title="Mulled Resolution Cache Type", - description="""Mulled resolution caching. Mulled resolution uses external APIs of quay.io, these + ), + ] + mulled_resolution_cache_type: Annotated[ + str, + Field( + title="Mulled Resolution Cache Type", + description="""Mulled resolution caching. Mulled resolution uses external APIs of quay.io, these requests are caching using this and the following parameters """, - ) - mulled_resolution_cache_data_dir: Optional[str] = Field( - None, - title="Mulled Resolution Cache Data Dir", - description="""Data directory used by beaker for caching mulled resolution requests. -""", - ) - mulled_resolution_cache_lock_dir: Optional[str] = Field( - None, - title="Mulled Resolution Cache Lock Dir", - description="""Lock directory used by beaker for caching mulled resolution requests. -""", - ) - mulled_resolution_cache_expire: Optional[int] = Field( - None, - title="Mulled Resolution Cache Expire", - description="""Seconds until the beaker cache is considered old and a new value is created. -""", - ) - mulled_resolution_cache_url: Optional[str] = Field( - None, - title="Mulled Resolution Cache Url", - description="""When mulled_resolution_cache_type = ext:database, this is + ), + ] = "file" + mulled_resolution_cache_data_dir: Annotated[ + str, + Field( + title="Mulled Resolution Cache Data Dir", + description="""Data directory used by beaker for caching mulled resolution requests. +""", + ), + ] = "mulled/data" + mulled_resolution_cache_lock_dir: Annotated[ + str, + Field( + title="Mulled Resolution Cache Lock Dir", + description="""Lock directory used by beaker for caching mulled resolution requests. +""", + ), + ] = "mulled/locks" + mulled_resolution_cache_expire: Annotated[ + int, + Field( + title="Mulled Resolution Cache Expire", + description="""Seconds until the beaker cache is considered old and a new value is created. +""", + ), + ] = 3600 + mulled_resolution_cache_url: Annotated[ + str, + Field( + title="Mulled Resolution Cache Url", + description="""When mulled_resolution_cache_type = ext:database, this is the url of the database used by beaker for caching mulled resolution requests. The application config code will set it to the value of database_connection if this is not set. """, - ) - mulled_resolution_cache_table_name: Optional[str] = Field( - None, - title="Mulled Resolution Cache Table Name", - description="""When mulled_resolution_cache_type = ext:database, this is + ), + ] + mulled_resolution_cache_table_name: Annotated[ + str, + Field( + title="Mulled Resolution Cache Table Name", + description="""When mulled_resolution_cache_type = ext:database, this is the database table name used by beaker for caching mulled resolution requests. """, - ) - mulled_resolution_cache_schema_name: Optional[str] = Field( - None, - title="Mulled Resolution Cache Schema Name", - description="""When mulled_resolution_cache_type = ext:database, this is + ), + ] = "beaker_cache" + mulled_resolution_cache_schema_name: Annotated[ + str, + Field( + title="Mulled Resolution Cache Schema Name", + description="""When mulled_resolution_cache_type = ext:database, this is the database schema name of the table used by beaker for caching mulled resolution requests. """, - ) - object_store_config_file: Optional[str] = Field( - None, - title="Object Store Config File", - description="""Configuration file for the object store + ), + ] + object_store_config_file: Annotated[ + str, + Field( + title="Object Store Config File", + description="""Configuration file for the object store If this is set and exists, it overrides any other objectstore settings. """, - ) - object_store_cache_monitor_driver: Optional[str] = Field( - None, - title="Object Store Cache Monitor Driver", - description="""Specify where cache monitoring is driven for caching object stores + ), + ] = "object_store_conf.xml" + object_store_cache_monitor_driver: Annotated[ + str, + Field( + title="Object Store Cache Monitor Driver", + description="""Specify where cache monitoring is driven for caching object stores such as S3, Azure, and iRODS. This option has no affect on disk object stores. For production instances, the cache should be monitored by external tools such as tmpwatch and this value should be set to 'external'. This will disable all @@ -938,137 +1161,169 @@ class GalaxyConfigModel(Model): on a per object store basis (but don't - just setup tmpwatch for all relevant cache paths). """, - ) - object_store_cache_monitor_interval: Optional[int] = Field( - None, - title="Object Store Cache Monitor Interval", - description="""For object store cache monitoring done by Galaxy, this is the interval between + ), + ] = "auto" + object_store_cache_monitor_interval: Annotated[ + int, + Field( + title="Object Store Cache Monitor Interval", + description="""For object store cache monitoring done by Galaxy, this is the interval between cache checking steps. This is used by both inprocess cache monitors (which we recommend you do not use) and by the celery task if it is configured (by setting enable_celery_tasks to true and not setting object_store_cache_monitor_driver to external). """, - ) - object_store_cache_path: Optional[str] = Field( - None, - title="Object Store Cache Path", - description="""Default cache path for caching object stores if cache not configured for + ), + ] = 600 + object_store_cache_path: Annotated[ + str, + Field( + title="Object Store Cache Path", + description="""Default cache path for caching object stores if cache not configured for that object store entry. """, - ) - object_store_cache_size: Optional[int] = Field( - None, - title="Object Store Cache Size", - description="""Default cache size for caching object stores if cache not configured for + ), + ] = "object_store_cache" + object_store_cache_size: Annotated[ + int, + Field( + title="Object Store Cache Size", + description="""Default cache size for caching object stores if cache not configured for that object store entry. """, - ) - object_store_store_by: Optional[str] = Field( - None, - title="Object Store Store By", - description="""What Dataset attribute is used to reference files in an ObjectStore implementation, + ), + ] = -1 + object_store_store_by: Annotated[ + str, + Field( + title="Object Store Store By", + description="""What Dataset attribute is used to reference files in an ObjectStore implementation, this can be 'uuid' or 'id'. The default will depend on how the object store is configured, starting with 20.05 Galaxy will try to default to 'uuid' if it can be sure this is a new Galaxy instance - but the default will be 'id' in many cases. In particular, if the name of the directory set in is `objects`, the default will be set to 'uuid', otherwise it will be 'id'. """, - ) - smtp_server: Optional[str] = Field( - None, - title="Smtp Server", - description="""Galaxy sends mail for various things: subscribing users to the mailing list + ), + ] + smtp_server: Annotated[ + str, + Field( + title="Smtp Server", + description="""Galaxy sends mail for various things: subscribing users to the mailing list if they request it, password resets, reporting dataset errors, and sending activation emails. To do this, it needs to send mail through an SMTP server, which you may define here (host:port). Galaxy will automatically try STARTTLS but will continue upon failure. """, - ) - smtp_username: Optional[str] = Field( - None, - title="Smtp Username", - description="""If your SMTP server requires a username and password, you can provide them + ), + ] + smtp_username: Annotated[ + str, + Field( + title="Smtp Username", + description="""If your SMTP server requires a username and password, you can provide them here (password in cleartext here, but if your server supports STARTTLS it will be sent over the network encrypted). """, - ) - smtp_password: Optional[str] = Field( - None, - title="Smtp Password", - description="""If your SMTP server requires a username and password, you can provide them + ), + ] + smtp_password: Annotated[ + str, + Field( + title="Smtp Password", + description="""If your SMTP server requires a username and password, you can provide them here (password in cleartext here, but if your server supports STARTTLS it will be sent over the network encrypted). """, - ) - smtp_ssl: Optional[bool] = Field( - None, - title="Smtp Ssl", - description="""If your SMTP server requires SSL from the beginning of the connection -""", - ) - mailing_join_addr: Optional[str] = Field( - None, - title="Mailing Join Addr", - description="""On the user registration form, users may choose to join a mailing list. This + ), + ] + smtp_ssl: Annotated[ + bool, + Field( + title="Smtp Ssl", + description="""If your SMTP server requires SSL from the beginning of the connection +""", + ), + ] = False + mailing_join_addr: Annotated[ + str, + Field( + title="Mailing Join Addr", + description="""On the user registration form, users may choose to join a mailing list. This is the address used to subscribe to the list. Uncomment and leave empty if you want to remove this option from the user registration form. Example value 'galaxy-announce-join@lists.galaxyproject.org' """, - ) - mailing_join_subject: Optional[str] = Field( - None, - title="Mailing Join Subject", - description="""The subject of the email sent to the mailing list join address. See the + ), + ] + mailing_join_subject: Annotated[ + str, + Field( + title="Mailing Join Subject", + description="""The subject of the email sent to the mailing list join address. See the `mailing_join_addr` option for more information. """, - ) - mailing_join_body: Optional[str] = Field( - None, - title="Mailing Join Body", - description="""The body of the email sent to the mailing list join address. See the + ), + ] = "Join Mailing List" + mailing_join_body: Annotated[ + str, + Field( + title="Mailing Join Body", + description="""The body of the email sent to the mailing list join address. See the `mailing_join_addr` option for more information. """, - ) - error_email_to: Optional[str] = Field( - None, - title="Error Email To", - description="""Datasets in an error state include a link to report the error. Those reports + ), + ] = "Join Mailing List" + error_email_to: Annotated[ + str, + Field( + title="Error Email To", + description="""Datasets in an error state include a link to report the error. Those reports will be sent to this address. Error reports are disabled if no address is set. Also this email is shown as a contact to user in case of Galaxy misconfiguration and other events user may encounter. """, - ) - email_from: Optional[str] = Field( - None, - title="Email From", - description="""Email address to use in the 'From' field when sending emails for + ), + ] + email_from: Annotated[ + str, + Field( + title="Email From", + description="""Email address to use in the 'From' field when sending emails for account activations, workflow step notifications, password resets, and tool error reports. We recommend using a string in the following format: Galaxy Project . If not configured, '' will be used. """, - ) - custom_activation_email_message: Optional[str] = Field( - None, - title="Custom Activation Email Message", - description="""This text will be inserted at the end of the activation email's message, before + ), + ] + custom_activation_email_message: Annotated[ + str, + Field( + title="Custom Activation Email Message", + description="""This text will be inserted at the end of the activation email's message, before the 'Your Galaxy Team' signature. """, - ) - instance_resource_url: Optional[str] = Field( - None, - title="Instance Resource Url", - description="""URL of the support resource for the galaxy instance. Used in activation + ), + ] + instance_resource_url: Annotated[ + str, + Field( + title="Instance Resource Url", + description="""URL of the support resource for the galaxy instance. Used in activation emails. Example value 'https://galaxyproject.org/' """, - ) - email_domain_blocklist_file: Optional[str] = Field( - None, - title="Email Domain Blocklist File", - description="""E-mail domains blocklist is used for filtering out users that are using + ), + ] + email_domain_blocklist_file: Annotated[ + str, + Field( + title="Email Domain Blocklist File", + description="""E-mail domains blocklist is used for filtering out users that are using disposable email addresses at registration. If their address's base domain matches any domain on the list, they are refused registration. Address subdomains are ignored (both 'name@spam.com' and 'name@foo.spam.com' will match 'spam.com'). @@ -1077,11 +1332,13 @@ class GalaxyConfigModel(Model): The value of this option will be resolved with respect to . """, - ) - email_domain_allowlist_file: Optional[str] = Field( - None, - title="Email Domain Allowlist File", - description="""E-mail domains allowlist is used to specify allowed email address domains. + ), + ] + email_domain_allowlist_file: Annotated[ + str, + Field( + title="Email Domain Allowlist File", + description="""E-mail domains allowlist is used to specify allowed email address domains. If the list is non-empty and a user attempts registration using an email address belonging to a domain that is not on the list, registration will be denied. Unlike which matches the address's @@ -1094,102 +1351,128 @@ class GalaxyConfigModel(Model): The value of this option will be resolved with respect to . """, - ) - registration_warning_message: Optional[str] = Field( - None, - title="Registration Warning Message", - description="""Registration warning message is used to discourage people from registering + ), + ] + registration_warning_message: Annotated[ + str, + Field( + title="Registration Warning Message", + description="""Registration warning message is used to discourage people from registering multiple accounts. Applies mostly for the main Galaxy instance. If no message specified the warning box will not be shown. """, - ) - user_activation_on: Optional[bool] = Field( - None, - title="User Activation On", - description="""User account activation feature global flag. If set to false, the rest of + ), + ] = "Please register only one account - we provide this service free of charge and have limited computational resources. Multi-accounts are tracked and will be subjected to account termination and data deletion." + user_activation_on: Annotated[ + bool, + Field( + title="User Activation On", + description="""User account activation feature global flag. If set to false, the rest of the Account activation configuration is ignored and user activation is disabled (i.e. accounts are active since registration). The activation is also not working in case the SMTP server is not defined. """, - ) - activation_grace_period: Optional[int] = Field( - None, - title="Activation Grace Period", - description="""Activation grace period (in hours). Activation is not forced (login is not + ), + ] = False + activation_grace_period: Annotated[ + int, + Field( + title="Activation Grace Period", + description="""Activation grace period (in hours). Activation is not forced (login is not disabled) until grace period has passed. Users under grace period can't run jobs. Enter 0 to disable grace period. """, - ) - inactivity_box_content: Optional[str] = Field( - None, - title="Inactivity Box Content", - description="""Shown in warning box to users that were not activated yet. + ), + ] = 3 + inactivity_box_content: Annotated[ + str, + Field( + title="Inactivity Box Content", + description="""Shown in warning box to users that were not activated yet. In use only if activation_grace_period is set. """, - ) - password_expiration_period: Optional[int] = Field( - None, - title="Password Expiration Period", - description="""Password expiration period (in days). Users are required to change their + ), + ] = "Your account has not been activated yet. Feel free to browse around and see what's available, but you won't be able to upload data or run jobs until you have verified your email address." + password_expiration_period: Annotated[ + int, + Field( + title="Password Expiration Period", + description="""Password expiration period (in days). Users are required to change their password every x days. Users will be redirected to the change password screen when they log in after their password expires. Enter 0 to disable password expiration. """, - ) - enable_account_interface: Optional[bool] = Field( - None, - title="Enable Account Interface", - description="""Allow users to manage their account data, change passwords or delete their + ), + ] = 0 + enable_account_interface: Annotated[ + bool, + Field( + title="Enable Account Interface", + description="""Allow users to manage their account data, change passwords or delete their accounts. """, - ) - session_duration: Optional[int] = Field( - None, - title="Session Duration", - description="""Galaxy Session Timeout + ), + ] = True + session_duration: Annotated[ + int, + Field( + title="Session Duration", + description="""Galaxy Session Timeout This provides a timeout (in minutes) after which a user will have to log back in. A duration of 0 disables this feature. """, - ) - ga_code: Optional[str] = Field( - None, - title="Ga Code", - description="""You can enter tracking code here to track visitor's behavior + ), + ] = 0 + ga_code: Annotated[ + str, + Field( + title="Ga Code", + description="""You can enter tracking code here to track visitor's behavior through your Google Analytics account. Example: UA-XXXXXXXX-Y """, - ) - plausible_server: Optional[str] = Field( - None, - title="Plausible Server", - description="""Please enter the URL for the Plausible server (including https) so this can be used for tracking + ), + ] + plausible_server: Annotated[ + str, + Field( + title="Plausible Server", + description="""Please enter the URL for the Plausible server (including https) so this can be used for tracking with Plausible (https://plausible.io/). """, - ) - plausible_domain: Optional[str] = Field( - None, - title="Plausible Domain", - description="""Please enter the URL for the Galaxy server so this can be used for tracking + ), + ] + plausible_domain: Annotated[ + str, + Field( + title="Plausible Domain", + description="""Please enter the URL for the Galaxy server so this can be used for tracking with Plausible (https://plausible.io/). """, - ) - matomo_server: Optional[str] = Field( - None, - title="Matomo Server", - description="""Please enter the URL for the Matomo server (including https) so this can be used for tracking + ), + ] + matomo_server: Annotated[ + str, + Field( + title="Matomo Server", + description="""Please enter the URL for the Matomo server (including https) so this can be used for tracking with Matomo (https://matomo.org/). """, - ) - matomo_site_id: Optional[str] = Field( - None, - title="Matomo Site Id", - description="""Please enter the site ID for the Matomo server so this can be used for tracking + ), + ] + matomo_site_id: Annotated[ + str, + Field( + title="Matomo Site Id", + description="""Please enter the site ID for the Matomo server so this can be used for tracking with Matomo (https://matomo.org/). """, - ) - display_servers: Optional[str] = Field( - None, - title="Display Servers", - description="""Galaxy can display data at various external browsers. These options specify + ), + ] + display_servers: Annotated[ + str, + Field( + title="Display Servers", + description="""Galaxy can display data at various external browsers. These options specify which browsers should be available. URLs and builds available at these browsers are defined in the specified files. @@ -1206,11 +1489,13 @@ class GalaxyConfigModel(Model): display sites to bypass security (you must uncomment the line below to allow them). """, - ) - enable_old_display_applications: Optional[bool] = Field( - None, - title="Enable Old Display Applications", - description="""Set this to false to disable the old-style display applications that + ), + ] = "hgw1.cse.ucsc.edu,hgw2.cse.ucsc.edu,hgw3.cse.ucsc.edu,hgw4.cse.ucsc.edu,hgw5.cse.ucsc.edu,hgw6.cse.ucsc.edu,hgw7.cse.ucsc.edu,hgw8.cse.ucsc.edu,lowepub.cse.ucsc.edu" + enable_old_display_applications: Annotated[ + bool, + Field( + title="Enable Old Display Applications", + description="""Set this to false to disable the old-style display applications that are hardcoded into datatype classes. This may be desirable due to using the new-style, XML-defined, display applications that have been defined for many of the datatypes that have the @@ -1220,141 +1505,179 @@ class GalaxyConfigModel(Model): Galaxy server, but contains a redirect to a third-party server, tricking a Galaxy user to access said site. """, - ) - aws_estimate: Optional[bool] = Field( - None, - title="Aws Estimate", - description="""This flag enables an AWS cost estimate for every job based on their runtime matrices. + ), + ] = True + aws_estimate: Annotated[ + bool, + Field( + title="Aws Estimate", + description="""This flag enables an AWS cost estimate for every job based on their runtime matrices. CPU, RAM and runtime usage is mapped against AWS pricing table. Please note, that those numbers are only estimates. """, - ) - carbon_emission_estimates: Optional[bool] = Field( - None, - title="Carbon Emission Estimates", - description="""This flag enables carbon emissions estimates for every job based on its runtime metrics. + ), + ] = False + carbon_emission_estimates: Annotated[ + bool, + Field( + title="Carbon Emission Estimates", + description="""This flag enables carbon emissions estimates for every job based on its runtime metrics. CPU and RAM usage and the total job runtime are used to determine an estimate value. These estimates and are based off of the work of the Green Algorithms Project and the United States Environmental Protection Agency (EPA). Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. for more detals. """, - ) - geographical_server_location_code: Optional[str] = Field( - None, - title="Geographical Server Location Code", - description="""The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. + ), + ] = True + geographical_server_location_code: Annotated[ + str, + Field( + title="Geographical Server Location Code", + description="""The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. This is used to make carbon emissions estimates more accurate as the location effects the carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the `geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, visit https://galaxyproject.org/admin/carbon_emissions """, - ) - power_usage_effectiveness: Optional[float] = Field( - None, - title="Power Usage Effectiveness", - description="""The estimated power usage effectiveness of the data centre housing the server your galaxy + ), + ] = "GLOBAL" + power_usage_effectiveness: Annotated[ + float, + Field( + title="Power Usage Effectiveness", + description="""The estimated power usage effectiveness of the data centre housing the server your galaxy instance is running on. This can make carbon emissions estimates more accurate. For more information on how to calculate a PUE value, visit https://en.wikipedia.org/wiki/Power_usage_effectiveness """, - ) - interactivetools_enable: Optional[bool] = Field( - None, - title="Interactivetools Enable", - description="""Enable InteractiveTools. -""", - ) - interactivetools_upstream_proxy: Optional[bool] = Field( - None, - title="Interactivetools Upstream Proxy", - description="""Set this to false to redirect users of Interactive tools directly to the Interactive tools proxy. `interactivetools_upstream_proxy` should only be set to false in development.""", - ) - interactivetools_proxy_host: Optional[str] = Field( - None, - title="Interactivetools Proxy Host", - description="""Hostname and port of Interactive tools proxy. It is assumed to be hosted on the same hostname and port as + ), + ] = 1.67 + interactivetools_enable: Annotated[ + bool, + Field( + title="Interactivetools Enable", + description="""Enable InteractiveTools. +""", + ), + ] = False + interactivetools_upstream_proxy: Annotated[ + bool, + Field( + title="Interactivetools Upstream Proxy", + description="""Set this to false to redirect users of Interactive tools directly to the Interactive tools proxy. `interactivetools_upstream_proxy` should only be set to false in development.""", + ), + ] = True + interactivetools_proxy_host: Annotated[ + str, + Field( + title="Interactivetools Proxy Host", + description="""Hostname and port of Interactive tools proxy. It is assumed to be hosted on the same hostname and port as Galaxy by default. """, - ) - interactivetools_base_path: Optional[str] = Field( - None, - title="Interactivetools Base Path", - description="""Base path for interactive tools running at a subpath without a subdomain. Defaults to "/". -""", - ) - interactivetools_map: Optional[str] = Field( - None, - title="Interactivetools Map", - description="""Map for interactivetool proxy. -""", - ) - interactivetools_prefix: Optional[str] = Field( - None, - title="Interactivetools Prefix", - description="""Prefix to use in the formation of the subdomain or path for interactive tools -""", - ) - interactivetools_shorten_url: Optional[bool] = Field( - None, - title="Interactivetools Shorten Url", - description="""Shorten the uuid portion of the subdomain or path for interactive tools. + ), + ] + interactivetools_base_path: Annotated[ + str, + Field( + title="Interactivetools Base Path", + description="""Base path for interactive tools running at a subpath without a subdomain. Defaults to "/". +""", + ), + ] = "/" + interactivetools_map: Annotated[ + str, + Field( + title="Interactivetools Map", + description="""Map for interactivetool proxy. +""", + ), + ] = "interactivetools_map.sqlite" + interactivetools_prefix: Annotated[ + str, + Field( + title="Interactivetools Prefix", + description="""Prefix to use in the formation of the subdomain or path for interactive tools +""", + ), + ] = "interactivetool" + interactivetools_shorten_url: Annotated[ + bool, + Field( + title="Interactivetools Shorten Url", + description="""Shorten the uuid portion of the subdomain or path for interactive tools. Especially useful for avoiding the need for wildcard certificates by keeping subdomain under 63 chars """, - ) - retry_interactivetool_metadata_internally: Optional[bool] = Field( - None, - title="Retry Interactivetool Metadata Internally", - description="""Galaxy Interactive Tools (GxITs) can be stopped from within the Galaxy + ), + ] = False + retry_interactivetool_metadata_internally: Annotated[ + bool, + Field( + title="Retry Interactivetool Metadata Internally", + description="""Galaxy Interactive Tools (GxITs) can be stopped from within the Galaxy interface, killing the GxIT job without completing its metadata setting post-job steps. In such a case it may be desirable to set metadata on job outputs internally (in the Galaxy job handler process). The default is is the value of `retry_metadata_internally`, which defaults to `true`. """, - ) - visualizations_visible: Optional[bool] = Field( - None, - title="Visualizations Visible", - description="""Show visualization tab and list in masthead. -""", - ) - message_box_visible: Optional[bool] = Field( - None, - title="Message Box Visible", - description="""Show a message box under the masthead. -""", - ) - message_box_content: Optional[str] = Field( - None, - title="Message Box Content", - description="""Show a message box under the masthead. -""", - ) - message_box_class: Optional[str] = Field( - None, - title="Message Box Class", - description="""Class of the message box under the masthead. Possible values are: + ), + ] = True + visualizations_visible: Annotated[ + bool, + Field( + title="Visualizations Visible", + description="""Show visualization tab and list in masthead. +""", + ), + ] = True + message_box_visible: Annotated[ + bool, + Field( + title="Message Box Visible", + description="""Show a message box under the masthead. +""", + ), + ] = False + message_box_content: Annotated[ + str, + Field( + title="Message Box Content", + description="""Show a message box under the masthead. +""", + ), + ] + message_box_class: Annotated[ + str, + Field( + title="Message Box Class", + description="""Class of the message box under the masthead. Possible values are: 'info' (the default), 'warning', 'error', 'done'. """, - ) - brand: Optional[str] = Field( - None, - title="Brand", - description="""Append "{brand}" text to the masthead. -""", - ) - display_galaxy_brand: Optional[bool] = Field( - None, - title="Display Galaxy Brand", - description="""This option has been deprecated, use the `logo_src` instead to change the + ), + ] = "info" + brand: Annotated[ + str, + Field( + title="Brand", + description="""Append "{brand}" text to the masthead. +""", + ), + ] + display_galaxy_brand: Annotated[ + bool, + Field( + title="Display Galaxy Brand", + description="""This option has been deprecated, use the `logo_src` instead to change the default logo including the galaxy brand title. """, - ) - pretty_datetime_format: Optional[str] = Field( - None, - title="Pretty Datetime Format", - description="""Format string used when showing date and time information. + ), + ] = True + pretty_datetime_format: Annotated[ + str, + Field( + title="Pretty Datetime Format", + description="""Format string used when showing date and time information. The string may contain: - the directives used by Python time.strftime() function (see https://docs.python.org/library/time.html#time.strftime), @@ -1362,11 +1685,13 @@ class GalaxyConfigModel(Model): - $iso8601 (complete format string as specified by ISO 8601 international standard). """, - ) - trs_servers_config_file: Optional[str] = Field( - None, - title="Trs Servers Config File", - description="""Allow import of workflows from the TRS servers configured in + ), + ] = "$locale (UTC)" + trs_servers_config_file: Annotated[ + str, + Field( + title="Trs Servers Config File", + description="""Allow import of workflows from the TRS servers configured in the specified YAML or JSON file. The file should be a list with 'id', 'label', and 'api_url' for each entry. Optionally, 'link_url' and 'doc' may be be specified as well for each entry. @@ -1374,35 +1699,43 @@ class GalaxyConfigModel(Model): If this is null (the default), a simple configuration containing just Dockstore will be used. """, - ) - user_preferences_extra_conf_path: Optional[str] = Field( - None, - title="User Preferences Extra Conf Path", - description="""Location of the configuration file containing extra user preferences. -""", - ) - default_locale: Optional[str] = Field( - None, - title="Default Locale", - description="""Default localization for Galaxy UI. + ), + ] = "trs_servers_conf.yml" + user_preferences_extra_conf_path: Annotated[ + str, + Field( + title="User Preferences Extra Conf Path", + description="""Location of the configuration file containing extra user preferences. +""", + ), + ] = "user_preferences_extra_conf.yml" + default_locale: Annotated[ + str, + Field( + title="Default Locale", + description="""Default localization for Galaxy UI. Allowed values are listed at the end of client/src/nls/locale.js. With the default value (auto), the locale will be automatically adjusted to the user's navigator language. Users can override this settings in their user preferences if the localization settings are enabled in user_preferences_extra_conf.yml """, - ) - galaxy_url_prefix: Optional[str] = Field( - None, - title="Galaxy Url Prefix", - description="""URL prefix for Galaxy application. If Galaxy should be served under a prefix set this to + ), + ] = "auto" + galaxy_url_prefix: Annotated[ + str, + Field( + title="Galaxy Url Prefix", + description="""URL prefix for Galaxy application. If Galaxy should be served under a prefix set this to the desired prefix value. """, - ) - galaxy_infrastructure_url: Optional[str] = Field( - None, - title="Galaxy Infrastructure Url", - description="""URL (with schema http/https) of the Galaxy instance as accessible + ), + ] = "/" + galaxy_infrastructure_url: Annotated[ + str, + Field( + title="Galaxy Infrastructure Url", + description="""URL (with schema http/https) of the Galaxy instance as accessible within your local network. This URL is used as a default by pulsar file staging and Interactive Tool containers for communicating back with Galaxy via the API. @@ -1410,11 +1743,13 @@ class GalaxyConfigModel(Model): If you plan to run Interactive Tools make sure the docker container can reach this URL. """, - ) - galaxy_infrastructure_web_port: Optional[int] = Field( - None, - title="Galaxy Infrastructure Web Port", - description="""If the above URL cannot be determined ahead of time in dynamic environments + ), + ] = "http://localhost:8080" + galaxy_infrastructure_web_port: Annotated[ + int, + Field( + title="Galaxy Infrastructure Web Port", + description="""If the above URL cannot be determined ahead of time in dynamic environments but the port which should be used to access Galaxy can be - this should be set to prevent Galaxy from having to guess. For example if Galaxy is sitting behind a proxy with REMOTE_USER enabled - infrastructure shouldn't talk to @@ -1422,201 +1757,253 @@ class GalaxyConfigModel(Model): unset this file will be read for a server block defining a port corresponding to the webapp. """, - ) - welcome_url: Optional[str] = Field( - None, - title="Welcome Url", - description="""The URL of the page to display in Galaxy's middle pane when loaded. This can + ), + ] = 8080 + welcome_url: Annotated[ + str, + Field( + title="Welcome Url", + description="""The URL of the page to display in Galaxy's middle pane when loaded. This can be an absolute or relative URL. """, - ) - logo_url: Optional[str] = Field( - None, - title="Logo Url", - description="""The URL linked by the "Galaxy/brand" text. -""", - ) - logo_src: Optional[str] = Field( - None, - title="Logo Src", - description="""The brand image source. -""", - ) - logo_src_secondary: Optional[str] = Field( - None, - title="Logo Src Secondary", - description="""The custom brand image source. -""", - ) - helpsite_url: str = Field( - "https://help.galaxyproject.org/", - title="Helpsite Url", - description="""The URL linked by the "Galaxy Help" link in the "Help" menu. -""", - ) - wiki_url: Optional[str] = Field( - None, - title="Wiki Url", - description="""The URL linked by the "Community Hub" link in the "Help" menu. -""", - ) - quota_url: Optional[str] = Field( - None, - title="Quota Url", - description="""The URL linked for quota information in the UI. -""", - ) - support_url: Optional[str] = Field( - None, - title="Support Url", - description="""The URL linked by the "Support" link in the "Help" menu. -""", - ) - citation_url: Optional[str] = Field( - None, - title="Citation Url", - description="""The URL linked by the "How to Cite Galaxy" link in the "Help" menu. -""", - ) - release_doc_base_url: Optional[str] = Field( - None, - title="Release Doc Base Url", - description="""The URL linked by the "Galaxy Version" link in the "Help" menu. -""", - ) - screencasts_url: Optional[str] = Field( - None, - title="Screencasts Url", - description="""The URL linked by the "Videos" link in the "Help" menu. -""", - ) - terms_url: Optional[str] = Field( - None, - title="Terms Url", - description="""The URL linked by the "Terms and Conditions" link in the "Help" menu, as well + ), + ] = "/static/welcome.html" + logo_url: Annotated[ + str, + Field( + title="Logo Url", + description="""The URL linked by the "Galaxy/brand" text. +""", + ), + ] = "/" + logo_src: Annotated[ + str, + Field( + title="Logo Src", + description="""The brand image source. +""", + ), + ] = "/static/favicon.svg" + logo_src_secondary: Annotated[ + str, + Field( + title="Logo Src Secondary", + description="""The custom brand image source. +""", + ), + ] + helpsite_url: Annotated[ + str, + Field( + title="Helpsite Url", + description="""The URL linked by the "Galaxy Help" link in the "Help" menu. +""", + ), + ] = "https://help.galaxyproject.org/" + wiki_url: Annotated[ + str, + Field( + title="Wiki Url", + description="""The URL linked by the "Community Hub" link in the "Help" menu. +""", + ), + ] = "https://galaxyproject.org/" + quota_url: Annotated[ + str, + Field( + title="Quota Url", + description="""The URL linked for quota information in the UI. +""", + ), + ] = "https://galaxyproject.org/support/account-quotas/" + support_url: Annotated[ + str, + Field( + title="Support Url", + description="""The URL linked by the "Support" link in the "Help" menu. +""", + ), + ] = "https://galaxyproject.org/support/" + citation_url: Annotated[ + str, + Field( + title="Citation Url", + description="""The URL linked by the "How to Cite Galaxy" link in the "Help" menu. +""", + ), + ] = "https://galaxyproject.org/citing-galaxy" + release_doc_base_url: Annotated[ + str, + Field( + title="Release Doc Base Url", + description="""The URL linked by the "Galaxy Version" link in the "Help" menu. +""", + ), + ] = "https://docs.galaxyproject.org/en/release_" + screencasts_url: Annotated[ + str, + Field( + title="Screencasts Url", + description="""The URL linked by the "Videos" link in the "Help" menu. +""", + ), + ] = "https://www.youtube.com/c/galaxyproject" + terms_url: Annotated[ + str, + Field( + title="Terms Url", + description="""The URL linked by the "Terms and Conditions" link in the "Help" menu, as well as on the user registration and login forms and in the activation emails. """, - ) - static_enabled: Optional[bool] = Field( - None, - title="Static Enabled", - description="""Serve static content, which must be enabled if you're not serving it via a + ), + ] + static_enabled: Annotated[ + bool, + Field( + title="Static Enabled", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, - ) - static_cache_time: Optional[int] = Field( - None, - title="Static Cache Time", - description="""Serve static content, which must be enabled if you're not serving it via a + ), + ] = True + static_cache_time: Annotated[ + int, + Field( + title="Static Cache Time", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, - ) - static_dir: Optional[str] = Field( - None, - title="Static Dir", - description="""Serve static content, which must be enabled if you're not serving it via a + ), + ] = 360 + static_dir: Annotated[ + str, + Field( + title="Static Dir", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, - ) - static_images_dir: Optional[str] = Field( - None, - title="Static Images Dir", - description="""Serve static content, which must be enabled if you're not serving it via a + ), + ] = "static/" + static_images_dir: Annotated[ + str, + Field( + title="Static Images Dir", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, - ) - static_favicon_dir: Optional[str] = Field( - None, - title="Static Favicon Dir", - description="""Serve static content, which must be enabled if you're not serving it via a + ), + ] = "static/images" + static_favicon_dir: Annotated[ + str, + Field( + title="Static Favicon Dir", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, - ) - static_scripts_dir: Optional[str] = Field( - None, - title="Static Scripts Dir", - description="""Serve static content, which must be enabled if you're not serving it via a + ), + ] = "static/favicon.ico" + static_scripts_dir: Annotated[ + str, + Field( + title="Static Scripts Dir", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, - ) - static_style_dir: Optional[str] = Field( - None, - title="Static Style Dir", - description="""Serve static content, which must be enabled if you're not serving it via a + ), + ] = "static/scripts/" + static_style_dir: Annotated[ + str, + Field( + title="Static Style Dir", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, - ) - static_robots_txt: Optional[str] = Field( - None, - title="Static Robots Txt", - description="""Serve static content, which must be enabled if you're not serving it via a + ), + ] = "static/style" + static_robots_txt: Annotated[ + str, + Field( + title="Static Robots Txt", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, - ) - display_chunk_size: Optional[int] = Field( - None, - title="Display Chunk Size", - description="""Incremental Display Options -""", - ) - apache_xsendfile: Optional[bool] = Field( - None, - title="Apache Xsendfile", - description="""For help on configuring the Advanced proxy features, see: + ), + ] = "static/robots.txt" + display_chunk_size: Annotated[ + int, + Field( + title="Display Chunk Size", + description="""Incremental Display Options +""", + ), + ] = 65536 + apache_xsendfile: Annotated[ + bool, + Field( + title="Apache Xsendfile", + description="""For help on configuring the Advanced proxy features, see: https://docs.galaxyproject.org/en/master/admin/production.html Apache can handle file downloads (Galaxy-to-user) via mod_xsendfile. Set this to true to inform Galaxy that mod_xsendfile is enabled upstream. """, - ) - nginx_x_accel_redirect_base: Optional[str] = Field( - None, - title="Nginx X Accel Redirect Base", - description="""The same download handling can be done by nginx using X-Accel-Redirect. This + ), + ] = False + nginx_x_accel_redirect_base: Annotated[ + str, + Field( + title="Nginx X Accel Redirect Base", + description="""The same download handling can be done by nginx using X-Accel-Redirect. This should be set to the path defined in the nginx config as an internal redirect with access to Galaxy's data files (see documentation linked above). """, - ) - upstream_gzip: Optional[bool] = Field( - None, - title="Upstream Gzip", - description="""If using compression in the upstream proxy server, use this option to disable + ), + ] + upstream_gzip: Annotated[ + bool, + Field( + title="Upstream Gzip", + description="""If using compression in the upstream proxy server, use this option to disable gzipping of dataset collection and library archives, since the upstream server will do it faster on the fly. To enable compression add ``application/zip`` to the proxy's compressable mimetypes. """, - ) - upstream_mod_zip: Optional[bool] = Field( - None, - title="Upstream Mod Zip", - description="""If using the mod-zip module in nginx, use this option to assemble + ), + ] = False + upstream_mod_zip: Annotated[ + bool, + Field( + title="Upstream Mod Zip", + description="""If using the mod-zip module in nginx, use this option to assemble zip archives in nginx. This is preferable over the upstream_gzip option as Galaxy does not need to serve the archive. Requires setting up internal nginx locations to all paths that can be archived. See https://docs.galaxyproject.org/en/master/admin/nginx.html#creating-archives-with-mod-zip for details. """, - ) - x_frame_options: Optional[str] = Field( - None, - title="X Frame Options", - description="""The following default adds a header to web request responses that + ), + ] = False + x_frame_options: Annotated[ + str, + Field( + title="X Frame Options", + description="""The following default adds a header to web request responses that will cause modern web browsers to not allow Galaxy to be embedded in the frames of web applications hosted at other hosts - this can help prevent a class of attack called clickjacking @@ -1625,328 +2012,410 @@ class GalaxyConfigModel(Model): to protect your users. Uncomment and leave empty to not set the `X-Frame-Options` header. """, - ) - nginx_upload_store: Optional[str] = Field( - None, - title="Nginx Upload Store", - description="""nginx can also handle file uploads (user-to-Galaxy) via nginx_upload_module. + ), + ] = "SAMEORIGIN" + nginx_upload_store: Annotated[ + str, + Field( + title="Nginx Upload Store", + description="""nginx can also handle file uploads (user-to-Galaxy) via nginx_upload_module. Configuration for this is complex and explained in detail in the documentation linked above. The upload store is a temporary directory in which files uploaded by the upload module will be placed. """, - ) - nginx_upload_path: Optional[str] = Field( - None, - title="Nginx Upload Path", - description="""This value overrides the action set on the file upload form, e.g. the web + ), + ] + nginx_upload_path: Annotated[ + str, + Field( + title="Nginx Upload Path", + description="""This value overrides the action set on the file upload form, e.g. the web path where the nginx_upload_module has been configured to intercept upload requests. """, - ) - nginx_upload_job_files_store: Optional[str] = Field( - None, - title="Nginx Upload Job Files Store", - description="""Galaxy can also use nginx_upload_module to receive files staged out upon job + ), + ] + nginx_upload_job_files_store: Annotated[ + str, + Field( + title="Nginx Upload Job Files Store", + description="""Galaxy can also use nginx_upload_module to receive files staged out upon job completion by remote job runners (i.e. Pulsar) that initiate staging operations on the remote end. See the Galaxy nginx documentation for the corresponding nginx configuration. """, - ) - nginx_upload_job_files_path: Optional[str] = Field( - None, - title="Nginx Upload Job Files Path", - description="""Galaxy can also use nginx_upload_module to receive files staged out upon job + ), + ] + nginx_upload_job_files_path: Annotated[ + str, + Field( + title="Nginx Upload Job Files Path", + description="""Galaxy can also use nginx_upload_module to receive files staged out upon job completion by remote job runners (i.e. Pulsar) that initiate staging operations on the remote end. See the Galaxy nginx documentation for the corresponding nginx configuration. """, - ) - tus_upload_store: Optional[str] = Field( - None, - title="Tus Upload Store", - description="""The upload store is a temporary directory in which files uploaded by the + ), + ] + tus_upload_store: Annotated[ + str, + Field( + title="Tus Upload Store", + description="""The upload store is a temporary directory in which files uploaded by the tus middleware or server will be placed. Defaults to new_file_path if not set. """, - ) - chunk_upload_size: Optional[int] = Field( - None, - title="Chunk Upload Size", - description="""Galaxy can upload user files in chunks without using nginx. Enable the chunk + ), + ] + chunk_upload_size: Annotated[ + int, + Field( + title="Chunk Upload Size", + description="""Galaxy can upload user files in chunks without using nginx. Enable the chunk uploader by specifying a chunk size larger than 0. The chunk size is specified in bytes (default: 10MB). """, - ) - dynamic_proxy_manage: Optional[bool] = Field( - None, - title="Dynamic Proxy Manage", - description="""Have Galaxy manage dynamic proxy component for routing requests to other + ), + ] = 10485760 + dynamic_proxy_manage: Annotated[ + bool, + Field( + title="Dynamic Proxy Manage", + description="""Have Galaxy manage dynamic proxy component for routing requests to other services based on Galaxy's session cookie. It will attempt to do this by default though you do need to install node+npm and do an npm install from `lib/galaxy/web/proxy/js`. It is generally more robust to configure this externally, managing it in the same way Galaxy itself is managed. If true, Galaxy will only launch the proxy if it is actually going to be used (e.g. for Jupyter). """, - ) - dynamic_proxy: Optional[str] = Field( - None, - title="Dynamic Proxy", - description="""As of 16.04 Galaxy supports multiple proxy types. The original NodeJS + ), + ] = True + dynamic_proxy: Annotated[ + str, + Field( + title="Dynamic Proxy", + description="""As of 16.04 Galaxy supports multiple proxy types. The original NodeJS implementation, alongside a new Golang single-binary-no-dependencies version. Valid values are (node, golang) """, - ) - dynamic_proxy_session_map: Optional[str] = Field( - None, - title="Dynamic Proxy Session Map", - description="""The NodeJS dynamic proxy can use an SQLite database or a JSON file for IPC, + ), + ] = "node" + dynamic_proxy_session_map: Annotated[ + str, + Field( + title="Dynamic Proxy Session Map", + description="""The NodeJS dynamic proxy can use an SQLite database or a JSON file for IPC, set that here. """, - ) - dynamic_proxy_bind_port: Optional[int] = Field( - None, - title="Dynamic Proxy Bind Port", - description="""Set the port and IP for the dynamic proxy to bind to, this must match + ), + ] = "session_map.sqlite" + dynamic_proxy_bind_port: Annotated[ + int, + Field( + title="Dynamic Proxy Bind Port", + description="""Set the port and IP for the dynamic proxy to bind to, this must match the external configuration if dynamic_proxy_manage is set to false. """, - ) - dynamic_proxy_bind_ip: Optional[str] = Field( - None, - title="Dynamic Proxy Bind Ip", - description="""Set the port and IP for the dynamic proxy to bind to, this must match + ), + ] = 8800 + dynamic_proxy_bind_ip: Annotated[ + str, + Field( + title="Dynamic Proxy Bind Ip", + description="""Set the port and IP for the dynamic proxy to bind to, this must match the external configuration if dynamic_proxy_manage is set to false. """, - ) - dynamic_proxy_debug: Optional[bool] = Field( - None, - title="Dynamic Proxy Debug", - description="""Enable verbose debugging of Galaxy-managed dynamic proxy. -""", - ) - dynamic_proxy_external_proxy: Optional[bool] = Field( - None, - title="Dynamic Proxy External Proxy", - description="""The dynamic proxy is proxied by an external proxy (e.g. apache frontend to + ), + ] = "0.0.0.0" + dynamic_proxy_debug: Annotated[ + bool, + Field( + title="Dynamic Proxy Debug", + description="""Enable verbose debugging of Galaxy-managed dynamic proxy. +""", + ), + ] = False + dynamic_proxy_external_proxy: Annotated[ + bool, + Field( + title="Dynamic Proxy External Proxy", + description="""The dynamic proxy is proxied by an external proxy (e.g. apache frontend to nodejs to wrap connections in SSL). """, - ) - dynamic_proxy_prefix: Optional[str] = Field( - None, - title="Dynamic Proxy Prefix", - description="""Additionally, when the dynamic proxy is proxied by an upstream server, you'll + ), + ] = False + dynamic_proxy_prefix: Annotated[ + str, + Field( + title="Dynamic Proxy Prefix", + description="""Additionally, when the dynamic proxy is proxied by an upstream server, you'll want to specify a prefixed URL so both Galaxy and the proxy reside under the same path that your cookies are under. This will result in a url like https://FQDN/galaxy-prefix/gie_proxy for proxying """, - ) - dynamic_proxy_golang_noaccess: Optional[int] = Field( - None, - title="Dynamic Proxy Golang Noaccess", - description="""This attribute governs the minimum length of time between consecutive HTTP/WS + ), + ] = "gie_proxy" + dynamic_proxy_golang_noaccess: Annotated[ + int, + Field( + title="Dynamic Proxy Golang Noaccess", + description="""This attribute governs the minimum length of time between consecutive HTTP/WS requests through the proxy, before the proxy considers a container as being inactive and kills it. """, - ) - dynamic_proxy_golang_clean_interval: Optional[int] = Field( - None, - title="Dynamic Proxy Golang Clean Interval", - description="""In order to kill containers, the golang proxy has to check at some interval + ), + ] = 60 + dynamic_proxy_golang_clean_interval: Annotated[ + int, + Field( + title="Dynamic Proxy Golang Clean Interval", + description="""In order to kill containers, the golang proxy has to check at some interval for possibly dead containers. This is exposed as a configurable parameter, but the default value is probably fine. """, - ) - dynamic_proxy_golang_docker_address: Optional[str] = Field( - None, - title="Dynamic Proxy Golang Docker Address", - description="""The golang proxy needs to know how to talk to your docker daemon. Currently + ), + ] = 10 + dynamic_proxy_golang_docker_address: Annotated[ + str, + Field( + title="Dynamic Proxy Golang Docker Address", + description="""The golang proxy needs to know how to talk to your docker daemon. Currently TLS is not supported, that will come in an update. """, - ) - dynamic_proxy_golang_api_key: Optional[str] = Field( - None, - title="Dynamic Proxy Golang Api Key", - description="""The golang proxy uses a RESTful HTTP API for communication with Galaxy + ), + ] = "unix:///var/run/docker.sock" + dynamic_proxy_golang_api_key: Annotated[ + str, + Field( + title="Dynamic Proxy Golang Api Key", + description="""The golang proxy uses a RESTful HTTP API for communication with Galaxy instead of a JSON or SQLite file for IPC. If you do not specify this, it will be set randomly for you. You should set this if you are managing the proxy manually. """, - ) - auto_configure_logging: Optional[bool] = Field( - None, - title="Auto Configure Logging", - description="""If true, Galaxy will attempt to configure a simple root logger if a + ), + ] + auto_configure_logging: Annotated[ + bool, + Field( + title="Auto Configure Logging", + description="""If true, Galaxy will attempt to configure a simple root logger if a "loggers" section does not appear in this configuration file. """, - ) - log_destination: Optional[str] = Field( - None, - title="Log Destination", - description="""Log destination, defaults to special value "stdout" that logs to standard output. If set to anything else, + ), + ] = True + log_destination: Annotated[ + str, + Field( + title="Log Destination", + description="""Log destination, defaults to special value "stdout" that logs to standard output. If set to anything else, then it will be interpreted as a path that will be used as the log file, and logging to stdout will be disabled. """, - ) - log_rotate_size: Optional[str] = Field( - None, - title="Log Rotate Size", - description="""Size of log file at which size it will be rotated as per the documentation in + ), + ] = "stdout" + log_rotate_size: Annotated[ + str, + Field( + title="Log Rotate Size", + description="""Size of log file at which size it will be rotated as per the documentation in https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler If log_rotate_count is not also set, no log rotation will be performed. A value of 0 (the default) means no rotation. Size can be a number of bytes or a human-friendly representation like "100 MB" or "1G". """, - ) - log_rotate_count: Optional[int] = Field( - None, - title="Log Rotate Count", - description="""Number of log file backups to keep, per the documentation in + ), + ] = "0" + log_rotate_count: Annotated[ + int, + Field( + title="Log Rotate Count", + description="""Number of log file backups to keep, per the documentation in https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler Any additional rotated log files will automatically be pruned. If log_rotate_size is not also set, no log rotation will be performed. A value of 0 (the default) means no rotation. """, - ) - log_level: Optional[str] = Field( - None, - title="Log Level", - description="""Verbosity of console log messages. Acceptable values can be found here: + ), + ] = 0 + log_level: Annotated[ + str, + Field( + title="Log Level", + description="""Verbosity of console log messages. Acceptable values can be found here: https://docs.python.org/library/logging.html#logging-levels A custom debug level of "TRACE" is available for even more verbosity. """, - ) - logging: Optional[Dict[str, Any]] = Field( - None, - title="Logging", - description="""Controls where and how the server logs messages. If set, overrides all settings in the log_* configuration + ), + ] = "DEBUG" + logging: Annotated[ + Dict[str, Any], + Field( + title="Logging", + description="""Controls where and how the server logs messages. If set, overrides all settings in the log_* configuration options. Configuration is described in the documentation at: https://docs.galaxyproject.org/en/master/admin/config_logging.html """, - ) - database_engine_option_echo: Optional[bool] = Field( - None, - title="Database Engine Option Echo", - description="""Print database operations to the server log (warning, quite verbose!). -""", - ) - database_engine_option_echo_pool: Optional[bool] = Field( - None, - title="Database Engine Option Echo Pool", - description="""Print database pool operations to the server log (warning, quite verbose!). -""", - ) - log_events: Optional[bool] = Field( - None, - title="Log Events", - description="""Turn on logging of application events and some user events to the database. -""", - ) - log_actions: Optional[bool] = Field( - None, - title="Log Actions", - description="""Turn on logging of user actions to the database. Actions currently logged + ), + ] + database_engine_option_echo: Annotated[ + bool, + Field( + title="Database Engine Option Echo", + description="""Print database operations to the server log (warning, quite verbose!). +""", + ), + ] = False + database_engine_option_echo_pool: Annotated[ + bool, + Field( + title="Database Engine Option Echo Pool", + description="""Print database pool operations to the server log (warning, quite verbose!). +""", + ), + ] = False + log_events: Annotated[ + bool, + Field( + title="Log Events", + description="""Turn on logging of application events and some user events to the database. +""", + ), + ] = False + log_actions: Annotated[ + bool, + Field( + title="Log Actions", + description="""Turn on logging of user actions to the database. Actions currently logged are grid views, tool searches, and use of "recently" used tools menu. The log_events and log_actions functionality will eventually be merged. """, - ) - fluent_log: Optional[bool] = Field( - None, - title="Fluent Log", - description="""Fluentd configuration. Various events can be logged to the fluentd instance + ), + ] = False + fluent_log: Annotated[ + bool, + Field( + title="Fluent Log", + description="""Fluentd configuration. Various events can be logged to the fluentd instance configured below by enabling fluent_log. """, - ) - fluent_host: Optional[str] = Field( - None, - title="Fluent Host", - description="""Fluentd configuration. Various events can be logged to the fluentd instance + ), + ] = False + fluent_host: Annotated[ + str, + Field( + title="Fluent Host", + description="""Fluentd configuration. Various events can be logged to the fluentd instance configured below by enabling fluent_log. """, - ) - fluent_port: Optional[int] = Field( - None, - title="Fluent Port", - description="""Fluentd configuration. Various events can be logged to the fluentd instance + ), + ] = "localhost" + fluent_port: Annotated[ + int, + Field( + title="Fluent Port", + description="""Fluentd configuration. Various events can be logged to the fluentd instance configured below by enabling fluent_log. """, - ) - sanitize_all_html: Optional[bool] = Field( - None, - title="Sanitize All Html", - description="""Sanitize all HTML tool output. By default, all tool output served as + ), + ] = 24224 + sanitize_all_html: Annotated[ + bool, + Field( + title="Sanitize All Html", + description="""Sanitize all HTML tool output. By default, all tool output served as 'text/html' will be sanitized thoroughly. This can be disabled if you have special tools that require unaltered output. WARNING: disabling this does make the Galaxy instance susceptible to XSS attacks initiated by your users. """, - ) - sanitize_allowlist_file: Optional[str] = Field( - None, - title="Sanitize Allowlist File", - description="""Datasets created by tools listed in this file are trusted and will not have + ), + ] = True + sanitize_allowlist_file: Annotated[ + str, + Field( + title="Sanitize Allowlist File", + description="""Datasets created by tools listed in this file are trusted and will not have their HTML sanitized on display. This can be manually edited or manipulated through the Admin control panel -- see "Manage Allowlist" The value of this option will be resolved with respect to . """, - ) - serve_xss_vulnerable_mimetypes: Optional[bool] = Field( - None, - title="Serve Xss Vulnerable Mimetypes", - description="""By default Galaxy will serve non-HTML tool output that may potentially + ), + ] = "sanitize_allowlist.txt" + serve_xss_vulnerable_mimetypes: Annotated[ + bool, + Field( + title="Serve Xss Vulnerable Mimetypes", + description="""By default Galaxy will serve non-HTML tool output that may potentially contain browser executable JavaScript content as plain text. This will for instance cause SVG datasets to not render properly and so may be disabled by setting this option to true. """, - ) - allowed_origin_hostnames: Optional[str] = Field( - None, - title="Allowed Origin Hostnames", - description="""Return a Access-Control-Allow-Origin response header that matches the Origin + ), + ] = False + allowed_origin_hostnames: Annotated[ + str, + Field( + title="Allowed Origin Hostnames", + description="""Return a Access-Control-Allow-Origin response header that matches the Origin header of the request if that Origin hostname matches one of the strings or regular expressions listed here. This is a comma-separated list of hostname strings or regular expressions beginning and ending with /. -E.g. mysite.com,google.com,usegalaxy.org,/^[\w\.]*example\.com/ +E.g. mysite.com,google.com,usegalaxy.org,/^[\\w\\.]*example\\.com/ See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS """, - ) - trust_jupyter_notebook_conversion: Optional[bool] = Field( - None, - title="Trust Jupyter Notebook Conversion", - description="""Set to true to use Jupyter nbconvert to build HTML from Jupyter + ), + ] + trust_jupyter_notebook_conversion: Annotated[ + bool, + Field( + title="Trust Jupyter Notebook Conversion", + description="""Set to true to use Jupyter nbconvert to build HTML from Jupyter notebooks in Galaxy histories. This process may allow users to execute arbitrary code or serve arbitrary HTML. If enabled, Jupyter must be available and on Galaxy's PATH, to do this run `pip install jinja2 pygments jupyter` in Galaxy's virtualenv. """, - ) - debug: Optional[bool] = Field( - None, - title="Debug", - description="""Debug enables access to various config options useful for development + ), + ] = False + debug: Annotated[ + bool, + Field( + title="Debug", + description="""Debug enables access to various config options useful for development and debugging: use_lint, use_profile, and use_printdebug. It also causes the files used by PBS/SGE (submission script, output, and error) to remain on disk after the job is complete. """, - ) - use_lint: Optional[bool] = Field( - None, - title="Use Lint", - description="""Check for WSGI compliance. -""", - ) - use_profile: Optional[bool] = Field( - None, - title="Use Profile", - description="""Run the Python profiler on each request. -""", - ) - use_printdebug: Optional[bool] = Field( - None, - title="Use Printdebug", - description="""Intercept print statements and show them on the returned page. -""", - ) - monitor_thread_join_timeout: Optional[int] = Field( - None, - title="Monitor Thread Join Timeout", - description="""When stopping Galaxy cleanly, how much time to give various monitoring/polling + ), + ] = False + use_lint: Annotated[ + bool, + Field( + title="Use Lint", + description="""Check for WSGI compliance. +""", + ), + ] = False + use_profile: Annotated[ + bool, + Field( + title="Use Profile", + description="""Run the Python profiler on each request. +""", + ), + ] = False + use_printdebug: Annotated[ + bool, + Field( + title="Use Printdebug", + description="""Intercept print statements and show them on the returned page. +""", + ), + ] = True + monitor_thread_join_timeout: Annotated[ + int, + Field( + title="Monitor Thread Join Timeout", + description="""When stopping Galaxy cleanly, how much time to give various monitoring/polling threads to finish before giving up on joining them. Set to 0 to disable this and terminate without waiting. Among others, these threads include the job handler workers, which are responsible for preparing/submitting and collecting/finishing @@ -1954,157 +2423,193 @@ class GalaxyConfigModel(Model): supervisord, consider also increasing the value of `stopwaitsecs`. See the Galaxy Admin Documentation for more. """, - ) - use_heartbeat: Optional[bool] = Field( - None, - title="Use Heartbeat", - description="""Write thread status periodically to 'heartbeat.log', (careful, uses disk + ), + ] = 30 + use_heartbeat: Annotated[ + bool, + Field( + title="Use Heartbeat", + description="""Write thread status periodically to 'heartbeat.log', (careful, uses disk space rapidly!). Useful to determine why your processes may be consuming a lot of CPU. """, - ) - heartbeat_interval: Optional[int] = Field( - None, - title="Heartbeat Interval", - description="""Control the period (in seconds) between dumps. Use -1 to disable. Regardless + ), + ] = False + heartbeat_interval: Annotated[ + int, + Field( + title="Heartbeat Interval", + description="""Control the period (in seconds) between dumps. Use -1 to disable. Regardless of this setting, if use_heartbeat is enabled, you can send a Galaxy process SIGUSR1 (`kill -USR1`) to force a dump. """, - ) - heartbeat_log: Optional[str] = Field( - None, - title="Heartbeat Log", - description="""Heartbeat log filename. Can accept the template variables {server_name} and {pid} -""", - ) - sentry_dsn: Optional[str] = Field( - None, - title="Sentry Dsn", - description="""Log to Sentry + ), + ] = 20 + heartbeat_log: Annotated[ + str, + Field( + title="Heartbeat Log", + description="""Heartbeat log filename. Can accept the template variables {server_name} and {pid} +""", + ), + ] = "heartbeat_{server_name}.log" + sentry_dsn: Annotated[ + str, + Field( + title="Sentry Dsn", + description="""Log to Sentry Sentry is an open source logging and error aggregation platform. Setting sentry_dsn will enable the Sentry middleware and errors will be sent to the indicated sentry instance. This connection string is available in your sentry instance under -> Settings -> API Keys. """, - ) - sentry_event_level: Optional[str] = Field( - None, - title="Sentry Event Level", - description="""Determines the minimum log level that will be sent as an event to Sentry. + ), + ] + sentry_event_level: Annotated[ + str, + Field( + title="Sentry Event Level", + description="""Determines the minimum log level that will be sent as an event to Sentry. Possible values are DEBUG, INFO, WARNING, ERROR or CRITICAL. """, - ) - sentry_traces_sample_rate: Optional[float] = Field( - None, - title="Sentry Traces Sample Rate", - description="""Set to a number between 0 and 1. With this option set, every transaction created + ), + ] = "ERROR" + sentry_traces_sample_rate: Annotated[ + float, + Field( + title="Sentry Traces Sample Rate", + description="""Set to a number between 0 and 1. With this option set, every transaction created will have that percentage chance of being sent to Sentry. A value higher than 0 is required to analyze performance. """, - ) - sentry_ca_certs: Optional[str] = Field( - None, - title="Sentry Ca Certs", - description="""Use this option to provide the path to location of the CA (Certificate Authority) + ), + ] = 0.0 + sentry_ca_certs: Annotated[ + str, + Field( + title="Sentry Ca Certs", + description="""Use this option to provide the path to location of the CA (Certificate Authority) certificate file if the sentry server uses a self-signed certificate. """, - ) - statsd_host: Optional[str] = Field( - None, - title="Statsd Host", - description="""Log to statsd + ), + ] + statsd_host: Annotated[ + str, + Field( + title="Statsd Host", + description="""Log to statsd Statsd is an external statistics aggregator (https://github.com/etsy/statsd) Enabling the following options will cause galaxy to log request timing and other statistics to the configured statsd instance. The statsd_prefix is useful if you are running multiple Galaxy instances and want to segment statistics between them within the same aggregator. """, - ) - statsd_port: Optional[int] = Field( - None, - title="Statsd Port", - description="""Log to statsd + ), + ] + statsd_port: Annotated[ + int, + Field( + title="Statsd Port", + description="""Log to statsd Statsd is an external statistics aggregator (https://github.com/etsy/statsd) Enabling the following options will cause galaxy to log request timing and other statistics to the configured statsd instance. The statsd_prefix is useful if you are running multiple Galaxy instances and want to segment statistics between them within the same aggregator. """, - ) - statsd_prefix: Optional[str] = Field( - None, - title="Statsd Prefix", - description="""Log to statsd + ), + ] = 8125 + statsd_prefix: Annotated[ + str, + Field( + title="Statsd Prefix", + description="""Log to statsd Statsd is an external statistics aggregator (https://github.com/etsy/statsd) Enabling the following options will cause galaxy to log request timing and other statistics to the configured statsd instance. The statsd_prefix is useful if you are running multiple Galaxy instances and want to segment statistics between them within the same aggregator. """, - ) - statsd_influxdb: Optional[bool] = Field( - None, - title="Statsd Influxdb", - description="""If you are using telegraf to collect these metrics and then sending + ), + ] = "galaxy" + statsd_influxdb: Annotated[ + bool, + Field( + title="Statsd Influxdb", + description="""If you are using telegraf to collect these metrics and then sending them to InfluxDB, Galaxy can provide more nicely tagged metrics. Instead of sending prefix + dot-separated-path, Galaxy will send prefix with a tag path set to the page url """, - ) - statsd_mock_calls: Optional[bool] = Field( - None, - title="Statsd Mock Calls", - description="""Mock out statsd client calls - only used by testing infrastructure really. + ), + ] = False + statsd_mock_calls: Annotated[ + bool, + Field( + title="Statsd Mock Calls", + description="""Mock out statsd client calls - only used by testing infrastructure really. Do not set this in production environments. """, - ) - library_import_dir: Optional[str] = Field( - None, - title="Library Import Dir", - description="""Add an option to the library upload form which allows administrators to + ), + ] = False + library_import_dir: Annotated[ + str, + Field( + title="Library Import Dir", + description="""Add an option to the library upload form which allows administrators to upload a directory of files. """, - ) - user_library_import_dir: Optional[str] = Field( - None, - title="User Library Import Dir", - description="""Add an option to the library upload form which allows authorized + ), + ] + user_library_import_dir: Annotated[ + str, + Field( + title="User Library Import Dir", + description="""Add an option to the library upload form which allows authorized non-administrators to upload a directory of files. The configured directory must contain sub-directories named the same as the non-admin user's Galaxy login ( email ). The non-admin user is restricted to uploading files or sub-directories of files contained in their directory. """, - ) - user_library_import_dir_auto_creation: Optional[bool] = Field( - None, - title="User Library Import Dir Auto Creation", - description="""If user_library_import_dir is set, this option will auto create a library + ), + ] + user_library_import_dir_auto_creation: Annotated[ + bool, + Field( + title="User Library Import Dir Auto Creation", + description="""If user_library_import_dir is set, this option will auto create a library import directory for every user (based on their email) upon login. """, - ) - user_library_import_symlink_allowlist: Optional[str] = Field( - None, - title="User Library Import Symlink Allowlist", - description="""For security reasons, users may not import any files that actually lie + ), + ] = False + user_library_import_symlink_allowlist: Annotated[ + str, + Field( + title="User Library Import Symlink Allowlist", + description="""For security reasons, users may not import any files that actually lie outside of their `user_library_import_dir` (e.g. using symbolic links). A list of directories can be allowed by setting the following option (the list is comma-separated). Be aware that *any* user with library import permissions can import from anywhere in these directories (assuming they are able to create symlinks to them). """, - ) - user_library_import_check_permissions: Optional[bool] = Field( - None, - title="User Library Import Check Permissions", - description="""In conjunction or alternatively, Galaxy can restrict user library imports to + ), + ] + user_library_import_check_permissions: Annotated[ + bool, + Field( + title="User Library Import Check Permissions", + description="""In conjunction or alternatively, Galaxy can restrict user library imports to those files that the user can read (by checking basic unix permissions). For this to work, the username has to match the username on the filesystem. """, - ) - allow_path_paste: Optional[bool] = Field( - None, - title="Allow Path Paste", - description="""Allow admins to paste filesystem paths during upload. For libraries this + ), + ] = False + allow_path_paste: Annotated[ + bool, + Field( + title="Allow Path Paste", + description="""Allow admins to paste filesystem paths during upload. For libraries this adds an option to the admin library upload tool allowing admins to paste filesystem paths to files and directories in a box, and these paths will be added to a library. For history uploads, this allows pasting in paths as URIs. @@ -2112,299 +2617,373 @@ class GalaxyConfigModel(Model): implication that this will give Galaxy Admins access to anything your Galaxy user has access to. """, - ) - disable_library_comptypes: Optional[str] = Field( - None, - title="Disable Library Comptypes", - description="""Users may choose to download multiple files from a library in an archive. By + ), + ] = False + disable_library_comptypes: Annotated[ + str, + Field( + title="Disable Library Comptypes", + description="""Users may choose to download multiple files from a library in an archive. By default, Galaxy allows users to select from a few different archive formats if testing shows that Galaxy is able to create files using these formats. Specific formats can be disabled with this option, separate more than one format with commas. Available formats are currently 'zip', 'gz', and 'bz2'. """, - ) - tool_name_boost: Optional[float] = Field( - None, - title="Tool Name Boost", - description="""In tool search, a query match against a tool's name text will receive + ), + ] + tool_name_boost: Annotated[ + float, + Field( + title="Tool Name Boost", + description="""In tool search, a query match against a tool's name text will receive this score multiplier. """, - ) - tool_name_exact_multiplier: Optional[float] = Field( - None, - title="Tool Name Exact Multiplier", - description="""If a search query matches a tool name exactly, the score will be + ), + ] = 20.0 + tool_name_exact_multiplier: Annotated[ + float, + Field( + title="Tool Name Exact Multiplier", + description="""If a search query matches a tool name exactly, the score will be multiplied by this factor. """, - ) - tool_id_boost: Optional[float] = Field( - None, - title="Tool Id Boost", - description="""In tool search, a query match against a tool's ID text will receive + ), + ] = 10.0 + tool_id_boost: Annotated[ + float, + Field( + title="Tool Id Boost", + description="""In tool search, a query match against a tool's ID text will receive this score multiplier. The query must be an exact match against ID in order to be counted as a match. """, - ) - tool_section_boost: Optional[float] = Field( - None, - title="Tool Section Boost", - description="""In tool search, a query match against a tool's section text will + ), + ] = 20.0 + tool_section_boost: Annotated[ + float, + Field( + title="Tool Section Boost", + description="""In tool search, a query match against a tool's section text will receive this score multiplier. """, - ) - tool_description_boost: Optional[float] = Field( - None, - title="Tool Description Boost", - description="""In tool search, a query match against a tool's description text will + ), + ] = 3.0 + tool_description_boost: Annotated[ + float, + Field( + title="Tool Description Boost", + description="""In tool search, a query match against a tool's description text will receive this score multiplier. """, - ) - tool_label_boost: Optional[float] = Field( - None, - title="Tool Label Boost", - description="""In tool search, a query match against a tool's label text will + ), + ] = 8.0 + tool_label_boost: Annotated[ + float, + Field( + title="Tool Label Boost", + description="""In tool search, a query match against a tool's label text will receive this score multiplier. """, - ) - tool_stub_boost: Optional[float] = Field( - None, - title="Tool Stub Boost", - description="""A stub is parsed from the GUID as "owner/repo/tool_id". + ), + ] = 1.0 + tool_stub_boost: Annotated[ + float, + Field( + title="Tool Stub Boost", + description="""A stub is parsed from the GUID as "owner/repo/tool_id". In tool search, a query match against a tool's stub text will receive this score multiplier. """, - ) - tool_help_boost: Optional[float] = Field( - None, - title="Tool Help Boost", - description="""In tool search, a query match against a tool's help text will receive + ), + ] = 2.0 + tool_help_boost: Annotated[ + float, + Field( + title="Tool Help Boost", + description="""In tool search, a query match against a tool's help text will receive this score multiplier. """, - ) - tool_help_bm25f_k1: Optional[float] = Field( - None, - title="Tool Help Bm25F K1", - description="""The lower this parameter, the greater the diminishing reward for + ), + ] = 1.0 + tool_help_bm25f_k1: Annotated[ + float, + Field( + title="Tool Help Bm25F K1", + description="""The lower this parameter, the greater the diminishing reward for term frequency in the help text. A higher K1 increases the level of reward for additional occurences of a term. The default value will provide a slight increase in score for the first, second and third occurrence and little reward thereafter. """, - ) - tool_search_limit: Optional[int] = Field( - None, - title="Tool Search Limit", - description="""Limits the number of results in toolbox search. Use to set the + ), + ] = 0.5 + tool_search_limit: Annotated[ + int, + Field( + title="Tool Search Limit", + description="""Limits the number of results in toolbox search. Use to set the maximum number of tool search results to display. """, - ) - tool_enable_ngram_search: Optional[bool] = Field( - None, - title="Tool Enable Ngram Search", - description="""Disabling this will prevent partial matches on tool names. + ), + ] = 20 + tool_enable_ngram_search: Annotated[ + bool, + Field( + title="Tool Enable Ngram Search", + description="""Disabling this will prevent partial matches on tool names. Enable/disable Ngram-search for tools. It makes tool search results tolerant for spelling mistakes in the query, and will also match query substrings e.g. "genome" will match "genomics" or "metagenome". """, - ) - tool_ngram_minsize: Optional[int] = Field( - None, - title="Tool Ngram Minsize", - description="""Set minimum character length of ngrams -""", - ) - tool_ngram_maxsize: Optional[int] = Field( - None, - title="Tool Ngram Maxsize", - description="""Set maximum character length of ngrams -""", - ) - tool_ngram_factor: Optional[float] = Field( - None, - title="Tool Ngram Factor", - description="""Ngram matched scores will be multiplied by this factor. Should always + ), + ] = True + tool_ngram_minsize: Annotated[ + int, + Field( + title="Tool Ngram Minsize", + description="""Set minimum character length of ngrams +""", + ), + ] = 3 + tool_ngram_maxsize: Annotated[ + int, + Field( + title="Tool Ngram Maxsize", + description="""Set maximum character length of ngrams +""", + ), + ] = 4 + tool_ngram_factor: Annotated[ + float, + Field( + title="Tool Ngram Factor", + description="""Ngram matched scores will be multiplied by this factor. Should always be below 1, because an ngram match is a partial match of a search term. """, - ) - tool_test_data_directories: Optional[str] = Field( - None, - title="Tool Test Data Directories", - description="""Set tool test data directory. The test framework sets this value to + ), + ] = 0.2 + tool_test_data_directories: Annotated[ + str, + Field( + title="Tool Test Data Directories", + description="""Set tool test data directory. The test framework sets this value to 'test-data,https://github.com/galaxyproject/galaxy-test-data.git' which will cause Galaxy to clone down extra test data on the fly for certain tools distributed with Galaxy but this is likely not appropriate for production systems. Instead one can simply clone that repository directly and specify a path here instead of a Git HTTP repository. """, - ) - id_secret: Optional[str] = Field( - None, - title="Id Secret", - description="""Galaxy encodes various internal values when these values will be output in + ), + ] = "test-data" + id_secret: Annotated[ + str, + Field( + title="Id Secret", + description="""Galaxy encodes various internal values when these values will be output in some format (for example, in a URL or cookie). You should set a key to be used by the algorithm that encodes and decodes these values. It can be any string with a length between 5 and 56 bytes. One simple way to generate a value for this is with the shell command: python -c 'from __future__ import print_function; import time; print(time.time())' | md5sum | cut -f 1 -d ' ' """, - ) - use_remote_user: Optional[bool] = Field( - None, - title="Use Remote User", - description="""User authentication can be delegated to an upstream proxy server (usually + ), + ] = "USING THE DEFAULT IS NOT SECURE!" + use_remote_user: Annotated[ + bool, + Field( + title="Use Remote User", + description="""User authentication can be delegated to an upstream proxy server (usually Apache). The upstream proxy should set a REMOTE_USER header in the request. Enabling remote user disables regular logins. For more information, see: https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html """, - ) - remote_user_maildomain: Optional[str] = Field( - None, - title="Remote User Maildomain", - description="""If use_remote_user is enabled and your external authentication + ), + ] = False + remote_user_maildomain: Annotated[ + str, + Field( + title="Remote User Maildomain", + description="""If use_remote_user is enabled and your external authentication method just returns bare usernames, set a default mail domain to be appended to usernames, to become your Galaxy usernames (email addresses). """, - ) - remote_user_header: Optional[str] = Field( - None, - title="Remote User Header", - description="""If use_remote_user is enabled, the header that the upstream proxy provides + ), + ] + remote_user_header: Annotated[ + str, + Field( + title="Remote User Header", + description="""If use_remote_user is enabled, the header that the upstream proxy provides the remote username in defaults to HTTP_REMOTE_USER (the ``HTTP_`` is prepended by WSGI). This option allows you to change the header. Note, you still need to prepend ``HTTP_`` to the header in this option, but your proxy server should *not* include ``HTTP_`` at the beginning of the header name. """, - ) - remote_user_secret: Optional[str] = Field( - None, - title="Remote User Secret", - description="""If use_remote_user is enabled, anyone who can log in to the Galaxy host may + ), + ] = "HTTP_REMOTE_USER" + remote_user_secret: Annotated[ + str, + Field( + title="Remote User Secret", + description="""If use_remote_user is enabled, anyone who can log in to the Galaxy host may impersonate any other user by simply sending the appropriate header. Thus a secret shared between the upstream proxy server, and Galaxy is required. If anyone other than the Galaxy user is using the server, then apache/nginx should pass a value in the header 'GX_SECRET' that is identical to the one below. """, - ) - remote_user_logout_href: Optional[str] = Field( - None, - title="Remote User Logout Href", - description="""If use_remote_user is enabled, you can set this to a URL that will log your + ), + ] = "USING THE DEFAULT IS NOT SECURE!" + remote_user_logout_href: Annotated[ + str, + Field( + title="Remote User Logout Href", + description="""If use_remote_user is enabled, you can set this to a URL that will log your users out. """, - ) - post_user_logout_href: Optional[str] = Field( - None, - title="Post User Logout Href", - description="""This is the default url to which users are redirected after they log out. -""", - ) - normalize_remote_user_email: Optional[bool] = Field( - None, - title="Normalize Remote User Email", - description="""If your proxy and/or authentication source does not normalize e-mail + ), + ] + post_user_logout_href: Annotated[ + str, + Field( + title="Post User Logout Href", + description="""This is the default url to which users are redirected after they log out. +""", + ), + ] = "/root/login?is_logout_redirect=true" + normalize_remote_user_email: Annotated[ + bool, + Field( + title="Normalize Remote User Email", + description="""If your proxy and/or authentication source does not normalize e-mail addresses or user names being passed to Galaxy - set this option to true to force these to lower case. """, - ) - single_user: Optional[str] = Field( - None, - title="Single User", - description="""If an e-mail address is specified here, it will hijack remote user mechanics + ), + ] = False + single_user: Annotated[ + str, + Field( + title="Single User", + description="""If an e-mail address is specified here, it will hijack remote user mechanics (``use_remote_user``) and have the webapp inject a single fixed user. This has the effect of turning Galaxy into a single user application with no login or external proxy required. Such applications should not be exposed to the world. """, - ) - admin_users: Optional[str] = Field( - None, - title="Admin Users", - description="""Administrative users - set this to a comma-separated list of valid Galaxy + ), + ] + admin_users: Annotated[ + str, + Field( + title="Admin Users", + description="""Administrative users - set this to a comma-separated list of valid Galaxy users (email addresses). These users will have access to the Admin section of the server, and will have access to create users, groups, roles, libraries, and more. For more information, see: https://galaxyproject.org/admin/ """, - ) - require_login: Optional[bool] = Field( - None, - title="Require Login", - description="""Force everyone to log in (disable anonymous access). -""", - ) - show_welcome_with_login: Optional[bool] = Field( - None, - title="Show Welcome With Login", - description="""Show the site's welcome page (see welcome_url) alongside the login page + ), + ] + require_login: Annotated[ + bool, + Field( + title="Require Login", + description="""Force everyone to log in (disable anonymous access). +""", + ), + ] = False + show_welcome_with_login: Annotated[ + bool, + Field( + title="Show Welcome With Login", + description="""Show the site's welcome page (see welcome_url) alongside the login page (even if require_login is true). """, - ) - prefer_custos_login: Optional[bool] = Field( - None, - title="Prefer Custos Login", - description="""Controls the order of the login page to prefer Custos-based login and registration. -""", - ) - allow_user_creation: Optional[bool] = Field( - None, - title="Allow User Creation", - description="""Allow unregistered users to create new accounts (otherwise, they will have to + ), + ] = False + prefer_custos_login: Annotated[ + bool, + Field( + title="Prefer Custos Login", + description="""Controls the order of the login page to prefer Custos-based login and registration. +""", + ), + ] = False + allow_user_creation: Annotated[ + bool, + Field( + title="Allow User Creation", + description="""Allow unregistered users to create new accounts (otherwise, they will have to be created by an admin). """, - ) - allow_user_deletion: Optional[bool] = Field( - None, - title="Allow User Deletion", - description="""Allow administrators to delete accounts. -""", - ) - allow_user_impersonation: Optional[bool] = Field( - None, - title="Allow User Impersonation", - description="""Allow administrators to log in as other users (useful for debugging). -""", - ) - show_user_prepopulate_form: Optional[bool] = Field( - None, - title="Show User Prepopulate Form", - description="""When using LDAP for authentication, allow administrators to pre-populate users + ), + ] = True + allow_user_deletion: Annotated[ + bool, + Field( + title="Allow User Deletion", + description="""Allow administrators to delete accounts. +""", + ), + ] = False + allow_user_impersonation: Annotated[ + bool, + Field( + title="Allow User Impersonation", + description="""Allow administrators to log in as other users (useful for debugging). +""", + ), + ] = False + show_user_prepopulate_form: Annotated[ + bool, + Field( + title="Show User Prepopulate Form", + description="""When using LDAP for authentication, allow administrators to pre-populate users using an additional form on 'Create new user' """, - ) - upload_from_form_button: Optional[str] = Field( - None, - title="Upload From Form Button", - description="""If 'always-on', add another button to tool form data inputs that allow uploading + ), + ] = False + upload_from_form_button: Annotated[ + str, + Field( + title="Upload From Form Button", + description="""If 'always-on', add another button to tool form data inputs that allow uploading data from the tool form in fewer clicks (at the expense of making the form more complicated). This applies to workflows as well. Avoiding making this a boolean because we may add options such as 'in-single-form-view' or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109 """, - ) - allow_user_dataset_purge: Optional[bool] = Field( - None, - title="Allow User Dataset Purge", - description="""Allow users to remove their datasets from disk immediately (otherwise, + ), + ] = "always-off" + allow_user_dataset_purge: Annotated[ + bool, + Field( + title="Allow User Dataset Purge", + description="""Allow users to remove their datasets from disk immediately (otherwise, datasets will be removed after a time period specified by an administrator in the cleanup scripts run via cron) """, - ) - new_user_dataset_access_role_default_private: Optional[bool] = Field( - None, - title="New User Dataset Access Role Default Private", - description="""By default, users' data will be public, but setting this to true will cause + ), + ] = True + new_user_dataset_access_role_default_private: Annotated[ + bool, + Field( + title="New User Dataset Access Role Default Private", + description="""By default, users' data will be public, but setting this to true will cause it to be private. Does not affect existing users and data, only ones created after this option is set. Users may still change their default back to public. """, - ) - expose_user_name: Optional[bool] = Field( - None, - title="Expose User Name", - description="""Expose user list. Setting this to true will expose the user list to + ), + ] = False + expose_user_name: Annotated[ + bool, + Field( + title="Expose User Name", + description="""Expose user list. Setting this to true will expose the user list to authenticated users. This makes sharing datasets in smaller galaxy instances much easier as they can type a name/email and have the correct user show up. This makes less sense on large public Galaxy instances where that data @@ -2414,11 +2993,13 @@ class GalaxyConfigModel(Model): If enable_beta_gdpr is set to true, then this option will be overridden and set to false. """, - ) - expose_user_email: Optional[bool] = Field( - None, - title="Expose User Email", - description="""Expose user list. Setting this to true will expose the user list to + ), + ] = False + expose_user_email: Annotated[ + bool, + Field( + title="Expose User Email", + description="""Expose user list. Setting this to true will expose the user list to authenticated users. This makes sharing datasets in smaller galaxy instances much easier as they can type a name/email and have the correct user show up. This makes less sense on large public Galaxy instances where that data @@ -2428,11 +3009,13 @@ class GalaxyConfigModel(Model): If enable_beta_gdpr is set to true, then this option will be overridden and set to false. """, - ) - fetch_url_allowlist: Optional[str] = Field( - None, - title="Fetch Url Allowlist", - description="""List of allowed local network addresses for "Upload from URL" dialog. + ), + ] = False + fetch_url_allowlist: Annotated[ + str, + Field( + title="Fetch Url Allowlist", + description="""List of allowed local network addresses for "Upload from URL" dialog. By default, Galaxy will deny access to the local network address space, to prevent users making requests to services which the administrator did not intend to expose. Previously, you could request any network service that @@ -2440,11 +3023,13 @@ class GalaxyConfigModel(Model): It should be a comma-separated list of IP addresses or IP address/mask, e.g. 10.10.10.10,10.0.1.0/24,fd00::/8 """, - ) - enable_beta_gdpr: Optional[bool] = Field( - None, - title="Enable Beta Gdpr", - description="""Enables GDPR Compliance mode. This makes several changes to the way + ), + ] + enable_beta_gdpr: Annotated[ + bool, + Field( + title="Enable Beta Gdpr", + description="""Enables GDPR Compliance mode. This makes several changes to the way Galaxy logs and exposes data externally such as removing emails and usernames from logs and bug reports. It also causes the delete user admin action to permanently redact their username and password, but @@ -2459,158 +3044,198 @@ class GalaxyConfigModel(Model): Please read the GDPR section under the special topics area of the admin documentation. """, - ) - enable_beta_workflow_modules: Optional[bool] = Field( - None, - title="Enable Beta Workflow Modules", - description="""Enable beta workflow modules that should not yet be considered part of Galaxy's + ), + ] = False + enable_beta_workflow_modules: Annotated[ + bool, + Field( + title="Enable Beta Workflow Modules", + description="""Enable beta workflow modules that should not yet be considered part of Galaxy's stable API. (The module state definitions may change and workflows built using these modules may not function in the future.) """, - ) - edam_panel_views: Optional[str] = Field( - None, - title="Edam Panel Views", - description="""Comma-separated list of the EDAM panel views to load - choose from merged, operations, topics. + ), + ] = False + edam_panel_views: Annotated[ + str, + Field( + title="Edam Panel Views", + description="""Comma-separated list of the EDAM panel views to load - choose from merged, operations, topics. Set to empty string to disable EDAM all together. Set default_panel_view to 'ontology:edam_topics' to override default tool panel to use an EDAM view. """, - ) - edam_toolbox_ontology_path: Optional[str] = Field( - None, - title="Edam Toolbox Ontology Path", - description="""Sets the path to EDAM ontology file - if the path doesn't exist PyPI package data will be loaded. -""", - ) - panel_views_dir: Optional[str] = Field( - None, - title="Panel Views Dir", - description="""Directory to check out for toolbox tool panel views. The path is relative to the + ), + ] = "operations,topics" + edam_toolbox_ontology_path: Annotated[ + str, + Field( + title="Edam Toolbox Ontology Path", + description="""Sets the path to EDAM ontology file - if the path doesn't exist PyPI package data will be loaded. +""", + ), + ] = "EDAM.tsv" + panel_views_dir: Annotated[ + str, + Field( + title="Panel Views Dir", + description="""Directory to check out for toolbox tool panel views. The path is relative to the Galaxy root dir. To use an absolute path begin the path with '/'. This is a comma-separated list. """, - ) - panel_views: Optional[List[Any]] = Field( - None, - title="Panel Views", - description="""Definitions of static toolbox panel views embedded directly in the config instead of reading + ), + ] = "config/plugins/activities" + panel_views: Annotated[ + List[Any], + Field( + title="Panel Views", + description="""Definitions of static toolbox panel views embedded directly in the config instead of reading YAML from directory with panel_views_dir. """, - ) - default_panel_view: Optional[str] = Field( - None, - title="Default Panel View", - description="""Default tool panel view for the current Galaxy configuration. This should refer to an id of + ), + ] + default_panel_view: Annotated[ + str, + Field( + title="Default Panel View", + description="""Default tool panel view for the current Galaxy configuration. This should refer to an id of a panel view defined using the panel_views or panel_views_dir configuration options or an EDAM panel view. The default panel view is simply called `default` and refers to the tool panel state defined by the integrated tool panel. """, - ) - default_workflow_export_format: Optional[str] = Field( - None, - title="Default Workflow Export Format", - description="""Default format for the export of workflows. Possible values are 'ga' + ), + ] = "default" + default_workflow_export_format: Annotated[ + str, + Field( + title="Default Workflow Export Format", + description="""Default format for the export of workflows. Possible values are 'ga' or 'format2'. """, - ) - parallelize_workflow_scheduling_within_histories: Optional[bool] = Field( - None, - title="Parallelize Workflow Scheduling Within Histories", - description="""If multiple job handlers are enabled, allow Galaxy to schedule workflow invocations + ), + ] = "ga" + parallelize_workflow_scheduling_within_histories: Annotated[ + bool, + Field( + title="Parallelize Workflow Scheduling Within Histories", + description="""If multiple job handlers are enabled, allow Galaxy to schedule workflow invocations in multiple handlers simultaneously. This is discouraged because it results in a less predictable order of workflow datasets within in histories. """, - ) - maximum_workflow_invocation_duration: Optional[int] = Field( - None, - title="Maximum Workflow Invocation Duration", - description="""This is the maximum amount of time a workflow invocation may stay in an active + ), + ] = False + maximum_workflow_invocation_duration: Annotated[ + int, + Field( + title="Maximum Workflow Invocation Duration", + description="""This is the maximum amount of time a workflow invocation may stay in an active scheduling state in seconds. Set to -1 to disable this maximum and allow any workflow invocation to schedule indefinitely. The default corresponds to 1 month. """, - ) - maximum_workflow_jobs_per_scheduling_iteration: Optional[int] = Field( - None, - title="Maximum Workflow Jobs Per Scheduling Iteration", - description="""Specify a maximum number of jobs that any given workflow scheduling iteration can create. + ), + ] = 2678400 + maximum_workflow_jobs_per_scheduling_iteration: Annotated[ + int, + Field( + title="Maximum Workflow Jobs Per Scheduling Iteration", + description="""Specify a maximum number of jobs that any given workflow scheduling iteration can create. Set this to a positive integer to prevent large collection jobs in a workflow from preventing other jobs from executing. This may also mitigate memory issues associated with scheduling workflows at the expense of increased total DB traffic because model objects are expunged from the SQL alchemy session between workflow invocation scheduling iterations. Set to -1 to disable any such maximum. """, - ) - flush_per_n_datasets: Optional[int] = Field( - None, - title="Flush Per N Datasets", - description="""Maximum number of datasets to create before flushing created datasets to database. + ), + ] = 1000 + flush_per_n_datasets: Annotated[ + int, + Field( + title="Flush Per N Datasets", + description="""Maximum number of datasets to create before flushing created datasets to database. This affects tools that create many output datasets. Higher values will lead to fewer database flushes and faster execution, but require more memory. Set to -1 to disable creating datasets in batches. """, - ) - max_discovered_files: Optional[int] = Field( - None, - title="Max Discovered Files", - description="""Set this to a positive integer value to limit the number of datasets that can be discovered by + ), + ] = 1000 + max_discovered_files: Annotated[ + int, + Field( + title="Max Discovered Files", + description="""Set this to a positive integer value to limit the number of datasets that can be discovered by a single job. This prevents accidentally creating large numbers of datasets when running tools that create a potentially unlimited number of output datasets, such as tools that split a file into a collection of datasets for each line in an input dataset. """, - ) - history_local_serial_workflow_scheduling: Optional[bool] = Field( - None, - title="History Local Serial Workflow Scheduling", - description="""Force serial scheduling of workflows within the context of a particular history -""", - ) - enable_oidc: Optional[bool] = Field( - None, - title="Enable Oidc", - description="""Enables and disables OpenID Connect (OIDC) support. -""", - ) - oidc_config_file: Optional[str] = Field( - None, - title="Oidc Config File", - description="""Sets the path to OIDC configuration file. -""", - ) - oidc_backends_config_file: Optional[str] = Field( - None, - title="Oidc Backends Config File", - description="""Sets the path to OIDC backends configuration file. -""", - ) - auth_config_file: Optional[str] = Field( - None, - title="Auth Config File", - description="""XML config file that allows the use of different authentication providers + ), + ] = 10000 + history_local_serial_workflow_scheduling: Annotated[ + bool, + Field( + title="History Local Serial Workflow Scheduling", + description="""Force serial scheduling of workflows within the context of a particular history +""", + ), + ] = False + enable_oidc: Annotated[ + bool, + Field( + title="Enable Oidc", + description="""Enables and disables OpenID Connect (OIDC) support. +""", + ), + ] = False + oidc_config_file: Annotated[ + str, + Field( + title="Oidc Config File", + description="""Sets the path to OIDC configuration file. +""", + ), + ] = "oidc_config.xml" + oidc_backends_config_file: Annotated[ + str, + Field( + title="Oidc Backends Config File", + description="""Sets the path to OIDC backends configuration file. +""", + ), + ] = "oidc_backends_config.xml" + auth_config_file: Annotated[ + str, + Field( + title="Auth Config File", + description="""XML config file that allows the use of different authentication providers (e.g. LDAP) instead or in addition to local authentication (.sample is used if default does not exist). """, - ) - api_allow_run_as: Optional[str] = Field( - None, - title="Api Allow Run As", - description="""Optional list of email addresses of API users who can make calls on behalf of + ), + ] = "auth_conf.xml" + api_allow_run_as: Annotated[ + str, + Field( + title="Api Allow Run As", + description="""Optional list of email addresses of API users who can make calls on behalf of other users. """, - ) - bootstrap_admin_api_key: Optional[str] = Field( - None, - title="Bootstrap Admin Api Key", - description="""API key that allows performing some admin actions without actually + ), + ] + bootstrap_admin_api_key: Annotated[ + str, + Field( + title="Bootstrap Admin Api Key", + description="""API key that allows performing some admin actions without actually having a real admin user in the database and config. Only set this if you need to bootstrap Galaxy, in particular to create a real admin user account via API. You should probably not set this on a production server. """, - ) - ga4gh_service_id: Optional[str] = Field( - None, - title="Ga4Gh Service Id", - description="""Service ID for GA4GH services (exposed via the service-info endpoint for the Galaxy DRS API). + ), + ] + ga4gh_service_id: Annotated[ + str, + Field( + title="Ga4Gh Service Id", + description="""Service ID for GA4GH services (exposed via the service-info endpoint for the Galaxy DRS API). If unset, one will be generated using the URL the target API requests are made against. For more information on GA4GH service definitions - check out @@ -2623,33 +3248,39 @@ class GalaxyConfigModel(Model): service "id" (available via the DRS API) for the above configuration value would be org.usegalaxy.drs. """, - ) - ga4gh_service_organization_name: Optional[str] = Field( - None, - title="Ga4Gh Service Organization Name", - description="""Service name for host organization (exposed via the service-info endpoint for the Galaxy DRS API). + ), + ] + ga4gh_service_organization_name: Annotated[ + str, + Field( + title="Ga4Gh Service Organization Name", + description="""Service name for host organization (exposed via the service-info endpoint for the Galaxy DRS API). If unset, one will be generated using ga4gh_service_id. For more information on GA4GH service definitions - check out https://github.com/ga4gh-discovery/ga4gh-service-registry and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml """, - ) - ga4gh_service_organization_url: Optional[str] = Field( - None, - title="Ga4Gh Service Organization Url", - description="""Organization URL for host organization (exposed via the service-info endpoint for the Galaxy DRS API). + ), + ] + ga4gh_service_organization_url: Annotated[ + str, + Field( + title="Ga4Gh Service Organization Url", + description="""Organization URL for host organization (exposed via the service-info endpoint for the Galaxy DRS API). If unset, one will be generated using the URL the target API requests are made against. For more information on GA4GH service definitions - check out https://github.com/ga4gh-discovery/ga4gh-service-registry and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml """, - ) - ga4gh_service_environment: Optional[str] = Field( - None, - title="Ga4Gh Service Environment", - description="""Service environment (exposed via the service-info endpoint for the Galaxy DRS API) for + ), + ] + ga4gh_service_environment: Annotated[ + str, + Field( + title="Ga4Gh Service Environment", + description="""Service environment (exposed via the service-info endpoint for the Galaxy DRS API) for implemented GA4GH services. Suggested values are prod, test, dev, staging. @@ -2658,30 +3289,36 @@ class GalaxyConfigModel(Model): https://github.com/ga4gh-discovery/ga4gh-service-registry and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml """, - ) - enable_tool_tags: Optional[bool] = Field( - None, - title="Enable Tool Tags", - description="""Enable tool tags (associating tools with tags). This has its own option + ), + ] + enable_tool_tags: Annotated[ + bool, + Field( + title="Enable Tool Tags", + description="""Enable tool tags (associating tools with tags). This has its own option since its implementation has a few performance implications on startup for large servers. """, - ) - enable_unique_workflow_defaults: Optional[bool] = Field( - None, - title="Enable Unique Workflow Defaults", - description="""Enable a feature when running workflows. When enabled, default datasets + ), + ] = False + enable_unique_workflow_defaults: Annotated[ + bool, + Field( + title="Enable Unique Workflow Defaults", + description="""Enable a feature when running workflows. When enabled, default datasets are selected for "Set at Runtime" inputs from the history such that the same input will not be selected twice, unless there are more inputs than compatible datasets in the history. When false, the most recently added compatible item in the history will be used for each "Set at Runtime" input, independent of others in the workflow. """, - ) - simplified_workflow_run_ui: Optional[str] = Field( - None, - title="Simplified Workflow Run Ui", - description="""If set to 'off' by default, always use the traditional workflow form that renders + ), + ] = False + simplified_workflow_run_ui: Annotated[ + str, + Field( + title="Simplified Workflow Run Ui", + description="""If set to 'off' by default, always use the traditional workflow form that renders all steps in the GUI and serializes the tool state of all steps during invocation. Set to 'prefer' to default to a simplified workflow UI that only renders the inputs if possible (the workflow must have no disconnected @@ -2689,141 +3326,177 @@ class GalaxyConfigModel(Model): future 'force' may be added an option for Galaskio-style servers that should only render simplified workflows. """, - ) - simplified_workflow_run_ui_target_history: Optional[str] = Field( - None, - title="Simplified Workflow Run Ui Target History", - description="""When the simplified workflow run form is rendered, should the invocation outputs + ), + ] = "prefer" + simplified_workflow_run_ui_target_history: Annotated[ + str, + Field( + title="Simplified Workflow Run Ui Target History", + description="""When the simplified workflow run form is rendered, should the invocation outputs be sent to the 'current' history or a 'new' history. If the user should be presented and option between these - set this to 'prefer_current' or 'prefer_new' to display a runtime setting with the corresponding default. The default is to provide the user this option and default it to the current history (the traditional behavior of Galaxy for years) - this corresponds to the setting 'prefer_current'. """, - ) - simplified_workflow_run_ui_job_cache: Optional[str] = Field( - None, - title="Simplified Workflow Run Ui Job Cache", - description="""When the simplified workflow run form is rendered, should the invocation use job + ), + ] = "prefer_current" + simplified_workflow_run_ui_job_cache: Annotated[ + str, + Field( + title="Simplified Workflow Run Ui Job Cache", + description="""When the simplified workflow run form is rendered, should the invocation use job caching. This isn't a boolean so an option for 'show-selection' can be added later. """, - ) - ftp_upload_site: Optional[str] = Field( - None, - title="Ftp Upload Site", - description="""Enable Galaxy's "Upload via FTP" interface. You'll need to install and + ), + ] = "off" + ftp_upload_site: Annotated[ + str, + Field( + title="Ftp Upload Site", + description="""Enable Galaxy's "Upload via FTP" interface. You'll need to install and configure an FTP server (we've used ProFTPd since it can use Galaxy's database for authentication) and set the following two options. This will be provided to users in the help text as 'log in to the FTP server at '. Thus, it should be the hostname of your FTP server. """, - ) - ftp_upload_dir: Optional[str] = Field( - None, - title="Ftp Upload Dir", - description="""This should point to a directory containing subdirectories matching users' + ), + ] + ftp_upload_dir: Annotated[ + str, + Field( + title="Ftp Upload Dir", + description="""This should point to a directory containing subdirectories matching users' identifier (defaults to e-mail), where Galaxy will look for files. """, - ) - ftp_upload_dir_identifier: Optional[str] = Field( - None, - title="Ftp Upload Dir Identifier", - description="""User attribute to use as subdirectory in calculating default ftp_upload_dir + ), + ] + ftp_upload_dir_identifier: Annotated[ + str, + Field( + title="Ftp Upload Dir Identifier", + description="""User attribute to use as subdirectory in calculating default ftp_upload_dir pattern. By default this will be email so a user's FTP upload directory will be ${ftp_upload_dir}/${user.email}. Can set this to other attributes such as id or username though. """, - ) - ftp_upload_dir_template: Optional[str] = Field( - None, - title="Ftp Upload Dir Template", - description="""Python string template used to determine an FTP upload directory for a + ), + ] = "email" + ftp_upload_dir_template: Annotated[ + str, + Field( + title="Ftp Upload Dir Template", + description="""Python string template used to determine an FTP upload directory for a particular user. Defaults to '${ftp_upload_dir}/${ftp_upload_dir_identifier}'. """, - ) - ftp_upload_purge: Optional[bool] = Field( - None, - title="Ftp Upload Purge", - description="""Set to false to prevent Galaxy from deleting uploaded FTP files + ), + ] + ftp_upload_purge: Annotated[ + bool, + Field( + title="Ftp Upload Purge", + description="""Set to false to prevent Galaxy from deleting uploaded FTP files as it imports them. """, - ) - enable_quotas: Optional[bool] = Field( - None, - title="Enable Quotas", - description="""Enable enforcement of quotas. Quotas can be set from the Admin interface. -""", - ) - expose_dataset_path: Optional[bool] = Field( - None, - title="Expose Dataset Path", - description="""This option allows users to see the full path of datasets via the "View + ), + ] = True + enable_quotas: Annotated[ + bool, + Field( + title="Enable Quotas", + description="""Enable enforcement of quotas. Quotas can be set from the Admin interface. +""", + ), + ] = False + expose_dataset_path: Annotated[ + bool, + Field( + title="Expose Dataset Path", + description="""This option allows users to see the full path of datasets via the "View Details" option in the history. This option also exposes the command line to non-administrative users. Administrators can always see dataset paths. """, - ) - enable_tool_source_display: Optional[bool] = Field( - None, - title="Enable Tool Source Display", - description="""This option allows users to view the tool wrapper source code. This is + ), + ] = False + enable_tool_source_display: Annotated[ + bool, + Field( + title="Enable Tool Source Display", + description="""This option allows users to view the tool wrapper source code. This is safe to enable if you have not hardcoded any secrets in any of the tool wrappers installed on this Galaxy server. If you have only installed tool wrappers from public tool sheds and tools shipped with Galaxy there you can enable this option. """, - ) - job_metrics_config_file: Optional[str] = Field( - None, - title="Job Metrics Config File", - description="""XML config file that contains the job metric collection configuration. -""", - ) - expose_potentially_sensitive_job_metrics: Optional[bool] = Field( - None, - title="Expose Potentially Sensitive Job Metrics", - description="""This option allows users to see the job metrics (except for environment + ), + ] = False + job_metrics_config_file: Annotated[ + str, + Field( + title="Job Metrics Config File", + description="""XML config file that contains the job metric collection configuration. +""", + ), + ] = "job_metrics_conf.xml" + expose_potentially_sensitive_job_metrics: Annotated[ + bool, + Field( + title="Expose Potentially Sensitive Job Metrics", + description="""This option allows users to see the job metrics (except for environment variables). """, - ) - enable_legacy_sample_tracking_api: Optional[bool] = Field( - None, - title="Enable Legacy Sample Tracking Api", - description="""Enable the API for sample tracking -""", - ) - enable_data_manager_user_view: Optional[bool] = Field( - None, - title="Enable Data Manager User View", - description="""Allow non-admin users to view available Data Manager options. -""", - ) - data_manager_config_file: Optional[str] = Field( - None, - title="Data Manager Config File", - description="""File where Data Managers are configured (.sample used if default does not + ), + ] = False + enable_legacy_sample_tracking_api: Annotated[ + bool, + Field( + title="Enable Legacy Sample Tracking Api", + description="""Enable the API for sample tracking +""", + ), + ] = False + enable_data_manager_user_view: Annotated[ + bool, + Field( + title="Enable Data Manager User View", + description="""Allow non-admin users to view available Data Manager options. +""", + ), + ] = False + data_manager_config_file: Annotated[ + str, + Field( + title="Data Manager Config File", + description="""File where Data Managers are configured (.sample used if default does not exist). """, - ) - shed_data_manager_config_file: Optional[str] = Field( - None, - title="Shed Data Manager Config File", - description="""File where Tool Shed based Data Managers are configured. This file will be created + ), + ] = "data_manager_conf.xml" + shed_data_manager_config_file: Annotated[ + str, + Field( + title="Shed Data Manager Config File", + description="""File where Tool Shed based Data Managers are configured. This file will be created automatically upon data manager installation. """, - ) - galaxy_data_manager_data_path: Optional[str] = Field( - None, - title="Galaxy Data Manager Data Path", - description="""Directory to store Data Manager based tool-data. Defaults to the value of the + ), + ] = "shed_data_manager_conf.xml" + galaxy_data_manager_data_path: Annotated[ + str, + Field( + title="Galaxy Data Manager Data Path", + description="""Directory to store Data Manager based tool-data. Defaults to the value of the option. """, - ) - job_config_file: Optional[str] = Field( - None, - title="Job Config File", - description="""To increase performance of job execution and the web interface, you can + ), + ] + job_config_file: Annotated[ + str, + Field( + title="Job Config File", + description="""To increase performance of job execution and the web interface, you can separate Galaxy into multiple processes. There are more than one way to do this, and they are explained in detail in the documentation: @@ -2834,16 +3507,20 @@ class GalaxyConfigModel(Model): the system on which Galaxy is started. Advanced job running capabilities can be configured through the job configuration file or the option. """, - ) - job_config: Optional[Dict[str, Any]] = Field( - None, - title="Job Config", - description="""Description of job running configuration, can be embedded into Galaxy configuration or loaded from an additional file with the job_config_file option.""", - ) - dependency_resolvers: Optional[List[Any]] = Field( - None, - title="Dependency Resolvers", - description="""Rather than specifying a dependency_resolvers_config_file, the definition of the + ), + ] = "job_conf.yml" + job_config: Annotated[ + Dict[str, Any], + Field( + title="Job Config", + description="""Description of job running configuration, can be embedded into Galaxy configuration or loaded from an additional file with the job_config_file option.""", + ), + ] + dependency_resolvers: Annotated[ + List[Any], + Field( + title="Dependency Resolvers", + description="""Rather than specifying a dependency_resolvers_config_file, the definition of the resolvers to enable can be embedded into Galaxy's config with this option. This has no effect if a dependency_resolvers_config_file is used. @@ -2852,20 +3529,24 @@ class GalaxyConfigModel(Model): https://docs.galaxyproject.org/en/master/admin/dependency_resolvers.html """, - ) - dependency_resolution: Optional[Dict[str, Any]] = Field( - None, - title="Dependency Resolution", - description="""Alternative representation of various dependency resolution parameters. Takes the + ), + ] + dependency_resolution: Annotated[ + Dict[str, Any], + Field( + title="Dependency Resolution", + description="""Alternative representation of various dependency resolution parameters. Takes the dictified version of a DependencyManager object - so this is ideal for automating the configuration of dependency resolution from one application that uses a DependencyManager to another. """, - ) - default_job_resubmission_condition: Optional[str] = Field( - None, - title="Default Job Resubmission Condition", - description="""When jobs fail due to job runner problems, Galaxy can be configured to retry + ), + ] + default_job_resubmission_condition: Annotated[ + str, + Field( + title="Default Job Resubmission Condition", + description="""When jobs fail due to job runner problems, Galaxy can be configured to retry these or reroute the jobs to new destinations. Very fine control of this is available with resubmit declarations in the job config. For simple deployments of Galaxy though, the following attribute can define resubmission conditions @@ -2878,64 +3559,78 @@ class GalaxyConfigModel(Model): commented out default below results in no default job resubmission condition, failing jobs are just failed outright. """, - ) - track_jobs_in_database: Optional[bool] = Field( - None, - title="Track Jobs In Database", - description="""This option is deprecated, use the `mem-self` handler assignment option in the + ), + ] + track_jobs_in_database: Annotated[ + bool, + Field( + title="Track Jobs In Database", + description="""This option is deprecated, use the `mem-self` handler assignment option in the job configuration instead. """, - ) - use_tasked_jobs: Optional[bool] = Field( - None, - title="Use Tasked Jobs", - description="""This enables splitting of jobs into tasks, if specified by the particular tool + ), + ] = True + use_tasked_jobs: Annotated[ + bool, + Field( + title="Use Tasked Jobs", + description="""This enables splitting of jobs into tasks, if specified by the particular tool config. This is a new feature and not recommended for production servers yet. """, - ) - local_task_queue_workers: Optional[int] = Field( - None, - title="Local Task Queue Workers", - description="""This enables splitting of jobs into tasks, if specified by the particular tool + ), + ] = False + local_task_queue_workers: Annotated[ + int, + Field( + title="Local Task Queue Workers", + description="""This enables splitting of jobs into tasks, if specified by the particular tool config. This is a new feature and not recommended for production servers yet. """, - ) - job_handler_monitor_sleep: Optional[float] = Field( - None, - title="Job Handler Monitor Sleep", - description="""Each Galaxy job handler process runs one thread responsible for discovering jobs and + ), + ] = 2 + job_handler_monitor_sleep: Annotated[ + float, + Field( + title="Job Handler Monitor Sleep", + description="""Each Galaxy job handler process runs one thread responsible for discovering jobs and dispatching them to runners. This thread operates in a loop and sleeps for the given number of seconds at the end of each iteration. This can be decreased if extremely high job throughput is necessary, but doing so can increase CPU usage of handler processes. Float values are allowed. """, - ) - job_runner_monitor_sleep: Optional[float] = Field( - None, - title="Job Runner Monitor Sleep", - description="""Each Galaxy job handler process runs one thread per job runner plugin responsible for + ), + ] = 1.0 + job_runner_monitor_sleep: Annotated[ + float, + Field( + title="Job Runner Monitor Sleep", + description="""Each Galaxy job handler process runs one thread per job runner plugin responsible for checking the state of queued and running jobs. This thread operates in a loop and sleeps for the given number of seconds at the end of each iteration. This can be decreased if extremely high job throughput is necessary, but doing so can increase CPU usage of handler processes. Float values are allowed. """, - ) - workflow_monitor_sleep: Optional[float] = Field( - None, - title="Workflow Monitor Sleep", - description="""Each Galaxy workflow handler process runs one thread responsible for + ), + ] = 1.0 + workflow_monitor_sleep: Annotated[ + float, + Field( + title="Workflow Monitor Sleep", + description="""Each Galaxy workflow handler process runs one thread responsible for checking the state of active workflow invocations. This thread operates in a loop and sleeps for the given number of seconds at the end of each iteration. This can be decreased if extremely high job throughput is necessary, but doing so can increase CPU usage of handler processes. Float values are allowed. """, - ) - metadata_strategy: Optional[str] = Field( - None, - title="Metadata Strategy", - description="""Determines how metadata will be set. Valid values are `directory`, `extended`, + ), + ] = 1.0 + metadata_strategy: Annotated[ + str, + Field( + title="Metadata Strategy", + description="""Determines how metadata will be set. Valid values are `directory`, `extended`, `directory_celery` and `extended_celery`. In extended mode jobs will decide if a tool run failed, the object stores configuration is serialized and made available to the job and is used for @@ -2944,31 +3639,37 @@ class GalaxyConfigModel(Model): etc) happens as part of the job. In `directory_celery` and `extended_celery` metadata will be set within a celery task. """, - ) - retry_metadata_internally: Optional[bool] = Field( - None, - title="Retry Metadata Internally", - description="""Although it is fairly reliable, setting metadata can occasionally fail. In + ), + ] = "directory" + retry_metadata_internally: Annotated[ + bool, + Field( + title="Retry Metadata Internally", + description="""Although it is fairly reliable, setting metadata can occasionally fail. In these instances, you can choose to retry setting it internally or leave it in a failed state (since retrying internally may cause the Galaxy process to be unresponsive). If this option is set to false, the user will be given the option to retry externally, or set metadata manually (when possible). """, - ) - max_metadata_value_size: Optional[int] = Field( - None, - title="Max Metadata Value Size", - description="""Very large metadata values can cause Galaxy crashes. This will allow + ), + ] = True + max_metadata_value_size: Annotated[ + int, + Field( + title="Max Metadata Value Size", + description="""Very large metadata values can cause Galaxy crashes. This will allow limiting the maximum metadata key size (in bytes used in memory, not the end result database value size) Galaxy will attempt to save with a dataset. Use 0 to disable this feature. The default is 5MB, but as low as 1MB seems to be a reasonable size. """, - ) - outputs_to_working_directory: Optional[bool] = Field( - None, - title="Outputs To Working Directory", - description="""This option will override tool output paths to write outputs to the job + ), + ] = 5242880 + outputs_to_working_directory: Annotated[ + bool, + Field( + title="Outputs To Working Directory", + description="""This option will override tool output paths to write outputs to the job working directory (instead of to the file_path) and the job manager will move the outputs to their proper place in the dataset directory on the Galaxy server after the job completes. This is necessary (for example) if jobs run @@ -2976,32 +3677,38 @@ class GalaxyConfigModel(Model): if the filesystem is mounted read-only or the jobs are run by a different user than the galaxy user). """, - ) - retry_job_output_collection: Optional[int] = Field( - None, - title="Retry Job Output Collection", - description="""If your network filesystem's caching prevents the Galaxy server from seeing + ), + ] = False + retry_job_output_collection: Annotated[ + int, + Field( + title="Retry Job Output Collection", + description="""If your network filesystem's caching prevents the Galaxy server from seeing the job's stdout and stderr files when it completes, you can retry reading these files. The job runner will retry the number of times specified below, waiting 1 second between tries. For NFS, you may want to try the -noac mount option (Linux) or -actimeo=0 (Solaris). """, - ) - tool_evaluation_strategy: Optional[str] = Field( - None, - title="Tool Evaluation Strategy", - description="""Determines which process will evaluate the tool command line. If set to "local" the tool command + ), + ] = 0 + tool_evaluation_strategy: Annotated[ + str, + Field( + title="Tool Evaluation Strategy", + description="""Determines which process will evaluate the tool command line. If set to "local" the tool command line, configuration files and other dynamic values will be templated in the job handler process. If set to ``remote`` the tool command line will be built as part of the submitted job. Note that ``remote`` is a beta setting that will be useful for materializing deferred datasets as part of the submitted job. Note also that you have to set ``metadata_strategy`` to ``extended`` if you set this option to ``remote``. """, - ) - preserve_python_environment: Optional[str] = Field( - None, - title="Preserve Python Environment", - description="""In the past Galaxy would preserve its Python environment when running jobs ( + ), + ] = "local" + preserve_python_environment: Annotated[ + str, + Field( + title="Preserve Python Environment", + description="""In the past Galaxy would preserve its Python environment when running jobs ( and still does for internal tools packaged with Galaxy). This behavior exposes Galaxy internals to tools and could result in problems when activating Python environments for tools (such as with Conda packaging). The default @@ -3012,52 +3719,62 @@ class GalaxyConfigModel(Model): tools and locally managed tools (this might be useful for instance if you are installing software into Galaxy's virtualenv for tool development). """, - ) - cleanup_job: Optional[str] = Field( - None, - title="Cleanup Job", - description="""Clean up various bits of jobs left on the filesystem after completion. These + ), + ] = "legacy_only" + cleanup_job: Annotated[ + str, + Field( + title="Cleanup Job", + description="""Clean up various bits of jobs left on the filesystem after completion. These bits include the job working directory, external metadata temporary files, and DRM stdout and stderr files (if using a DRM). Possible values are: always, onsuccess, never """, - ) - drmaa_external_runjob_script: Optional[str] = Field( - None, - title="Drmaa External Runjob Script", - description="""When running DRMAA jobs as the Galaxy user + ), + ] = "always" + drmaa_external_runjob_script: Annotated[ + str, + Field( + title="Drmaa External Runjob Script", + description="""When running DRMAA jobs as the Galaxy user (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) this script is used to run the job script Galaxy generates for a tool execution. Example value 'sudo -E scripts/drmaa_external_runner.py --assign_all_groups' """, - ) - drmaa_external_killjob_script: Optional[str] = Field( - None, - title="Drmaa External Killjob Script", - description="""When running DRMAA jobs as the Galaxy user + ), + ] + drmaa_external_killjob_script: Annotated[ + str, + Field( + title="Drmaa External Killjob Script", + description="""When running DRMAA jobs as the Galaxy user (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) this script is used to kill such jobs by Galaxy (e.g. if the user cancels the job). Example value 'sudo -E scripts/drmaa_external_killer.py' """, - ) - external_chown_script: Optional[str] = Field( - None, - title="External Chown Script", - description="""When running DRMAA jobs as the Galaxy user + ), + ] + external_chown_script: Annotated[ + str, + Field( + title="External Chown Script", + description="""When running DRMAA jobs as the Galaxy user (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) this script is used transfer permissions back and forth between the Galaxy user and the user that is running the job. Example value 'sudo -E scripts/external_chown_script.py' """, - ) - real_system_username: Optional[str] = Field( - None, - title="Real System Username", - description="""When running DRMAA jobs as the Galaxy user + ), + ] + real_system_username: Annotated[ + str, + Field( + title="Real System Username", + description="""When running DRMAA jobs as the Galaxy user (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) Galaxy can extract the user name from the email address (actually the local-part before the @) or the username which are both stored in the Galaxy data base. @@ -3068,11 +3785,13 @@ class GalaxyConfigModel(Model): running the galaxy system. Possible values are user_email (default), username or """, - ) - environment_setup_file: Optional[str] = Field( - None, - title="Environment Setup File", - description="""File to source to set up the environment when running jobs. By default, the + ), + ] = "user_email" + environment_setup_file: Annotated[ + str, + Field( + title="Environment Setup File", + description="""File to source to set up the environment when running jobs. By default, the environment in which the Galaxy server starts is used when running jobs locally, and the environment set up per the DRM's submission method and policy is used when running jobs on a cluster (try testing with `qsub` on the @@ -3082,100 +3801,126 @@ class GalaxyConfigModel(Model): the actual user, to remove the need to configure each user's environment individually. """, - ) - enable_beta_markdown_export: Optional[bool] = Field( - None, - title="Enable Beta Markdown Export", - description="""Enable export of Galaxy Markdown documents (pages and workflow reports) + ), + ] + enable_beta_markdown_export: Annotated[ + bool, + Field( + title="Enable Beta Markdown Export", + description="""Enable export of Galaxy Markdown documents (pages and workflow reports) to PDF. Requires manual installation and setup of weasyprint (latest version available for Python 2.7 is 0.42). """, - ) - markdown_export_css: Optional[str] = Field( - None, - title="Markdown Export Css", - description="""CSS file to apply to all Markdown exports to PDF - currently used by + ), + ] = False + markdown_export_css: Annotated[ + str, + Field( + title="Markdown Export Css", + description="""CSS file to apply to all Markdown exports to PDF - currently used by WeasyPrint during rendering an HTML export of the document to PDF. """, - ) - markdown_export_css_pages: Optional[str] = Field( - None, - title="Markdown Export Css Pages", - description="""CSS file to apply to "Galaxy Page" exports to PDF. Generally prefer + ), + ] = "markdown_export.css" + markdown_export_css_pages: Annotated[ + str, + Field( + title="Markdown Export Css Pages", + description="""CSS file to apply to "Galaxy Page" exports to PDF. Generally prefer markdown_export_css, but this is here for deployments that would like to tailor different kinds of exports. """, - ) - markdown_export_css_invocation_reports: Optional[str] = Field( - None, - title="Markdown Export Css Invocation Reports", - description="""CSS file to apply to invocation report exports to PDF. Generally prefer + ), + ] = "markdown_export_pages.css" + markdown_export_css_invocation_reports: Annotated[ + str, + Field( + title="Markdown Export Css Invocation Reports", + description="""CSS file to apply to invocation report exports to PDF. Generally prefer markdown_export_css, but this is here for deployments that would like to tailor different kinds of exports. """, - ) - markdown_export_prologue: Optional[str] = Field( - None, - title="Markdown Export Prologue", - description="""Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing + ), + ] = "markdown_export_invocation_reports.css" + markdown_export_prologue: Annotated[ + str, + Field( + title="Markdown Export Prologue", + description="""Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing branded headers. """, - ) - markdown_export_epilogue: Optional[str] = Field( - None, - title="Markdown Export Epilogue", - description="""Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing + ), + ] = "" + markdown_export_epilogue: Annotated[ + str, + Field( + title="Markdown Export Epilogue", + description="""Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing branded footers. """, - ) - markdown_export_prologue_pages: Optional[str] = Field( - None, - title="Markdown Export Prologue Pages", - description="""Alternative to markdown_export_prologue that applies just to page exports. -""", - ) - markdown_export_prologue_invocation_reports: Optional[str] = Field( - None, - title="Markdown Export Prologue Invocation Reports", - description="""Alternative to markdown_export_prologue that applies just to invocation report + ), + ] = "" + markdown_export_prologue_pages: Annotated[ + str, + Field( + title="Markdown Export Prologue Pages", + description="""Alternative to markdown_export_prologue that applies just to page exports. +""", + ), + ] = "" + markdown_export_prologue_invocation_reports: Annotated[ + str, + Field( + title="Markdown Export Prologue Invocation Reports", + description="""Alternative to markdown_export_prologue that applies just to invocation report exports. """, - ) - markdown_export_epilogue_pages: Optional[str] = Field( - None, - title="Markdown Export Epilogue Pages", - description="""Alternative to markdown_export_epilogue that applies just to page exports. -""", - ) - markdown_export_epilogue_invocation_reports: Optional[str] = Field( - None, - title="Markdown Export Epilogue Invocation Reports", - description="""Alternative to markdown_export_epilogue that applies just to invocation report + ), + ] = "" + markdown_export_epilogue_pages: Annotated[ + str, + Field( + title="Markdown Export Epilogue Pages", + description="""Alternative to markdown_export_epilogue that applies just to page exports. +""", + ), + ] = "" + markdown_export_epilogue_invocation_reports: Annotated[ + str, + Field( + title="Markdown Export Epilogue Invocation Reports", + description="""Alternative to markdown_export_epilogue that applies just to invocation report exports. """, - ) - job_resource_params_file: Optional[str] = Field( - None, - title="Job Resource Params File", - description="""Optional file containing job resource data entry fields definition. + ), + ] = "" + job_resource_params_file: Annotated[ + str, + Field( + title="Job Resource Params File", + description="""Optional file containing job resource data entry fields definition. These fields will be presented to users in the tool forms and allow them to overwrite default job resources such as number of processors, memory and walltime. """, - ) - workflow_resource_params_file: Optional[str] = Field( - None, - title="Workflow Resource Params File", - description="""Similar to the above parameter, workflows can describe parameters used to + ), + ] = "job_resource_params_conf.xml" + workflow_resource_params_file: Annotated[ + str, + Field( + title="Workflow Resource Params File", + description="""Similar to the above parameter, workflows can describe parameters used to influence scheduling of jobs within the workflow. This requires both a description of the fields available (which defaults to the definitions in job_resource_params_file if not set). """, - ) - workflow_resource_params_mapper: Optional[str] = Field( - None, - title="Workflow Resource Params Mapper", - description="""This parameter describes how to map users and workflows to a set of workflow + ), + ] = "workflow_resource_params_conf.xml" + workflow_resource_params_mapper: Annotated[ + str, + Field( + title="Workflow Resource Params Mapper", + description="""This parameter describes how to map users and workflows to a set of workflow resource parameter to present (typically input IDs from workflow_resource_params_file). If this this is a function reference it will be passed various inputs (workflow model object and user) and it should produce a list of input IDs. If it is a path @@ -3185,18 +3930,22 @@ class GalaxyConfigModel(Model): Sample default path 'config/workflow_resource_mapper_conf.yml.sample' """, - ) - workflow_schedulers_config_file: Optional[str] = Field( - None, - title="Workflow Schedulers Config File", - description="""Optional configuration file similar to `job_config_file` to specify + ), + ] + workflow_schedulers_config_file: Annotated[ + str, + Field( + title="Workflow Schedulers Config File", + description="""Optional configuration file similar to `job_config_file` to specify which Galaxy processes should schedule workflows. """, - ) - cache_user_job_count: Optional[bool] = Field( - None, - title="Cache User Job Count", - description="""If using job concurrency limits (configured in job_config_file), several + ), + ] = "workflow_schedulers_conf.xml" + cache_user_job_count: Annotated[ + bool, + Field( + title="Cache User Job Count", + description="""If using job concurrency limits (configured in job_config_file), several extra database queries must be performed to determine the number of jobs a user has dispatched to a given destination. By default, these queries will happen for every job that is waiting to run, but if cache_user_job_count is @@ -3205,69 +3954,87 @@ class GalaxyConfigModel(Model): greater possibility that jobs will be dispatched past the configured limits if running many handlers. """, - ) - toolbox_auto_sort: Optional[bool] = Field( - None, - title="Toolbox Auto Sort", - description="""If true, the toolbox will be sorted by tool id when the toolbox is loaded. + ), + ] = False + toolbox_auto_sort: Annotated[ + bool, + Field( + title="Toolbox Auto Sort", + description="""If true, the toolbox will be sorted by tool id when the toolbox is loaded. This is useful for ensuring that tools are always displayed in the same order in the UI. If false, the order of tools in the toolbox will be preserved as they are loaded from the tool config files. """, - ) - tool_filters: Optional[str] = Field( - None, - title="Tool Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + ), + ] = True + tool_filters: Annotated[ + str, + Field( + title="Tool Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that admins may use to restrict the tools to display. """, - ) - tool_label_filters: Optional[str] = Field( - None, - title="Tool Label Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + ), + ] + tool_label_filters: Annotated[ + str, + Field( + title="Tool Label Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that admins may use to restrict the tool labels to display. """, - ) - tool_section_filters: Optional[str] = Field( - None, - title="Tool Section Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + ), + ] + tool_section_filters: Annotated[ + str, + Field( + title="Tool Section Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that admins may use to restrict the tool sections to display. """, - ) - user_tool_filters: Optional[str] = Field( - None, - title="User Tool Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + ), + ] + user_tool_filters: Annotated[ + str, + Field( + title="User Tool Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that users may use to restrict the tools to display. """, - ) - user_tool_section_filters: Optional[str] = Field( - None, - title="User Tool Section Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + ), + ] = "examples:restrict_upload_to_admins, examples:restrict_encode" + user_tool_section_filters: Annotated[ + str, + Field( + title="User Tool Section Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that users may use to restrict the tool sections to display. """, - ) - user_tool_label_filters: Optional[str] = Field( - None, - title="User Tool Label Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) + ), + ] = "examples:restrict_text" + user_tool_label_filters: Annotated[ + str, + Field( + title="User Tool Label Filters", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that users may use to restrict the tool labels to display. """, - ) - toolbox_filter_base_modules: Optional[str] = Field( - None, - title="Toolbox Filter Base Modules", - description="""The base module(s) that are searched for modules for toolbox filtering + ), + ] = "examples:restrict_upload_to_admins, examples:restrict_encode" + toolbox_filter_base_modules: Annotated[ + str, + Field( + title="Toolbox Filter Base Modules", + description="""The base module(s) that are searched for modules for toolbox filtering (https://galaxyproject.org/user-defined-toolbox-filters/) functions. """, - ) - amqp_internal_connection: Optional[str] = Field( - None, - title="Amqp Internal Connection", - description="""Galaxy uses AMQP internally for communicating between processes. For + ), + ] = "galaxy.tools.filters,galaxy.tools.toolbox.filters,galaxy.tool_util.toolbox.filters" + amqp_internal_connection: Annotated[ + str, + Field( + title="Amqp Internal Connection", + description="""Galaxy uses AMQP internally for communicating between processes. For example, when reloading the toolbox or locking job execution, the process that handled that particular request will tell all others to also reload, lock jobs, etc. @@ -3278,11 +4045,13 @@ class GalaxyConfigModel(Model): will automatically create and use a separate sqlite database located in your /database folder (indicated in the commented out line below). """, - ) - celery_conf: Optional[Any] = Field( - None, - title="Celery Conf", - description="""Configuration options passed to Celery. + ), + ] = "sqlalchemy+sqlite:///./database/control.sqlite?isolation_level=IMMEDIATE" + celery_conf: Annotated[ + Any, + Field( + title="Celery Conf", + description="""Configuration options passed to Celery. To refer to a task by name, use the template `galaxy.foo` where `foo` is the function name of the task defined in the galaxy.celery.tasks module. @@ -3295,143 +4064,181 @@ class GalaxyConfigModel(Model): For details, see Celery documentation at https://docs.celeryq.dev/en/stable/userguide/configuration.html. """, - ) - enable_celery_tasks: Optional[bool] = Field( - None, - title="Enable Celery Tasks", - description="""Offload long-running tasks to a Celery task queue. + ), + ] = {"task_routes": {"galaxy.fetch_data": "galaxy.external", "galaxy.set_job_metadata": "galaxy.external"}} + enable_celery_tasks: Annotated[ + bool, + Field( + title="Enable Celery Tasks", + description="""Offload long-running tasks to a Celery task queue. Activate this only if you have setup a Celery worker for Galaxy. For details, see https://docs.galaxyproject.org/en/master/admin/production.html """, - ) - celery_user_rate_limit: Optional[float] = Field( - None, - title="Celery User Rate Limit", - description="""If set to a non-0 value, upper limit on number of + ), + ] = False + celery_user_rate_limit: Annotated[ + float, + Field( + title="Celery User Rate Limit", + description="""If set to a non-0 value, upper limit on number of tasks that can be executed per user per second. """, - ) - use_pbkdf2: Optional[bool] = Field( - None, - title="Use Pbkdf2", - description="""Allow disabling pbkdf2 hashing of passwords for legacy situations. + ), + ] = 0.0 + use_pbkdf2: Annotated[ + bool, + Field( + title="Use Pbkdf2", + description="""Allow disabling pbkdf2 hashing of passwords for legacy situations. This should normally be left enabled unless there is a specific reason to disable it. """, - ) - cookie_domain: Optional[str] = Field( - None, - title="Cookie Domain", - description="""Tell Galaxy that multiple domains sharing the same root are associated + ), + ] = True + cookie_domain: Annotated[ + str, + Field( + title="Cookie Domain", + description="""Tell Galaxy that multiple domains sharing the same root are associated to this instance and wants to share the same session cookie. This allow a user to stay logged in when passing from one subdomain to the other. This root domain will be written in the unique session cookie shared by all subdomains. """, - ) - select_type_workflow_threshold: Optional[int] = Field( - None, - title="Select Type Workflow Threshold", - description="""Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) + ), + ] + select_type_workflow_threshold: Annotated[ + int, + Field( + title="Select Type Workflow Threshold", + description="""Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. use 0 in order to always use select2 fields, use -1 (default) in order to always use the regular select fields, use any other positive number as threshold (above threshold: regular select fields will be used) """, - ) - enable_tool_recommendations: Optional[bool] = Field( - None, - title="Enable Tool Recommendations", - description="""Allow the display of tool recommendations in workflow editor and after tool execution. + ), + ] = -1 + enable_tool_recommendations: Annotated[ + bool, + Field( + title="Enable Tool Recommendations", + description="""Allow the display of tool recommendations in workflow editor and after tool execution. If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well """, - ) - tool_recommendation_model_path: Optional[str] = Field( - None, - title="Tool Recommendation Model Path", - description="""Set remote path of the trained model (HDF5 file) for tool recommendation. -""", - ) - topk_recommendations: Optional[int] = Field( - None, - title="Topk Recommendations", - description="""Set the number of predictions/recommendations to be made by the model -""", - ) - admin_tool_recommendations_path: Optional[str] = Field( - None, - title="Admin Tool Recommendations Path", - description="""Set path to the additional tool preferences from Galaxy admins. + ), + ] = False + tool_recommendation_model_path: Annotated[ + str, + Field( + title="Tool Recommendation Model Path", + description="""Set remote path of the trained model (HDF5 file) for tool recommendation. +""", + ), + ] = "https://github.com/galaxyproject/galaxy-test-data/raw/master/tool_recommendation_model_v_0.2.hdf5" + topk_recommendations: Annotated[ + int, + Field( + title="Topk Recommendations", + description="""Set the number of predictions/recommendations to be made by the model +""", + ), + ] = 20 + admin_tool_recommendations_path: Annotated[ + str, + Field( + title="Admin Tool Recommendations Path", + description="""Set path to the additional tool preferences from Galaxy admins. It has two blocks. One for listing deprecated tools which will be removed from the recommendations and another is for adding additional tools to be recommended along side those from the deep learning model. """, - ) - overwrite_model_recommendations: Optional[bool] = Field( - None, - title="Overwrite Model Recommendations", - description="""Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model + ), + ] = "tool_recommendations_overwrite.yml" + overwrite_model_recommendations: Annotated[ + bool, + Field( + title="Overwrite Model Recommendations", + description="""Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools by admins and predicted by the deep learning model are shown. """, - ) - error_report_file: Optional[str] = Field( - None, - title="Error Report File", - description="""Path to error reports configuration file. -""", - ) - tool_destinations_config_file: Optional[str] = Field( - None, - title="Tool Destinations Config File", - description="""Path to dynamic tool destinations configuration file. -""", - ) - welcome_directory: Optional[str] = Field( - None, - title="Welcome Directory", - description="""Location of New User Welcome data, a single directory containing the + ), + ] = False + error_report_file: Annotated[ + str, + Field( + title="Error Report File", + description="""Path to error reports configuration file. +""", + ), + ] = "error_report.yml" + tool_destinations_config_file: Annotated[ + str, + Field( + title="Tool Destinations Config File", + description="""Path to dynamic tool destinations configuration file. +""", + ), + ] = "tool_destinations.yml" + welcome_directory: Annotated[ + str, + Field( + title="Welcome Directory", + description="""Location of New User Welcome data, a single directory containing the images and JSON of Topics/Subtopics/Slides as export. This location is relative to galaxy/static """, - ) - vault_config_file: Optional[str] = Field( - None, - title="Vault Config File", - description="""Vault config file. -""", - ) - display_builtin_converters: Optional[bool] = Field( - None, - title="Display Builtin Converters", - description="""Display built-in converters in the tool panel.""", - ) - themes_config_file: Optional[str] = Field( - None, - title="Themes Config File", - description="""Optional file containing one or more themes for galaxy. If several themes + ), + ] = "plugins/welcome_page/new_user/static/topics/" + vault_config_file: Annotated[ + str, + Field( + title="Vault Config File", + description="""Vault config file. +""", + ), + ] = "vault_conf.yml" + display_builtin_converters: Annotated[ + bool, + Field( + title="Display Builtin Converters", + description="""Display built-in converters in the tool panel.""", + ), + ] = True + themes_config_file: Annotated[ + str, + Field( + title="Themes Config File", + description="""Optional file containing one or more themes for galaxy. If several themes are defined, users can choose their preferred theme in the client. """, - ) - enable_beacon_integration: Optional[bool] = Field( - None, - title="Enable Beacon Integration", - description="""Enables user preferences and api endpoint for the beacon integration. -""", - ) - tool_training_recommendations: Optional[bool] = Field( - None, - title="Tool Training Recommendations", - description="""Displays a link to training material, if any includes the current tool. + ), + ] = "themes_conf.yml" + enable_beacon_integration: Annotated[ + bool, + Field( + title="Enable Beacon Integration", + description="""Enables user preferences and api endpoint for the beacon integration. +""", + ), + ] = False + tool_training_recommendations: Annotated[ + bool, + Field( + title="Tool Training Recommendations", + description="""Displays a link to training material, if any includes the current tool. When activated the following options also need to be set: tool_training_recommendations_link, tool_training_recommendations_api_url """, - ) - tool_training_recommendations_link: Optional[str] = Field( - None, - title="Tool Training Recommendations Link", - description="""Template URL to display all tutorials containing current tool. + ), + ] = True + tool_training_recommendations_link: Annotated[ + str, + Field( + title="Tool Training Recommendations Link", + description="""Template URL to display all tutorials containing current tool. Valid template inputs are: {repository_owner} {name} @@ -3439,24 +4246,30 @@ class GalaxyConfigModel(Model): {training_tool_identifier} {version} """, - ) - tool_training_recommendations_api_url: Optional[str] = Field( - None, - title="Tool Training Recommendations Api Url", - description="""URL to API describing tutorials containing specific tools. + ), + ] = "https://training.galaxyproject.org/training-material/by-tool/{training_tool_identifier}.html" + tool_training_recommendations_api_url: Annotated[ + str, + Field( + title="Tool Training Recommendations Api Url", + description="""URL to API describing tutorials containing specific tools. When CORS is used, make sure to add this host. """, - ) - citations_export_message_html: Optional[str] = Field( - None, - title="Citations Export Message Html", - description="""Message to display on the export citations tool page -""", - ) - enable_notification_system: Optional[bool] = Field( - None, - title="Enable Notification System", - description="""Enables the Notification System integrated in Galaxy. + ), + ] = "https://training.galaxyproject.org/training-material/api/top-tools.json" + citations_export_message_html: Annotated[ + str, + Field( + title="Citations Export Message Html", + description="""Message to display on the export citations tool page +""", + ), + ] = 'When writing up your analysis, remember to include all references that should be cited in order to completely describe your work. Also, please remember to cite Galaxy.' + enable_notification_system: Annotated[ + bool, + Field( + title="Enable Notification System", + description="""Enables the Notification System integrated in Galaxy. Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. @@ -3464,10 +4277,13 @@ class GalaxyConfigModel(Model): Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. """, - ) - expired_notifications_cleanup_interval: Optional[int] = Field( - None, - title="Expired Notifications Cleanup Interval", - description="""The interval in seconds between attempts to delete all expired notifications from the database (every 24 hours by default). Runs in a Celery task. + ), + ] = False + expired_notifications_cleanup_interval: Annotated[ + int, + Field( + title="Expired Notifications Cleanup Interval", + description="""The interval in seconds between attempts to delete all expired notifications from the database (every 24 hours by default). Runs in a Celery task. """, - ) + ), + ] = 86400 From 6e1f37a84f30b2b27d5ddaa4b6f42de7b5b10077 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Mon, 7 Aug 2023 18:15:21 +0200 Subject: [PATCH 05/28] Revert "Add makefile commands" This reverts commit 554ddee55ac56f6ab41827fc4c86234c069fd555. --- Makefile | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 353292fcf154..1e5a171796c5 100644 --- a/Makefile +++ b/Makefile @@ -101,18 +101,12 @@ config-convert-dry-run: ## convert old style galaxy ini to yaml (dry run) config-convert: ## convert old style galaxy ini to yaml $(CONFIG_MANAGE) convert galaxy -config-api-schema: ## generates the schema model for the galaxy config file - $(CONFIG_MANAGE) generate_api_models galaxy - $(IN_VENV) isort lib/galaxy/schema/configuration.py - $(IN_VENV) black lib/galaxy/schema/configuration.py - config-rebuild: ## Rebuild all sample YAML and RST files from config schema $(CONFIG_MANAGE) build_sample_yaml galaxy --add-comments $(CONFIG_MANAGE) build_rst galaxy > doc/source/admin/galaxy_options.rst $(CONFIG_MANAGE) build_sample_yaml reports --add-comments $(CONFIG_MANAGE) build_rst reports > doc/source/admin/reports_options.rst $(CONFIG_MANAGE) build_sample_yaml tool_shed --add-comments - $(MAKE) config-api-schema config-lint: ## lint galaxy YAML configuration file $(CONFIG_MANAGE) lint galaxy @@ -192,7 +186,7 @@ build-api-schema: remove-api-schema: rm _schema.yaml -update-client-api-schema: config-api-schema client-node-deps build-api-schema +update-client-api-schema: client-node-deps build-api-schema $(IN_VENV) cd client && node openapi_to_schema.mjs ../_schema.yaml > src/schema/schema.ts && npx prettier --write src/schema/schema.ts $(MAKE) remove-api-schema From dd8a3db57ebf57991a0edd0d0995994cbf6af83c Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Mon, 7 Aug 2023 18:39:33 +0200 Subject: [PATCH 06/28] WIP: Split config options into models --- client/src/schema/schema.ts | 8456 ++++++----------- lib/galaxy/schema/configuration.py | 2508 +++-- .../webapps/galaxy/api/configuration.py | 24 +- 3 files changed, 4584 insertions(+), 6404 deletions(-) diff --git a/client/src/schema/schema.ts b/client/src/schema/schema.ts index 3dd76c8e8109..3821dfe5caf1 100644 --- a/client/src/schema/schema.ts +++ b/client/src/schema/schema.ts @@ -1726,3589 +1726,1714 @@ export interface components { link: string; }; /** - * AnonUserModel - * @description Base model definition with common configuration used by all derived models. + * AdminOnlyConfigResponse + * @description Configuration settings that can be exposed to admins. */ - AnonUserModel: { + AdminOnlyConfigResponse: { /** - * Nice total disc usage - * @description Size of all non-purged, unique datasets of the user in a nice format. + * Admin Tool Recommendations Path + * @description Set path to the additional tool preferences from Galaxy admins. + * It has two blocks. One for listing deprecated tools which will be removed from the recommendations and + * another is for adding additional tools to be recommended along side those from the deep learning model. + * @default tool_recommendations_overwrite.yml */ - nice_total_disk_usage: string; + admin_tool_recommendations_path?: string; /** - * Quota percent - * @description Percentage of the storage quota applicable to the user. + * Allow Library Path Paste + * @description Adds an option to the admin library upload tool allowing admins to paste + * filesystem paths to files and directories in a box, and these paths will be added to a library. + * @default false */ - quota_percent?: Record; + allow_library_path_paste?: boolean; /** - * Total disk usage - * @description Size of all non-purged, unique datasets of the user in bytes. + * Allow User Creation + * @description Allow unregistered users to create new accounts (otherwise, they will have to be created by an admin). + * @default true */ - total_disk_usage: number; - }; - /** - * ArchiveHistoryRequestPayload - * @description Base model definition with common configuration used by all derived models. - */ - ArchiveHistoryRequestPayload: { + allow_user_creation?: boolean; /** - * Export Record ID - * @description The encoded ID of the export record to associate with this history archival.This is used to be able to recover the history from the export record. - * @example 0123456789ABCDEF + * Allow User Dataset Purge + * @description Allow users to remove their datasets from disk immediately (otherwise, + * datasets will be removed after a time period specified by an administrator in + * the cleanup scripts run via cron) + * @default true */ - archive_export_id?: string; + allow_user_dataset_purge?: boolean; /** - * Purge History - * @description Whether to purge the history after archiving it. It requires an `archive_export_id` to be set. + * Allow User Deletion + * @description Allow administrators to delete accounts. * @default false */ - purge_history?: boolean; - }; - /** - * ArchivedHistoryDetailed - * @description History detailed information. - */ - ArchivedHistoryDetailed: { + allow_user_deletion?: boolean; /** - * Annotation - * @description An annotation to provide details or to help understand the purpose and usage of this item. + * Allow User Impersonation + * @description Allow administrators to log in as other users (useful for debugging). + * @default false */ - annotation: string; + allow_user_impersonation?: boolean; /** - * Archived - * @description Whether this item has been archived and is no longer active. + * Aws Estimate + * @description This flag enables an AWS cost estimate for every job based on their runtime matrices. + * CPU, RAM and runtime usage is mapped against AWS pricing table. + * Please note, that those numbers are only estimates. + * @default false */ - archived: boolean; + aws_estimate?: boolean; /** - * Contents URL - * @description The relative URL to access the contents of this History. + * Brand + * @description Append "{brand}" text to the masthead. */ - contents_url: string; + brand: string; /** - * Count - * @description The number of items in the history. + * Carbon Emission Estimates + * @description This flag enables carbon emissions estimates for every job based on its runtime metrics. + * CPU and RAM usage and the total job runtime are used to determine an estimate value. + * These estimates and are based off of the work of the Green Algorithms Project and + * the United States Environmental Protection Agency (EPA). + * Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. + * for more details. + * @default true */ - count: number; + carbon_emission_estimates?: boolean; /** - * Create Time - * Format: date-time - * @description The time and date this item was created. + * Carbon Intensity + * @description The carbon intensity of the electricity used by the Galaxy server. */ - create_time: string; + carbon_intensity?: number; /** - * Deleted - * @description Whether this item is marked as deleted. + * Chunk Upload Size + * @description Galaxy can upload user files in chunks without using nginx. Enable the chunk + * uploader by specifying a chunk size larger than 0. The chunk size is specified + * in bytes (default: 10MB). + * + * @default 10485760 */ - deleted: boolean; + chunk_upload_size?: number; /** - * Export Record Data - * @description The export record data associated with this archived history. Used to recover the history. + * Citation Url + * @description The URL linked by the "How to Cite Galaxy" link in the "Help" menu. + * @default https://galaxyproject.org/citing-galaxy */ - export_record_data?: components["schemas"]["ExportRecordData"]; + citation_url?: string; /** - * Genome Build - * @description TODO - * @default ? + * Citations Export Message Html + * @description Message to display on the export citations tool page + * @default When writing up your analysis, remember to include all references that should be cited in order to completely describe your work. Also, please remember to cite Galaxy. */ - genome_build?: string; + citations_export_message_html?: string; /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF + * Cookie Domain + * @description Tell Galaxy that multiple domains sharing the same root are associated + * to this instance and wants to share the same session cookie. + * This allow a user to stay logged in when passing from one subdomain to the other. + * This root domain will be written in the unique session cookie shared by all subdomains. */ - id: string; + cookie_domain: string; /** - * Importable - * @description Whether this History can be imported by other users with a shared link. + * Datatypes Disable Auto + * @description Disable the 'Auto-detect' option for file uploads + * @default false */ - importable: boolean; + datatypes_disable_auto?: boolean; /** - * Model class - * @description The name of the database model class. - * @default History - * @enum {string} + * Default Locale + * @description Default localization for Galaxy UI. + * Allowed values are listed at the end of client/src/nls/locale.js. + * With the default value (auto), the locale will be automatically adjusted to + * the user's navigator language. + * Users can override this settings in their user preferences if the localization + * settings are enabled in user_preferences_extra_conf.yml + * @default auto */ - model_class: "History"; + default_locale?: string; /** - * Name - * @description The name of the history. + * Default Panel View + * @description Default tool panel view for the current Galaxy configuration. This should refer to an id of + * a panel view defined using the panel_views or panel_views_dir configuration options or an + * EDAM panel view. The default panel view is simply called `default` and refers to the tool + * panel state defined by the integrated tool panel. + * @default default */ - name: string; + default_panel_view?: string; /** - * Preferred Object Store ID - * @description The ID of the object store that should be used to store new datasets in this history. + * Enable Account Interface + * @description Allow users to manage their account data, change passwords or delete their accounts. + * @default true */ - preferred_object_store_id?: string; + enable_account_interface?: boolean; /** - * Published - * @description Whether this resource is currently publicly available to all users. + * Enable Beacon Integration + * @description Enables user preferences and api endpoint for the beacon integration. + * @default false */ - published: boolean; + enable_beacon_integration?: boolean; /** - * Purged - * @description Whether this item has been permanently removed. + * Enable Beta Markdown Export + * @description Enable export of Galaxy Markdown documents (pages and workflow reports) + * to PDF. Requires manual installation and setup of weasyprint (latest version + * available for Python 2.7 is 0.42). + * @default false */ - purged: boolean; + enable_beta_markdown_export?: boolean; /** - * Size - * @description The total size of the contents of this history in bytes. + * Enable Celery Tasks + * @description Offload long-running tasks to a Celery task queue. + * Activate this only if you have setup a Celery worker for Galaxy. + * For details, see https://docs.galaxyproject.org/en/master/admin/production.html + * @default false */ - size: number; + enable_celery_tasks?: boolean; /** - * Slug - * @description Part of the URL to uniquely identify this History by link in a readable way. + * Enable Notification System + * @description Enables the Notification System integrated in Galaxy. + * + * Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. + * + * The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. + * + * Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. + * + * @default false */ - slug?: string; + enable_notification_system?: boolean; /** - * State - * @description The current state of the History based on the states of the datasets it contains. + * Enable Oidc + * @description Enables and disables OpenID Connect (OIDC) support. + * @default false */ - state: components["schemas"]["DatasetState"]; + enable_oidc?: boolean; /** - * State Counts - * @description A dictionary keyed to possible dataset states and valued with the number of datasets in this history that have those states. + * Enable Quotas + * @description Enable enforcement of quotas. Quotas can be set from the Admin interface. + * @default false */ - state_details: { - [key: string]: number | undefined; - }; + enable_quotas?: boolean; /** - * State IDs - * @description A dictionary keyed to possible dataset states and valued with lists containing the ids of each HDA in that state. + * Enable Tool Recommendations + * @description Allow the display of tool recommendations in workflow editor and after tool execution. + * If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well + * @default false */ - state_ids: { - [key: string]: string[] | undefined; - }; - tags: components["schemas"]["TagCollection"]; + enable_tool_recommendations?: boolean; /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. + * Enable Tool Source Display + * @description This option allows users to view the tool wrapper source code. This is + * safe to enable if you have not hardcoded any secrets in any of the tool + * wrappers installed on this Galaxy server. If you have only installed tool + * wrappers from public tool sheds and tools shipped with Galaxy there you + * can enable this option. + * @default false */ - update_time: string; + enable_tool_source_display?: boolean; /** - * URL - * @deprecated - * @description The relative URL to access this item. + * Enable Unique Workflow Defaults + * @description Enable a feature when running workflows. When enabled, default datasets + * are selected for "Set at Runtime" inputs from the history such that the + * same input will not be selected twice, unless there are more inputs than + * compatible datasets in the history. + * When false, the most recently added compatible item in the history will + * be used for each "Set at Runtime" input, independent of others in the workflow. + * @default false */ - url: string; + enable_unique_workflow_defaults?: boolean; /** - * User ID - * @description The encoded ID of the user that owns this History. - * @example 0123456789ABCDEF + * Expose User Email + * @description Expose user list. Setting this to true will expose the user list to + * authenticated users. This makes sharing datasets in smaller galaxy instances + * much easier as they can type a name/email and have the correct user show up. + * This makes less sense on large public Galaxy instances where that data + * shouldn't be exposed. For semi-public Galaxies, it may make sense to expose + * just the username and not email, or vice versa. + * + * If enable_beta_gdpr is set to true, then this option will be overridden and set to false. + * @default false */ - user_id: string; + expose_user_email?: boolean; /** - * Username and slug - * @description The relative URL in the form of /u/{username}/h/{slug} + * File Sources Configured + * @description Determines if the Galaxy instance has custom file sources configured. */ - username_and_slug?: string; - }; - /** - * ArchivedHistorySummary - * @description History summary information. - */ - ArchivedHistorySummary: { + file_sources_configured: boolean; /** - * Annotation - * @description An annotation to provide details or to help understand the purpose and usage of this item. + * Ftp Upload Site + * @description Enable Galaxy's "Upload via FTP" interface. + * You'll need to install and configure an FTP server (we've used ProFTPd since it can use Galaxy's + * database for authentication) and set the following two options. + * This will be provided to users in the help text as 'log in to the FTP server at '. + * Thus, it should be the hostname of your FTP server. */ - annotation: string; + ftp_upload_site?: string; /** - * Archived - * @description Whether this item has been archived and is no longer active. + * Google Analytics Code + * @description You can enter tracking code here to track visitor's behavior + * through your Google Analytics account. Example: UA-XXXXXXXX-Y */ - archived: boolean; + ga_code?: string; /** - * Count - * @description The number of items in the history. + * Geographical Server Location Code + * @description The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. + * This is used to make carbon emissions estimates more accurate as the location effects the + * carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the + * `geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, + * visit https://galaxyproject.org/admin/carbon_emissions + * @default GLOBAL */ - count: number; + geographical_server_location_code?: string; /** - * Deleted - * @description Whether this item is marked as deleted. + * Geographical Server Location Name + * @description The name of the geographical location of the Galaxy server. */ - deleted: boolean; + geographical_server_location_name?: string; /** - * Export Record Data - * @description The export record data associated with this archived history. Used to recover the history. + * Has User Tool Filters + * @description Determines if the user has tool filters. + * @default false */ - export_record_data?: components["schemas"]["ExportRecordData"]; + has_user_tool_filters?: boolean; /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF + * Helpsite Url + * @description The URL linked by the "Galaxy Help" link in the "Help" menu. + * @default https://help.galaxyproject.org/ */ - id: string; + helpsite_url?: string; /** - * Model class - * @description The name of the database model class. - * @default History - * @enum {string} + * Inactivity Box Content + * @description Shown in warning box to users that were not activated yet. + * In use only if activation_grace_period is set. + * @default Your account has not been activated yet. Feel free to browse around and see what's available, but you won't be able to upload data or run jobs until you have verified your email address. */ - model_class: "History"; + inactivity_box_content?: string; /** - * Name - * @description The name of the history. + * Interactivetools Enable + * @description Enable InteractiveTools. + * @default false */ - name: string; + interactivetools_enable?: boolean; /** - * Preferred Object Store ID - * @description The ID of the object store that should be used to store new datasets in this history. + * Is Admin User + * @deprecated + * @description Determines if the current user is an admin user. + * **Deprecated**: This is deprecated and will be removed in a future release. + * Please get this information from the user data instead. + * @default false */ - preferred_object_store_id?: string; + is_admin_user?: boolean; /** - * Published - * @description Whether this resource is currently publicly available to all users. + * Library Import Dir + * @description Add an option to the library upload form which allows administrators to + * upload a directory of files. */ - published: boolean; + library_import_dir?: string; /** - * Purged - * @description Whether this item has been permanently removed. + * Lims Doc Url + * @deprecated + * @description The URL linked by the "LIMS Documentation" link in the "Help" menu. + * **Deprecated**: This is deprecated and will be removed in a future release. + * Please use the `helpsite_url` option instead. + * @default https://usegalaxy.org/u/rkchak/p/sts */ - purged: boolean; - tags: components["schemas"]["TagCollection"]; + lims_doc_url?: string; /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. + * Logo Src + * @description The brand image source. + * @default /static/favicon.svg */ - update_time: string; + logo_src?: string; /** - * URL - * @deprecated - * @description The relative URL to access this item. + * Logo Src Secondary + * @description The custom brand image source. */ - url: string; - }; - /** - * AsyncFile - * @description Base model definition with common configuration used by all derived models. - */ - AsyncFile: { + logo_src_secondary: string; /** - * Storage Request Id - * Format: uuid + * Logo Url + * @description The URL linked by the "Galaxy/brand" text. + * @default / */ - storage_request_id: string; - task: components["schemas"]["AsyncTaskResultSummary"]; - }; - /** - * AsyncTaskResultSummary - * @description Base model definition with common configuration used by all derived models. - */ - AsyncTaskResultSummary: { + logo_url?: string; /** - * ID - * @description Celery AsyncResult ID for this task + * Mailing Join Address + * @description On the user registration form, users may choose to join a mailing list. This + * is the address used to subscribe to the list. Uncomment and leave empty if you + * want to remove this option from the user registration form. + * + * Example value 'galaxy-announce-join@lists.galaxyproject.org' + * @default galaxy-announce-join@bx.psu.edu */ - id: string; + mailing_join_addr?: string; /** - * Ignored - * @description Indicated whether the Celery AsyncResult will be available for retrieval + * Markdown To Pdf Available + * @deprecated + * @description Determines if the markdown to pdf conversion is available. + * **Deprecated**: This is deprecated and will be removed in a future release. + * @default false */ - ignored: boolean; - /** Name of task being done derived from Celery AsyncResult */ - name?: string; - /** Queue of task being done derived from Celery AsyncResult */ - queue?: string; - }; - /** BadgeDict */ - BadgeDict: { - /** Message */ - message: string; + markdown_to_pdf_available?: boolean; /** - * Source - * @enum {string} + * Matomo Server + * @description Please enter the URL for the Matomo server (including https) so this can be used for tracking + * with Matomo (https://matomo.org/). */ - source: "admin" | "galaxy"; - /** Type */ - type: - | ( - | "faster" - | "slower" - | "short_term" - | "backed_up" - | "not_backed_up" - | "more_secure" - | "less_secure" - | "more_stable" - | "less_stable" - ) - | ("cloud" | "quota" | "no_quota" | "restricted"); - }; - /** - * BasicRoleModel - * @description Base model definition with common configuration used by all derived models. - */ - BasicRoleModel: { + matomo_server?: string; /** - * ID - * @description Encoded ID of the role - * @example 0123456789ABCDEF + * Matomo Site Id + * @description Please enter the site ID for the Matomo server so this can be used for tracking + * with Matomo (https://matomo.org/). */ - id: string; + matomo_site_id?: string; /** - * Name - * @description Name of the role + * Message Box Class + * @description Class of the message box under the masthead. + * Possible values are: 'info' (the default), 'warning', 'error', 'done'. + * @default info + * @enum {string} */ - name: string; + message_box_class?: "info" | "warning" | "error" | "done"; /** - * Type - * @description Type or category of the role + * Message Box Content + * @description Show a message box under the masthead. */ - type: string; - }; - /** Body_create_api_histories_post */ - Body_create_api_histories_post: { + message_box_content: string; /** - * All Datasets - * @default true + * Message Box Visible + * @description Show a message box under the masthead. + * @default false */ - all_datasets?: Record; - /** Archive File */ - archive_file?: Record; - /** Archive Source */ - archive_source?: Record; + message_box_visible?: boolean; /** - * Archive Type - * @default url + * Nginx Upload Path + * @description This value overrides the action set on the file upload form, e.g. the web + * path where the nginx_upload_module has been configured to intercept upload requests. */ - archive_type?: Record; - /** History Id */ - history_id?: Record; - /** Name */ - name?: Record; - }; - /** Body_fetch_form_api_tools_fetch_post */ - Body_fetch_form_api_tools_fetch_post: { - /** Files */ - files?: string[]; - /** History Id */ - history_id: Record; - /** Targets */ - targets: Record; - }; - /** - * BroadcastNotificationContent - * @description Base model definition with common configuration used by all derived models. - */ - BroadcastNotificationContent: { + nginx_upload_path: string; /** - * Action links - * @description The optional action links (buttons) to be displayed in the notification. + * Object Store Allows Id Selection + * @description Determines if the object store allows id selection. */ - action_links?: components["schemas"]["ActionLink"][]; + object_store_allows_id_selection: boolean; /** - * Category - * @default broadcast - * @enum {string} + * Object Store Ids Allowing Selection + * @description The ids of the object stores that can be selected. */ - category?: "broadcast"; + object_store_ids_allowing_selection: string[]; /** - * Message - * @description The message of the notification (supports Markdown). + * Oidc + * @description OpenID Connect (OIDC) configuration. + * @default {} */ - message: string; + oidc?: Record; /** - * Subject - * @description The subject of the notification. + * Overwrite Model Recommendations + * @description Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model + * are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools + * by admins and predicted by the deep learning model are shown. + * @default false */ - subject: string; - }; - /** - * BroadcastNotificationCreateRequest - * @description A notification create request specific for broadcasting. - */ - BroadcastNotificationCreateRequest: { + overwrite_model_recommendations?: boolean; /** - * Category - * @default broadcast - * @enum {string} + * Panel Views + * @description Definitions of static toolbox panel views embedded directly in the config instead of reading + * YAML from directory with panel_views_dir. */ - category?: "broadcast"; + panel_views: Record[]; /** - * Content - * @description The content of the broadcast notification. Broadcast notifications are displayed prominently to all users and can contain action links to redirect the user to a specific page. + * Plausible Domain + * @description Please enter the URL for the Galaxy server so this can be used for tracking + * with Plausible (https://plausible.io/). */ - content: components["schemas"]["BroadcastNotificationContent"]; - /** - * Expiration time - * Format: date-time - * @description The time when the notification should expire. By default it will expire after 6 months. Expired notifications will be permanently deleted. - */ - expiration_time?: string; + plausible_domain?: string; /** - * Publication time - * Format: date-time - * @description The time when the notification should be published. Notifications can be created and then scheduled to be published at a later time. + * Plausible Server + * @description Please enter the URL for the Plausible server (including https) so this can be used for tracking + * with Plausible (https://plausible.io/). */ - publication_time?: string; + plausible_server?: string; /** - * Source - * @description The source of the notification. Represents the agent that created the notification. E.g. 'galaxy' or 'admin'. + * Post User Logout Href + * @description This is the default url to which users are redirected after they log out. + * @default /root/login?is_logout_redirect=true */ - source: string; + post_user_logout_href?: string; /** - * Variant - * @description The variant of the notification. Represents the intent or relevance of the notification. E.g. 'info' or 'urgent'. + * Power Usage Effectiveness + * @description The estimated power usage effectiveness of the data centre housing the server your galaxy + * instance is running on. This can make carbon emissions estimates more accurate. + * For more information on how to calculate a PUE value, visit + * https://en.wikipedia.org/wiki/Power_usage_effectiveness + * + * @default 1.67 */ - variant: components["schemas"]["NotificationVariant"]; - }; - /** - * BroadcastNotificationListResponse - * @description A list of broadcast notifications. - */ - BroadcastNotificationListResponse: components["schemas"]["BroadcastNotificationResponse"][]; - /** - * BroadcastNotificationResponse - * @description A notification response specific for broadcasting. - */ - BroadcastNotificationResponse: { + power_usage_effectiveness?: number; /** - * Category - * @default broadcast - * @enum {string} + * Prefer Custos Login + * @description Controls the order of the login page to prefer Custos-based login and registration. + * @default false */ - category?: "broadcast"; - content: components["schemas"]["BroadcastNotificationContent"]; + prefer_custos_login?: boolean; /** - * Create time - * Format: date-time - * @description The time when the notification was created. + * Python Version + * @description The Python version used by Galaxy as a tuple of integers [mayor, minor]. */ - create_time: string; + python: number[]; /** - * Expiration time - * Format: date-time - * @description The time when the notification will expire. If not set, the notification will never expire. Expired notifications will be permanently deleted. + * Quota Source Labels + * @description The labels of the disk quota sources available on this Galaxy instance. */ - expiration_time?: string; + quota_source_labels: string[]; /** - * ID - * @description The encoded ID of the notification. - * @example 0123456789ABCDEF + * Quota Url + * @description The URL linked for quota information in the UI. + * @default https://galaxyproject.org/support/account-quotas/ */ - id: string; + quota_url?: string; /** - * Publication time - * Format: date-time - * @description The time when the notification was published. Notifications can be created and then published at a later time. + * Registration Warning Message + * @description Registration warning message is used to discourage people from registering + * multiple accounts. Applies mostly for the main Galaxy instance. + * If no message specified the warning box will not be shown. + * @default Please register only one account - we provide this service free of charge and have limited computational resources. Multi-accounts are tracked and will be subjected to account termination and data deletion. */ - publication_time: string; + registration_warning_message?: string; /** - * Source - * @description The source of the notification. Represents the agent that created the notification. E.g. 'galaxy' or 'admin'. + * Release Doc Base Url + * @description The URL linked by the "Galaxy Version" link in the "Help" menu. + * @default https://docs.galaxyproject.org/en/release_ */ - source: string; + release_doc_base_url?: string; /** - * Update time - * Format: date-time - * @description The time when the notification was last updated. + * Remote User Logout Href + * @description If use_remote_user is enabled, you can set this to a URL that will log your users out. */ - update_time: string; + remote_user_logout_href?: string; /** - * Variant - * @description The variant of the notification. Represents the intent or relevance of the notification. E.g. 'info' or 'urgent'. + * Require Login + * @description Force everyone to log in (disable anonymous access). + * @default false */ - variant: components["schemas"]["NotificationVariant"]; - }; - /** - * BrowsableFilesSourcePlugin - * @description Base model definition with common configuration used by all derived models. - */ - BrowsableFilesSourcePlugin: { + require_login?: boolean; /** - * Browsable - * @enum {boolean} + * Screencasts Url + * @description The URL linked by the "Videos" link in the "Help" menu. + * @default https://www.youtube.com/c/galaxyproject */ - browsable: true; + screencasts_url?: string; /** - * Documentation - * @description Documentation or extended description for this plugin. - * @example Galaxy's library import directory + * Select Type Workflow Threshold + * @description Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) + * Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. + * use 0 in order to always use select2 fields, use -1 (default) in order to always use the regular select fields, + * use any other positive number as threshold (above threshold: regular select fields will be used) + * @default -1 */ - doc: string; + select_type_workflow_threshold?: number; /** - * ID - * @description The `FilesSource` plugin identifier - * @example _import + * Server Mail Configured + * @description Determines if the Galaxy instance has a SMTP server configured. + * @default false */ - id: string; + server_mail_configured?: boolean; /** - * Label - * @description The display label for this plugin. - * @example Library Import Directory + * Server Start Time + * @description The time when the Galaxy server was started (seconds since Epoch). */ - label: string; + server_startttime: number; /** - * Requires groups - * @description Only users belonging to the groups specified here can access this files source. + * Show Welcome With Login + * @description Show the site's welcome page (see welcome_url) alongside the login page + * (even if require_login is true). + * @default false */ - requires_groups?: string; + show_welcome_with_login?: boolean; /** - * Requires roles - * @description Only users with the roles specified here can access this files source. + * Simplified Workflow Run Ui + * @description If set to 'off' by default, always use the traditional workflow form that renders + * all steps in the GUI and serializes the tool state of all steps during + * invocation. Set to 'prefer' to default to a simplified workflow UI that + * only renders the inputs if possible (the workflow must have no disconnected + * runtime inputs and not replacement parameters within tool steps). In the + * future 'force' may be added an option for Galaskio-style servers that should + * only render simplified workflows. + * @default prefer + * @enum {string} */ - requires_roles?: string; + simplified_workflow_run_ui?: "off" | "prefer"; /** - * Type - * @description The type of the plugin. - * @example gximport + * Simplified Workflow Run Ui Job Cache + * @description When the simplified workflow run form is rendered, should the invocation use job + * caching. This isn't a boolean so an option for 'show-selection' can be added later. + * @default off + * @enum {string} */ - type: string; + simplified_workflow_run_ui_job_cache?: "on" | "off"; /** - * URI root - * @description The URI root used by this type of plugin. - * @example gximport:// + * Simplified Workflow Run Ui Target History + * @description When the simplified workflow run form is rendered, should the invocation outputs + * be sent to the 'current' history or a 'new' history. If the user should be presented + * and option between these - set this to 'prefer_current' or 'prefer_new' to display + * a runtime setting with the corresponding default. The default is to provide the + * user this option and default it to the current history (the traditional behavior + * of Galaxy for years) - this corresponds to the setting 'prefer_current'. + * + * @default prefer_current + * @enum {string} */ - uri_root: string; + simplified_workflow_run_ui_target_history?: "prefer_current" | "prefer_new"; /** - * Writeable - * @description Whether this files source plugin allows write access. - * @example false + * Single User + * @description If an e-mail address is specified here, it will hijack remote user mechanics + * (``use_remote_user``) and have the webapp inject a single fixed user. This + * has the effect of turning Galaxy into a single user application with no + * login or external proxy required. Such applications should not be exposed to + * the world. */ - writable: boolean; - }; - /** - * BulkOperationItemError - * @description Base model definition with common configuration used by all derived models. - */ - BulkOperationItemError: { - /** Error */ - error: string; - item: components["schemas"]["EncodedHistoryContentItem"]; - }; - /** - * ChangeDatatypeOperationParams - * @description Base model definition with common configuration used by all derived models. - */ - ChangeDatatypeOperationParams: { - /** Datatype */ - datatype: string; + single_user: string; /** - * Type - * @enum {string} + * Support Url + * @description The URL linked by the "Support" link in the "Help" menu. + * @default https://galaxyproject.org/support/ */ - type: "change_datatype"; - }; - /** - * ChangeDbkeyOperationParams - * @description Base model definition with common configuration used by all derived models. - */ - ChangeDbkeyOperationParams: { - /** Dbkey */ - dbkey: string; + support_url?: string; /** - * Type - * @enum {string} + * Terms Url + * @description The URL linked by the "Terms and Conditions" link in the "Help" menu, as well + * as on the user registration and login forms and in the activation emails. */ - type: "change_dbkey"; - }; - /** - * CheckForUpdatesResponse - * @description Base model definition with common configuration used by all derived models. - */ - CheckForUpdatesResponse: { + terms_url: string; /** - * Message - * @description Unstructured description of tool shed updates discovered or failure + * Themes + * @description The visual style themes available on this Galaxy instance. */ - message: string; + themes: { + [key: string]: + | { + [key: string]: string | undefined; + } + | undefined; + }; /** - * Status - * @description 'ok' or 'error' - * @enum {string} + * Tool Recommendation Model Path + * @description Set remote path of the trained model (HDF5 file) for tool recommendation. + * @default https://github.com/galaxyproject/galaxy-test-data/raw/master/tool_recommendation_model_v_0.2.hdf5 */ - status: "ok" | "error"; - }; - /** Checksum */ - Checksum: { + tool_recommendation_model_path?: string; /** - * Checksum - * @description The hex-string encoded checksum for the data + * Tool Training Recommendations + * @description Displays a link to training material, if any includes the current tool. + * When activated the following options also need to be set: + * tool_training_recommendations_link, + * tool_training_recommendations_api_url + * + * @default true */ - checksum: string; + tool_training_recommendations?: boolean; /** - * Type - * @description The digest method used to create the checksum. - * The value (e.g. `sha-256`) SHOULD be listed as `Hash Name String` in the https://www.iana.org/assignments/named-information/named-information.xhtml#hash-alg[IANA Named Information Hash Algorithm Registry]. Other values MAY be used, as long as implementors are aware of the issues discussed in https://tools.ietf.org/html/rfc6920#section-9.4[RFC6920]. - * GA4GH may provide more explicit guidance for use of non-IANA-registered algorithms in the future. Until then, if implementors do choose such an algorithm (e.g. because it's implemented by their storage provider), they SHOULD use an existing standard `type` value such as `md5`, `etag`, `crc32c`, `trunc512`, or `sha1`. - * @example sha-256 - */ - type: string; - }; - /** - * CleanableItemsSummary - * @description Base model definition with common configuration used by all derived models. - */ - CleanableItemsSummary: { - /** - * Total Items - * @description The total number of items that could be purged. + * Tool Training Recommendations Api Url + * @description URL to API describing tutorials containing specific tools. + * When CORS is used, make sure to add this host. + * @default https://training.galaxyproject.org/training-material/api/top-tools.json */ - total_items: number; + tool_training_recommendations_api_url?: string; /** - * Total Size - * @description The total size in bytes that can be recovered by purging all the items. + * Tool Training Recommendations Link + * @description Template URL to display all tutorials containing current tool. + * Valid template inputs are: + * {repository_owner} + * {name} + * {tool_id} + * {training_tool_identifier} + * {version} + * + * @default https://training.galaxyproject.org/training-material/by-tool/{training_tool_identifier}.html */ - total_size: number; - }; - /** - * CleanupStorageItemsRequest - * @description Base model definition with common configuration used by all derived models. - */ - CleanupStorageItemsRequest: { - /** Item Ids */ - item_ids: string[]; - }; - /** - * CloudDatasets - * @description Base model definition with common configuration used by all derived models. - */ - CloudDatasets: { + tool_training_recommendations_link?: string; /** - * Authentication ID - * @description The ID of CloudAuthz to be used for authorizing access to the resource provider. You may get a list of the defined authorizations via `/api/cloud/authz`. Also, you can use `/api/cloud/authz/create` to define a new authorization. - * @example 0123456789ABCDEF + * Toolbox Auto Sort + * @description If true, the toolbox will be sorted by tool id when the toolbox is loaded. + * This is useful for ensuring that tools are always displayed in the same + * order in the UI. If false, the order of tools in the toolbox will be + * preserved as they are loaded from the tool config files. + * @default true */ - authz_id: string; + toolbox_auto_sort?: boolean; /** - * Bucket - * @description The name of a bucket to which data should be sent (e.g., a bucket name on AWS S3). + * Topk Recommendations + * @description Set the number of predictions/recommendations to be made by the model + * @default 20 */ - bucket: string; + topk_recommendations?: number; /** - * Objects - * @description A list of dataset IDs belonging to the specified history that should be sent to the given bucket. If not provided, Galaxy sends all the datasets belonging the specified history. + * Upload From Form Button + * @description If 'always-on', add another button to tool form data inputs that allow uploading + * data from the tool form in fewer clicks (at the expense of making the form more complicated). This applies to workflows as well. + * + * Avoiding making this a boolean because we may add options such as 'in-single-form-view' + * or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109 + * @default always-off + * @enum {string} */ - dataset_ids?: string[]; + upload_from_form_button?: "always-on" | "always-off"; /** - * History ID - * @description The ID of history from which the object should be downloaded - * @example 0123456789ABCDEF + * Use Remote User + * @description User authentication can be delegated to an upstream proxy server (usually + * Apache). The upstream proxy should set a REMOTE_USER header in the request. + * Enabling remote user disables regular logins. For more information, see: + * https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html + * @default false */ - history_id: string; + use_remote_user?: boolean; /** - * Spaces to tabs - * @description A boolean value. If set to 'True', and an object with same name of the dataset to be sent already exist in the bucket, Galaxy replaces the existing object with the dataset to be sent. If set to 'False', Galaxy appends datetime to the dataset name to prevent overwriting an existing object. - * @default false + * User Library Import Dir + * @description Add an option to the library upload form which allows authorized + * non-administrators to upload a directory of files. The configured directory + * must contain sub-directories named the same as the non-admin user's Galaxy + * login ( email ). The non-admin user is restricted to uploading files or + * sub-directories of files contained in their directory. */ - overwrite_existing?: boolean; - }; - /** - * CloudDatasetsResponse - * @description Base model definition with common configuration used by all derived models. - */ - CloudDatasetsResponse: { + user_library_import_dir?: string; /** - * Bucket - * @description The name of bucket to which the listed datasets are queued to be sent + * User Library Import Dir Available + * @description Determines if the user library import directory is available. */ - bucket_name: string; + user_library_import_dir_available: boolean; /** - * Failed datasets - * @description The datasets for which Galaxy failed to create (and queue) send job + * Version Extra + * @description The extra version of Galaxy. */ - failed_dataset_labels: string[]; + version_extra?: Record; /** - * Send datasets - * @description The datasets for which Galaxy succeeded to create (and queue) send job + * Version Major + * @description The major version of Galaxy. */ - sent_dataset_labels: string[]; - }; - /** - * CloudObjects - * @description Base model definition with common configuration used by all derived models. - */ - CloudObjects: { + version_major: string; /** - * Authentication ID - * @description The ID of CloudAuthz to be used for authorizing access to the resource provider. You may get a list of the defined authorizations via `/api/cloud/authz`. Also, you can use `/api/cloud/authz/create` to define a new authorization. - * @example 0123456789ABCDEF + * Version Minor + * @description The minor version of Galaxy. */ - authz_id: string; + version_minor: string; /** - * Bucket - * @description The name of a bucket from which data should be fetched from (e.g., a bucket name on AWS S3). + * Visualizations Visible + * @description Show visualization tab and list in masthead. + * @default true */ - bucket: string; + visualizations_visible?: boolean; /** - * History ID - * @description The ID of history to which the object should be received to. - * @example 0123456789ABCDEF + * Welcome Directory + * @description Location of New User Welcome data, a single directory containing the + * images and JSON of Topics/Subtopics/Slides as export. This location + * is relative to galaxy/static + * @default plugins/welcome_page/new_user/static/topics/ */ - history_id: string; + welcome_directory?: string; /** - * Input arguments - * @description A summary of the input arguments, which is optional and will default to {}. + * Welcome Url + * @description The URL of the page to display in Galaxy's middle pane when loaded. This can + * be an absolute or relative URL. + * @default /static/welcome.html */ - input_args?: components["schemas"]["InputArguments"]; + welcome_url?: string; /** - * Objects - * @description A list of the names of objects to be fetched. + * Wiki Url + * @description The URL linked by the "Community Hub" link in the "Help" menu. + * @default https://galaxyproject.org/ */ - objects: string[]; + wiki_url?: string; }; /** - * CollectionElementIdentifier + * AnonUserModel * @description Base model definition with common configuration used by all derived models. */ - CollectionElementIdentifier: { - /** - * Collection Type - * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. - */ - collection_type?: string; + AnonUserModel: { /** - * Element Identifiers - * @description List of elements that should be in the new sub-collection. + * Nice total disc usage + * @description Size of all non-purged, unique datasets of the user in a nice format. */ - element_identifiers?: components["schemas"]["CollectionElementIdentifier"][]; + nice_total_disk_usage: string; /** - * ID - * @description The encoded ID of the element. - * @example 0123456789ABCDEF + * Quota percent + * @description Percentage of the storage quota applicable to the user. */ - id?: string; + quota_percent?: Record; /** - * Name - * @description The name of the element. + * Total disk usage + * @description Size of all non-purged, unique datasets of the user in bytes. */ - name?: string; + total_disk_usage: number; + }; + /** + * ArchiveHistoryRequestPayload + * @description Base model definition with common configuration used by all derived models. + */ + ArchiveHistoryRequestPayload: { /** - * Source - * @description The source of the element. + * Export Record ID + * @description The encoded ID of the export record to associate with this history archival.This is used to be able to recover the history from the export record. + * @example 0123456789ABCDEF */ - src: components["schemas"]["ColletionSourceType"]; + archive_export_id?: string; /** - * Tags - * @description The list of tags associated with the element. + * Purge History + * @description Whether to purge the history after archiving it. It requires an `archive_export_id` to be set. + * @default false */ - tags?: string[]; + purge_history?: boolean; }; /** - * ColletionSourceType - * @description An enumeration. - * @enum {string} - */ - ColletionSourceType: "hda" | "ldda" | "hdca" | "new_collection"; - /** - * CompositeDataElement - * @description Base model definition with common configuration used by all derived models. + * ArchivedHistoryDetailed + * @description History detailed information. */ - CompositeDataElement: { - /** Md5 */ - MD5?: string; + ArchivedHistoryDetailed: { /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false + * Annotation + * @description An annotation to provide details or to help understand the purpose and usage of this item. */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - composite: components["schemas"]["CompositeItems"]; - /** Created From Basename */ - created_from_basename?: string; + annotation: string; /** - * Dbkey - * @default ? + * Archived + * @description Whether this item has been archived and is no longer active. */ - dbkey?: string; + archived: boolean; /** - * Deferred - * @default false + * Contents URL + * @description The relative URL to access the contents of this History. */ - deferred?: boolean; - elements_from?: components["schemas"]["ElementsFromType"]; + contents_url: string; /** - * Ext - * @default auto + * Count + * @description The number of items in the history. */ - ext?: string; - extra_files?: components["schemas"]["ExtraFiles"]; - /** Info */ - info?: string; - /** Name */ - name?: string; + count: number; /** - * Space To Tab - * @default false + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - space_to_tab?: boolean; + create_time: string; /** - * Src - * @enum {string} + * Deleted + * @description Whether this item is marked as deleted. */ - src: "composite"; - /** Tags */ - tags?: string[]; + deleted: boolean; /** - * To Posix Lines - * @default false + * Export Record Data + * @description The export record data associated with this archived history. Used to recover the history. */ - to_posix_lines?: boolean; - }; - /** CompositeFileInfo */ - CompositeFileInfo: { + export_record_data?: components["schemas"]["ExportRecordData"]; /** - * Description - * @description Summary description of the purpouse of this file + * Genome Build + * @description TODO + * @default ? */ - description?: string; + genome_build?: string; /** - * Is binary - * @description Whether this file is a binary file + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - is_binary: boolean; + id: string; /** - * MIME type - * @description The MIME type of this file + * Importable + * @description Whether this History can be imported by other users with a shared link. */ - mimetype?: string; + importable: boolean; + /** + * Model class + * @description The name of the database model class. + * @default History + * @enum {string} + */ + model_class: "History"; /** * Name - * @description The name of this composite file + * @description The name of the history. */ name: string; - /** Optional */ - optional: boolean; - /** Spaces to tabulation */ - space_to_tab: boolean; - /** Substitute name with metadata */ - substitute_name_with_metadata?: string; - /** To posix lines */ - to_posix_lines: boolean; - }; - /** - * CompositeItems - * @description Base model definition with common configuration used by all derived models. - */ - CompositeItems: { - /** Elements */ - elements: ( - | components["schemas"]["FileDataElement"] - | components["schemas"]["PastedDataElement"] - | components["schemas"]["UrlDataElement"] - | components["schemas"]["PathDataElement"] - | components["schemas"]["ServerDirElement"] - | components["schemas"]["FtpImportElement"] - )[]; - }; - /** - * ComputeDatasetHashPayload - * @description Base model definition with common configuration used by all derived models. - */ - ComputeDatasetHashPayload: { /** - * Extra Files Path - * @description If set, extra files path to compute a hash for. + * Preferred Object Store ID + * @description The ID of the object store that should be used to store new datasets in this history. */ - extra_files_path?: string; + preferred_object_store_id?: string; /** - * @description Hash function name to use to compute dataset hashes. - * @default MD5 + * Published + * @description Whether this resource is currently publicly available to all users. */ - hash_function?: components["schemas"]["HashFunctionNameEnum"]; - }; - /** ConcreteObjectStoreModel */ - ConcreteObjectStoreModel: { - /** Badges */ - badges: components["schemas"]["BadgeDict"][]; - /** Description */ - description?: string; - /** Name */ - name?: string; - /** Object Store Id */ - object_store_id?: string; - /** Private */ - private: boolean; - quota: components["schemas"]["QuotaModel"]; - }; - /** ContentsObject */ - ContentsObject: { + published: boolean; /** - * Contents - * @description If this ContentsObject describes a nested bundle and the caller specified "?expand=true" on the request, then this contents array must be present and describe the objects within the nested bundle. + * Purged + * @description Whether this item has been permanently removed. */ - contents?: components["schemas"]["ContentsObject"][]; + purged: boolean; /** - * Drs Uri - * @description A list of full DRS identifier URI paths that may be used to obtain the object. These URIs may be external to this DRS instance. - * @example drs://drs.example.org/314159 + * Size + * @description The total size of the contents of this history in bytes. */ - drs_uri?: string[]; + size: number; /** - * Id - * @description A DRS identifier of a `DrsObject` (either a single blob or a nested bundle). If this ContentsObject is an object within a nested bundle, then the id is optional. Otherwise, the id is required. + * Slug + * @description Part of the URL to uniquely identify this History by link in a readable way. */ - id?: string; + slug?: string; /** - * Name - * @description A name declared by the bundle author that must be used when materialising this object, overriding any name directly associated with the object itself. The name must be unique with the containing bundle. This string is made up of uppercase and lowercase letters, decimal digits, hyphen, period, and underscore [A-Za-z0-9.-_]. See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable filenames]. + * State + * @description The current state of the History based on the states of the datasets it contains. */ - name: string; - }; - /** - * ConvertedDatasetsMap - * @description Map of `file extension` -> `converted dataset encoded id` - * @example { - * "csv": "dataset_id" - * } - */ - ConvertedDatasetsMap: { - [key: string]: string | undefined; - }; - /** - * CreateEntryPayload - * @description Base model definition with common configuration used by all derived models. - */ - CreateEntryPayload: { + state: components["schemas"]["DatasetState"]; /** - * Name - * @description The name of the entry to create. - * @example my_new_entry + * State Counts + * @description A dictionary keyed to possible dataset states and valued with the number of datasets in this history that have those states. */ - name: string; + state_details: { + [key: string]: number | undefined; + }; /** - * Target - * @description The target file source to create the entry in. + * State IDs + * @description A dictionary keyed to possible dataset states and valued with lists containing the ids of each HDA in that state. */ - target: string; - }; - /** - * CreateHistoryContentFromStore - * @description Base model definition with common configuration used by all derived models. - */ - CreateHistoryContentFromStore: { - model_store_format?: components["schemas"]["ModelStoreFormat"]; - /** Store Content Uri */ - store_content_uri?: string; - /** Store Dict */ - store_dict?: Record; - }; - /** - * CreateHistoryContentPayload - * @description Base model definition with common configuration used by all derived models. - */ - CreateHistoryContentPayload: { + state_ids: { + [key: string]: string[] | undefined; + }; + tags: components["schemas"]["TagCollection"]; /** - * Collection Type - * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - collection_type?: string; + update_time: string; /** - * Content - * @description Depending on the `source` it can be: - * - The encoded id from the library dataset - * - The encoded id from the library folder - * - The encoded id from the HDA - * - The encoded id from the HDCA + * URL + * @deprecated + * @description The relative URL to access this item. */ - content?: string | string; + url: string; /** - * Copy Elements - * @description If the source is a collection, whether to copy child HDAs into the target history as well, defaults to False but this is less than ideal and may be changed in future releases. - * @default false + * User ID + * @description The encoded ID of the user that owns this History. + * @example 0123456789ABCDEF */ - copy_elements?: boolean; + user_id: string; /** - * DBKey - * @description TODO + * Username and slug + * @description The relative URL in the form of /u/{username}/h/{slug} */ - dbkey?: string; + username_and_slug?: string; + }; + /** + * ArchivedHistorySummary + * @description History summary information. + */ + ArchivedHistorySummary: { /** - * Element Identifiers - * @description List of elements that should be in the new collection. + * Annotation + * @description An annotation to provide details or to help understand the purpose and usage of this item. */ - element_identifiers?: components["schemas"]["CollectionElementIdentifier"][]; + annotation: string; /** - * Folder Id - * @description The ID of the library folder that will contain the collection. Required if `instance_type=library`. - * @example 0123456789ABCDEF + * Archived + * @description Whether this item has been archived and is no longer active. */ - folder_id?: string; + archived: boolean; /** - * Hide Source Items - * @description Whether to mark the original HDAs as hidden. - * @default false + * Count + * @description The number of items in the history. */ - hide_source_items?: boolean; + count: number; /** - * History Id - * @description The ID of the history that will contain the collection. Required if `instance_type=history`. + * Deleted + * @description Whether this item is marked as deleted. + */ + deleted: boolean; + /** + * Export Record Data + * @description The export record data associated with this archived history. Used to recover the history. + */ + export_record_data?: components["schemas"]["ExportRecordData"]; + /** + * ID + * @description The encoded ID of this entity. * @example 0123456789ABCDEF */ - history_id?: string; + id: string; /** - * Instance Type - * @description The type of the instance, either `history` (default) or `library`. - * @default history + * Model class + * @description The name of the database model class. + * @default History * @enum {string} */ - instance_type?: "history" | "library"; + model_class: "History"; /** * Name - * @description The name of the new collection. + * @description The name of the history. */ - name?: string; + name: string; /** - * Source - * @description The source of the content. Can be other history element to be copied or library elements. + * Preferred Object Store ID + * @description The ID of the object store that should be used to store new datasets in this history. */ - source?: components["schemas"]["HistoryContentSource"]; + preferred_object_store_id?: string; /** - * Type - * @description The type of content to be created in the history. - * @default dataset + * Published + * @description Whether this resource is currently publicly available to all users. */ - type?: components["schemas"]["HistoryContentType"]; - }; - /** - * CreateHistoryFromStore - * @description Base model definition with common configuration used by all derived models. - */ - CreateHistoryFromStore: { - model_store_format?: components["schemas"]["ModelStoreFormat"]; - /** Store Content Uri */ - store_content_uri?: string; - /** Store Dict */ - store_dict?: Record; - }; - /** - * CreateLibrariesFromStore - * @description Base model definition with common configuration used by all derived models. - */ - CreateLibrariesFromStore: { - model_store_format?: components["schemas"]["ModelStoreFormat"]; - /** Store Content Uri */ - store_content_uri?: string; - /** Store Dict */ - store_dict?: Record; - }; - /** - * CreateLibraryFilePayload - * @description Base model definition with common configuration used by all derived models. - */ - CreateLibraryFilePayload: { + published: boolean; /** - * From HDA ID - * @description The ID of an accessible HDA to copy into the library. - * @example 0123456789ABCDEF + * Purged + * @description Whether this item has been permanently removed. */ - from_hda_id?: string; + purged: boolean; + tags: components["schemas"]["TagCollection"]; /** - * From HDCA ID - * @description The ID of an accessible HDCA to copy into the library. Nested collections are not allowed, you must flatten the collection first. - * @example 0123456789ABCDEF + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - from_hdca_id?: string; + update_time: string; /** - * LDDA Message - * @description The new message attribute of the LDDA created. - * @default + * URL + * @deprecated + * @description The relative URL to access this item. */ - ldda_message?: string; + url: string; }; /** - * CreateLibraryFolderPayload + * AsyncFile * @description Base model definition with common configuration used by all derived models. */ - CreateLibraryFolderPayload: { - /** - * Description - * @description A detailed description of the library folder. - * @default - */ - description?: string; + AsyncFile: { /** - * Name - * @description The name of the library folder. + * Storage Request Id + * Format: uuid */ - name: string; + storage_request_id: string; + task: components["schemas"]["AsyncTaskResultSummary"]; }; /** - * CreateLibraryPayload + * AsyncTaskResultSummary * @description Base model definition with common configuration used by all derived models. */ - CreateLibraryPayload: { - /** - * Description - * @description A detailed description of the Library. - * @default - */ - description?: string; + AsyncTaskResultSummary: { /** - * Name - * @description The name of the Library. + * ID + * @description Celery AsyncResult ID for this task */ - name: string; + id: string; /** - * Synopsis - * @description A short text describing the contents of the Library. - * @default + * Ignored + * @description Indicated whether the Celery AsyncResult will be available for retrieval */ - synopsis?: string; + ignored: boolean; + /** Name of task being done derived from Celery AsyncResult */ + name?: string; + /** Queue of task being done derived from Celery AsyncResult */ + queue?: string; }; - /** CreateMetricsPayload */ - CreateMetricsPayload: { + /** BadgeDict */ + BadgeDict: { + /** Message */ + message: string; /** - * List of metrics to be recorded. - * @default [] - * @example [ - * { - * "args": "{\"test\":\"value\"}", - * "level": 0, - * "namespace": "test-source", - * "time": "2021-01-23T18:25:43.511Z" - * } - * ] + * Source + * @enum {string} */ - metrics?: components["schemas"]["Metric"][]; + source: "admin" | "galaxy"; + /** Type */ + type: + | ( + | "faster" + | "slower" + | "short_term" + | "backed_up" + | "not_backed_up" + | "more_secure" + | "less_secure" + | "more_stable" + | "less_stable" + ) + | ("cloud" | "quota" | "no_quota" | "restricted"); }; /** - * CreateNewCollectionPayload + * BasicRoleModel * @description Base model definition with common configuration used by all derived models. */ - CreateNewCollectionPayload: { + BasicRoleModel: { /** - * Collection Type - * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. + * ID + * @description Encoded ID of the role + * @example 0123456789ABCDEF */ - collection_type?: string; + id: string; /** - * Copy Elements - * @description Whether to create a copy of the source HDAs for the new collection. - * @default false + * Name + * @description Name of the role */ - copy_elements?: boolean; + name: string; /** - * Element Identifiers - * @description List of elements that should be in the new collection. + * Type + * @description Type or category of the role */ - element_identifiers?: components["schemas"]["CollectionElementIdentifier"][]; + type: string; + }; + /** Body_create_api_histories_post */ + Body_create_api_histories_post: { /** - * Folder Id - * @description The ID of the library folder that will contain the collection. Required if `instance_type=library`. - * @example 0123456789ABCDEF + * All Datasets + * @default true */ - folder_id?: string; + all_datasets?: Record; + /** Archive File */ + archive_file?: Record; + /** Archive Source */ + archive_source?: Record; /** - * Hide Source Items - * @description Whether to mark the original HDAs as hidden. - * @default false + * Archive Type + * @default url */ - hide_source_items?: boolean; + archive_type?: Record; + /** History Id */ + history_id?: Record; + /** Name */ + name?: Record; + }; + /** Body_fetch_form_api_tools_fetch_post */ + Body_fetch_form_api_tools_fetch_post: { + /** Files */ + files?: string[]; + /** History Id */ + history_id: Record; + /** Targets */ + targets: Record; + }; + /** + * BroadcastNotificationContent + * @description Base model definition with common configuration used by all derived models. + */ + BroadcastNotificationContent: { /** - * History Id - * @description The ID of the history that will contain the collection. Required if `instance_type=history`. - * @example 0123456789ABCDEF + * Action links + * @description The optional action links (buttons) to be displayed in the notification. */ - history_id?: string; + action_links?: components["schemas"]["ActionLink"][]; /** - * Instance Type - * @description The type of the instance, either `history` (default) or `library`. - * @default history + * Category + * @default broadcast * @enum {string} */ - instance_type?: "history" | "library"; + category?: "broadcast"; /** - * Name - * @description The name of the new collection. + * Message + * @description The message of the notification (supports Markdown). */ - name?: string; + message: string; + /** + * Subject + * @description The subject of the notification. + */ + subject: string; }; /** - * CreatePagePayload - * @description Base model definition with common configuration used by all derived models. + * BroadcastNotificationCreateRequest + * @description A notification create request specific for broadcasting. */ - CreatePagePayload: { + BroadcastNotificationCreateRequest: { /** - * Annotation - * @description Annotation that will be attached to the page. + * Category + * @default broadcast + * @enum {string} */ - annotation?: string; + category?: "broadcast"; /** * Content - * @description Raw text contents of the first page revision (type dependent on content_format). - * @default + * @description The content of the broadcast notification. Broadcast notifications are displayed prominently to all users and can contain action links to redirect the user to a specific page. */ - content?: string; + content: components["schemas"]["BroadcastNotificationContent"]; /** - * Content format - * @description Either `markdown` or `html`. - * @default html + * Expiration time + * Format: date-time + * @description The time when the notification should expire. By default it will expire after 6 months. Expired notifications will be permanently deleted. */ - content_format?: components["schemas"]["PageContentFormat"]; + expiration_time?: string; /** - * Workflow invocation ID - * @description Encoded ID used by workflow generated reports. - * @example 0123456789ABCDEF + * Publication time + * Format: date-time + * @description The time when the notification should be published. Notifications can be created and then scheduled to be published at a later time. */ - invocation_id?: string; + publication_time?: string; /** - * Identifier - * @description The title slug for the page URL, must be unique. + * Source + * @description The source of the notification. Represents the agent that created the notification. E.g. 'galaxy' or 'admin'. */ - slug: string; + source: string; /** - * Title - * @description The name of the page. + * Variant + * @description The variant of the notification. Represents the intent or relevance of the notification. E.g. 'info' or 'urgent'. */ - title: string; + variant: components["schemas"]["NotificationVariant"]; }; /** - * CreateQuotaParams - * @description Base model definition with common configuration used by all derived models. + * BroadcastNotificationListResponse + * @description A list of broadcast notifications. */ - CreateQuotaParams: { + BroadcastNotificationListResponse: components["schemas"]["BroadcastNotificationResponse"][]; + /** + * BroadcastNotificationResponse + * @description A notification response specific for broadcasting. + */ + BroadcastNotificationResponse: { /** - * Amount - * @description Quota size (E.g. ``10000MB``, ``99 gb``, ``0.2T``, ``unlimited``) + * Category + * @default broadcast + * @enum {string} */ - amount: string; + category?: "broadcast"; + content: components["schemas"]["BroadcastNotificationContent"]; /** - * Default - * @description Whether or not this is a default quota. Valid values are ``no``, ``unregistered``, ``registered``. None is equivalent to ``no``. - * @default no + * Create time + * Format: date-time + * @description The time when the notification was created. */ - default?: components["schemas"]["DefaultQuotaValues"]; + create_time: string; /** - * Description - * @description Detailed text description for this Quota. + * Expiration time + * Format: date-time + * @description The time when the notification will expire. If not set, the notification will never expire. Expired notifications will be permanently deleted. */ - description: string; + expiration_time?: string; /** - * Groups - * @description A list of group IDs or names to associate with this quota. - * @default [] + * ID + * @description The encoded ID of the notification. + * @example 0123456789ABCDEF */ - in_groups?: string[]; + id: string; /** - * Users - * @description A list of user IDs or user emails to associate with this quota. - * @default [] + * Publication time + * Format: date-time + * @description The time when the notification was published. Notifications can be created and then published at a later time. */ - in_users?: string[]; + publication_time: string; /** - * Name - * @description The name of the quota. This must be unique within a Galaxy instance. + * Source + * @description The source of the notification. Represents the agent that created the notification. E.g. 'galaxy' or 'admin'. */ - name: string; + source: string; /** - * Operation - * @description Quotas can have one of three `operations`:- `=` : The quota is exactly the amount specified- `+` : The amount specified will be added to the amounts of the user's other associated quota definitions- `-` : The amount specified will be subtracted from the amounts of the user's other associated quota definitions - * @default = + * Update time + * Format: date-time + * @description The time when the notification was last updated. */ - operation?: components["schemas"]["QuotaOperation"]; + update_time: string; /** - * Quota Source Label - * @description If set, quota source label to apply this quota operation to. Otherwise, the default quota is used. + * Variant + * @description The variant of the notification. Represents the intent or relevance of the notification. E.g. 'info' or 'urgent'. */ - quota_source_label?: string; + variant: components["schemas"]["NotificationVariant"]; }; /** - * CreateQuotaResult - * @description Contains basic information about a Quota + * BrowsableFilesSourcePlugin + * @description Base model definition with common configuration used by all derived models. */ - CreateQuotaResult: { + BrowsableFilesSourcePlugin: { + /** + * Browsable + * @enum {boolean} + */ + browsable: true; + /** + * Documentation + * @description Documentation or extended description for this plugin. + * @example Galaxy's library import directory + */ + doc: string; /** * ID - * @description The `encoded identifier` of the quota. - * @example 0123456789ABCDEF + * @description The `FilesSource` plugin identifier + * @example _import */ id: string; /** - * Message - * @description Text message describing the result of the operation. + * Label + * @description The display label for this plugin. + * @example Library Import Directory */ - message: string; + label: string; /** - * Model class - * @description The name of the database model class. - * @default Quota - * @enum {string} + * Requires groups + * @description Only users belonging to the groups specified here can access this files source. */ - model_class: "Quota"; + requires_groups?: string; /** - * Name - * @description The name of the quota. This must be unique within a Galaxy instance. + * Requires roles + * @description Only users with the roles specified here can access this files source. */ - name: string; + requires_roles?: string; /** - * Quota Source Label - * @description Quota source label + * Type + * @description The type of the plugin. + * @example gximport */ - quota_source_label?: string; + type: string; /** - * URL - * @deprecated - * @description The relative URL to get this particular Quota details from the rest API. + * URI root + * @description The URI root used by this type of plugin. + * @example gximport:// */ - url: string; + uri_root: string; + /** + * Writeable + * @description Whether this files source plugin allows write access. + * @example false + */ + writable: boolean; }; /** - * CreatedEntryResponse + * BulkOperationItemError * @description Base model definition with common configuration used by all derived models. */ - CreatedEntryResponse: { - /** - * External link - * @description An optional external link to the created entry if available. - */ - external_link?: string; + BulkOperationItemError: { + /** Error */ + error: string; + item: components["schemas"]["EncodedHistoryContentItem"]; + }; + /** + * ChangeDatatypeOperationParams + * @description Base model definition with common configuration used by all derived models. + */ + ChangeDatatypeOperationParams: { + /** Datatype */ + datatype: string; /** - * Name - * @description The name of the created entry. - * @example my_new_entry + * Type + * @enum {string} */ - name: string; + type: "change_datatype"; + }; + /** + * ChangeDbkeyOperationParams + * @description Base model definition with common configuration used by all derived models. + */ + ChangeDbkeyOperationParams: { + /** Dbkey */ + dbkey: string; /** - * URI - * @description The URI of the created entry. - * @example gxfiles://my_new_entry + * Type + * @enum {string} */ - uri: string; + type: "change_dbkey"; }; /** - * CreatedUserModel - * @description User in a transaction context. + * CheckForUpdatesResponse + * @description Base model definition with common configuration used by all derived models. */ - CreatedUserModel: { + CheckForUpdatesResponse: { /** - * Active - * @description User is active + * Message + * @description Unstructured description of tool shed updates discovered or failure */ - active: boolean; + message: string; /** - * Deleted - * @description User is deleted + * Status + * @description 'ok' or 'error' + * @enum {string} */ - deleted: boolean; + status: "ok" | "error"; + }; + /** Checksum */ + Checksum: { /** - * Email - * @description Email of the user + * Checksum + * @description The hex-string encoded checksum for the data */ - email: string; + checksum: string; /** - * ID - * @description Encoded ID of the user - * @example 0123456789ABCDEF + * Type + * @description The digest method used to create the checksum. + * The value (e.g. `sha-256`) SHOULD be listed as `Hash Name String` in the https://www.iana.org/assignments/named-information/named-information.xhtml#hash-alg[IANA Named Information Hash Algorithm Registry]. Other values MAY be used, as long as implementors are aware of the issues discussed in https://tools.ietf.org/html/rfc6920#section-9.4[RFC6920]. + * GA4GH may provide more explicit guidance for use of non-IANA-registered algorithms in the future. Until then, if implementors do choose such an algorithm (e.g. because it's implemented by their storage provider), they SHOULD use an existing standard `type` value such as `md5`, `etag`, `crc32c`, `trunc512`, or `sha1`. + * @example sha-256 */ - id: string; + type: string; + }; + /** + * CleanableItemsSummary + * @description Base model definition with common configuration used by all derived models. + */ + CleanableItemsSummary: { /** - * Last password change - * Format: date-time + * Total Items + * @description The total number of items that could be purged. */ - last_password_change?: string; + total_items: number; /** - * Model class - * @description The name of the database model class. - * @default User - * @enum {string} - */ - model_class: "User"; - /** - * Nice total disc usage - * @description Size of all non-purged, unique datasets of the user in a nice format. - */ - nice_total_disk_usage: string; - /** - * Preferred Object Store ID - * @description The ID of the object store that should be used to store new datasets in this history. - */ - preferred_object_store_id?: string; - /** - * Total disk usage - * @description Size of all non-purged, unique datasets of the user in bytes. - */ - total_disk_usage: number; - /** - * user_name - * @description The name of the user. + * Total Size + * @description The total size in bytes that can be recovered by purging all the items. */ - username: string; + total_size: number; }; /** - * CustomBuildCreationPayload + * CleanupStorageItemsRequest * @description Base model definition with common configuration used by all derived models. */ - CustomBuildCreationPayload: { - /** - * Length type - * @description The type of the len file. - */ - "len|type": components["schemas"]["CustomBuildLenType"]; - /** - * Length value - * @description The content of the length file. - */ - "len|value": string; - /** - * Name - * @description The name of the custom build. - */ - name: string; + CleanupStorageItemsRequest: { + /** Item Ids */ + item_ids: string[]; }; /** - * CustomBuildLenType - * @description An enumeration. - * @enum {string} - */ - CustomBuildLenType: "file" | "fasta" | "text"; - /** - * CustomBuildModel + * CloudDatasets * @description Base model definition with common configuration used by all derived models. */ - CustomBuildModel: { - /** - * Count - * @description The number of chromosomes/contigs. - */ - count?: string; + CloudDatasets: { /** - * Fasta - * @description The primary id of the fasta file from a history. + * Authentication ID + * @description The ID of CloudAuthz to be used for authorizing access to the resource provider. You may get a list of the defined authorizations via `/api/cloud/authz`. Also, you can use `/api/cloud/authz/create` to define a new authorization. * @example 0123456789ABCDEF */ - fasta?: string; + authz_id: string; /** - * ID - * @description The ID of the custom build. + * Bucket + * @description The name of a bucket to which data should be sent (e.g., a bucket name on AWS S3). */ - id: string; + bucket: string; /** - * Length - * @description The primary id of the len file. - * @example 0123456789ABCDEF + * Objects + * @description A list of dataset IDs belonging to the specified history that should be sent to the given bucket. If not provided, Galaxy sends all the datasets belonging the specified history. */ - len: string; + dataset_ids?: string[]; /** - * Line count - * @description The primary id of a linecount dataset. + * History ID + * @description The ID of history from which the object should be downloaded * @example 0123456789ABCDEF */ - linecount?: string; + history_id: string; /** - * Name - * @description The name of the custom build. + * Spaces to tabs + * @description A boolean value. If set to 'True', and an object with same name of the dataset to be sent already exist in the bucket, Galaxy replaces the existing object with the dataset to be sent. If set to 'False', Galaxy appends datetime to the dataset name to prevent overwriting an existing object. + * @default false */ - name: string; + overwrite_existing?: boolean; }; /** - * CustomBuildsCollection - * @description The custom builds associated with the user. - */ - CustomBuildsCollection: components["schemas"]["CustomBuildModel"][]; - /** - * CustomBuildsMetadataResponse + * CloudDatasetsResponse * @description Base model definition with common configuration used by all derived models. */ - CustomBuildsMetadataResponse: { + CloudDatasetsResponse: { /** - * Fasta HDAs - * @description A list of label/value pairs with all the datasets of type `FASTA` contained in the History. - * - `label` is item position followed by the name of the dataset. - * - `value` is the encoded database ID of the dataset. + * Bucket + * @description The name of bucket to which the listed datasets are queued to be sent */ - fasta_hdas: components["schemas"]["LabelValuePair"][]; + bucket_name: string; /** - * Installed Builds - * @description TODO + * Failed datasets + * @description The datasets for which Galaxy failed to create (and queue) send job */ - installed_builds: components["schemas"]["LabelValuePair"][]; + failed_dataset_labels: string[]; + /** + * Send datasets + * @description The datasets for which Galaxy succeeded to create (and queue) send job + */ + sent_dataset_labels: string[]; }; /** - * CustomHistoryItem - * @description Can contain any serializable property of the item. - * - * Allows arbitrary custom keys to be specified in the serialization - * parameters without a particular view (predefined set of keys). - */ - CustomHistoryItem: Record; - /** - * DCESummary - * @description Dataset Collection Element summary information. + * CloudObjects + * @description Base model definition with common configuration used by all derived models. */ - DCESummary: { - /** - * Element Identifier - * @description The actual name of this element. - */ - element_identifier: string; + CloudObjects: { /** - * Element Index - * @description The position index of this element inside the collection. + * Authentication ID + * @description The ID of CloudAuthz to be used for authorizing access to the resource provider. You may get a list of the defined authorizations via `/api/cloud/authz`. Also, you can use `/api/cloud/authz/create` to define a new authorization. + * @example 0123456789ABCDEF */ - element_index: number; + authz_id: string; /** - * Element Type - * @description The type of the element. Used to interpret the `object` field. + * Bucket + * @description The name of a bucket from which data should be fetched from (e.g., a bucket name on AWS S3). */ - element_type: components["schemas"]["DCEType"]; + bucket: string; /** - * ID - * @description The encoded ID of this entity. + * History ID + * @description The ID of history to which the object should be received to. * @example 0123456789ABCDEF */ - id: string; + history_id: string; /** - * Model class - * @description The name of the database model class. - * @default DatasetCollectionElement - * @enum {string} + * Input arguments + * @description A summary of the input arguments, which is optional and will default to {}. */ - model_class: "DatasetCollectionElement"; + input_args?: components["schemas"]["InputArguments"]; /** - * Object - * @description The element's specific data depending on the value of `element_type`. + * Objects + * @description A list of the names of objects to be fetched. */ - object: - | components["schemas"]["HDAObject"] - | components["schemas"]["HDADetailed"] - | components["schemas"]["DCObject"]; + objects: string[]; }; /** - * DCEType - * @description Available types of dataset collection elements. - * @enum {string} - */ - DCEType: "hda" | "dataset_collection"; - /** - * DCObject - * @description Dataset Collection Object + * CollectionElementIdentifier + * @description Base model definition with common configuration used by all derived models. */ - DCObject: { + CollectionElementIdentifier: { /** * Collection Type * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ - collection_type: string; - /** - * Contents URL - * @description The relative URL to access the contents of this History. - */ - contents_url?: string; - /** - * Element Count - * @description The number of elements contained in the dataset collection. It may be None or undefined if the collection could not be populated. - */ - element_count?: number; + collection_type?: string; /** - * Elements - * @description The summary information of each of the elements inside the dataset collection. - * @default [] + * Element Identifiers + * @description List of elements that should be in the new sub-collection. */ - elements?: components["schemas"]["DCESummary"][]; + element_identifiers?: components["schemas"]["CollectionElementIdentifier"][]; /** * ID - * @description The encoded ID of this entity. + * @description The encoded ID of the element. * @example 0123456789ABCDEF */ - id: string; + id?: string; /** - * Model class - * @description The name of the database model class. - * @default DatasetCollection - * @enum {string} + * Name + * @description The name of the element. */ - model_class: "DatasetCollection"; + name?: string; /** - * Populated - * @description Whether the dataset collection elements (and any subcollections elements) were successfully populated. + * Source + * @description The source of the element. */ - populated?: boolean; + src: components["schemas"]["ColletionSourceType"]; + /** + * Tags + * @description The list of tags associated with the element. + */ + tags?: string[]; }; /** - * DataElementsFromTarget + * ColletionSourceType + * @description An enumeration. + * @enum {string} + */ + ColletionSourceType: "hda" | "ldda" | "hdca" | "new_collection"; + /** + * CompositeDataElement * @description Base model definition with common configuration used by all derived models. */ - DataElementsFromTarget: { + CompositeDataElement: { + /** Md5 */ + MD5?: string; /** * Auto Decompress * @description Decompress compressed data before sniffing? * @default false */ auto_decompress?: boolean; - /** Destination */ - destination: - | components["schemas"]["HdaDestination"] - | components["schemas"]["LibraryFolderDestination"] - | components["schemas"]["LibraryDestination"]; - elements_from: components["schemas"]["ElementsFromType"]; - /** Ftp Path */ - ftp_path?: string; - /** Path */ - path?: string; - /** Server Dir */ - server_dir?: string; - src: components["schemas"]["ItemsFromSrc"]; - /** Url */ - url?: string; - }; - /** - * DataElementsTarget - * @description Base model definition with common configuration used by all derived models. - */ - DataElementsTarget: { - /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false - */ - auto_decompress?: boolean; - /** Destination */ - destination: - | components["schemas"]["HdaDestination"] - | components["schemas"]["LibraryFolderDestination"] - | components["schemas"]["LibraryDestination"]; - /** Elements */ - elements: ( - | ( - | components["schemas"]["FileDataElement"] - | components["schemas"]["PastedDataElement"] - | components["schemas"]["UrlDataElement"] - | components["schemas"]["PathDataElement"] - | components["schemas"]["ServerDirElement"] - | components["schemas"]["FtpImportElement"] - | components["schemas"]["CompositeDataElement"] - ) - | components["schemas"]["NestedElement"] - )[]; - }; - /** - * DatasetAssociationRoles - * @description Base model definition with common configuration used by all derived models. - */ - DatasetAssociationRoles: { + /** Collection Type */ + collection_type?: string; + composite: components["schemas"]["CompositeItems"]; + /** Created From Basename */ + created_from_basename?: string; /** - * Access Roles - * @description A list of roles that can access the dataset. The user has to **have all these roles** in order to access this dataset. Users without access permission **cannot** have other permissions on this dataset. If there are no access roles set on the dataset it is considered **unrestricted**. - * @default [] + * Dbkey + * @default ? */ - access_dataset_roles?: string[][]; + dbkey?: string; /** - * Manage Roles - * @description A list of roles that can manage permissions on the dataset. Users with **any** of these roles can manage permissions of this dataset. If you remove yourself you will lose the ability to manage this dataset unless you are an admin. - * @default [] + * Deferred + * @default false */ - manage_dataset_roles?: string[][]; + deferred?: boolean; + elements_from?: components["schemas"]["ElementsFromType"]; /** - * Modify Roles - * @description A list of roles that can modify the library item. This is a library related permission. User with **any** of these roles can modify name, metadata, and other information about this library item. - * @default [] + * Ext + * @default auto */ - modify_item_roles?: string[][]; - }; - /** - * DatasetCollectionAttributesResult - * @description Base model definition with common configuration used by all derived models. - */ - DatasetCollectionAttributesResult: { + ext?: string; + extra_files?: components["schemas"]["ExtraFiles"]; + /** Info */ + info?: string; + /** Name */ + name?: string; /** - * Dbkey - * @description TODO + * Space To Tab + * @default false */ - dbkey: string; - /** Dbkeys */ - dbkeys?: string[]; + space_to_tab?: boolean; /** - * Extension - * @description The dataset file extension. - * @example txt + * Src + * @enum {string} */ - extension: string; - /** Extensions */ - extensions?: string[]; + src: "composite"; + /** Tags */ + tags?: string[]; /** - * Model class - * @description The name of the database model class. - * @default HistoryDatasetCollectionAssociation - * @enum {string} + * To Posix Lines + * @default false */ - model_class: "HistoryDatasetCollectionAssociation"; - tags: components["schemas"]["TagCollection"]; + to_posix_lines?: boolean; }; - /** - * DatasetCollectionContentElements - * @description Represents a collection of elements contained in the dataset collection. - */ - DatasetCollectionContentElements: components["schemas"]["DCESummary"][]; - /** - * DatasetCollectionPopulatedState - * @description An enumeration. - * @enum {string} - */ - DatasetCollectionPopulatedState: "new" | "ok" | "failed"; - /** - * DatasetContentType - * @description For retrieving content from a structured dataset (e.g. HDF5) - * @enum {string} - */ - DatasetContentType: "meta" | "attr" | "stats" | "data"; - /** - * DatasetErrorMessage - * @description Base model definition with common configuration used by all derived models. - */ - DatasetErrorMessage: { + /** CompositeFileInfo */ + CompositeFileInfo: { /** - * Dataset - * @description The encoded ID of the dataset and its source. + * Description + * @description Summary description of the purpouse of this file */ - dataset: components["schemas"]["EncodedDatasetSourceId"]; + description?: string; /** - * Error Message - * @description The error message returned while processing this dataset. + * Is binary + * @description Whether this file is a binary file */ - error_message: string; - }; - /** - * DatasetInheritanceChain - * @description Base model definition with common configuration used by all derived models. - * @default [] - */ - DatasetInheritanceChain: components["schemas"]["DatasetInheritanceChainEntry"][]; - /** - * DatasetInheritanceChainEntry - * @description Base model definition with common configuration used by all derived models. - */ - DatasetInheritanceChainEntry: { + is_binary: boolean; /** - * Dep - * @description Name of the source of the referenced dataset at this point of the inheritance chain. + * MIME type + * @description The MIME type of this file */ - dep: string; + mimetype?: string; /** * Name - * @description Name of the referenced dataset + * @description The name of this composite file */ name: string; + /** Optional */ + optional: boolean; + /** Spaces to tabulation */ + space_to_tab: boolean; + /** Substitute name with metadata */ + substitute_name_with_metadata?: string; + /** To posix lines */ + to_posix_lines: boolean; }; /** - * DatasetPermissions - * @description Role-based permissions for accessing and managing a dataset. - */ - DatasetPermissions: { - /** - * Access - * @description The set of roles (encoded IDs) that can access this dataset. - * @default [] - */ - access?: string[]; - /** - * Management - * @description The set of roles (encoded IDs) that can manage this dataset. - * @default [] - */ - manage?: string[]; - }; - /** - * DatasetSourceId + * CompositeItems * @description Base model definition with common configuration used by all derived models. */ - DatasetSourceId: { - /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF - */ - id: string; - /** - * Source - * @description The source of this dataset, either `hda` or `ldda` depending of its origin. - */ - src: components["schemas"]["DatasetSourceType"]; + CompositeItems: { + /** Elements */ + elements: ( + | components["schemas"]["FileDataElement"] + | components["schemas"]["PastedDataElement"] + | components["schemas"]["UrlDataElement"] + | components["schemas"]["PathDataElement"] + | components["schemas"]["ServerDirElement"] + | components["schemas"]["FtpImportElement"] + )[]; }; /** - * DatasetSourceType - * @description An enumeration. - * @enum {string} - */ - DatasetSourceType: "hda" | "ldda"; - /** - * DatasetState - * @description An enumeration. - * @enum {string} - */ - DatasetState: - | "new" - | "upload" - | "queued" - | "running" - | "ok" - | "empty" - | "error" - | "paused" - | "setting_metadata" - | "failed_metadata" - | "deferred" - | "discarded"; - /** - * DatasetStorageDetails - * @description Base model definition with common configuration used by all derived models. - */ - DatasetStorageDetails: { - /** - * Badges - * @description A mapping of object store labels to badges describing object store properties. - */ - badges: Record[]; - /** - * Dataset State - * @description The model state of the supplied dataset instance. - */ - dataset_state: string; - /** - * Description - * @description A description of how this dataset is stored. - */ - description?: string; - /** - * Hashes - * @description The file contents hashes associated with the supplied dataset instance. - */ - hashes: Record[]; - /** - * Name - * @description The display name of the destination ObjectStore for this dataset. - */ - name?: string; - /** - * Object Store Id - * @description The identifier of the destination ObjectStore for this dataset. - */ - object_store_id?: string; - /** - * Percent Used - * @description The percentage indicating how full the store is. - */ - percent_used?: number; - /** - * Quota - * @description Information about quota sources around dataset storage. - */ - quota: Record; - /** - * Shareable - * @description Is this dataset shareable. - */ - shareable: boolean; - /** - * Sources - * @description The file sources associated with the supplied dataset instance. - */ - sources: Record[]; - }; - /** - * DatasetSummary - * @description Base model definition with common configuration used by all derived models. - */ - DatasetSummary: { - /** - * Create Time - * Format: date-time - * @description The time and date this item was created. - */ - create_time?: string; - /** Deleted */ - deleted: boolean; - /** File Size */ - file_size: number; - /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF - */ - id: string; - /** Purgable */ - purgable: boolean; - /** Purged */ - purged: boolean; - /** - * State - * @description The current state of this dataset. - */ - state: components["schemas"]["DatasetState"]; - /** Total Size */ - total_size: number; - /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. - */ - update_time?: string; - /** - * UUID - * Format: uuid4 - * @description Universal unique identifier for this dataset. - */ - uuid: string; - }; - /** - * DatasetSummaryList - * @description Base model definition with common configuration used by all derived models. - */ - DatasetSummaryList: components["schemas"]["DatasetSummary"][]; - /** - * DatasetTextContentDetails - * @description Base model definition with common configuration used by all derived models. - */ - DatasetTextContentDetails: { - /** - * Item Data - * @description First chunk of text content (maximum 1MB) of the dataset. - */ - item_data?: string; - /** - * Item Url - * @description URL to access this dataset. - */ - item_url: string; - /** - * Truncated - * @description Whether the text in `item_data` has been truncated or contains the whole contents. - */ - truncated: boolean; - }; - /** - * DatasetValidatedState - * @description An enumeration. - * @enum {string} - */ - DatasetValidatedState: "unknown" | "invalid" | "ok"; - /** DatatypeConverter */ - DatatypeConverter: { - /** - * Source - * @description Source type for conversion - * @example bam - */ - source: string; - /** - * Target - * @description Target type for conversion - * @example bai - */ - target: string; - /** - * Tool identifier - * @description The converter tool identifier - * @example CONVERTER_Bam_Bai_0 - */ - tool_id: string; - }; - /** - * DatatypeConverterList - * @default [] - */ - DatatypeConverterList: components["schemas"]["DatatypeConverter"][]; - /** DatatypeDetails */ - DatatypeDetails: { - /** - * Composite files - * @description A collection of files composing this data type - */ - composite_files?: components["schemas"]["CompositeFileInfo"][]; - /** - * Description - * @description A summary description for this data type - */ - description?: string; - /** - * Description URL - * Format: uri - * @description The URL to a detailed description for this datatype - * @example https://wiki.galaxyproject.org/Learn/Datatypes#Bed - */ - description_url?: string; - /** - * Display in upload - * @description If True, the associated file extension will be displayed in the `File Format` select list in the `Upload File from your computer` tool in the `Get Data` tool section of the tool panel - * @default false - */ - display_in_upload?: boolean; - /** - * Extension - * @description The data type’s Dataset file extension - * @example bed - */ - extension: string; - /** - * Upload warning - * @description End-user information regarding potential pitfalls with this upload type. - */ - upload_warning?: string; - }; - /** DatatypeEDAMDetails */ - DatatypeEDAMDetails: { - /** - * Definition - * @description The EDAM definition - * @example Entry (gene) format of the NCBI database. - */ - definition?: string; - /** - * Label - * @description The EDAM label - * @example NCBI gene report format - */ - label?: string; - /** - * Prefix IRI - * @description The EDAM prefixed Resource Identifier - * @example format_1782 - */ - prefix_IRI: string; - }; - /** DatatypesCombinedMap */ - DatatypesCombinedMap: { - /** - * Datatypes - * @description List of datatypes extensions - */ - datatypes: string[]; - /** - * Datatypes Mapping - * @description Dictionaries for mapping datatype's extensions/classes with their implementation classes - */ - datatypes_mapping: components["schemas"]["DatatypesMap"]; - }; - /** - * DatatypesEDAMDetailsDict - * @default {} - */ - DatatypesEDAMDetailsDict: { - [key: string]: components["schemas"]["DatatypeEDAMDetails"] | undefined; - }; - /** DatatypesMap */ - DatatypesMap: { - /** - * Classes Map - * @description Dictionary mapping datatype's classes with their base classes - */ - class_to_classes: { - [key: string]: - | { - [key: string]: boolean | undefined; - } - | undefined; - }; - /** - * Extension Map - * @description Dictionary mapping datatype's extensions with implementation classes - */ - ext_to_class_name: { - [key: string]: string | undefined; - }; - }; - /** - * DefaultQuota - * @description Base model definition with common configuration used by all derived models. - */ - DefaultQuota: { - /** - * Model class - * @description The name of the database model class. - * @default DefaultQuotaAssociation - * @enum {string} - */ - model_class: "DefaultQuotaAssociation"; - /** - * Type - * @description The type of the default quota. Either one of: - * - `registered`: the associated quota will affect registered users. - * - `unregistered`: the associated quota will affect unregistered users. - */ - type: components["schemas"]["DefaultQuotaTypes"]; - }; - /** - * DefaultQuotaTypes - * @description An enumeration. - * @enum {string} - */ - DefaultQuotaTypes: "unregistered" | "registered"; - /** - * DefaultQuotaValues - * @description An enumeration. - * @enum {string} - */ - DefaultQuotaValues: "unregistered" | "registered" | "no"; - /** - * DeleteDatasetBatchPayload - * @description Base model definition with common configuration used by all derived models. - */ - DeleteDatasetBatchPayload: { - /** - * Datasets - * @description The list of datasets IDs with their sources to be deleted/purged. - */ - datasets: components["schemas"]["DatasetSourceId"][]; - /** - * Purge - * @description Whether to permanently delete from disk the specified datasets. *Warning*: this is a destructive operation. - * @default false - */ - purge?: boolean; - }; - /** - * DeleteDatasetBatchResult - * @description Base model definition with common configuration used by all derived models. - */ - DeleteDatasetBatchResult: { - /** - * Errors - * @description A list of dataset IDs and the corresponding error message if something went wrong while processing the dataset. - */ - errors?: components["schemas"]["DatasetErrorMessage"][]; - /** - * Success Count - * @description The number of datasets successfully processed. - */ - success_count: number; - }; - /** - * DeleteHistoryContentPayload - * @description Base model definition with common configuration used by all derived models. - */ - DeleteHistoryContentPayload: { - /** - * Purge - * @description Whether to remove the dataset from storage. Datasets will only be removed from storage once all HDAs or LDDAs that refer to this datasets are deleted. - * @default false - */ - purge?: boolean; - /** - * Recursive - * @description When deleting a dataset collection, whether to also delete containing datasets. - * @default false - */ - recursive?: boolean; - /** - * Stop Job - * @description Whether to stop the creating job if all the job's outputs are deleted. - * @default false - */ - stop_job?: boolean; - }; - /** - * DeleteHistoryContentResult - * @description Contains minimum information about the deletion state of a history item. - * - * Can also contain any other properties of the item. - */ - DeleteHistoryContentResult: { - /** - * Deleted - * @description True if the item was successfully deleted. - */ - deleted: boolean; - /** - * ID - * @description The encoded ID of the history item. - * @example 0123456789ABCDEF - */ - id: string; - /** - * Purged - * @description True if the item was successfully removed from disk. - */ - purged?: boolean; - }; - /** DeleteHistoryPayload */ - DeleteHistoryPayload: { - /** - * Purge - * @description Whether to definitely remove this history from disk. - * @default false - */ - purge?: boolean; - }; - /** - * DeleteLibraryPayload - * @description Base model definition with common configuration used by all derived models. - */ - DeleteLibraryPayload: { - /** - * Undelete - * @description Whether to restore this previously deleted library. - */ - undelete: boolean; - }; - /** - * DeleteQuotaPayload - * @description Base model definition with common configuration used by all derived models. - */ - DeleteQuotaPayload: { - /** - * Purge - * @description Whether to also purge the Quota after deleting it. - * @default false - */ - purge?: boolean; - }; - /** - * DeletedCustomBuild - * @description Base model definition with common configuration used by all derived models. - */ - DeletedCustomBuild: { - /** - * Deletion message - * @description Confirmation of the custom build deletion. - */ - message: string; - }; - /** - * DetailedUserModel - * @description Base model definition with common configuration used by all derived models. - */ - DetailedUserModel: { - /** - * Deleted - * @description User is deleted - */ - deleted: boolean; - /** - * Email - * @description Email of the user - */ - email: string; - /** - * ID - * @description Encoded ID of the user - * @example 0123456789ABCDEF - */ - id: string; - /** - * Is admin - * @description User is admin - */ - is_admin: boolean; - /** - * Nice total disc usage - * @description Size of all non-purged, unique datasets of the user in a nice format. - */ - nice_total_disk_usage: string; - /** - * Preferences - * @description Preferences of the user - */ - preferences: Record; - /** - * Preferred Object Store ID - * @description The ID of the object store that should be used to store new datasets in this history. - */ - preferred_object_store_id?: string; - /** - * Purged - * @description User is purged - */ - purged: boolean; - /** - * Quota - * @description Quota applicable to the user - */ - quota: string; - /** - * Quota in bytes - * @description Quota applicable to the user in bytes. - */ - quota_bytes: Record; - /** - * Quota percent - * @description Percentage of the storage quota applicable to the user. - */ - quota_percent?: Record; - /** - * Tags used - * @description Tags used by the user - */ - tags_used: string[]; - /** - * Total disk usage - * @description Size of all non-purged, unique datasets of the user in bytes. - */ - total_disk_usage: number; - /** - * user_name - * @description The name of the user. - */ - username: string; - }; - /** - * DisplayApp - * @description Basic linked information about an application that can display certain datatypes. - */ - DisplayApp: { - /** - * Label - * @description The label or title of the Display Application. - */ - label: string; - /** - * Links - * @description The collection of link details for this Display Application. - */ - links: components["schemas"]["Hyperlink"][]; - }; - /** DisplayApplication */ - DisplayApplication: { - /** Filename */ - filename_: string; - /** Id */ - id: string; - /** Links */ - links: components["schemas"]["Link"][]; - /** Name */ - name: string; - /** Version */ - version: string; - }; - /** - * ElementsFromType - * @description An enumeration. - * @enum {string} - */ - ElementsFromType: "archive" | "bagit" | "bagit_archive" | "directory"; - /** - * EncodedDatasetSourceId - * @description Base model definition with common configuration used by all derived models. - */ - EncodedDatasetSourceId: { - /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF - */ - id: string; - /** - * Source - * @description The source of this dataset, either `hda` or `ldda` depending of its origin. - */ - src: components["schemas"]["DatasetSourceType"]; - }; - /** - * EncodedHistoryContentItem - * @description Identifies a dataset or collection contained in a History. - */ - EncodedHistoryContentItem: { - /** - * Content Type - * @description The type of this item. - */ - history_content_type: components["schemas"]["HistoryContentType"]; - /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF - */ - id: string; - }; - /** - * ExportHistoryArchivePayload - * @description Base model definition with common configuration used by all derived models. - */ - ExportHistoryArchivePayload: { - /** - * Directory URI - * @description A writable directory destination where the history will be exported using the `galaxy.files` URI infrastructure. - */ - directory_uri?: string; - /** - * File Name - * @description The name of the file containing the exported history. - */ - file_name?: string; - /** - * GZip - * @description Whether to export as gzip archive. - * @default true - */ - gzip?: boolean; - /** - * Include Deleted - * @description Whether to include deleted datasets in the exported archive. - * @default false - */ - include_deleted?: boolean; - /** - * Include Hidden - * @description Whether to include hidden datasets in the exported archive. - * @default false - */ - include_hidden?: boolean; - }; - /** - * ExportObjectMetadata - * @description Base model definition with common configuration used by all derived models. - */ - ExportObjectMetadata: { - request_data: components["schemas"]["ExportObjectRequestMetadata"]; - result_data?: components["schemas"]["ExportObjectResultMetadata"]; - }; - /** - * ExportObjectRequestMetadata - * @description Base model definition with common configuration used by all derived models. - */ - ExportObjectRequestMetadata: { - /** - * Object Id - * @example 0123456789ABCDEF - */ - object_id: string; - object_type: components["schemas"]["ExportObjectType"]; - /** Payload */ - payload: - | components["schemas"]["WriteStoreToPayload"] - | components["schemas"]["ShortTermStoreExportPayload"]; - /** - * User Id - * @example 0123456789ABCDEF - */ - user_id?: string; - }; - /** - * ExportObjectResultMetadata - * @description Base model definition with common configuration used by all derived models. - */ - ExportObjectResultMetadata: { - /** Error */ - error?: string; - /** Success */ - success: boolean; - }; - /** - * ExportObjectType - * @description Types of objects that can be exported. - * @enum {string} - */ - ExportObjectType: "history" | "invocation"; - /** - * ExportRecordData - * @description Data of an export record associated with a history that was archived. - */ - ExportRecordData: { - /** - * Include deleted - * @description Include file contents for deleted datasets (if include_files is True). - * @default false - */ - include_deleted?: boolean; - /** - * Include Files - * @description include materialized files in export when available - * @default true - */ - include_files?: boolean; - /** - * Include hidden - * @description Include file contents for hidden datasets (if include_files is True). - * @default false - */ - include_hidden?: boolean; - /** - * @description format of model store to export - * @default tar.gz - */ - model_store_format?: components["schemas"]["ModelStoreFormat"]; - /** - * Target URI - * @description Galaxy Files URI to write mode store content to. - */ - target_uri: string; - }; - /** - * ExportTaskListResponse - * @description Base model definition with common configuration used by all derived models. - */ - ExportTaskListResponse: components["schemas"]["ObjectExportTaskResponse"][]; - /** - * ExtraFiles - * @description Base model definition with common configuration used by all derived models. - */ - ExtraFiles: { - /** - * Fuzzy Root - * @description Prevent Galaxy from checking for a single file in a directory and re-interpreting the archive - * @default true - */ - fuzzy_root?: boolean; - /** Items From */ - items_from?: string; - src: components["schemas"]["Src"]; - }; - /** - * FavoriteObject - * @description Base model definition with common configuration used by all derived models. - */ - FavoriteObject: { - /** - * Object ID - * @description The id of an object the user wants to favorite. - */ - object_id: string; - }; - /** - * FavoriteObjectType - * @description An enumeration. - * @enum {string} - */ - FavoriteObjectType: "tools"; - /** - * FavoriteObjectsSummary - * @description Base model definition with common configuration used by all derived models. - */ - FavoriteObjectsSummary: { - /** - * Favorite tools - * @description The name of the tools the user favored. - */ - tools: string[]; - }; - /** - * FetchDataPayload - * @description Base model definition with common configuration used by all derived models. - */ - FetchDataPayload: { - /** - * History ID - * @description The encoded ID of the history associated with this item. - * @example 0123456789ABCDEF - */ - history_id: string; - /** Targets */ - targets: ( - | components["schemas"]["DataElementsTarget"] - | components["schemas"]["HdcaDataItemsTarget"] - | components["schemas"]["DataElementsFromTarget"] - | components["schemas"]["HdcaDataItemsFromTarget"] - | components["schemas"]["FtpImportTarget"] - )[]; - }; - /** - * FileDataElement - * @description Base model definition with common configuration used by all derived models. - */ - FileDataElement: { - /** Md5 */ - MD5?: string; - /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false - */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - /** Created From Basename */ - created_from_basename?: string; - /** - * Dbkey - * @default ? - */ - dbkey?: string; - /** - * Deferred - * @default false - */ - deferred?: boolean; - elements_from?: components["schemas"]["ElementsFromType"]; - /** - * Ext - * @default auto - */ - ext?: string; - extra_files?: components["schemas"]["ExtraFiles"]; - /** Info */ - info?: string; - /** Name */ - name?: string; - /** - * Space To Tab - * @default false - */ - space_to_tab?: boolean; - /** - * Src - * @enum {string} - */ - src: "files"; - /** Tags */ - tags?: string[]; - /** - * To Posix Lines - * @default false - */ - to_posix_lines?: boolean; - }; - /** - * FileLibraryFolderItem - * @description Base model definition with common configuration used by all derived models. - */ - FileLibraryFolderItem: { - /** Can Manage */ - can_manage: boolean; - /** - * Create Time - * Format: date-time - * @description The time and date this item was created. - */ - create_time: string; - /** - * Date Uploaded - * Format: date-time - */ - date_uploaded: string; - /** Deleted */ - deleted: boolean; - /** File Ext */ - file_ext: string; - /** File Size */ - file_size: string; - /** - * Id - * @example 0123456789ABCDEF - */ - id: string; - /** Is Private */ - is_private: boolean; - /** Is Unrestricted */ - is_unrestricted: boolean; - /** - * Ldda Id - * @example 0123456789ABCDEF - */ - ldda_id: string; - /** Message */ - message?: string; - /** Name */ - name: string; - /** Raw Size */ - raw_size: number; - /** - * State - * @description The current state of this dataset. - */ - state: components["schemas"]["DatasetState"]; - tags: components["schemas"]["TagCollection"]; - /** - * Type - * @enum {string} - */ - type: "file"; - /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. - */ - update_time: string; - }; - /** - * FilesSourcePlugin - * @description Base model definition with common configuration used by all derived models. - */ - FilesSourcePlugin: { - /** - * Browsable - * @description Whether this file source plugin can list items. - */ - browsable: boolean; - /** - * Documentation - * @description Documentation or extended description for this plugin. - * @example Galaxy's library import directory - */ - doc: string; - /** - * ID - * @description The `FilesSource` plugin identifier - * @example _import - */ - id: string; - /** - * Label - * @description The display label for this plugin. - * @example Library Import Directory - */ - label: string; - /** - * Requires groups - * @description Only users belonging to the groups specified here can access this files source. - */ - requires_groups?: string; - /** - * Requires roles - * @description Only users with the roles specified here can access this files source. - */ - requires_roles?: string; - /** - * Type - * @description The type of the plugin. - * @example gximport - */ - type: string; - /** - * Writeable - * @description Whether this files source plugin allows write access. - * @example false - */ - writable: boolean; - }; - /** - * FilesSourcePluginList - * @description Base model definition with common configuration used by all derived models. - * @default [] - * @example [ - * { - * "browsable": true, - * "doc": "Galaxy's library import directory", - * "id": "_import", - * "label": "Library Import Directory", - * "type": "gximport", - * "uri_root": "gximport://", - * "writable": false - * } - * ] - */ - FilesSourcePluginList: ( - | components["schemas"]["BrowsableFilesSourcePlugin"] - | components["schemas"]["FilesSourcePlugin"] - )[]; - /** - * FolderLibraryFolderItem - * @description Base model definition with common configuration used by all derived models. - */ - FolderLibraryFolderItem: { - /** Can Manage */ - can_manage: boolean; - /** Can Modify */ - can_modify: boolean; - /** - * Create Time - * Format: date-time - * @description The time and date this item was created. - */ - create_time: string; - /** Deleted */ - deleted: boolean; - /** - * Description - * @description A detailed description of the library folder. - * @default - */ - description?: string; - /** - * Id - * @example 0123456789ABCDEF - */ - id: string; - /** Name */ - name: string; - /** - * Type - * @enum {string} - */ - type: "folder"; - /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. - */ - update_time: string; - }; - /** - * FtpImportElement - * @description Base model definition with common configuration used by all derived models. - */ - FtpImportElement: { - /** Md5 */ - MD5?: string; - /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false - */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - /** Created From Basename */ - created_from_basename?: string; - /** - * Dbkey - * @default ? - */ - dbkey?: string; - /** - * Deferred - * @default false - */ - deferred?: boolean; - elements_from?: components["schemas"]["ElementsFromType"]; - /** - * Ext - * @default auto - */ - ext?: string; - extra_files?: components["schemas"]["ExtraFiles"]; - /** Ftp Path */ - ftp_path: string; - /** Info */ - info?: string; - /** Name */ - name?: string; - /** - * Space To Tab - * @default false - */ - space_to_tab?: boolean; - /** - * Src - * @enum {string} - */ - src: "ftp_import"; - /** Tags */ - tags?: string[]; - /** - * To Posix Lines - * @default false - */ - to_posix_lines?: boolean; - }; - /** - * FtpImportTarget - * @description Base model definition with common configuration used by all derived models. - */ - FtpImportTarget: { - /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false - */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - destination: components["schemas"]["HdcaDestination"]; - elements_from?: components["schemas"]["ElementsFromType"]; - /** Ftp Path */ - ftp_path: string; - /** Name */ - name?: string; - /** - * Src - * @enum {string} - */ - src: "ftp_import"; - /** Tags */ - tags?: string[]; - }; - /** - * GalaxyConfigModel - * @description Contains Galaxy configuration values. - */ - GalaxyConfigModel: { - /** - * Activation Grace Period - * @description Activation grace period (in hours). Activation is not forced (login is not - * disabled) until grace period has passed. Users under grace period can't run - * jobs. Enter 0 to disable grace period. - * - * @default 3 - */ - activation_grace_period?: number; - /** - * Admin Tool Recommendations Path - * @description Set path to the additional tool preferences from Galaxy admins. - * It has two blocks. One for listing deprecated tools which will be removed from the recommendations and - * another is for adding additional tools to be recommended along side those from the deep learning model. - * - * @default tool_recommendations_overwrite.yml - */ - admin_tool_recommendations_path?: string; - /** - * Admin Users - * @description Administrative users - set this to a comma-separated list of valid Galaxy - * users (email addresses). These users will have access to the Admin section - * of the server, and will have access to create users, groups, roles, - * libraries, and more. For more information, see: - * https://galaxyproject.org/admin/ - */ - admin_users: string; - /** - * Allow Path Paste - * @description Allow admins to paste filesystem paths during upload. For libraries this - * adds an option to the admin library upload tool allowing admins to paste - * filesystem paths to files and directories in a box, and these paths will be - * added to a library. For history uploads, this allows pasting in paths as URIs. - * (i.e. prefixed with file://). Set to true to enable. Please note the security - * implication that this will give Galaxy Admins access to anything your Galaxy - * user has access to. - * - * @default false - */ - allow_path_paste?: boolean; - /** - * Allow User Creation - * @description Allow unregistered users to create new accounts (otherwise, they will have to - * be created by an admin). - * - * @default true - */ - allow_user_creation?: boolean; - /** - * Allow User Dataset Purge - * @description Allow users to remove their datasets from disk immediately (otherwise, - * datasets will be removed after a time period specified by an administrator in - * the cleanup scripts run via cron) - * - * @default true - */ - allow_user_dataset_purge?: boolean; - /** - * Allow User Deletion - * @description Allow administrators to delete accounts. - * - * @default false - */ - allow_user_deletion?: boolean; - /** - * Allow User Impersonation - * @description Allow administrators to log in as other users (useful for debugging). - * - * @default false - */ - allow_user_impersonation?: boolean; - /** - * Allowed Origin Hostnames - * @description Return a Access-Control-Allow-Origin response header that matches the Origin - * header of the request if that Origin hostname matches one of the strings or - * regular expressions listed here. This is a comma-separated list of hostname - * strings or regular expressions beginning and ending with /. - * E.g. mysite.com,google.com,usegalaxy.org,/^[\w\.]*example\.com/ - * See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS - */ - allowed_origin_hostnames: string; - /** - * Amqp Internal Connection - * @description Galaxy uses AMQP internally for communicating between processes. For - * example, when reloading the toolbox or locking job execution, the process - * that handled that particular request will tell all others to also reload, - * lock jobs, etc. - * For connection examples, see https://docs.celeryq.dev/projects/kombu/en/stable/userguide/connections.html - * - * Without specifying anything here, galaxy will first attempt to use your - * specified database_connection above. If that's not specified either, Galaxy - * will automatically create and use a separate sqlite database located in your - * /database folder (indicated in the commented out line below). - * - * @default sqlalchemy+sqlite:///./database/control.sqlite?isolation_level=IMMEDIATE - */ - amqp_internal_connection?: string; - /** - * Apache Xsendfile - * @description For help on configuring the Advanced proxy features, see: - * https://docs.galaxyproject.org/en/master/admin/production.html - * - * Apache can handle file downloads (Galaxy-to-user) via mod_xsendfile. Set - * this to true to inform Galaxy that mod_xsendfile is enabled upstream. - * - * @default false - */ - apache_xsendfile?: boolean; - /** - * Api Allow Run As - * @description Optional list of email addresses of API users who can make calls on behalf of - * other users. - */ - api_allow_run_as: string; - /** - * Auth Config File - * @description XML config file that allows the use of different authentication providers - * (e.g. LDAP) instead or in addition to local authentication (.sample is used - * if default does not exist). - * - * @default auth_conf.xml - */ - auth_config_file?: string; - /** - * Auto Configure Logging - * @description If true, Galaxy will attempt to configure a simple root logger if a - * "loggers" section does not appear in this configuration file. - * - * @default true - */ - auto_configure_logging?: boolean; - /** - * Aws Estimate - * @description This flag enables an AWS cost estimate for every job based on their runtime matrices. - * CPU, RAM and runtime usage is mapped against AWS pricing table. - * Please note, that those numbers are only estimates. - * - * @default false - */ - aws_estimate?: boolean; - /** - * Biotools Content Directory - * @description Point Galaxy at a repository consisting of a copy of the bio.tools database (e.g. - * https://github.com/bio-tools/content/) to resolve bio.tools data for tool metadata. - */ - biotools_content_directory: string; - /** - * Biotools Service Cache Data Dir - * @description bio.tools web service request related caching. The data directory to point - * beaker cache at. - * - * @default biotools/data - */ - biotools_service_cache_data_dir?: string; - /** - * Biotools Service Cache Lock Dir - * @description bio.tools web service request related caching. The lock directory to point - * beaker cache at. - * - * @default biotools/locks - */ - biotools_service_cache_lock_dir?: string; - /** - * Biotools Service Cache Schema Name - * @description When biotools_service_cache_type = ext:database, this is - * the database table name used by beaker for - * bio.tools web service request related caching. - */ - biotools_service_cache_schema_name: string; - /** - * Biotools Service Cache Table Name - * @description When biotools_service_cache_type = ext:database, this is - * the database table name used by beaker for - * bio.tools web service request related caching. - * - * @default beaker_cache - */ - biotools_service_cache_table_name?: string; - /** - * Biotools Service Cache Type - * @description bio.tools web service request related caching. The type of beaker cache used. - * - * @default file - */ - biotools_service_cache_type?: string; - /** - * Biotools Service Cache Url - * @description When biotools_service_cache_type = ext:database, this is - * the url of the database used by beaker for - * bio.tools web service request related caching. - * The application config code will set it to the - * value of database_connection if this is not set. - */ - biotools_service_cache_url: string; - /** - * Biotools Use Api - * @description Set this to true to attempt to resolve bio.tools metadata for tools for tool not - * resovled via biotools_content_directory. - * - * @default false - */ - biotools_use_api?: boolean; - /** - * Bootstrap Admin Api Key - * @description API key that allows performing some admin actions without actually - * having a real admin user in the database and config. - * Only set this if you need to bootstrap Galaxy, in particular to create - * a real admin user account via API. - * You should probably not set this on a production server. - */ - bootstrap_admin_api_key: string; - /** - * Brand - * @description Append "{brand}" text to the masthead. - */ - brand: string; - /** - * Build Sites Config File - * @description File that defines the builds (dbkeys) available at sites used by display applications - * and the URL to those sites. - * - * @default build_sites.yml - */ - build_sites_config_file?: string; - /** - * Builds File Path - * @description File containing old-style genome builds. - * - * The value of this option will be resolved with respect to . - * - * @default shared/ucsc/builds.txt - */ - builds_file_path?: string; - /** - * Cache Dir - * @description Top level cache directory. Any other cache directories (tool_cache_data_dir, - * template_cache_path, etc.) should be subdirectories. - * - * @default cache - */ - cache_dir?: string; - /** - * Cache User Job Count - * @description If using job concurrency limits (configured in job_config_file), several - * extra database queries must be performed to determine the number of jobs a - * user has dispatched to a given destination. By default, these queries will - * happen for every job that is waiting to run, but if cache_user_job_count is - * set to true, it will only happen once per iteration of the handler queue. - * Although better for performance due to reduced queries, the trade-off is a - * greater possibility that jobs will be dispatched past the configured limits - * if running many handlers. - * - * @default false - */ - cache_user_job_count?: boolean; - /** - * Carbon Emission Estimates - * @description This flag enables carbon emissions estimates for every job based on its runtime metrics. - * CPU and RAM usage and the total job runtime are used to determine an estimate value. - * These estimates and are based off of the work of the Green Algorithms Project and - * the United States Environmental Protection Agency (EPA). - * Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. - * for more detals. - * - * @default true - */ - carbon_emission_estimates?: boolean; - /** - * Celery Conf - * @description Configuration options passed to Celery. - * - * To refer to a task by name, use the template `galaxy.foo` where `foo` is the function name - * of the task defined in the galaxy.celery.tasks module. - * - * The `broker_url` option, if unset, defaults to the value of `amqp_internal_connection`. - * The `result_backend` option must be set if the `enable_celery_tasks` option is set. - * - * The galaxy.fetch_data task can be disabled by setting its route to "disabled": `galaxy.fetch_data: disabled`. - * (Other tasks cannot be disabled on a per-task basis at this time.) - * - * For details, see Celery documentation at https://docs.celeryq.dev/en/stable/userguide/configuration.html. - * - * @default { - * "task_routes": { - * "galaxy.fetch_data": "galaxy.external", - * "galaxy.set_job_metadata": "galaxy.external" - * } - * } - */ - celery_conf?: Record; - /** - * Celery User Rate Limit - * @description If set to a non-0 value, upper limit on number of - * tasks that can be executed per user per second. - * - * @default 0 - */ - celery_user_rate_limit?: number; - /** - * Check Job Script Integrity - * @description Set to false to disable various checks Galaxy will do to ensure it - * can run job scripts before attempting to execute or submit them. - * - * @default true - */ - check_job_script_integrity?: boolean; - /** - * Check Job Script Integrity Count - * @description Number of checks to execute if check_job_script_integrity is enabled. - * - * @default 35 - */ - check_job_script_integrity_count?: number; - /** - * Check Job Script Integrity Sleep - * @description Time to sleep between checks if check_job_script_integrity is enabled (in seconds). - * - * @default 0.25 - */ - check_job_script_integrity_sleep?: number; - /** - * Chunk Upload Size - * @description Galaxy can upload user files in chunks without using nginx. Enable the chunk - * uploader by specifying a chunk size larger than 0. The chunk size is specified - * in bytes (default: 10MB). - * - * @default 10485760 - */ - chunk_upload_size?: number; - /** - * Citation Cache Data Dir - * @description Citation related caching. Tool citations information maybe fetched from - * external sources such as https://doi.org/ by Galaxy - the following - * parameters can be used to control the caching used to store this information. - * - * @default citations/data - */ - citation_cache_data_dir?: string; - /** - * Citation Cache Lock Dir - * @description Citation related caching. Tool citations information maybe fetched from - * external sources such as https://doi.org/ by Galaxy - the following - * parameters can be used to control the caching used to store this information. - * - * @default citations/locks - */ - citation_cache_lock_dir?: string; - /** - * Citation Cache Schema Name - * @description When citation_cache_type = ext:database, this is - * the database schema name of the table used by beaker for - * citation related caching. - */ - citation_cache_schema_name: string; - /** - * Citation Cache Table Name - * @description When citation_cache_type = ext:database, this is - * the database table name used by beaker for - * citation related caching. - * - * @default beaker_cache - */ - citation_cache_table_name?: string; - /** - * Citation Cache Type - * @description Citation related caching. Tool citations information maybe fetched from - * external sources such as https://doi.org/ by Galaxy - the following - * parameters can be used to control the caching used to store this information. - * - * @default file - */ - citation_cache_type?: string; - /** - * Citation Cache Url - * @description When citation_cache_type = ext:database, this is - * the url of the database used by beaker for citation - * caching. The application config code will set it to the - * value of database_connection if this is not set. - */ - citation_cache_url: string; - /** - * Citation Url - * @description The URL linked by the "How to Cite Galaxy" link in the "Help" menu. - * - * @default https://galaxyproject.org/citing-galaxy - */ - citation_url?: string; - /** - * Citations Export Message Html - * @description Message to display on the export citations tool page - * - * @default When writing up your analysis, remember to include all references that should be cited in order to completely describe your work. Also, please remember to cite Galaxy. - */ - citations_export_message_html?: string; - /** - * Cleanup Job - * @description Clean up various bits of jobs left on the filesystem after completion. These - * bits include the job working directory, external metadata temporary files, - * and DRM stdout and stderr files (if using a DRM). Possible values are: - * always, onsuccess, never - * - * @default always - */ - cleanup_job?: string; - /** - * Conda Auto Init - * @description Set to true to instruct Galaxy to install Conda from the web automatically - * if it cannot find a local copy and conda_exec is not configured. - * - * @default true - */ - conda_auto_init?: boolean; - /** - * Conda Auto Install - * @description Set to true to instruct Galaxy to look for and install missing tool - * dependencies before each job runs. - * - * @default false - */ - conda_auto_install?: boolean; - /** - * Conda Copy Dependencies - * @description You must set this to true if conda_prefix and job_working_directory are not on the same - * volume, or some conda dependencies will fail to execute at job runtime. - * Conda will copy packages content instead of creating hardlinks or symlinks. - * This will prevent problems with some specific packages (perl, R), at the cost - * of extra disk space usage and extra time spent copying packages. - * - * @default false - */ - conda_copy_dependencies?: boolean; - /** - * Conda Debug - * @description Pass debug flag to conda commands. - * - * @default false - */ - conda_debug?: boolean; - /** - * Conda Ensure Channels - * @description conda channels to enable by default - * (https://conda.io/docs/user-guide/tasks/manage-channels.html) - * - * @default conda-forge,bioconda,defaults - */ - conda_ensure_channels?: string; - /** - * Conda Exec - * @description Override the Conda executable to use, it will default to the one on the - * PATH (if available) and then to /bin/conda - */ - conda_exec: string; - /** - * Conda Prefix - * @description conda_prefix is the location on the filesystem where Conda packages and environments are - * installed. - * - * Sample default '/_conda' - */ - conda_prefix: string; - /** - * Conda Use Local - * @description Use locally-built conda packages. - * - * @default false - */ - conda_use_local?: boolean; - /** - * Config Dir - * @description The directory that will be prepended to relative paths in options specifying - * other Galaxy config files (e.g. datatypes_config_file). Defaults to the - * directory in which galaxy.yml is located. - */ - config_dir: string; - /** - * Container Resolvers - * @description Rather than specifying a container_resolvers_config_file, the definition of the - * resolvers to enable can be embedded into Galaxy's config with this option. - * This has no effect if a container_resolvers_config_file is used. - * Takes the same options that can be set in container_resolvers_config_file. - */ - container_resolvers: Record[]; - /** - * Container Resolvers Config File - * @description Container resolvers configuration. Set up a file describing - * container resolvers to use when discovering containers for Galaxy. If - * this is set to None, the default container resolvers loaded is - * determined by enable_mulled_containers. - * For available options see https://docs.galaxyproject.org/en/master/admin/container_resolvers.html - */ - container_resolvers_config_file: string; - /** - * Cookie Domain - * @description Tell Galaxy that multiple domains sharing the same root are associated - * to this instance and wants to share the same session cookie. - * This allow a user to stay logged in when passing from one subdomain - * to the other. - * This root domain will be written in the unique session cookie shared - * by all subdomains. - */ - cookie_domain: string; - /** - * Custom Activation Email Message - * @description This text will be inserted at the end of the activation email's message, before - * the 'Your Galaxy Team' signature. - */ - custom_activation_email_message: string; + * ComputeDatasetHashPayload + * @description Base model definition with common configuration used by all derived models. + */ + ComputeDatasetHashPayload: { /** - * Data Dir - * @description The directory that will be prepended to relative paths in options specifying - * Galaxy data/cache directories and files (such as the default SQLite database, - * file_path, etc.). Defaults to `database/` if running Galaxy from source or - * `/data` otherwise. + * Extra Files Path + * @description If set, extra files path to compute a hash for. */ - data_dir: string; + extra_files_path?: string; /** - * Data Manager Config File - * @description File where Data Managers are configured (.sample used if default does not - * exist). - * - * @default data_manager_conf.xml + * @description Hash function name to use to compute dataset hashes. + * @default MD5 */ - data_manager_config_file?: string; + hash_function?: components["schemas"]["HashFunctionNameEnum"]; + }; + /** ConcreteObjectStoreModel */ + ConcreteObjectStoreModel: { + /** Badges */ + badges: components["schemas"]["BadgeDict"][]; + /** Description */ + description?: string; + /** Name */ + name?: string; + /** Object Store Id */ + object_store_id?: string; + /** Private */ + private: boolean; + quota: components["schemas"]["QuotaModel"]; + }; + /** + * ConfigResponse + * @description Configuration settings that can be exposed to users. + */ + ConfigResponse: { /** - * Database Auto Migrate - * @description Setting the following option to true will cause Galaxy to automatically - * migrate the database forward after updates. This is not recommended for production - * use. - * - * @default false + * Admin Tool Recommendations Path + * @description Set path to the additional tool preferences from Galaxy admins. + * It has two blocks. One for listing deprecated tools which will be removed from the recommendations and + * another is for adding additional tools to be recommended along side those from the deep learning model. + * @default tool_recommendations_overwrite.yml */ - database_auto_migrate?: boolean; + admin_tool_recommendations_path?: string; /** - * Database Connection - * @description By default, Galaxy uses a SQLite database at '/universe.sqlite'. You - * may use a SQLAlchemy connection string to specify an external database instead. - * - * Sample default 'sqlite:////universe.sqlite?isolation_level=IMMEDIATE' - * - * You may specify additional options that will be passed to the SQLAlchemy - * database engine by using the prefix "database_engine_option_". For some of these - * options, default values are provided (e.g. see database_engine_option_pool_size, - * etc.). - * - * The same applies to `install_database_connection`, for which you should use the - * "install_database_engine_option_" prefix. - * - * For more options, please check SQLAlchemy's documentation at - * https://docs.sqlalchemy.org/en/14/core/engines.html?highlight=create_engine#sqlalchemy.create_engine + * Allow User Creation + * @description Allow unregistered users to create new accounts (otherwise, they will have to be created by an admin). + * @default true */ - database_connection: string; + allow_user_creation?: boolean; /** - * Database Engine Option Echo - * @description Print database operations to the server log (warning, quite verbose!). - * - * @default false + * Allow User Dataset Purge + * @description Allow users to remove their datasets from disk immediately (otherwise, + * datasets will be removed after a time period specified by an administrator in + * the cleanup scripts run via cron) + * @default true */ - database_engine_option_echo?: boolean; + allow_user_dataset_purge?: boolean; /** - * Database Engine Option Echo Pool - * @description Print database pool operations to the server log (warning, quite verbose!). - * + * Allow User Impersonation + * @description Allow administrators to log in as other users (useful for debugging). * @default false */ - database_engine_option_echo_pool?: boolean; - /** - * Database Engine Option Max Overflow - * @description If the server logs errors about not having enough database pool connections, - * you will want to increase these values, or consider running more Galaxy - * processes. - * - * @default 10 - */ - database_engine_option_max_overflow?: number; - /** - * Database Engine Option Pool Recycle - * @description If using MySQL and the server logs the error "MySQL server has gone away", - * you will want to set this to some positive value (7200 should work). - * - * @default -1 - */ - database_engine_option_pool_recycle?: number; - /** - * Database Engine Option Pool Size - * @description If the server logs errors about not having enough database pool connections, - * you will want to increase these values, or consider running more Galaxy - * processes. - * - * @default 5 - */ - database_engine_option_pool_size?: number; + allow_user_impersonation?: boolean; /** - * Database Engine Option Server Side Cursors - * @description If large database query results are causing memory or response time issues in - * the Galaxy process, leave the result on the server instead. This option is - * only available for PostgreSQL and is highly recommended. - * + * Aws Estimate + * @description This flag enables an AWS cost estimate for every job based on their runtime matrices. + * CPU, RAM and runtime usage is mapped against AWS pricing table. + * Please note, that those numbers are only estimates. * @default false */ - database_engine_option_server_side_cursors?: boolean; + aws_estimate?: boolean; /** - * Database Log Query Counts - * @description Log number of SQL queries executed and total time spent dispatching SQL statements for - * each web request. If statsd is also enabled this information will be logged there as well. - * This should be considered somewhat experimental, we are unsure of the performance costs of - * running this in production. This is useful information for optimizing database interaction - * performance. Similar information can be obtained on a per-request basis by enabling the - * sql_debug middleware and adding sql_debug=1 to a request string. - * - * @default false + * Brand + * @description Append "{brand}" text to the masthead. */ - database_log_query_counts?: boolean; + brand: string; /** - * Database Query Profiling Proxy - * @description Log all database transactions, can be useful for debugging and performance - * profiling. Logging is done via Python's 'logging' module under the qualname - * 'galaxy.model.orm.logging_connection_proxy' - * - * @default false + * Carbon Emission Estimates + * @description This flag enables carbon emissions estimates for every job based on its runtime metrics. + * CPU and RAM usage and the total job runtime are used to determine an estimate value. + * These estimates and are based off of the work of the Green Algorithms Project and + * the United States Environmental Protection Agency (EPA). + * Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. + * for more details. + * @default true */ - database_query_profiling_proxy?: boolean; + carbon_emission_estimates?: boolean; /** - * Database Template - * @description If auto-creating a postgres database on startup - it can be based on an existing - * template database. This will set that. This is probably only useful for testing but - * documentation is included here for completeness. + * Carbon Intensity + * @description The carbon intensity of the electricity used by the Galaxy server. */ - database_template: string; + carbon_intensity?: number; /** - * Database Wait - * @description Wait for database to become available instead of failing immediately. + * Chunk Upload Size + * @description Galaxy can upload user files in chunks without using nginx. Enable the chunk + * uploader by specifying a chunk size larger than 0. The chunk size is specified + * in bytes (default: 10MB). * - * @default false + * @default 10485760 */ - database_wait?: boolean; + chunk_upload_size?: number; /** - * Database Wait Attempts - * @description Number of attempts before failing if database_wait is enabled. - * - * @default 60 + * Citation Url + * @description The URL linked by the "How to Cite Galaxy" link in the "Help" menu. + * @default https://galaxyproject.org/citing-galaxy */ - database_wait_attempts?: number; + citation_url?: string; /** - * Database Wait Sleep - * @description Time to sleep between attempts if database_wait is enabled (in seconds). - * - * @default 1 + * Citations Export Message Html + * @description Message to display on the export citations tool page + * @default When writing up your analysis, remember to include all references that should be cited in order to completely describe your work. Also, please remember to cite Galaxy. */ - database_wait_sleep?: number; + citations_export_message_html?: string; /** - * Datatypes Config File - * @description Datatypes config file(s), defines what data (file) types are available in - * Galaxy (.sample is used if default does not exist). If a datatype appears in - * multiple files, the last definition is used (though the first sniffer is used - * so limit sniffer definitions to one file). - * - * @default datatypes_conf.xml + * Cookie Domain + * @description Tell Galaxy that multiple domains sharing the same root are associated + * to this instance and wants to share the same session cookie. + * This allow a user to stay logged in when passing from one subdomain to the other. + * This root domain will be written in the unique session cookie shared by all subdomains. */ - datatypes_config_file?: string; + cookie_domain: string; /** * Datatypes Disable Auto * @description Disable the 'Auto-detect' option for file uploads - * * @default false */ datatypes_disable_auto?: boolean; - /** - * Debug - * @description Debug enables access to various config options useful for development - * and debugging: use_lint, use_profile, and use_printdebug. It also - * causes the files used by PBS/SGE (submission script, output, and error) - * to remain on disk after the job is complete. - * - * @default false - */ - debug?: boolean; - /** - * Default Job Resubmission Condition - * @description When jobs fail due to job runner problems, Galaxy can be configured to retry - * these or reroute the jobs to new destinations. Very fine control of this is - * available with resubmit declarations in the job config. For simple deployments - * of Galaxy though, the following attribute can define resubmission conditions - * for all job destinations. If any job destination defines even one - * resubmission condition explicitly in the job config - the condition described - * by this option will not apply to that destination. For instance, the condition: - * 'attempt < 3 and unknown_error and (time_running < 300 or time_since_queued < 300)' - * would retry up to two times jobs that didn't fail due to detected memory or - * walltime limits but did fail quickly (either while queueing or running). The - * commented out default below results in no default job resubmission condition, - * failing jobs are just failed outright. - */ - default_job_resubmission_condition: string; - /** - * Default Job Shell - * @description Set the default shell used by non-containerized jobs Galaxy-wide. This - * defaults to bash for all jobs and can be overridden at the destination - * level for heterogeneous clusters. conda job resolution requires bash or zsh - * so if this is switched to /bin/sh for instance - conda resolution - * should be disabled. Containerized jobs always use /bin/sh - so more maximum - * portability tool authors should assume generated commands run in sh. - * - * @default /bin/bash - */ - default_job_shell?: string; /** * Default Locale * @description Default localization for Galaxy UI. @@ -5317,7 +3442,6 @@ export interface components { * the user's navigator language. * Users can override this settings in their user preferences if the localization * settings are enabled in user_preferences_extra_conf.yml - * * @default auto */ default_locale?: string; @@ -5327,2978 +3451,2550 @@ export interface components { * a panel view defined using the panel_views or panel_views_dir configuration options or an * EDAM panel view. The default panel view is simply called `default` and refers to the tool * panel state defined by the integrated tool panel. - * * @default default */ default_panel_view?: string; /** - * Default Workflow Export Format - * @description Default format for the export of workflows. Possible values are 'ga' - * or 'format2'. - * - * @default ga + * Enable Account Interface + * @description Allow users to manage their account data, change passwords or delete their accounts. + * @default true + */ + enable_account_interface?: boolean; + /** + * Enable Beacon Integration + * @description Enables user preferences and api endpoint for the beacon integration. + * @default false */ - default_workflow_export_format?: string; + enable_beacon_integration?: boolean; /** - * Delay Tool Initialization - * @description Set this to true to delay parsing of tool inputs and outputs until they are needed. - * This results in faster startup times but uses more memory when using forked Galaxy - * processes. - * + * Enable Beta Markdown Export + * @description Enable export of Galaxy Markdown documents (pages and workflow reports) + * to PDF. Requires manual installation and setup of weasyprint (latest version + * available for Python 2.7 is 0.42). * @default false */ - delay_tool_initialization?: boolean; + enable_beta_markdown_export?: boolean; /** - * Dependency Resolution - * @description Alternative representation of various dependency resolution parameters. Takes the - * dictified version of a DependencyManager object - so this is ideal for automating the - * configuration of dependency resolution from one application that uses a DependencyManager - * to another. + * Enable Celery Tasks + * @description Offload long-running tasks to a Celery task queue. + * Activate this only if you have setup a Celery worker for Galaxy. + * For details, see https://docs.galaxyproject.org/en/master/admin/production.html + * @default false */ - dependency_resolution: Record; + enable_celery_tasks?: boolean; /** - * Dependency Resolvers - * @description Rather than specifying a dependency_resolvers_config_file, the definition of the - * resolvers to enable can be embedded into Galaxy's config with this option. - * This has no effect if a dependency_resolvers_config_file is used. + * Enable Notification System + * @description Enables the Notification System integrated in Galaxy. * - * The syntax, available resolvers, and documentation of their options is explained in detail in the - * documentation: + * Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. * - * https://docs.galaxyproject.org/en/master/admin/dependency_resolvers.html - */ - dependency_resolvers: Record[]; - /** - * Dependency Resolvers Config File - * @description Specifies the path to the standalone dependency resolvers configuration file. This - * configuration can now be specified directly in the Galaxy configuration, see the - * description of the 'dependency_resolvers' option for details. + * The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. * - * @default dependency_resolvers_conf.xml + * Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. + * + * @default false */ - dependency_resolvers_config_file?: string; + enable_notification_system?: boolean; /** - * Disable Library Comptypes - * @description Users may choose to download multiple files from a library in an archive. By - * default, Galaxy allows users to select from a few different archive formats - * if testing shows that Galaxy is able to create files using these formats. - * Specific formats can be disabled with this option, separate more than one - * format with commas. Available formats are currently 'zip', 'gz', and 'bz2'. + * Enable Oidc + * @description Enables and disables OpenID Connect (OIDC) support. + * @default false */ - disable_library_comptypes: string; + enable_oidc?: boolean; /** - * Display Builtin Converters - * @description Display built-in converters in the tool panel. - * @default true + * Enable Quotas + * @description Enable enforcement of quotas. Quotas can be set from the Admin interface. + * @default false */ - display_builtin_converters?: boolean; + enable_quotas?: boolean; /** - * Display Chunk Size - * @description Incremental Display Options - * - * @default 65536 + * Enable Tool Recommendations + * @description Allow the display of tool recommendations in workflow editor and after tool execution. + * If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well + * @default false */ - display_chunk_size?: number; + enable_tool_recommendations?: boolean; /** - * Display Galaxy Brand - * @description This option has been deprecated, use the `logo_src` instead to change the - * default logo including the galaxy brand title. - * - * @default true + * Enable Tool Source Display + * @description This option allows users to view the tool wrapper source code. This is + * safe to enable if you have not hardcoded any secrets in any of the tool + * wrappers installed on this Galaxy server. If you have only installed tool + * wrappers from public tool sheds and tools shipped with Galaxy there you + * can enable this option. + * @default false */ - display_galaxy_brand?: boolean; + enable_tool_source_display?: boolean; /** - * Display Servers - * @description Galaxy can display data at various external browsers. These options specify - * which browsers should be available. URLs and builds available at these - * browsers are defined in the specified files. - * - * If use_remote_user is set to true, display application servers will be denied access - * to Galaxy and so displaying datasets in these sites will fail. - * display_servers contains a list of hostnames which should be allowed to - * bypass security to display datasets. Please be aware that there are security - * implications if this is allowed. More details (including required changes to - * the proxy server config) are available in the Apache proxy documentation on - * the Galaxy Community Hub. - * - * The list of servers in this sample config are for the UCSC Main, Test and - * Archaea browsers, but the default if left commented is to not allow any - * display sites to bypass security (you must uncomment the line below to allow - * them). - * - * @default hgw1.cse.ucsc.edu,hgw2.cse.ucsc.edu,hgw3.cse.ucsc.edu,hgw4.cse.ucsc.edu,hgw5.cse.ucsc.edu,hgw6.cse.ucsc.edu,hgw7.cse.ucsc.edu,hgw8.cse.ucsc.edu,lowepub.cse.ucsc.edu + * Enable Unique Workflow Defaults + * @description Enable a feature when running workflows. When enabled, default datasets + * are selected for "Set at Runtime" inputs from the history such that the + * same input will not be selected twice, unless there are more inputs than + * compatible datasets in the history. + * When false, the most recently added compatible item in the history will + * be used for each "Set at Runtime" input, independent of others in the workflow. + * @default false */ - display_servers?: string; + enable_unique_workflow_defaults?: boolean; /** - * Drmaa External Killjob Script - * @description When running DRMAA jobs as the Galaxy user - * (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) - * this script is used to kill such jobs by Galaxy (e.g. if the user cancels - * the job). + * Expose User Email + * @description Expose user list. Setting this to true will expose the user list to + * authenticated users. This makes sharing datasets in smaller galaxy instances + * much easier as they can type a name/email and have the correct user show up. + * This makes less sense on large public Galaxy instances where that data + * shouldn't be exposed. For semi-public Galaxies, it may make sense to expose + * just the username and not email, or vice versa. * - * Example value 'sudo -E scripts/drmaa_external_killer.py' + * If enable_beta_gdpr is set to true, then this option will be overridden and set to false. + * @default false */ - drmaa_external_killjob_script: string; + expose_user_email?: boolean; /** - * Drmaa External Runjob Script - * @description When running DRMAA jobs as the Galaxy user - * (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) - * this script is used to run the job script Galaxy generates for a tool execution. - * - * Example value 'sudo -E scripts/drmaa_external_runner.py --assign_all_groups' + * File Sources Configured + * @description Determines if the Galaxy instance has custom file sources configured. */ - drmaa_external_runjob_script: string; + file_sources_configured: boolean; /** - * Dynamic Proxy - * @description As of 16.04 Galaxy supports multiple proxy types. The original NodeJS - * implementation, alongside a new Golang single-binary-no-dependencies - * version. Valid values are (node, golang) - * - * @default node + * Ftp Upload Site + * @description Enable Galaxy's "Upload via FTP" interface. + * You'll need to install and configure an FTP server (we've used ProFTPd since it can use Galaxy's + * database for authentication) and set the following two options. + * This will be provided to users in the help text as 'log in to the FTP server at '. + * Thus, it should be the hostname of your FTP server. */ - dynamic_proxy?: string; + ftp_upload_site?: string; /** - * Dynamic Proxy Bind Ip - * @description Set the port and IP for the dynamic proxy to bind to, this must match - * the external configuration if dynamic_proxy_manage is set to false. - * - * @default 0.0.0.0 + * Google Analytics Code + * @description You can enter tracking code here to track visitor's behavior + * through your Google Analytics account. Example: UA-XXXXXXXX-Y */ - dynamic_proxy_bind_ip?: string; + ga_code?: string; /** - * Dynamic Proxy Bind Port - * @description Set the port and IP for the dynamic proxy to bind to, this must match - * the external configuration if dynamic_proxy_manage is set to false. - * - * @default 8800 + * Geographical Server Location Code + * @description The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. + * This is used to make carbon emissions estimates more accurate as the location effects the + * carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the + * `geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, + * visit https://galaxyproject.org/admin/carbon_emissions + * @default GLOBAL */ - dynamic_proxy_bind_port?: number; + geographical_server_location_code?: string; /** - * Dynamic Proxy Debug - * @description Enable verbose debugging of Galaxy-managed dynamic proxy. - * - * @default false + * Geographical Server Location Name + * @description The name of the geographical location of the Galaxy server. */ - dynamic_proxy_debug?: boolean; + geographical_server_location_name?: string; /** - * Dynamic Proxy External Proxy - * @description The dynamic proxy is proxied by an external proxy (e.g. apache frontend to - * nodejs to wrap connections in SSL). - * + * Has User Tool Filters + * @description Determines if the user has tool filters. * @default false */ - dynamic_proxy_external_proxy?: boolean; - /** - * Dynamic Proxy Golang Api Key - * @description The golang proxy uses a RESTful HTTP API for communication with Galaxy - * instead of a JSON or SQLite file for IPC. If you do not specify this, it will - * be set randomly for you. You should set this if you are managing the proxy - * manually. - */ - dynamic_proxy_golang_api_key: string; + has_user_tool_filters?: boolean; /** - * Dynamic Proxy Golang Clean Interval - * @description In order to kill containers, the golang proxy has to check at some interval - * for possibly dead containers. This is exposed as a configurable parameter, - * but the default value is probably fine. - * - * @default 10 + * Helpsite Url + * @description The URL linked by the "Galaxy Help" link in the "Help" menu. + * @default https://help.galaxyproject.org/ */ - dynamic_proxy_golang_clean_interval?: number; + helpsite_url?: string; /** - * Dynamic Proxy Golang Docker Address - * @description The golang proxy needs to know how to talk to your docker daemon. Currently - * TLS is not supported, that will come in an update. - * - * @default unix:///var/run/docker.sock + * Inactivity Box Content + * @description Shown in warning box to users that were not activated yet. + * In use only if activation_grace_period is set. + * @default Your account has not been activated yet. Feel free to browse around and see what's available, but you won't be able to upload data or run jobs until you have verified your email address. */ - dynamic_proxy_golang_docker_address?: string; + inactivity_box_content?: string; /** - * Dynamic Proxy Golang Noaccess - * @description This attribute governs the minimum length of time between consecutive HTTP/WS - * requests through the proxy, before the proxy considers a container as being - * inactive and kills it. - * - * @default 60 + * Interactivetools Enable + * @description Enable InteractiveTools. + * @default false */ - dynamic_proxy_golang_noaccess?: number; + interactivetools_enable?: boolean; /** - * Dynamic Proxy Manage - * @description Have Galaxy manage dynamic proxy component for routing requests to other - * services based on Galaxy's session cookie. It will attempt to do this by - * default though you do need to install node+npm and do an npm install from - * `lib/galaxy/web/proxy/js`. It is generally more robust to configure this - * externally, managing it in the same way Galaxy itself is managed. If true, Galaxy will only - * launch the proxy if it is actually going to be used (e.g. for Jupyter). - * - * @default true + * Is Admin User + * @deprecated + * @description Determines if the current user is an admin user. + * **Deprecated**: This is deprecated and will be removed in a future release. + * Please get this information from the user data instead. + * @default false */ - dynamic_proxy_manage?: boolean; + is_admin_user?: boolean; /** - * Dynamic Proxy Prefix - * @description Additionally, when the dynamic proxy is proxied by an upstream server, you'll - * want to specify a prefixed URL so both Galaxy and the proxy reside under the - * same path that your cookies are under. This will result in a url like - * https://FQDN/galaxy-prefix/gie_proxy for proxying - * - * @default gie_proxy + * Lims Doc Url + * @deprecated + * @description The URL linked by the "LIMS Documentation" link in the "Help" menu. + * **Deprecated**: This is deprecated and will be removed in a future release. + * Please use the `helpsite_url` option instead. + * @default https://usegalaxy.org/u/rkchak/p/sts */ - dynamic_proxy_prefix?: string; + lims_doc_url?: string; /** - * Dynamic Proxy Session Map - * @description The NodeJS dynamic proxy can use an SQLite database or a JSON file for IPC, - * set that here. - * - * @default session_map.sqlite + * Logo Src + * @description The brand image source. + * @default /static/favicon.svg */ - dynamic_proxy_session_map?: string; + logo_src?: string; /** - * Edam Panel Views - * @description Comma-separated list of the EDAM panel views to load - choose from merged, operations, topics. - * Set to empty string to disable EDAM all together. Set default_panel_view to 'ontology:edam_topics' - * to override default tool panel to use an EDAM view. - * - * @default operations,topics + * Logo Src Secondary + * @description The custom brand image source. */ - edam_panel_views?: string; + logo_src_secondary: string; /** - * Edam Toolbox Ontology Path - * @description Sets the path to EDAM ontology file - if the path doesn't exist PyPI package data will be loaded. - * - * @default EDAM.tsv - */ - edam_toolbox_ontology_path?: string; - /** - * Email Domain Allowlist File - * @description E-mail domains allowlist is used to specify allowed email address domains. - * If the list is non-empty and a user attempts registration using an email - * address belonging to a domain that is not on the list, registration will be - * denied. Unlike which matches the address's - * base domain, here email addresses are matched against the full domain (base + subdomain). - * This is a more restrictive option than , and - * therefore, in case is set and is not empty, - * will be ignored. - * - * Example value 'email_allowlist.conf' - * - * The value of this option will be resolved with respect to . + * Logo Url + * @description The URL linked by the "Galaxy/brand" text. + * @default / */ - email_domain_allowlist_file: string; + logo_url?: string; /** - * Email Domain Blocklist File - * @description E-mail domains blocklist is used for filtering out users that are using - * disposable email addresses at registration. If their address's base domain - * matches any domain on the list, they are refused registration. Address subdomains - * are ignored (both 'name@spam.com' and 'name@foo.spam.com' will match 'spam.com'). - * - * Example value 'email_blocklist.conf' + * Mailing Join Address + * @description On the user registration form, users may choose to join a mailing list. This + * is the address used to subscribe to the list. Uncomment and leave empty if you + * want to remove this option from the user registration form. * - * The value of this option will be resolved with respect to . + * Example value 'galaxy-announce-join@lists.galaxyproject.org' + * @default galaxy-announce-join@bx.psu.edu */ - email_domain_blocklist_file: string; + mailing_join_addr?: string; /** - * Email From - * @description Email address to use in the 'From' field when sending emails for - * account activations, workflow step notifications, password resets, and - * tool error reports. We recommend using a string in the following format: - * Galaxy Project . - * If not configured, '' will be used. + * Markdown To Pdf Available + * @deprecated + * @description Determines if the markdown to pdf conversion is available. + * **Deprecated**: This is deprecated and will be removed in a future release. + * @default false */ - email_from: string; + markdown_to_pdf_available?: boolean; /** - * Enable Account Interface - * @description Allow users to manage their account data, change passwords or delete their - * accounts. - * - * @default true + * Matomo Server + * @description Please enter the URL for the Matomo server (including https) so this can be used for tracking + * with Matomo (https://matomo.org/). */ - enable_account_interface?: boolean; + matomo_server?: string; /** - * Enable Beacon Integration - * @description Enables user preferences and api endpoint for the beacon integration. - * - * @default false + * Matomo Site Id + * @description Please enter the site ID for the Matomo server so this can be used for tracking + * with Matomo (https://matomo.org/). */ - enable_beacon_integration?: boolean; + matomo_site_id?: string; /** - * Enable Beta Gdpr - * @description Enables GDPR Compliance mode. This makes several changes to the way - * Galaxy logs and exposes data externally such as removing emails and - * usernames from logs and bug reports. It also causes the delete user - * admin action to permanently redact their username and password, but - * not to delete data associated with the account as this is not - * currently easily implementable. - * - * You are responsible for removing personal data from backups. - * - * This forces expose_user_email and expose_user_name to be false, and - * forces user_deletion to be true to support the right to erasure. - * - * Please read the GDPR section under the special topics area of the - * admin documentation. - * - * @default false + * Message Box Class + * @description Class of the message box under the masthead. + * Possible values are: 'info' (the default), 'warning', 'error', 'done'. + * @default info + * @enum {string} */ - enable_beta_gdpr?: boolean; + message_box_class?: "info" | "warning" | "error" | "done"; /** - * Enable Beta Markdown Export - * @description Enable export of Galaxy Markdown documents (pages and workflow reports) - * to PDF. Requires manual installation and setup of weasyprint (latest version - * available for Python 2.7 is 0.42). - * - * @default false + * Message Box Content + * @description Show a message box under the masthead. */ - enable_beta_markdown_export?: boolean; + message_box_content: string; /** - * Enable Beta Workflow Modules - * @description Enable beta workflow modules that should not yet be considered part of Galaxy's - * stable API. (The module state definitions may change and workflows built using - * these modules may not function in the future.) - * + * Message Box Visible + * @description Show a message box under the masthead. * @default false */ - enable_beta_workflow_modules?: boolean; + message_box_visible?: boolean; /** - * Enable Celery Tasks - * @description Offload long-running tasks to a Celery task queue. - * Activate this only if you have setup a Celery worker for Galaxy. - * For details, see https://docs.galaxyproject.org/en/master/admin/production.html - * - * @default false + * Nginx Upload Path + * @description This value overrides the action set on the file upload form, e.g. the web + * path where the nginx_upload_module has been configured to intercept upload requests. */ - enable_celery_tasks?: boolean; + nginx_upload_path: string; /** - * Enable Data Manager User View - * @description Allow non-admin users to view available Data Manager options. - * - * @default false + * Object Store Allows Id Selection + * @description Determines if the object store allows id selection. */ - enable_data_manager_user_view?: boolean; + object_store_allows_id_selection: boolean; /** - * Enable Legacy Sample Tracking Api - * @description Enable the API for sample tracking - * - * @default false + * Object Store Ids Allowing Selection + * @description The ids of the object stores that can be selected. */ - enable_legacy_sample_tracking_api?: boolean; + object_store_ids_allowing_selection: string[]; /** - * Enable Mulled Containers - * @description Enable Galaxy to fetch containers registered with quay.io generated - * from tool requirements resolved through Conda. These containers (when - * available) have been generated using mulled - https://github.com/mulled. - * Container availability will vary by tool, this option will only be used - * for job destinations with Docker or Singularity enabled. - * - * @default true + * Oidc + * @description OpenID Connect (OIDC) configuration. + * @default {} */ - enable_mulled_containers?: boolean; + oidc?: Record; /** - * Enable Notification System - * @description Enables the Notification System integrated in Galaxy. - * - * Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. - * - * The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. - * - * Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. - * + * Overwrite Model Recommendations + * @description Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model + * are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools + * by admins and predicted by the deep learning model are shown. * @default false */ - enable_notification_system?: boolean; + overwrite_model_recommendations?: boolean; /** - * Enable Oidc - * @description Enables and disables OpenID Connect (OIDC) support. - * - * @default false + * Panel Views + * @description Definitions of static toolbox panel views embedded directly in the config instead of reading + * YAML from directory with panel_views_dir. */ - enable_oidc?: boolean; + panel_views: Record[]; /** - * Enable Old Display Applications - * @description Set this to false to disable the old-style display applications that - * are hardcoded into datatype classes. - * This may be desirable due to using the new-style, XML-defined, display - * applications that have been defined for many of the datatypes that have the - * old-style. - * There is also a potential security concern with the old-style applications, - * where a malicious party could provide a link that appears to reference the - * Galaxy server, but contains a redirect to a third-party server, tricking a - * Galaxy user to access said site. - * - * @default true + * Plausible Domain + * @description Please enter the URL for the Galaxy server so this can be used for tracking + * with Plausible (https://plausible.io/). */ - enable_old_display_applications?: boolean; + plausible_domain?: string; /** - * Enable Per Request Sql Debugging - * @description Enables a per request sql debugging option. If this is set to true, - * append ?sql_debug=1 to web request URLs to enable detailed logging on - * the backend of SQL queries generated during that request. This is - * useful for debugging slow endpoints during development. - * - * @default false + * Plausible Server + * @description Please enter the URL for the Plausible server (including https) so this can be used for tracking + * with Plausible (https://plausible.io/). */ - enable_per_request_sql_debugging?: boolean; + plausible_server?: string; /** - * Enable Quotas - * @description Enable enforcement of quotas. Quotas can be set from the Admin interface. - * - * @default false + * Post User Logout Href + * @description This is the default url to which users are redirected after they log out. + * @default /root/login?is_logout_redirect=true */ - enable_quotas?: boolean; + post_user_logout_href?: string; /** - * Enable Tool Document Cache - * @description Whether to enable the tool document cache. This cache stores - * expanded XML strings. Enabling the tool cache results in slightly faster startup - * times. The tool cache is backed by a SQLite database, which cannot - * be stored on certain network disks. The cache location is configurable - * using the ``tool_cache_data_dir`` setting, but can be disabled completely here. + * Power Usage Effectiveness + * @description The estimated power usage effectiveness of the data centre housing the server your galaxy + * instance is running on. This can make carbon emissions estimates more accurate. + * For more information on how to calculate a PUE value, visit + * https://en.wikipedia.org/wiki/Power_usage_effectiveness * - * @default false + * @default 1.67 */ - enable_tool_document_cache?: boolean; + power_usage_effectiveness?: number; /** - * Enable Tool Recommendations - * @description Allow the display of tool recommendations in workflow editor and after tool execution. - * If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well - * + * Prefer Custos Login + * @description Controls the order of the login page to prefer Custos-based login and registration. * @default false */ - enable_tool_recommendations?: boolean; + prefer_custos_login?: boolean; /** - * Enable Tool Shed Check - * @description Enable automatic polling of relative tool sheds to see if any updates - * are available for installed repositories. Ideally only one Galaxy - * server process should be able to check for repository updates. The - * setting for hours_between_check should be an integer between 1 and 24. - * - * @default false + * Python Version + * @description The Python version used by Galaxy as a tuple of integers [mayor, minor]. */ - enable_tool_shed_check?: boolean; + python: number[]; /** - * Enable Tool Source Display - * @description This option allows users to view the tool wrapper source code. This is - * safe to enable if you have not hardcoded any secrets in any of the tool - * wrappers installed on this Galaxy server. If you have only installed tool - * wrappers from public tool sheds and tools shipped with Galaxy there you - * can enable this option. - * - * @default false + * Quota Source Labels + * @description The labels of the disk quota sources available on this Galaxy instance. */ - enable_tool_source_display?: boolean; + quota_source_labels: string[]; /** - * Enable Tool Tags - * @description Enable tool tags (associating tools with tags). This has its own option - * since its implementation has a few performance implications on startup for - * large servers. - * - * @default false + * Quota Url + * @description The URL linked for quota information in the UI. + * @default https://galaxyproject.org/support/account-quotas/ */ - enable_tool_tags?: boolean; + quota_url?: string; /** - * Enable Unique Workflow Defaults - * @description Enable a feature when running workflows. When enabled, default datasets - * are selected for "Set at Runtime" inputs from the history such that the - * same input will not be selected twice, unless there are more inputs than - * compatible datasets in the history. - * When false, the most recently added compatible item in the history will - * be used for each "Set at Runtime" input, independent of others in the workflow. - * - * @default false + * Registration Warning Message + * @description Registration warning message is used to discourage people from registering + * multiple accounts. Applies mostly for the main Galaxy instance. + * If no message specified the warning box will not be shown. + * @default Please register only one account - we provide this service free of charge and have limited computational resources. Multi-accounts are tracked and will be subjected to account termination and data deletion. */ - enable_unique_workflow_defaults?: boolean; + registration_warning_message?: string; /** - * Environment Setup File - * @description File to source to set up the environment when running jobs. By default, the - * environment in which the Galaxy server starts is used when running jobs - * locally, and the environment set up per the DRM's submission method and - * policy is used when running jobs on a cluster (try testing with `qsub` on the - * command line). environment_setup_file can be set to the path of a file on - * the cluster that should be sourced by the user to set up the environment - * prior to running tools. This can be especially useful for running jobs as - * the actual user, to remove the need to configure each user's environment - * individually. - */ - environment_setup_file: string; - /** - * Error Email To - * @description Datasets in an error state include a link to report the error. Those reports - * will be sent to this address. Error reports are disabled if no address is - * set. Also this email is shown as a contact to user in case of Galaxy - * misconfiguration and other events user may encounter. - */ - error_email_to: string; - /** - * Error Report File - * @description Path to error reports configuration file. - * - * @default error_report.yml + * Release Doc Base Url + * @description The URL linked by the "Galaxy Version" link in the "Help" menu. + * @default https://docs.galaxyproject.org/en/release_ */ - error_report_file?: string; + release_doc_base_url?: string; /** - * Expired Notifications Cleanup Interval - * @description The interval in seconds between attempts to delete all expired notifications from the database (every 24 hours by default). Runs in a Celery task. - * - * @default 86400 + * Remote User Logout Href + * @description If use_remote_user is enabled, you can set this to a URL that will log your users out. */ - expired_notifications_cleanup_interval?: number; + remote_user_logout_href?: string; /** - * Expose Dataset Path - * @description This option allows users to see the full path of datasets via the "View - * Details" option in the history. This option also exposes the command line to - * non-administrative users. Administrators can always see dataset paths. - * + * Require Login + * @description Force everyone to log in (disable anonymous access). * @default false */ - expose_dataset_path?: boolean; + require_login?: boolean; /** - * Expose Potentially Sensitive Job Metrics - * @description This option allows users to see the job metrics (except for environment - * variables). - * - * @default false + * Screencasts Url + * @description The URL linked by the "Videos" link in the "Help" menu. + * @default https://www.youtube.com/c/galaxyproject */ - expose_potentially_sensitive_job_metrics?: boolean; + screencasts_url?: string; /** - * Expose User Email - * @description Expose user list. Setting this to true will expose the user list to - * authenticated users. This makes sharing datasets in smaller galaxy instances - * much easier as they can type a name/email and have the correct user show up. - * This makes less sense on large public Galaxy instances where that data - * shouldn't be exposed. For semi-public Galaxies, it may make sense to expose - * just the username and not email, or vice versa. - * - * If enable_beta_gdpr is set to true, then this option will be - * overridden and set to false. - * - * @default false + * Select Type Workflow Threshold + * @description Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) + * Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. + * use 0 in order to always use select2 fields, use -1 (default) in order to always use the regular select fields, + * use any other positive number as threshold (above threshold: regular select fields will be used) + * @default -1 */ - expose_user_email?: boolean; + select_type_workflow_threshold?: number; /** - * Expose User Name - * @description Expose user list. Setting this to true will expose the user list to - * authenticated users. This makes sharing datasets in smaller galaxy instances - * much easier as they can type a name/email and have the correct user show up. - * This makes less sense on large public Galaxy instances where that data - * shouldn't be exposed. For semi-public Galaxies, it may make sense to expose - * just the username and not email, or vice versa. - * - * If enable_beta_gdpr is set to true, then this option will be - * overridden and set to false. - * + * Server Mail Configured + * @description Determines if the Galaxy instance has a SMTP server configured. * @default false */ - expose_user_name?: boolean; + server_mail_configured?: boolean; /** - * External Chown Script - * @description When running DRMAA jobs as the Galaxy user - * (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) - * this script is used transfer permissions back and forth between the Galaxy user - * and the user that is running the job. - * - * Example value 'sudo -E scripts/external_chown_script.py' - */ - external_chown_script: string; - /** - * Fetch Url Allowlist - * @description List of allowed local network addresses for "Upload from URL" dialog. - * By default, Galaxy will deny access to the local network address space, to - * prevent users making requests to services which the administrator did not - * intend to expose. Previously, you could request any network service that - * Galaxy might have had access to, even if the user could not normally access it. - * It should be a comma-separated list of IP addresses or IP address/mask, e.g. - * 10.10.10.10,10.0.1.0/24,fd00::/8 - */ - fetch_url_allowlist: string; - /** - * File Path - * @description Where dataset files are stored. It must be accessible at the same path on any cluster - * nodes that will run Galaxy jobs, unless using Pulsar. The default value has been changed - * from 'files' to 'objects' as of 20.05; however, Galaxy will first check if the 'files' - * directory exists before using 'objects' as the default. - * - * @default objects + * Server Start Time + * @description The time when the Galaxy server was started (seconds since Epoch). */ - file_path?: string; + server_startttime: number; /** - * File Sources - * @description FileSource plugins described embedded into Galaxy's config. + * Show Welcome With Login + * @description Show the site's welcome page (see welcome_url) alongside the login page + * (even if require_login is true). + * @default false */ - file_sources: Record[]; + show_welcome_with_login?: boolean; /** - * File Sources Config File - * @description Configured FileSource plugins. - * - * @default file_sources_conf.yml + * Simplified Workflow Run Ui + * @description If set to 'off' by default, always use the traditional workflow form that renders + * all steps in the GUI and serializes the tool state of all steps during + * invocation. Set to 'prefer' to default to a simplified workflow UI that + * only renders the inputs if possible (the workflow must have no disconnected + * runtime inputs and not replacement parameters within tool steps). In the + * future 'force' may be added an option for Galaskio-style servers that should + * only render simplified workflows. + * @default prefer + * @enum {string} */ - file_sources_config_file?: string; + simplified_workflow_run_ui?: "off" | "prefer"; /** - * Fluent Host - * @description Fluentd configuration. Various events can be logged to the fluentd instance - * configured below by enabling fluent_log. - * - * @default localhost + * Simplified Workflow Run Ui Job Cache + * @description When the simplified workflow run form is rendered, should the invocation use job + * caching. This isn't a boolean so an option for 'show-selection' can be added later. + * @default off + * @enum {string} */ - fluent_host?: string; + simplified_workflow_run_ui_job_cache?: "on" | "off"; /** - * Fluent Log - * @description Fluentd configuration. Various events can be logged to the fluentd instance - * configured below by enabling fluent_log. + * Simplified Workflow Run Ui Target History + * @description When the simplified workflow run form is rendered, should the invocation outputs + * be sent to the 'current' history or a 'new' history. If the user should be presented + * and option between these - set this to 'prefer_current' or 'prefer_new' to display + * a runtime setting with the corresponding default. The default is to provide the + * user this option and default it to the current history (the traditional behavior + * of Galaxy for years) - this corresponds to the setting 'prefer_current'. * - * @default false + * @default prefer_current + * @enum {string} */ - fluent_log?: boolean; + simplified_workflow_run_ui_target_history?: "prefer_current" | "prefer_new"; /** - * Fluent Port - * @description Fluentd configuration. Various events can be logged to the fluentd instance - * configured below by enabling fluent_log. - * - * @default 24224 + * Single User + * @description If an e-mail address is specified here, it will hijack remote user mechanics + * (``use_remote_user``) and have the webapp inject a single fixed user. This + * has the effect of turning Galaxy into a single user application with no + * login or external proxy required. Such applications should not be exposed to + * the world. */ - fluent_port?: number; + single_user: string; /** - * Flush Per N Datasets - * @description Maximum number of datasets to create before flushing created datasets to database. - * This affects tools that create many output datasets. - * Higher values will lead to fewer database flushes and faster execution, but require - * more memory. Set to -1 to disable creating datasets in batches. - * - * @default 1000 + * Support Url + * @description The URL linked by the "Support" link in the "Help" menu. + * @default https://galaxyproject.org/support/ */ - flush_per_n_datasets?: number; + support_url?: string; /** - * Ftp Upload Dir - * @description This should point to a directory containing subdirectories matching users' - * identifier (defaults to e-mail), where Galaxy will look for files. + * Terms Url + * @description The URL linked by the "Terms and Conditions" link in the "Help" menu, as well + * as on the user registration and login forms and in the activation emails. */ - ftp_upload_dir: string; + terms_url: string; /** - * Ftp Upload Dir Identifier - * @description User attribute to use as subdirectory in calculating default ftp_upload_dir - * pattern. By default this will be email so a user's FTP upload directory will be - * ${ftp_upload_dir}/${user.email}. Can set this to other attributes such as id or - * username though. - * - * @default email + * Themes + * @description The visual style themes available on this Galaxy instance. */ - ftp_upload_dir_identifier?: string; + themes: { + [key: string]: + | { + [key: string]: string | undefined; + } + | undefined; + }; /** - * Ftp Upload Dir Template - * @description Python string template used to determine an FTP upload directory for a - * particular user. - * - * Defaults to '${ftp_upload_dir}/${ftp_upload_dir_identifier}'. + * Tool Recommendation Model Path + * @description Set remote path of the trained model (HDF5 file) for tool recommendation. + * @default https://github.com/galaxyproject/galaxy-test-data/raw/master/tool_recommendation_model_v_0.2.hdf5 */ - ftp_upload_dir_template: string; + tool_recommendation_model_path?: string; /** - * Ftp Upload Purge - * @description Set to false to prevent Galaxy from deleting uploaded FTP files - * as it imports them. + * Tool Training Recommendations + * @description Displays a link to training material, if any includes the current tool. + * When activated the following options also need to be set: + * tool_training_recommendations_link, + * tool_training_recommendations_api_url * * @default true */ - ftp_upload_purge?: boolean; + tool_training_recommendations?: boolean; /** - * Ftp Upload Site - * @description Enable Galaxy's "Upload via FTP" interface. You'll need to install and - * configure an FTP server (we've used ProFTPd since it can use Galaxy's - * database for authentication) and set the following two options. - * This will be provided to users in the help text as 'log in to the FTP - * server at '. Thus, it should be the hostname of your FTP server. + * Tool Training Recommendations Api Url + * @description URL to API describing tutorials containing specific tools. + * When CORS is used, make sure to add this host. + * @default https://training.galaxyproject.org/training-material/api/top-tools.json */ - ftp_upload_site: string; + tool_training_recommendations_api_url?: string; /** - * Ga4Gh Service Environment - * @description Service environment (exposed via the service-info endpoint for the Galaxy DRS API) for - * implemented GA4GH services. - * - * Suggested values are prod, test, dev, staging. + * Tool Training Recommendations Link + * @description Template URL to display all tutorials containing current tool. + * Valid template inputs are: + * {repository_owner} + * {name} + * {tool_id} + * {training_tool_identifier} + * {version} * - * For more information on GA4GH service definitions - check out - * https://github.com/ga4gh-discovery/ga4gh-service-registry - * and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml + * @default https://training.galaxyproject.org/training-material/by-tool/{training_tool_identifier}.html */ - ga4gh_service_environment: string; - /** - * Ga4Gh Service Id - * @description Service ID for GA4GH services (exposed via the service-info endpoint for the Galaxy DRS API). - * If unset, one will be generated using the URL the target API requests are made against. - * - * For more information on GA4GH service definitions - check out - * https://github.com/ga4gh-discovery/ga4gh-service-registry - * and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml - * - * This value should likely reflect your service's URL. For instance for usegalaxy.org - * this value should be org.usegalaxy. Particular Galaxy implementations will treat this - * value as a prefix and append the service type to this ID. For instance for the DRS - * service "id" (available via the DRS API) for the above configuration value would be - * org.usegalaxy.drs. + tool_training_recommendations_link?: string; + /** + * Toolbox Auto Sort + * @description If true, the toolbox will be sorted by tool id when the toolbox is loaded. + * This is useful for ensuring that tools are always displayed in the same + * order in the UI. If false, the order of tools in the toolbox will be + * preserved as they are loaded from the tool config files. + * @default true */ - ga4gh_service_id: string; + toolbox_auto_sort?: boolean; /** - * Ga4Gh Service Organization Name - * @description Service name for host organization (exposed via the service-info endpoint for the Galaxy DRS API). - * If unset, one will be generated using ga4gh_service_id. - * - * For more information on GA4GH service definitions - check out - * https://github.com/ga4gh-discovery/ga4gh-service-registry - * and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml + * Topk Recommendations + * @description Set the number of predictions/recommendations to be made by the model + * @default 20 */ - ga4gh_service_organization_name: string; + topk_recommendations?: number; /** - * Ga4Gh Service Organization Url - * @description Organization URL for host organization (exposed via the service-info endpoint for the Galaxy DRS API). - * If unset, one will be generated using the URL the target API requests are made against. + * Upload From Form Button + * @description If 'always-on', add another button to tool form data inputs that allow uploading + * data from the tool form in fewer clicks (at the expense of making the form more complicated). This applies to workflows as well. * - * For more information on GA4GH service definitions - check out - * https://github.com/ga4gh-discovery/ga4gh-service-registry - * and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml + * Avoiding making this a boolean because we may add options such as 'in-single-form-view' + * or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109 + * @default always-off + * @enum {string} */ - ga4gh_service_organization_url: string; + upload_from_form_button?: "always-on" | "always-off"; /** - * Ga Code - * @description You can enter tracking code here to track visitor's behavior - * through your Google Analytics account. Example: UA-XXXXXXXX-Y + * Use Remote User + * @description User authentication can be delegated to an upstream proxy server (usually + * Apache). The upstream proxy should set a REMOTE_USER header in the request. + * Enabling remote user disables regular logins. For more information, see: + * https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html + * @default false */ - ga_code: string; + use_remote_user?: boolean; /** - * Galaxy Data Manager Data Path - * @description Directory to store Data Manager based tool-data. Defaults to the value of the - * option. + * User Library Import Dir Available + * @description Determines if the user library import directory is available. */ - galaxy_data_manager_data_path: string; + user_library_import_dir_available: boolean; /** - * Galaxy Infrastructure Url - * @description URL (with schema http/https) of the Galaxy instance as accessible - * within your local network. This URL is used as a default by pulsar - * file staging and Interactive Tool containers for communicating back with - * Galaxy via the API. - * - * If you plan to run Interactive Tools make sure the docker container - * can reach this URL. - * - * @default http://localhost:8080 - */ - galaxy_infrastructure_url?: string; - /** - * Galaxy Infrastructure Web Port - * @description If the above URL cannot be determined ahead of time in dynamic environments - * but the port which should be used to access Galaxy can be - this should be - * set to prevent Galaxy from having to guess. For example if Galaxy is sitting - * behind a proxy with REMOTE_USER enabled - infrastructure shouldn't talk to - * Python processes directly and this should be set to 80 or 443, etc... If - * unset this file will be read for a server block defining a port corresponding - * to the webapp. - * - * @default 8080 + * Version Extra + * @description The extra version of Galaxy. */ - galaxy_infrastructure_web_port?: number; + version_extra?: Record; /** - * Galaxy Url Prefix - * @description URL prefix for Galaxy application. If Galaxy should be served under a prefix set this to - * the desired prefix value. - * - * @default / + * Version Major + * @description The major version of Galaxy. */ - galaxy_url_prefix?: string; + version_major: string; /** - * Geographical Server Location Code - * @description The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. - * This is used to make carbon emissions estimates more accurate as the location effects the - * carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the - * `geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, - * visit https://galaxyproject.org/admin/carbon_emissions - * - * @default GLOBAL + * Version Minor + * @description The minor version of Galaxy. */ - geographical_server_location_code?: string; + version_minor: string; /** - * Heartbeat Interval - * @description Control the period (in seconds) between dumps. Use -1 to disable. Regardless - * of this setting, if use_heartbeat is enabled, you can send a Galaxy process - * SIGUSR1 (`kill -USR1`) to force a dump. - * - * @default 20 + * Visualizations Visible + * @description Show visualization tab and list in masthead. + * @default true */ - heartbeat_interval?: number; + visualizations_visible?: boolean; /** - * Heartbeat Log - * @description Heartbeat log filename. Can accept the template variables {server_name} and {pid} - * - * @default heartbeat_{server_name}.log + * Welcome Directory + * @description Location of New User Welcome data, a single directory containing the + * images and JSON of Topics/Subtopics/Slides as export. This location + * is relative to galaxy/static + * @default plugins/welcome_page/new_user/static/topics/ */ - heartbeat_log?: string; + welcome_directory?: string; /** - * Helpsite Url - * @description The URL linked by the "Galaxy Help" link in the "Help" menu. - * - * @default https://help.galaxyproject.org/ + * Welcome Url + * @description The URL of the page to display in Galaxy's middle pane when loaded. This can + * be an absolute or relative URL. + * @default /static/welcome.html */ - helpsite_url?: string; + welcome_url?: string; /** - * History Audit Table Prune Interval - * @description Time (in seconds) between attempts to remove old rows from the history_audit database table. - * Set to 0 to disable pruning. - * - * @default 3600 + * Wiki Url + * @description The URL linked by the "Community Hub" link in the "Help" menu. + * @default https://galaxyproject.org/ */ - history_audit_table_prune_interval?: number; + wiki_url?: string; + }; + /** ContentsObject */ + ContentsObject: { /** - * History Local Serial Workflow Scheduling - * @description Force serial scheduling of workflows within the context of a particular history - * - * @default false + * Contents + * @description If this ContentsObject describes a nested bundle and the caller specified "?expand=true" on the request, then this contents array must be present and describe the objects within the nested bundle. */ - history_local_serial_workflow_scheduling?: boolean; + contents?: components["schemas"]["ContentsObject"][]; /** - * Hours Between Check - * @description Enable automatic polling of relative tool sheds to see if any updates - * are available for installed repositories. Ideally only one Galaxy - * server process should be able to check for repository updates. The - * setting for hours_between_check should be an integer between 1 and 24. - * - * @default 12 + * Drs Uri + * @description A list of full DRS identifier URI paths that may be used to obtain the object. These URIs may be external to this DRS instance. + * @example drs://drs.example.org/314159 */ - hours_between_check?: number; + drs_uri?: string[]; /** - * Id Secret - * @description Galaxy encodes various internal values when these values will be output in - * some format (for example, in a URL or cookie). You should set a key to be - * used by the algorithm that encodes and decodes these values. It can be any - * string with a length between 5 and 56 bytes. - * One simple way to generate a value for this is with the shell command: - * python -c 'from __future__ import print_function; import time; print(time.time())' | md5sum | cut -f 1 -d ' ' - * - * @default USING THE DEFAULT IS NOT SECURE! + * Id + * @description A DRS identifier of a `DrsObject` (either a single blob or a nested bundle). If this ContentsObject is an object within a nested bundle, then the id is optional. Otherwise, the id is required. */ - id_secret?: string; + id?: string; /** - * Inactivity Box Content - * @description Shown in warning box to users that were not activated yet. - * In use only if activation_grace_period is set. - * - * @default Your account has not been activated yet. Feel free to browse around and see what's available, but you won't be able to upload data or run jobs until you have verified your email address. + * Name + * @description A name declared by the bundle author that must be used when materialising this object, overriding any name directly associated with the object itself. The name must be unique with the containing bundle. This string is made up of uppercase and lowercase letters, decimal digits, hyphen, period, and underscore [A-Za-z0-9.-_]. See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable filenames]. */ - inactivity_box_content?: string; + name: string; + }; + /** + * ConvertedDatasetsMap + * @description Map of `file extension` -> `converted dataset encoded id` + * @example { + * "csv": "dataset_id" + * } + */ + ConvertedDatasetsMap: { + [key: string]: string | undefined; + }; + /** + * CreateEntryPayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateEntryPayload: { /** - * Install Database Connection - * @description By default, Galaxy will use the same database to track user data and - * tool shed install data. There are many situations in which it is - * valuable to separate these - for instance bootstrapping fresh Galaxy - * instances with pretested installs. The following option can be used to - * separate the tool shed install database (all other options listed above - * but prefixed with ``install_`` are also available). - * - * Defaults to the value of the 'database_connection' option. + * Name + * @description The name of the entry to create. + * @example my_new_entry */ - install_database_connection: string; + name: string; /** - * Instance Resource Url - * @description URL of the support resource for the galaxy instance. Used in activation - * emails. - * - * Example value 'https://galaxyproject.org/' + * Target + * @description The target file source to create the entry in. */ - instance_resource_url: string; + target: string; + }; + /** + * CreateHistoryContentFromStore + * @description Base model definition with common configuration used by all derived models. + */ + CreateHistoryContentFromStore: { + model_store_format?: components["schemas"]["ModelStoreFormat"]; + /** Store Content Uri */ + store_content_uri?: string; + /** Store Dict */ + store_dict?: Record; + }; + /** + * CreateHistoryContentPayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateHistoryContentPayload: { /** - * Integrated Tool Panel Config - * @description File that contains the XML section and tool tags from all tool panel config - * files integrated into a single file that defines the tool panel layout. This - * file can be changed by the Galaxy administrator to alter the layout of the - * tool panel. If not present, Galaxy will create it. - * - * The value of this option will be resolved with respect to . - * - * @default integrated_tool_panel.xml + * Collection Type + * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ - integrated_tool_panel_config?: string; + collection_type?: string; /** - * Interactivetools Base Path - * @description Base path for interactive tools running at a subpath without a subdomain. Defaults to "/". - * - * @default / + * Content + * @description Depending on the `source` it can be: + * - The encoded id from the library dataset + * - The encoded id from the library folder + * - The encoded id from the HDA + * - The encoded id from the HDCA */ - interactivetools_base_path?: string; + content?: string | string; /** - * Interactivetools Enable - * @description Enable InteractiveTools. - * + * Copy Elements + * @description If the source is a collection, whether to copy child HDAs into the target history as well, defaults to False but this is less than ideal and may be changed in future releases. * @default false */ - interactivetools_enable?: boolean; + copy_elements?: boolean; /** - * Interactivetools Map - * @description Map for interactivetool proxy. - * - * @default interactivetools_map.sqlite + * DBKey + * @description TODO */ - interactivetools_map?: string; + dbkey?: string; /** - * Interactivetools Prefix - * @description Prefix to use in the formation of the subdomain or path for interactive tools - * - * @default interactivetool + * Element Identifiers + * @description List of elements that should be in the new collection. */ - interactivetools_prefix?: string; + element_identifiers?: components["schemas"]["CollectionElementIdentifier"][]; /** - * Interactivetools Proxy Host - * @description Hostname and port of Interactive tools proxy. It is assumed to be hosted on the same hostname and port as - * Galaxy by default. + * Folder Id + * @description The ID of the library folder that will contain the collection. Required if `instance_type=library`. + * @example 0123456789ABCDEF */ - interactivetools_proxy_host: string; + folder_id?: string; /** - * Interactivetools Shorten Url - * @description Shorten the uuid portion of the subdomain or path for interactive tools. - * Especially useful for avoiding the need for wildcard certificates by keeping - * subdomain under 63 chars - * + * Hide Source Items + * @description Whether to mark the original HDAs as hidden. * @default false */ - interactivetools_shorten_url?: boolean; - /** - * Interactivetools Upstream Proxy - * @description Set this to false to redirect users of Interactive tools directly to the Interactive tools proxy. `interactivetools_upstream_proxy` should only be set to false in development. - * @default true - */ - interactivetools_upstream_proxy?: boolean; + hide_source_items?: boolean; /** - * Involucro Auto Init - * @description Install involucro as needed to build Docker or Singularity containers for tools. Ignored if - * relevant container resolver is not used. - * - * @default true + * History Id + * @description The ID of the history that will contain the collection. Required if `instance_type=history`. + * @example 0123456789ABCDEF */ - involucro_auto_init?: boolean; + history_id?: string; /** - * Involucro Path - * @description involucro is a tool used to build Docker or Singularity containers for tools from Conda - * dependencies referenced in tools as `requirement` s. The following path is - * the location of involucro on the Galaxy host. This is ignored if the relevant - * container resolver isn't enabled, and will install on demand unless - * involucro_auto_init is set to false. - * - * @default involucro + * Instance Type + * @description The type of the instance, either `history` (default) or `library`. + * @default history + * @enum {string} */ - involucro_path?: string; + instance_type?: "history" | "library"; /** - * Job Config - * @description Description of job running configuration, can be embedded into Galaxy configuration or loaded from an additional file with the job_config_file option. + * Name + * @description The name of the new collection. */ - job_config: Record; + name?: string; /** - * Job Config File - * @description To increase performance of job execution and the web interface, you can - * separate Galaxy into multiple processes. There are more than one way to do - * this, and they are explained in detail in the documentation: - * - * https://docs.galaxyproject.org/en/master/admin/scaling.html - * - * By default, Galaxy manages and executes jobs from within a single process and - * notifies itself of new jobs via in-memory queues. Jobs are run locally on - * the system on which Galaxy is started. Advanced job running capabilities can - * be configured through the job configuration file or the option. - * - * @default job_conf.yml + * Source + * @description The source of the content. Can be other history element to be copied or library elements. */ - job_config_file?: string; + source?: components["schemas"]["HistoryContentSource"]; /** - * Job Handler Monitor Sleep - * @description Each Galaxy job handler process runs one thread responsible for discovering jobs and - * dispatching them to runners. This thread operates in a loop and sleeps for the given - * number of seconds at the end of each iteration. This can be decreased if extremely high - * job throughput is necessary, but doing so can increase CPU usage of handler processes. - * Float values are allowed. - * - * @default 1 + * Type + * @description The type of content to be created in the history. + * @default dataset */ - job_handler_monitor_sleep?: number; + type?: components["schemas"]["HistoryContentType"]; + }; + /** + * CreateHistoryFromStore + * @description Base model definition with common configuration used by all derived models. + */ + CreateHistoryFromStore: { + model_store_format?: components["schemas"]["ModelStoreFormat"]; + /** Store Content Uri */ + store_content_uri?: string; + /** Store Dict */ + store_dict?: Record; + }; + /** + * CreateLibrariesFromStore + * @description Base model definition with common configuration used by all derived models. + */ + CreateLibrariesFromStore: { + model_store_format?: components["schemas"]["ModelStoreFormat"]; + /** Store Content Uri */ + store_content_uri?: string; + /** Store Dict */ + store_dict?: Record; + }; + /** + * CreateLibraryFilePayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateLibraryFilePayload: { /** - * Job Metrics Config File - * @description XML config file that contains the job metric collection configuration. - * - * @default job_metrics_conf.xml + * From HDA ID + * @description The ID of an accessible HDA to copy into the library. + * @example 0123456789ABCDEF */ - job_metrics_config_file?: string; + from_hda_id?: string; /** - * Job Resource Params File - * @description Optional file containing job resource data entry fields definition. - * These fields will be presented to users in the tool forms and allow them to - * overwrite default job resources such as number of processors, memory and - * walltime. - * - * @default job_resource_params_conf.xml + * From HDCA ID + * @description The ID of an accessible HDCA to copy into the library. Nested collections are not allowed, you must flatten the collection first. + * @example 0123456789ABCDEF */ - job_resource_params_file?: string; + from_hdca_id?: string; /** - * Job Runner Monitor Sleep - * @description Each Galaxy job handler process runs one thread per job runner plugin responsible for - * checking the state of queued and running jobs. This thread operates in a loop and - * sleeps for the given number of seconds at the end of each iteration. This can be - * decreased if extremely high job throughput is necessary, but doing so can increase CPU - * usage of handler processes. Float values are allowed. - * - * @default 1 + * LDDA Message + * @description The new message attribute of the LDDA created. + * @default */ - job_runner_monitor_sleep?: number; + ldda_message?: string; + }; + /** + * CreateLibraryFolderPayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateLibraryFolderPayload: { /** - * Job Working Directory - * @description Each job is given a unique empty directory as its current working directory. - * This option defines in what parent directory those directories will be - * created. - * - * The value of this option will be resolved with respect to . - * - * @default jobs_directory + * Description + * @description A detailed description of the library folder. + * @default */ - job_working_directory?: string; + description?: string; /** - * Len File Path - * @description Directory where chrom len files are kept, currently mainly used by trackster. - * - * The value of this option will be resolved with respect to . - * - * @default shared/ucsc/chrom + * Name + * @description The name of the library folder. */ - len_file_path?: string; + name: string; + }; + /** + * CreateLibraryPayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateLibraryPayload: { /** - * Library Import Dir - * @description Add an option to the library upload form which allows administrators to - * upload a directory of files. + * Description + * @description A detailed description of the Library. + * @default */ - library_import_dir: string; + description?: string; /** - * Local Conda Mapping File - * @description Path to a file that provides a mapping from abstract packages to concrete conda packages. - * See `config/local_conda_mapping.yml.sample` for examples. - * - * @default local_conda_mapping.yml + * Name + * @description The name of the Library. */ - local_conda_mapping_file?: string; + name: string; /** - * Local Task Queue Workers - * @description This enables splitting of jobs into tasks, if specified by the particular tool - * config. - * This is a new feature and not recommended for production servers yet. - * - * @default 2 + * Synopsis + * @description A short text describing the contents of the Library. + * @default */ - local_task_queue_workers?: number; + synopsis?: string; + }; + /** CreateMetricsPayload */ + CreateMetricsPayload: { /** - * Log Actions - * @description Turn on logging of user actions to the database. Actions currently logged - * are grid views, tool searches, and use of "recently" used tools menu. The - * log_events and log_actions functionality will eventually be merged. - * - * @default false + * List of metrics to be recorded. + * @default [] + * @example [ + * { + * "args": "{\"test\":\"value\"}", + * "level": 0, + * "namespace": "test-source", + * "time": "2021-01-23T18:25:43.511Z" + * } + * ] */ - log_actions?: boolean; + metrics?: components["schemas"]["Metric"][]; + }; + /** + * CreateNewCollectionPayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateNewCollectionPayload: { /** - * Log Destination - * @description Log destination, defaults to special value "stdout" that logs to standard output. If set to anything else, - * then it will be interpreted as a path that will be used as the log file, and logging to stdout will be - * disabled. - * - * @default stdout + * Collection Type + * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ - log_destination?: string; + collection_type?: string; /** - * Log Events - * @description Turn on logging of application events and some user events to the database. - * + * Copy Elements + * @description Whether to create a copy of the source HDAs for the new collection. * @default false */ - log_events?: boolean; + copy_elements?: boolean; /** - * Log Level - * @description Verbosity of console log messages. Acceptable values can be found here: - * https://docs.python.org/library/logging.html#logging-levels - * A custom debug level of "TRACE" is available for even more verbosity. - * - * @default DEBUG + * Element Identifiers + * @description List of elements that should be in the new collection. */ - log_level?: string; + element_identifiers?: components["schemas"]["CollectionElementIdentifier"][]; /** - * Log Rotate Count - * @description Number of log file backups to keep, per the documentation in - * https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler - * Any additional rotated log files will automatically be pruned. If log_rotate_size is not also set, no log - * rotation will be performed. A value of 0 (the default) means no rotation. - * - * @default 0 + * Folder Id + * @description The ID of the library folder that will contain the collection. Required if `instance_type=library`. + * @example 0123456789ABCDEF */ - log_rotate_count?: number; + folder_id?: string; /** - * Log Rotate Size - * @description Size of log file at which size it will be rotated as per the documentation in - * https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler - * If log_rotate_count is not also set, no log rotation will be performed. A value of 0 (the default) means no - * rotation. Size can be a number of bytes or a human-friendly representation like "100 MB" or "1G". - * - * @default 0 + * Hide Source Items + * @description Whether to mark the original HDAs as hidden. + * @default false */ - log_rotate_size?: string; + hide_source_items?: boolean; /** - * Logging - * @description Controls where and how the server logs messages. If set, overrides all settings in the log_* configuration - * options. Configuration is described in the documentation at: - * https://docs.galaxyproject.org/en/master/admin/config_logging.html + * History Id + * @description The ID of the history that will contain the collection. Required if `instance_type=history`. + * @example 0123456789ABCDEF */ - logging: Record; + history_id?: string; /** - * Logo Src - * @description The brand image source. - * - * @default /static/favicon.svg + * Instance Type + * @description The type of the instance, either `history` (default) or `library`. + * @default history + * @enum {string} */ - logo_src?: string; + instance_type?: "history" | "library"; /** - * Logo Src Secondary - * @description The custom brand image source. + * Name + * @description The name of the new collection. */ - logo_src_secondary: string; + name?: string; + }; + /** + * CreatePagePayload + * @description Base model definition with common configuration used by all derived models. + */ + CreatePagePayload: { /** - * Logo Url - * @description The URL linked by the "Galaxy/brand" text. - * - * @default / + * Annotation + * @description Annotation that will be attached to the page. */ - logo_url?: string; + annotation?: string; /** - * Mailing Join Addr - * @description On the user registration form, users may choose to join a mailing list. This - * is the address used to subscribe to the list. Uncomment and leave empty if you - * want to remove this option from the user registration form. - * - * Example value 'galaxy-announce-join@lists.galaxyproject.org' + * Content + * @description Raw text contents of the first page revision (type dependent on content_format). + * @default */ - mailing_join_addr: string; + content?: string; /** - * Mailing Join Body - * @description The body of the email sent to the mailing list join address. See the - * `mailing_join_addr` option for more information. - * - * @default Join Mailing List + * Content format + * @description Either `markdown` or `html`. + * @default html */ - mailing_join_body?: string; + content_format?: components["schemas"]["PageContentFormat"]; /** - * Mailing Join Subject - * @description The subject of the email sent to the mailing list join address. See the - * `mailing_join_addr` option for more information. - * - * @default Join Mailing List + * Workflow invocation ID + * @description Encoded ID used by workflow generated reports. + * @example 0123456789ABCDEF */ - mailing_join_subject?: string; + invocation_id?: string; /** - * Managed Config Dir - * @description The directory that will be prepended to relative paths in options specifying - * config files controlled by Galaxy (such as shed_tool_config_file, etc.). Must be - * writable by the user running Galaxy. Defaults to `/` if running - * Galaxy from source or `/config` otherwise. + * Identifier + * @description The title slug for the page URL, must be unique. */ - managed_config_dir: string; + slug: string; /** - * Markdown Export Css - * @description CSS file to apply to all Markdown exports to PDF - currently used by - * WeasyPrint during rendering an HTML export of the document to PDF. - * - * @default markdown_export.css + * Title + * @description The name of the page. */ - markdown_export_css?: string; + title: string; + }; + /** + * CreateQuotaParams + * @description Base model definition with common configuration used by all derived models. + */ + CreateQuotaParams: { /** - * Markdown Export Css Invocation Reports - * @description CSS file to apply to invocation report exports to PDF. Generally prefer - * markdown_export_css, but this is here for deployments that - * would like to tailor different kinds of exports. - * - * @default markdown_export_invocation_reports.css + * Amount + * @description Quota size (E.g. ``10000MB``, ``99 gb``, ``0.2T``, ``unlimited``) */ - markdown_export_css_invocation_reports?: string; + amount: string; /** - * Markdown Export Css Pages - * @description CSS file to apply to "Galaxy Page" exports to PDF. Generally prefer - * markdown_export_css, but this is here for deployments that - * would like to tailor different kinds of exports. - * - * @default markdown_export_pages.css + * Default + * @description Whether or not this is a default quota. Valid values are ``no``, ``unregistered``, ``registered``. None is equivalent to ``no``. + * @default no */ - markdown_export_css_pages?: string; + default?: components["schemas"]["DefaultQuotaValues"]; /** - * Markdown Export Epilogue - * @description Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing - * branded footers. - * - * @default + * Description + * @description Detailed text description for this Quota. */ - markdown_export_epilogue?: string; + description: string; /** - * Markdown Export Epilogue Invocation Reports - * @description Alternative to markdown_export_epilogue that applies just to invocation report - * exports. - * - * @default + * Groups + * @description A list of group IDs or names to associate with this quota. + * @default [] */ - markdown_export_epilogue_invocation_reports?: string; + in_groups?: string[]; /** - * Markdown Export Epilogue Pages - * @description Alternative to markdown_export_epilogue that applies just to page exports. - * - * @default + * Users + * @description A list of user IDs or user emails to associate with this quota. + * @default [] */ - markdown_export_epilogue_pages?: string; + in_users?: string[]; /** - * Markdown Export Prologue - * @description Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing - * branded headers. - * - * @default + * Name + * @description The name of the quota. This must be unique within a Galaxy instance. */ - markdown_export_prologue?: string; + name: string; /** - * Markdown Export Prologue Invocation Reports - * @description Alternative to markdown_export_prologue that applies just to invocation report - * exports. - * - * @default + * Operation + * @description Quotas can have one of three `operations`:- `=` : The quota is exactly the amount specified- `+` : The amount specified will be added to the amounts of the user's other associated quota definitions- `-` : The amount specified will be subtracted from the amounts of the user's other associated quota definitions + * @default = */ - markdown_export_prologue_invocation_reports?: string; + operation?: components["schemas"]["QuotaOperation"]; /** - * Markdown Export Prologue Pages - * @description Alternative to markdown_export_prologue that applies just to page exports. - * - * @default + * Quota Source Label + * @description If set, quota source label to apply this quota operation to. Otherwise, the default quota is used. */ - markdown_export_prologue_pages?: string; + quota_source_label?: string; + }; + /** + * CreateQuotaResult + * @description Contains basic information about a Quota + */ + CreateQuotaResult: { /** - * Matomo Server - * @description Please enter the URL for the Matomo server (including https) so this can be used for tracking - * with Matomo (https://matomo.org/). + * ID + * @description The `encoded identifier` of the quota. + * @example 0123456789ABCDEF */ - matomo_server: string; + id: string; /** - * Matomo Site Id - * @description Please enter the site ID for the Matomo server so this can be used for tracking - * with Matomo (https://matomo.org/). + * Message + * @description Text message describing the result of the operation. */ - matomo_site_id: string; + message: string; /** - * Max Discovered Files - * @description Set this to a positive integer value to limit the number of datasets that can be discovered by - * a single job. This prevents accidentally creating large numbers of datasets when running tools - * that create a potentially unlimited number of output datasets, such as tools that split a file - * into a collection of datasets for each line in an input dataset. - * - * @default 10000 + * Model class + * @description The name of the database model class. + * @default Quota + * @enum {string} */ - max_discovered_files?: number; + model_class: "Quota"; /** - * Max Metadata Value Size - * @description Very large metadata values can cause Galaxy crashes. This will allow - * limiting the maximum metadata key size (in bytes used in memory, not the end - * result database value size) Galaxy will attempt to save with a dataset. Use - * 0 to disable this feature. The default is 5MB, but as low as 1MB seems to be - * a reasonable size. - * - * @default 5242880 + * Name + * @description The name of the quota. This must be unique within a Galaxy instance. */ - max_metadata_value_size?: number; + name: string; /** - * Maximum Upload File Size - * @description Maximum size of uploadable files, specified in bytes (default: 100GB). - * This value is ignored if an external upload server is configured. - * - * @default 107374182400 + * Quota Source Label + * @description Quota source label */ - maximum_upload_file_size?: number; + quota_source_label?: string; /** - * Maximum Workflow Invocation Duration - * @description This is the maximum amount of time a workflow invocation may stay in an active - * scheduling state in seconds. Set to -1 to disable this maximum and allow any workflow - * invocation to schedule indefinitely. The default corresponds to 1 month. - * - * @default 2678400 + * URL + * @deprecated + * @description The relative URL to get this particular Quota details from the rest API. */ - maximum_workflow_invocation_duration?: number; + url: string; + }; + /** + * CreatedEntryResponse + * @description Base model definition with common configuration used by all derived models. + */ + CreatedEntryResponse: { /** - * Maximum Workflow Jobs Per Scheduling Iteration - * @description Specify a maximum number of jobs that any given workflow scheduling iteration can create. - * Set this to a positive integer to prevent large collection jobs in a workflow from - * preventing other jobs from executing. This may also mitigate memory issues associated with - * scheduling workflows at the expense of increased total DB traffic because model objects - * are expunged from the SQL alchemy session between workflow invocation scheduling iterations. - * Set to -1 to disable any such maximum. - * - * @default 1000 + * External link + * @description An optional external link to the created entry if available. */ - maximum_workflow_jobs_per_scheduling_iteration?: number; + external_link?: string; /** - * Message Box Class - * @description Class of the message box under the masthead. Possible values are: - * 'info' (the default), 'warning', 'error', 'done'. - * - * @default info + * Name + * @description The name of the created entry. + * @example my_new_entry */ - message_box_class?: string; + name: string; /** - * Message Box Content - * @description Show a message box under the masthead. + * URI + * @description The URI of the created entry. + * @example gxfiles://my_new_entry */ - message_box_content: string; + uri: string; + }; + /** + * CreatedUserModel + * @description User in a transaction context. + */ + CreatedUserModel: { /** - * Message Box Visible - * @description Show a message box under the masthead. - * - * @default false + * Active + * @description User is active */ - message_box_visible?: boolean; + active: boolean; /** - * Metadata Strategy - * @description Determines how metadata will be set. Valid values are `directory`, `extended`, - * `directory_celery` and `extended_celery`. - * In extended mode jobs will decide if a tool run failed, the object stores - * configuration is serialized and made available to the job and is used for - * writing output datasets to the object store as part of the job and dynamic - * output discovery (e.g. discovered datasets , unpopulated collections, - * etc) happens as part of the job. In `directory_celery` and `extended_celery` metadata - * will be set within a celery task. - * - * @default directory + * Deleted + * @description User is deleted */ - metadata_strategy?: string; + deleted: boolean; /** - * Migrated Tools Config - * @description This option is deprecated. - * In previous releases this file was maintained by tool migration scripts that are no - * longer part of the code base. The option remains as a placeholder for deployments where - * these scripts were previously run and such a file exists. - * - * @default migrated_tools_conf.xml + * Email + * @description Email of the user */ - migrated_tools_config?: string; + email: string; /** - * Modules Mapping Files - * @description Path to a file that provides a mapping from abstract packages to locally installed modules. - * See `config/environment_modules_mapping.yml.sample` for examples. - * - * @default environment_modules_mapping.yml - */ - modules_mapping_files?: string; - /** - * Monitor Thread Join Timeout - * @description When stopping Galaxy cleanly, how much time to give various monitoring/polling - * threads to finish before giving up on joining them. Set to 0 to disable this and - * terminate without waiting. Among others, these threads include the job handler - * workers, which are responsible for preparing/submitting and collecting/finishing - * jobs, and which can cause job errors if not shut down cleanly. If using - * supervisord, consider also increasing the value of `stopwaitsecs`. See the - * Galaxy Admin Documentation for more. - * - * @default 30 + * ID + * @description Encoded ID of the user + * @example 0123456789ABCDEF */ - monitor_thread_join_timeout?: number; + id: string; /** - * Mulled Channels - * @description Conda channels to use when building Docker or Singularity containers using involucro. - * - * @default conda-forge,bioconda + * Last password change + * Format: date-time */ - mulled_channels?: string; + last_password_change?: string; /** - * Mulled Resolution Cache Data Dir - * @description Data directory used by beaker for caching mulled resolution requests. - * - * @default mulled/data + * Model class + * @description The name of the database model class. + * @default User + * @enum {string} */ - mulled_resolution_cache_data_dir?: string; + model_class: "User"; /** - * Mulled Resolution Cache Expire - * @description Seconds until the beaker cache is considered old and a new value is created. - * - * @default 3600 + * Nice total disc usage + * @description Size of all non-purged, unique datasets of the user in a nice format. */ - mulled_resolution_cache_expire?: number; + nice_total_disk_usage: string; /** - * Mulled Resolution Cache Lock Dir - * @description Lock directory used by beaker for caching mulled resolution requests. - * - * @default mulled/locks + * Preferred Object Store ID + * @description The ID of the object store that should be used to store new datasets in this history. */ - mulled_resolution_cache_lock_dir?: string; + preferred_object_store_id?: string; /** - * Mulled Resolution Cache Schema Name - * @description When mulled_resolution_cache_type = ext:database, this is - * the database schema name of the table used by beaker for - * caching mulled resolution requests. + * Total disk usage + * @description Size of all non-purged, unique datasets of the user in bytes. */ - mulled_resolution_cache_schema_name: string; + total_disk_usage: number; /** - * Mulled Resolution Cache Table Name - * @description When mulled_resolution_cache_type = ext:database, this is - * the database table name used by beaker for - * caching mulled resolution requests. - * - * @default beaker_cache + * user_name + * @description The name of the user. */ - mulled_resolution_cache_table_name?: string; + username: string; + }; + /** + * CustomBuildCreationPayload + * @description Base model definition with common configuration used by all derived models. + */ + CustomBuildCreationPayload: { /** - * Mulled Resolution Cache Type - * @description Mulled resolution caching. Mulled resolution uses external APIs of quay.io, these - * requests are caching using this and the following parameters - * - * @default file + * Length type + * @description The type of the len file. */ - mulled_resolution_cache_type?: string; + "len|type": components["schemas"]["CustomBuildLenType"]; /** - * Mulled Resolution Cache Url - * @description When mulled_resolution_cache_type = ext:database, this is - * the url of the database used by beaker for caching mulled resolution - * requests. The application config code will set it to the - * value of database_connection if this is not set. + * Length value + * @description The content of the length file. */ - mulled_resolution_cache_url: string; + "len|value": string; /** - * New File Path - * @description Where temporary files are stored. It must be accessible at the same path on any cluster - * nodes that will run Galaxy jobs, unless using Pulsar. - * - * @default tmp + * Name + * @description The name of the custom build. */ - new_file_path?: string; + name: string; + }; + /** + * CustomBuildLenType + * @description An enumeration. + * @enum {string} + */ + CustomBuildLenType: "file" | "fasta" | "text"; + /** + * CustomBuildModel + * @description Base model definition with common configuration used by all derived models. + */ + CustomBuildModel: { /** - * New User Dataset Access Role Default Private - * @description By default, users' data will be public, but setting this to true will cause - * it to be private. Does not affect existing users and data, only ones created - * after this option is set. Users may still change their default back to - * public. - * - * @default false + * Count + * @description The number of chromosomes/contigs. */ - new_user_dataset_access_role_default_private?: boolean; + count?: string; /** - * Nginx Upload Job Files Path - * @description Galaxy can also use nginx_upload_module to receive files staged out upon job - * completion by remote job runners (i.e. Pulsar) that initiate staging - * operations on the remote end. See the Galaxy nginx documentation for the - * corresponding nginx configuration. + * Fasta + * @description The primary id of the fasta file from a history. + * @example 0123456789ABCDEF */ - nginx_upload_job_files_path: string; + fasta?: string; /** - * Nginx Upload Job Files Store - * @description Galaxy can also use nginx_upload_module to receive files staged out upon job - * completion by remote job runners (i.e. Pulsar) that initiate staging - * operations on the remote end. See the Galaxy nginx documentation for the - * corresponding nginx configuration. + * ID + * @description The ID of the custom build. */ - nginx_upload_job_files_store: string; + id: string; /** - * Nginx Upload Path - * @description This value overrides the action set on the file upload form, e.g. the web - * path where the nginx_upload_module has been configured to intercept upload - * requests. + * Length + * @description The primary id of the len file. + * @example 0123456789ABCDEF */ - nginx_upload_path: string; + len: string; /** - * Nginx Upload Store - * @description nginx can also handle file uploads (user-to-Galaxy) via nginx_upload_module. - * Configuration for this is complex and explained in detail in the - * documentation linked above. The upload store is a temporary directory in - * which files uploaded by the upload module will be placed. + * Line count + * @description The primary id of a linecount dataset. + * @example 0123456789ABCDEF */ - nginx_upload_store: string; + linecount?: string; /** - * Nginx X Accel Redirect Base - * @description The same download handling can be done by nginx using X-Accel-Redirect. This - * should be set to the path defined in the nginx config as an internal redirect - * with access to Galaxy's data files (see documentation linked above). + * Name + * @description The name of the custom build. */ - nginx_x_accel_redirect_base: string; + name: string; + }; + /** + * CustomBuildsCollection + * @description The custom builds associated with the user. + */ + CustomBuildsCollection: components["schemas"]["CustomBuildModel"][]; + /** + * CustomBuildsMetadataResponse + * @description Base model definition with common configuration used by all derived models. + */ + CustomBuildsMetadataResponse: { /** - * Normalize Remote User Email - * @description If your proxy and/or authentication source does not normalize e-mail - * addresses or user names being passed to Galaxy - set this option - * to true to force these to lower case. - * - * @default false - */ - normalize_remote_user_email?: boolean; - /** - * Object Store Cache Monitor Driver - * @description Specify where cache monitoring is driven for caching object stores - * such as S3, Azure, and iRODS. This option has no affect on disk object stores. - * For production instances, the cache should be monitored by external tools such - * as tmpwatch and this value should be set to 'external'. This will disable all - * cache monitoring in Galaxy. Alternatively, 'celery' can monitor caches using - * a periodic task or an 'inprocess' thread can be used - but this last option - * seriously limits Galaxy's ability to scale. The default of 'auto' will use - * 'celery' if 'enable_celery_tasks' is set to true or 'inprocess' otherwise. - * This option serves as the default for all object stores and can be overridden - * on a per object store basis (but don't - just setup tmpwatch for all relevant - * cache paths). - * - * @default auto + * Fasta HDAs + * @description A list of label/value pairs with all the datasets of type `FASTA` contained in the History. + * - `label` is item position followed by the name of the dataset. + * - `value` is the encoded database ID of the dataset. */ - object_store_cache_monitor_driver?: string; + fasta_hdas: components["schemas"]["LabelValuePair"][]; /** - * Object Store Cache Monitor Interval - * @description For object store cache monitoring done by Galaxy, this is the interval between - * cache checking steps. This is used by both inprocess cache monitors (which we - * recommend you do not use) and by the celery task if it is configured (by setting - * enable_celery_tasks to true and not setting object_store_cache_monitor_driver to - * external). - * - * @default 600 + * Installed Builds + * @description TODO */ - object_store_cache_monitor_interval?: number; + installed_builds: components["schemas"]["LabelValuePair"][]; + }; + /** + * CustomHistoryItem + * @description Can contain any serializable property of the item. + * + * Allows arbitrary custom keys to be specified in the serialization + * parameters without a particular view (predefined set of keys). + */ + CustomHistoryItem: Record; + /** + * DCESummary + * @description Dataset Collection Element summary information. + */ + DCESummary: { /** - * Object Store Cache Path - * @description Default cache path for caching object stores if cache not configured for - * that object store entry. - * - * @default object_store_cache + * Element Identifier + * @description The actual name of this element. */ - object_store_cache_path?: string; + element_identifier: string; /** - * Object Store Cache Size - * @description Default cache size for caching object stores if cache not configured for - * that object store entry. - * - * @default -1 + * Element Index + * @description The position index of this element inside the collection. */ - object_store_cache_size?: number; + element_index: number; /** - * Object Store Config File - * @description Configuration file for the object store - * If this is set and exists, it overrides any other objectstore settings. - * - * @default object_store_conf.xml + * Element Type + * @description The type of the element. Used to interpret the `object` field. */ - object_store_config_file?: string; + element_type: components["schemas"]["DCEType"]; /** - * Object Store Store By - * @description What Dataset attribute is used to reference files in an ObjectStore implementation, - * this can be 'uuid' or 'id'. The default will depend on how the object store is configured, - * starting with 20.05 Galaxy will try to default to 'uuid' if it can be sure this - * is a new Galaxy instance - but the default will be 'id' in many cases. In particular, - * if the name of the directory set in is `objects`, the default will be set - * to 'uuid', otherwise it will be 'id'. + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - object_store_store_by: string; + id: string; /** - * Oidc Backends Config File - * @description Sets the path to OIDC backends configuration file. - * - * @default oidc_backends_config.xml + * Model class + * @description The name of the database model class. + * @default DatasetCollectionElement + * @enum {string} */ - oidc_backends_config_file?: string; + model_class: "DatasetCollectionElement"; /** - * Oidc Config File - * @description Sets the path to OIDC configuration file. - * - * @default oidc_config.xml - */ - oidc_config_file?: string; - /** - * Outputs To Working Directory - * @description This option will override tool output paths to write outputs to the job - * working directory (instead of to the file_path) and the job manager will move - * the outputs to their proper place in the dataset directory on the Galaxy - * server after the job completes. This is necessary (for example) if jobs run - * on a cluster and datasets can not be created by the user running the jobs (e.g. - * if the filesystem is mounted read-only or the jobs are run by a different - * user than the galaxy user). - * - * @default false + * Object + * @description The element's specific data depending on the value of `element_type`. */ - outputs_to_working_directory?: boolean; + object: + | components["schemas"]["HDAObject"] + | components["schemas"]["HDADetailed"] + | components["schemas"]["DCObject"]; + }; + /** + * DCEType + * @description Available types of dataset collection elements. + * @enum {string} + */ + DCEType: "hda" | "dataset_collection"; + /** + * DCObject + * @description Dataset Collection Object + */ + DCObject: { /** - * Overwrite Model Recommendations - * @description Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model - * are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools - * by admins and predicted by the deep learning model are shown. - * - * @default false + * Collection Type + * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ - overwrite_model_recommendations?: boolean; + collection_type: string; /** - * Panel Views - * @description Definitions of static toolbox panel views embedded directly in the config instead of reading - * YAML from directory with panel_views_dir. + * Contents URL + * @description The relative URL to access the contents of this History. */ - panel_views: Record[]; + contents_url?: string; /** - * Panel Views Dir - * @description Directory to check out for toolbox tool panel views. The path is relative to the - * Galaxy root dir. To use an absolute path begin the path with '/'. This is a - * comma-separated list. - * - * @default config/plugins/activities + * Element Count + * @description The number of elements contained in the dataset collection. It may be None or undefined if the collection could not be populated. */ - panel_views_dir?: string; + element_count?: number; /** - * Parallelize Workflow Scheduling Within Histories - * @description If multiple job handlers are enabled, allow Galaxy to schedule workflow invocations - * in multiple handlers simultaneously. This is discouraged because it results in a - * less predictable order of workflow datasets within in histories. - * - * @default false + * Elements + * @description The summary information of each of the elements inside the dataset collection. + * @default [] */ - parallelize_workflow_scheduling_within_histories?: boolean; + elements?: components["schemas"]["DCESummary"][]; /** - * Password Expiration Period - * @description Password expiration period (in days). Users are required to change their - * password every x days. Users will be redirected to the change password - * screen when they log in after their password expires. Enter 0 to disable - * password expiration. - * - * @default 0 + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - password_expiration_period?: number; + id: string; /** - * Plausible Domain - * @description Please enter the URL for the Galaxy server so this can be used for tracking - * with Plausible (https://plausible.io/). + * Model class + * @description The name of the database model class. + * @default DatasetCollection + * @enum {string} */ - plausible_domain: string; + model_class: "DatasetCollection"; /** - * Plausible Server - * @description Please enter the URL for the Plausible server (including https) so this can be used for tracking - * with Plausible (https://plausible.io/). + * Populated + * @description Whether the dataset collection elements (and any subcollections elements) were successfully populated. */ - plausible_server: string; + populated?: boolean; + }; + /** + * DataElementsFromTarget + * @description Base model definition with common configuration used by all derived models. + */ + DataElementsFromTarget: { /** - * Post User Logout Href - * @description This is the default url to which users are redirected after they log out. - * - * @default /root/login?is_logout_redirect=true + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false */ - post_user_logout_href?: string; + auto_decompress?: boolean; + /** Destination */ + destination: + | components["schemas"]["HdaDestination"] + | components["schemas"]["LibraryFolderDestination"] + | components["schemas"]["LibraryDestination"]; + elements_from: components["schemas"]["ElementsFromType"]; + /** Ftp Path */ + ftp_path?: string; + /** Path */ + path?: string; + /** Server Dir */ + server_dir?: string; + src: components["schemas"]["ItemsFromSrc"]; + /** Url */ + url?: string; + }; + /** + * DataElementsTarget + * @description Base model definition with common configuration used by all derived models. + */ + DataElementsTarget: { /** - * Power Usage Effectiveness - * @description The estimated power usage effectiveness of the data centre housing the server your galaxy - * instance is running on. This can make carbon emissions estimates more accurate. - * For more information on how to calculate a PUE value, visit - * https://en.wikipedia.org/wiki/Power_usage_effectiveness - * - * @default 1.67 + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false */ - power_usage_effectiveness?: number; + auto_decompress?: boolean; + /** Destination */ + destination: + | components["schemas"]["HdaDestination"] + | components["schemas"]["LibraryFolderDestination"] + | components["schemas"]["LibraryDestination"]; + /** Elements */ + elements: ( + | ( + | components["schemas"]["FileDataElement"] + | components["schemas"]["PastedDataElement"] + | components["schemas"]["UrlDataElement"] + | components["schemas"]["PathDataElement"] + | components["schemas"]["ServerDirElement"] + | components["schemas"]["FtpImportElement"] + | components["schemas"]["CompositeDataElement"] + ) + | components["schemas"]["NestedElement"] + )[]; + }; + /** + * DatasetAssociationRoles + * @description Base model definition with common configuration used by all derived models. + */ + DatasetAssociationRoles: { /** - * Precache Dependencies - * @description By default, when using a cached dependency manager, the dependencies are cached - * when installing new tools and when using tools for the first time. - * Set this to false if you prefer dependencies to be cached only when installing new tools. - * - * @default true + * Access Roles + * @description A list of roles that can access the dataset. The user has to **have all these roles** in order to access this dataset. Users without access permission **cannot** have other permissions on this dataset. If there are no access roles set on the dataset it is considered **unrestricted**. + * @default [] */ - precache_dependencies?: boolean; + access_dataset_roles?: string[][]; /** - * Prefer Custos Login - * @description Controls the order of the login page to prefer Custos-based login and registration. - * - * @default false + * Manage Roles + * @description A list of roles that can manage permissions on the dataset. Users with **any** of these roles can manage permissions of this dataset. If you remove yourself you will lose the ability to manage this dataset unless you are an admin. + * @default [] */ - prefer_custos_login?: boolean; + manage_dataset_roles?: string[][]; /** - * Preserve Python Environment - * @description In the past Galaxy would preserve its Python environment when running jobs ( - * and still does for internal tools packaged with Galaxy). This behavior exposes - * Galaxy internals to tools and could result in problems when activating - * Python environments for tools (such as with Conda packaging). The default - * legacy_only will restrict this behavior to tools identified by the Galaxy - * team as requiring this environment. Set this to "always" to restore the - * previous behavior (and potentially break Conda dependency resolution for many - * tools). Set this to legacy_and_local to preserve the environment for legacy - * tools and locally managed tools (this might be useful for instance if you are - * installing software into Galaxy's virtualenv for tool development). - * - * @default legacy_only - */ - preserve_python_environment?: string; - /** - * Pretty Datetime Format - * @description Format string used when showing date and time information. - * The string may contain: - * - the directives used by Python time.strftime() function (see - * https://docs.python.org/library/time.html#time.strftime), - * - $locale (complete format string for the server locale), - * - $iso8601 (complete format string as specified by ISO 8601 international - * standard). - * - * @default $locale (UTC) + * Modify Roles + * @description A list of roles that can modify the library item. This is a library related permission. User with **any** of these roles can modify name, metadata, and other information about this library item. + * @default [] */ - pretty_datetime_format?: string; + modify_item_roles?: string[][]; + }; + /** + * DatasetCollectionAttributesResult + * @description Base model definition with common configuration used by all derived models. + */ + DatasetCollectionAttributesResult: { /** - * Quota Url - * @description The URL linked for quota information in the UI. - * - * @default https://galaxyproject.org/support/account-quotas/ + * Dbkey + * @description TODO */ - quota_url?: string; + dbkey: string; + /** Dbkeys */ + dbkeys?: string[]; /** - * Real System Username - * @description When running DRMAA jobs as the Galaxy user - * (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) - * Galaxy can extract the user name from the email address (actually the local-part before the @) - * or the username which are both stored in the Galaxy data base. - * The latter option is particularly useful for installations that get the - * authentication from LDAP. - * Also, Galaxy can accept the name of a common system user (eg. galaxy_worker) - * who can run every job being submitted. This user should not be the same user - * running the galaxy system. - * Possible values are user_email (default), username or - * - * @default user_email + * Extension + * @description The dataset file extension. + * @example txt */ - real_system_username?: string; + extension: string; + /** Extensions */ + extensions?: string[]; /** - * Refgenie Config File - * @description File containing refgenie configuration, e.g. /path/to/genome_config.yaml. Can be used by refgenie backed tool data tables. + * Model class + * @description The name of the database model class. + * @default HistoryDatasetCollectionAssociation + * @enum {string} */ - refgenie_config_file: string; + model_class: "HistoryDatasetCollectionAssociation"; + tags: components["schemas"]["TagCollection"]; + }; + /** + * DatasetCollectionContentElements + * @description Represents a collection of elements contained in the dataset collection. + */ + DatasetCollectionContentElements: components["schemas"]["DCESummary"][]; + /** + * DatasetCollectionPopulatedState + * @description An enumeration. + * @enum {string} + */ + DatasetCollectionPopulatedState: "new" | "ok" | "failed"; + /** + * DatasetContentType + * @description For retrieving content from a structured dataset (e.g. HDF5) + * @enum {string} + */ + DatasetContentType: "meta" | "attr" | "stats" | "data"; + /** + * DatasetErrorMessage + * @description Base model definition with common configuration used by all derived models. + */ + DatasetErrorMessage: { /** - * Registration Warning Message - * @description Registration warning message is used to discourage people from registering - * multiple accounts. Applies mostly for the main Galaxy instance. - * If no message specified the warning box will not be shown. - * - * @default Please register only one account - we provide this service free of charge and have limited computational resources. Multi-accounts are tracked and will be subjected to account termination and data deletion. + * Dataset + * @description The encoded ID of the dataset and its source. */ - registration_warning_message?: string; + dataset: components["schemas"]["EncodedDatasetSourceId"]; /** - * Release Doc Base Url - * @description The URL linked by the "Galaxy Version" link in the "Help" menu. - * - * @default https://docs.galaxyproject.org/en/release_ + * Error Message + * @description The error message returned while processing this dataset. */ - release_doc_base_url?: string; + error_message: string; + }; + /** + * DatasetInheritanceChain + * @description Base model definition with common configuration used by all derived models. + * @default [] + */ + DatasetInheritanceChain: components["schemas"]["DatasetInheritanceChainEntry"][]; + /** + * DatasetInheritanceChainEntry + * @description Base model definition with common configuration used by all derived models. + */ + DatasetInheritanceChainEntry: { /** - * Remote User Header - * @description If use_remote_user is enabled, the header that the upstream proxy provides - * the remote username in defaults to HTTP_REMOTE_USER (the ``HTTP_`` is prepended - * by WSGI). This option allows you to change the header. Note, you still need - * to prepend ``HTTP_`` to the header in this option, but your proxy server should - * *not* include ``HTTP_`` at the beginning of the header name. - * - * @default HTTP_REMOTE_USER + * Dep + * @description Name of the source of the referenced dataset at this point of the inheritance chain. */ - remote_user_header?: string; + dep: string; /** - * Remote User Logout Href - * @description If use_remote_user is enabled, you can set this to a URL that will log your - * users out. + * Name + * @description Name of the referenced dataset */ - remote_user_logout_href: string; + name: string; + }; + /** + * DatasetPermissions + * @description Role-based permissions for accessing and managing a dataset. + */ + DatasetPermissions: { /** - * Remote User Maildomain - * @description If use_remote_user is enabled and your external authentication - * method just returns bare usernames, set a default mail domain to be appended - * to usernames, to become your Galaxy usernames (email addresses). + * Access + * @description The set of roles (encoded IDs) that can access this dataset. + * @default [] */ - remote_user_maildomain: string; + access?: string[]; /** - * Remote User Secret - * @description If use_remote_user is enabled, anyone who can log in to the Galaxy host may - * impersonate any other user by simply sending the appropriate header. Thus a - * secret shared between the upstream proxy server, and Galaxy is required. - * If anyone other than the Galaxy user is using the server, then apache/nginx - * should pass a value in the header 'GX_SECRET' that is identical to the one - * below. - * - * @default USING THE DEFAULT IS NOT SECURE! + * Management + * @description The set of roles (encoded IDs) that can manage this dataset. + * @default [] */ - remote_user_secret?: string; + manage?: string[]; + }; + /** + * DatasetSourceId + * @description Base model definition with common configuration used by all derived models. + */ + DatasetSourceId: { /** - * Require Login - * @description Force everyone to log in (disable anonymous access). - * - * @default false + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - require_login?: boolean; + id: string; /** - * Retry Interactivetool Metadata Internally - * @description Galaxy Interactive Tools (GxITs) can be stopped from within the Galaxy - * interface, killing the GxIT job without completing its metadata setting post-job - * steps. In such a case it may be desirable to set metadata on job outputs - * internally (in the Galaxy job handler process). The default is is the value of - * `retry_metadata_internally`, which defaults to `true`. - * - * @default true + * Source + * @description The source of this dataset, either `hda` or `ldda` depending of its origin. */ - retry_interactivetool_metadata_internally?: boolean; + src: components["schemas"]["DatasetSourceType"]; + }; + /** + * DatasetSourceType + * @description An enumeration. + * @enum {string} + */ + DatasetSourceType: "hda" | "ldda"; + /** + * DatasetState + * @description An enumeration. + * @enum {string} + */ + DatasetState: + | "new" + | "upload" + | "queued" + | "running" + | "ok" + | "empty" + | "error" + | "paused" + | "setting_metadata" + | "failed_metadata" + | "deferred" + | "discarded"; + /** + * DatasetStorageDetails + * @description Base model definition with common configuration used by all derived models. + */ + DatasetStorageDetails: { /** - * Retry Job Output Collection - * @description If your network filesystem's caching prevents the Galaxy server from seeing - * the job's stdout and stderr files when it completes, you can retry reading - * these files. The job runner will retry the number of times specified below, - * waiting 1 second between tries. For NFS, you may want to try the -noac mount - * option (Linux) or -actimeo=0 (Solaris). - * - * @default 0 + * Badges + * @description A mapping of object store labels to badges describing object store properties. */ - retry_job_output_collection?: number; + badges: Record[]; /** - * Retry Metadata Internally - * @description Although it is fairly reliable, setting metadata can occasionally fail. In - * these instances, you can choose to retry setting it internally or leave it in - * a failed state (since retrying internally may cause the Galaxy process to be - * unresponsive). If this option is set to false, the user will be given the - * option to retry externally, or set metadata manually (when possible). - * - * @default true + * Dataset State + * @description The model state of the supplied dataset instance. */ - retry_metadata_internally?: boolean; + dataset_state: string; /** - * Sanitize All Html - * @description Sanitize all HTML tool output. By default, all tool output served as - * 'text/html' will be sanitized thoroughly. This can be disabled if you have - * special tools that require unaltered output. WARNING: disabling this does - * make the Galaxy instance susceptible to XSS attacks initiated by your users. - * - * @default true + * Description + * @description A description of how this dataset is stored. */ - sanitize_all_html?: boolean; + description?: string; /** - * Sanitize Allowlist File - * @description Datasets created by tools listed in this file are trusted and will not have - * their HTML sanitized on display. This can be manually edited or manipulated - * through the Admin control panel -- see "Manage Allowlist" - * - * The value of this option will be resolved with respect to . - * - * @default sanitize_allowlist.txt + * Hashes + * @description The file contents hashes associated with the supplied dataset instance. */ - sanitize_allowlist_file?: string; + hashes: Record[]; /** - * Screencasts Url - * @description The URL linked by the "Videos" link in the "Help" menu. - * - * @default https://www.youtube.com/c/galaxyproject + * Name + * @description The display name of the destination ObjectStore for this dataset. */ - screencasts_url?: string; + name?: string; /** - * Select Type Workflow Threshold - * @description Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) - * Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. - * use 0 in order to always use select2 fields, - * use -1 (default) in order to always use the regular select fields, - * use any other positive number as threshold (above threshold: regular select fields will be used) - * - * @default -1 + * Object Store Id + * @description The identifier of the destination ObjectStore for this dataset. */ - select_type_workflow_threshold?: number; + object_store_id?: string; /** - * Sentry Ca Certs - * @description Use this option to provide the path to location of the CA (Certificate Authority) - * certificate file if the sentry server uses a self-signed certificate. + * Percent Used + * @description The percentage indicating how full the store is. */ - sentry_ca_certs: string; + percent_used?: number; /** - * Sentry Dsn - * @description Log to Sentry - * Sentry is an open source logging and error aggregation platform. Setting - * sentry_dsn will enable the Sentry middleware and errors will be sent to the - * indicated sentry instance. This connection string is available in your - * sentry instance under -> Settings -> API Keys. + * Quota + * @description Information about quota sources around dataset storage. */ - sentry_dsn: string; + quota: Record; /** - * Sentry Event Level - * @description Determines the minimum log level that will be sent as an event to Sentry. - * Possible values are DEBUG, INFO, WARNING, ERROR or CRITICAL. - * - * @default ERROR + * Shareable + * @description Is this dataset shareable. */ - sentry_event_level?: string; + shareable: boolean; /** - * Sentry Traces Sample Rate - * @description Set to a number between 0 and 1. With this option set, every transaction created - * will have that percentage chance of being sent to Sentry. A value higher than 0 - * is required to analyze performance. - * - * @default 0 + * Sources + * @description The file sources associated with the supplied dataset instance. */ - sentry_traces_sample_rate?: number; + sources: Record[]; + }; + /** + * DatasetSummary + * @description Base model definition with common configuration used by all derived models. + */ + DatasetSummary: { /** - * Serve Xss Vulnerable Mimetypes - * @description By default Galaxy will serve non-HTML tool output that may potentially - * contain browser executable JavaScript content as plain text. This will for - * instance cause SVG datasets to not render properly and so may be disabled - * by setting this option to true. - * - * @default false + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - serve_xss_vulnerable_mimetypes?: boolean; + create_time?: string; + /** Deleted */ + deleted: boolean; + /** File Size */ + file_size: number; /** - * Session Duration - * @description Galaxy Session Timeout - * This provides a timeout (in minutes) after which a user will have to log back in. - * A duration of 0 disables this feature. - * - * @default 0 + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - session_duration?: number; + id: string; + /** Purgable */ + purgable: boolean; + /** Purged */ + purged: boolean; /** - * Shed Data Manager Config File - * @description File where Tool Shed based Data Managers are configured. This file will be created - * automatically upon data manager installation. - * - * @default shed_data_manager_conf.xml - */ - shed_data_manager_config_file?: string; - /** - * Shed Tool Config File - * @description Tool config file for tools installed from the Galaxy Tool Shed. Must - * be writable by Galaxy and generally should not be edited by hand. In - * older Galaxy releases, this file was part of the tool_config_file - * option. It is still possible to specify this file (and other - * shed-enabled tool config files) in tool_config_file, but in the - * standard case of a single shed-enabled tool config, this option is - * preferable. This file will be created automatically upon tool - * installation, whereas Galaxy will fail to start if any files in - * tool_config_file cannot be read. - * - * @default shed_tool_conf.xml + * State + * @description The current state of this dataset. */ - shed_tool_config_file?: string; + state: components["schemas"]["DatasetState"]; + /** Total Size */ + total_size: number; /** - * Shed Tool Data Path - * @description Directory where Tool Data Table related files will be placed when installed from a - * ToolShed. Defaults to the value of the 'tool_data_path' option. + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - shed_tool_data_path: string; + update_time?: string; /** - * Shed Tool Data Table Config - * @description XML config file that contains additional data table entries for the - * ToolDataTableManager. This file is automatically generated based on the - * current installed tool shed repositories that contain valid - * tool_data_table_conf.xml.sample files. At the time of installation, these - * entries are automatically added to the following file, which is parsed and - * applied to the ToolDataTableManager at server start up. - * - * @default shed_tool_data_table_conf.xml + * UUID + * Format: uuid4 + * @description Universal unique identifier for this dataset. */ - shed_tool_data_table_config?: string; + uuid: string; + }; + /** + * DatasetSummaryList + * @description Base model definition with common configuration used by all derived models. + */ + DatasetSummaryList: components["schemas"]["DatasetSummary"][]; + /** + * DatasetTextContentDetails + * @description Base model definition with common configuration used by all derived models. + */ + DatasetTextContentDetails: { /** - * Short Term Storage Cleanup Interval - * @description How many seconds between instances of short term storage being cleaned up in default - * Celery task configuration. - * - * @default 3600 + * Item Data + * @description First chunk of text content (maximum 1MB) of the dataset. */ - short_term_storage_cleanup_interval?: number; + item_data?: string; /** - * Short Term Storage Default Duration - * @description Default duration before short term web storage files will be cleaned up by Galaxy - * tasks (in seconds). The default duration is 1 day. - * - * @default 86400 + * Item Url + * @description URL to access this dataset. */ - short_term_storage_default_duration?: number; + item_url: string; /** - * Short Term Storage Dir - * @description Location of files available for a short time as downloads (short term storage). - * This directory is exclusively used for serving dynamically generated downloadable - * content. Galaxy may uses the new_file_path parameter as a general temporary directory - * and that directory should be monitored by a tool such as tmpwatch in production - * environments. short_term_storage_dir on the other hand is monitored by Galaxy's task - * framework and should not require such external tooling. - * - * @default short_term_web_storage + * Truncated + * @description Whether the text in `item_data` has been truncated or contains the whole contents. */ - short_term_storage_dir?: string; + truncated: boolean; + }; + /** + * DatasetValidatedState + * @description An enumeration. + * @enum {string} + */ + DatasetValidatedState: "unknown" | "invalid" | "ok"; + /** DatatypeConverter */ + DatatypeConverter: { /** - * Short Term Storage Maximum Duration - * @description The maximum duration short term storage files can hosted before they will be marked for - * clean up. The default setting of 0 indicates no limit here. - * - * @default 0 + * Source + * @description Source type for conversion + * @example bam */ - short_term_storage_maximum_duration?: number; + source: string; /** - * Show User Prepopulate Form - * @description When using LDAP for authentication, allow administrators to pre-populate users - * using an additional form on 'Create new user' - * - * @default false + * Target + * @description Target type for conversion + * @example bai */ - show_user_prepopulate_form?: boolean; + target: string; /** - * Show Welcome With Login - * @description Show the site's welcome page (see welcome_url) alongside the login page - * (even if require_login is true). - * - * @default false + * Tool identifier + * @description The converter tool identifier + * @example CONVERTER_Bam_Bai_0 */ - show_welcome_with_login?: boolean; + tool_id: string; + }; + /** + * DatatypeConverterList + * @default [] + */ + DatatypeConverterList: components["schemas"]["DatatypeConverter"][]; + /** DatatypeDetails */ + DatatypeDetails: { /** - * Simplified Workflow Run Ui - * @description If set to 'off' by default, always use the traditional workflow form that renders - * all steps in the GUI and serializes the tool state of all steps during - * invocation. Set to 'prefer' to default to a simplified workflow UI that - * only renders the inputs if possible (the workflow must have no disconnected - * runtime inputs and not replacement parameters within tool steps). In the - * future 'force' may be added an option for Galaskio-style servers that should - * only render simplified workflows. - * - * @default prefer + * Composite files + * @description A collection of files composing this data type */ - simplified_workflow_run_ui?: string; + composite_files?: components["schemas"]["CompositeFileInfo"][]; /** - * Simplified Workflow Run Ui Job Cache - * @description When the simplified workflow run form is rendered, should the invocation use job - * caching. This isn't a boolean so an option for 'show-selection' can be added later. - * - * @default off + * Description + * @description A summary description for this data type */ - simplified_workflow_run_ui_job_cache?: string; + description?: string; /** - * Simplified Workflow Run Ui Target History - * @description When the simplified workflow run form is rendered, should the invocation outputs - * be sent to the 'current' history or a 'new' history. If the user should be presented - * and option between these - set this to 'prefer_current' or 'prefer_new' to display - * a runtime setting with the corresponding default. The default is to provide the - * user this option and default it to the current history (the traditional behavior - * of Galaxy for years) - this corresponds to the setting 'prefer_current'. - * - * @default prefer_current + * Description URL + * Format: uri + * @description The URL to a detailed description for this datatype + * @example https://wiki.galaxyproject.org/Learn/Datatypes#Bed */ - simplified_workflow_run_ui_target_history?: string; + description_url?: string; /** - * Single User - * @description If an e-mail address is specified here, it will hijack remote user mechanics - * (``use_remote_user``) and have the webapp inject a single fixed user. This - * has the effect of turning Galaxy into a single user application with no - * login or external proxy required. Such applications should not be exposed to - * the world. + * Display in upload + * @description If True, the associated file extension will be displayed in the `File Format` select list in the `Upload File from your computer` tool in the `Get Data` tool section of the tool panel + * @default false */ - single_user: string; + display_in_upload?: boolean; /** - * Slow Query Log Threshold - * @description Slow query logging. Queries slower than the threshold indicated below will - * be logged to debug. A value of '0' is disabled. For example, you would set - * this to .005 to log all queries taking longer than 5 milliseconds. - * - * @default 0 + * Extension + * @description The data type’s Dataset file extension + * @example bed */ - slow_query_log_threshold?: number; + extension: string; /** - * Smtp Password - * @description If your SMTP server requires a username and password, you can provide them - * here (password in cleartext here, but if your server supports STARTTLS it - * will be sent over the network encrypted). + * Upload warning + * @description End-user information regarding potential pitfalls with this upload type. */ - smtp_password: string; + upload_warning?: string; + }; + /** DatatypeEDAMDetails */ + DatatypeEDAMDetails: { /** - * Smtp Server - * @description Galaxy sends mail for various things: subscribing users to the mailing list - * if they request it, password resets, reporting dataset errors, and sending - * activation emails. To do this, it needs to send mail through an SMTP server, - * which you may define here (host:port). - * Galaxy will automatically try STARTTLS but will continue upon failure. + * Definition + * @description The EDAM definition + * @example Entry (gene) format of the NCBI database. */ - smtp_server: string; + definition?: string; /** - * Smtp Ssl - * @description If your SMTP server requires SSL from the beginning of the connection - * - * @default false + * Label + * @description The EDAM label + * @example NCBI gene report format */ - smtp_ssl?: boolean; + label?: string; /** - * Smtp Username - * @description If your SMTP server requires a username and password, you can provide them - * here (password in cleartext here, but if your server supports STARTTLS it - * will be sent over the network encrypted). + * Prefix IRI + * @description The EDAM prefixed Resource Identifier + * @example format_1782 */ - smtp_username: string; + prefix_IRI: string; + }; + /** DatatypesCombinedMap */ + DatatypesCombinedMap: { /** - * Sniff Compressed Dynamic Datatypes Default - * @description Enable sniffing of compressed datatypes. This can be configured/overridden - * on a per-datatype basis in the datatypes_conf.xml file. - * With this option set to false the compressed datatypes will be unpacked - * before sniffing. - * - * @default true + * Datatypes + * @description List of datatypes extensions */ - sniff_compressed_dynamic_datatypes_default?: boolean; + datatypes: string[]; /** - * Static Cache Time - * @description Serve static content, which must be enabled if you're not serving it via a - * proxy server. These options should be self explanatory and so are not - * documented individually. You can use these paths (or ones in the proxy - * server) to point to your own styles. - * - * @default 360 + * Datatypes Mapping + * @description Dictionaries for mapping datatype's extensions/classes with their implementation classes */ - static_cache_time?: number; + datatypes_mapping: components["schemas"]["DatatypesMap"]; + }; + /** + * DatatypesEDAMDetailsDict + * @default {} + */ + DatatypesEDAMDetailsDict: { + [key: string]: components["schemas"]["DatatypeEDAMDetails"] | undefined; + }; + /** DatatypesMap */ + DatatypesMap: { /** - * Static Dir - * @description Serve static content, which must be enabled if you're not serving it via a - * proxy server. These options should be self explanatory and so are not - * documented individually. You can use these paths (or ones in the proxy - * server) to point to your own styles. - * - * @default static/ + * Classes Map + * @description Dictionary mapping datatype's classes with their base classes */ - static_dir?: string; + class_to_classes: { + [key: string]: + | { + [key: string]: boolean | undefined; + } + | undefined; + }; /** - * Static Enabled - * @description Serve static content, which must be enabled if you're not serving it via a - * proxy server. These options should be self explanatory and so are not - * documented individually. You can use these paths (or ones in the proxy - * server) to point to your own styles. - * - * @default true + * Extension Map + * @description Dictionary mapping datatype's extensions with implementation classes */ - static_enabled?: boolean; + ext_to_class_name: { + [key: string]: string | undefined; + }; + }; + /** + * DefaultQuota + * @description Base model definition with common configuration used by all derived models. + */ + DefaultQuota: { /** - * Static Favicon Dir - * @description Serve static content, which must be enabled if you're not serving it via a - * proxy server. These options should be self explanatory and so are not - * documented individually. You can use these paths (or ones in the proxy - * server) to point to your own styles. - * - * @default static/favicon.ico + * Model class + * @description The name of the database model class. + * @default DefaultQuotaAssociation + * @enum {string} */ - static_favicon_dir?: string; + model_class: "DefaultQuotaAssociation"; /** - * Static Images Dir - * @description Serve static content, which must be enabled if you're not serving it via a - * proxy server. These options should be self explanatory and so are not - * documented individually. You can use these paths (or ones in the proxy - * server) to point to your own styles. - * - * @default static/images + * Type + * @description The type of the default quota. Either one of: + * - `registered`: the associated quota will affect registered users. + * - `unregistered`: the associated quota will affect unregistered users. */ - static_images_dir?: string; + type: components["schemas"]["DefaultQuotaTypes"]; + }; + /** + * DefaultQuotaTypes + * @description An enumeration. + * @enum {string} + */ + DefaultQuotaTypes: "unregistered" | "registered"; + /** + * DefaultQuotaValues + * @description An enumeration. + * @enum {string} + */ + DefaultQuotaValues: "unregistered" | "registered" | "no"; + /** + * DeleteDatasetBatchPayload + * @description Base model definition with common configuration used by all derived models. + */ + DeleteDatasetBatchPayload: { /** - * Static Robots Txt - * @description Serve static content, which must be enabled if you're not serving it via a - * proxy server. These options should be self explanatory and so are not - * documented individually. You can use these paths (or ones in the proxy - * server) to point to your own styles. - * - * @default static/robots.txt + * Datasets + * @description The list of datasets IDs with their sources to be deleted/purged. */ - static_robots_txt?: string; + datasets: components["schemas"]["DatasetSourceId"][]; /** - * Static Scripts Dir - * @description Serve static content, which must be enabled if you're not serving it via a - * proxy server. These options should be self explanatory and so are not - * documented individually. You can use these paths (or ones in the proxy - * server) to point to your own styles. - * - * @default static/scripts/ + * Purge + * @description Whether to permanently delete from disk the specified datasets. *Warning*: this is a destructive operation. + * @default false */ - static_scripts_dir?: string; + purge?: boolean; + }; + /** + * DeleteDatasetBatchResult + * @description Base model definition with common configuration used by all derived models. + */ + DeleteDatasetBatchResult: { /** - * Static Style Dir - * @description Serve static content, which must be enabled if you're not serving it via a - * proxy server. These options should be self explanatory and so are not - * documented individually. You can use these paths (or ones in the proxy - * server) to point to your own styles. - * - * @default static/style + * Errors + * @description A list of dataset IDs and the corresponding error message if something went wrong while processing the dataset. */ - static_style_dir?: string; + errors?: components["schemas"]["DatasetErrorMessage"][]; /** - * Statsd Host - * @description Log to statsd - * Statsd is an external statistics aggregator (https://github.com/etsy/statsd) - * Enabling the following options will cause galaxy to log request timing and - * other statistics to the configured statsd instance. The statsd_prefix is - * useful if you are running multiple Galaxy instances and want to segment - * statistics between them within the same aggregator. + * Success Count + * @description The number of datasets successfully processed. */ - statsd_host: string; + success_count: number; + }; + /** + * DeleteHistoryContentPayload + * @description Base model definition with common configuration used by all derived models. + */ + DeleteHistoryContentPayload: { /** - * Statsd Influxdb - * @description If you are using telegraf to collect these metrics and then sending - * them to InfluxDB, Galaxy can provide more nicely tagged metrics. - * Instead of sending prefix + dot-separated-path, Galaxy will send - * prefix with a tag path set to the page url - * + * Purge + * @description Whether to remove the dataset from storage. Datasets will only be removed from storage once all HDAs or LDDAs that refer to this datasets are deleted. * @default false */ - statsd_influxdb?: boolean; + purge?: boolean; /** - * Statsd Mock Calls - * @description Mock out statsd client calls - only used by testing infrastructure really. - * Do not set this in production environments. - * + * Recursive + * @description When deleting a dataset collection, whether to also delete containing datasets. * @default false */ - statsd_mock_calls?: boolean; - /** - * Statsd Port - * @description Log to statsd - * Statsd is an external statistics aggregator (https://github.com/etsy/statsd) - * Enabling the following options will cause galaxy to log request timing and - * other statistics to the configured statsd instance. The statsd_prefix is - * useful if you are running multiple Galaxy instances and want to segment - * statistics between them within the same aggregator. - * - * @default 8125 - */ - statsd_port?: number; - /** - * Statsd Prefix - * @description Log to statsd - * Statsd is an external statistics aggregator (https://github.com/etsy/statsd) - * Enabling the following options will cause galaxy to log request timing and - * other statistics to the configured statsd instance. The statsd_prefix is - * useful if you are running multiple Galaxy instances and want to segment - * statistics between them within the same aggregator. - * - * @default galaxy - */ - statsd_prefix?: string; + recursive?: boolean; /** - * Support Url - * @description The URL linked by the "Support" link in the "Help" menu. - * - * @default https://galaxyproject.org/support/ + * Stop Job + * @description Whether to stop the creating job if all the job's outputs are deleted. + * @default false */ - support_url?: string; + stop_job?: boolean; + }; + /** + * DeleteHistoryContentResult + * @description Contains minimum information about the deletion state of a history item. + * + * Can also contain any other properties of the item. + */ + DeleteHistoryContentResult: { /** - * Template Cache Path - * @description Mako templates are compiled as needed and cached for reuse, this directory is - * used for the cache - * - * @default compiled_templates + * Deleted + * @description True if the item was successfully deleted. */ - template_cache_path?: string; + deleted: boolean; /** - * Templates Dir - * @description The directory containing custom templates for Galaxy, such as HTML/text email templates. Defaults to 'templates'. Default templates can be found in the Galaxy root under config/templates. These can be copied to if you wish to customize them. - * - * @default templates + * ID + * @description The encoded ID of the history item. + * @example 0123456789ABCDEF */ - templates_dir?: string; + id: string; /** - * Terms Url - * @description The URL linked by the "Terms and Conditions" link in the "Help" menu, as well - * as on the user registration and login forms and in the activation emails. + * Purged + * @description True if the item was successfully removed from disk. */ - terms_url: string; + purged?: boolean; + }; + /** DeleteHistoryPayload */ + DeleteHistoryPayload: { /** - * Themes Config File - * @description Optional file containing one or more themes for galaxy. If several themes - * are defined, users can choose their preferred theme in the client. - * - * @default themes_conf.yml + * Purge + * @description Whether to definitely remove this history from disk. + * @default false */ - themes_config_file?: string; + purge?: boolean; + }; + /** + * DeleteLibraryPayload + * @description Base model definition with common configuration used by all derived models. + */ + DeleteLibraryPayload: { /** - * Tool Cache Data Dir - * @description Tool related caching. Fully expanded tools and metadata will be stored at this path. - * Per tool_conf cache locations can be configured in (``shed_``)tool_conf.xml files using - * the tool_cache_data_dir attribute. - * - * @default tool_cache + * Undelete + * @description Whether to restore this previously deleted library. */ - tool_cache_data_dir?: string; + undelete: boolean; + }; + /** + * DeleteQuotaPayload + * @description Base model definition with common configuration used by all derived models. + */ + DeleteQuotaPayload: { /** - * Tool Config File - * @description Tool config files, defines what tools are available in Galaxy. - * Tools can be locally developed or installed from Galaxy tool sheds. - * (config/tool_conf.xml.sample will be used if left unset and - * config/tool_conf.xml does not exist). Can be a single file, a list of - * files, or (for backwards compatibility) a comma-separated list of files. - * - * @default tool_conf.xml + * Purge + * @description Whether to also purge the Quota after deleting it. + * @default false */ - tool_config_file?: Record; + purge?: boolean; + }; + /** + * DeletedCustomBuild + * @description Base model definition with common configuration used by all derived models. + */ + DeletedCustomBuild: { /** - * Tool Data Path - * @description Directory where data used by tools is located. See the samples in that - * directory and the Galaxy Community Hub for help: - * https://galaxyproject.org/admin/data-integration - * - * @default tool-data + * Deletion message + * @description Confirmation of the custom build deletion. */ - tool_data_path?: string; + message: string; + }; + /** + * DetailedUserModel + * @description Base model definition with common configuration used by all derived models. + */ + DetailedUserModel: { /** - * Tool Data Table Config Path - * @description XML config file that contains data table entries for the - * ToolDataTableManager. This file is manually # maintained by the Galaxy - * administrator (.sample used if default does not exist). - * - * @default tool_data_table_conf.xml + * Deleted + * @description User is deleted */ - tool_data_table_config_path?: string; + deleted: boolean; /** - * Tool Dependency Cache Dir - * @description By default the tool_dependency_cache_dir is the _cache directory - * of the tool dependency directory. - * - * Sample default '/_cache' + * Email + * @description Email of the user */ - tool_dependency_cache_dir: string; + email: string; /** - * Tool Dependency Dir - * @description Various dependency resolver configuration parameters will have defaults set relative - * to this path, such as the default conda prefix, default Galaxy packages path, legacy - * tool shed dependencies path, and the dependency cache directory. - * - * Set the string to null to explicitly disable tool dependency handling. - * If this option is set to none or an invalid path, installing tools with dependencies - * from the Tool Shed or in Conda will fail. - * - * @default dependencies + * ID + * @description Encoded ID of the user + * @example 0123456789ABCDEF */ - tool_dependency_dir?: string; + id: string; /** - * Tool Description Boost - * @description In tool search, a query match against a tool's description text will - * receive this score multiplier. - * - * @default 8 + * Is admin + * @description User is admin */ - tool_description_boost?: number; + is_admin: boolean; /** - * Tool Destinations Config File - * @description Path to dynamic tool destinations configuration file. - * - * @default tool_destinations.yml + * Nice total disc usage + * @description Size of all non-purged, unique datasets of the user in a nice format. */ - tool_destinations_config_file?: string; + nice_total_disk_usage: string; /** - * Tool Enable Ngram Search - * @description Disabling this will prevent partial matches on tool names. - * Enable/disable Ngram-search for tools. It makes tool - * search results tolerant for spelling mistakes in the query, and will - * also match query substrings e.g. "genome" will match "genomics" or - * "metagenome". - * - * @default true + * Preferences + * @description Preferences of the user */ - tool_enable_ngram_search?: boolean; + preferences: Record; /** - * Tool Evaluation Strategy - * @description Determines which process will evaluate the tool command line. If set to "local" the tool command - * line, configuration files and other dynamic values will be templated in the job - * handler process. If set to ``remote`` the tool command line will be built as part of the - * submitted job. Note that ``remote`` is a beta setting that will be useful for materializing - * deferred datasets as part of the submitted job. Note also that you have to set ``metadata_strategy`` - * to ``extended`` if you set this option to ``remote``. - * - * @default local + * Preferred Object Store ID + * @description The ID of the object store that should be used to store new datasets in this history. */ - tool_evaluation_strategy?: string; + preferred_object_store_id?: string; /** - * Tool Filters - * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) - * that admins may use to restrict the tools to display. + * Purged + * @description User is purged */ - tool_filters: string; + purged: boolean; /** - * Tool Help Bm25F K1 - * @description The lower this parameter, the greater the diminishing reward for - * term frequency in the help text. A higher K1 increases the level - * of reward for additional occurences of a term. The default value will - * provide a slight increase in score for the first, second and third - * occurrence and little reward thereafter. - * - * @default 0.5 + * Quota + * @description Quota applicable to the user */ - tool_help_bm25f_k1?: number; + quota: string; /** - * Tool Help Boost - * @description In tool search, a query match against a tool's help text will receive - * this score multiplier. - * - * @default 1 + * Quota in bytes + * @description Quota applicable to the user in bytes. */ - tool_help_boost?: number; + quota_bytes: Record; /** - * Tool Id Boost - * @description In tool search, a query match against a tool's ID text will receive - * this score multiplier. The query must be an exact match against ID - * in order to be counted as a match. - * - * @default 20 + * Quota percent + * @description Percentage of the storage quota applicable to the user. */ - tool_id_boost?: number; + quota_percent?: Record; /** - * Tool Label Boost - * @description In tool search, a query match against a tool's label text will - * receive this score multiplier. - * - * @default 1 + * Tags used + * @description Tags used by the user */ - tool_label_boost?: number; + tags_used: string[]; /** - * Tool Label Filters - * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) - * that admins may use to restrict the tool labels to display. + * Total disk usage + * @description Size of all non-purged, unique datasets of the user in bytes. */ - tool_label_filters: string; + total_disk_usage: number; /** - * Tool Name Boost - * @description In tool search, a query match against a tool's name text will receive - * this score multiplier. - * - * @default 20 + * user_name + * @description The name of the user. */ - tool_name_boost?: number; + username: string; + }; + /** + * DisplayApp + * @description Basic linked information about an application that can display certain datatypes. + */ + DisplayApp: { /** - * Tool Name Exact Multiplier - * @description If a search query matches a tool name exactly, the score will be - * multiplied by this factor. - * - * @default 10 + * Label + * @description The label or title of the Display Application. */ - tool_name_exact_multiplier?: number; + label: string; /** - * Tool Ngram Factor - * @description Ngram matched scores will be multiplied by this factor. Should always - * be below 1, because an ngram match is a partial match of a search term. - * - * @default 0.2 + * Links + * @description The collection of link details for this Display Application. */ - tool_ngram_factor?: number; + links: components["schemas"]["Hyperlink"][]; + }; + /** DisplayApplication */ + DisplayApplication: { + /** Filename */ + filename_: string; + /** Id */ + id: string; + /** Links */ + links: components["schemas"]["Link"][]; + /** Name */ + name: string; + /** Version */ + version: string; + }; + /** + * ElementsFromType + * @description An enumeration. + * @enum {string} + */ + ElementsFromType: "archive" | "bagit" | "bagit_archive" | "directory"; + /** + * EncodedDatasetSourceId + * @description Base model definition with common configuration used by all derived models. + */ + EncodedDatasetSourceId: { /** - * Tool Ngram Maxsize - * @description Set maximum character length of ngrams - * - * @default 4 + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - tool_ngram_maxsize?: number; + id: string; /** - * Tool Ngram Minsize - * @description Set minimum character length of ngrams - * - * @default 3 + * Source + * @description The source of this dataset, either `hda` or `ldda` depending of its origin. */ - tool_ngram_minsize?: number; + src: components["schemas"]["DatasetSourceType"]; + }; + /** + * EncodedHistoryContentItem + * @description Identifies a dataset or collection contained in a History. + */ + EncodedHistoryContentItem: { /** - * Tool Path - * @description Default path to the directory containing the tools defined in tool_conf.xml. - * Other tool config files must include the tool_path as an attribute in the - * tag. - * - * @default tools + * Content Type + * @description The type of this item. */ - tool_path?: string; + history_content_type: components["schemas"]["HistoryContentType"]; /** - * Tool Recommendation Model Path - * @description Set remote path of the trained model (HDF5 file) for tool recommendation. - * - * @default https://github.com/galaxyproject/galaxy-test-data/raw/master/tool_recommendation_model_v_0.2.hdf5 + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - tool_recommendation_model_path?: string; + id: string; + }; + /** + * ExportHistoryArchivePayload + * @description Base model definition with common configuration used by all derived models. + */ + ExportHistoryArchivePayload: { /** - * Tool Search Index Dir - * @description Directory in which the toolbox search index is stored. - * @default tool_search_index + * Directory URI + * @description A writable directory destination where the history will be exported using the `galaxy.files` URI infrastructure. */ - tool_search_index_dir?: string; + directory_uri?: string; /** - * Tool Search Limit - * @description Limits the number of results in toolbox search. Use to set the - * maximum number of tool search results to display. - * - * @default 20 + * File Name + * @description The name of the file containing the exported history. */ - tool_search_limit?: number; + file_name?: string; /** - * Tool Section Boost - * @description In tool search, a query match against a tool's section text will - * receive this score multiplier. - * - * @default 3 + * GZip + * @description Whether to export as gzip archive. + * @default true */ - tool_section_boost?: number; + gzip?: boolean; /** - * Tool Section Filters - * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) - * that admins may use to restrict the tool sections to display. + * Include Deleted + * @description Whether to include deleted datasets in the exported archive. + * @default false */ - tool_section_filters: string; + include_deleted?: boolean; /** - * Tool Sheds Config File - * @description File containing the Galaxy Tool Sheds that should be made available to - * install from in the admin interface (.sample used if default does not exist). - * - * @default tool_sheds_conf.xml + * Include Hidden + * @description Whether to include hidden datasets in the exported archive. + * @default false */ - tool_sheds_config_file?: string; + include_hidden?: boolean; + }; + /** + * ExportObjectMetadata + * @description Base model definition with common configuration used by all derived models. + */ + ExportObjectMetadata: { + request_data: components["schemas"]["ExportObjectRequestMetadata"]; + result_data?: components["schemas"]["ExportObjectResultMetadata"]; + }; + /** + * ExportObjectRequestMetadata + * @description Base model definition with common configuration used by all derived models. + */ + ExportObjectRequestMetadata: { /** - * Tool Stub Boost - * @description A stub is parsed from the GUID as "owner/repo/tool_id". - * In tool search, a query match against a tool's stub text will receive - * this score multiplier. - * - * @default 2 + * Object Id + * @example 0123456789ABCDEF */ - tool_stub_boost?: number; + object_id: string; + object_type: components["schemas"]["ExportObjectType"]; + /** Payload */ + payload: + | components["schemas"]["WriteStoreToPayload"] + | components["schemas"]["ShortTermStoreExportPayload"]; /** - * Tool Test Data Directories - * @description Set tool test data directory. The test framework sets this value to - * 'test-data,https://github.com/galaxyproject/galaxy-test-data.git' which will - * cause Galaxy to clone down extra test data on the fly for certain tools - * distributed with Galaxy but this is likely not appropriate for production systems. - * Instead one can simply clone that repository directly and specify a path here - * instead of a Git HTTP repository. - * - * @default test-data + * User Id + * @example 0123456789ABCDEF */ - tool_test_data_directories?: string; + user_id?: string; + }; + /** + * ExportObjectResultMetadata + * @description Base model definition with common configuration used by all derived models. + */ + ExportObjectResultMetadata: { + /** Error */ + error?: string; + /** Success */ + success: boolean; + }; + /** + * ExportObjectType + * @description Types of objects that can be exported. + * @enum {string} + */ + ExportObjectType: "history" | "invocation"; + /** + * ExportRecordData + * @description Data of an export record associated with a history that was archived. + */ + ExportRecordData: { /** - * Tool Training Recommendations - * @description Displays a link to training material, if any includes the current tool. - * When activated the following options also need to be set: - * tool_training_recommendations_link, - * tool_training_recommendations_api_url - * - * @default true + * Include deleted + * @description Include file contents for deleted datasets (if include_files is True). + * @default false */ - tool_training_recommendations?: boolean; + include_deleted?: boolean; /** - * Tool Training Recommendations Api Url - * @description URL to API describing tutorials containing specific tools. - * When CORS is used, make sure to add this host. - * - * @default https://training.galaxyproject.org/training-material/api/top-tools.json + * Include Files + * @description include materialized files in export when available + * @default true */ - tool_training_recommendations_api_url?: string; + include_files?: boolean; /** - * Tool Training Recommendations Link - * @description Template URL to display all tutorials containing current tool. - * Valid template inputs are: - * {repository_owner} - * {name} - * {tool_id} - * {training_tool_identifier} - * {version} - * - * @default https://training.galaxyproject.org/training-material/by-tool/{training_tool_identifier}.html + * Include hidden + * @description Include file contents for hidden datasets (if include_files is True). + * @default false */ - tool_training_recommendations_link?: string; + include_hidden?: boolean; /** - * Toolbox Auto Sort - * @description If true, the toolbox will be sorted by tool id when the toolbox is loaded. - * This is useful for ensuring that tools are always displayed in the same - * order in the UI. If false, the order of tools in the toolbox will be - * preserved as they are loaded from the tool config files. - * - * @default true + * @description format of model store to export + * @default tar.gz */ - toolbox_auto_sort?: boolean; + model_store_format?: components["schemas"]["ModelStoreFormat"]; /** - * Toolbox Filter Base Modules - * @description The base module(s) that are searched for modules for toolbox filtering - * (https://galaxyproject.org/user-defined-toolbox-filters/) functions. - * - * @default galaxy.tools.filters,galaxy.tools.toolbox.filters,galaxy.tool_util.toolbox.filters + * Target URI + * @description Galaxy Files URI to write mode store content to. */ - toolbox_filter_base_modules?: string; + target_uri: string; + }; + /** + * ExportTaskListResponse + * @description Base model definition with common configuration used by all derived models. + */ + ExportTaskListResponse: components["schemas"]["ObjectExportTaskResponse"][]; + /** + * ExtraFiles + * @description Base model definition with common configuration used by all derived models. + */ + ExtraFiles: { /** - * Topk Recommendations - * @description Set the number of predictions/recommendations to be made by the model - * - * @default 20 + * Fuzzy Root + * @description Prevent Galaxy from checking for a single file in a directory and re-interpreting the archive + * @default true */ - topk_recommendations?: number; + fuzzy_root?: boolean; + /** Items From */ + items_from?: string; + src: components["schemas"]["Src"]; + }; + /** + * FavoriteObject + * @description Base model definition with common configuration used by all derived models. + */ + FavoriteObject: { /** - * Tour Config Dir - * @description Interactive tour directory: where to store interactive tour definition files. - * Galaxy ships with several basic interface tours enabled, though a different - * directory with custom tours can be specified here. The path is relative to the - * Galaxy root dir. To use an absolute path begin the path with '/'. This is a - * comma-separated list. - * - * @default config/plugins/tours + * Object ID + * @description The id of an object the user wants to favorite. */ - tour_config_dir?: string; + object_id: string; + }; + /** + * FavoriteObjectType + * @description An enumeration. + * @enum {string} + */ + FavoriteObjectType: "tools"; + /** + * FavoriteObjectsSummary + * @description Base model definition with common configuration used by all derived models. + */ + FavoriteObjectsSummary: { /** - * Track Jobs In Database - * @description This option is deprecated, use the `mem-self` handler assignment option in the - * job configuration instead. - * - * @default true + * Favorite tools + * @description The name of the tools the user favored. */ - track_jobs_in_database?: boolean; + tools: string[]; + }; + /** + * FetchDataPayload + * @description Base model definition with common configuration used by all derived models. + */ + FetchDataPayload: { /** - * Trs Servers Config File - * @description Allow import of workflows from the TRS servers configured in - * the specified YAML or JSON file. The file should be a list with - * 'id', 'label', and 'api_url' for each entry. Optionally, - * 'link_url' and 'doc' may be be specified as well for each entry. - * - * If this is null (the default), a simple configuration containing - * just Dockstore will be used. - * - * @default trs_servers_conf.yml + * History ID + * @description The encoded ID of the history associated with this item. + * @example 0123456789ABCDEF */ - trs_servers_config_file?: string; + history_id: string; + /** Targets */ + targets: ( + | components["schemas"]["DataElementsTarget"] + | components["schemas"]["HdcaDataItemsTarget"] + | components["schemas"]["DataElementsFromTarget"] + | components["schemas"]["HdcaDataItemsFromTarget"] + | components["schemas"]["FtpImportTarget"] + )[]; + }; + /** + * FileDataElement + * @description Base model definition with common configuration used by all derived models. + */ + FileDataElement: { + /** Md5 */ + MD5?: string; /** - * Trust Jupyter Notebook Conversion - * @description Set to true to use Jupyter nbconvert to build HTML from Jupyter - * notebooks in Galaxy histories. This process may allow users to execute - * arbitrary code or serve arbitrary HTML. If enabled, Jupyter must be - * available and on Galaxy's PATH, to do this run - * `pip install jinja2 pygments jupyter` in Galaxy's virtualenv. - * + * Auto Decompress + * @description Decompress compressed data before sniffing? * @default false */ - trust_jupyter_notebook_conversion?: boolean; - /** - * Tus Upload Store - * @description The upload store is a temporary directory in which files uploaded by the - * tus middleware or server will be placed. - * Defaults to new_file_path if not set. - */ - tus_upload_store: string; + auto_decompress?: boolean; + /** Collection Type */ + collection_type?: string; + /** Created From Basename */ + created_from_basename?: string; /** - * Upload From Form Button - * @description If 'always-on', add another button to tool form data inputs that allow uploading - * data from the tool form in fewer clicks (at the expense of making the form more - * complicated). This applies to workflows as well. - * - * Avoiding making this a boolean because we may add options such as 'in-single-form-view' - * or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109 - * - * @default always-off + * Dbkey + * @default ? */ - upload_from_form_button?: string; + dbkey?: string; /** - * Upstream Gzip - * @description If using compression in the upstream proxy server, use this option to disable - * gzipping of dataset collection and library archives, since the upstream server - * will do it faster on the fly. To enable compression add ``application/zip`` - * to the proxy's compressable mimetypes. - * + * Deferred * @default false */ - upstream_gzip?: boolean; + deferred?: boolean; + elements_from?: components["schemas"]["ElementsFromType"]; /** - * Upstream Mod Zip - * @description If using the mod-zip module in nginx, use this option to assemble - * zip archives in nginx. This is preferable over the upstream_gzip option - * as Galaxy does not need to serve the archive. - * Requires setting up internal nginx locations to all paths that can be archived. - * See https://docs.galaxyproject.org/en/master/admin/nginx.html#creating-archives-with-mod-zip - * for details. - * - * @default false + * Ext + * @default auto */ - upstream_mod_zip?: boolean; + ext?: string; + extra_files?: components["schemas"]["ExtraFiles"]; + /** Info */ + info?: string; + /** Name */ + name?: string; /** - * Use Cached Dependency Manager - * @description Certain dependency resolvers (namely Conda) take a considerable amount of - * time to build an isolated job environment in the job_working_directory if the - * job working directory is on a network share. Set this option to true - * to cache the dependencies in a folder. This option is beta and should only be - * used if you experience long waiting times before a job is actually submitted - * to your cluster. - * - * This only affects tools where some requirements can be resolved but not others, - * most modern best practice tools can use prebuilt environments in the Conda - * directory. - * + * Space To Tab * @default false */ - use_cached_dependency_manager?: boolean; + space_to_tab?: boolean; /** - * Use Heartbeat - * @description Write thread status periodically to 'heartbeat.log', (careful, uses disk - * space rapidly!). Useful to determine why your processes may be consuming a - * lot of CPU. - * - * @default false + * Src + * @enum {string} */ - use_heartbeat?: boolean; + src: "files"; + /** Tags */ + tags?: string[]; /** - * Use Lint - * @description Check for WSGI compliance. - * + * To Posix Lines * @default false */ - use_lint?: boolean; + to_posix_lines?: boolean; + }; + /** + * FileLibraryFolderItem + * @description Base model definition with common configuration used by all derived models. + */ + FileLibraryFolderItem: { + /** Can Manage */ + can_manage: boolean; /** - * Use Pbkdf2 - * @description Allow disabling pbkdf2 hashing of passwords for legacy situations. - * This should normally be left enabled unless there is a specific - * reason to disable it. - * - * @default true + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - use_pbkdf2?: boolean; + create_time: string; /** - * Use Printdebug - * @description Intercept print statements and show them on the returned page. - * - * @default true + * Date Uploaded + * Format: date-time */ - use_printdebug?: boolean; + date_uploaded: string; + /** Deleted */ + deleted: boolean; + /** File Ext */ + file_ext: string; + /** File Size */ + file_size: string; /** - * Use Profile - * @description Run the Python profiler on each request. - * - * @default false + * Id + * @example 0123456789ABCDEF */ - use_profile?: boolean; + id: string; + /** Is Private */ + is_private: boolean; + /** Is Unrestricted */ + is_unrestricted: boolean; /** - * Use Remote User - * @description User authentication can be delegated to an upstream proxy server (usually - * Apache). The upstream proxy should set a REMOTE_USER header in the request. - * Enabling remote user disables regular logins. For more information, see: - * https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html - * - * @default false + * Ldda Id + * @example 0123456789ABCDEF */ - use_remote_user?: boolean; + ldda_id: string; + /** Message */ + message?: string; + /** Name */ + name: string; + /** Raw Size */ + raw_size: number; /** - * Use Tasked Jobs - * @description This enables splitting of jobs into tasks, if specified by the particular tool - * config. - * This is a new feature and not recommended for production servers yet. - * - * @default false + * State + * @description The current state of this dataset. */ - use_tasked_jobs?: boolean; + state: components["schemas"]["DatasetState"]; + tags: components["schemas"]["TagCollection"]; /** - * User Activation On - * @description User account activation feature global flag. If set to false, the rest of - * the Account activation configuration is ignored and user activation is - * disabled (i.e. accounts are active since registration). - * The activation is also not working in case the SMTP server is not defined. - * - * @default false + * Type + * @enum {string} */ - user_activation_on?: boolean; + type: "file"; /** - * User Library Import Check Permissions - * @description In conjunction or alternatively, Galaxy can restrict user library imports to - * those files that the user can read (by checking basic unix permissions). - * For this to work, the username has to match the username on the filesystem. - * - * @default false + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - user_library_import_check_permissions?: boolean; + update_time: string; + }; + /** + * FilesSourcePlugin + * @description Base model definition with common configuration used by all derived models. + */ + FilesSourcePlugin: { /** - * User Library Import Dir - * @description Add an option to the library upload form which allows authorized - * non-administrators to upload a directory of files. The configured directory - * must contain sub-directories named the same as the non-admin user's Galaxy - * login ( email ). The non-admin user is restricted to uploading files or - * sub-directories of files contained in their directory. + * Browsable + * @description Whether this file source plugin can list items. */ - user_library_import_dir: string; + browsable: boolean; /** - * User Library Import Dir Auto Creation - * @description If user_library_import_dir is set, this option will auto create a library - * import directory for every user (based on their email) upon login. - * - * @default false + * Documentation + * @description Documentation or extended description for this plugin. + * @example Galaxy's library import directory */ - user_library_import_dir_auto_creation?: boolean; + doc: string; /** - * User Library Import Symlink Allowlist - * @description For security reasons, users may not import any files that actually lie - * outside of their `user_library_import_dir` (e.g. using symbolic links). A - * list of directories can be allowed by setting the following option (the list - * is comma-separated). Be aware that *any* user with library import permissions - * can import from anywhere in these directories (assuming they are able to - * create symlinks to them). + * ID + * @description The `FilesSource` plugin identifier + * @example _import */ - user_library_import_symlink_allowlist: string; + id: string; /** - * User Preferences Extra Conf Path - * @description Location of the configuration file containing extra user preferences. - * - * @default user_preferences_extra_conf.yml + * Label + * @description The display label for this plugin. + * @example Library Import Directory */ - user_preferences_extra_conf_path?: string; + label: string; /** - * User Tool Filters - * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) - * that users may use to restrict the tools to display. - * - * @default examples:restrict_upload_to_admins, examples:restrict_encode + * Requires groups + * @description Only users belonging to the groups specified here can access this files source. */ - user_tool_filters?: string; + requires_groups?: string; /** - * User Tool Label Filters - * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) - * that users may use to restrict the tool labels to display. - * - * @default examples:restrict_upload_to_admins, examples:restrict_encode + * Requires roles + * @description Only users with the roles specified here can access this files source. */ - user_tool_label_filters?: string; + requires_roles?: string; /** - * User Tool Section Filters - * @description Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) - * that users may use to restrict the tool sections to display. - * - * @default examples:restrict_text + * Type + * @description The type of the plugin. + * @example gximport */ - user_tool_section_filters?: string; + type: string; /** - * Vault Config File - * @description Vault config file. - * - * @default vault_conf.yml + * Writeable + * @description Whether this files source plugin allows write access. + * @example false */ - vault_config_file?: string; + writable: boolean; + }; + /** + * FilesSourcePluginList + * @description Base model definition with common configuration used by all derived models. + * @default [] + * @example [ + * { + * "browsable": true, + * "doc": "Galaxy's library import directory", + * "id": "_import", + * "label": "Library Import Directory", + * "type": "gximport", + * "uri_root": "gximport://", + * "writable": false + * } + * ] + */ + FilesSourcePluginList: ( + | components["schemas"]["BrowsableFilesSourcePlugin"] + | components["schemas"]["FilesSourcePlugin"] + )[]; + /** + * FolderLibraryFolderItem + * @description Base model definition with common configuration used by all derived models. + */ + FolderLibraryFolderItem: { + /** Can Manage */ + can_manage: boolean; + /** Can Modify */ + can_modify: boolean; /** - * Visualization Plugins Directory - * @description Visualizations config directory: where to look for individual visualization - * plugins. The path is relative to the Galaxy root dir. To use an absolute - * path begin the path with '/'. This is a comma-separated list. - * - * @default config/plugins/visualizations + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - visualization_plugins_directory?: string; + create_time: string; + /** Deleted */ + deleted: boolean; /** - * Visualizations Visible - * @description Show visualization tab and list in masthead. - * - * @default true + * Description + * @description A detailed description of the library folder. + * @default */ - visualizations_visible?: boolean; + description?: string; /** - * Watch Core Config - * @description Monitor a subset of options in the core configuration file (See RELOADABLE_CONFIG_OPTIONS - * in lib/galaxy/config/__init__.py). If changes are found, modified options are - * automatically reloaded. Takes the same values as the 'watch_tools' option. - * - * @default false + * Id + * @example 0123456789ABCDEF */ - watch_core_config?: string; + id: string; + /** Name */ + name: string; /** - * Watch Job Rules - * @description Monitor dynamic job rules. If changes are found, rules are automatically reloaded. Takes - * the same values as the 'watch_tools' option. - * - * @default false + * Type + * @enum {string} */ - watch_job_rules?: string; + type: "folder"; /** - * Watch Tool Data Dir - * @description Monitor the tool_data and shed_tool_data_path directories. If changes in tool data table - * files are found, the tool data tables for that data manager are automatically reloaded. - * Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy - * to use this option. Other options include 'auto' which will attempt to use the watchdog - * library if it is available but won't fail to load Galaxy if it is not and 'polling' which - * will use a less efficient monitoring scheme that may work in wider range of scenarios than - * the watchdog default. - * - * @default false + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - watch_tool_data_dir?: string; + update_time: string; + }; + /** + * FtpImportElement + * @description Base model definition with common configuration used by all derived models. + */ + FtpImportElement: { + /** Md5 */ + MD5?: string; /** - * Watch Tools - * @description Monitor the tools and tool directories listed in any tool config file specified in - * tool_config_file option. If changes are found, tools are automatically reloaded. - * Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy - * to use this option. Other options include 'auto' which will attempt to watch tools if the - * watchdog library is available but won't fail to load Galaxy if it is not and 'polling' - * which will use a less efficient monitoring scheme that may work in wider range of - * scenarios than the watchdog default. - * + * Auto Decompress + * @description Decompress compressed data before sniffing? * @default false */ - watch_tools?: string; + auto_decompress?: boolean; + /** Collection Type */ + collection_type?: string; + /** Created From Basename */ + created_from_basename?: string; /** - * Watch Tours - * @description Monitor the interactive tours directory specified in the 'tour_config_dir' option. If - * changes are found, modified tours are automatically reloaded. Takes the same values as the - * 'watch_tools' option. - * - * @default false + * Dbkey + * @default ? */ - watch_tours?: string; + dbkey?: string; /** - * Webhooks Dir - * @description Webhooks directory: where to store webhooks - plugins to extend the Galaxy UI. - * By default none will be loaded. Set to config/plugins/webhooks/demo to load Galaxy's - * demo webhooks. To use an absolute path begin the path with '/'. This is a - * comma-separated list. Add test/functional/webhooks to this list to include the demo - * webhooks used to test the webhook framework. - * - * @default config/plugins/webhooks + * Deferred + * @default false */ - webhooks_dir?: string; + deferred?: boolean; + elements_from?: components["schemas"]["ElementsFromType"]; /** - * Welcome Directory - * @description Location of New User Welcome data, a single directory containing the - * images and JSON of Topics/Subtopics/Slides as export. This location - * is relative to galaxy/static - * - * @default plugins/welcome_page/new_user/static/topics/ + * Ext + * @default auto */ - welcome_directory?: string; + ext?: string; + extra_files?: components["schemas"]["ExtraFiles"]; + /** Ftp Path */ + ftp_path: string; + /** Info */ + info?: string; + /** Name */ + name?: string; /** - * Welcome Url - * @description The URL of the page to display in Galaxy's middle pane when loaded. This can - * be an absolute or relative URL. - * - * @default /static/welcome.html + * Space To Tab + * @default false */ - welcome_url?: string; + space_to_tab?: boolean; /** - * Wiki Url - * @description The URL linked by the "Community Hub" link in the "Help" menu. - * - * @default https://galaxyproject.org/ + * Src + * @enum {string} */ - wiki_url?: string; + src: "ftp_import"; + /** Tags */ + tags?: string[]; /** - * Workflow Monitor Sleep - * @description Each Galaxy workflow handler process runs one thread responsible for - * checking the state of active workflow invocations. This thread operates in a loop and - * sleeps for the given number of seconds at the end of each iteration. This can be - * decreased if extremely high job throughput is necessary, but doing so can increase CPU - * usage of handler processes. Float values are allowed. - * - * @default 1 + * To Posix Lines + * @default false */ - workflow_monitor_sleep?: number; + to_posix_lines?: boolean; + }; + /** + * FtpImportTarget + * @description Base model definition with common configuration used by all derived models. + */ + FtpImportTarget: { /** - * Workflow Resource Params File - * @description Similar to the above parameter, workflows can describe parameters used to - * influence scheduling of jobs within the workflow. This requires both a description - * of the fields available (which defaults to the definitions in - * job_resource_params_file if not set). - * - * @default workflow_resource_params_conf.xml - */ - workflow_resource_params_file?: string; - /** - * Workflow Resource Params Mapper - * @description This parameter describes how to map users and workflows to a set of workflow - * resource parameter to present (typically input IDs from workflow_resource_params_file). - * If this this is a function reference it will be passed various inputs (workflow model - * object and user) and it should produce a list of input IDs. If it is a path - * it is expected to be an XML or YAML file describing how to map group names to parameter - * descriptions (additional types of mappings via these files could be implemented but - * haven't yet - for instance using workflow tags to do the mapping). - * - * Sample default path 'config/workflow_resource_mapper_conf.yml.sample' + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false */ - workflow_resource_params_mapper: string; + auto_decompress?: boolean; + /** Collection Type */ + collection_type?: string; + destination: components["schemas"]["HdcaDestination"]; + elements_from?: components["schemas"]["ElementsFromType"]; + /** Ftp Path */ + ftp_path: string; + /** Name */ + name?: string; /** - * Workflow Schedulers Config File - * @description Optional configuration file similar to `job_config_file` to specify - * which Galaxy processes should schedule workflows. - * - * @default workflow_schedulers_conf.xml - */ - workflow_schedulers_config_file?: string; - /** - * X Frame Options - * @description The following default adds a header to web request responses that - * will cause modern web browsers to not allow Galaxy to be embedded in - * the frames of web applications hosted at other hosts - this can help - * prevent a class of attack called clickjacking - * (https://www.owasp.org/index.php/Clickjacking). If you configure a - * proxy in front of Galaxy - please ensure this header remains intact - * to protect your users. Uncomment and leave empty to not set the - * `X-Frame-Options` header. - * - * @default SAMEORIGIN + * Src + * @enum {string} */ - x_frame_options?: string; + src: "ftp_import"; + /** Tags */ + tags?: string[]; }; /** * GroupModel @@ -13416,7 +11112,9 @@ export interface operations { /** @description Object containing exposable configuration settings */ 200: { content: { - "application/json": components["schemas"]["GalaxyConfigModel"]; + "application/json": + | components["schemas"]["ConfigResponse"] + | components["schemas"]["AdminOnlyConfigResponse"]; }; }; /** @description Validation Error */ diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 99547ec95b26..5b5e0549d801 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -7,16 +7,966 @@ Any, Dict, List, + Optional, ) from pydantic import Field -from typing_extensions import Annotated +from typing_extensions import ( + Annotated, + Literal, +) + +from galaxy.schema.schema import Model + +WatchToolOptions = Literal["false", "auto", "polling"] + + +class ComputedGalaxyConfig(Model): + """Contains Galaxy configuration options computed at runtime.""" + + is_admin_user: Annotated[ + Optional[bool], + Field( + deprecated=True, # TODO: redundant, this is available from user data (deprecated for now) + title="Is Admin User", + description="""Determines if the current user is an admin user. +**Deprecated**: This is deprecated and will be removed in a future release. +Please get this information from the user data instead.""", + ), + ] = False + + lims_doc_url: Annotated[ + Optional[str], + Field( + deprecated=True, # TODO: This option seems to be unused in the codebase (?) + title="Lims Doc Url", + description="""The URL linked by the "LIMS Documentation" link in the "Help" menu. +**Deprecated**: This is deprecated and will be removed in a future release. +Please use the `helpsite_url` option instead.""", + ), + ] = "https://usegalaxy.org/u/rkchak/p/sts" + + markdown_to_pdf_available: Annotated[ + Optional[bool], + Field( + deprecated=True, # TODO: This option seems to be used only in tests (?) + title="Markdown To Pdf Available", + description="""Determines if the markdown to pdf conversion is available. +**Deprecated**: This is deprecated and will be removed in a future release.""", + ), + ] = False + + has_user_tool_filters: Annotated[ + bool, + Field( + title="Has User Tool Filters", + description="""Determines if the user has tool filters.""", + ), + ] = False + + version_major: Annotated[ + str, + Field( + title="Version Major", + description="""The major version of Galaxy.""", + ), + ] + + version_minor: Annotated[ + str, + Field( + title="Version Minor", + description="""The minor version of Galaxy.""", + ), + ] + + version_extra: Annotated[ + Optional[Any], + Field( + title="Version Extra", + description="""The extra version of Galaxy.""", + ), + ] + + carbon_intensity: Annotated[ + Optional[float], + Field( + title="Carbon Intensity", + description="""The carbon intensity of the electricity used by the Galaxy server.""", + ), + ] + + geographical_server_location_name: Annotated[ + Optional[str], + Field( + title="Geographical Server Location Name", + description="""The name of the geographical location of the Galaxy server.""", + ), + ] + + server_startttime: Annotated[ + int, + Field( + title="Server Start Time", + description="""The time when the Galaxy server was started (seconds since Epoch).""", + ), + ] + + server_mail_configured: Annotated[ + bool, + Field( + title="Server Mail Configured", + description="""Determines if the Galaxy instance has a SMTP server configured.""", + ), + ] = False + + python: Annotated[ + List[int], + Field( + title="Python Version", + description="""The Python version used by Galaxy as a tuple of integers [mayor, minor].""", + ), + ] + + file_sources_configured: Annotated[ + bool, + Field( + title="File Sources Configured", + description="""Determines if the Galaxy instance has custom file sources configured.""", + ), + ] + + quota_source_labels: Annotated[ + List[str], + Field( + title="Quota Source Labels", + description="""The labels of the disk quota sources available on this Galaxy instance.""", + ), + ] + + object_store_allows_id_selection: Annotated[ + bool, + Field( + title="Object Store Allows Id Selection", + description="""Determines if the object store allows id selection.""", + ), + ] + + object_store_ids_allowing_selection: Annotated[ + List[str], + Field( + title="Object Store Ids Allowing Selection", + description="""The ids of the object stores that can be selected.""", + ), + ] + + user_library_import_dir_available: Annotated[ + bool, + Field( + title="User Library Import Dir Available", + description="""Determines if the user library import directory is available.""", + ), + ] + + themes: Annotated[ + Dict[str, Dict[str, str]], + Field( + title="Themes", + description="""The visual style themes available on this Galaxy instance.""", + ), + ] + + +class UserExposableGalaxyConfig(Model): + """Contains Galaxy configuration values that can be exposed to regular users. + + These values are used to generate the OpenAPI and Configuration YAML schema for the Galaxy configuration. + When a new configuration option is added to Galaxy, it should be added to this model as well as + to the ConfigSerializer. + """ + + brand: Annotated[ + str, + Field( + title="Brand", + description="""Append "{brand}" text to the masthead.""", + ), + ] + + logo_url: Annotated[ + str, + Field( + title="Logo Url", + description="""The URL linked by the "Galaxy/brand" text.""", + ), + ] = "/" + + logo_src: Annotated[ + str, + Field( + title="Logo Src", + description="""The brand image source.""", + ), + ] = "/static/favicon.svg" + + logo_src_secondary: Annotated[ + str, + Field( + title="Logo Src Secondary", + description="""The custom brand image source.""", + ), + ] + + terms_url: Annotated[ + str, + Field( + title="Terms Url", + description="""The URL linked by the "Terms and Conditions" link in the "Help" menu, as well +as on the user registration and login forms and in the activation emails.""", + ), + ] + + wiki_url: Annotated[ + str, + Field( + title="Wiki Url", + description="""The URL linked by the "Community Hub" link in the "Help" menu.""", + ), + ] = "https://galaxyproject.org/" + + screencasts_url: Annotated[ + str, + Field( + title="Screencasts Url", + description="""The URL linked by the "Videos" link in the "Help" menu.""", + ), + ] = "https://www.youtube.com/c/galaxyproject" + + citation_url: Annotated[ + str, + Field( + title="Citation Url", + description="""The URL linked by the "How to Cite Galaxy" link in the "Help" menu.""", + ), + ] = "https://galaxyproject.org/citing-galaxy" + + citations_export_message_html: Annotated[ + str, + Field( + title="Citations Export Message Html", + description="""Message to display on the export citations tool page""", + ), + ] = 'When writing up your analysis, remember to include all references that should be cited in order to completely describe your work. Also, please remember to cite Galaxy.' + + support_url: Annotated[ + str, + Field( + title="Support Url", + description="""The URL linked by the "Support" link in the "Help" menu.""", + ), + ] = "https://galaxyproject.org/support/" + + quota_url: Annotated[ + str, + Field( + title="Quota Url", + description="""The URL linked for quota information in the UI.""", + ), + ] = "https://galaxyproject.org/support/account-quotas/" + + helpsite_url: Annotated[ + str, + Field( + title="Helpsite Url", + description="""The URL linked by the "Galaxy Help" link in the "Help" menu.""", + ), + ] = "https://help.galaxyproject.org/" + + default_locale: Annotated[ + str, + Field( + title="Default Locale", + description="""Default localization for Galaxy UI. +Allowed values are listed at the end of client/src/nls/locale.js. +With the default value (auto), the locale will be automatically adjusted to +the user's navigator language. +Users can override this settings in their user preferences if the localization +settings are enabled in user_preferences_extra_conf.yml""", + ), + ] = "auto" + + enable_account_interface: Annotated[ + bool, + Field( + title="Enable Account Interface", + description="""Allow users to manage their account data, change passwords or delete their accounts.""", + ), + ] = True + + enable_tool_recommendations: Annotated[ + bool, + Field( + title="Enable Tool Recommendations", + description="""Allow the display of tool recommendations in workflow editor and after tool execution. +If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well""", + ), + ] = False + + tool_recommendation_model_path: Annotated[ + str, + Field( + title="Tool Recommendation Model Path", + description="""Set remote path of the trained model (HDF5 file) for tool recommendation.""", + ), + ] = "https://github.com/galaxyproject/galaxy-test-data/raw/master/tool_recommendation_model_v_0.2.hdf5" + + admin_tool_recommendations_path: Annotated[ + str, + Field( + title="Admin Tool Recommendations Path", + description="""Set path to the additional tool preferences from Galaxy admins. +It has two blocks. One for listing deprecated tools which will be removed from the recommendations and +another is for adding additional tools to be recommended along side those from the deep learning model.""", + ), + ] = "tool_recommendations_overwrite.yml" + + overwrite_model_recommendations: Annotated[ + bool, + Field( + title="Overwrite Model Recommendations", + description="""Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model +are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools +by admins and predicted by the deep learning model are shown.""", + ), + ] = False + + topk_recommendations: Annotated[ + int, + Field( + title="Topk Recommendations", + description="""Set the number of predictions/recommendations to be made by the model""", + ), + ] = 20 + + allow_user_impersonation: Annotated[ + bool, + Field( + title="Allow User Impersonation", + description="""Allow administrators to log in as other users (useful for debugging).""", + ), + ] = False + + allow_user_creation: Annotated[ + bool, + Field( + title="Allow User Creation", + description="""Allow unregistered users to create new accounts (otherwise, they will have to be created by an admin).""", + ), + ] = True + + allow_user_dataset_purge: Annotated[ + bool, + Field( + title="Allow User Dataset Purge", + description="""Allow users to remove their datasets from disk immediately (otherwise, +datasets will be removed after a time period specified by an administrator in +the cleanup scripts run via cron)""", + ), + ] = True + + use_remote_user: Annotated[ + bool, + Field( + title="Use Remote User", + description="""User authentication can be delegated to an upstream proxy server (usually +Apache). The upstream proxy should set a REMOTE_USER header in the request. +Enabling remote user disables regular logins. For more information, see: +https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html""", + ), + ] = False + + remote_user_logout_href: Annotated[ + Optional[str], + Field( + title="Remote User Logout Href", + description="""If use_remote_user is enabled, you can set this to a URL that will log your users out.""", + ), + ] = None + + single_user: Annotated[ + str, + Field( + title="Single User", + description="""If an e-mail address is specified here, it will hijack remote user mechanics +(``use_remote_user``) and have the webapp inject a single fixed user. This +has the effect of turning Galaxy into a single user application with no +login or external proxy required. Such applications should not be exposed to +the world.""", + ), + ] + + enable_oidc: Annotated[ + bool, + Field( + title="Enable Oidc", + description="""Enables and disables OpenID Connect (OIDC) support.""", + ), + ] = False + + # TODO: This is a placeholder for the OIDC configuration. It should be + # replaced with a proper model. Is not part of the YAML config file. + oidc: Annotated[ + Dict[str, Any], + Field( + title="Oidc", + description="""OpenID Connect (OIDC) configuration.""", + ), + ] = {} + + prefer_custos_login: Annotated[ + bool, + Field( + title="Prefer Custos Login", + description="""Controls the order of the login page to prefer Custos-based login and registration.""", + ), + ] = False + + enable_quotas: Annotated[ + bool, + Field( + title="Enable Quotas", + description="""Enable enforcement of quotas. Quotas can be set from the Admin interface.""", + ), + ] = False + + post_user_logout_href: Annotated[ + str, + Field( + title="Post User Logout Href", + description="""This is the default url to which users are redirected after they log out.""", + ), + ] = "/root/login?is_logout_redirect=true" + + datatypes_disable_auto: Annotated[ + bool, + Field( + title="Datatypes Disable Auto", + description="""Disable the 'Auto-detect' option for file uploads""", + ), + ] = False + + ga_code: Annotated[ + Optional[str], + Field( + title="Google Analytics Code", + description="""You can enter tracking code here to track visitor's behavior +through your Google Analytics account. Example: UA-XXXXXXXX-Y""", + ), + ] = None + + plausible_server: Annotated[ + Optional[str], + Field( + title="Plausible Server", + description="""Please enter the URL for the Plausible server (including https) so this can be used for tracking +with Plausible (https://plausible.io/).""", + ), + ] = None + + plausible_domain: Annotated[ + Optional[str], + Field( + title="Plausible Domain", + description="""Please enter the URL for the Galaxy server so this can be used for tracking +with Plausible (https://plausible.io/).""", + ), + ] = None + + matomo_server: Annotated[ + Optional[str], + Field( + title="Matomo Server", + description="""Please enter the URL for the Matomo server (including https) so this can be used for tracking +with Matomo (https://matomo.org/).""", + ), + ] = None + + matomo_site_id: Annotated[ + Optional[str], + Field( + title="Matomo Site Id", + description="""Please enter the site ID for the Matomo server so this can be used for tracking +with Matomo (https://matomo.org/).""", + ), + ] = None + + enable_unique_workflow_defaults: Annotated[ + bool, + Field( + title="Enable Unique Workflow Defaults", + description="""Enable a feature when running workflows. When enabled, default datasets +are selected for "Set at Runtime" inputs from the history such that the +same input will not be selected twice, unless there are more inputs than +compatible datasets in the history. +When false, the most recently added compatible item in the history will +be used for each "Set at Runtime" input, independent of others in the workflow.""", + ), + ] = False + + enable_beta_markdown_export: Annotated[ + bool, + Field( + title="Enable Beta Markdown Export", + description="""Enable export of Galaxy Markdown documents (pages and workflow reports) +to PDF. Requires manual installation and setup of weasyprint (latest version +available for Python 2.7 is 0.42).""", + ), + ] = False + + enable_beacon_integration: Annotated[ + bool, + Field( + title="Enable Beacon Integration", + description="""Enables user preferences and api endpoint for the beacon integration.""", + ), + ] = False + + simplified_workflow_run_ui: Annotated[ + Literal["off", "prefer"], + Field( + title="Simplified Workflow Run Ui", + description="""If set to 'off' by default, always use the traditional workflow form that renders +all steps in the GUI and serializes the tool state of all steps during +invocation. Set to 'prefer' to default to a simplified workflow UI that +only renders the inputs if possible (the workflow must have no disconnected +runtime inputs and not replacement parameters within tool steps). In the +future 'force' may be added an option for Galaskio-style servers that should +only render simplified workflows.""", + ), + ] = "prefer" + + simplified_workflow_run_ui_target_history: Annotated[ + Literal["prefer_current", "prefer_new"], + Field( + title="Simplified Workflow Run Ui Target History", + description="""When the simplified workflow run form is rendered, should the invocation outputs +be sent to the 'current' history or a 'new' history. If the user should be presented +and option between these - set this to 'prefer_current' or 'prefer_new' to display +a runtime setting with the corresponding default. The default is to provide the +user this option and default it to the current history (the traditional behavior +of Galaxy for years) - this corresponds to the setting 'prefer_current'. +""", + ), + ] = "prefer_current" + + simplified_workflow_run_ui_job_cache: Annotated[ + Literal["on", "off"], + Field( + title="Simplified Workflow Run Ui Job Cache", + description="""When the simplified workflow run form is rendered, should the invocation use job +caching. This isn't a boolean so an option for 'show-selection' can be added later.""", + ), + ] = "off" + + nginx_upload_path: Annotated[ + str, + Field( + title="Nginx Upload Path", + description="""This value overrides the action set on the file upload form, e.g. the web +path where the nginx_upload_module has been configured to intercept upload requests.""", + ), + ] + + chunk_upload_size: Annotated[ + int, + Field( + title="Chunk Upload Size", + description="""Galaxy can upload user files in chunks without using nginx. Enable the chunk +uploader by specifying a chunk size larger than 0. The chunk size is specified +in bytes (default: 10MB). +""", + ), + ] = 10485760 + + ftp_upload_site: Annotated[ + Optional[str], + Field( + title="Ftp Upload Site", + description="""Enable Galaxy's "Upload via FTP" interface. +You'll need to install and configure an FTP server (we've used ProFTPd since it can use Galaxy's +database for authentication) and set the following two options. +This will be provided to users in the help text as 'log in to the FTP server at '. +Thus, it should be the hostname of your FTP server.""", + ), + ] = None + + require_login: Annotated[ + bool, + Field( + title="Require Login", + description="""Force everyone to log in (disable anonymous access).""", + ), + ] = False + + inactivity_box_content: Annotated[ + str, + Field( + title="Inactivity Box Content", + description="""Shown in warning box to users that were not activated yet. +In use only if activation_grace_period is set.""", + ), + ] = "Your account has not been activated yet. Feel free to browse around and see what's available, but you won't be able to upload data or run jobs until you have verified your email address." + + visualizations_visible: Annotated[ + bool, + Field( + title="Visualizations Visible", + description="""Show visualization tab and list in masthead.""", + ), + ] = True + + interactivetools_enable: Annotated[ + bool, + Field( + title="Interactivetools Enable", + description="""Enable InteractiveTools.""", + ), + ] = False + + aws_estimate: Annotated[ + bool, + Field( + title="Aws Estimate", + description="""This flag enables an AWS cost estimate for every job based on their runtime matrices. +CPU, RAM and runtime usage is mapped against AWS pricing table. +Please note, that those numbers are only estimates.""", + ), + ] = False + + carbon_emission_estimates: Annotated[ + bool, + Field( + title="Carbon Emission Estimates", + description="""This flag enables carbon emissions estimates for every job based on its runtime metrics. +CPU and RAM usage and the total job runtime are used to determine an estimate value. +These estimates and are based off of the work of the Green Algorithms Project and +the United States Environmental Protection Agency (EPA). +Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. +for more details.""", + ), + ] = True + + geographical_server_location_code: Annotated[ + str, + Field( + title="Geographical Server Location Code", + description="""The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. +This is used to make carbon emissions estimates more accurate as the location effects the +carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the +`geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, +visit https://galaxyproject.org/admin/carbon_emissions""", + ), + ] = "GLOBAL" + + power_usage_effectiveness: Annotated[ + float, + Field( + title="Power Usage Effectiveness", + description="""The estimated power usage effectiveness of the data centre housing the server your galaxy +instance is running on. This can make carbon emissions estimates more accurate. +For more information on how to calculate a PUE value, visit +https://en.wikipedia.org/wiki/Power_usage_effectiveness +""", + ), + ] = 1.67 + + message_box_visible: Annotated[ + bool, + Field( + title="Message Box Visible", + description="""Show a message box under the masthead.""", + ), + ] = False + + message_box_content: Annotated[ + str, + Field( + title="Message Box Content", + description="""Show a message box under the masthead.""", + ), + ] + + message_box_class: Annotated[ + Literal["info", "warning", "error", "done"], + Field( + title="Message Box Class", + description="""Class of the message box under the masthead. +Possible values are: 'info' (the default), 'warning', 'error', 'done'.""", + ), + ] = "info" + + mailing_join_addr: Annotated[ + Optional[str], + Field( + title="Mailing Join Address", + description="""On the user registration form, users may choose to join a mailing list. This +is the address used to subscribe to the list. Uncomment and leave empty if you +want to remove this option from the user registration form. + +Example value 'galaxy-announce-join@lists.galaxyproject.org'""", + ), + ] = "galaxy-announce-join@bx.psu.edu" + + registration_warning_message: Annotated[ + Optional[str], + Field( + title="Registration Warning Message", + description="""Registration warning message is used to discourage people from registering +multiple accounts. Applies mostly for the main Galaxy instance. +If no message specified the warning box will not be shown.""", + ), + ] = "Please register only one account - we provide this service free of charge and have limited computational resources. Multi-accounts are tracked and will be subjected to account termination and data deletion." + + welcome_url: Annotated[ + str, + Field( + title="Welcome Url", + description="""The URL of the page to display in Galaxy's middle pane when loaded. This can +be an absolute or relative URL.""", + ), + ] = "/static/welcome.html" + + show_welcome_with_login: Annotated[ + bool, + Field( + title="Show Welcome With Login", + description="""Show the site's welcome page (see welcome_url) alongside the login page +(even if require_login is true).""", + ), + ] = False + + cookie_domain: Annotated[ + str, + Field( + title="Cookie Domain", + description="""Tell Galaxy that multiple domains sharing the same root are associated +to this instance and wants to share the same session cookie. +This allow a user to stay logged in when passing from one subdomain to the other. +This root domain will be written in the unique session cookie shared by all subdomains.""", + ), + ] + + select_type_workflow_threshold: Annotated[ + int, + Field( + title="Select Type Workflow Threshold", + description="""Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) +Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. +use 0 in order to always use select2 fields, use -1 (default) in order to always use the regular select fields, +use any other positive number as threshold (above threshold: regular select fields will be used)""", + ), + ] = -1 + + toolbox_auto_sort: Annotated[ + bool, + Field( + title="Toolbox Auto Sort", + description="""If true, the toolbox will be sorted by tool id when the toolbox is loaded. +This is useful for ensuring that tools are always displayed in the same +order in the UI. If false, the order of tools in the toolbox will be +preserved as they are loaded from the tool config files.""", + ), + ] = True + + panel_views: Annotated[ + List[Any], + Field( + title="Panel Views", + description="""Definitions of static toolbox panel views embedded directly in the config instead of reading +YAML from directory with panel_views_dir.""", + ), + ] + + default_panel_view: Annotated[ + str, + Field( + title="Default Panel View", + description="""Default tool panel view for the current Galaxy configuration. This should refer to an id of +a panel view defined using the panel_views or panel_views_dir configuration options or an +EDAM panel view. The default panel view is simply called `default` and refers to the tool +panel state defined by the integrated tool panel.""", + ), + ] = "default" + + upload_from_form_button: Annotated[ + Literal["always-on", "always-off"], + Field( + title="Upload From Form Button", + description="""If 'always-on', add another button to tool form data inputs that allow uploading +data from the tool form in fewer clicks (at the expense of making the form more complicated). This applies to workflows as well. + +Avoiding making this a boolean because we may add options such as 'in-single-form-view' +or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109""", + ), + ] = "always-off" + + release_doc_base_url: Annotated[ + str, + Field( + title="Release Doc Base Url", + description="""The URL linked by the "Galaxy Version" link in the "Help" menu.""", + ), + ] = "https://docs.galaxyproject.org/en/release_" + + expose_user_email: Annotated[ + bool, + Field( + title="Expose User Email", + description="""Expose user list. Setting this to true will expose the user list to +authenticated users. This makes sharing datasets in smaller galaxy instances +much easier as they can type a name/email and have the correct user show up. +This makes less sense on large public Galaxy instances where that data +shouldn't be exposed. For semi-public Galaxies, it may make sense to expose +just the username and not email, or vice versa. + +If enable_beta_gdpr is set to true, then this option will be overridden and set to false.""", + ), + ] = False + + enable_tool_source_display: Annotated[ + bool, + Field( + title="Enable Tool Source Display", + description="""This option allows users to view the tool wrapper source code. This is +safe to enable if you have not hardcoded any secrets in any of the tool +wrappers installed on this Galaxy server. If you have only installed tool +wrappers from public tool sheds and tools shipped with Galaxy there you +can enable this option.""", + ), + ] = False + + enable_celery_tasks: Annotated[ + bool, + Field( + title="Enable Celery Tasks", + description="""Offload long-running tasks to a Celery task queue. +Activate this only if you have setup a Celery worker for Galaxy. +For details, see https://docs.galaxyproject.org/en/master/admin/production.html""", + ), + ] = False + + welcome_directory: Annotated[ + str, + Field( + title="Welcome Directory", + description="""Location of New User Welcome data, a single directory containing the +images and JSON of Topics/Subtopics/Slides as export. This location +is relative to galaxy/static""", + ), + ] = "plugins/welcome_page/new_user/static/topics/" + + tool_training_recommendations: Annotated[ + bool, + Field( + title="Tool Training Recommendations", + description="""Displays a link to training material, if any includes the current tool. +When activated the following options also need to be set: + tool_training_recommendations_link, + tool_training_recommendations_api_url +""", + ), + ] = True + + tool_training_recommendations_link: Annotated[ + str, + Field( + title="Tool Training Recommendations Link", + description="""Template URL to display all tutorials containing current tool. +Valid template inputs are: + {repository_owner} + {name} + {tool_id} + {training_tool_identifier} + {version} +""", + ), + ] = "https://training.galaxyproject.org/training-material/by-tool/{training_tool_identifier}.html" + + tool_training_recommendations_api_url: Annotated[ + str, + Field( + title="Tool Training Recommendations Api Url", + description="""URL to API describing tutorials containing specific tools. +When CORS is used, make sure to add this host.""", + ), + ] = "https://training.galaxyproject.org/training-material/api/top-tools.json" + + enable_notification_system: Annotated[ + bool, + Field( + title="Enable Notification System", + description="""Enables the Notification System integrated in Galaxy. + +Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. + +The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. + +Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. +""", + ), + ] = False + + +class AdminExposableGalaxyConfig(UserExposableGalaxyConfig): + """Configuration options available only to Galaxy admins. + + These values are used to generate the OpenAPI and Configuration YAML schema for the Galaxy configuration. + """ + + library_import_dir: Annotated[ + Optional[str], + Field( + title="Library Import Dir", + description="""Add an option to the library upload form which allows administrators to +upload a directory of files.""", + ), + ] = None + + user_library_import_dir: Annotated[ + Optional[str], + Field( + title="User Library Import Dir", + description="""Add an option to the library upload form which allows authorized +non-administrators to upload a directory of files. The configured directory +must contain sub-directories named the same as the non-admin user's Galaxy +login ( email ). The non-admin user is restricted to uploading files or +sub-directories of files contained in their directory.""", + ), + ] = None + + allow_library_path_paste: Annotated[ + bool, + Field( + title="Allow Library Path Paste", + description="""Adds an option to the admin library upload tool allowing admins to paste +filesystem paths to files and directories in a box, and these paths will be added to a library.""", + ), + ] = False + + allow_user_deletion: Annotated[ + bool, + Field( + title="Allow User Deletion", + description="""Allow administrators to delete accounts.""", + ), + ] = False -from galaxy.schema.schema import Model +class FullGalaxyConfig(AdminExposableGalaxyConfig): + """Contains all options from the Galaxy Configuration File. -class GalaxyConfigModel(Model): - """Contains Galaxy configuration values.""" + This model should be used only to generate the Configuration YAML schema. + """ config_dir: Annotated[ str, @@ -28,17 +978,19 @@ class GalaxyConfigModel(Model): """, ), ] + managed_config_dir: Annotated[ str, Field( title="Managed Config Dir", description="""The directory that will be prepended to relative paths in options specifying config files controlled by Galaxy (such as shed_tool_config_file, etc.). Must be -writable by the user running Galaxy. Defaults to `/` if running +writable by the user running Galaxy. Defaults to `/` if running Galaxy from source or `/config` otherwise. """, ), ] + data_dir: Annotated[ str, Field( @@ -50,23 +1002,24 @@ class GalaxyConfigModel(Model): """, ), ] + templates_dir: Annotated[ str, Field( title="Templates Dir", - description="""The directory containing custom templates for Galaxy, such as HTML/text email templates. Defaults to 'templates'. Default templates can be found in the Galaxy root under config/templates. These can be copied to if you wish to customize them. -""", + description="""The directory containing custom templates for Galaxy, such as HTML/text email templates. Defaults to 'templates'. Default templates can be found in the Galaxy root under config/templates. These can be copied to if you wish to customize them.""", ), ] = "templates" + cache_dir: Annotated[ str, Field( title="Cache Dir", description="""Top level cache directory. Any other cache directories (tool_cache_data_dir, -template_cache_path, etc.) should be subdirectories. -""", +template_cache_path, etc.) should be subdirectories.""", ), ] = "cache" + database_connection: Annotated[ str, Field( @@ -89,55 +1042,56 @@ class GalaxyConfigModel(Model): """, ), ] + database_engine_option_pool_size: Annotated[ int, Field( title="Database Engine Option Pool Size", description="""If the server logs errors about not having enough database pool connections, -you will want to increase these values, or consider running more Galaxy -processes. -""", +you will want to increase these values, or consider running more Galaxy processes.""", ), ] = 5 + database_engine_option_max_overflow: Annotated[ int, Field( title="Database Engine Option Max Overflow", description="""If the server logs errors about not having enough database pool connections, -you will want to increase these values, or consider running more Galaxy -processes. -""", +you will want to increase these values, or consider running more Galaxy processes.""", ), ] = 10 + database_engine_option_pool_recycle: Annotated[ int, Field( title="Database Engine Option Pool Recycle", description="""If using MySQL and the server logs the error "MySQL server has gone away", -you will want to set this to some positive value (7200 should work). -""", +you will want to set this to some positive value (7200 should work).""", ), ] = -1 + database_engine_option_server_side_cursors: Annotated[ bool, Field( title="Database Engine Option Server Side Cursors", description="""If large database query results are causing memory or response time issues in -the Galaxy process, leave the result on the server instead. This option is +the Galaxy process, leave the result on the server instead. This option is only available for PostgreSQL and is highly recommended. """, ), ] = False + database_query_profiling_proxy: Annotated[ bool, Field( title="Database Query Profiling Proxy", description="""Log all database transactions, can be useful for debugging and performance -profiling. Logging is done via Python's 'logging' module under the qualname +profiling. Logging is done via Python's 'logging' module under the qualname 'galaxy.model.orm.logging_connection_proxy' """, ), ] = False + database_template: Annotated[ str, Field( @@ -148,6 +1102,7 @@ class GalaxyConfigModel(Model): """, ), ] + database_log_query_counts: Annotated[ bool, Field( @@ -161,16 +1116,18 @@ class GalaxyConfigModel(Model): """, ), ] = False + slow_query_log_threshold: Annotated[ float, Field( title="Slow Query Log Threshold", - description="""Slow query logging. Queries slower than the threshold indicated below will -be logged to debug. A value of '0' is disabled. For example, you would set + description="""Slow query logging. Queries slower than the threshold indicated below will +be logged to debug. A value of '0' is disabled. For example, you would set this to .005 to log all queries taking longer than 5 milliseconds. """, ), ] = 0.0 + enable_per_request_sql_debugging: Annotated[ bool, Field( @@ -182,14 +1139,15 @@ class GalaxyConfigModel(Model): """, ), ] = False + install_database_connection: Annotated[ str, Field( title="Install Database Connection", description="""By default, Galaxy will use the same database to track user data and -tool shed install data. There are many situations in which it is +tool shed install data. There are many situations in which it is valuable to separate these - for instance bootstrapping fresh Galaxy -instances with pretested installs. The following option can be used to +instances with pretested installs. The following option can be used to separate the tool shed install database (all other options listed above but prefixed with ``install_`` are also available). @@ -197,40 +1155,41 @@ class GalaxyConfigModel(Model): """, ), ] + database_auto_migrate: Annotated[ bool, Field( title="Database Auto Migrate", description="""Setting the following option to true will cause Galaxy to automatically -migrate the database forward after updates. This is not recommended for production -use. +migrate the database forward after updates. This is not recommended for production use. """, ), ] = False + database_wait: Annotated[ bool, Field( title="Database Wait", - description="""Wait for database to become available instead of failing immediately. -""", + description="""Wait for database to become available instead of failing immediately.""", ), ] = False + database_wait_attempts: Annotated[ int, Field( title="Database Wait Attempts", - description="""Number of attempts before failing if database_wait is enabled. -""", + description="""Number of attempts before failing if database_wait is enabled.""", ), ] = 60 + database_wait_sleep: Annotated[ float, Field( title="Database Wait Sleep", - description="""Time to sleep between attempts if database_wait is enabled (in seconds). -""", + description="""Time to sleep between attempts if database_wait is enabled (in seconds).""", ), ] = 1.0 + history_audit_table_prune_interval: Annotated[ int, Field( @@ -240,6 +1199,7 @@ class GalaxyConfigModel(Model): """, ), ] = 3600 + file_path: Annotated[ str, Field( @@ -251,6 +1211,7 @@ class GalaxyConfigModel(Model): """, ), ] = "objects" + new_file_path: Annotated[ str, Field( @@ -260,6 +1221,7 @@ class GalaxyConfigModel(Model): """, ), ] = "tmp" + maximum_upload_file_size: Annotated[ int, Field( @@ -269,6 +1231,7 @@ class GalaxyConfigModel(Model): """, ), ] = 107374182400 + tool_config_file: Annotated[ Any, Field( @@ -281,6 +1244,7 @@ class GalaxyConfigModel(Model): """, ), ] = "tool_conf.xml" + shed_tool_config_file: Annotated[ str, Field( @@ -297,6 +1261,7 @@ class GalaxyConfigModel(Model): """, ), ] = "shed_tool_conf.xml" + migrated_tools_config: Annotated[ str, Field( @@ -308,19 +1273,21 @@ class GalaxyConfigModel(Model): """, ), ] = "migrated_tools_conf.xml" + integrated_tool_panel_config: Annotated[ str, Field( title="Integrated Tool Panel Config", description="""File that contains the XML section and tool tags from all tool panel config -files integrated into a single file that defines the tool panel layout. This +files integrated into a single file that defines the tool panel layout. This file can be changed by the Galaxy administrator to alter the layout of the -tool panel. If not present, Galaxy will create it. +tool panel. If not present, Galaxy will create it. The value of this option will be resolved with respect to . """, ), ] = "integrated_tool_panel.xml" + tool_path: Annotated[ str, Field( @@ -331,6 +1298,7 @@ class GalaxyConfigModel(Model): """, ), ] = "tools" + tool_dependency_dir: Annotated[ str, Field( @@ -345,6 +1313,7 @@ class GalaxyConfigModel(Model): """, ), ] = "dependencies" + dependency_resolvers_config_file: Annotated[ str, Field( @@ -355,6 +1324,7 @@ class GalaxyConfigModel(Model): """, ), ] = "dependency_resolvers_conf.xml" + conda_prefix: Annotated[ str, Field( @@ -366,6 +1336,7 @@ class GalaxyConfigModel(Model): """, ), ] + conda_exec: Annotated[ str, Field( @@ -375,14 +1346,15 @@ class GalaxyConfigModel(Model): """, ), ] + conda_debug: Annotated[ bool, Field( title="Conda Debug", - description="""Pass debug flag to conda commands. -""", + description="""Pass debug flag to conda commands.""", ), ] = False + conda_ensure_channels: Annotated[ str, Field( @@ -392,14 +1364,15 @@ class GalaxyConfigModel(Model): """, ), ] = "conda-forge,bioconda,defaults" + conda_use_local: Annotated[ bool, Field( title="Conda Use Local", - description="""Use locally-built conda packages. -""", + description="""Use locally-built conda packages.""", ), ] = False + conda_auto_install: Annotated[ bool, Field( @@ -409,6 +1382,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + conda_auto_init: Annotated[ bool, Field( @@ -418,6 +1392,7 @@ class GalaxyConfigModel(Model): """, ), ] = True + conda_copy_dependencies: Annotated[ bool, Field( @@ -430,6 +1405,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + local_conda_mapping_file: Annotated[ str, Field( @@ -439,6 +1415,7 @@ class GalaxyConfigModel(Model): """, ), ] = "local_conda_mapping.yml" + modules_mapping_files: Annotated[ str, Field( @@ -448,13 +1425,14 @@ class GalaxyConfigModel(Model): """, ), ] = "environment_modules_mapping.yml" + use_cached_dependency_manager: Annotated[ bool, Field( title="Use Cached Dependency Manager", description="""Certain dependency resolvers (namely Conda) take a considerable amount of time to build an isolated job environment in the job_working_directory if the -job working directory is on a network share. Set this option to true +job working directory is on a network share. Set this option to true to cache the dependencies in a folder. This option is beta and should only be used if you experience long waiting times before a job is actually submitted to your cluster. @@ -465,6 +1443,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + tool_dependency_cache_dir: Annotated[ str, Field( @@ -476,6 +1455,7 @@ class GalaxyConfigModel(Model): """, ), ] + precache_dependencies: Annotated[ bool, Field( @@ -486,6 +1466,7 @@ class GalaxyConfigModel(Model): """, ), ] = True + tool_sheds_config_file: Annotated[ str, Field( @@ -495,12 +1476,13 @@ class GalaxyConfigModel(Model): """, ), ] = "tool_sheds_conf.xml" + watch_tools: Annotated[ - str, + WatchToolOptions, Field( title="Watch Tools", description="""Monitor the tools and tool directories listed in any tool config file specified in -tool_config_file option. If changes are found, tools are automatically reloaded. +tool_config_file option. If changes are found, tools are automatically reloaded. Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy to use this option. Other options include 'auto' which will attempt to watch tools if the watchdog library is available but won't fail to load Galaxy if it is not and 'polling' @@ -509,8 +1491,9 @@ class GalaxyConfigModel(Model): """, ), ] = "false" + watch_job_rules: Annotated[ - str, + WatchToolOptions, Field( title="Watch Job Rules", description="""Monitor dynamic job rules. If changes are found, rules are automatically reloaded. Takes @@ -518,18 +1501,20 @@ class GalaxyConfigModel(Model): """, ), ] = "false" + watch_core_config: Annotated[ - str, + WatchToolOptions, Field( title="Watch Core Config", description="""Monitor a subset of options in the core configuration file (See RELOADABLE_CONFIG_OPTIONS -in lib/galaxy/config/__init__.py). If changes are found, modified options are +in lib/galaxy/config/__init__.py). If changes are found, modified options are automatically reloaded. Takes the same values as the 'watch_tools' option. """, ), ] = "false" + watch_tours: Annotated[ - str, + WatchToolOptions, Field( title="Watch Tours", description="""Monitor the interactive tours directory specified in the 'tour_config_dir' option. If @@ -538,6 +1523,7 @@ class GalaxyConfigModel(Model): """, ), ] = "false" + short_term_storage_dir: Annotated[ str, Field( @@ -551,6 +1537,7 @@ class GalaxyConfigModel(Model): """, ), ] = "short_term_web_storage" + short_term_storage_default_duration: Annotated[ int, Field( @@ -560,15 +1547,17 @@ class GalaxyConfigModel(Model): """, ), ] = 86400 + short_term_storage_maximum_duration: Annotated[ int, Field( title="Short Term Storage Maximum Duration", description="""The maximum duration short term storage files can hosted before they will be marked for -clean up. The default setting of 0 indicates no limit here. +clean up. The default setting of 0 indicates no limit here. """, ), ] = 0 + short_term_storage_cleanup_interval: Annotated[ int, Field( @@ -578,22 +1567,23 @@ class GalaxyConfigModel(Model): """, ), ] = 3600 + file_sources_config_file: Annotated[ str, Field( title="File Sources Config File", - description="""Configured FileSource plugins. -""", + description="""Configured FileSource plugins.""", ), ] = "file_sources_conf.yml" + file_sources: Annotated[ List[Any], Field( title="File Sources", - description="""FileSource plugins described embedded into Galaxy's config. -""", + description="""FileSource plugins described embedded into Galaxy's config.""", ), ] + enable_mulled_containers: Annotated[ bool, Field( @@ -606,6 +1596,7 @@ class GalaxyConfigModel(Model): """, ), ] = True + container_resolvers_config_file: Annotated[ str, Field( @@ -618,6 +1609,7 @@ class GalaxyConfigModel(Model): """, ), ] + container_resolvers: Annotated[ List[Any], Field( @@ -629,6 +1621,7 @@ class GalaxyConfigModel(Model): """, ), ] + involucro_path: Annotated[ str, Field( @@ -641,6 +1634,7 @@ class GalaxyConfigModel(Model): """, ), ] = "involucro" + involucro_auto_init: Annotated[ bool, Field( @@ -650,69 +1644,75 @@ class GalaxyConfigModel(Model): """, ), ] = True + mulled_channels: Annotated[ str, Field( title="Mulled Channels", - description="""Conda channels to use when building Docker or Singularity containers using involucro. -""", + description="""Conda channels to use when building Docker or Singularity containers using involucro.""", ), ] = "conda-forge,bioconda" + enable_tool_shed_check: Annotated[ bool, Field( title="Enable Tool Shed Check", description="""Enable automatic polling of relative tool sheds to see if any updates -are available for installed repositories. Ideally only one Galaxy -server process should be able to check for repository updates. The +are available for installed repositories. Ideally only one Galaxy +server process should be able to check for repository updates. The setting for hours_between_check should be an integer between 1 and 24. """, ), ] = False + hours_between_check: Annotated[ int, Field( title="Hours Between Check", description="""Enable automatic polling of relative tool sheds to see if any updates -are available for installed repositories. Ideally only one Galaxy -server process should be able to check for repository updates. The +are available for installed repositories. Ideally only one Galaxy +server process should be able to check for repository updates. The setting for hours_between_check should be an integer between 1 and 24. """, ), ] = 12 + tool_data_table_config_path: Annotated[ str, Field( title="Tool Data Table Config Path", description="""XML config file that contains data table entries for the -ToolDataTableManager. This file is manually # maintained by the Galaxy +ToolDataTableManager. This file is manually # maintained by the Galaxy administrator (.sample used if default does not exist). """, ), ] = "tool_data_table_conf.xml" + shed_tool_data_table_config: Annotated[ str, Field( title="Shed Tool Data Table Config", description="""XML config file that contains additional data table entries for the -ToolDataTableManager. This file is automatically generated based on the +ToolDataTableManager. This file is automatically generated based on the current installed tool shed repositories that contain valid -tool_data_table_conf.xml.sample files. At the time of installation, these +tool_data_table_conf.xml.sample files. At the time of installation, these entries are automatically added to the following file, which is parsed and applied to the ToolDataTableManager at server start up. """, ), ] = "shed_tool_data_table_conf.xml" + tool_data_path: Annotated[ str, Field( title="Tool Data Path", - description="""Directory where data used by tools is located. See the samples in that + description="""Directory where data used by tools is located. See the samples in that directory and the Galaxy Community Hub for help: https://galaxyproject.org/admin/data-integration """, ), ] = "tool-data" + shed_tool_data_path: Annotated[ str, Field( @@ -722,8 +1722,9 @@ class GalaxyConfigModel(Model): """, ), ] + watch_tool_data_dir: Annotated[ - str, + WatchToolOptions, Field( title="Watch Tool Data Dir", description="""Monitor the tool_data and shed_tool_data_path directories. If changes in tool data table @@ -736,6 +1737,7 @@ class GalaxyConfigModel(Model): """, ), ] = "false" + refgenie_config_file: Annotated[ str, Field( @@ -744,6 +1746,7 @@ class GalaxyConfigModel(Model): """, ), ] + build_sites_config_file: Annotated[ str, Field( @@ -753,6 +1756,7 @@ class GalaxyConfigModel(Model): """, ), ] = "build_sites.yml" + builds_file_path: Annotated[ str, Field( @@ -763,6 +1767,7 @@ class GalaxyConfigModel(Model): """, ), ] = "shared/ucsc/builds.txt" + len_file_path: Annotated[ str, Field( @@ -773,17 +1778,19 @@ class GalaxyConfigModel(Model): """, ), ] = "shared/ucsc/chrom" + datatypes_config_file: Annotated[ str, Field( title="Datatypes Config File", description="""Datatypes config file(s), defines what data (file) types are available in -Galaxy (.sample is used if default does not exist). If a datatype appears in +Galaxy (.sample is used if default does not exist). If a datatype appears in multiple files, the last definition is used (though the first sniffer is used so limit sniffer definitions to one file). """, ), ] = "datatypes_conf.xml" + sniff_compressed_dynamic_datatypes_default: Annotated[ bool, Field( @@ -795,24 +1802,18 @@ class GalaxyConfigModel(Model): """, ), ] = True - datatypes_disable_auto: Annotated[ - bool, - Field( - title="Datatypes Disable Auto", - description="""Disable the 'Auto-detect' option for file uploads -""", - ), - ] = False + visualization_plugins_directory: Annotated[ str, Field( title="Visualization Plugins Directory", description="""Visualizations config directory: where to look for individual visualization -plugins. The path is relative to the Galaxy root dir. To use an absolute -path begin the path with '/'. This is a comma-separated list. +plugins. The path is relative to the Galaxy root dir. To use an absolute +path begin the path with '/'. This is a comma-separated list. """, ), ] = "config/plugins/visualizations" + tour_config_dir: Annotated[ str, Field( @@ -820,23 +1821,25 @@ class GalaxyConfigModel(Model): description="""Interactive tour directory: where to store interactive tour definition files. Galaxy ships with several basic interface tours enabled, though a different directory with custom tours can be specified here. The path is relative to the -Galaxy root dir. To use an absolute path begin the path with '/'. This is a +Galaxy root dir. To use an absolute path begin the path with '/'. This is a comma-separated list. """, ), ] = "config/plugins/tours" + webhooks_dir: Annotated[ str, Field( title="Webhooks Dir", description="""Webhooks directory: where to store webhooks - plugins to extend the Galaxy UI. -By default none will be loaded. Set to config/plugins/webhooks/demo to load Galaxy's -demo webhooks. To use an absolute path begin the path with '/'. This is a +By default none will be loaded. Set to config/plugins/webhooks/demo to load Galaxy's +demo webhooks. To use an absolute path begin the path with '/'. This is a comma-separated list. Add test/functional/webhooks to this list to include the demo webhooks used to test the webhook framework. """, ), ] = "config/plugins/webhooks" + job_working_directory: Annotated[ str, Field( @@ -849,6 +1852,7 @@ class GalaxyConfigModel(Model): """, ), ] = "jobs_directory" + template_cache_path: Annotated[ str, Field( @@ -858,6 +1862,7 @@ class GalaxyConfigModel(Model): """, ), ] = "compiled_templates" + check_job_script_integrity: Annotated[ bool, Field( @@ -867,22 +1872,23 @@ class GalaxyConfigModel(Model): """, ), ] = True + check_job_script_integrity_count: Annotated[ int, Field( title="Check Job Script Integrity Count", - description="""Number of checks to execute if check_job_script_integrity is enabled. -""", + description="""Number of checks to execute if check_job_script_integrity is enabled.""", ), ] = 35 + check_job_script_integrity_sleep: Annotated[ float, Field( title="Check Job Script Integrity Sleep", - description="""Time to sleep between checks if check_job_script_integrity is enabled (in seconds). -""", + description="""Time to sleep between checks if check_job_script_integrity is enabled (in seconds).""", ), ] = 0.25 + default_job_shell: Annotated[ str, Field( @@ -896,6 +1902,7 @@ class GalaxyConfigModel(Model): """, ), ] = "/bin/bash" + enable_tool_document_cache: Annotated[ bool, Field( @@ -908,6 +1915,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + tool_cache_data_dir: Annotated[ str, Field( @@ -918,6 +1926,7 @@ class GalaxyConfigModel(Model): """, ), ] = "tool_cache" + tool_search_index_dir: Annotated[ str, Field( @@ -925,16 +1934,17 @@ class GalaxyConfigModel(Model): description="""Directory in which the toolbox search index is stored.""", ), ] = "tool_search_index" + delay_tool_initialization: Annotated[ bool, Field( title="Delay Tool Initialization", description="""Set this to true to delay parsing of tool inputs and outputs until they are needed. -This results in faster startup times but uses more memory when using forked Galaxy -processes. +This results in faster startup times but uses more memory when using forked Galaxy processes. """, ), ] = False + biotools_content_directory: Annotated[ str, Field( @@ -944,6 +1954,7 @@ class GalaxyConfigModel(Model): """, ), ] + biotools_use_api: Annotated[ bool, Field( @@ -953,32 +1964,31 @@ class GalaxyConfigModel(Model): """, ), ] = False + biotools_service_cache_type: Annotated[ str, Field( title="Biotools Service Cache Type", - description="""bio.tools web service request related caching. The type of beaker cache used. -""", + description="""bio.tools web service request related caching. The type of beaker cache used.""", ), ] = "file" + biotools_service_cache_data_dir: Annotated[ str, Field( title="Biotools Service Cache Data Dir", - description="""bio.tools web service request related caching. The data directory to point -beaker cache at. -""", + description="""bio.tools web service request related caching. The data directory to point beaker cache at.""", ), ] = "biotools/data" + biotools_service_cache_lock_dir: Annotated[ str, Field( title="Biotools Service Cache Lock Dir", - description="""bio.tools web service request related caching. The lock directory to point -beaker cache at. -""", + description="""bio.tools web service request related caching. The lock directory to point beaker cache at.""", ), ] = "biotools/locks" + biotools_service_cache_url: Annotated[ str, Field( @@ -991,6 +2001,7 @@ class GalaxyConfigModel(Model): """, ), ] + biotools_service_cache_table_name: Annotated[ str, Field( @@ -1001,6 +2012,7 @@ class GalaxyConfigModel(Model): """, ), ] = "beaker_cache" + biotools_service_cache_schema_name: Annotated[ str, Field( @@ -1011,36 +2023,40 @@ class GalaxyConfigModel(Model): """, ), ] + citation_cache_type: Annotated[ str, Field( title="Citation Cache Type", - description="""Citation related caching. Tool citations information maybe fetched from + description="""Citation related caching. Tool citations information maybe fetched from external sources such as https://doi.org/ by Galaxy - the following parameters can be used to control the caching used to store this information. """, ), ] = "file" + citation_cache_data_dir: Annotated[ str, Field( title="Citation Cache Data Dir", - description="""Citation related caching. Tool citations information maybe fetched from + description="""Citation related caching. Tool citations information maybe fetched from external sources such as https://doi.org/ by Galaxy - the following parameters can be used to control the caching used to store this information. """, ), ] = "citations/data" + citation_cache_lock_dir: Annotated[ str, Field( title="Citation Cache Lock Dir", - description="""Citation related caching. Tool citations information maybe fetched from + description="""Citation related caching. Tool citations information maybe fetched from external sources such as https://doi.org/ by Galaxy - the following parameters can be used to control the caching used to store this information. """, ), ] = "citations/locks" + citation_cache_url: Annotated[ str, Field( @@ -1052,6 +2068,7 @@ class GalaxyConfigModel(Model): """, ), ] + citation_cache_table_name: Annotated[ str, Field( @@ -1062,6 +2079,7 @@ class GalaxyConfigModel(Model): """, ), ] = "beaker_cache" + citation_cache_schema_name: Annotated[ str, Field( @@ -1072,6 +2090,7 @@ class GalaxyConfigModel(Model): """, ), ] + mulled_resolution_cache_type: Annotated[ str, Field( @@ -1081,22 +2100,23 @@ class GalaxyConfigModel(Model): """, ), ] = "file" + mulled_resolution_cache_data_dir: Annotated[ str, Field( title="Mulled Resolution Cache Data Dir", - description="""Data directory used by beaker for caching mulled resolution requests. -""", + description="""Data directory used by beaker for caching mulled resolution requests.""", ), ] = "mulled/data" + mulled_resolution_cache_lock_dir: Annotated[ str, Field( title="Mulled Resolution Cache Lock Dir", - description="""Lock directory used by beaker for caching mulled resolution requests. -""", + description="""Lock directory used by beaker for caching mulled resolution requests.""", ), ] = "mulled/locks" + mulled_resolution_cache_expire: Annotated[ int, Field( @@ -1105,6 +2125,7 @@ class GalaxyConfigModel(Model): """, ), ] = 3600 + mulled_resolution_cache_url: Annotated[ str, Field( @@ -1116,6 +2137,7 @@ class GalaxyConfigModel(Model): """, ), ] + mulled_resolution_cache_table_name: Annotated[ str, Field( @@ -1126,6 +2148,7 @@ class GalaxyConfigModel(Model): """, ), ] = "beaker_cache" + mulled_resolution_cache_schema_name: Annotated[ str, Field( @@ -1136,6 +2159,7 @@ class GalaxyConfigModel(Model): """, ), ] + object_store_config_file: Annotated[ str, Field( @@ -1145,8 +2169,9 @@ class GalaxyConfigModel(Model): """, ), ] = "object_store_conf.xml" + object_store_cache_monitor_driver: Annotated[ - str, + Literal["auto", "external", "celery", "inprocess"], Field( title="Object Store Cache Monitor Driver", description="""Specify where cache monitoring is driven for caching object stores @@ -1163,6 +2188,7 @@ class GalaxyConfigModel(Model): """, ), ] = "auto" + object_store_cache_monitor_interval: Annotated[ int, Field( @@ -1175,6 +2201,7 @@ class GalaxyConfigModel(Model): """, ), ] = 600 + object_store_cache_path: Annotated[ str, Field( @@ -1184,6 +2211,7 @@ class GalaxyConfigModel(Model): """, ), ] = "object_store_cache" + object_store_cache_size: Annotated[ int, Field( @@ -1193,6 +2221,7 @@ class GalaxyConfigModel(Model): """, ), ] = -1 + object_store_store_by: Annotated[ str, Field( @@ -1206,6 +2235,7 @@ class GalaxyConfigModel(Model): """, ), ] + smtp_server: Annotated[ str, Field( @@ -1218,6 +2248,7 @@ class GalaxyConfigModel(Model): """, ), ] + smtp_username: Annotated[ str, Field( @@ -1228,6 +2259,7 @@ class GalaxyConfigModel(Model): """, ), ] + smtp_password: Annotated[ str, Field( @@ -1238,26 +2270,15 @@ class GalaxyConfigModel(Model): """, ), ] + smtp_ssl: Annotated[ bool, Field( title="Smtp Ssl", - description="""If your SMTP server requires SSL from the beginning of the connection -""", + description="""If your SMTP server requires SSL from the beginning of the connection""", ), ] = False - mailing_join_addr: Annotated[ - str, - Field( - title="Mailing Join Addr", - description="""On the user registration form, users may choose to join a mailing list. This -is the address used to subscribe to the list. Uncomment and leave empty if you -want to remove this option from the user registration form. -Example value 'galaxy-announce-join@lists.galaxyproject.org' -""", - ), - ] mailing_join_subject: Annotated[ str, Field( @@ -1267,6 +2288,7 @@ class GalaxyConfigModel(Model): """, ), ] = "Join Mailing List" + mailing_join_body: Annotated[ str, Field( @@ -1276,29 +2298,32 @@ class GalaxyConfigModel(Model): """, ), ] = "Join Mailing List" + error_email_to: Annotated[ str, Field( title="Error Email To", - description="""Datasets in an error state include a link to report the error. Those reports -will be sent to this address. Error reports are disabled if no address is -set. Also this email is shown as a contact to user in case of Galaxy + description="""Datasets in an error state include a link to report the error. Those reports +will be sent to this address. Error reports are disabled if no address is +set. Also this email is shown as a contact to user in case of Galaxy misconfiguration and other events user may encounter. """, ), ] + email_from: Annotated[ str, Field( title="Email From", description="""Email address to use in the 'From' field when sending emails for account activations, workflow step notifications, password resets, and -tool error reports. We recommend using a string in the following format: +tool error reports. We recommend using a string in the following format: Galaxy Project . If not configured, '' will be used. """, ), ] + custom_activation_email_message: Annotated[ str, Field( @@ -1308,32 +2333,31 @@ class GalaxyConfigModel(Model): """, ), ] + instance_resource_url: Annotated[ str, Field( title="Instance Resource Url", - description="""URL of the support resource for the galaxy instance. Used in activation -emails. - -Example value 'https://galaxyproject.org/' -""", + description="""URL of the support resource for the galaxy instance. Used in activation emails.""", + example="https://galaxyproject.org/", ), ] + email_domain_blocklist_file: Annotated[ str, Field( title="Email Domain Blocklist File", description="""E-mail domains blocklist is used for filtering out users that are using -disposable email addresses at registration. If their address's base domain +disposable email addresses at registration. If their address's base domain matches any domain on the list, they are refused registration. Address subdomains are ignored (both 'name@spam.com' and 'name@foo.spam.com' will match 'spam.com'). -Example value 'email_blocklist.conf' - The value of this option will be resolved with respect to . """, + example="email_blocklist.conf", ), ] + email_domain_allowlist_file: Annotated[ str, Field( @@ -1347,52 +2371,35 @@ class GalaxyConfigModel(Model): therefore, in case is set and is not empty, will be ignored. -Example value 'email_allowlist.conf' - The value of this option will be resolved with respect to . """, + example="email_allowlist.conf", ), ] - registration_warning_message: Annotated[ - str, - Field( - title="Registration Warning Message", - description="""Registration warning message is used to discourage people from registering -multiple accounts. Applies mostly for the main Galaxy instance. -If no message specified the warning box will not be shown. -""", - ), - ] = "Please register only one account - we provide this service free of charge and have limited computational resources. Multi-accounts are tracked and will be subjected to account termination and data deletion." + user_activation_on: Annotated[ bool, Field( title="User Activation On", - description="""User account activation feature global flag. If set to false, the rest of + description="""User account activation feature global flag. If set to false, the rest of the Account activation configuration is ignored and user activation is disabled (i.e. accounts are active since registration). The activation is also not working in case the SMTP server is not defined. """, ), ] = False + activation_grace_period: Annotated[ int, Field( title="Activation Grace Period", - description="""Activation grace period (in hours). Activation is not forced (login is not -disabled) until grace period has passed. Users under grace period can't run + description="""Activation grace period (in hours). Activation is not forced (login is not +disabled) until grace period has passed. Users under grace period can't run jobs. Enter 0 to disable grace period. """, ), ] = 3 - inactivity_box_content: Annotated[ - str, - Field( - title="Inactivity Box Content", - description="""Shown in warning box to users that were not activated yet. -In use only if activation_grace_period is set. -""", - ), - ] = "Your account has not been activated yet. Feel free to browse around and see what's available, but you won't be able to upload data or run jobs until you have verified your email address." + password_expiration_period: Annotated[ int, Field( @@ -1404,15 +2411,7 @@ class GalaxyConfigModel(Model): """, ), ] = 0 - enable_account_interface: Annotated[ - bool, - Field( - title="Enable Account Interface", - description="""Allow users to manage their account data, change passwords or delete their -accounts. -""", - ), - ] = True + session_duration: Annotated[ int, Field( @@ -1423,64 +2422,20 @@ class GalaxyConfigModel(Model): """, ), ] = 0 - ga_code: Annotated[ - str, - Field( - title="Ga Code", - description="""You can enter tracking code here to track visitor's behavior -through your Google Analytics account. Example: UA-XXXXXXXX-Y -""", - ), - ] - plausible_server: Annotated[ - str, - Field( - title="Plausible Server", - description="""Please enter the URL for the Plausible server (including https) so this can be used for tracking -with Plausible (https://plausible.io/). -""", - ), - ] - plausible_domain: Annotated[ - str, - Field( - title="Plausible Domain", - description="""Please enter the URL for the Galaxy server so this can be used for tracking -with Plausible (https://plausible.io/). -""", - ), - ] - matomo_server: Annotated[ - str, - Field( - title="Matomo Server", - description="""Please enter the URL for the Matomo server (including https) so this can be used for tracking -with Matomo (https://matomo.org/). -""", - ), - ] - matomo_site_id: Annotated[ - str, - Field( - title="Matomo Site Id", - description="""Please enter the site ID for the Matomo server so this can be used for tracking -with Matomo (https://matomo.org/). -""", - ), - ] + display_servers: Annotated[ str, Field( title="Display Servers", - description="""Galaxy can display data at various external browsers. These options specify -which browsers should be available. URLs and builds available at these + description="""Galaxy can display data at various external browsers. These options specify +which browsers should be available. URLs and builds available at these browsers are defined in the specified files. If use_remote_user is set to true, display application servers will be denied access to Galaxy and so displaying datasets in these sites will fail. display_servers contains a list of hostnames which should be allowed to -bypass security to display datasets. Please be aware that there are security -implications if this is allowed. More details (including required changes to +bypass security to display datasets. Please be aware that there are security +implications if this is allowed. More details (including required changes to the proxy server config) are available in the Apache proxy documentation on the Galaxy Community Hub. @@ -1491,6 +2446,7 @@ class GalaxyConfigModel(Model): """, ), ] = "hgw1.cse.ucsc.edu,hgw2.cse.ucsc.edu,hgw3.cse.ucsc.edu,hgw4.cse.ucsc.edu,hgw5.cse.ucsc.edu,hgw6.cse.ucsc.edu,hgw7.cse.ucsc.edu,hgw8.cse.ucsc.edu,lowepub.cse.ucsc.edu" + enable_old_display_applications: Annotated[ bool, Field( @@ -1507,60 +2463,7 @@ class GalaxyConfigModel(Model): """, ), ] = True - aws_estimate: Annotated[ - bool, - Field( - title="Aws Estimate", - description="""This flag enables an AWS cost estimate for every job based on their runtime matrices. -CPU, RAM and runtime usage is mapped against AWS pricing table. -Please note, that those numbers are only estimates. -""", - ), - ] = False - carbon_emission_estimates: Annotated[ - bool, - Field( - title="Carbon Emission Estimates", - description="""This flag enables carbon emissions estimates for every job based on its runtime metrics. -CPU and RAM usage and the total job runtime are used to determine an estimate value. -These estimates and are based off of the work of the Green Algorithms Project and -the United States Environmental Protection Agency (EPA). -Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. -for more detals. -""", - ), - ] = True - geographical_server_location_code: Annotated[ - str, - Field( - title="Geographical Server Location Code", - description="""The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. -This is used to make carbon emissions estimates more accurate as the location effects the -carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the -`geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, -visit https://galaxyproject.org/admin/carbon_emissions -""", - ), - ] = "GLOBAL" - power_usage_effectiveness: Annotated[ - float, - Field( - title="Power Usage Effectiveness", - description="""The estimated power usage effectiveness of the data centre housing the server your galaxy -instance is running on. This can make carbon emissions estimates more accurate. -For more information on how to calculate a PUE value, visit -https://en.wikipedia.org/wiki/Power_usage_effectiveness -""", - ), - ] = 1.67 - interactivetools_enable: Annotated[ - bool, - Field( - title="Interactivetools Enable", - description="""Enable InteractiveTools. -""", - ), - ] = False + interactivetools_upstream_proxy: Annotated[ bool, Field( @@ -1568,6 +2471,7 @@ class GalaxyConfigModel(Model): description="""Set this to false to redirect users of Interactive tools directly to the Interactive tools proxy. `interactivetools_upstream_proxy` should only be set to false in development.""", ), ] = True + interactivetools_proxy_host: Annotated[ str, Field( @@ -1577,30 +2481,31 @@ class GalaxyConfigModel(Model): """, ), ] + interactivetools_base_path: Annotated[ str, Field( title="Interactivetools Base Path", - description="""Base path for interactive tools running at a subpath without a subdomain. Defaults to "/". -""", + description="""Base path for interactive tools running at a subpath without a subdomain. Defaults to "/".""", ), ] = "/" + interactivetools_map: Annotated[ str, Field( title="Interactivetools Map", - description="""Map for interactivetool proxy. -""", + description="""Map for interactivetool proxy.""", ), ] = "interactivetools_map.sqlite" + interactivetools_prefix: Annotated[ str, Field( title="Interactivetools Prefix", - description="""Prefix to use in the formation of the subdomain or path for interactive tools -""", + description="""Prefix to use in the formation of the subdomain or path for interactive tools""", ), ] = "interactivetool" + interactivetools_shorten_url: Annotated[ bool, Field( @@ -1611,6 +2516,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + retry_interactivetool_metadata_internally: Annotated[ bool, Field( @@ -1623,47 +2529,7 @@ class GalaxyConfigModel(Model): """, ), ] = True - visualizations_visible: Annotated[ - bool, - Field( - title="Visualizations Visible", - description="""Show visualization tab and list in masthead. -""", - ), - ] = True - message_box_visible: Annotated[ - bool, - Field( - title="Message Box Visible", - description="""Show a message box under the masthead. -""", - ), - ] = False - message_box_content: Annotated[ - str, - Field( - title="Message Box Content", - description="""Show a message box under the masthead. -""", - ), - ] - message_box_class: Annotated[ - str, - Field( - title="Message Box Class", - description="""Class of the message box under the masthead. Possible values are: -'info' (the default), 'warning', 'error', 'done'. -""", - ), - ] = "info" - brand: Annotated[ - str, - Field( - title="Brand", - description="""Append "{brand}" text to the masthead. -""", - ), - ] + display_galaxy_brand: Annotated[ bool, Field( @@ -1673,6 +2539,7 @@ class GalaxyConfigModel(Model): """, ), ] = True + pretty_datetime_format: Annotated[ str, Field( @@ -1680,13 +2547,14 @@ class GalaxyConfigModel(Model): description="""Format string used when showing date and time information. The string may contain: - the directives used by Python time.strftime() function (see - https://docs.python.org/library/time.html#time.strftime), + https://docs.python.org/library/time.html#time.strftime), - $locale (complete format string for the server locale), - $iso8601 (complete format string as specified by ISO 8601 international - standard). + standard). """, ), ] = "$locale (UTC)" + trs_servers_config_file: Annotated[ str, Field( @@ -1701,27 +2569,15 @@ class GalaxyConfigModel(Model): """, ), ] = "trs_servers_conf.yml" + user_preferences_extra_conf_path: Annotated[ str, Field( title="User Preferences Extra Conf Path", - description="""Location of the configuration file containing extra user preferences. -""", + description="""Location of the configuration file containing extra user preferences.""", ), ] = "user_preferences_extra_conf.yml" - default_locale: Annotated[ - str, - Field( - title="Default Locale", - description="""Default localization for Galaxy UI. -Allowed values are listed at the end of client/src/nls/locale.js. -With the default value (auto), the locale will be automatically adjusted to -the user's navigator language. -Users can override this settings in their user preferences if the localization -settings are enabled in user_preferences_extra_conf.yml -""", - ), - ] = "auto" + galaxy_url_prefix: Annotated[ str, Field( @@ -1731,6 +2587,7 @@ class GalaxyConfigModel(Model): """, ), ] = "/" + galaxy_infrastructure_url: Annotated[ str, Field( @@ -1745,13 +2602,14 @@ class GalaxyConfigModel(Model): """, ), ] = "http://localhost:8080" + galaxy_infrastructure_web_port: Annotated[ int, Field( title="Galaxy Infrastructure Web Port", description="""If the above URL cannot be determined ahead of time in dynamic environments but the port which should be used to access Galaxy can be - this should be -set to prevent Galaxy from having to guess. For example if Galaxy is sitting +set to prevent Galaxy from having to guess. For example if Galaxy is sitting behind a proxy with REMOTE_USER enabled - infrastructure shouldn't talk to Python processes directly and this should be set to 80 or 443, etc... If unset this file will be read for a server block defining a port corresponding @@ -1759,144 +2617,50 @@ class GalaxyConfigModel(Model): """, ), ] = 8080 - welcome_url: Annotated[ - str, - Field( - title="Welcome Url", - description="""The URL of the page to display in Galaxy's middle pane when loaded. This can -be an absolute or relative URL. -""", - ), - ] = "/static/welcome.html" - logo_url: Annotated[ - str, - Field( - title="Logo Url", - description="""The URL linked by the "Galaxy/brand" text. -""", - ), - ] = "/" - logo_src: Annotated[ - str, - Field( - title="Logo Src", - description="""The brand image source. -""", - ), - ] = "/static/favicon.svg" - logo_src_secondary: Annotated[ - str, - Field( - title="Logo Src Secondary", - description="""The custom brand image source. -""", - ), - ] - helpsite_url: Annotated[ - str, - Field( - title="Helpsite Url", - description="""The URL linked by the "Galaxy Help" link in the "Help" menu. -""", - ), - ] = "https://help.galaxyproject.org/" - wiki_url: Annotated[ - str, - Field( - title="Wiki Url", - description="""The URL linked by the "Community Hub" link in the "Help" menu. -""", - ), - ] = "https://galaxyproject.org/" - quota_url: Annotated[ - str, - Field( - title="Quota Url", - description="""The URL linked for quota information in the UI. -""", - ), - ] = "https://galaxyproject.org/support/account-quotas/" - support_url: Annotated[ - str, - Field( - title="Support Url", - description="""The URL linked by the "Support" link in the "Help" menu. -""", - ), - ] = "https://galaxyproject.org/support/" - citation_url: Annotated[ - str, - Field( - title="Citation Url", - description="""The URL linked by the "How to Cite Galaxy" link in the "Help" menu. -""", - ), - ] = "https://galaxyproject.org/citing-galaxy" - release_doc_base_url: Annotated[ - str, - Field( - title="Release Doc Base Url", - description="""The URL linked by the "Galaxy Version" link in the "Help" menu. -""", - ), - ] = "https://docs.galaxyproject.org/en/release_" - screencasts_url: Annotated[ - str, - Field( - title="Screencasts Url", - description="""The URL linked by the "Videos" link in the "Help" menu. -""", - ), - ] = "https://www.youtube.com/c/galaxyproject" - terms_url: Annotated[ - str, - Field( - title="Terms Url", - description="""The URL linked by the "Terms and Conditions" link in the "Help" menu, as well -as on the user registration and login forms and in the activation emails. -""", - ), - ] + static_enabled: Annotated[ bool, Field( title="Static Enabled", description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, ), ] = True + static_cache_time: Annotated[ int, Field( title="Static Cache Time", description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, ), ] = 360 + static_dir: Annotated[ str, Field( title="Static Dir", description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, ), ] = "static/" + static_images_dir: Annotated[ str, Field( title="Static Images Dir", description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, ), @@ -1906,45 +2670,49 @@ class GalaxyConfigModel(Model): Field( title="Static Favicon Dir", description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, ), ] = "static/favicon.ico" + static_scripts_dir: Annotated[ str, Field( title="Static Scripts Dir", description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, ), ] = "static/scripts/" + static_style_dir: Annotated[ str, Field( title="Static Style Dir", description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, ), ] = "static/style" + static_robots_txt: Annotated[ str, Field( title="Static Robots Txt", description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy +proxy server. These options should be self explanatory and so are not +documented individually. You can use these paths (or ones in the proxy server) to point to your own styles. """, ), ] = "static/robots.txt" + display_chunk_size: Annotated[ int, Field( @@ -1953,6 +2721,7 @@ class GalaxyConfigModel(Model): """, ), ] = 65536 + apache_xsendfile: Annotated[ bool, Field( @@ -1960,21 +2729,23 @@ class GalaxyConfigModel(Model): description="""For help on configuring the Advanced proxy features, see: https://docs.galaxyproject.org/en/master/admin/production.html -Apache can handle file downloads (Galaxy-to-user) via mod_xsendfile. Set +Apache can handle file downloads (Galaxy-to-user) via mod_xsendfile. Set this to true to inform Galaxy that mod_xsendfile is enabled upstream. """, ), ] = False + nginx_x_accel_redirect_base: Annotated[ str, Field( title="Nginx X Accel Redirect Base", - description="""The same download handling can be done by nginx using X-Accel-Redirect. This + description="""The same download handling can be done by nginx using X-Accel-Redirect. This should be set to the path defined in the nginx config as an internal redirect with access to Galaxy's data files (see documentation linked above). """, ), ] + upstream_gzip: Annotated[ bool, Field( @@ -1986,6 +2757,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + upstream_mod_zip: Annotated[ bool, Field( @@ -1999,6 +2771,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + x_frame_options: Annotated[ str, Field( @@ -2007,56 +2780,50 @@ class GalaxyConfigModel(Model): will cause modern web browsers to not allow Galaxy to be embedded in the frames of web applications hosted at other hosts - this can help prevent a class of attack called clickjacking -(https://www.owasp.org/index.php/Clickjacking). If you configure a +(https://www.owasp.org/index.php/Clickjacking). If you configure a proxy in front of Galaxy - please ensure this header remains intact -to protect your users. Uncomment and leave empty to not set the +to protect your users. Uncomment and leave empty to not set the `X-Frame-Options` header. """, ), ] = "SAMEORIGIN" + nginx_upload_store: Annotated[ str, Field( title="Nginx Upload Store", description="""nginx can also handle file uploads (user-to-Galaxy) via nginx_upload_module. Configuration for this is complex and explained in detail in the -documentation linked above. The upload store is a temporary directory in +documentation linked above. The upload store is a temporary directory in which files uploaded by the upload module will be placed. """, ), ] - nginx_upload_path: Annotated[ - str, - Field( - title="Nginx Upload Path", - description="""This value overrides the action set on the file upload form, e.g. the web -path where the nginx_upload_module has been configured to intercept upload -requests. -""", - ), - ] + nginx_upload_job_files_store: Annotated[ str, Field( title="Nginx Upload Job Files Store", description="""Galaxy can also use nginx_upload_module to receive files staged out upon job completion by remote job runners (i.e. Pulsar) that initiate staging -operations on the remote end. See the Galaxy nginx documentation for the +operations on the remote end. See the Galaxy nginx documentation for the corresponding nginx configuration. """, ), ] + nginx_upload_job_files_path: Annotated[ str, Field( title="Nginx Upload Job Files Path", description="""Galaxy can also use nginx_upload_module to receive files staged out upon job completion by remote job runners (i.e. Pulsar) that initiate staging -operations on the remote end. See the Galaxy nginx documentation for the +operations on the remote end. See the Galaxy nginx documentation for the corresponding nginx configuration. """, ), ] + tus_upload_store: Annotated[ str, Field( @@ -2067,31 +2834,23 @@ class GalaxyConfigModel(Model): """, ), ] - chunk_upload_size: Annotated[ - int, - Field( - title="Chunk Upload Size", - description="""Galaxy can upload user files in chunks without using nginx. Enable the chunk -uploader by specifying a chunk size larger than 0. The chunk size is specified -in bytes (default: 10MB). -""", - ), - ] = 10485760 + dynamic_proxy_manage: Annotated[ bool, Field( title="Dynamic Proxy Manage", description="""Have Galaxy manage dynamic proxy component for routing requests to other -services based on Galaxy's session cookie. It will attempt to do this by +services based on Galaxy's session cookie. It will attempt to do this by default though you do need to install node+npm and do an npm install from -`lib/galaxy/web/proxy/js`. It is generally more robust to configure this -externally, managing it in the same way Galaxy itself is managed. If true, Galaxy will only +`lib/galaxy/web/proxy/js`. It is generally more robust to configure this +externally, managing it in the same way Galaxy itself is managed. If true, Galaxy will only launch the proxy if it is actually going to be used (e.g. for Jupyter). """, ), ] = True + dynamic_proxy: Annotated[ - str, + Literal["node", "golang"], Field( title="Dynamic Proxy", description="""As of 16.04 Galaxy supports multiple proxy types. The original NodeJS @@ -2100,6 +2859,7 @@ class GalaxyConfigModel(Model): """, ), ] = "node" + dynamic_proxy_session_map: Annotated[ str, Field( @@ -2109,6 +2869,7 @@ class GalaxyConfigModel(Model): """, ), ] = "session_map.sqlite" + dynamic_proxy_bind_port: Annotated[ int, Field( @@ -2118,6 +2879,7 @@ class GalaxyConfigModel(Model): """, ), ] = 8800 + dynamic_proxy_bind_ip: Annotated[ str, Field( @@ -2127,14 +2889,15 @@ class GalaxyConfigModel(Model): """, ), ] = "0.0.0.0" + dynamic_proxy_debug: Annotated[ bool, Field( title="Dynamic Proxy Debug", - description="""Enable verbose debugging of Galaxy-managed dynamic proxy. -""", + description="""Enable verbose debugging of Galaxy-managed dynamic proxy.""", ), ] = False + dynamic_proxy_external_proxy: Annotated[ bool, Field( @@ -2144,6 +2907,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + dynamic_proxy_prefix: Annotated[ str, Field( @@ -2155,6 +2919,7 @@ class GalaxyConfigModel(Model): """, ), ] = "gie_proxy" + dynamic_proxy_golang_noaccess: Annotated[ int, Field( @@ -2165,6 +2930,7 @@ class GalaxyConfigModel(Model): """, ), ] = 60 + dynamic_proxy_golang_clean_interval: Annotated[ int, Field( @@ -2175,6 +2941,7 @@ class GalaxyConfigModel(Model): """, ), ] = 10 + dynamic_proxy_golang_docker_address: Annotated[ str, Field( @@ -2184,6 +2951,7 @@ class GalaxyConfigModel(Model): """, ), ] = "unix:///var/run/docker.sock" + dynamic_proxy_golang_api_key: Annotated[ str, Field( @@ -2195,6 +2963,7 @@ class GalaxyConfigModel(Model): """, ), ] + auto_configure_logging: Annotated[ bool, Field( @@ -2204,6 +2973,7 @@ class GalaxyConfigModel(Model): """, ), ] = True + log_destination: Annotated[ str, Field( @@ -2214,6 +2984,7 @@ class GalaxyConfigModel(Model): """, ), ] = "stdout" + log_rotate_size: Annotated[ str, Field( @@ -2225,6 +2996,7 @@ class GalaxyConfigModel(Model): """, ), ] = "0" + log_rotate_count: Annotated[ int, Field( @@ -2236,6 +3008,7 @@ class GalaxyConfigModel(Model): """, ), ] = 0 + log_level: Annotated[ str, Field( @@ -2246,6 +3019,7 @@ class GalaxyConfigModel(Model): """, ), ] = "DEBUG" + logging: Annotated[ Dict[str, Any], Field( @@ -2256,101 +3030,109 @@ class GalaxyConfigModel(Model): """, ), ] + database_engine_option_echo: Annotated[ bool, Field( title="Database Engine Option Echo", - description="""Print database operations to the server log (warning, quite verbose!). -""", + description="""Print database operations to the server log (warning, quite verbose!).""", ), ] = False + database_engine_option_echo_pool: Annotated[ bool, Field( title="Database Engine Option Echo Pool", - description="""Print database pool operations to the server log (warning, quite verbose!). -""", + description="""Print database pool operations to the server log (warning, quite verbose!).""", ), ] = False + log_events: Annotated[ bool, Field( title="Log Events", - description="""Turn on logging of application events and some user events to the database. -""", + description="""Turn on logging of application events and some user events to the database.""", ), ] = False + log_actions: Annotated[ bool, Field( title="Log Actions", - description="""Turn on logging of user actions to the database. Actions currently logged -are grid views, tool searches, and use of "recently" used tools menu. The + description="""Turn on logging of user actions to the database. Actions currently logged +are grid views, tool searches, and use of "recently" used tools menu. The log_events and log_actions functionality will eventually be merged. """, ), ] = False + fluent_log: Annotated[ bool, Field( title="Fluent Log", - description="""Fluentd configuration. Various events can be logged to the fluentd instance + description="""Fluentd configuration. Various events can be logged to the fluentd instance configured below by enabling fluent_log. """, ), ] = False + fluent_host: Annotated[ str, Field( title="Fluent Host", - description="""Fluentd configuration. Various events can be logged to the fluentd instance + description="""Fluentd configuration. Various events can be logged to the fluentd instance configured below by enabling fluent_log. """, ), ] = "localhost" + fluent_port: Annotated[ int, Field( title="Fluent Port", - description="""Fluentd configuration. Various events can be logged to the fluentd instance + description="""Fluentd configuration. Various events can be logged to the fluentd instance configured below by enabling fluent_log. """, ), ] = 24224 + sanitize_all_html: Annotated[ bool, Field( title="Sanitize All Html", - description="""Sanitize all HTML tool output. By default, all tool output served as -'text/html' will be sanitized thoroughly. This can be disabled if you have -special tools that require unaltered output. WARNING: disabling this does + description="""Sanitize all HTML tool output. By default, all tool output served as +'text/html' will be sanitized thoroughly. This can be disabled if you have +special tools that require unaltered output. WARNING: disabling this does make the Galaxy instance susceptible to XSS attacks initiated by your users. """, ), ] = True + sanitize_allowlist_file: Annotated[ str, Field( title="Sanitize Allowlist File", description="""Datasets created by tools listed in this file are trusted and will not have -their HTML sanitized on display. This can be manually edited or manipulated +their HTML sanitized on display. This can be manually edited or manipulated through the Admin control panel -- see "Manage Allowlist" The value of this option will be resolved with respect to . """, ), ] = "sanitize_allowlist.txt" + serve_xss_vulnerable_mimetypes: Annotated[ bool, Field( title="Serve Xss Vulnerable Mimetypes", description="""By default Galaxy will serve non-HTML tool output that may potentially -contain browser executable JavaScript content as plain text. This will for +contain browser executable JavaScript content as plain text. This will for instance cause SVG datasets to not render properly and so may be disabled by setting this option to true. """, ), ] = False + allowed_origin_hostnames: Annotated[ str, Field( @@ -2364,53 +3146,56 @@ class GalaxyConfigModel(Model): """, ), ] + trust_jupyter_notebook_conversion: Annotated[ bool, Field( title="Trust Jupyter Notebook Conversion", description="""Set to true to use Jupyter nbconvert to build HTML from Jupyter -notebooks in Galaxy histories. This process may allow users to execute -arbitrary code or serve arbitrary HTML. If enabled, Jupyter must be +notebooks in Galaxy histories. This process may allow users to execute +arbitrary code or serve arbitrary HTML. If enabled, Jupyter must be available and on Galaxy's PATH, to do this run `pip install jinja2 pygments jupyter` in Galaxy's virtualenv. """, ), ] = False + debug: Annotated[ bool, Field( title="Debug", description="""Debug enables access to various config options useful for development -and debugging: use_lint, use_profile, and use_printdebug. It also +and debugging: use_lint, use_profile, and use_printdebug. It also causes the files used by PBS/SGE (submission script, output, and error) to remain on disk after the job is complete. """, ), ] = False + use_lint: Annotated[ bool, Field( title="Use Lint", - description="""Check for WSGI compliance. -""", + description="""Check for WSGI compliance.""", ), ] = False + use_profile: Annotated[ bool, Field( title="Use Profile", - description="""Run the Python profiler on each request. -""", + description="""Run the Python profiler on each request.""", ), ] = False + use_printdebug: Annotated[ bool, Field( title="Use Printdebug", - description="""Intercept print statements and show them on the returned page. -""", + description="""Intercept print statements and show them on the returned page.""", ), ] = True + monitor_thread_join_timeout: Annotated[ int, Field( @@ -2425,16 +3210,18 @@ class GalaxyConfigModel(Model): """, ), ] = 30 + use_heartbeat: Annotated[ bool, Field( title="Use Heartbeat", - description="""Write thread status periodically to 'heartbeat.log', (careful, uses disk -space rapidly!). Useful to determine why your processes may be consuming a + description="""Write thread status periodically to 'heartbeat.log', (careful, uses disk +space rapidly!). Useful to determine why your processes may be consuming a lot of CPU. """, ), ] = False + heartbeat_interval: Annotated[ int, Field( @@ -2445,26 +3232,28 @@ class GalaxyConfigModel(Model): """, ), ] = 20 + heartbeat_log: Annotated[ str, Field( title="Heartbeat Log", - description="""Heartbeat log filename. Can accept the template variables {server_name} and {pid} -""", + description="""Heartbeat log filename. Can accept the template variables {server_name} and {pid}""", ), ] = "heartbeat_{server_name}.log" + sentry_dsn: Annotated[ str, Field( title="Sentry Dsn", description="""Log to Sentry -Sentry is an open source logging and error aggregation platform. Setting +Sentry is an open source logging and error aggregation platform. Setting sentry_dsn will enable the Sentry middleware and errors will be sent to the -indicated sentry instance. This connection string is available in your +indicated sentry instance. This connection string is available in your sentry instance under -> Settings -> API Keys. """, ), ] + sentry_event_level: Annotated[ str, Field( @@ -2474,6 +3263,7 @@ class GalaxyConfigModel(Model): """, ), ] = "ERROR" + sentry_traces_sample_rate: Annotated[ float, Field( @@ -2484,6 +3274,7 @@ class GalaxyConfigModel(Model): """, ), ] = 0.0 + sentry_ca_certs: Annotated[ str, Field( @@ -2493,6 +3284,7 @@ class GalaxyConfigModel(Model): """, ), ] + statsd_host: Annotated[ str, Field( @@ -2500,12 +3292,13 @@ class GalaxyConfigModel(Model): description="""Log to statsd Statsd is an external statistics aggregator (https://github.com/etsy/statsd) Enabling the following options will cause galaxy to log request timing and -other statistics to the configured statsd instance. The statsd_prefix is +other statistics to the configured statsd instance. The statsd_prefix is useful if you are running multiple Galaxy instances and want to segment statistics between them within the same aggregator. """, ), ] + statsd_port: Annotated[ int, Field( @@ -2513,12 +3306,13 @@ class GalaxyConfigModel(Model): description="""Log to statsd Statsd is an external statistics aggregator (https://github.com/etsy/statsd) Enabling the following options will cause galaxy to log request timing and -other statistics to the configured statsd instance. The statsd_prefix is +other statistics to the configured statsd instance. The statsd_prefix is useful if you are running multiple Galaxy instances and want to segment statistics between them within the same aggregator. """, ), ] = 8125 + statsd_prefix: Annotated[ str, Field( @@ -2526,12 +3320,13 @@ class GalaxyConfigModel(Model): description="""Log to statsd Statsd is an external statistics aggregator (https://github.com/etsy/statsd) Enabling the following options will cause galaxy to log request timing and -other statistics to the configured statsd instance. The statsd_prefix is +other statistics to the configured statsd instance. The statsd_prefix is useful if you are running multiple Galaxy instances and want to segment statistics between them within the same aggregator. """, ), ] = "galaxy" + statsd_influxdb: Annotated[ bool, Field( @@ -2539,40 +3334,21 @@ class GalaxyConfigModel(Model): description="""If you are using telegraf to collect these metrics and then sending them to InfluxDB, Galaxy can provide more nicely tagged metrics. Instead of sending prefix + dot-separated-path, Galaxy will send -prefix with a tag path set to the page url -""", - ), - ] = False - statsd_mock_calls: Annotated[ - bool, - Field( - title="Statsd Mock Calls", - description="""Mock out statsd client calls - only used by testing infrastructure really. -Do not set this in production environments. -""", - ), - ] = False - library_import_dir: Annotated[ - str, - Field( - title="Library Import Dir", - description="""Add an option to the library upload form which allows administrators to -upload a directory of files. +prefix with a tag path set to the page url """, ), - ] - user_library_import_dir: Annotated[ - str, + ] = False + + statsd_mock_calls: Annotated[ + bool, Field( - title="User Library Import Dir", - description="""Add an option to the library upload form which allows authorized -non-administrators to upload a directory of files. The configured directory -must contain sub-directories named the same as the non-admin user's Galaxy -login ( email ). The non-admin user is restricted to uploading files or -sub-directories of files contained in their directory. + title="Statsd Mock Calls", + description="""Mock out statsd client calls - only used by testing infrastructure really. +Do not set this in production environments. """, ), - ] + ] = False + user_library_import_dir_auto_creation: Annotated[ bool, Field( @@ -2582,6 +3358,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + user_library_import_symlink_allowlist: Annotated[ str, Field( @@ -2595,6 +3372,7 @@ class GalaxyConfigModel(Model): """, ), ] + user_library_import_check_permissions: Annotated[ bool, Field( @@ -2605,6 +3383,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + allow_path_paste: Annotated[ bool, Field( @@ -2612,25 +3391,27 @@ class GalaxyConfigModel(Model): description="""Allow admins to paste filesystem paths during upload. For libraries this adds an option to the admin library upload tool allowing admins to paste filesystem paths to files and directories in a box, and these paths will be -added to a library. For history uploads, this allows pasting in paths as URIs. -(i.e. prefixed with file://). Set to true to enable. Please note the security +added to a library. For history uploads, this allows pasting in paths as URIs. +(i.e. prefixed with file://). Set to true to enable. Please note the security implication that this will give Galaxy Admins access to anything your Galaxy user has access to. """, ), ] = False + disable_library_comptypes: Annotated[ str, Field( title="Disable Library Comptypes", - description="""Users may choose to download multiple files from a library in an archive. By + description="""Users may choose to download multiple files from a library in an archive. By default, Galaxy allows users to select from a few different archive formats if testing shows that Galaxy is able to create files using these formats. Specific formats can be disabled with this option, separate more than one -format with commas. Available formats are currently 'zip', 'gz', and 'bz2'. +format with commas. Available formats are currently 'zip', 'gz', and 'bz2'. """, ), ] + tool_name_boost: Annotated[ float, Field( @@ -2640,6 +3421,7 @@ class GalaxyConfigModel(Model): """, ), ] = 20.0 + tool_name_exact_multiplier: Annotated[ float, Field( @@ -2649,6 +3431,7 @@ class GalaxyConfigModel(Model): """, ), ] = 10.0 + tool_id_boost: Annotated[ float, Field( @@ -2659,6 +3442,7 @@ class GalaxyConfigModel(Model): """, ), ] = 20.0 + tool_section_boost: Annotated[ float, Field( @@ -2668,6 +3452,7 @@ class GalaxyConfigModel(Model): """, ), ] = 3.0 + tool_description_boost: Annotated[ float, Field( @@ -2677,6 +3462,7 @@ class GalaxyConfigModel(Model): """, ), ] = 8.0 + tool_label_boost: Annotated[ float, Field( @@ -2686,6 +3472,7 @@ class GalaxyConfigModel(Model): """, ), ] = 1.0 + tool_stub_boost: Annotated[ float, Field( @@ -2696,6 +3483,7 @@ class GalaxyConfigModel(Model): """, ), ] = 2.0 + tool_help_boost: Annotated[ float, Field( @@ -2705,6 +3493,7 @@ class GalaxyConfigModel(Model): """, ), ] = 1.0 + tool_help_bm25f_k1: Annotated[ float, Field( @@ -2717,6 +3506,7 @@ class GalaxyConfigModel(Model): """, ), ] = 0.5 + tool_search_limit: Annotated[ int, Field( @@ -2726,6 +3516,7 @@ class GalaxyConfigModel(Model): """, ), ] = 20 + tool_enable_ngram_search: Annotated[ bool, Field( @@ -2738,22 +3529,23 @@ class GalaxyConfigModel(Model): """, ), ] = True + tool_ngram_minsize: Annotated[ int, Field( title="Tool Ngram Minsize", - description="""Set minimum character length of ngrams -""", + description="""Set minimum character length of ngrams""", ), ] = 3 + tool_ngram_maxsize: Annotated[ int, Field( title="Tool Ngram Maxsize", - description="""Set maximum character length of ngrams -""", + description="""Set maximum character length of ngrams""", ), ] = 4 + tool_ngram_factor: Annotated[ float, Field( @@ -2763,6 +3555,7 @@ class GalaxyConfigModel(Model): """, ), ] = 0.2 + tool_test_data_directories: Annotated[ str, Field( @@ -2776,30 +3569,21 @@ class GalaxyConfigModel(Model): """, ), ] = "test-data" + id_secret: Annotated[ str, Field( title="Id Secret", description="""Galaxy encodes various internal values when these values will be output in -some format (for example, in a URL or cookie). You should set a key to be +some format (for example, in a URL or cookie). You should set a key to be used by the algorithm that encodes and decodes these values. It can be any string with a length between 5 and 56 bytes. One simple way to generate a value for this is with the shell command: - python -c 'from __future__ import print_function; import time; print(time.time())' | md5sum | cut -f 1 -d ' ' + python -c 'from __future__ import print_function; import time; print(time.time())' | md5sum | cut -f 1 -d ' ' """, ), ] = "USING THE DEFAULT IS NOT SECURE!" - use_remote_user: Annotated[ - bool, - Field( - title="Use Remote User", - description="""User authentication can be delegated to an upstream proxy server (usually -Apache). The upstream proxy should set a REMOTE_USER header in the request. -Enabling remote user disables regular logins. For more information, see: -https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html -""", - ), - ] = False + remote_user_maildomain: Annotated[ str, Field( @@ -2810,24 +3594,26 @@ class GalaxyConfigModel(Model): """, ), ] + remote_user_header: Annotated[ str, Field( title="Remote User Header", description="""If use_remote_user is enabled, the header that the upstream proxy provides the remote username in defaults to HTTP_REMOTE_USER (the ``HTTP_`` is prepended -by WSGI). This option allows you to change the header. Note, you still need +by WSGI). This option allows you to change the header. Note, you still need to prepend ``HTTP_`` to the header in this option, but your proxy server should *not* include ``HTTP_`` at the beginning of the header name. """, ), ] = "HTTP_REMOTE_USER" + remote_user_secret: Annotated[ str, Field( title="Remote User Secret", description="""If use_remote_user is enabled, anyone who can log in to the Galaxy host may -impersonate any other user by simply sending the appropriate header. Thus a +impersonate any other user by simply sending the appropriate header. Thus a secret shared between the upstream proxy server, and Galaxy is required. If anyone other than the Galaxy user is using the server, then apache/nginx should pass a value in the header 'GX_SECRET' that is identical to the one @@ -2835,23 +3621,7 @@ class GalaxyConfigModel(Model): """, ), ] = "USING THE DEFAULT IS NOT SECURE!" - remote_user_logout_href: Annotated[ - str, - Field( - title="Remote User Logout Href", - description="""If use_remote_user is enabled, you can set this to a URL that will log your -users out. -""", - ), - ] - post_user_logout_href: Annotated[ - str, - Field( - title="Post User Logout Href", - description="""This is the default url to which users are redirected after they log out. -""", - ), - ] = "/root/login?is_logout_redirect=true" + normalize_remote_user_email: Annotated[ bool, Field( @@ -2862,80 +3632,20 @@ class GalaxyConfigModel(Model): """, ), ] = False - single_user: Annotated[ - str, - Field( - title="Single User", - description="""If an e-mail address is specified here, it will hijack remote user mechanics -(``use_remote_user``) and have the webapp inject a single fixed user. This -has the effect of turning Galaxy into a single user application with no -login or external proxy required. Such applications should not be exposed to -the world. -""", - ), - ] + admin_users: Annotated[ str, Field( title="Admin Users", description="""Administrative users - set this to a comma-separated list of valid Galaxy -users (email addresses). These users will have access to the Admin section +users (email addresses). These users will have access to the Admin section of the server, and will have access to create users, groups, roles, -libraries, and more. For more information, see: - https://galaxyproject.org/admin/ +libraries, and more. For more information, see: + https://galaxyproject.org/admin/ """, ), ] - require_login: Annotated[ - bool, - Field( - title="Require Login", - description="""Force everyone to log in (disable anonymous access). -""", - ), - ] = False - show_welcome_with_login: Annotated[ - bool, - Field( - title="Show Welcome With Login", - description="""Show the site's welcome page (see welcome_url) alongside the login page -(even if require_login is true). -""", - ), - ] = False - prefer_custos_login: Annotated[ - bool, - Field( - title="Prefer Custos Login", - description="""Controls the order of the login page to prefer Custos-based login and registration. -""", - ), - ] = False - allow_user_creation: Annotated[ - bool, - Field( - title="Allow User Creation", - description="""Allow unregistered users to create new accounts (otherwise, they will have to -be created by an admin). -""", - ), - ] = True - allow_user_deletion: Annotated[ - bool, - Field( - title="Allow User Deletion", - description="""Allow administrators to delete accounts. -""", - ), - ] = False - allow_user_impersonation: Annotated[ - bool, - Field( - title="Allow User Impersonation", - description="""Allow administrators to log in as other users (useful for debugging). -""", - ), - ] = False + show_user_prepopulate_form: Annotated[ bool, Field( @@ -2945,49 +3655,28 @@ class GalaxyConfigModel(Model): """, ), ] = False - upload_from_form_button: Annotated[ - str, - Field( - title="Upload From Form Button", - description="""If 'always-on', add another button to tool form data inputs that allow uploading -data from the tool form in fewer clicks (at the expense of making the form more -complicated). This applies to workflows as well. -Avoiding making this a boolean because we may add options such as 'in-single-form-view' -or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109 -""", - ), - ] = "always-off" - allow_user_dataset_purge: Annotated[ - bool, - Field( - title="Allow User Dataset Purge", - description="""Allow users to remove their datasets from disk immediately (otherwise, -datasets will be removed after a time period specified by an administrator in -the cleanup scripts run via cron) -""", - ), - ] = True new_user_dataset_access_role_default_private: Annotated[ bool, Field( title="New User Dataset Access Role Default Private", description="""By default, users' data will be public, but setting this to true will cause -it to be private. Does not affect existing users and data, only ones created -after this option is set. Users may still change their default back to +it to be private. Does not affect existing users and data, only ones created +after this option is set. Users may still change their default back to public. """, ), ] = False + expose_user_name: Annotated[ bool, Field( title="Expose User Name", - description="""Expose user list. Setting this to true will expose the user list to -authenticated users. This makes sharing datasets in smaller galaxy instances + description="""Expose user list. Setting this to true will expose the user list to +authenticated users. This makes sharing datasets in smaller galaxy instances much easier as they can type a name/email and have the correct user show up. This makes less sense on large public Galaxy instances where that data -shouldn't be exposed. For semi-public Galaxies, it may make sense to expose +shouldn't be exposed. For semi-public Galaxies, it may make sense to expose just the username and not email, or vice versa. If enable_beta_gdpr is set to true, then this option will be @@ -2995,22 +3684,7 @@ class GalaxyConfigModel(Model): """, ), ] = False - expose_user_email: Annotated[ - bool, - Field( - title="Expose User Email", - description="""Expose user list. Setting this to true will expose the user list to -authenticated users. This makes sharing datasets in smaller galaxy instances -much easier as they can type a name/email and have the correct user show up. -This makes less sense on large public Galaxy instances where that data -shouldn't be exposed. For semi-public Galaxies, it may make sense to expose -just the username and not email, or vice versa. -If enable_beta_gdpr is set to true, then this option will be -overridden and set to false. -""", - ), - ] = False fetch_url_allowlist: Annotated[ str, Field( @@ -3025,6 +3699,7 @@ class GalaxyConfigModel(Model): """, ), ] + enable_beta_gdpr: Annotated[ bool, Field( @@ -3046,6 +3721,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + enable_beta_workflow_modules: Annotated[ bool, Field( @@ -3056,6 +3732,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + edam_panel_views: Annotated[ str, Field( @@ -3066,44 +3743,26 @@ class GalaxyConfigModel(Model): """, ), ] = "operations,topics" + edam_toolbox_ontology_path: Annotated[ str, Field( title="Edam Toolbox Ontology Path", - description="""Sets the path to EDAM ontology file - if the path doesn't exist PyPI package data will be loaded. -""", + description="""Sets the path to EDAM ontology file - if the path doesn't exist PyPI package data will be loaded.""", ), ] = "EDAM.tsv" + panel_views_dir: Annotated[ str, Field( title="Panel Views Dir", description="""Directory to check out for toolbox tool panel views. The path is relative to the -Galaxy root dir. To use an absolute path begin the path with '/'. This is a +Galaxy root dir. To use an absolute path begin the path with '/'. This is a comma-separated list. """, ), ] = "config/plugins/activities" - panel_views: Annotated[ - List[Any], - Field( - title="Panel Views", - description="""Definitions of static toolbox panel views embedded directly in the config instead of reading -YAML from directory with panel_views_dir. -""", - ), - ] - default_panel_view: Annotated[ - str, - Field( - title="Default Panel View", - description="""Default tool panel view for the current Galaxy configuration. This should refer to an id of -a panel view defined using the panel_views or panel_views_dir configuration options or an -EDAM panel view. The default panel view is simply called `default` and refers to the tool -panel state defined by the integrated tool panel. -""", - ), - ] = "default" + default_workflow_export_format: Annotated[ str, Field( @@ -3113,6 +3772,7 @@ class GalaxyConfigModel(Model): """, ), ] = "ga" + parallelize_workflow_scheduling_within_histories: Annotated[ bool, Field( @@ -3123,6 +3783,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + maximum_workflow_invocation_duration: Annotated[ int, Field( @@ -3133,6 +3794,7 @@ class GalaxyConfigModel(Model): """, ), ] = 2678400 + maximum_workflow_jobs_per_scheduling_iteration: Annotated[ int, Field( @@ -3146,6 +3808,7 @@ class GalaxyConfigModel(Model): """, ), ] = 1000 + flush_per_n_datasets: Annotated[ int, Field( @@ -3157,6 +3820,7 @@ class GalaxyConfigModel(Model): """, ), ] = 1000 + max_discovered_files: Annotated[ int, Field( @@ -3168,38 +3832,31 @@ class GalaxyConfigModel(Model): """, ), ] = 10000 + history_local_serial_workflow_scheduling: Annotated[ bool, Field( title="History Local Serial Workflow Scheduling", - description="""Force serial scheduling of workflows within the context of a particular history -""", - ), - ] = False - enable_oidc: Annotated[ - bool, - Field( - title="Enable Oidc", - description="""Enables and disables OpenID Connect (OIDC) support. -""", + description="""Force serial scheduling of workflows within the context of a particular history""", ), ] = False + oidc_config_file: Annotated[ str, Field( title="Oidc Config File", - description="""Sets the path to OIDC configuration file. -""", + description="""Sets the path to OIDC configuration file.""", ), ] = "oidc_config.xml" + oidc_backends_config_file: Annotated[ str, Field( title="Oidc Backends Config File", - description="""Sets the path to OIDC backends configuration file. -""", + description="""Sets the path to OIDC backends configuration file.""", ), ] = "oidc_backends_config.xml" + auth_config_file: Annotated[ str, Field( @@ -3210,6 +3867,7 @@ class GalaxyConfigModel(Model): """, ), ] = "auth_conf.xml" + api_allow_run_as: Annotated[ str, Field( @@ -3219,6 +3877,7 @@ class GalaxyConfigModel(Model): """, ), ] + bootstrap_admin_api_key: Annotated[ str, Field( @@ -3231,6 +3890,7 @@ class GalaxyConfigModel(Model): """, ), ] + ga4gh_service_id: Annotated[ str, Field( @@ -3250,6 +3910,7 @@ class GalaxyConfigModel(Model): """, ), ] + ga4gh_service_organization_name: Annotated[ str, Field( @@ -3263,6 +3924,7 @@ class GalaxyConfigModel(Model): """, ), ] + ga4gh_service_organization_url: Annotated[ str, Field( @@ -3276,6 +3938,7 @@ class GalaxyConfigModel(Model): """, ), ] + ga4gh_service_environment: Annotated[ str, Field( @@ -3290,78 +3953,19 @@ class GalaxyConfigModel(Model): and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml """, ), - ] - enable_tool_tags: Annotated[ - bool, - Field( - title="Enable Tool Tags", - description="""Enable tool tags (associating tools with tags). This has its own option -since its implementation has a few performance implications on startup for -large servers. -""", - ), - ] = False - enable_unique_workflow_defaults: Annotated[ - bool, - Field( - title="Enable Unique Workflow Defaults", - description="""Enable a feature when running workflows. When enabled, default datasets -are selected for "Set at Runtime" inputs from the history such that the -same input will not be selected twice, unless there are more inputs than -compatible datasets in the history. -When false, the most recently added compatible item in the history will -be used for each "Set at Runtime" input, independent of others in the workflow. -""", - ), - ] = False - simplified_workflow_run_ui: Annotated[ - str, - Field( - title="Simplified Workflow Run Ui", - description="""If set to 'off' by default, always use the traditional workflow form that renders -all steps in the GUI and serializes the tool state of all steps during -invocation. Set to 'prefer' to default to a simplified workflow UI that -only renders the inputs if possible (the workflow must have no disconnected -runtime inputs and not replacement parameters within tool steps). In the -future 'force' may be added an option for Galaskio-style servers that should -only render simplified workflows. -""", - ), - ] = "prefer" - simplified_workflow_run_ui_target_history: Annotated[ - str, - Field( - title="Simplified Workflow Run Ui Target History", - description="""When the simplified workflow run form is rendered, should the invocation outputs -be sent to the 'current' history or a 'new' history. If the user should be presented -and option between these - set this to 'prefer_current' or 'prefer_new' to display -a runtime setting with the corresponding default. The default is to provide the -user this option and default it to the current history (the traditional behavior -of Galaxy for years) - this corresponds to the setting 'prefer_current'. -""", - ), - ] = "prefer_current" - simplified_workflow_run_ui_job_cache: Annotated[ - str, - Field( - title="Simplified Workflow Run Ui Job Cache", - description="""When the simplified workflow run form is rendered, should the invocation use job -caching. This isn't a boolean so an option for 'show-selection' can be added later. -""", - ), - ] = "off" - ftp_upload_site: Annotated[ - str, + ] + + enable_tool_tags: Annotated[ + bool, Field( - title="Ftp Upload Site", - description="""Enable Galaxy's "Upload via FTP" interface. You'll need to install and -configure an FTP server (we've used ProFTPd since it can use Galaxy's -database for authentication) and set the following two options. -This will be provided to users in the help text as 'log in to the FTP -server at '. Thus, it should be the hostname of your FTP server. + title="Enable Tool Tags", + description="""Enable tool tags (associating tools with tags). This has its own option +since its implementation has a few performance implications on startup for +large servers. """, ), - ] + ] = False + ftp_upload_dir: Annotated[ str, Field( @@ -3371,6 +3975,7 @@ class GalaxyConfigModel(Model): """, ), ] + ftp_upload_dir_identifier: Annotated[ str, Field( @@ -3382,6 +3987,7 @@ class GalaxyConfigModel(Model): """, ), ] = "email" + ftp_upload_dir_template: Annotated[ str, Field( @@ -3393,6 +3999,7 @@ class GalaxyConfigModel(Model): """, ), ] + ftp_upload_purge: Annotated[ bool, Field( @@ -3402,14 +4009,7 @@ class GalaxyConfigModel(Model): """, ), ] = True - enable_quotas: Annotated[ - bool, - Field( - title="Enable Quotas", - description="""Enable enforcement of quotas. Quotas can be set from the Admin interface. -""", - ), - ] = False + expose_dataset_path: Annotated[ bool, Field( @@ -3420,26 +4020,15 @@ class GalaxyConfigModel(Model): """, ), ] = False - enable_tool_source_display: Annotated[ - bool, - Field( - title="Enable Tool Source Display", - description="""This option allows users to view the tool wrapper source code. This is -safe to enable if you have not hardcoded any secrets in any of the tool -wrappers installed on this Galaxy server. If you have only installed tool -wrappers from public tool sheds and tools shipped with Galaxy there you -can enable this option. -""", - ), - ] = False + job_metrics_config_file: Annotated[ str, Field( title="Job Metrics Config File", - description="""XML config file that contains the job metric collection configuration. -""", + description="""XML config file that contains the job metric collection configuration.""", ), ] = "job_metrics_conf.xml" + expose_potentially_sensitive_job_metrics: Annotated[ bool, Field( @@ -3449,31 +4038,31 @@ class GalaxyConfigModel(Model): """, ), ] = False + enable_legacy_sample_tracking_api: Annotated[ bool, Field( title="Enable Legacy Sample Tracking Api", - description="""Enable the API for sample tracking -""", + description="""Enable the API for sample tracking""", ), ] = False + enable_data_manager_user_view: Annotated[ bool, Field( title="Enable Data Manager User View", - description="""Allow non-admin users to view available Data Manager options. -""", + description="""Allow non-admin users to view available Data Manager options.""", ), ] = False + data_manager_config_file: Annotated[ str, Field( title="Data Manager Config File", - description="""File where Data Managers are configured (.sample used if default does not -exist). -""", + description="""File where Data Managers are configured (.sample used if default does not exist).""", ), ] = "data_manager_conf.xml" + shed_data_manager_config_file: Annotated[ str, Field( @@ -3483,6 +4072,7 @@ class GalaxyConfigModel(Model): """, ), ] = "shed_data_manager_conf.xml" + galaxy_data_manager_data_path: Annotated[ str, Field( @@ -3492,23 +4082,25 @@ class GalaxyConfigModel(Model): """, ), ] + job_config_file: Annotated[ str, Field( title="Job Config File", description="""To increase performance of job execution and the web interface, you can -separate Galaxy into multiple processes. There are more than one way to do +separate Galaxy into multiple processes. There are more than one way to do this, and they are explained in detail in the documentation: https://docs.galaxyproject.org/en/master/admin/scaling.html By default, Galaxy manages and executes jobs from within a single process and -notifies itself of new jobs via in-memory queues. Jobs are run locally on -the system on which Galaxy is started. Advanced job running capabilities can +notifies itself of new jobs via in-memory queues. Jobs are run locally on +the system on which Galaxy is started. Advanced job running capabilities can be configured through the job configuration file or the option. """, ), ] = "job_conf.yml" + job_config: Annotated[ Dict[str, Any], Field( @@ -3516,6 +4108,7 @@ class GalaxyConfigModel(Model): description="""Description of job running configuration, can be embedded into Galaxy configuration or loaded from an additional file with the job_config_file option.""", ), ] + dependency_resolvers: Annotated[ List[Any], Field( @@ -3531,6 +4124,7 @@ class GalaxyConfigModel(Model): """, ), ] + dependency_resolution: Annotated[ Dict[str, Any], Field( @@ -3542,6 +4136,7 @@ class GalaxyConfigModel(Model): """, ), ] + default_job_resubmission_condition: Annotated[ str, Field( @@ -3561,6 +4156,7 @@ class GalaxyConfigModel(Model): """, ), ] + track_jobs_in_database: Annotated[ bool, Field( @@ -3570,6 +4166,7 @@ class GalaxyConfigModel(Model): """, ), ] = True + use_tasked_jobs: Annotated[ bool, Field( @@ -3580,6 +4177,7 @@ class GalaxyConfigModel(Model): """, ), ] = False + local_task_queue_workers: Annotated[ int, Field( @@ -3590,6 +4188,7 @@ class GalaxyConfigModel(Model): """, ), ] = 2 + job_handler_monitor_sleep: Annotated[ float, Field( @@ -3602,30 +4201,33 @@ class GalaxyConfigModel(Model): """, ), ] = 1.0 + job_runner_monitor_sleep: Annotated[ float, Field( title="Job Runner Monitor Sleep", description="""Each Galaxy job handler process runs one thread per job runner plugin responsible for -checking the state of queued and running jobs. This thread operates in a loop and +checking the state of queued and running jobs. This thread operates in a loop and sleeps for the given number of seconds at the end of each iteration. This can be decreased if extremely high job throughput is necessary, but doing so can increase CPU usage of handler processes. Float values are allowed. """, ), ] = 1.0 + workflow_monitor_sleep: Annotated[ float, Field( title="Workflow Monitor Sleep", description="""Each Galaxy workflow handler process runs one thread responsible for -checking the state of active workflow invocations. This thread operates in a loop and +checking the state of active workflow invocations. This thread operates in a loop and sleeps for the given number of seconds at the end of each iteration. This can be decreased if extremely high job throughput is necessary, but doing so can increase CPU usage of handler processes. Float values are allowed. """, ), ] = 1.0 + metadata_strategy: Annotated[ str, Field( @@ -3641,30 +4243,33 @@ class GalaxyConfigModel(Model): """, ), ] = "directory" + retry_metadata_internally: Annotated[ bool, Field( title="Retry Metadata Internally", - description="""Although it is fairly reliable, setting metadata can occasionally fail. In + description="""Although it is fairly reliable, setting metadata can occasionally fail. In these instances, you can choose to retry setting it internally or leave it in a failed state (since retrying internally may cause the Galaxy process to be -unresponsive). If this option is set to false, the user will be given the +unresponsive). If this option is set to false, the user will be given the option to retry externally, or set metadata manually (when possible). """, ), ] = True + max_metadata_value_size: Annotated[ int, Field( title="Max Metadata Value Size", - description="""Very large metadata values can cause Galaxy crashes. This will allow + description="""Very large metadata values can cause Galaxy crashes. This will allow limiting the maximum metadata key size (in bytes used in memory, not the end -result database value size) Galaxy will attempt to save with a dataset. Use -0 to disable this feature. The default is 5MB, but as low as 1MB seems to be +result database value size) Galaxy will attempt to save with a dataset. Use +0 to disable this feature. The default is 5MB, but as low as 1MB seems to be a reasonable size. """, ), ] = 5242880 + outputs_to_working_directory: Annotated[ bool, Field( @@ -3679,18 +4284,20 @@ class GalaxyConfigModel(Model): """, ), ] = False + retry_job_output_collection: Annotated[ int, Field( title="Retry Job Output Collection", description="""If your network filesystem's caching prevents the Galaxy server from seeing the job's stdout and stderr files when it completes, you can retry reading -these files. The job runner will retry the number of times specified below, -waiting 1 second between tries. For NFS, you may want to try the -noac mount +these files. The job runner will retry the number of times specified below, +waiting 1 second between tries. For NFS, you may want to try the -noac mount option (Linux) or -actimeo=0 (Solaris). """, ), ] = 0 + tool_evaluation_strategy: Annotated[ str, Field( @@ -3704,6 +4311,7 @@ class GalaxyConfigModel(Model): """, ), ] = "local" + preserve_python_environment: Annotated[ str, Field( @@ -3721,17 +4329,19 @@ class GalaxyConfigModel(Model): """, ), ] = "legacy_only" + cleanup_job: Annotated[ str, Field( title="Cleanup Job", - description="""Clean up various bits of jobs left on the filesystem after completion. These + description="""Clean up various bits of jobs left on the filesystem after completion. These bits include the job working directory, external metadata temporary files, -and DRM stdout and stderr files (if using a DRM). Possible values are: +and DRM stdout and stderr files (if using a DRM). Possible values are: always, onsuccess, never """, ), ] = "always" + drmaa_external_runjob_script: Annotated[ str, Field( @@ -3744,6 +4354,7 @@ class GalaxyConfigModel(Model): """, ), ] + drmaa_external_killjob_script: Annotated[ str, Field( @@ -3757,6 +4368,7 @@ class GalaxyConfigModel(Model): """, ), ] + external_chown_script: Annotated[ str, Field( @@ -3770,6 +4382,7 @@ class GalaxyConfigModel(Model): """, ), ] + real_system_username: Annotated[ str, Field( @@ -3787,32 +4400,24 @@ class GalaxyConfigModel(Model): """, ), ] = "user_email" + environment_setup_file: Annotated[ str, Field( title="Environment Setup File", - description="""File to source to set up the environment when running jobs. By default, the + description="""File to source to set up the environment when running jobs. By default, the environment in which the Galaxy server starts is used when running jobs locally, and the environment set up per the DRM's submission method and policy is used when running jobs on a cluster (try testing with `qsub` on the -command line). environment_setup_file can be set to the path of a file on +command line). environment_setup_file can be set to the path of a file on the cluster that should be sourced by the user to set up the environment -prior to running tools. This can be especially useful for running jobs as +prior to running tools. This can be especially useful for running jobs as the actual user, to remove the need to configure each user's environment individually. """, ), ] - enable_beta_markdown_export: Annotated[ - bool, - Field( - title="Enable Beta Markdown Export", - description="""Enable export of Galaxy Markdown documents (pages and workflow reports) -to PDF. Requires manual installation and setup of weasyprint (latest version -available for Python 2.7 is 0.42). -""", - ), - ] = False + markdown_export_css: Annotated[ str, Field( @@ -3822,6 +4427,7 @@ class GalaxyConfigModel(Model): """, ), ] = "markdown_export.css" + markdown_export_css_pages: Annotated[ str, Field( @@ -3832,6 +4438,7 @@ class GalaxyConfigModel(Model): """, ), ] = "markdown_export_pages.css" + markdown_export_css_invocation_reports: Annotated[ str, Field( @@ -3842,6 +4449,7 @@ class GalaxyConfigModel(Model): """, ), ] = "markdown_export_invocation_reports.css" + markdown_export_prologue: Annotated[ str, Field( @@ -3851,6 +4459,7 @@ class GalaxyConfigModel(Model): """, ), ] = "" + markdown_export_epilogue: Annotated[ str, Field( @@ -3860,14 +4469,15 @@ class GalaxyConfigModel(Model): """, ), ] = "" + markdown_export_prologue_pages: Annotated[ str, Field( title="Markdown Export Prologue Pages", - description="""Alternative to markdown_export_prologue that applies just to page exports. -""", + description="""Alternative to markdown_export_prologue that applies just to page exports.""", ), ] = "" + markdown_export_prologue_invocation_reports: Annotated[ str, Field( @@ -3877,23 +4487,23 @@ class GalaxyConfigModel(Model): """, ), ] = "" + markdown_export_epilogue_pages: Annotated[ str, Field( title="Markdown Export Epilogue Pages", - description="""Alternative to markdown_export_epilogue that applies just to page exports. -""", + description="""Alternative to markdown_export_epilogue that applies just to page exports.""", ), ] = "" + markdown_export_epilogue_invocation_reports: Annotated[ str, Field( title="Markdown Export Epilogue Invocation Reports", - description="""Alternative to markdown_export_epilogue that applies just to invocation report -exports. -""", + description="""Alternative to markdown_export_epilogue that applies just to invocation report exports.""", ), ] = "" + job_resource_params_file: Annotated[ str, Field( @@ -3905,6 +4515,7 @@ class GalaxyConfigModel(Model): """, ), ] = "job_resource_params_conf.xml" + workflow_resource_params_file: Annotated[ str, Field( @@ -3916,6 +4527,7 @@ class GalaxyConfigModel(Model): """, ), ] = "workflow_resource_params_conf.xml" + workflow_resource_params_mapper: Annotated[ str, Field( @@ -3932,6 +4544,7 @@ class GalaxyConfigModel(Model): """, ), ] + workflow_schedulers_config_file: Annotated[ str, Field( @@ -3941,13 +4554,14 @@ class GalaxyConfigModel(Model): """, ), ] = "workflow_schedulers_conf.xml" + cache_user_job_count: Annotated[ bool, Field( title="Cache User Job Count", description="""If using job concurrency limits (configured in job_config_file), several extra database queries must be performed to determine the number of jobs a -user has dispatched to a given destination. By default, these queries will +user has dispatched to a given destination. By default, these queries will happen for every job that is waiting to run, but if cache_user_job_count is set to true, it will only happen once per iteration of the handler queue. Although better for performance due to reduced queries, the trade-off is a @@ -3956,17 +4570,7 @@ class GalaxyConfigModel(Model): """, ), ] = False - toolbox_auto_sort: Annotated[ - bool, - Field( - title="Toolbox Auto Sort", - description="""If true, the toolbox will be sorted by tool id when the toolbox is loaded. -This is useful for ensuring that tools are always displayed in the same -order in the UI. If false, the order of tools in the toolbox will be -preserved as they are loaded from the tool config files. -""", - ), - ] = True + tool_filters: Annotated[ str, Field( @@ -3976,6 +4580,7 @@ class GalaxyConfigModel(Model): """, ), ] + tool_label_filters: Annotated[ str, Field( @@ -3985,6 +4590,7 @@ class GalaxyConfigModel(Model): """, ), ] + tool_section_filters: Annotated[ str, Field( @@ -3994,6 +4600,7 @@ class GalaxyConfigModel(Model): """, ), ] + user_tool_filters: Annotated[ str, Field( @@ -4003,6 +4610,7 @@ class GalaxyConfigModel(Model): """, ), ] = "examples:restrict_upload_to_admins, examples:restrict_encode" + user_tool_section_filters: Annotated[ str, Field( @@ -4012,6 +4620,7 @@ class GalaxyConfigModel(Model): """, ), ] = "examples:restrict_text" + user_tool_label_filters: Annotated[ str, Field( @@ -4021,6 +4630,7 @@ class GalaxyConfigModel(Model): """, ), ] = "examples:restrict_upload_to_admins, examples:restrict_encode" + toolbox_filter_base_modules: Annotated[ str, Field( @@ -4030,23 +4640,25 @@ class GalaxyConfigModel(Model): """, ), ] = "galaxy.tools.filters,galaxy.tools.toolbox.filters,galaxy.tool_util.toolbox.filters" + amqp_internal_connection: Annotated[ str, Field( title="Amqp Internal Connection", - description="""Galaxy uses AMQP internally for communicating between processes. For + description="""Galaxy uses AMQP internally for communicating between processes. For example, when reloading the toolbox or locking job execution, the process that handled that particular request will tell all others to also reload, lock jobs, etc. For connection examples, see https://docs.celeryq.dev/projects/kombu/en/stable/userguide/connections.html Without specifying anything here, galaxy will first attempt to use your -specified database_connection above. If that's not specified either, Galaxy +specified database_connection above. If that's not specified either, Galaxy will automatically create and use a separate sqlite database located in your /database folder (indicated in the commented out line below). """, ), ] = "sqlalchemy+sqlite:///./database/control.sqlite?isolation_level=IMMEDIATE" + celery_conf: Annotated[ Any, Field( @@ -4066,16 +4678,7 @@ class GalaxyConfigModel(Model): """, ), ] = {"task_routes": {"galaxy.fetch_data": "galaxy.external", "galaxy.set_job_metadata": "galaxy.external"}} - enable_celery_tasks: Annotated[ - bool, - Field( - title="Enable Celery Tasks", - description="""Offload long-running tasks to a Celery task queue. -Activate this only if you have setup a Celery worker for Galaxy. -For details, see https://docs.galaxyproject.org/en/master/admin/production.html -""", - ), - ] = False + celery_user_rate_limit: Annotated[ float, Field( @@ -4085,6 +4688,7 @@ class GalaxyConfigModel(Model): """, ), ] = 0.0 + use_pbkdf2: Annotated[ bool, Field( @@ -4095,110 +4699,31 @@ class GalaxyConfigModel(Model): """, ), ] = True - cookie_domain: Annotated[ - str, - Field( - title="Cookie Domain", - description="""Tell Galaxy that multiple domains sharing the same root are associated -to this instance and wants to share the same session cookie. -This allow a user to stay logged in when passing from one subdomain -to the other. -This root domain will be written in the unique session cookie shared -by all subdomains. -""", - ), - ] - select_type_workflow_threshold: Annotated[ - int, - Field( - title="Select Type Workflow Threshold", - description="""Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) -Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. -use 0 in order to always use select2 fields, -use -1 (default) in order to always use the regular select fields, -use any other positive number as threshold (above threshold: regular select fields will be used) -""", - ), - ] = -1 - enable_tool_recommendations: Annotated[ - bool, - Field( - title="Enable Tool Recommendations", - description="""Allow the display of tool recommendations in workflow editor and after tool execution. -If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well -""", - ), - ] = False - tool_recommendation_model_path: Annotated[ - str, - Field( - title="Tool Recommendation Model Path", - description="""Set remote path of the trained model (HDF5 file) for tool recommendation. -""", - ), - ] = "https://github.com/galaxyproject/galaxy-test-data/raw/master/tool_recommendation_model_v_0.2.hdf5" - topk_recommendations: Annotated[ - int, - Field( - title="Topk Recommendations", - description="""Set the number of predictions/recommendations to be made by the model -""", - ), - ] = 20 - admin_tool_recommendations_path: Annotated[ - str, - Field( - title="Admin Tool Recommendations Path", - description="""Set path to the additional tool preferences from Galaxy admins. -It has two blocks. One for listing deprecated tools which will be removed from the recommendations and -another is for adding additional tools to be recommended along side those from the deep learning model. -""", - ), - ] = "tool_recommendations_overwrite.yml" - overwrite_model_recommendations: Annotated[ - bool, - Field( - title="Overwrite Model Recommendations", - description="""Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model -are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools -by admins and predicted by the deep learning model are shown. -""", - ), - ] = False + error_report_file: Annotated[ str, Field( title="Error Report File", - description="""Path to error reports configuration file. -""", + description="""Path to error reports configuration file.""", ), ] = "error_report.yml" + tool_destinations_config_file: Annotated[ str, Field( title="Tool Destinations Config File", - description="""Path to dynamic tool destinations configuration file. -""", + description="""Path to dynamic tool destinations configuration file.""", ), ] = "tool_destinations.yml" - welcome_directory: Annotated[ - str, - Field( - title="Welcome Directory", - description="""Location of New User Welcome data, a single directory containing the -images and JSON of Topics/Subtopics/Slides as export. This location -is relative to galaxy/static -""", - ), - ] = "plugins/welcome_page/new_user/static/topics/" + vault_config_file: Annotated[ str, Field( title="Vault Config File", - description="""Vault config file. -""", + description="""Vault config file.""", ), ] = "vault_conf.yml" + display_builtin_converters: Annotated[ bool, Field( @@ -4206,6 +4731,7 @@ class GalaxyConfigModel(Model): description="""Display built-in converters in the tool panel.""", ), ] = True + themes_config_file: Annotated[ str, Field( @@ -4215,75 +4741,11 @@ class GalaxyConfigModel(Model): """, ), ] = "themes_conf.yml" - enable_beacon_integration: Annotated[ - bool, - Field( - title="Enable Beacon Integration", - description="""Enables user preferences and api endpoint for the beacon integration. -""", - ), - ] = False - tool_training_recommendations: Annotated[ - bool, - Field( - title="Tool Training Recommendations", - description="""Displays a link to training material, if any includes the current tool. -When activated the following options also need to be set: - tool_training_recommendations_link, - tool_training_recommendations_api_url -""", - ), - ] = True - tool_training_recommendations_link: Annotated[ - str, - Field( - title="Tool Training Recommendations Link", - description="""Template URL to display all tutorials containing current tool. -Valid template inputs are: - {repository_owner} - {name} - {tool_id} - {training_tool_identifier} - {version} -""", - ), - ] = "https://training.galaxyproject.org/training-material/by-tool/{training_tool_identifier}.html" - tool_training_recommendations_api_url: Annotated[ - str, - Field( - title="Tool Training Recommendations Api Url", - description="""URL to API describing tutorials containing specific tools. -When CORS is used, make sure to add this host. -""", - ), - ] = "https://training.galaxyproject.org/training-material/api/top-tools.json" - citations_export_message_html: Annotated[ - str, - Field( - title="Citations Export Message Html", - description="""Message to display on the export citations tool page -""", - ), - ] = 'When writing up your analysis, remember to include all references that should be cited in order to completely describe your work. Also, please remember to cite Galaxy.' - enable_notification_system: Annotated[ - bool, - Field( - title="Enable Notification System", - description="""Enables the Notification System integrated in Galaxy. - -Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. - -The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. -Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. -""", - ), - ] = False expired_notifications_cleanup_interval: Annotated[ int, Field( title="Expired Notifications Cleanup Interval", - description="""The interval in seconds between attempts to delete all expired notifications from the database (every 24 hours by default). Runs in a Celery task. -""", + description="""The interval in seconds between attempts to delete all expired notifications from the database (every 24 hours by default). Runs in a Celery task.""", ), ] = 86400 diff --git a/lib/galaxy/webapps/galaxy/api/configuration.py b/lib/galaxy/webapps/galaxy/api/configuration.py index a0d38c13ae75..c3a84e458d6b 100644 --- a/lib/galaxy/webapps/galaxy/api/configuration.py +++ b/lib/galaxy/webapps/galaxy/api/configuration.py @@ -8,13 +8,18 @@ Dict, List, Optional, + Union, ) from fastapi import Path from galaxy.managers.configuration import ConfigurationManager from galaxy.managers.context import ProvidesUserContext -from galaxy.schema.configuration import GalaxyConfigModel +from galaxy.schema.configuration import ( + AdminExposableGalaxyConfig, + ComputedGalaxyConfig, + UserExposableGalaxyConfig, +) from galaxy.schema.fields import DecodedDatabaseIdField from galaxy.schema.schema import UserModel from galaxy.webapps.galaxy.api import ( @@ -40,6 +45,21 @@ ) +class ConfigResponse(ComputedGalaxyConfig, UserExposableGalaxyConfig): + """Configuration settings that can be exposed to users.""" + + pass + + +class AdminOnlyConfigResponse(ConfigResponse, AdminExposableGalaxyConfig): + """Configuration settings that can be exposed to admins.""" + + pass + + +GalaxyConfigResponse = Union[ConfigResponse, AdminOnlyConfigResponse] + + @router.cbv class FastAPIConfiguration: configuration_manager: ConfigurationManager = depends(ConfigurationManager) @@ -63,7 +83,7 @@ def index( trans: ProvidesUserContext = DependsOnTrans, view: Optional[str] = SerializationViewQueryParam, keys: Optional[str] = SerializationKeysQueryParam, - ) -> GalaxyConfigModel: + ) -> GalaxyConfigResponse: """ Return an object containing exposable configuration settings. From 273ab80f10d3cc903c59d30f66ac21ebf4ba2d43 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Tue, 8 Aug 2023 12:08:40 +0200 Subject: [PATCH 07/28] Fix some type annotations --- client/src/schema/schema.ts | 50 ++++++++-------- lib/galaxy/schema/configuration.py | 57 +++++++++++-------- .../webapps/galaxy/api/configuration.py | 19 ++++--- 3 files changed, 70 insertions(+), 56 deletions(-) diff --git a/client/src/schema/schema.ts b/client/src/schema/schema.ts index 3821dfe5caf1..968ad095d22a 100644 --- a/client/src/schema/schema.ts +++ b/client/src/schema/schema.ts @@ -1727,7 +1727,7 @@ export interface components { }; /** * AdminOnlyConfigResponse - * @description Configuration settings that can be exposed to admins. + * @description Configuration values that can be exposed to admins. */ AdminOnlyConfigResponse: { /** @@ -1783,7 +1783,7 @@ export interface components { * Brand * @description Append "{brand}" text to the masthead. */ - brand: string; + brand?: string; /** * Carbon Emission Estimates * @description This flag enables carbon emissions estimates for every job based on its runtime metrics. @@ -1828,7 +1828,7 @@ export interface components { * This allow a user to stay logged in when passing from one subdomain to the other. * This root domain will be written in the unique session cookie shared by all subdomains. */ - cookie_domain: string; + cookie_domain?: string; /** * Datatypes Disable Auto * @description Disable the 'Auto-detect' option for file uploads @@ -2011,13 +2011,11 @@ export interface components { interactivetools_enable?: boolean; /** * Is Admin User - * @deprecated * @description Determines if the current user is an admin user. - * **Deprecated**: This is deprecated and will be removed in a future release. - * Please get this information from the user data instead. - * @default false + * @default true + * @enum {boolean} */ - is_admin_user?: boolean; + is_admin_user?: true; /** * Library Import Dir * @description Add an option to the library upload form which allows administrators to @@ -2043,7 +2041,7 @@ export interface components { * Logo Src Secondary * @description The custom brand image source. */ - logo_src_secondary: string; + logo_src_secondary?: string; /** * Logo Url * @description The URL linked by the "Galaxy/brand" text. @@ -2092,7 +2090,7 @@ export interface components { * Message Box Content * @description Show a message box under the masthead. */ - message_box_content: string; + message_box_content?: string; /** * Message Box Visible * @description Show a message box under the masthead. @@ -2104,7 +2102,7 @@ export interface components { * @description This value overrides the action set on the file upload form, e.g. the web * path where the nginx_upload_module has been configured to intercept upload requests. */ - nginx_upload_path: string; + nginx_upload_path?: string; /** * Object Store Allows Id Selection * @description Determines if the object store allows id selection. @@ -2134,7 +2132,9 @@ export interface components { * @description Definitions of static toolbox panel views embedded directly in the config instead of reading * YAML from directory with panel_views_dir. */ - panel_views: Record[]; + panel_views: { + [key: string]: Record | undefined; + }; /** * Plausible Domain * @description Please enter the URL for the Galaxy server so this can be used for tracking @@ -2297,7 +2297,7 @@ export interface components { * @description The URL linked by the "Terms and Conditions" link in the "Help" menu, as well * as on the user registration and login forms and in the activation emails. */ - terms_url: string; + terms_url?: string; /** * Themes * @description The visual style themes available on this Galaxy instance. @@ -3339,7 +3339,7 @@ export interface components { }; /** * ConfigResponse - * @description Configuration settings that can be exposed to users. + * @description Configuration values that can be exposed to users. */ ConfigResponse: { /** @@ -3382,7 +3382,7 @@ export interface components { * Brand * @description Append "{brand}" text to the masthead. */ - brand: string; + brand?: string; /** * Carbon Emission Estimates * @description This flag enables carbon emissions estimates for every job based on its runtime metrics. @@ -3427,7 +3427,7 @@ export interface components { * This allow a user to stay logged in when passing from one subdomain to the other. * This root domain will be written in the unique session cookie shared by all subdomains. */ - cookie_domain: string; + cookie_domain?: string; /** * Datatypes Disable Auto * @description Disable the 'Auto-detect' option for file uploads @@ -3610,13 +3610,11 @@ export interface components { interactivetools_enable?: boolean; /** * Is Admin User - * @deprecated * @description Determines if the current user is an admin user. - * **Deprecated**: This is deprecated and will be removed in a future release. - * Please get this information from the user data instead. * @default false + * @enum {boolean} */ - is_admin_user?: boolean; + is_admin_user?: false; /** * Lims Doc Url * @deprecated @@ -3636,7 +3634,7 @@ export interface components { * Logo Src Secondary * @description The custom brand image source. */ - logo_src_secondary: string; + logo_src_secondary?: string; /** * Logo Url * @description The URL linked by the "Galaxy/brand" text. @@ -3685,7 +3683,7 @@ export interface components { * Message Box Content * @description Show a message box under the masthead. */ - message_box_content: string; + message_box_content?: string; /** * Message Box Visible * @description Show a message box under the masthead. @@ -3697,7 +3695,7 @@ export interface components { * @description This value overrides the action set on the file upload form, e.g. the web * path where the nginx_upload_module has been configured to intercept upload requests. */ - nginx_upload_path: string; + nginx_upload_path?: string; /** * Object Store Allows Id Selection * @description Determines if the object store allows id selection. @@ -3727,7 +3725,9 @@ export interface components { * @description Definitions of static toolbox panel views embedded directly in the config instead of reading * YAML from directory with panel_views_dir. */ - panel_views: Record[]; + panel_views: { + [key: string]: Record | undefined; + }; /** * Plausible Domain * @description Please enter the URL for the Galaxy server so this can be used for tracking @@ -3890,7 +3890,7 @@ export interface components { * @description The URL linked by the "Terms and Conditions" link in the "Help" menu, as well * as on the user registration and login forms and in the activation emails. */ - terms_url: string; + terms_url?: string; /** * Themes * @description The visual style themes available on this Galaxy instance. diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 5b5e0549d801..8fe7e9dc9fd6 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -24,17 +24,6 @@ class ComputedGalaxyConfig(Model): """Contains Galaxy configuration options computed at runtime.""" - is_admin_user: Annotated[ - Optional[bool], - Field( - deprecated=True, # TODO: redundant, this is available from user data (deprecated for now) - title="Is Admin User", - description="""Determines if the current user is an admin user. -**Deprecated**: This is deprecated and will be removed in a future release. -Please get this information from the user data instead.""", - ), - ] = False - lims_doc_url: Annotated[ Optional[str], Field( @@ -177,6 +166,26 @@ class ComputedGalaxyConfig(Model): ] +# This field is redundant (as it can be obtained from the user data), but... +# we could use it for now as a simple discriminator for Admin/NonAdmin models +IsAdminUserField = Field( + title="Is Admin User", + description="""Determines if the current user is an admin user.""", +) + + +class AdminExposableComputedGalaxyConfig(ComputedGalaxyConfig): + """Contains Galaxy configuration options computed at runtime exposed to admins only.""" + + is_admin_user: Annotated[Literal[True], IsAdminUserField] = True + + +class UserExposableComputedGalaxyConfig(ComputedGalaxyConfig): + """Contains Galaxy configuration options computed at runtime that can be exposed to users.""" + + is_admin_user: Annotated[Literal[False], IsAdminUserField] = False + + class UserExposableGalaxyConfig(Model): """Contains Galaxy configuration values that can be exposed to regular users. @@ -186,15 +195,15 @@ class UserExposableGalaxyConfig(Model): """ brand: Annotated[ - str, + Optional[str], Field( title="Brand", description="""Append "{brand}" text to the masthead.""", ), - ] + ] = None logo_url: Annotated[ - str, + Optional[str], Field( title="Logo Url", description="""The URL linked by the "Galaxy/brand" text.""", @@ -202,7 +211,7 @@ class UserExposableGalaxyConfig(Model): ] = "/" logo_src: Annotated[ - str, + Optional[str], Field( title="Logo Src", description="""The brand image source.""", @@ -210,21 +219,21 @@ class UserExposableGalaxyConfig(Model): ] = "/static/favicon.svg" logo_src_secondary: Annotated[ - str, + Optional[str], Field( title="Logo Src Secondary", description="""The custom brand image source.""", ), - ] + ] = None terms_url: Annotated[ - str, + Optional[str], Field( title="Terms Url", description="""The URL linked by the "Terms and Conditions" link in the "Help" menu, as well as on the user registration and login forms and in the activation emails.""", ), - ] + ] = None wiki_url: Annotated[ str, @@ -375,7 +384,7 @@ class UserExposableGalaxyConfig(Model): ] = True use_remote_user: Annotated[ - bool, + Optional[bool], Field( title="Use Remote User", description="""User authentication can be delegated to an upstream proxy server (usually @@ -569,7 +578,7 @@ class UserExposableGalaxyConfig(Model): ] = "off" nginx_upload_path: Annotated[ - str, + Optional[str], Field( title="Nginx Upload Path", description="""This value overrides the action set on the file upload form, e.g. the web @@ -689,7 +698,7 @@ class UserExposableGalaxyConfig(Model): ] = False message_box_content: Annotated[ - str, + Optional[str], Field( title="Message Box Content", description="""Show a message box under the masthead.""", @@ -746,7 +755,7 @@ class UserExposableGalaxyConfig(Model): ] = False cookie_domain: Annotated[ - str, + Optional[str], Field( title="Cookie Domain", description="""Tell Galaxy that multiple domains sharing the same root are associated @@ -779,7 +788,7 @@ class UserExposableGalaxyConfig(Model): ] = True panel_views: Annotated[ - List[Any], + Dict[str, Dict], Field( title="Panel Views", description="""Definitions of static toolbox panel views embedded directly in the config instead of reading diff --git a/lib/galaxy/webapps/galaxy/api/configuration.py b/lib/galaxy/webapps/galaxy/api/configuration.py index c3a84e458d6b..71ce40ef630d 100644 --- a/lib/galaxy/webapps/galaxy/api/configuration.py +++ b/lib/galaxy/webapps/galaxy/api/configuration.py @@ -12,12 +12,15 @@ ) from fastapi import Path +from pydantic import Field +from typing_extensions import Annotated from galaxy.managers.configuration import ConfigurationManager from galaxy.managers.context import ProvidesUserContext from galaxy.schema.configuration import ( + AdminExposableComputedGalaxyConfig, AdminExposableGalaxyConfig, - ComputedGalaxyConfig, + UserExposableComputedGalaxyConfig, UserExposableGalaxyConfig, ) from galaxy.schema.fields import DecodedDatabaseIdField @@ -45,19 +48,21 @@ ) -class ConfigResponse(ComputedGalaxyConfig, UserExposableGalaxyConfig): - """Configuration settings that can be exposed to users.""" +class ConfigResponse(UserExposableComputedGalaxyConfig, UserExposableGalaxyConfig): + """Configuration values that can be exposed to users.""" pass -class AdminOnlyConfigResponse(ConfigResponse, AdminExposableGalaxyConfig): - """Configuration settings that can be exposed to admins.""" +class AdminOnlyConfigResponse(AdminExposableComputedGalaxyConfig, AdminExposableGalaxyConfig): + """Configuration values that can be exposed to admins.""" pass -GalaxyConfigResponse = Union[ConfigResponse, AdminOnlyConfigResponse] +AnyGalaxyConfigResponse = Annotated[ + Union[ConfigResponse, AdminOnlyConfigResponse], Field(discriminator="is_admin_user") +] @router.cbv @@ -83,7 +88,7 @@ def index( trans: ProvidesUserContext = DependsOnTrans, view: Optional[str] = SerializationViewQueryParam, keys: Optional[str] = SerializationKeysQueryParam, - ) -> GalaxyConfigResponse: + ) -> AnyGalaxyConfigResponse: """ Return an object containing exposable configuration settings. From a6f97c360a0c46c435d3726f80ee733940867a1e Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Tue, 8 Aug 2023 16:35:23 +0200 Subject: [PATCH 08/28] Fix single_user field type duality --- client/src/schema/schema.ts | 4 ++-- lib/galaxy/schema/configuration.py | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/client/src/schema/schema.ts b/client/src/schema/schema.ts index 968ad095d22a..cadb1fabd99f 100644 --- a/client/src/schema/schema.ts +++ b/client/src/schema/schema.ts @@ -2285,7 +2285,7 @@ export interface components { * login or external proxy required. Such applications should not be exposed to * the world. */ - single_user: string; + single_user: boolean | string; /** * Support Url * @description The URL linked by the "Support" link in the "Help" menu. @@ -3878,7 +3878,7 @@ export interface components { * login or external proxy required. Such applications should not be exposed to * the world. */ - single_user: string; + single_user: boolean | string; /** * Support Url * @description The URL linked by the "Support" link in the "Help" menu. diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 8fe7e9dc9fd6..07110e352a00 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -8,6 +8,7 @@ Dict, List, Optional, + Union, ) from pydantic import Field @@ -403,7 +404,8 @@ class UserExposableGalaxyConfig(Model): ] = None single_user: Annotated[ - str, + # Warning: This property behaves as a str in the YAML config file but as a bool in the API response + Union[bool, str], Field( title="Single User", description="""If an e-mail address is specified here, it will hijack remote user mechanics From 5eafa7796e6c9f1db4e3390d085e8af2c591e00c Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 9 Aug 2023 09:56:39 +0200 Subject: [PATCH 09/28] Fix metadata_strategy type annotation --- lib/galaxy/schema/configuration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 07110e352a00..0bdfc5f74ba9 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -4240,7 +4240,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = 1.0 metadata_strategy: Annotated[ - str, + Literal["directory", "extended", "directory_celery", "extended_celery", "legacy"], Field( title="Metadata Strategy", description="""Determines how metadata will be set. Valid values are `directory`, `extended`, From 7fd44f953d0c91e463d6daf898e0c19847d8f2aa Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 9 Aug 2023 12:24:22 +0200 Subject: [PATCH 10/28] Make optional options, well... optional --- client/src/schema/schema.ts | 8 +- lib/galaxy/schema/configuration.py | 287 ++++++++++++++--------------- 2 files changed, 147 insertions(+), 148 deletions(-) diff --git a/client/src/schema/schema.ts b/client/src/schema/schema.ts index cadb1fabd99f..2d5ef25446bd 100644 --- a/client/src/schema/schema.ts +++ b/client/src/schema/schema.ts @@ -2132,7 +2132,7 @@ export interface components { * @description Definitions of static toolbox panel views embedded directly in the config instead of reading * YAML from directory with panel_views_dir. */ - panel_views: { + panel_views?: { [key: string]: Record | undefined; }; /** @@ -2285,7 +2285,7 @@ export interface components { * login or external proxy required. Such applications should not be exposed to * the world. */ - single_user: boolean | string; + single_user?: boolean | string; /** * Support Url * @description The URL linked by the "Support" link in the "Help" menu. @@ -3725,7 +3725,7 @@ export interface components { * @description Definitions of static toolbox panel views embedded directly in the config instead of reading * YAML from directory with panel_views_dir. */ - panel_views: { + panel_views?: { [key: string]: Record | undefined; }; /** @@ -3878,7 +3878,7 @@ export interface components { * login or external proxy required. Such applications should not be exposed to * the world. */ - single_user: boolean | string; + single_user?: boolean | string; /** * Support Url * @description The URL linked by the "Support" link in the "Help" menu. diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 0bdfc5f74ba9..6abd7b4492da 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -405,7 +405,7 @@ class UserExposableGalaxyConfig(Model): single_user: Annotated[ # Warning: This property behaves as a str in the YAML config file but as a bool in the API response - Union[bool, str], + Optional[Union[bool, str]], Field( title="Single User", description="""If an e-mail address is specified here, it will hijack remote user mechanics @@ -414,7 +414,7 @@ class UserExposableGalaxyConfig(Model): login or external proxy required. Such applications should not be exposed to the world.""", ), - ] + ] = None enable_oidc: Annotated[ bool, @@ -790,13 +790,13 @@ class UserExposableGalaxyConfig(Model): ] = True panel_views: Annotated[ - Dict[str, Dict], + Optional[Dict[str, Dict]], Field( title="Panel Views", description="""Definitions of static toolbox panel views embedded directly in the config instead of reading YAML from directory with panel_views_dir.""", ), - ] + ] = None default_panel_view: Annotated[ str, @@ -980,7 +980,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): """ config_dir: Annotated[ - str, + Optional[str], Field( title="Config Dir", description="""The directory that will be prepended to relative paths in options specifying @@ -988,10 +988,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): directory in which galaxy.yml is located. """, ), - ] + ] = None managed_config_dir: Annotated[ - str, + Optional[str], Field( title="Managed Config Dir", description="""The directory that will be prepended to relative paths in options specifying @@ -1000,10 +1000,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Galaxy from source or `/config` otherwise. """, ), - ] + ] = None data_dir: Annotated[ - str, + Optional[str], Field( title="Data Dir", description="""The directory that will be prepended to relative paths in options specifying @@ -1012,7 +1012,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): `/data` otherwise. """, ), - ] + ] = None templates_dir: Annotated[ str, @@ -1032,7 +1032,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "cache" database_connection: Annotated[ - str, + Optional[str], Field( title="Database Connection", description="""By default, Galaxy uses a SQLite database at '/universe.sqlite'. You @@ -1052,7 +1052,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): https://docs.sqlalchemy.org/en/14/core/engines.html?highlight=create_engine#sqlalchemy.create_engine """, ), - ] + ] = None database_engine_option_pool_size: Annotated[ int, @@ -1104,7 +1104,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False database_template: Annotated[ - str, + Optional[str], Field( title="Database Template", description="""If auto-creating a postgres database on startup - it can be based on an existing @@ -1112,7 +1112,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): documentation is included here for completeness. """, ), - ] + ] = None database_log_query_counts: Annotated[ bool, @@ -1152,7 +1152,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False install_database_connection: Annotated[ - str, + Optional[str], Field( title="Install Database Connection", description="""By default, Galaxy will use the same database to track user data and @@ -1165,7 +1165,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Defaults to the value of the 'database_connection' option. """, ), - ] + ] = None database_auto_migrate: Annotated[ bool, @@ -1337,7 +1337,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "dependency_resolvers_conf.xml" conda_prefix: Annotated[ - str, + Optional[str], Field( title="Conda Prefix", description="""conda_prefix is the location on the filesystem where Conda packages and environments are @@ -1346,17 +1346,17 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Sample default '/_conda' """, ), - ] + ] = None conda_exec: Annotated[ - str, + Optional[str], Field( title="Conda Exec", description="""Override the Conda executable to use, it will default to the one on the PATH (if available) and then to /bin/conda """, ), - ] + ] = None conda_debug: Annotated[ bool, @@ -1456,7 +1456,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False tool_dependency_cache_dir: Annotated[ - str, + Optional[str], Field( title="Tool Dependency Cache Dir", description="""By default the tool_dependency_cache_dir is the _cache directory @@ -1465,7 +1465,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Sample default '/_cache' """, ), - ] + ] = None precache_dependencies: Annotated[ bool, @@ -1588,12 +1588,12 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "file_sources_conf.yml" file_sources: Annotated[ - List[Any], + Optional[List[Any]], Field( title="File Sources", description="""FileSource plugins described embedded into Galaxy's config.""", ), - ] + ] = None enable_mulled_containers: Annotated[ bool, @@ -1609,7 +1609,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = True container_resolvers_config_file: Annotated[ - str, + Optional[str], Field( title="Container Resolvers Config File", description="""Container resolvers configuration. Set up a file describing @@ -1619,10 +1619,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): For available options see https://docs.galaxyproject.org/en/master/admin/container_resolvers.html """, ), - ] + ] = None container_resolvers: Annotated[ - List[Any], + Optional[List[Any]], Field( title="Container Resolvers", description="""Rather than specifying a container_resolvers_config_file, the definition of the @@ -1631,7 +1631,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Takes the same options that can be set in container_resolvers_config_file. """, ), - ] + ] = None involucro_path: Annotated[ str, @@ -1725,14 +1725,14 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "tool-data" shed_tool_data_path: Annotated[ - str, + Optional[str], Field( title="Shed Tool Data Path", description="""Directory where Tool Data Table related files will be placed when installed from a ToolShed. Defaults to the value of the 'tool_data_path' option. """, ), - ] + ] = None watch_tool_data_dir: Annotated[ WatchToolOptions, @@ -1750,13 +1750,12 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "false" refgenie_config_file: Annotated[ - str, + Optional[str], Field( title="Refgenie Config File", - description="""File containing refgenie configuration, e.g. /path/to/genome_config.yaml. Can be used by refgenie backed tool data tables. -""", + description="""File containing refgenie configuration, e.g. /path/to/genome_config.yaml. Can be used by refgenie backed tool data tables.""", ), - ] + ] = None build_sites_config_file: Annotated[ str, @@ -1957,14 +1956,14 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False biotools_content_directory: Annotated[ - str, + Optional[str], Field( title="Biotools Content Directory", description="""Point Galaxy at a repository consisting of a copy of the bio.tools database (e.g. https://github.com/bio-tools/content/) to resolve bio.tools data for tool metadata. """, ), - ] + ] = None biotools_use_api: Annotated[ bool, @@ -2001,7 +2000,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "biotools/locks" biotools_service_cache_url: Annotated[ - str, + Optional[str], Field( title="Biotools Service Cache Url", description="""When biotools_service_cache_type = ext:database, this is @@ -2011,7 +2010,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): value of database_connection if this is not set. """, ), - ] + ] = None biotools_service_cache_table_name: Annotated[ str, @@ -2025,7 +2024,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "beaker_cache" biotools_service_cache_schema_name: Annotated[ - str, + Optional[str], Field( title="Biotools Service Cache Schema Name", description="""When biotools_service_cache_type = ext:database, this is @@ -2033,7 +2032,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): bio.tools web service request related caching. """, ), - ] + ] = None citation_cache_type: Annotated[ str, @@ -2069,7 +2068,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "citations/locks" citation_cache_url: Annotated[ - str, + Optional[str], Field( title="Citation Cache Url", description="""When citation_cache_type = ext:database, this is @@ -2078,7 +2077,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): value of database_connection if this is not set. """, ), - ] + ] = None citation_cache_table_name: Annotated[ str, @@ -2092,7 +2091,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "beaker_cache" citation_cache_schema_name: Annotated[ - str, + Optional[str], Field( title="Citation Cache Schema Name", description="""When citation_cache_type = ext:database, this is @@ -2100,7 +2099,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): citation related caching. """, ), - ] + ] = None mulled_resolution_cache_type: Annotated[ str, @@ -2138,7 +2137,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = 3600 mulled_resolution_cache_url: Annotated[ - str, + Optional[str], Field( title="Mulled Resolution Cache Url", description="""When mulled_resolution_cache_type = ext:database, this is @@ -2147,7 +2146,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): value of database_connection if this is not set. """, ), - ] + ] = None mulled_resolution_cache_table_name: Annotated[ str, @@ -2161,7 +2160,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "beaker_cache" mulled_resolution_cache_schema_name: Annotated[ - str, + Optional[str], Field( title="Mulled Resolution Cache Schema Name", description="""When mulled_resolution_cache_type = ext:database, this is @@ -2169,7 +2168,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): caching mulled resolution requests. """, ), - ] + ] = None object_store_config_file: Annotated[ str, @@ -2234,7 +2233,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = -1 object_store_store_by: Annotated[ - str, + Optional[Literal["uuid", "id"]], Field( title="Object Store Store By", description="""What Dataset attribute is used to reference files in an ObjectStore implementation, @@ -2245,10 +2244,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): to 'uuid', otherwise it will be 'id'. """, ), - ] + ] = None smtp_server: Annotated[ - str, + Optional[str], Field( title="Smtp Server", description="""Galaxy sends mail for various things: subscribing users to the mailing list @@ -2258,10 +2257,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Galaxy will automatically try STARTTLS but will continue upon failure. """, ), - ] + ] = None smtp_username: Annotated[ - str, + Optional[str], Field( title="Smtp Username", description="""If your SMTP server requires a username and password, you can provide them @@ -2269,10 +2268,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): will be sent over the network encrypted). """, ), - ] + ] = None smtp_password: Annotated[ - str, + Optional[str], Field( title="Smtp Password", description="""If your SMTP server requires a username and password, you can provide them @@ -2280,7 +2279,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): will be sent over the network encrypted). """, ), - ] + ] = None smtp_ssl: Annotated[ bool, @@ -2311,7 +2310,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "Join Mailing List" error_email_to: Annotated[ - str, + Optional[str], Field( title="Error Email To", description="""Datasets in an error state include a link to report the error. Those reports @@ -2320,10 +2319,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): misconfiguration and other events user may encounter. """, ), - ] + ] = None email_from: Annotated[ - str, + Optional[str], Field( title="Email From", description="""Email address to use in the 'From' field when sending emails for @@ -2333,29 +2332,29 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): If not configured, '' will be used. """, ), - ] + ] = None custom_activation_email_message: Annotated[ - str, + Optional[str], Field( title="Custom Activation Email Message", description="""This text will be inserted at the end of the activation email's message, before the 'Your Galaxy Team' signature. """, ), - ] + ] = None instance_resource_url: Annotated[ - str, + Optional[str], Field( title="Instance Resource Url", description="""URL of the support resource for the galaxy instance. Used in activation emails.""", example="https://galaxyproject.org/", ), - ] + ] = None email_domain_blocklist_file: Annotated[ - str, + Optional[str], Field( title="Email Domain Blocklist File", description="""E-mail domains blocklist is used for filtering out users that are using @@ -2367,10 +2366,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): """, example="email_blocklist.conf", ), - ] + ] = None email_domain_allowlist_file: Annotated[ - str, + Optional[str], Field( title="Email Domain Allowlist File", description="""E-mail domains allowlist is used to specify allowed email address domains. @@ -2386,7 +2385,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): """, example="email_allowlist.conf", ), - ] + ] = None user_activation_on: Annotated[ bool, @@ -2484,14 +2483,14 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = True interactivetools_proxy_host: Annotated[ - str, + Optional[str], Field( title="Interactivetools Proxy Host", description="""Hostname and port of Interactive tools proxy. It is assumed to be hosted on the same hostname and port as Galaxy by default. """, ), - ] + ] = None interactivetools_base_path: Annotated[ str, @@ -2747,7 +2746,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False nginx_x_accel_redirect_base: Annotated[ - str, + Optional[str], Field( title="Nginx X Accel Redirect Base", description="""The same download handling can be done by nginx using X-Accel-Redirect. This @@ -2755,7 +2754,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): with access to Galaxy's data files (see documentation linked above). """, ), - ] + ] = None upstream_gzip: Annotated[ bool, @@ -2800,7 +2799,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "SAMEORIGIN" nginx_upload_store: Annotated[ - str, + Optional[str], Field( title="Nginx Upload Store", description="""nginx can also handle file uploads (user-to-Galaxy) via nginx_upload_module. @@ -2809,10 +2808,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): which files uploaded by the upload module will be placed. """, ), - ] + ] = None nginx_upload_job_files_store: Annotated[ - str, + Optional[str], Field( title="Nginx Upload Job Files Store", description="""Galaxy can also use nginx_upload_module to receive files staged out upon job @@ -2821,10 +2820,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): corresponding nginx configuration. """, ), - ] + ] = None nginx_upload_job_files_path: Annotated[ - str, + Optional[str], Field( title="Nginx Upload Job Files Path", description="""Galaxy can also use nginx_upload_module to receive files staged out upon job @@ -2833,10 +2832,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): corresponding nginx configuration. """, ), - ] + ] = None tus_upload_store: Annotated[ - str, + Optional[str], Field( title="Tus Upload Store", description="""The upload store is a temporary directory in which files uploaded by the @@ -2844,7 +2843,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Defaults to new_file_path if not set. """, ), - ] + ] = None dynamic_proxy_manage: Annotated[ bool, @@ -2964,7 +2963,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "unix:///var/run/docker.sock" dynamic_proxy_golang_api_key: Annotated[ - str, + Optional[str], Field( title="Dynamic Proxy Golang Api Key", description="""The golang proxy uses a RESTful HTTP API for communication with Galaxy @@ -2973,7 +2972,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): manually. """, ), - ] + ] = None auto_configure_logging: Annotated[ bool, @@ -3032,7 +3031,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "DEBUG" logging: Annotated[ - Dict[str, Any], + Optional[Dict[str, Any]], Field( title="Logging", description="""Controls where and how the server logs messages. If set, overrides all settings in the log_* configuration @@ -3040,7 +3039,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): https://docs.galaxyproject.org/en/master/admin/config_logging.html """, ), - ] + ] = None database_engine_option_echo: Annotated[ bool, @@ -3145,7 +3144,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False allowed_origin_hostnames: Annotated[ - str, + Optional[str], Field( title="Allowed Origin Hostnames", description="""Return a Access-Control-Allow-Origin response header that matches the Origin @@ -3156,7 +3155,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS """, ), - ] + ] = None trust_jupyter_notebook_conversion: Annotated[ bool, @@ -3253,7 +3252,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "heartbeat_{server_name}.log" sentry_dsn: Annotated[ - str, + Optional[str], Field( title="Sentry Dsn", description="""Log to Sentry @@ -3263,7 +3262,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): sentry instance under -> Settings -> API Keys. """, ), - ] + ] = None sentry_event_level: Annotated[ str, @@ -3287,17 +3286,17 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = 0.0 sentry_ca_certs: Annotated[ - str, + Optional[str], Field( title="Sentry Ca Certs", description="""Use this option to provide the path to location of the CA (Certificate Authority) certificate file if the sentry server uses a self-signed certificate. """, ), - ] + ] = None statsd_host: Annotated[ - str, + Optional[str], Field( title="Statsd Host", description="""Log to statsd @@ -3308,7 +3307,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): statistics between them within the same aggregator. """, ), - ] + ] = None statsd_port: Annotated[ int, @@ -3371,7 +3370,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False user_library_import_symlink_allowlist: Annotated[ - str, + Optional[str], Field( title="User Library Import Symlink Allowlist", description="""For security reasons, users may not import any files that actually lie @@ -3382,7 +3381,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): create symlinks to them). """, ), - ] + ] = None user_library_import_check_permissions: Annotated[ bool, @@ -3411,7 +3410,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False disable_library_comptypes: Annotated[ - str, + Optional[str], Field( title="Disable Library Comptypes", description="""Users may choose to download multiple files from a library in an archive. By @@ -3421,7 +3420,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): format with commas. Available formats are currently 'zip', 'gz', and 'bz2'. """, ), - ] + ] = None tool_name_boost: Annotated[ float, @@ -3596,7 +3595,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "USING THE DEFAULT IS NOT SECURE!" remote_user_maildomain: Annotated[ - str, + Optional[str], Field( title="Remote User Maildomain", description="""If use_remote_user is enabled and your external authentication @@ -3604,7 +3603,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): to usernames, to become your Galaxy usernames (email addresses). """, ), - ] + ] = None remote_user_header: Annotated[ str, @@ -3645,7 +3644,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False admin_users: Annotated[ - str, + Optional[str], Field( title="Admin Users", description="""Administrative users - set this to a comma-separated list of valid Galaxy @@ -3655,7 +3654,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): https://galaxyproject.org/admin/ """, ), - ] + ] = None show_user_prepopulate_form: Annotated[ bool, @@ -3697,7 +3696,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False fetch_url_allowlist: Annotated[ - str, + Optional[str], Field( title="Fetch Url Allowlist", description="""List of allowed local network addresses for "Upload from URL" dialog. @@ -3709,7 +3708,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): 10.10.10.10,10.0.1.0/24,fd00::/8 """, ), - ] + ] = None enable_beta_gdpr: Annotated[ bool, @@ -3880,17 +3879,17 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "auth_conf.xml" api_allow_run_as: Annotated[ - str, + Optional[str], Field( title="Api Allow Run As", description="""Optional list of email addresses of API users who can make calls on behalf of other users. """, ), - ] + ] = None bootstrap_admin_api_key: Annotated[ - str, + Optional[str], Field( title="Bootstrap Admin Api Key", description="""API key that allows performing some admin actions without actually @@ -3900,10 +3899,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): You should probably not set this on a production server. """, ), - ] + ] = None ga4gh_service_id: Annotated[ - str, + Optional[str], Field( title="Ga4Gh Service Id", description="""Service ID for GA4GH services (exposed via the service-info endpoint for the Galaxy DRS API). @@ -3920,10 +3919,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): org.usegalaxy.drs. """, ), - ] + ] = None ga4gh_service_organization_name: Annotated[ - str, + Optional[str], Field( title="Ga4Gh Service Organization Name", description="""Service name for host organization (exposed via the service-info endpoint for the Galaxy DRS API). @@ -3934,10 +3933,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml """, ), - ] + ] = None ga4gh_service_organization_url: Annotated[ - str, + Optional[str], Field( title="Ga4Gh Service Organization Url", description="""Organization URL for host organization (exposed via the service-info endpoint for the Galaxy DRS API). @@ -3948,10 +3947,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml """, ), - ] + ] = None ga4gh_service_environment: Annotated[ - str, + Optional[str], Field( title="Ga4Gh Service Environment", description="""Service environment (exposed via the service-info endpoint for the Galaxy DRS API) for @@ -3964,7 +3963,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml """, ), - ] + ] = None enable_tool_tags: Annotated[ bool, @@ -3978,14 +3977,14 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False ftp_upload_dir: Annotated[ - str, + Optional[str], Field( title="Ftp Upload Dir", description="""This should point to a directory containing subdirectories matching users' identifier (defaults to e-mail), where Galaxy will look for files. """, ), - ] + ] = None ftp_upload_dir_identifier: Annotated[ str, @@ -4000,7 +3999,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "email" ftp_upload_dir_template: Annotated[ - str, + Optional[str], Field( title="Ftp Upload Dir Template", description="""Python string template used to determine an FTP upload directory for a @@ -4009,7 +4008,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Defaults to '${ftp_upload_dir}/${ftp_upload_dir_identifier}'. """, ), - ] + ] = None ftp_upload_purge: Annotated[ bool, @@ -4085,14 +4084,14 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "shed_data_manager_conf.xml" galaxy_data_manager_data_path: Annotated[ - str, + Optional[str], Field( title="Galaxy Data Manager Data Path", description="""Directory to store Data Manager based tool-data. Defaults to the value of the option. """, ), - ] + ] = None job_config_file: Annotated[ str, @@ -4113,15 +4112,15 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "job_conf.yml" job_config: Annotated[ - Dict[str, Any], + Optional[Dict[str, Any]], Field( title="Job Config", description="""Description of job running configuration, can be embedded into Galaxy configuration or loaded from an additional file with the job_config_file option.""", ), - ] + ] = None dependency_resolvers: Annotated[ - List[Any], + Optional[List[Any]], Field( title="Dependency Resolvers", description="""Rather than specifying a dependency_resolvers_config_file, the definition of the @@ -4134,10 +4133,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): https://docs.galaxyproject.org/en/master/admin/dependency_resolvers.html """, ), - ] + ] = None dependency_resolution: Annotated[ - Dict[str, Any], + Optional[Dict[str, Any]], Field( title="Dependency Resolution", description="""Alternative representation of various dependency resolution parameters. Takes the @@ -4146,10 +4145,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): to another. """, ), - ] + ] = None default_job_resubmission_condition: Annotated[ - str, + Optional[str], Field( title="Default Job Resubmission Condition", description="""When jobs fail due to job runner problems, Galaxy can be configured to retry @@ -4166,7 +4165,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): failing jobs are just failed outright. """, ), - ] + ] = None track_jobs_in_database: Annotated[ bool, @@ -4354,7 +4353,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "always" drmaa_external_runjob_script: Annotated[ - str, + Optional[str], Field( title="Drmaa External Runjob Script", description="""When running DRMAA jobs as the Galaxy user @@ -4364,10 +4363,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Example value 'sudo -E scripts/drmaa_external_runner.py --assign_all_groups' """, ), - ] + ] = None drmaa_external_killjob_script: Annotated[ - str, + Optional[str], Field( title="Drmaa External Killjob Script", description="""When running DRMAA jobs as the Galaxy user @@ -4378,10 +4377,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Example value 'sudo -E scripts/drmaa_external_killer.py' """, ), - ] + ] = None external_chown_script: Annotated[ - str, + Optional[str], Field( title="External Chown Script", description="""When running DRMAA jobs as the Galaxy user @@ -4392,7 +4391,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Example value 'sudo -E scripts/external_chown_script.py' """, ), - ] + ] = None real_system_username: Annotated[ str, @@ -4413,7 +4412,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "user_email" environment_setup_file: Annotated[ - str, + Optional[str], Field( title="Environment Setup File", description="""File to source to set up the environment when running jobs. By default, the @@ -4427,7 +4426,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): individually. """, ), - ] + ] = None markdown_export_css: Annotated[ str, @@ -4540,7 +4539,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "workflow_resource_params_conf.xml" workflow_resource_params_mapper: Annotated[ - str, + Optional[str], Field( title="Workflow Resource Params Mapper", description="""This parameter describes how to map users and workflows to a set of workflow @@ -4554,7 +4553,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): Sample default path 'config/workflow_resource_mapper_conf.yml.sample' """, ), - ] + ] = None workflow_schedulers_config_file: Annotated[ str, @@ -4583,34 +4582,34 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = False tool_filters: Annotated[ - str, + Optional[str], Field( title="Tool Filters", description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that admins may use to restrict the tools to display. """, ), - ] + ] = None tool_label_filters: Annotated[ - str, + Optional[str], Field( title="Tool Label Filters", description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that admins may use to restrict the tool labels to display. """, ), - ] + ] = None tool_section_filters: Annotated[ - str, + Optional[str], Field( title="Tool Section Filters", description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that admins may use to restrict the tool sections to display. """, ), - ] + ] = None user_tool_filters: Annotated[ str, From 250aad8fd7658f8a1a52d1f98c4266221fbb43b6 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 9 Aug 2023 13:26:42 +0200 Subject: [PATCH 11/28] Annotate job_config_file option as optional --- lib/galaxy/schema/configuration.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 6abd7b4492da..cb0d5e187a25 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -4094,7 +4094,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = None job_config_file: Annotated[ - str, + Optional[str], Field( title="Job Config File", description="""To increase performance of job execution and the web interface, you can @@ -4112,6 +4112,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig): ] = "job_conf.yml" job_config: Annotated[ + # TODO: add model from job_config_schema.yml Optional[Dict[str, Any]], Field( title="Job Config", From 8646b29677884cd7fa23c0dfdde5d3297f0c4983 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 9 Aug 2023 16:37:08 +0200 Subject: [PATCH 12/28] Add bool as possible WatchToolOptions type See test/integration/test_data_manager.py::TestDataManagerIntegration::test_data_manager_installation_table_reload --- lib/galaxy/schema/configuration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index cb0d5e187a25..0fdb1e816a1b 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -19,7 +19,7 @@ from galaxy.schema.schema import Model -WatchToolOptions = Literal["false", "auto", "polling"] +WatchToolOptions = Union[bool, Literal["false", "true", "auto", "polling"]] class ComputedGalaxyConfig(Model): From 2d2974afdc0102b44e3c63822801a2bf5acaea2a Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 9 Aug 2023 16:53:53 +0200 Subject: [PATCH 13/28] Fix typo in tests for `extended_celery` option The documentation says that the option is called `extended_celery` but the tests were using `celery_extended`. The logic will accept both options, but the tests should be consistent with the documentation. --- .../objectstore/test_selection_with_resource_parameters.py | 2 +- test/integration/test_metadata_strategy.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/integration/objectstore/test_selection_with_resource_parameters.py b/test/integration/objectstore/test_selection_with_resource_parameters.py index 19550075b314..b05277c7e41a 100644 --- a/test/integration/objectstore/test_selection_with_resource_parameters.py +++ b/test/integration/objectstore/test_selection_with_resource_parameters.py @@ -68,7 +68,7 @@ def handle_galaxy_config_kwds(cls, config): config["job_resource_params_file"] = JOB_RESOURCE_PARAMETERS_CONFIG_FILE config["object_store_store_by"] = "uuid" # Broken in dev https://github.com/galaxyproject/galaxy/pull/14055 - # config["metadata_strategy"] = "celery_extended" + # config["metadata_strategy"] = "extended_celery" config["outputs_to_working_directory"] = True def _object_store_counts(self): diff --git a/test/integration/test_metadata_strategy.py b/test/integration/test_metadata_strategy.py index 09c7097f9926..1d5e09959550 100644 --- a/test/integration/test_metadata_strategy.py +++ b/test/integration/test_metadata_strategy.py @@ -24,4 +24,4 @@ class TestDiskUsageCeleryExtended(TestDiskUsageUpdateDefault): @classmethod def handle_galaxy_config_kwds(cls, config): super().handle_galaxy_config_kwds(config) - config["metadata_strategy"] = "celery_extended" + config["metadata_strategy"] = "extended_celery" From f9c1406d01a8f3f2f7b52943096859e70bf6a8fd Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 9 Aug 2023 17:25:38 +0200 Subject: [PATCH 14/28] Validate configuration on startup The validation logic needs to live in the manager class because otherwise the configuration package will need to depend on the schema, pydantic, etc. --- lib/galaxy/app.py | 2 ++ lib/galaxy/managers/configuration.py | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/lib/galaxy/app.py b/lib/galaxy/app.py index 7767f32b2a48..1c73cf945cae 100644 --- a/lib/galaxy/app.py +++ b/lib/galaxy/app.py @@ -41,6 +41,7 @@ from galaxy.managers.api_keys import ApiKeyManager from galaxy.managers.citations import CitationsManager from galaxy.managers.collections import DatasetCollectionManager +from galaxy.managers.configuration import ConfigurationManager from galaxy.managers.dbkeys import GenomeBuilds from galaxy.managers.folders import FolderManager from galaxy.managers.hdas import HDAManager @@ -244,6 +245,7 @@ def __init__(self, fsmon=False, **kwargs) -> None: self.is_webapp = False # Read config file and check for errors self.config = self._register_singleton(config.GalaxyAppConfiguration, config.GalaxyAppConfiguration(**kwargs)) + ConfigurationManager.validate_config(self.config._raw_config) self.config.check() self._configure_object_store(fsmon=True) self._register_singleton(BaseObjectStore, self.object_store) diff --git a/lib/galaxy/managers/configuration.py b/lib/galaxy/managers/configuration.py index 2f5f4b8700f5..4323905c4681 100644 --- a/lib/galaxy/managers/configuration.py +++ b/lib/galaxy/managers/configuration.py @@ -16,6 +16,7 @@ from galaxy.managers.context import ProvidesUserContext from galaxy.managers.markdown_util import weasyprint_available from galaxy.schema import SerializationParams +from galaxy.schema.configuration import FullGalaxyConfig from galaxy.structured_app import StructuredApp from galaxy.web.framework.base import server_starttime @@ -84,6 +85,14 @@ def tool_conf_to_dict(conf): def reload_toolbox(self): self._app.queue_worker.send_control_task("reload_toolbox") + @staticmethod + def validate_config(config_dict: Dict[str, Any]): + """Validate the configuration against the schema model. + + It will raise an exception if the configuration is invalid. + """ + return FullGalaxyConfig(**config_dict) + # TODO: this is a bit of an odd duck. It uses the serializer structure from managers # but doesn't have a model like them. It might be better in config.py or a From c9613b44fa9aac40b329227fb4ddfd74db0e0aa2 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Thu, 10 Aug 2023 12:56:51 +0200 Subject: [PATCH 15/28] Handle `panel_views` type duality When validating the config file, is a list of objects but when serialized to the API is a dictionary. --- lib/galaxy/schema/configuration.py | 39 ++++++++++++++----- .../webapps/galaxy/api/configuration.py | 7 +++- 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 0fdb1e816a1b..ceb0a838dd1e 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -187,6 +187,34 @@ class UserExposableComputedGalaxyConfig(ComputedGalaxyConfig): is_admin_user: Annotated[Literal[False], IsAdminUserField] = False +# TODO: import StaticToolBoxView or move it to a common module +PanelViewList = List[Dict[str, Any]] +PanelViewDict = Dict[str, Any] +PanelViewField = Field( + title="Panel Views", + description="""Definitions of static toolbox panel views embedded directly in the config instead of reading +YAML from directory with panel_views_dir.""", +) + + +class ApiCompatibleConfigValues(Model): + """Contains Galaxy configuration options that can be exposed to the API. + + These values are used to generate the OpenAPI schema and may differ from the YAML schema. + """ + + panel_views: Annotated[Optional[PanelViewDict], PanelViewField] = None + + +class SchemaCompatibleConfigValues(Model): + """Contains Galaxy configuration options that are used to generate the YAML schema. + + These values are used to generate the Configuration YAML schema and may differ from the OpenAPI schema. + """ + + panel_views: Annotated[Optional[PanelViewList], PanelViewField] = None + + class UserExposableGalaxyConfig(Model): """Contains Galaxy configuration values that can be exposed to regular users. @@ -789,15 +817,6 @@ class UserExposableGalaxyConfig(Model): ), ] = True - panel_views: Annotated[ - Optional[Dict[str, Dict]], - Field( - title="Panel Views", - description="""Definitions of static toolbox panel views embedded directly in the config instead of reading -YAML from directory with panel_views_dir.""", - ), - ] = None - default_panel_view: Annotated[ str, Field( @@ -973,7 +992,7 @@ class AdminExposableGalaxyConfig(UserExposableGalaxyConfig): ] = False -class FullGalaxyConfig(AdminExposableGalaxyConfig): +class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues): """Contains all options from the Galaxy Configuration File. This model should be used only to generate the Configuration YAML schema. diff --git a/lib/galaxy/webapps/galaxy/api/configuration.py b/lib/galaxy/webapps/galaxy/api/configuration.py index 71ce40ef630d..f4cb353fb49f 100644 --- a/lib/galaxy/webapps/galaxy/api/configuration.py +++ b/lib/galaxy/webapps/galaxy/api/configuration.py @@ -20,6 +20,7 @@ from galaxy.schema.configuration import ( AdminExposableComputedGalaxyConfig, AdminExposableGalaxyConfig, + ApiCompatibleConfigValues, UserExposableComputedGalaxyConfig, UserExposableGalaxyConfig, ) @@ -48,13 +49,15 @@ ) -class ConfigResponse(UserExposableComputedGalaxyConfig, UserExposableGalaxyConfig): +class ConfigResponse(UserExposableComputedGalaxyConfig, UserExposableGalaxyConfig, ApiCompatibleConfigValues): """Configuration values that can be exposed to users.""" pass -class AdminOnlyConfigResponse(AdminExposableComputedGalaxyConfig, AdminExposableGalaxyConfig): +class AdminOnlyConfigResponse( + AdminExposableComputedGalaxyConfig, AdminExposableGalaxyConfig, ApiCompatibleConfigValues +): """Configuration values that can be exposed to admins.""" pass From ecbed37cabf6e426f62cd02ba8a84f45997c22fa Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Thu, 10 Aug 2023 13:26:40 +0200 Subject: [PATCH 16/28] Refactor model names + update client schema --- client/src/schema/schema.ts | 9944 ++++++++--------- lib/galaxy/schema/configuration.py | 25 +- .../webapps/galaxy/api/configuration.py | 30 +- 3 files changed, 4992 insertions(+), 5007 deletions(-) diff --git a/client/src/schema/schema.ts b/client/src/schema/schema.ts index 2d5ef25446bd..9dc606dbb49e 100644 --- a/client/src/schema/schema.ts +++ b/client/src/schema/schema.ts @@ -2132,9 +2132,7 @@ export interface components { * @description Definitions of static toolbox panel views embedded directly in the config instead of reading * YAML from directory with panel_views_dir. */ - panel_views?: { - [key: string]: Record | undefined; - }; + panel_views?: Record; /** * Plausible Domain * @description Please enter the URL for the Galaxy server so this can be used for tracking @@ -3337,2032 +3335,2061 @@ export interface components { private: boolean; quota: components["schemas"]["QuotaModel"]; }; - /** - * ConfigResponse - * @description Configuration values that can be exposed to users. - */ - ConfigResponse: { + /** ContentsObject */ + ContentsObject: { /** - * Admin Tool Recommendations Path - * @description Set path to the additional tool preferences from Galaxy admins. - * It has two blocks. One for listing deprecated tools which will be removed from the recommendations and - * another is for adding additional tools to be recommended along side those from the deep learning model. - * @default tool_recommendations_overwrite.yml + * Contents + * @description If this ContentsObject describes a nested bundle and the caller specified "?expand=true" on the request, then this contents array must be present and describe the objects within the nested bundle. */ - admin_tool_recommendations_path?: string; + contents?: components["schemas"]["ContentsObject"][]; /** - * Allow User Creation - * @description Allow unregistered users to create new accounts (otherwise, they will have to be created by an admin). - * @default true + * Drs Uri + * @description A list of full DRS identifier URI paths that may be used to obtain the object. These URIs may be external to this DRS instance. + * @example drs://drs.example.org/314159 */ - allow_user_creation?: boolean; + drs_uri?: string[]; /** - * Allow User Dataset Purge - * @description Allow users to remove their datasets from disk immediately (otherwise, - * datasets will be removed after a time period specified by an administrator in - * the cleanup scripts run via cron) - * @default true + * Id + * @description A DRS identifier of a `DrsObject` (either a single blob or a nested bundle). If this ContentsObject is an object within a nested bundle, then the id is optional. Otherwise, the id is required. */ - allow_user_dataset_purge?: boolean; + id?: string; /** - * Allow User Impersonation - * @description Allow administrators to log in as other users (useful for debugging). - * @default false + * Name + * @description A name declared by the bundle author that must be used when materialising this object, overriding any name directly associated with the object itself. The name must be unique with the containing bundle. This string is made up of uppercase and lowercase letters, decimal digits, hyphen, period, and underscore [A-Za-z0-9.-_]. See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable filenames]. */ - allow_user_impersonation?: boolean; + name: string; + }; + /** + * ConvertedDatasetsMap + * @description Map of `file extension` -> `converted dataset encoded id` + * @example { + * "csv": "dataset_id" + * } + */ + ConvertedDatasetsMap: { + [key: string]: string | undefined; + }; + /** + * CreateEntryPayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateEntryPayload: { /** - * Aws Estimate - * @description This flag enables an AWS cost estimate for every job based on their runtime matrices. - * CPU, RAM and runtime usage is mapped against AWS pricing table. - * Please note, that those numbers are only estimates. - * @default false + * Name + * @description The name of the entry to create. + * @example my_new_entry */ - aws_estimate?: boolean; + name: string; /** - * Brand - * @description Append "{brand}" text to the masthead. + * Target + * @description The target file source to create the entry in. */ - brand?: string; + target: string; + }; + /** + * CreateHistoryContentFromStore + * @description Base model definition with common configuration used by all derived models. + */ + CreateHistoryContentFromStore: { + model_store_format?: components["schemas"]["ModelStoreFormat"]; + /** Store Content Uri */ + store_content_uri?: string; + /** Store Dict */ + store_dict?: Record; + }; + /** + * CreateHistoryContentPayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateHistoryContentPayload: { /** - * Carbon Emission Estimates - * @description This flag enables carbon emissions estimates for every job based on its runtime metrics. - * CPU and RAM usage and the total job runtime are used to determine an estimate value. - * These estimates and are based off of the work of the Green Algorithms Project and - * the United States Environmental Protection Agency (EPA). - * Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. - * for more details. - * @default true + * Collection Type + * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ - carbon_emission_estimates?: boolean; + collection_type?: string; /** - * Carbon Intensity - * @description The carbon intensity of the electricity used by the Galaxy server. + * Content + * @description Depending on the `source` it can be: + * - The encoded id from the library dataset + * - The encoded id from the library folder + * - The encoded id from the HDA + * - The encoded id from the HDCA */ - carbon_intensity?: number; + content?: string | string; /** - * Chunk Upload Size - * @description Galaxy can upload user files in chunks without using nginx. Enable the chunk - * uploader by specifying a chunk size larger than 0. The chunk size is specified - * in bytes (default: 10MB). - * - * @default 10485760 + * Copy Elements + * @description If the source is a collection, whether to copy child HDAs into the target history as well, defaults to False but this is less than ideal and may be changed in future releases. + * @default false */ - chunk_upload_size?: number; + copy_elements?: boolean; /** - * Citation Url - * @description The URL linked by the "How to Cite Galaxy" link in the "Help" menu. - * @default https://galaxyproject.org/citing-galaxy + * DBKey + * @description TODO */ - citation_url?: string; + dbkey?: string; /** - * Citations Export Message Html - * @description Message to display on the export citations tool page - * @default When writing up your analysis, remember to include all references that should be cited in order to completely describe your work. Also, please remember to cite Galaxy. + * Element Identifiers + * @description List of elements that should be in the new collection. */ - citations_export_message_html?: string; + element_identifiers?: components["schemas"]["CollectionElementIdentifier"][]; /** - * Cookie Domain - * @description Tell Galaxy that multiple domains sharing the same root are associated - * to this instance and wants to share the same session cookie. - * This allow a user to stay logged in when passing from one subdomain to the other. - * This root domain will be written in the unique session cookie shared by all subdomains. + * Folder Id + * @description The ID of the library folder that will contain the collection. Required if `instance_type=library`. + * @example 0123456789ABCDEF */ - cookie_domain?: string; + folder_id?: string; /** - * Datatypes Disable Auto - * @description Disable the 'Auto-detect' option for file uploads + * Hide Source Items + * @description Whether to mark the original HDAs as hidden. * @default false */ - datatypes_disable_auto?: boolean; + hide_source_items?: boolean; /** - * Default Locale - * @description Default localization for Galaxy UI. - * Allowed values are listed at the end of client/src/nls/locale.js. - * With the default value (auto), the locale will be automatically adjusted to - * the user's navigator language. - * Users can override this settings in their user preferences if the localization - * settings are enabled in user_preferences_extra_conf.yml - * @default auto + * History Id + * @description The ID of the history that will contain the collection. Required if `instance_type=history`. + * @example 0123456789ABCDEF */ - default_locale?: string; + history_id?: string; /** - * Default Panel View - * @description Default tool panel view for the current Galaxy configuration. This should refer to an id of - * a panel view defined using the panel_views or panel_views_dir configuration options or an - * EDAM panel view. The default panel view is simply called `default` and refers to the tool - * panel state defined by the integrated tool panel. - * @default default + * Instance Type + * @description The type of the instance, either `history` (default) or `library`. + * @default history + * @enum {string} */ - default_panel_view?: string; + instance_type?: "history" | "library"; /** - * Enable Account Interface - * @description Allow users to manage their account data, change passwords or delete their accounts. - * @default true + * Name + * @description The name of the new collection. */ - enable_account_interface?: boolean; + name?: string; /** - * Enable Beacon Integration - * @description Enables user preferences and api endpoint for the beacon integration. - * @default false + * Source + * @description The source of the content. Can be other history element to be copied or library elements. */ - enable_beacon_integration?: boolean; + source?: components["schemas"]["HistoryContentSource"]; /** - * Enable Beta Markdown Export - * @description Enable export of Galaxy Markdown documents (pages and workflow reports) - * to PDF. Requires manual installation and setup of weasyprint (latest version - * available for Python 2.7 is 0.42). - * @default false + * Type + * @description The type of content to be created in the history. + * @default dataset */ - enable_beta_markdown_export?: boolean; + type?: components["schemas"]["HistoryContentType"]; + }; + /** + * CreateHistoryFromStore + * @description Base model definition with common configuration used by all derived models. + */ + CreateHistoryFromStore: { + model_store_format?: components["schemas"]["ModelStoreFormat"]; + /** Store Content Uri */ + store_content_uri?: string; + /** Store Dict */ + store_dict?: Record; + }; + /** + * CreateLibrariesFromStore + * @description Base model definition with common configuration used by all derived models. + */ + CreateLibrariesFromStore: { + model_store_format?: components["schemas"]["ModelStoreFormat"]; + /** Store Content Uri */ + store_content_uri?: string; + /** Store Dict */ + store_dict?: Record; + }; + /** + * CreateLibraryFilePayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateLibraryFilePayload: { /** - * Enable Celery Tasks - * @description Offload long-running tasks to a Celery task queue. - * Activate this only if you have setup a Celery worker for Galaxy. - * For details, see https://docs.galaxyproject.org/en/master/admin/production.html - * @default false + * From HDA ID + * @description The ID of an accessible HDA to copy into the library. + * @example 0123456789ABCDEF */ - enable_celery_tasks?: boolean; + from_hda_id?: string; /** - * Enable Notification System - * @description Enables the Notification System integrated in Galaxy. - * - * Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. - * - * The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. - * - * Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. - * - * @default false + * From HDCA ID + * @description The ID of an accessible HDCA to copy into the library. Nested collections are not allowed, you must flatten the collection first. + * @example 0123456789ABCDEF */ - enable_notification_system?: boolean; + from_hdca_id?: string; /** - * Enable Oidc - * @description Enables and disables OpenID Connect (OIDC) support. - * @default false + * LDDA Message + * @description The new message attribute of the LDDA created. + * @default */ - enable_oidc?: boolean; + ldda_message?: string; + }; + /** + * CreateLibraryFolderPayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateLibraryFolderPayload: { /** - * Enable Quotas - * @description Enable enforcement of quotas. Quotas can be set from the Admin interface. - * @default false + * Description + * @description A detailed description of the library folder. + * @default */ - enable_quotas?: boolean; + description?: string; /** - * Enable Tool Recommendations - * @description Allow the display of tool recommendations in workflow editor and after tool execution. - * If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well - * @default false + * Name + * @description The name of the library folder. */ - enable_tool_recommendations?: boolean; + name: string; + }; + /** + * CreateLibraryPayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateLibraryPayload: { /** - * Enable Tool Source Display - * @description This option allows users to view the tool wrapper source code. This is - * safe to enable if you have not hardcoded any secrets in any of the tool - * wrappers installed on this Galaxy server. If you have only installed tool - * wrappers from public tool sheds and tools shipped with Galaxy there you - * can enable this option. - * @default false + * Description + * @description A detailed description of the Library. + * @default */ - enable_tool_source_display?: boolean; + description?: string; /** - * Enable Unique Workflow Defaults - * @description Enable a feature when running workflows. When enabled, default datasets - * are selected for "Set at Runtime" inputs from the history such that the - * same input will not be selected twice, unless there are more inputs than - * compatible datasets in the history. - * When false, the most recently added compatible item in the history will - * be used for each "Set at Runtime" input, independent of others in the workflow. - * @default false + * Name + * @description The name of the Library. */ - enable_unique_workflow_defaults?: boolean; + name: string; /** - * Expose User Email - * @description Expose user list. Setting this to true will expose the user list to - * authenticated users. This makes sharing datasets in smaller galaxy instances - * much easier as they can type a name/email and have the correct user show up. - * This makes less sense on large public Galaxy instances where that data - * shouldn't be exposed. For semi-public Galaxies, it may make sense to expose - * just the username and not email, or vice versa. - * - * If enable_beta_gdpr is set to true, then this option will be overridden and set to false. - * @default false + * Synopsis + * @description A short text describing the contents of the Library. + * @default */ - expose_user_email?: boolean; + synopsis?: string; + }; + /** CreateMetricsPayload */ + CreateMetricsPayload: { /** - * File Sources Configured - * @description Determines if the Galaxy instance has custom file sources configured. + * List of metrics to be recorded. + * @default [] + * @example [ + * { + * "args": "{\"test\":\"value\"}", + * "level": 0, + * "namespace": "test-source", + * "time": "2021-01-23T18:25:43.511Z" + * } + * ] */ - file_sources_configured: boolean; + metrics?: components["schemas"]["Metric"][]; + }; + /** + * CreateNewCollectionPayload + * @description Base model definition with common configuration used by all derived models. + */ + CreateNewCollectionPayload: { /** - * Ftp Upload Site - * @description Enable Galaxy's "Upload via FTP" interface. - * You'll need to install and configure an FTP server (we've used ProFTPd since it can use Galaxy's - * database for authentication) and set the following two options. - * This will be provided to users in the help text as 'log in to the FTP server at '. - * Thus, it should be the hostname of your FTP server. + * Collection Type + * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ - ftp_upload_site?: string; + collection_type?: string; /** - * Google Analytics Code - * @description You can enter tracking code here to track visitor's behavior - * through your Google Analytics account. Example: UA-XXXXXXXX-Y + * Copy Elements + * @description Whether to create a copy of the source HDAs for the new collection. + * @default false */ - ga_code?: string; + copy_elements?: boolean; /** - * Geographical Server Location Code - * @description The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. - * This is used to make carbon emissions estimates more accurate as the location effects the - * carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the - * `geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, - * visit https://galaxyproject.org/admin/carbon_emissions - * @default GLOBAL + * Element Identifiers + * @description List of elements that should be in the new collection. */ - geographical_server_location_code?: string; + element_identifiers?: components["schemas"]["CollectionElementIdentifier"][]; /** - * Geographical Server Location Name - * @description The name of the geographical location of the Galaxy server. + * Folder Id + * @description The ID of the library folder that will contain the collection. Required if `instance_type=library`. + * @example 0123456789ABCDEF */ - geographical_server_location_name?: string; + folder_id?: string; /** - * Has User Tool Filters - * @description Determines if the user has tool filters. + * Hide Source Items + * @description Whether to mark the original HDAs as hidden. * @default false */ - has_user_tool_filters?: boolean; + hide_source_items?: boolean; /** - * Helpsite Url - * @description The URL linked by the "Galaxy Help" link in the "Help" menu. - * @default https://help.galaxyproject.org/ + * History Id + * @description The ID of the history that will contain the collection. Required if `instance_type=history`. + * @example 0123456789ABCDEF */ - helpsite_url?: string; + history_id?: string; /** - * Inactivity Box Content - * @description Shown in warning box to users that were not activated yet. - * In use only if activation_grace_period is set. - * @default Your account has not been activated yet. Feel free to browse around and see what's available, but you won't be able to upload data or run jobs until you have verified your email address. + * Instance Type + * @description The type of the instance, either `history` (default) or `library`. + * @default history + * @enum {string} */ - inactivity_box_content?: string; + instance_type?: "history" | "library"; /** - * Interactivetools Enable - * @description Enable InteractiveTools. - * @default false + * Name + * @description The name of the new collection. */ - interactivetools_enable?: boolean; + name?: string; + }; + /** + * CreatePagePayload + * @description Base model definition with common configuration used by all derived models. + */ + CreatePagePayload: { /** - * Is Admin User - * @description Determines if the current user is an admin user. - * @default false - * @enum {boolean} + * Annotation + * @description Annotation that will be attached to the page. */ - is_admin_user?: false; + annotation?: string; /** - * Lims Doc Url - * @deprecated - * @description The URL linked by the "LIMS Documentation" link in the "Help" menu. - * **Deprecated**: This is deprecated and will be removed in a future release. - * Please use the `helpsite_url` option instead. - * @default https://usegalaxy.org/u/rkchak/p/sts + * Content + * @description Raw text contents of the first page revision (type dependent on content_format). + * @default */ - lims_doc_url?: string; + content?: string; /** - * Logo Src - * @description The brand image source. - * @default /static/favicon.svg + * Content format + * @description Either `markdown` or `html`. + * @default html */ - logo_src?: string; + content_format?: components["schemas"]["PageContentFormat"]; /** - * Logo Src Secondary - * @description The custom brand image source. + * Workflow invocation ID + * @description Encoded ID used by workflow generated reports. + * @example 0123456789ABCDEF */ - logo_src_secondary?: string; + invocation_id?: string; /** - * Logo Url - * @description The URL linked by the "Galaxy/brand" text. - * @default / + * Identifier + * @description The title slug for the page URL, must be unique. */ - logo_url?: string; + slug: string; /** - * Mailing Join Address - * @description On the user registration form, users may choose to join a mailing list. This - * is the address used to subscribe to the list. Uncomment and leave empty if you - * want to remove this option from the user registration form. - * - * Example value 'galaxy-announce-join@lists.galaxyproject.org' - * @default galaxy-announce-join@bx.psu.edu + * Title + * @description The name of the page. */ - mailing_join_addr?: string; + title: string; + }; + /** + * CreateQuotaParams + * @description Base model definition with common configuration used by all derived models. + */ + CreateQuotaParams: { /** - * Markdown To Pdf Available - * @deprecated - * @description Determines if the markdown to pdf conversion is available. - * **Deprecated**: This is deprecated and will be removed in a future release. - * @default false + * Amount + * @description Quota size (E.g. ``10000MB``, ``99 gb``, ``0.2T``, ``unlimited``) */ - markdown_to_pdf_available?: boolean; + amount: string; /** - * Matomo Server - * @description Please enter the URL for the Matomo server (including https) so this can be used for tracking - * with Matomo (https://matomo.org/). + * Default + * @description Whether or not this is a default quota. Valid values are ``no``, ``unregistered``, ``registered``. None is equivalent to ``no``. + * @default no */ - matomo_server?: string; + default?: components["schemas"]["DefaultQuotaValues"]; /** - * Matomo Site Id - * @description Please enter the site ID for the Matomo server so this can be used for tracking - * with Matomo (https://matomo.org/). + * Description + * @description Detailed text description for this Quota. */ - matomo_site_id?: string; + description: string; /** - * Message Box Class - * @description Class of the message box under the masthead. - * Possible values are: 'info' (the default), 'warning', 'error', 'done'. - * @default info - * @enum {string} - */ - message_box_class?: "info" | "warning" | "error" | "done"; + * Groups + * @description A list of group IDs or names to associate with this quota. + * @default [] + */ + in_groups?: string[]; /** - * Message Box Content - * @description Show a message box under the masthead. + * Users + * @description A list of user IDs or user emails to associate with this quota. + * @default [] */ - message_box_content?: string; + in_users?: string[]; /** - * Message Box Visible - * @description Show a message box under the masthead. - * @default false + * Name + * @description The name of the quota. This must be unique within a Galaxy instance. */ - message_box_visible?: boolean; + name: string; /** - * Nginx Upload Path - * @description This value overrides the action set on the file upload form, e.g. the web - * path where the nginx_upload_module has been configured to intercept upload requests. + * Operation + * @description Quotas can have one of three `operations`:- `=` : The quota is exactly the amount specified- `+` : The amount specified will be added to the amounts of the user's other associated quota definitions- `-` : The amount specified will be subtracted from the amounts of the user's other associated quota definitions + * @default = */ - nginx_upload_path?: string; + operation?: components["schemas"]["QuotaOperation"]; /** - * Object Store Allows Id Selection - * @description Determines if the object store allows id selection. + * Quota Source Label + * @description If set, quota source label to apply this quota operation to. Otherwise, the default quota is used. */ - object_store_allows_id_selection: boolean; + quota_source_label?: string; + }; + /** + * CreateQuotaResult + * @description Contains basic information about a Quota + */ + CreateQuotaResult: { /** - * Object Store Ids Allowing Selection - * @description The ids of the object stores that can be selected. + * ID + * @description The `encoded identifier` of the quota. + * @example 0123456789ABCDEF */ - object_store_ids_allowing_selection: string[]; + id: string; /** - * Oidc - * @description OpenID Connect (OIDC) configuration. - * @default {} + * Message + * @description Text message describing the result of the operation. */ - oidc?: Record; + message: string; /** - * Overwrite Model Recommendations - * @description Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model - * are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools - * by admins and predicted by the deep learning model are shown. - * @default false + * Model class + * @description The name of the database model class. + * @default Quota + * @enum {string} */ - overwrite_model_recommendations?: boolean; + model_class: "Quota"; /** - * Panel Views - * @description Definitions of static toolbox panel views embedded directly in the config instead of reading - * YAML from directory with panel_views_dir. + * Name + * @description The name of the quota. This must be unique within a Galaxy instance. */ - panel_views?: { - [key: string]: Record | undefined; - }; + name: string; /** - * Plausible Domain - * @description Please enter the URL for the Galaxy server so this can be used for tracking - * with Plausible (https://plausible.io/). + * Quota Source Label + * @description Quota source label */ - plausible_domain?: string; + quota_source_label?: string; /** - * Plausible Server - * @description Please enter the URL for the Plausible server (including https) so this can be used for tracking - * with Plausible (https://plausible.io/). + * URL + * @deprecated + * @description The relative URL to get this particular Quota details from the rest API. */ - plausible_server?: string; + url: string; + }; + /** + * CreatedEntryResponse + * @description Base model definition with common configuration used by all derived models. + */ + CreatedEntryResponse: { /** - * Post User Logout Href - * @description This is the default url to which users are redirected after they log out. - * @default /root/login?is_logout_redirect=true + * External link + * @description An optional external link to the created entry if available. */ - post_user_logout_href?: string; + external_link?: string; /** - * Power Usage Effectiveness - * @description The estimated power usage effectiveness of the data centre housing the server your galaxy - * instance is running on. This can make carbon emissions estimates more accurate. - * For more information on how to calculate a PUE value, visit - * https://en.wikipedia.org/wiki/Power_usage_effectiveness - * - * @default 1.67 + * Name + * @description The name of the created entry. + * @example my_new_entry */ - power_usage_effectiveness?: number; + name: string; /** - * Prefer Custos Login - * @description Controls the order of the login page to prefer Custos-based login and registration. - * @default false + * URI + * @description The URI of the created entry. + * @example gxfiles://my_new_entry */ - prefer_custos_login?: boolean; + uri: string; + }; + /** + * CreatedUserModel + * @description User in a transaction context. + */ + CreatedUserModel: { /** - * Python Version - * @description The Python version used by Galaxy as a tuple of integers [mayor, minor]. + * Active + * @description User is active */ - python: number[]; + active: boolean; /** - * Quota Source Labels - * @description The labels of the disk quota sources available on this Galaxy instance. + * Deleted + * @description User is deleted */ - quota_source_labels: string[]; + deleted: boolean; /** - * Quota Url - * @description The URL linked for quota information in the UI. - * @default https://galaxyproject.org/support/account-quotas/ + * Email + * @description Email of the user */ - quota_url?: string; + email: string; /** - * Registration Warning Message - * @description Registration warning message is used to discourage people from registering - * multiple accounts. Applies mostly for the main Galaxy instance. - * If no message specified the warning box will not be shown. - * @default Please register only one account - we provide this service free of charge and have limited computational resources. Multi-accounts are tracked and will be subjected to account termination and data deletion. + * ID + * @description Encoded ID of the user + * @example 0123456789ABCDEF */ - registration_warning_message?: string; + id: string; /** - * Release Doc Base Url - * @description The URL linked by the "Galaxy Version" link in the "Help" menu. - * @default https://docs.galaxyproject.org/en/release_ + * Last password change + * Format: date-time */ - release_doc_base_url?: string; + last_password_change?: string; /** - * Remote User Logout Href - * @description If use_remote_user is enabled, you can set this to a URL that will log your users out. + * Model class + * @description The name of the database model class. + * @default User + * @enum {string} */ - remote_user_logout_href?: string; + model_class: "User"; /** - * Require Login - * @description Force everyone to log in (disable anonymous access). - * @default false + * Nice total disc usage + * @description Size of all non-purged, unique datasets of the user in a nice format. */ - require_login?: boolean; + nice_total_disk_usage: string; /** - * Screencasts Url - * @description The URL linked by the "Videos" link in the "Help" menu. - * @default https://www.youtube.com/c/galaxyproject + * Preferred Object Store ID + * @description The ID of the object store that should be used to store new datasets in this history. */ - screencasts_url?: string; + preferred_object_store_id?: string; /** - * Select Type Workflow Threshold - * @description Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) - * Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. - * use 0 in order to always use select2 fields, use -1 (default) in order to always use the regular select fields, - * use any other positive number as threshold (above threshold: regular select fields will be used) - * @default -1 + * Total disk usage + * @description Size of all non-purged, unique datasets of the user in bytes. */ - select_type_workflow_threshold?: number; + total_disk_usage: number; /** - * Server Mail Configured - * @description Determines if the Galaxy instance has a SMTP server configured. - * @default false + * user_name + * @description The name of the user. */ - server_mail_configured?: boolean; + username: string; + }; + /** + * CustomBuildCreationPayload + * @description Base model definition with common configuration used by all derived models. + */ + CustomBuildCreationPayload: { /** - * Server Start Time - * @description The time when the Galaxy server was started (seconds since Epoch). + * Length type + * @description The type of the len file. */ - server_startttime: number; + "len|type": components["schemas"]["CustomBuildLenType"]; /** - * Show Welcome With Login - * @description Show the site's welcome page (see welcome_url) alongside the login page - * (even if require_login is true). - * @default false + * Length value + * @description The content of the length file. */ - show_welcome_with_login?: boolean; + "len|value": string; /** - * Simplified Workflow Run Ui - * @description If set to 'off' by default, always use the traditional workflow form that renders - * all steps in the GUI and serializes the tool state of all steps during - * invocation. Set to 'prefer' to default to a simplified workflow UI that - * only renders the inputs if possible (the workflow must have no disconnected - * runtime inputs and not replacement parameters within tool steps). In the - * future 'force' may be added an option for Galaskio-style servers that should - * only render simplified workflows. - * @default prefer - * @enum {string} + * Name + * @description The name of the custom build. */ - simplified_workflow_run_ui?: "off" | "prefer"; + name: string; + }; + /** + * CustomBuildLenType + * @description An enumeration. + * @enum {string} + */ + CustomBuildLenType: "file" | "fasta" | "text"; + /** + * CustomBuildModel + * @description Base model definition with common configuration used by all derived models. + */ + CustomBuildModel: { /** - * Simplified Workflow Run Ui Job Cache - * @description When the simplified workflow run form is rendered, should the invocation use job - * caching. This isn't a boolean so an option for 'show-selection' can be added later. - * @default off - * @enum {string} + * Count + * @description The number of chromosomes/contigs. */ - simplified_workflow_run_ui_job_cache?: "on" | "off"; + count?: string; /** - * Simplified Workflow Run Ui Target History - * @description When the simplified workflow run form is rendered, should the invocation outputs - * be sent to the 'current' history or a 'new' history. If the user should be presented - * and option between these - set this to 'prefer_current' or 'prefer_new' to display - * a runtime setting with the corresponding default. The default is to provide the - * user this option and default it to the current history (the traditional behavior - * of Galaxy for years) - this corresponds to the setting 'prefer_current'. - * - * @default prefer_current - * @enum {string} + * Fasta + * @description The primary id of the fasta file from a history. + * @example 0123456789ABCDEF */ - simplified_workflow_run_ui_target_history?: "prefer_current" | "prefer_new"; + fasta?: string; /** - * Single User - * @description If an e-mail address is specified here, it will hijack remote user mechanics - * (``use_remote_user``) and have the webapp inject a single fixed user. This - * has the effect of turning Galaxy into a single user application with no - * login or external proxy required. Such applications should not be exposed to - * the world. + * ID + * @description The ID of the custom build. */ - single_user?: boolean | string; + id: string; /** - * Support Url - * @description The URL linked by the "Support" link in the "Help" menu. - * @default https://galaxyproject.org/support/ + * Length + * @description The primary id of the len file. + * @example 0123456789ABCDEF */ - support_url?: string; + len: string; /** - * Terms Url - * @description The URL linked by the "Terms and Conditions" link in the "Help" menu, as well - * as on the user registration and login forms and in the activation emails. + * Line count + * @description The primary id of a linecount dataset. + * @example 0123456789ABCDEF */ - terms_url?: string; + linecount?: string; /** - * Themes - * @description The visual style themes available on this Galaxy instance. + * Name + * @description The name of the custom build. */ - themes: { - [key: string]: - | { - [key: string]: string | undefined; - } - | undefined; - }; + name: string; + }; + /** + * CustomBuildsCollection + * @description The custom builds associated with the user. + */ + CustomBuildsCollection: components["schemas"]["CustomBuildModel"][]; + /** + * CustomBuildsMetadataResponse + * @description Base model definition with common configuration used by all derived models. + */ + CustomBuildsMetadataResponse: { /** - * Tool Recommendation Model Path - * @description Set remote path of the trained model (HDF5 file) for tool recommendation. - * @default https://github.com/galaxyproject/galaxy-test-data/raw/master/tool_recommendation_model_v_0.2.hdf5 + * Fasta HDAs + * @description A list of label/value pairs with all the datasets of type `FASTA` contained in the History. + * - `label` is item position followed by the name of the dataset. + * - `value` is the encoded database ID of the dataset. */ - tool_recommendation_model_path?: string; + fasta_hdas: components["schemas"]["LabelValuePair"][]; /** - * Tool Training Recommendations - * @description Displays a link to training material, if any includes the current tool. - * When activated the following options also need to be set: - * tool_training_recommendations_link, - * tool_training_recommendations_api_url - * - * @default true + * Installed Builds + * @description TODO */ - tool_training_recommendations?: boolean; + installed_builds: components["schemas"]["LabelValuePair"][]; + }; + /** + * CustomHistoryItem + * @description Can contain any serializable property of the item. + * + * Allows arbitrary custom keys to be specified in the serialization + * parameters without a particular view (predefined set of keys). + */ + CustomHistoryItem: Record; + /** + * DCESummary + * @description Dataset Collection Element summary information. + */ + DCESummary: { /** - * Tool Training Recommendations Api Url - * @description URL to API describing tutorials containing specific tools. - * When CORS is used, make sure to add this host. - * @default https://training.galaxyproject.org/training-material/api/top-tools.json + * Element Identifier + * @description The actual name of this element. */ - tool_training_recommendations_api_url?: string; + element_identifier: string; /** - * Tool Training Recommendations Link - * @description Template URL to display all tutorials containing current tool. - * Valid template inputs are: - * {repository_owner} - * {name} - * {tool_id} - * {training_tool_identifier} - * {version} - * - * @default https://training.galaxyproject.org/training-material/by-tool/{training_tool_identifier}.html + * Element Index + * @description The position index of this element inside the collection. */ - tool_training_recommendations_link?: string; + element_index: number; /** - * Toolbox Auto Sort - * @description If true, the toolbox will be sorted by tool id when the toolbox is loaded. - * This is useful for ensuring that tools are always displayed in the same - * order in the UI. If false, the order of tools in the toolbox will be - * preserved as they are loaded from the tool config files. - * @default true + * Element Type + * @description The type of the element. Used to interpret the `object` field. */ - toolbox_auto_sort?: boolean; + element_type: components["schemas"]["DCEType"]; /** - * Topk Recommendations - * @description Set the number of predictions/recommendations to be made by the model - * @default 20 + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - topk_recommendations?: number; + id: string; /** - * Upload From Form Button - * @description If 'always-on', add another button to tool form data inputs that allow uploading - * data from the tool form in fewer clicks (at the expense of making the form more complicated). This applies to workflows as well. - * - * Avoiding making this a boolean because we may add options such as 'in-single-form-view' - * or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109 - * @default always-off + * Model class + * @description The name of the database model class. + * @default DatasetCollectionElement * @enum {string} */ - upload_from_form_button?: "always-on" | "always-off"; - /** - * Use Remote User - * @description User authentication can be delegated to an upstream proxy server (usually - * Apache). The upstream proxy should set a REMOTE_USER header in the request. - * Enabling remote user disables regular logins. For more information, see: - * https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html - * @default false - */ - use_remote_user?: boolean; + model_class: "DatasetCollectionElement"; /** - * User Library Import Dir Available - * @description Determines if the user library import directory is available. + * Object + * @description The element's specific data depending on the value of `element_type`. */ - user_library_import_dir_available: boolean; + object: + | components["schemas"]["HDAObject"] + | components["schemas"]["HDADetailed"] + | components["schemas"]["DCObject"]; + }; + /** + * DCEType + * @description Available types of dataset collection elements. + * @enum {string} + */ + DCEType: "hda" | "dataset_collection"; + /** + * DCObject + * @description Dataset Collection Object + */ + DCObject: { /** - * Version Extra - * @description The extra version of Galaxy. + * Collection Type + * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ - version_extra?: Record; + collection_type: string; /** - * Version Major - * @description The major version of Galaxy. + * Contents URL + * @description The relative URL to access the contents of this History. */ - version_major: string; + contents_url?: string; /** - * Version Minor - * @description The minor version of Galaxy. + * Element Count + * @description The number of elements contained in the dataset collection. It may be None or undefined if the collection could not be populated. */ - version_minor: string; + element_count?: number; /** - * Visualizations Visible - * @description Show visualization tab and list in masthead. - * @default true + * Elements + * @description The summary information of each of the elements inside the dataset collection. + * @default [] */ - visualizations_visible?: boolean; + elements?: components["schemas"]["DCESummary"][]; /** - * Welcome Directory - * @description Location of New User Welcome data, a single directory containing the - * images and JSON of Topics/Subtopics/Slides as export. This location - * is relative to galaxy/static - * @default plugins/welcome_page/new_user/static/topics/ + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - welcome_directory?: string; + id: string; /** - * Welcome Url - * @description The URL of the page to display in Galaxy's middle pane when loaded. This can - * be an absolute or relative URL. - * @default /static/welcome.html + * Model class + * @description The name of the database model class. + * @default DatasetCollection + * @enum {string} */ - welcome_url?: string; + model_class: "DatasetCollection"; /** - * Wiki Url - * @description The URL linked by the "Community Hub" link in the "Help" menu. - * @default https://galaxyproject.org/ + * Populated + * @description Whether the dataset collection elements (and any subcollections elements) were successfully populated. */ - wiki_url?: string; + populated?: boolean; }; - /** ContentsObject */ - ContentsObject: { - /** - * Contents - * @description If this ContentsObject describes a nested bundle and the caller specified "?expand=true" on the request, then this contents array must be present and describe the objects within the nested bundle. - */ - contents?: components["schemas"]["ContentsObject"][]; - /** - * Drs Uri - * @description A list of full DRS identifier URI paths that may be used to obtain the object. These URIs may be external to this DRS instance. - * @example drs://drs.example.org/314159 - */ - drs_uri?: string[]; + /** + * DataElementsFromTarget + * @description Base model definition with common configuration used by all derived models. + */ + DataElementsFromTarget: { /** - * Id - * @description A DRS identifier of a `DrsObject` (either a single blob or a nested bundle). If this ContentsObject is an object within a nested bundle, then the id is optional. Otherwise, the id is required. + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false */ - id?: string; - /** - * Name - * @description A name declared by the bundle author that must be used when materialising this object, overriding any name directly associated with the object itself. The name must be unique with the containing bundle. This string is made up of uppercase and lowercase letters, decimal digits, hyphen, period, and underscore [A-Za-z0-9.-_]. See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable filenames]. - */ - name: string; - }; - /** - * ConvertedDatasetsMap - * @description Map of `file extension` -> `converted dataset encoded id` - * @example { - * "csv": "dataset_id" - * } - */ - ConvertedDatasetsMap: { - [key: string]: string | undefined; + auto_decompress?: boolean; + /** Destination */ + destination: + | components["schemas"]["HdaDestination"] + | components["schemas"]["LibraryFolderDestination"] + | components["schemas"]["LibraryDestination"]; + elements_from: components["schemas"]["ElementsFromType"]; + /** Ftp Path */ + ftp_path?: string; + /** Path */ + path?: string; + /** Server Dir */ + server_dir?: string; + src: components["schemas"]["ItemsFromSrc"]; + /** Url */ + url?: string; }; /** - * CreateEntryPayload + * DataElementsTarget * @description Base model definition with common configuration used by all derived models. */ - CreateEntryPayload: { - /** - * Name - * @description The name of the entry to create. - * @example my_new_entry - */ - name: string; + DataElementsTarget: { /** - * Target - * @description The target file source to create the entry in. + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false */ - target: string; - }; - /** - * CreateHistoryContentFromStore - * @description Base model definition with common configuration used by all derived models. - */ - CreateHistoryContentFromStore: { - model_store_format?: components["schemas"]["ModelStoreFormat"]; - /** Store Content Uri */ - store_content_uri?: string; - /** Store Dict */ - store_dict?: Record; + auto_decompress?: boolean; + /** Destination */ + destination: + | components["schemas"]["HdaDestination"] + | components["schemas"]["LibraryFolderDestination"] + | components["schemas"]["LibraryDestination"]; + /** Elements */ + elements: ( + | ( + | components["schemas"]["FileDataElement"] + | components["schemas"]["PastedDataElement"] + | components["schemas"]["UrlDataElement"] + | components["schemas"]["PathDataElement"] + | components["schemas"]["ServerDirElement"] + | components["schemas"]["FtpImportElement"] + | components["schemas"]["CompositeDataElement"] + ) + | components["schemas"]["NestedElement"] + )[]; }; /** - * CreateHistoryContentPayload + * DatasetAssociationRoles * @description Base model definition with common configuration used by all derived models. */ - CreateHistoryContentPayload: { + DatasetAssociationRoles: { /** - * Collection Type - * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. + * Access Roles + * @description A list of roles that can access the dataset. The user has to **have all these roles** in order to access this dataset. Users without access permission **cannot** have other permissions on this dataset. If there are no access roles set on the dataset it is considered **unrestricted**. + * @default [] */ - collection_type?: string; + access_dataset_roles?: string[][]; /** - * Content - * @description Depending on the `source` it can be: - * - The encoded id from the library dataset - * - The encoded id from the library folder - * - The encoded id from the HDA - * - The encoded id from the HDCA + * Manage Roles + * @description A list of roles that can manage permissions on the dataset. Users with **any** of these roles can manage permissions of this dataset. If you remove yourself you will lose the ability to manage this dataset unless you are an admin. + * @default [] */ - content?: string | string; + manage_dataset_roles?: string[][]; /** - * Copy Elements - * @description If the source is a collection, whether to copy child HDAs into the target history as well, defaults to False but this is less than ideal and may be changed in future releases. - * @default false + * Modify Roles + * @description A list of roles that can modify the library item. This is a library related permission. User with **any** of these roles can modify name, metadata, and other information about this library item. + * @default [] */ - copy_elements?: boolean; + modify_item_roles?: string[][]; + }; + /** + * DatasetCollectionAttributesResult + * @description Base model definition with common configuration used by all derived models. + */ + DatasetCollectionAttributesResult: { /** - * DBKey + * Dbkey * @description TODO */ - dbkey?: string; - /** - * Element Identifiers - * @description List of elements that should be in the new collection. - */ - element_identifiers?: components["schemas"]["CollectionElementIdentifier"][]; - /** - * Folder Id - * @description The ID of the library folder that will contain the collection. Required if `instance_type=library`. - * @example 0123456789ABCDEF - */ - folder_id?: string; - /** - * Hide Source Items - * @description Whether to mark the original HDAs as hidden. - * @default false - */ - hide_source_items?: boolean; + dbkey: string; + /** Dbkeys */ + dbkeys?: string[]; /** - * History Id - * @description The ID of the history that will contain the collection. Required if `instance_type=history`. - * @example 0123456789ABCDEF + * Extension + * @description The dataset file extension. + * @example txt */ - history_id?: string; + extension: string; + /** Extensions */ + extensions?: string[]; /** - * Instance Type - * @description The type of the instance, either `history` (default) or `library`. - * @default history + * Model class + * @description The name of the database model class. + * @default HistoryDatasetCollectionAssociation * @enum {string} */ - instance_type?: "history" | "library"; - /** - * Name - * @description The name of the new collection. - */ - name?: string; - /** - * Source - * @description The source of the content. Can be other history element to be copied or library elements. - */ - source?: components["schemas"]["HistoryContentSource"]; - /** - * Type - * @description The type of content to be created in the history. - * @default dataset - */ - type?: components["schemas"]["HistoryContentType"]; + model_class: "HistoryDatasetCollectionAssociation"; + tags: components["schemas"]["TagCollection"]; }; /** - * CreateHistoryFromStore - * @description Base model definition with common configuration used by all derived models. + * DatasetCollectionContentElements + * @description Represents a collection of elements contained in the dataset collection. */ - CreateHistoryFromStore: { - model_store_format?: components["schemas"]["ModelStoreFormat"]; - /** Store Content Uri */ - store_content_uri?: string; - /** Store Dict */ - store_dict?: Record; - }; + DatasetCollectionContentElements: components["schemas"]["DCESummary"][]; /** - * CreateLibrariesFromStore - * @description Base model definition with common configuration used by all derived models. + * DatasetCollectionPopulatedState + * @description An enumeration. + * @enum {string} */ - CreateLibrariesFromStore: { - model_store_format?: components["schemas"]["ModelStoreFormat"]; - /** Store Content Uri */ - store_content_uri?: string; - /** Store Dict */ - store_dict?: Record; - }; + DatasetCollectionPopulatedState: "new" | "ok" | "failed"; /** - * CreateLibraryFilePayload + * DatasetContentType + * @description For retrieving content from a structured dataset (e.g. HDF5) + * @enum {string} + */ + DatasetContentType: "meta" | "attr" | "stats" | "data"; + /** + * DatasetErrorMessage * @description Base model definition with common configuration used by all derived models. */ - CreateLibraryFilePayload: { - /** - * From HDA ID - * @description The ID of an accessible HDA to copy into the library. - * @example 0123456789ABCDEF - */ - from_hda_id?: string; + DatasetErrorMessage: { /** - * From HDCA ID - * @description The ID of an accessible HDCA to copy into the library. Nested collections are not allowed, you must flatten the collection first. - * @example 0123456789ABCDEF + * Dataset + * @description The encoded ID of the dataset and its source. */ - from_hdca_id?: string; + dataset: components["schemas"]["EncodedDatasetSourceId"]; /** - * LDDA Message - * @description The new message attribute of the LDDA created. - * @default + * Error Message + * @description The error message returned while processing this dataset. */ - ldda_message?: string; + error_message: string; }; /** - * CreateLibraryFolderPayload + * DatasetInheritanceChain * @description Base model definition with common configuration used by all derived models. + * @default [] */ - CreateLibraryFolderPayload: { + DatasetInheritanceChain: components["schemas"]["DatasetInheritanceChainEntry"][]; + /** + * DatasetInheritanceChainEntry + * @description Base model definition with common configuration used by all derived models. + */ + DatasetInheritanceChainEntry: { /** - * Description - * @description A detailed description of the library folder. - * @default + * Dep + * @description Name of the source of the referenced dataset at this point of the inheritance chain. */ - description?: string; + dep: string; /** * Name - * @description The name of the library folder. + * @description Name of the referenced dataset */ name: string; }; /** - * CreateLibraryPayload - * @description Base model definition with common configuration used by all derived models. + * DatasetPermissions + * @description Role-based permissions for accessing and managing a dataset. */ - CreateLibraryPayload: { + DatasetPermissions: { /** - * Description - * @description A detailed description of the Library. - * @default - */ - description?: string; - /** - * Name - * @description The name of the Library. - */ - name: string; - /** - * Synopsis - * @description A short text describing the contents of the Library. - * @default + * Access + * @description The set of roles (encoded IDs) that can access this dataset. + * @default [] */ - synopsis?: string; - }; - /** CreateMetricsPayload */ - CreateMetricsPayload: { + access?: string[]; /** - * List of metrics to be recorded. + * Management + * @description The set of roles (encoded IDs) that can manage this dataset. * @default [] - * @example [ - * { - * "args": "{\"test\":\"value\"}", - * "level": 0, - * "namespace": "test-source", - * "time": "2021-01-23T18:25:43.511Z" - * } - * ] */ - metrics?: components["schemas"]["Metric"][]; + manage?: string[]; }; /** - * CreateNewCollectionPayload + * DatasetSourceId * @description Base model definition with common configuration used by all derived models. */ - CreateNewCollectionPayload: { - /** - * Collection Type - * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. - */ - collection_type?: string; + DatasetSourceId: { /** - * Copy Elements - * @description Whether to create a copy of the source HDAs for the new collection. - * @default false + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - copy_elements?: boolean; + id: string; /** - * Element Identifiers - * @description List of elements that should be in the new collection. + * Source + * @description The source of this dataset, either `hda` or `ldda` depending of its origin. */ - element_identifiers?: components["schemas"]["CollectionElementIdentifier"][]; + src: components["schemas"]["DatasetSourceType"]; + }; + /** + * DatasetSourceType + * @description An enumeration. + * @enum {string} + */ + DatasetSourceType: "hda" | "ldda"; + /** + * DatasetState + * @description An enumeration. + * @enum {string} + */ + DatasetState: + | "new" + | "upload" + | "queued" + | "running" + | "ok" + | "empty" + | "error" + | "paused" + | "setting_metadata" + | "failed_metadata" + | "deferred" + | "discarded"; + /** + * DatasetStorageDetails + * @description Base model definition with common configuration used by all derived models. + */ + DatasetStorageDetails: { /** - * Folder Id - * @description The ID of the library folder that will contain the collection. Required if `instance_type=library`. - * @example 0123456789ABCDEF + * Badges + * @description A mapping of object store labels to badges describing object store properties. */ - folder_id?: string; + badges: Record[]; /** - * Hide Source Items - * @description Whether to mark the original HDAs as hidden. - * @default false + * Dataset State + * @description The model state of the supplied dataset instance. */ - hide_source_items?: boolean; + dataset_state: string; /** - * History Id - * @description The ID of the history that will contain the collection. Required if `instance_type=history`. - * @example 0123456789ABCDEF + * Description + * @description A description of how this dataset is stored. */ - history_id?: string; + description?: string; /** - * Instance Type - * @description The type of the instance, either `history` (default) or `library`. - * @default history - * @enum {string} + * Hashes + * @description The file contents hashes associated with the supplied dataset instance. */ - instance_type?: "history" | "library"; + hashes: Record[]; /** * Name - * @description The name of the new collection. + * @description The display name of the destination ObjectStore for this dataset. */ name?: string; - }; - /** - * CreatePagePayload - * @description Base model definition with common configuration used by all derived models. - */ - CreatePagePayload: { - /** - * Annotation - * @description Annotation that will be attached to the page. - */ - annotation?: string; /** - * Content - * @description Raw text contents of the first page revision (type dependent on content_format). - * @default + * Object Store Id + * @description The identifier of the destination ObjectStore for this dataset. */ - content?: string; + object_store_id?: string; /** - * Content format - * @description Either `markdown` or `html`. - * @default html + * Percent Used + * @description The percentage indicating how full the store is. */ - content_format?: components["schemas"]["PageContentFormat"]; + percent_used?: number; /** - * Workflow invocation ID - * @description Encoded ID used by workflow generated reports. - * @example 0123456789ABCDEF + * Quota + * @description Information about quota sources around dataset storage. */ - invocation_id?: string; + quota: Record; /** - * Identifier - * @description The title slug for the page URL, must be unique. + * Shareable + * @description Is this dataset shareable. */ - slug: string; + shareable: boolean; /** - * Title - * @description The name of the page. + * Sources + * @description The file sources associated with the supplied dataset instance. */ - title: string; + sources: Record[]; }; /** - * CreateQuotaParams + * DatasetSummary * @description Base model definition with common configuration used by all derived models. */ - CreateQuotaParams: { + DatasetSummary: { /** - * Amount - * @description Quota size (E.g. ``10000MB``, ``99 gb``, ``0.2T``, ``unlimited``) + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - amount: string; + create_time?: string; + /** Deleted */ + deleted: boolean; + /** File Size */ + file_size: number; /** - * Default - * @description Whether or not this is a default quota. Valid values are ``no``, ``unregistered``, ``registered``. None is equivalent to ``no``. - * @default no + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - default?: components["schemas"]["DefaultQuotaValues"]; + id: string; + /** Purgable */ + purgable: boolean; + /** Purged */ + purged: boolean; /** - * Description - * @description Detailed text description for this Quota. + * State + * @description The current state of this dataset. */ - description: string; + state: components["schemas"]["DatasetState"]; + /** Total Size */ + total_size: number; /** - * Groups - * @description A list of group IDs or names to associate with this quota. - * @default [] + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - in_groups?: string[]; + update_time?: string; /** - * Users - * @description A list of user IDs or user emails to associate with this quota. - * @default [] + * UUID + * Format: uuid4 + * @description Universal unique identifier for this dataset. */ - in_users?: string[]; + uuid: string; + }; + /** + * DatasetSummaryList + * @description Base model definition with common configuration used by all derived models. + */ + DatasetSummaryList: components["schemas"]["DatasetSummary"][]; + /** + * DatasetTextContentDetails + * @description Base model definition with common configuration used by all derived models. + */ + DatasetTextContentDetails: { /** - * Name - * @description The name of the quota. This must be unique within a Galaxy instance. + * Item Data + * @description First chunk of text content (maximum 1MB) of the dataset. */ - name: string; + item_data?: string; /** - * Operation - * @description Quotas can have one of three `operations`:- `=` : The quota is exactly the amount specified- `+` : The amount specified will be added to the amounts of the user's other associated quota definitions- `-` : The amount specified will be subtracted from the amounts of the user's other associated quota definitions - * @default = + * Item Url + * @description URL to access this dataset. */ - operation?: components["schemas"]["QuotaOperation"]; + item_url: string; /** - * Quota Source Label - * @description If set, quota source label to apply this quota operation to. Otherwise, the default quota is used. + * Truncated + * @description Whether the text in `item_data` has been truncated or contains the whole contents. */ - quota_source_label?: string; + truncated: boolean; }; /** - * CreateQuotaResult - * @description Contains basic information about a Quota + * DatasetValidatedState + * @description An enumeration. + * @enum {string} */ - CreateQuotaResult: { + DatasetValidatedState: "unknown" | "invalid" | "ok"; + /** DatatypeConverter */ + DatatypeConverter: { /** - * ID - * @description The `encoded identifier` of the quota. - * @example 0123456789ABCDEF + * Source + * @description Source type for conversion + * @example bam */ - id: string; - /** - * Message - * @description Text message describing the result of the operation. - */ - message: string; - /** - * Model class - * @description The name of the database model class. - * @default Quota - * @enum {string} - */ - model_class: "Quota"; - /** - * Name - * @description The name of the quota. This must be unique within a Galaxy instance. - */ - name: string; + source: string; /** - * Quota Source Label - * @description Quota source label + * Target + * @description Target type for conversion + * @example bai */ - quota_source_label?: string; + target: string; /** - * URL - * @deprecated - * @description The relative URL to get this particular Quota details from the rest API. + * Tool identifier + * @description The converter tool identifier + * @example CONVERTER_Bam_Bai_0 */ - url: string; + tool_id: string; }; /** - * CreatedEntryResponse - * @description Base model definition with common configuration used by all derived models. + * DatatypeConverterList + * @default [] */ - CreatedEntryResponse: { + DatatypeConverterList: components["schemas"]["DatatypeConverter"][]; + /** DatatypeDetails */ + DatatypeDetails: { /** - * External link - * @description An optional external link to the created entry if available. + * Composite files + * @description A collection of files composing this data type */ - external_link?: string; + composite_files?: components["schemas"]["CompositeFileInfo"][]; /** - * Name - * @description The name of the created entry. - * @example my_new_entry + * Description + * @description A summary description for this data type */ - name: string; + description?: string; /** - * URI - * @description The URI of the created entry. - * @example gxfiles://my_new_entry + * Description URL + * Format: uri + * @description The URL to a detailed description for this datatype + * @example https://wiki.galaxyproject.org/Learn/Datatypes#Bed */ - uri: string; - }; - /** - * CreatedUserModel - * @description User in a transaction context. - */ - CreatedUserModel: { + description_url?: string; /** - * Active - * @description User is active + * Display in upload + * @description If True, the associated file extension will be displayed in the `File Format` select list in the `Upload File from your computer` tool in the `Get Data` tool section of the tool panel + * @default false */ - active: boolean; + display_in_upload?: boolean; /** - * Deleted - * @description User is deleted + * Extension + * @description The data type’s Dataset file extension + * @example bed */ - deleted: boolean; + extension: string; /** - * Email - * @description Email of the user + * Upload warning + * @description End-user information regarding potential pitfalls with this upload type. */ - email: string; + upload_warning?: string; + }; + /** DatatypeEDAMDetails */ + DatatypeEDAMDetails: { /** - * ID - * @description Encoded ID of the user - * @example 0123456789ABCDEF + * Definition + * @description The EDAM definition + * @example Entry (gene) format of the NCBI database. */ - id: string; + definition?: string; /** - * Last password change - * Format: date-time + * Label + * @description The EDAM label + * @example NCBI gene report format */ - last_password_change?: string; + label?: string; /** - * Model class - * @description The name of the database model class. - * @default User - * @enum {string} + * Prefix IRI + * @description The EDAM prefixed Resource Identifier + * @example format_1782 */ - model_class: "User"; + prefix_IRI: string; + }; + /** DatatypesCombinedMap */ + DatatypesCombinedMap: { /** - * Nice total disc usage - * @description Size of all non-purged, unique datasets of the user in a nice format. + * Datatypes + * @description List of datatypes extensions */ - nice_total_disk_usage: string; + datatypes: string[]; /** - * Preferred Object Store ID - * @description The ID of the object store that should be used to store new datasets in this history. + * Datatypes Mapping + * @description Dictionaries for mapping datatype's extensions/classes with their implementation classes */ - preferred_object_store_id?: string; + datatypes_mapping: components["schemas"]["DatatypesMap"]; + }; + /** + * DatatypesEDAMDetailsDict + * @default {} + */ + DatatypesEDAMDetailsDict: { + [key: string]: components["schemas"]["DatatypeEDAMDetails"] | undefined; + }; + /** DatatypesMap */ + DatatypesMap: { /** - * Total disk usage - * @description Size of all non-purged, unique datasets of the user in bytes. + * Classes Map + * @description Dictionary mapping datatype's classes with their base classes */ - total_disk_usage: number; + class_to_classes: { + [key: string]: + | { + [key: string]: boolean | undefined; + } + | undefined; + }; /** - * user_name - * @description The name of the user. + * Extension Map + * @description Dictionary mapping datatype's extensions with implementation classes */ - username: string; + ext_to_class_name: { + [key: string]: string | undefined; + }; }; /** - * CustomBuildCreationPayload + * DefaultQuota * @description Base model definition with common configuration used by all derived models. */ - CustomBuildCreationPayload: { - /** - * Length type - * @description The type of the len file. - */ - "len|type": components["schemas"]["CustomBuildLenType"]; + DefaultQuota: { /** - * Length value - * @description The content of the length file. + * Model class + * @description The name of the database model class. + * @default DefaultQuotaAssociation + * @enum {string} */ - "len|value": string; + model_class: "DefaultQuotaAssociation"; /** - * Name - * @description The name of the custom build. + * Type + * @description The type of the default quota. Either one of: + * - `registered`: the associated quota will affect registered users. + * - `unregistered`: the associated quota will affect unregistered users. */ - name: string; + type: components["schemas"]["DefaultQuotaTypes"]; }; /** - * CustomBuildLenType + * DefaultQuotaTypes * @description An enumeration. * @enum {string} */ - CustomBuildLenType: "file" | "fasta" | "text"; + DefaultQuotaTypes: "unregistered" | "registered"; /** - * CustomBuildModel + * DefaultQuotaValues + * @description An enumeration. + * @enum {string} + */ + DefaultQuotaValues: "unregistered" | "registered" | "no"; + /** + * DeleteDatasetBatchPayload * @description Base model definition with common configuration used by all derived models. */ - CustomBuildModel: { - /** - * Count - * @description The number of chromosomes/contigs. - */ - count?: string; - /** - * Fasta - * @description The primary id of the fasta file from a history. - * @example 0123456789ABCDEF - */ - fasta?: string; + DeleteDatasetBatchPayload: { /** - * ID - * @description The ID of the custom build. + * Datasets + * @description The list of datasets IDs with their sources to be deleted/purged. */ - id: string; + datasets: components["schemas"]["DatasetSourceId"][]; /** - * Length - * @description The primary id of the len file. - * @example 0123456789ABCDEF + * Purge + * @description Whether to permanently delete from disk the specified datasets. *Warning*: this is a destructive operation. + * @default false */ - len: string; + purge?: boolean; + }; + /** + * DeleteDatasetBatchResult + * @description Base model definition with common configuration used by all derived models. + */ + DeleteDatasetBatchResult: { /** - * Line count - * @description The primary id of a linecount dataset. - * @example 0123456789ABCDEF + * Errors + * @description A list of dataset IDs and the corresponding error message if something went wrong while processing the dataset. */ - linecount?: string; + errors?: components["schemas"]["DatasetErrorMessage"][]; /** - * Name - * @description The name of the custom build. + * Success Count + * @description The number of datasets successfully processed. */ - name: string; + success_count: number; }; /** - * CustomBuildsCollection - * @description The custom builds associated with the user. - */ - CustomBuildsCollection: components["schemas"]["CustomBuildModel"][]; - /** - * CustomBuildsMetadataResponse + * DeleteHistoryContentPayload * @description Base model definition with common configuration used by all derived models. */ - CustomBuildsMetadataResponse: { + DeleteHistoryContentPayload: { /** - * Fasta HDAs - * @description A list of label/value pairs with all the datasets of type `FASTA` contained in the History. - * - `label` is item position followed by the name of the dataset. - * - `value` is the encoded database ID of the dataset. + * Purge + * @description Whether to remove the dataset from storage. Datasets will only be removed from storage once all HDAs or LDDAs that refer to this datasets are deleted. + * @default false */ - fasta_hdas: components["schemas"]["LabelValuePair"][]; + purge?: boolean; /** - * Installed Builds - * @description TODO + * Recursive + * @description When deleting a dataset collection, whether to also delete containing datasets. + * @default false */ - installed_builds: components["schemas"]["LabelValuePair"][]; + recursive?: boolean; + /** + * Stop Job + * @description Whether to stop the creating job if all the job's outputs are deleted. + * @default false + */ + stop_job?: boolean; }; /** - * CustomHistoryItem - * @description Can contain any serializable property of the item. + * DeleteHistoryContentResult + * @description Contains minimum information about the deletion state of a history item. * - * Allows arbitrary custom keys to be specified in the serialization - * parameters without a particular view (predefined set of keys). - */ - CustomHistoryItem: Record; - /** - * DCESummary - * @description Dataset Collection Element summary information. + * Can also contain any other properties of the item. */ - DCESummary: { - /** - * Element Identifier - * @description The actual name of this element. - */ - element_identifier: string; - /** - * Element Index - * @description The position index of this element inside the collection. - */ - element_index: number; + DeleteHistoryContentResult: { /** - * Element Type - * @description The type of the element. Used to interpret the `object` field. + * Deleted + * @description True if the item was successfully deleted. */ - element_type: components["schemas"]["DCEType"]; + deleted: boolean; /** * ID - * @description The encoded ID of this entity. + * @description The encoded ID of the history item. * @example 0123456789ABCDEF */ id: string; /** - * Model class - * @description The name of the database model class. - * @default DatasetCollectionElement - * @enum {string} + * Purged + * @description True if the item was successfully removed from disk. */ - model_class: "DatasetCollectionElement"; + purged?: boolean; + }; + /** DeleteHistoryPayload */ + DeleteHistoryPayload: { /** - * Object - * @description The element's specific data depending on the value of `element_type`. + * Purge + * @description Whether to definitely remove this history from disk. + * @default false */ - object: - | components["schemas"]["HDAObject"] - | components["schemas"]["HDADetailed"] - | components["schemas"]["DCObject"]; + purge?: boolean; }; /** - * DCEType - * @description Available types of dataset collection elements. - * @enum {string} + * DeleteLibraryPayload + * @description Base model definition with common configuration used by all derived models. */ - DCEType: "hda" | "dataset_collection"; + DeleteLibraryPayload: { + /** + * Undelete + * @description Whether to restore this previously deleted library. + */ + undelete: boolean; + }; /** - * DCObject - * @description Dataset Collection Object + * DeleteQuotaPayload + * @description Base model definition with common configuration used by all derived models. */ - DCObject: { + DeleteQuotaPayload: { /** - * Collection Type - * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. + * Purge + * @description Whether to also purge the Quota after deleting it. + * @default false */ - collection_type: string; + purge?: boolean; + }; + /** + * DeletedCustomBuild + * @description Base model definition with common configuration used by all derived models. + */ + DeletedCustomBuild: { /** - * Contents URL - * @description The relative URL to access the contents of this History. + * Deletion message + * @description Confirmation of the custom build deletion. */ - contents_url?: string; + message: string; + }; + /** + * DetailedUserModel + * @description Base model definition with common configuration used by all derived models. + */ + DetailedUserModel: { /** - * Element Count - * @description The number of elements contained in the dataset collection. It may be None or undefined if the collection could not be populated. + * Deleted + * @description User is deleted */ - element_count?: number; + deleted: boolean; /** - * Elements - * @description The summary information of each of the elements inside the dataset collection. - * @default [] + * Email + * @description Email of the user */ - elements?: components["schemas"]["DCESummary"][]; + email: string; /** * ID - * @description The encoded ID of this entity. + * @description Encoded ID of the user * @example 0123456789ABCDEF */ id: string; /** - * Model class - * @description The name of the database model class. - * @default DatasetCollection - * @enum {string} + * Is admin + * @description User is admin */ - model_class: "DatasetCollection"; + is_admin: boolean; /** - * Populated - * @description Whether the dataset collection elements (and any subcollections elements) were successfully populated. + * Nice total disc usage + * @description Size of all non-purged, unique datasets of the user in a nice format. */ - populated?: boolean; - }; - /** - * DataElementsFromTarget - * @description Base model definition with common configuration used by all derived models. - */ - DataElementsFromTarget: { + nice_total_disk_usage: string; /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false + * Preferences + * @description Preferences of the user */ - auto_decompress?: boolean; - /** Destination */ - destination: - | components["schemas"]["HdaDestination"] - | components["schemas"]["LibraryFolderDestination"] - | components["schemas"]["LibraryDestination"]; - elements_from: components["schemas"]["ElementsFromType"]; - /** Ftp Path */ - ftp_path?: string; - /** Path */ - path?: string; - /** Server Dir */ - server_dir?: string; - src: components["schemas"]["ItemsFromSrc"]; - /** Url */ - url?: string; - }; - /** - * DataElementsTarget - * @description Base model definition with common configuration used by all derived models. - */ - DataElementsTarget: { + preferences: Record; /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false + * Preferred Object Store ID + * @description The ID of the object store that should be used to store new datasets in this history. */ - auto_decompress?: boolean; - /** Destination */ - destination: - | components["schemas"]["HdaDestination"] - | components["schemas"]["LibraryFolderDestination"] - | components["schemas"]["LibraryDestination"]; - /** Elements */ - elements: ( - | ( - | components["schemas"]["FileDataElement"] - | components["schemas"]["PastedDataElement"] - | components["schemas"]["UrlDataElement"] - | components["schemas"]["PathDataElement"] - | components["schemas"]["ServerDirElement"] - | components["schemas"]["FtpImportElement"] - | components["schemas"]["CompositeDataElement"] - ) - | components["schemas"]["NestedElement"] - )[]; - }; - /** - * DatasetAssociationRoles - * @description Base model definition with common configuration used by all derived models. - */ - DatasetAssociationRoles: { + preferred_object_store_id?: string; /** - * Access Roles - * @description A list of roles that can access the dataset. The user has to **have all these roles** in order to access this dataset. Users without access permission **cannot** have other permissions on this dataset. If there are no access roles set on the dataset it is considered **unrestricted**. - * @default [] + * Purged + * @description User is purged */ - access_dataset_roles?: string[][]; + purged: boolean; /** - * Manage Roles - * @description A list of roles that can manage permissions on the dataset. Users with **any** of these roles can manage permissions of this dataset. If you remove yourself you will lose the ability to manage this dataset unless you are an admin. - * @default [] + * Quota + * @description Quota applicable to the user */ - manage_dataset_roles?: string[][]; + quota: string; /** - * Modify Roles - * @description A list of roles that can modify the library item. This is a library related permission. User with **any** of these roles can modify name, metadata, and other information about this library item. - * @default [] + * Quota in bytes + * @description Quota applicable to the user in bytes. */ - modify_item_roles?: string[][]; - }; - /** - * DatasetCollectionAttributesResult - * @description Base model definition with common configuration used by all derived models. - */ - DatasetCollectionAttributesResult: { + quota_bytes: Record; /** - * Dbkey - * @description TODO + * Quota percent + * @description Percentage of the storage quota applicable to the user. */ - dbkey: string; - /** Dbkeys */ - dbkeys?: string[]; + quota_percent?: Record; /** - * Extension - * @description The dataset file extension. - * @example txt + * Tags used + * @description Tags used by the user */ - extension: string; - /** Extensions */ - extensions?: string[]; + tags_used: string[]; /** - * Model class - * @description The name of the database model class. - * @default HistoryDatasetCollectionAssociation - * @enum {string} + * Total disk usage + * @description Size of all non-purged, unique datasets of the user in bytes. */ - model_class: "HistoryDatasetCollectionAssociation"; - tags: components["schemas"]["TagCollection"]; + total_disk_usage: number; + /** + * user_name + * @description The name of the user. + */ + username: string; }; /** - * DatasetCollectionContentElements - * @description Represents a collection of elements contained in the dataset collection. + * DisplayApp + * @description Basic linked information about an application that can display certain datatypes. */ - DatasetCollectionContentElements: components["schemas"]["DCESummary"][]; + DisplayApp: { + /** + * Label + * @description The label or title of the Display Application. + */ + label: string; + /** + * Links + * @description The collection of link details for this Display Application. + */ + links: components["schemas"]["Hyperlink"][]; + }; + /** DisplayApplication */ + DisplayApplication: { + /** Filename */ + filename_: string; + /** Id */ + id: string; + /** Links */ + links: components["schemas"]["Link"][]; + /** Name */ + name: string; + /** Version */ + version: string; + }; /** - * DatasetCollectionPopulatedState + * ElementsFromType * @description An enumeration. * @enum {string} */ - DatasetCollectionPopulatedState: "new" | "ok" | "failed"; - /** - * DatasetContentType - * @description For retrieving content from a structured dataset (e.g. HDF5) - * @enum {string} - */ - DatasetContentType: "meta" | "attr" | "stats" | "data"; + ElementsFromType: "archive" | "bagit" | "bagit_archive" | "directory"; /** - * DatasetErrorMessage + * EncodedDatasetSourceId * @description Base model definition with common configuration used by all derived models. */ - DatasetErrorMessage: { + EncodedDatasetSourceId: { /** - * Dataset - * @description The encoded ID of the dataset and its source. + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - dataset: components["schemas"]["EncodedDatasetSourceId"]; + id: string; /** - * Error Message - * @description The error message returned while processing this dataset. + * Source + * @description The source of this dataset, either `hda` or `ldda` depending of its origin. */ - error_message: string; + src: components["schemas"]["DatasetSourceType"]; }; /** - * DatasetInheritanceChain - * @description Base model definition with common configuration used by all derived models. - * @default [] - */ - DatasetInheritanceChain: components["schemas"]["DatasetInheritanceChainEntry"][]; - /** - * DatasetInheritanceChainEntry - * @description Base model definition with common configuration used by all derived models. + * EncodedHistoryContentItem + * @description Identifies a dataset or collection contained in a History. */ - DatasetInheritanceChainEntry: { + EncodedHistoryContentItem: { /** - * Dep - * @description Name of the source of the referenced dataset at this point of the inheritance chain. + * Content Type + * @description The type of this item. */ - dep: string; + history_content_type: components["schemas"]["HistoryContentType"]; /** - * Name - * @description Name of the referenced dataset + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - name: string; + id: string; }; /** - * DatasetPermissions - * @description Role-based permissions for accessing and managing a dataset. + * ExportHistoryArchivePayload + * @description Base model definition with common configuration used by all derived models. */ - DatasetPermissions: { + ExportHistoryArchivePayload: { /** - * Access - * @description The set of roles (encoded IDs) that can access this dataset. - * @default [] + * Directory URI + * @description A writable directory destination where the history will be exported using the `galaxy.files` URI infrastructure. */ - access?: string[]; + directory_uri?: string; /** - * Management - * @description The set of roles (encoded IDs) that can manage this dataset. - * @default [] + * File Name + * @description The name of the file containing the exported history. */ - manage?: string[]; + file_name?: string; + /** + * GZip + * @description Whether to export as gzip archive. + * @default true + */ + gzip?: boolean; + /** + * Include Deleted + * @description Whether to include deleted datasets in the exported archive. + * @default false + */ + include_deleted?: boolean; + /** + * Include Hidden + * @description Whether to include hidden datasets in the exported archive. + * @default false + */ + include_hidden?: boolean; }; /** - * DatasetSourceId + * ExportObjectMetadata * @description Base model definition with common configuration used by all derived models. */ - DatasetSourceId: { + ExportObjectMetadata: { + request_data: components["schemas"]["ExportObjectRequestMetadata"]; + result_data?: components["schemas"]["ExportObjectResultMetadata"]; + }; + /** + * ExportObjectRequestMetadata + * @description Base model definition with common configuration used by all derived models. + */ + ExportObjectRequestMetadata: { /** - * ID - * @description The encoded ID of this entity. + * Object Id * @example 0123456789ABCDEF */ - id: string; + object_id: string; + object_type: components["schemas"]["ExportObjectType"]; + /** Payload */ + payload: + | components["schemas"]["WriteStoreToPayload"] + | components["schemas"]["ShortTermStoreExportPayload"]; /** - * Source - * @description The source of this dataset, either `hda` or `ldda` depending of its origin. + * User Id + * @example 0123456789ABCDEF */ - src: components["schemas"]["DatasetSourceType"]; + user_id?: string; }; /** - * DatasetSourceType - * @description An enumeration. - * @enum {string} + * ExportObjectResultMetadata + * @description Base model definition with common configuration used by all derived models. */ - DatasetSourceType: "hda" | "ldda"; + ExportObjectResultMetadata: { + /** Error */ + error?: string; + /** Success */ + success: boolean; + }; /** - * DatasetState - * @description An enumeration. + * ExportObjectType + * @description Types of objects that can be exported. * @enum {string} */ - DatasetState: - | "new" - | "upload" - | "queued" - | "running" - | "ok" - | "empty" - | "error" - | "paused" - | "setting_metadata" - | "failed_metadata" - | "deferred" - | "discarded"; + ExportObjectType: "history" | "invocation"; /** - * DatasetStorageDetails - * @description Base model definition with common configuration used by all derived models. + * ExportRecordData + * @description Data of an export record associated with a history that was archived. */ - DatasetStorageDetails: { - /** - * Badges - * @description A mapping of object store labels to badges describing object store properties. - */ - badges: Record[]; - /** - * Dataset State - * @description The model state of the supplied dataset instance. - */ - dataset_state: string; - /** - * Description - * @description A description of how this dataset is stored. - */ - description?: string; - /** - * Hashes - * @description The file contents hashes associated with the supplied dataset instance. - */ - hashes: Record[]; - /** - * Name - * @description The display name of the destination ObjectStore for this dataset. - */ - name?: string; + ExportRecordData: { /** - * Object Store Id - * @description The identifier of the destination ObjectStore for this dataset. + * Include deleted + * @description Include file contents for deleted datasets (if include_files is True). + * @default false */ - object_store_id?: string; + include_deleted?: boolean; /** - * Percent Used - * @description The percentage indicating how full the store is. + * Include Files + * @description include materialized files in export when available + * @default true */ - percent_used?: number; + include_files?: boolean; /** - * Quota - * @description Information about quota sources around dataset storage. + * Include hidden + * @description Include file contents for hidden datasets (if include_files is True). + * @default false */ - quota: Record; + include_hidden?: boolean; /** - * Shareable - * @description Is this dataset shareable. + * @description format of model store to export + * @default tar.gz */ - shareable: boolean; + model_store_format?: components["schemas"]["ModelStoreFormat"]; /** - * Sources - * @description The file sources associated with the supplied dataset instance. + * Target URI + * @description Galaxy Files URI to write mode store content to. */ - sources: Record[]; + target_uri: string; }; /** - * DatasetSummary + * ExportTaskListResponse * @description Base model definition with common configuration used by all derived models. */ - DatasetSummary: { - /** - * Create Time - * Format: date-time - * @description The time and date this item was created. - */ - create_time?: string; - /** Deleted */ - deleted: boolean; - /** File Size */ - file_size: number; - /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF - */ - id: string; - /** Purgable */ - purgable: boolean; - /** Purged */ - purged: boolean; - /** - * State - * @description The current state of this dataset. - */ - state: components["schemas"]["DatasetState"]; - /** Total Size */ - total_size: number; + ExportTaskListResponse: components["schemas"]["ObjectExportTaskResponse"][]; + /** + * ExtraFiles + * @description Base model definition with common configuration used by all derived models. + */ + ExtraFiles: { /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. + * Fuzzy Root + * @description Prevent Galaxy from checking for a single file in a directory and re-interpreting the archive + * @default true */ - update_time?: string; + fuzzy_root?: boolean; + /** Items From */ + items_from?: string; + src: components["schemas"]["Src"]; + }; + /** + * FavoriteObject + * @description Base model definition with common configuration used by all derived models. + */ + FavoriteObject: { /** - * UUID - * Format: uuid4 - * @description Universal unique identifier for this dataset. + * Object ID + * @description The id of an object the user wants to favorite. */ - uuid: string; + object_id: string; }; /** - * DatasetSummaryList - * @description Base model definition with common configuration used by all derived models. + * FavoriteObjectType + * @description An enumeration. + * @enum {string} */ - DatasetSummaryList: components["schemas"]["DatasetSummary"][]; + FavoriteObjectType: "tools"; /** - * DatasetTextContentDetails + * FavoriteObjectsSummary * @description Base model definition with common configuration used by all derived models. */ - DatasetTextContentDetails: { - /** - * Item Data - * @description First chunk of text content (maximum 1MB) of the dataset. - */ - item_data?: string; + FavoriteObjectsSummary: { /** - * Item Url - * @description URL to access this dataset. + * Favorite tools + * @description The name of the tools the user favored. */ - item_url: string; + tools: string[]; + }; + /** + * FetchDataPayload + * @description Base model definition with common configuration used by all derived models. + */ + FetchDataPayload: { /** - * Truncated - * @description Whether the text in `item_data` has been truncated or contains the whole contents. + * History ID + * @description The encoded ID of the history associated with this item. + * @example 0123456789ABCDEF */ - truncated: boolean; + history_id: string; + /** Targets */ + targets: ( + | components["schemas"]["DataElementsTarget"] + | components["schemas"]["HdcaDataItemsTarget"] + | components["schemas"]["DataElementsFromTarget"] + | components["schemas"]["HdcaDataItemsFromTarget"] + | components["schemas"]["FtpImportTarget"] + )[]; }; /** - * DatasetValidatedState - * @description An enumeration. - * @enum {string} + * FileDataElement + * @description Base model definition with common configuration used by all derived models. */ - DatasetValidatedState: "unknown" | "invalid" | "ok"; - /** DatatypeConverter */ - DatatypeConverter: { + FileDataElement: { + /** Md5 */ + MD5?: string; /** - * Source - * @description Source type for conversion - * @example bam + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false */ - source: string; + auto_decompress?: boolean; + /** Collection Type */ + collection_type?: string; + /** Created From Basename */ + created_from_basename?: string; /** - * Target - * @description Target type for conversion - * @example bai + * Dbkey + * @default ? */ - target: string; + dbkey?: string; /** - * Tool identifier - * @description The converter tool identifier - * @example CONVERTER_Bam_Bai_0 + * Deferred + * @default false */ - tool_id: string; - }; - /** - * DatatypeConverterList - * @default [] - */ - DatatypeConverterList: components["schemas"]["DatatypeConverter"][]; - /** DatatypeDetails */ - DatatypeDetails: { + deferred?: boolean; + elements_from?: components["schemas"]["ElementsFromType"]; /** - * Composite files - * @description A collection of files composing this data type + * Ext + * @default auto */ - composite_files?: components["schemas"]["CompositeFileInfo"][]; + ext?: string; + extra_files?: components["schemas"]["ExtraFiles"]; + /** Info */ + info?: string; + /** Name */ + name?: string; /** - * Description - * @description A summary description for this data type + * Space To Tab + * @default false */ - description?: string; + space_to_tab?: boolean; /** - * Description URL - * Format: uri - * @description The URL to a detailed description for this datatype - * @example https://wiki.galaxyproject.org/Learn/Datatypes#Bed + * Src + * @enum {string} */ - description_url?: string; + src: "files"; + /** Tags */ + tags?: string[]; /** - * Display in upload - * @description If True, the associated file extension will be displayed in the `File Format` select list in the `Upload File from your computer` tool in the `Get Data` tool section of the tool panel + * To Posix Lines * @default false */ - display_in_upload?: boolean; + to_posix_lines?: boolean; + }; + /** + * FileLibraryFolderItem + * @description Base model definition with common configuration used by all derived models. + */ + FileLibraryFolderItem: { + /** Can Manage */ + can_manage: boolean; /** - * Extension - * @description The data type’s Dataset file extension - * @example bed + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - extension: string; + create_time: string; /** - * Upload warning - * @description End-user information regarding potential pitfalls with this upload type. + * Date Uploaded + * Format: date-time */ - upload_warning?: string; - }; - /** DatatypeEDAMDetails */ - DatatypeEDAMDetails: { + date_uploaded: string; + /** Deleted */ + deleted: boolean; + /** File Ext */ + file_ext: string; + /** File Size */ + file_size: string; /** - * Definition - * @description The EDAM definition - * @example Entry (gene) format of the NCBI database. + * Id + * @example 0123456789ABCDEF */ - definition?: string; + id: string; + /** Is Private */ + is_private: boolean; + /** Is Unrestricted */ + is_unrestricted: boolean; /** - * Label - * @description The EDAM label - * @example NCBI gene report format + * Ldda Id + * @example 0123456789ABCDEF */ - label?: string; + ldda_id: string; + /** Message */ + message?: string; + /** Name */ + name: string; + /** Raw Size */ + raw_size: number; /** - * Prefix IRI - * @description The EDAM prefixed Resource Identifier - * @example format_1782 + * State + * @description The current state of this dataset. */ - prefix_IRI: string; - }; - /** DatatypesCombinedMap */ - DatatypesCombinedMap: { + state: components["schemas"]["DatasetState"]; + tags: components["schemas"]["TagCollection"]; /** - * Datatypes - * @description List of datatypes extensions + * Type + * @enum {string} */ - datatypes: string[]; + type: "file"; /** - * Datatypes Mapping - * @description Dictionaries for mapping datatype's extensions/classes with their implementation classes + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - datatypes_mapping: components["schemas"]["DatatypesMap"]; + update_time: string; }; /** - * DatatypesEDAMDetailsDict - * @default {} + * FilesSourcePlugin + * @description Base model definition with common configuration used by all derived models. */ - DatatypesEDAMDetailsDict: { - [key: string]: components["schemas"]["DatatypeEDAMDetails"] | undefined; - }; - /** DatatypesMap */ - DatatypesMap: { + FilesSourcePlugin: { /** - * Classes Map - * @description Dictionary mapping datatype's classes with their base classes + * Browsable + * @description Whether this file source plugin can list items. */ - class_to_classes: { - [key: string]: - | { - [key: string]: boolean | undefined; - } - | undefined; - }; + browsable: boolean; /** - * Extension Map - * @description Dictionary mapping datatype's extensions with implementation classes + * Documentation + * @description Documentation or extended description for this plugin. + * @example Galaxy's library import directory */ - ext_to_class_name: { - [key: string]: string | undefined; - }; - }; - /** - * DefaultQuota - * @description Base model definition with common configuration used by all derived models. - */ - DefaultQuota: { + doc: string; /** - * Model class - * @description The name of the database model class. - * @default DefaultQuotaAssociation - * @enum {string} + * ID + * @description The `FilesSource` plugin identifier + * @example _import */ - model_class: "DefaultQuotaAssociation"; + id: string; + /** + * Label + * @description The display label for this plugin. + * @example Library Import Directory + */ + label: string; + /** + * Requires groups + * @description Only users belonging to the groups specified here can access this files source. + */ + requires_groups?: string; + /** + * Requires roles + * @description Only users with the roles specified here can access this files source. + */ + requires_roles?: string; /** * Type - * @description The type of the default quota. Either one of: - * - `registered`: the associated quota will affect registered users. - * - `unregistered`: the associated quota will affect unregistered users. + * @description The type of the plugin. + * @example gximport */ - type: components["schemas"]["DefaultQuotaTypes"]; + type: string; + /** + * Writeable + * @description Whether this files source plugin allows write access. + * @example false + */ + writable: boolean; }; /** - * DefaultQuotaTypes - * @description An enumeration. - * @enum {string} - */ - DefaultQuotaTypes: "unregistered" | "registered"; - /** - * DefaultQuotaValues - * @description An enumeration. - * @enum {string} + * FilesSourcePluginList + * @description Base model definition with common configuration used by all derived models. + * @default [] + * @example [ + * { + * "browsable": true, + * "doc": "Galaxy's library import directory", + * "id": "_import", + * "label": "Library Import Directory", + * "type": "gximport", + * "uri_root": "gximport://", + * "writable": false + * } + * ] */ - DefaultQuotaValues: "unregistered" | "registered" | "no"; + FilesSourcePluginList: ( + | components["schemas"]["BrowsableFilesSourcePlugin"] + | components["schemas"]["FilesSourcePlugin"] + )[]; /** - * DeleteDatasetBatchPayload + * FolderLibraryFolderItem * @description Base model definition with common configuration used by all derived models. */ - DeleteDatasetBatchPayload: { + FolderLibraryFolderItem: { + /** Can Manage */ + can_manage: boolean; + /** Can Modify */ + can_modify: boolean; /** - * Datasets - * @description The list of datasets IDs with their sources to be deleted/purged. + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - datasets: components["schemas"]["DatasetSourceId"][]; + create_time: string; + /** Deleted */ + deleted: boolean; /** - * Purge - * @description Whether to permanently delete from disk the specified datasets. *Warning*: this is a destructive operation. - * @default false + * Description + * @description A detailed description of the library folder. + * @default */ - purge?: boolean; - }; - /** - * DeleteDatasetBatchResult - * @description Base model definition with common configuration used by all derived models. - */ - DeleteDatasetBatchResult: { + description?: string; /** - * Errors - * @description A list of dataset IDs and the corresponding error message if something went wrong while processing the dataset. + * Id + * @example 0123456789ABCDEF */ - errors?: components["schemas"]["DatasetErrorMessage"][]; + id: string; + /** Name */ + name: string; /** - * Success Count - * @description The number of datasets successfully processed. + * Type + * @enum {string} */ - success_count: number; + type: "folder"; + /** + * Update Time + * Format: date-time + * @description The last time and date this item was updated. + */ + update_time: string; }; /** - * DeleteHistoryContentPayload + * FtpImportElement * @description Base model definition with common configuration used by all derived models. */ - DeleteHistoryContentPayload: { + FtpImportElement: { + /** Md5 */ + MD5?: string; /** - * Purge - * @description Whether to remove the dataset from storage. Datasets will only be removed from storage once all HDAs or LDDAs that refer to this datasets are deleted. + * Auto Decompress + * @description Decompress compressed data before sniffing? * @default false */ - purge?: boolean; + auto_decompress?: boolean; + /** Collection Type */ + collection_type?: string; + /** Created From Basename */ + created_from_basename?: string; /** - * Recursive - * @description When deleting a dataset collection, whether to also delete containing datasets. - * @default false + * Dbkey + * @default ? */ - recursive?: boolean; + dbkey?: string; /** - * Stop Job - * @description Whether to stop the creating job if all the job's outputs are deleted. + * Deferred * @default false */ - stop_job?: boolean; - }; - /** - * DeleteHistoryContentResult - * @description Contains minimum information about the deletion state of a history item. - * - * Can also contain any other properties of the item. - */ - DeleteHistoryContentResult: { + deferred?: boolean; + elements_from?: components["schemas"]["ElementsFromType"]; /** - * Deleted - * @description True if the item was successfully deleted. + * Ext + * @default auto */ - deleted: boolean; + ext?: string; + extra_files?: components["schemas"]["ExtraFiles"]; + /** Ftp Path */ + ftp_path: string; + /** Info */ + info?: string; + /** Name */ + name?: string; /** - * ID - * @description The encoded ID of the history item. - * @example 0123456789ABCDEF + * Space To Tab + * @default false */ - id: string; + space_to_tab?: boolean; /** - * Purged - * @description True if the item was successfully removed from disk. + * Src + * @enum {string} */ - purged?: boolean; - }; - /** DeleteHistoryPayload */ - DeleteHistoryPayload: { + src: "ftp_import"; + /** Tags */ + tags?: string[]; /** - * Purge - * @description Whether to definitely remove this history from disk. + * To Posix Lines * @default false */ - purge?: boolean; + to_posix_lines?: boolean; }; /** - * DeleteLibraryPayload + * FtpImportTarget * @description Base model definition with common configuration used by all derived models. */ - DeleteLibraryPayload: { + FtpImportTarget: { /** - * Undelete - * @description Whether to restore this previously deleted library. + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false */ - undelete: boolean; + auto_decompress?: boolean; + /** Collection Type */ + collection_type?: string; + destination: components["schemas"]["HdcaDestination"]; + elements_from?: components["schemas"]["ElementsFromType"]; + /** Ftp Path */ + ftp_path: string; + /** Name */ + name?: string; + /** + * Src + * @enum {string} + */ + src: "ftp_import"; + /** Tags */ + tags?: string[]; }; /** - * DeleteQuotaPayload - * @description Base model definition with common configuration used by all derived models. + * GroupModel + * @description User group model */ - DeleteQuotaPayload: { + GroupModel: { /** - * Purge - * @description Whether to also purge the Quota after deleting it. - * @default false + * ID + * @description Encoded group ID + * @example 0123456789ABCDEF */ - purge?: boolean; + id: string; + /** + * Model class + * @description The name of the database model class. + * @default Group + * @enum {string} + */ + model_class: "Group"; + /** + * Name + * @description The name of the group. + */ + name: string; }; /** - * DeletedCustomBuild + * GroupQuota * @description Base model definition with common configuration used by all derived models. */ - DeletedCustomBuild: { + GroupQuota: { /** - * Deletion message - * @description Confirmation of the custom build deletion. + * Group + * @description Information about a user group associated with a quota. */ - message: string; + group: components["schemas"]["GroupModel"]; + /** + * Model class + * @description The name of the database model class. + * @default GroupQuotaAssociation + * @enum {string} + */ + model_class: "GroupQuotaAssociation"; }; /** - * DetailedUserModel + * GroupRoleListResponse * @description Base model definition with common configuration used by all derived models. */ - DetailedUserModel: { + GroupRoleListResponse: components["schemas"]["GroupRoleResponse"][]; + /** + * GroupRoleResponse + * @description Base model definition with common configuration used by all derived models. + */ + GroupRoleResponse: { /** - * Deleted - * @description User is deleted + * ID + * @description Encoded ID of the role + * @example 0123456789ABCDEF */ - deleted: boolean; + id: string; + /** + * Name + * @description Name of the role + */ + name: string; + /** + * URL + * @deprecated + * @description The relative URL to access this item. + */ + url: string; + }; + /** + * GroupUserListResponse + * @description Base model definition with common configuration used by all derived models. + */ + GroupUserListResponse: components["schemas"]["GroupUserResponse"][]; + /** + * GroupUserResponse + * @description Base model definition with common configuration used by all derived models. + */ + GroupUserResponse: { /** * Email * @description Email of the user @@ -5375,747 +5402,562 @@ export interface components { */ id: string; /** - * Is admin - * @description User is admin + * URL + * @deprecated + * @description The relative URL to access this item. */ - is_admin: boolean; + url: string; + }; + /** + * HDADetailed + * @description History Dataset Association detailed information. + */ + HDADetailed: { /** - * Nice total disc usage - * @description Size of all non-purged, unique datasets of the user in a nice format. + * Accessible + * @description Whether this item is accessible to the current user due to permissions. */ - nice_total_disk_usage: string; + accessible: boolean; /** - * Preferences - * @description Preferences of the user + * Annotation + * @description An annotation to provide details or to help understand the purpose and usage of this item. */ - preferences: Record; + annotation: string; /** - * Preferred Object Store ID - * @description The ID of the object store that should be used to store new datasets in this history. + * API Type + * @description TODO + * @default file + * @enum {string} */ - preferred_object_store_id?: string; + api_type?: "file"; /** - * Purged - * @description User is purged + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - purged: boolean; + create_time?: string; /** - * Quota - * @description Quota applicable to the user + * Created from basename + * @description The basename of the output that produced this dataset. */ - quota: string; + created_from_basename?: string; /** - * Quota in bytes - * @description Quota applicable to the user in bytes. + * Creating Job ID + * @description The encoded ID of the job that created this dataset. */ - quota_bytes: Record; + creating_job: string; /** - * Quota percent - * @description Percentage of the storage quota applicable to the user. + * Data Type + * @description The fully qualified name of the class implementing the data type of this dataset. + * @example galaxy.datatypes.data.Text */ - quota_percent?: Record; + data_type: string; /** - * Tags used - * @description Tags used by the user + * Dataset ID + * @description The encoded ID of the dataset associated with this item. + * @example 0123456789ABCDEF */ - tags_used: string[]; + dataset_id: string; /** - * Total disk usage - * @description Size of all non-purged, unique datasets of the user in bytes. + * Deleted + * @description Whether this item is marked as deleted. */ - total_disk_usage: number; + deleted: boolean; /** - * user_name - * @description The name of the user. + * Display Applications + * @description Contains new-style display app urls. */ - username: string; - }; - /** - * DisplayApp - * @description Basic linked information about an application that can display certain datatypes. - */ - DisplayApp: { + display_apps: components["schemas"]["DisplayApp"][]; /** - * Label - * @description The label or title of the Display Application. + * Legacy Display Applications + * @description Contains old-style display app urls. */ - label: string; + display_types: components["schemas"]["DisplayApp"][]; /** - * Links - * @description The collection of link details for this Display Application. + * Download URL + * @description The URL to download this item from the server. */ - links: components["schemas"]["Hyperlink"][]; - }; - /** DisplayApplication */ - DisplayApplication: { - /** Filename */ - filename_: string; - /** Id */ - id: string; - /** Links */ - links: components["schemas"]["Link"][]; - /** Name */ - name: string; - /** Version */ - version: string; - }; - /** - * ElementsFromType - * @description An enumeration. - * @enum {string} - */ - ElementsFromType: "archive" | "bagit" | "bagit_archive" | "directory"; - /** - * EncodedDatasetSourceId - * @description Base model definition with common configuration used by all derived models. - */ - EncodedDatasetSourceId: { + download_url: string; /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF + * Extension + * @description The extension of the dataset. + * @example txt */ - id: string; + extension: string; /** - * Source - * @description The source of this dataset, either `hda` or `ldda` depending of its origin. + * File extension + * @description The extension of the file. */ - src: components["schemas"]["DatasetSourceType"]; - }; - /** - * EncodedHistoryContentItem - * @description Identifies a dataset or collection contained in a History. - */ - EncodedHistoryContentItem: { + file_ext: string; + /** + * File Name + * @description The full path to the dataset file. + */ + file_name?: string; + /** + * File Size + * @description The file size in bytes. + */ + file_size: number; + /** + * Genome Build + * @description TODO + * @default ? + */ + genome_build?: string; + /** + * HDA or LDDA + * @description Whether this dataset belongs to a history (HDA) or a library (LDDA). + * @default hda + */ + hda_ldda?: components["schemas"]["DatasetSourceType"]; + /** + * HID + * @description The index position of this item in the History. + */ + hid: number; /** * Content Type * @description The type of this item. */ history_content_type: components["schemas"]["HistoryContentType"]; + /** + * History ID + * @description The encoded ID of the history associated with this item. + * @example 0123456789ABCDEF + */ + history_id: string; /** * ID * @description The encoded ID of this entity. * @example 0123456789ABCDEF */ id: string; - }; - /** - * ExportHistoryArchivePayload - * @description Base model definition with common configuration used by all derived models. - */ - ExportHistoryArchivePayload: { /** - * Directory URI - * @description A writable directory destination where the history will be exported using the `galaxy.files` URI infrastructure. + * Metadata Files + * @description Collection of metadata files associated with this dataset. */ - directory_uri?: string; + meta_files: components["schemas"]["MetadataFile"][]; /** - * File Name - * @description The name of the file containing the exported history. + * Metadata + * @description The metadata associated with this dataset. */ - file_name?: string; + metadata?: Record; /** - * GZip - * @description Whether to export as gzip archive. - * @default true + * Metadata Data Lines + * @description TODO + * @default 0 */ - gzip?: boolean; + metadata_data_lines?: number; /** - * Include Deleted - * @description Whether to include deleted datasets in the exported archive. - * @default false + * Metadata DBKey + * @description TODO + * @default ? */ - include_deleted?: boolean; + metadata_dbkey?: string; /** - * Include Hidden - * @description Whether to include hidden datasets in the exported archive. - * @default false + * Miscellaneous Blurb + * @description TODO */ - include_hidden?: boolean; - }; - /** - * ExportObjectMetadata - * @description Base model definition with common configuration used by all derived models. - */ - ExportObjectMetadata: { - request_data: components["schemas"]["ExportObjectRequestMetadata"]; - result_data?: components["schemas"]["ExportObjectResultMetadata"]; - }; - /** - * ExportObjectRequestMetadata - * @description Base model definition with common configuration used by all derived models. - */ - ExportObjectRequestMetadata: { + misc_blurb?: string; /** - * Object Id - * @example 0123456789ABCDEF + * Miscellaneous Information + * @description TODO */ - object_id: string; - object_type: components["schemas"]["ExportObjectType"]; - /** Payload */ - payload: - | components["schemas"]["WriteStoreToPayload"] - | components["schemas"]["ShortTermStoreExportPayload"]; + misc_info?: string; /** - * User Id - * @example 0123456789ABCDEF + * Model class + * @description The name of the database model class. + * @enum {string} */ - user_id?: string; - }; - /** - * ExportObjectResultMetadata - * @description Base model definition with common configuration used by all derived models. - */ - ExportObjectResultMetadata: { - /** Error */ - error?: string; - /** Success */ - success: boolean; - }; - /** - * ExportObjectType - * @description Types of objects that can be exported. - * @enum {string} - */ - ExportObjectType: "history" | "invocation"; - /** - * ExportRecordData - * @description Data of an export record associated with a history that was archived. - */ - ExportRecordData: { + model_class: "HistoryDatasetAssociation"; /** - * Include deleted - * @description Include file contents for deleted datasets (if include_files is True). - * @default false + * Name + * @description The name of the item. */ - include_deleted?: boolean; + name?: string; /** - * Include Files - * @description include materialized files in export when available - * @default true + * Peek + * @description A few lines of contents from the start of the file. */ - include_files?: boolean; + peek?: string; /** - * Include hidden - * @description Include file contents for hidden datasets (if include_files is True). - * @default false + * Permissions + * @description Role-based access and manage control permissions for the dataset. */ - include_hidden?: boolean; + permissions: components["schemas"]["DatasetPermissions"]; /** - * @description format of model store to export - * @default tar.gz + * Purged + * @description Whether this dataset has been removed from disk. */ - model_store_format?: components["schemas"]["ModelStoreFormat"]; + purged: boolean; /** - * Target URI - * @description Galaxy Files URI to write mode store content to. + * Rerunnable + * @description Whether the job creating this dataset can be run again. */ - target_uri: string; - }; - /** - * ExportTaskListResponse - * @description Base model definition with common configuration used by all derived models. - */ - ExportTaskListResponse: components["schemas"]["ObjectExportTaskResponse"][]; - /** - * ExtraFiles - * @description Base model definition with common configuration used by all derived models. - */ - ExtraFiles: { + rerunnable: boolean; /** - * Fuzzy Root - * @description Prevent Galaxy from checking for a single file in a directory and re-interpreting the archive - * @default true + * Resubmitted + * @description Whether the job creating this dataset has been resubmitted. */ - fuzzy_root?: boolean; - /** Items From */ - items_from?: string; - src: components["schemas"]["Src"]; - }; - /** - * FavoriteObject - * @description Base model definition with common configuration used by all derived models. - */ - FavoriteObject: { + resubmitted: boolean; /** - * Object ID - * @description The id of an object the user wants to favorite. + * State + * @description The current state of this dataset. */ - object_id: string; - }; - /** - * FavoriteObjectType - * @description An enumeration. - * @enum {string} - */ - FavoriteObjectType: "tools"; - /** - * FavoriteObjectsSummary - * @description Base model definition with common configuration used by all derived models. - */ - FavoriteObjectsSummary: { + state: components["schemas"]["DatasetState"]; + tags: components["schemas"]["TagCollection"]; /** - * Favorite tools - * @description The name of the tools the user favored. + * Type + * @description This is always `file` for datasets. + * @default file + * @enum {string} */ - tools: string[]; - }; - /** - * FetchDataPayload - * @description Base model definition with common configuration used by all derived models. - */ - FetchDataPayload: { + type?: "file"; /** - * History ID - * @description The encoded ID of the history associated with this item. - * @example 0123456789ABCDEF + * Type - ID + * @description The type and the encoded ID of this item. Used for caching. + * @example dataset-616e371b2cc6c62e */ - history_id: string; - /** Targets */ - targets: ( - | components["schemas"]["DataElementsTarget"] - | components["schemas"]["HdcaDataItemsTarget"] - | components["schemas"]["DataElementsFromTarget"] - | components["schemas"]["HdcaDataItemsFromTarget"] - | components["schemas"]["FtpImportTarget"] - )[]; - }; - /** - * FileDataElement - * @description Base model definition with common configuration used by all derived models. - */ - FileDataElement: { - /** Md5 */ - MD5?: string; + type_id?: string; /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - /** Created From Basename */ - created_from_basename?: string; + update_time?: string; /** - * Dbkey - * @default ? + * URL + * @deprecated + * @description The relative URL to access this item. */ - dbkey?: string; + url: string; /** - * Deferred - * @default false + * UUID + * Format: uuid4 + * @description Universal unique identifier for this dataset. */ - deferred?: boolean; - elements_from?: components["schemas"]["ElementsFromType"]; + uuid: string; /** - * Ext - * @default auto + * Validated State + * @description The state of the datatype validation for this dataset. */ - ext?: string; - extra_files?: components["schemas"]["ExtraFiles"]; - /** Info */ - info?: string; - /** Name */ - name?: string; + validated_state: components["schemas"]["DatasetValidatedState"]; /** - * Space To Tab - * @default false + * Validated State Message + * @description The message with details about the datatype validation result for this dataset. */ - space_to_tab?: boolean; + validated_state_message: string; /** - * Src - * @enum {string} + * Visible + * @description Whether this item is visible or hidden to the user by default. */ - src: "files"; - /** Tags */ - tags?: string[]; + visible: boolean; /** - * To Posix Lines - * @default false + * Visualizations + * @description The collection of visualizations that can be applied to this dataset. */ - to_posix_lines?: boolean; + visualizations: components["schemas"]["Visualization"][]; }; /** - * FileLibraryFolderItem - * @description Base model definition with common configuration used by all derived models. + * HDAObject + * @description History Dataset Association Object */ - FileLibraryFolderItem: { - /** Can Manage */ - can_manage: boolean; + HDAObject: { /** - * Create Time - * Format: date-time - * @description The time and date this item was created. + * HDA or LDDA + * @description Whether this dataset belongs to a history (HDA) or a library (LDDA). + * @default hda */ - create_time: string; + hda_ldda?: components["schemas"]["DatasetSourceType"]; /** - * Date Uploaded - * Format: date-time + * History ID + * @description The encoded ID of the history associated with this item. + * @example 0123456789ABCDEF */ - date_uploaded: string; - /** Deleted */ - deleted: boolean; - /** File Ext */ - file_ext: string; - /** File Size */ - file_size: string; + history_id: string; /** - * Id + * ID + * @description The encoded ID of this entity. * @example 0123456789ABCDEF */ id: string; - /** Is Private */ - is_private: boolean; - /** Is Unrestricted */ - is_unrestricted: boolean; /** - * Ldda Id - * @example 0123456789ABCDEF + * Model class + * @description The name of the database model class. + * @default HistoryDatasetAssociation + * @enum {string} */ - ldda_id: string; - /** Message */ - message?: string; - /** Name */ - name: string; - /** Raw Size */ - raw_size: number; + model_class: "HistoryDatasetAssociation"; /** * State * @description The current state of this dataset. */ state: components["schemas"]["DatasetState"]; - tags: components["schemas"]["TagCollection"]; - /** - * Type - * @enum {string} - */ - type: "file"; - /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. - */ - update_time: string; + /** Tags */ + tags: string[]; }; /** - * FilesSourcePlugin - * @description Base model definition with common configuration used by all derived models. + * HDASummary + * @description History Dataset Association summary information. */ - FilesSourcePlugin: { + HDASummary: { /** - * Browsable - * @description Whether this file source plugin can list items. + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - browsable: boolean; + create_time?: string; /** - * Documentation - * @description Documentation or extended description for this plugin. - * @example Galaxy's library import directory + * Dataset ID + * @description The encoded ID of the dataset associated with this item. + * @example 0123456789ABCDEF */ - doc: string; + dataset_id: string; /** - * ID - * @description The `FilesSource` plugin identifier - * @example _import + * Deleted + * @description Whether this item is marked as deleted. */ - id: string; + deleted: boolean; /** - * Label - * @description The display label for this plugin. - * @example Library Import Directory + * Extension + * @description The extension of the dataset. + * @example txt */ - label: string; + extension: string; /** - * Requires groups - * @description Only users belonging to the groups specified here can access this files source. + * HID + * @description The index position of this item in the History. */ - requires_groups?: string; + hid: number; /** - * Requires roles - * @description Only users with the roles specified here can access this files source. + * Content Type + * @description The type of this item. */ - requires_roles?: string; + history_content_type: components["schemas"]["HistoryContentType"]; /** - * Type - * @description The type of the plugin. - * @example gximport + * History ID + * @description The encoded ID of the history associated with this item. + * @example 0123456789ABCDEF */ - type: string; + history_id: string; /** - * Writeable - * @description Whether this files source plugin allows write access. - * @example false + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - writable: boolean; - }; - /** - * FilesSourcePluginList - * @description Base model definition with common configuration used by all derived models. - * @default [] - * @example [ - * { - * "browsable": true, - * "doc": "Galaxy's library import directory", - * "id": "_import", - * "label": "Library Import Directory", - * "type": "gximport", - * "uri_root": "gximport://", - * "writable": false - * } - * ] - */ - FilesSourcePluginList: ( - | components["schemas"]["BrowsableFilesSourcePlugin"] - | components["schemas"]["FilesSourcePlugin"] - )[]; - /** - * FolderLibraryFolderItem - * @description Base model definition with common configuration used by all derived models. - */ - FolderLibraryFolderItem: { - /** Can Manage */ - can_manage: boolean; - /** Can Modify */ - can_modify: boolean; + id: string; /** - * Create Time - * Format: date-time - * @description The time and date this item was created. + * Name + * @description The name of the item. */ - create_time: string; - /** Deleted */ - deleted: boolean; + name?: string; /** - * Description - * @description A detailed description of the library folder. - * @default + * Purged + * @description Whether this dataset has been removed from disk. */ - description?: string; + purged: boolean; /** - * Id - * @example 0123456789ABCDEF + * State + * @description The current state of this dataset. */ - id: string; - /** Name */ - name: string; + state: components["schemas"]["DatasetState"]; + tags: components["schemas"]["TagCollection"]; /** * Type - * @enum {string} + * @description The type of this item. */ - type: "folder"; + type: string; + /** + * Type - ID + * @description The type and the encoded ID of this item. Used for caching. + * @example dataset-616e371b2cc6c62e + */ + type_id?: string; /** * Update Time * Format: date-time * @description The last time and date this item was updated. */ - update_time: string; + update_time?: string; + /** + * URL + * @deprecated + * @description The relative URL to access this item. + */ + url: string; + /** + * Visible + * @description Whether this item is visible or hidden to the user by default. + */ + visible: boolean; }; /** - * FtpImportElement - * @description Base model definition with common configuration used by all derived models. + * HDCADetailed + * @description History Dataset Collection Association detailed information. */ - FtpImportElement: { - /** Md5 */ - MD5?: string; + HDCADetailed: { /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false + * Collection ID + * @description The encoded ID of the dataset collection associated with this HDCA. + * @example 0123456789ABCDEF */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - /** Created From Basename */ - created_from_basename?: string; + collection_id: string; /** - * Dbkey - * @default ? + * Collection Type + * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ - dbkey?: string; + collection_type: string; /** - * Deferred - * @default false + * Contents URL + * @description The relative URL to access the contents of this History. */ - deferred?: boolean; - elements_from?: components["schemas"]["ElementsFromType"]; + contents_url: string; /** - * Ext - * @default auto + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - ext?: string; - extra_files?: components["schemas"]["ExtraFiles"]; - /** Ftp Path */ - ftp_path: string; - /** Info */ - info?: string; - /** Name */ - name?: string; + create_time?: string; /** - * Space To Tab - * @default false + * Deleted + * @description Whether this item is marked as deleted. */ - space_to_tab?: boolean; + deleted: boolean; /** - * Src - * @enum {string} + * Element Count + * @description The number of elements contained in the dataset collection. It may be None or undefined if the collection could not be populated. */ - src: "ftp_import"; - /** Tags */ - tags?: string[]; + element_count?: number; /** - * To Posix Lines - * @default false + * Elements + * @description The summary information of each of the elements inside the dataset collection. + * @default [] */ - to_posix_lines?: boolean; - }; - /** - * FtpImportTarget - * @description Base model definition with common configuration used by all derived models. - */ - FtpImportTarget: { + elements?: components["schemas"]["DCESummary"][]; /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false + * Elements Datatypes + * @description A set containing all the different element datatypes in the collection. */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - destination: components["schemas"]["HdcaDestination"]; - elements_from?: components["schemas"]["ElementsFromType"]; - /** Ftp Path */ - ftp_path: string; - /** Name */ - name?: string; + elements_datatypes: string[]; /** - * Src - * @enum {string} + * HID + * @description The index position of this item in the History. */ - src: "ftp_import"; - /** Tags */ - tags?: string[]; - }; - /** - * GroupModel - * @description User group model - */ - GroupModel: { + hid: number; + /** + * Content Type + * @description The type of this item. + */ + history_content_type: components["schemas"]["HistoryContentType"]; + /** + * History ID + * @description The encoded ID of the history associated with this item. + * @example 0123456789ABCDEF + */ + history_id: string; /** * ID - * @description Encoded group ID + * @description The encoded ID of this entity. * @example 0123456789ABCDEF */ id: string; /** - * Model class - * @description The name of the database model class. - * @default Group - * @enum {string} + * Job Source ID + * @description The encoded ID of the Job that produced this dataset collection. Used to track the state of the job. + * @example 0123456789ABCDEF */ - model_class: "Group"; + job_source_id?: string; /** - * Name - * @description The name of the group. + * Job Source Type + * @description The type of job (model class) that produced this dataset collection. Used to track the state of the job. */ - name: string; - }; - /** - * GroupQuota - * @description Base model definition with common configuration used by all derived models. - */ - GroupQuota: { + job_source_type?: components["schemas"]["JobSourceType"]; /** - * Group - * @description Information about a user group associated with a quota. + * Job State Summary + * @description Overview of the job states working inside the dataset collection. */ - group: components["schemas"]["GroupModel"]; + job_state_summary?: components["schemas"]["HDCJobStateSummary"]; /** * Model class * @description The name of the database model class. - * @default GroupQuotaAssociation + * @default HistoryDatasetCollectionAssociation * @enum {string} */ - model_class: "GroupQuotaAssociation"; - }; - /** - * GroupRoleListResponse - * @description Base model definition with common configuration used by all derived models. - */ - GroupRoleListResponse: components["schemas"]["GroupRoleResponse"][]; - /** - * GroupRoleResponse - * @description Base model definition with common configuration used by all derived models. - */ - GroupRoleResponse: { + model_class: "HistoryDatasetCollectionAssociation"; /** - * ID - * @description Encoded ID of the role - * @example 0123456789ABCDEF + * Name + * @description The name of the item. */ - id: string; + name?: string; /** - * Name - * @description Name of the role + * Populated + * @description Whether the dataset collection elements (and any subcollections elements) were successfully populated. */ - name: string; + populated: boolean; /** - * URL - * @deprecated - * @description The relative URL to access this item. + * Populated State + * @description Indicates the general state of the elements in the dataset collection:- 'new': new dataset collection, unpopulated elements.- 'ok': collection elements populated (HDAs may or may not have errors).- 'failed': some problem populating, won't be populated. */ - url: string; - }; - /** - * GroupUserListResponse - * @description Base model definition with common configuration used by all derived models. - */ - GroupUserListResponse: components["schemas"]["GroupUserResponse"][]; - /** - * GroupUserResponse - * @description Base model definition with common configuration used by all derived models. - */ - GroupUserResponse: { + populated_state: components["schemas"]["DatasetCollectionPopulatedState"]; /** - * Email - * @description Email of the user + * Populated State Message + * @description Optional message with further information in case the population of the dataset collection failed. */ - email: string; + populated_state_message?: string; + tags: components["schemas"]["TagCollection"]; /** - * ID - * @description Encoded ID of the user - * @example 0123456789ABCDEF + * Type + * @description This is always `collection` for dataset collections. + * @default collection + * @enum {string} */ - id: string; + type?: "collection"; + /** + * Type - ID + * @description The type and the encoded ID of this item. Used for caching. + * @example dataset-616e371b2cc6c62e + */ + type_id?: string; + /** + * Update Time + * Format: date-time + * @description The last time and date this item was updated. + */ + update_time?: string; /** * URL * @deprecated * @description The relative URL to access this item. */ url: string; + /** + * Visible + * @description Whether this item is visible or hidden to the user by default. + */ + visible: boolean; }; /** - * HDADetailed - * @description History Dataset Association detailed information. + * HDCASummary + * @description History Dataset Collection Association summary information. */ - HDADetailed: { + HDCASummary: { /** - * Accessible - * @description Whether this item is accessible to the current user due to permissions. + * Collection ID + * @description The encoded ID of the dataset collection associated with this HDCA. + * @example 0123456789ABCDEF */ - accessible: boolean; + collection_id: string; /** - * Annotation - * @description An annotation to provide details or to help understand the purpose and usage of this item. + * Collection Type + * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ - annotation: string; + collection_type: string; /** - * API Type - * @description TODO - * @default file - * @enum {string} + * Contents URL + * @description The relative URL to access the contents of this History. */ - api_type?: "file"; + contents_url: string; /** * Create Time * Format: date-time @@ -6123,183 +5965,83 @@ export interface components { */ create_time?: string; /** - * Created from basename - * @description The basename of the output that produced this dataset. + * Deleted + * @description Whether this item is marked as deleted. */ - created_from_basename?: string; + deleted: boolean; /** - * Creating Job ID - * @description The encoded ID of the job that created this dataset. + * Element Count + * @description The number of elements contained in the dataset collection. It may be None or undefined if the collection could not be populated. */ - creating_job: string; + element_count?: number; /** - * Data Type - * @description The fully qualified name of the class implementing the data type of this dataset. - * @example galaxy.datatypes.data.Text + * HID + * @description The index position of this item in the History. */ - data_type: string; + hid: number; /** - * Dataset ID - * @description The encoded ID of the dataset associated with this item. - * @example 0123456789ABCDEF + * Content Type + * @description The type of this item. */ - dataset_id: string; + history_content_type: components["schemas"]["HistoryContentType"]; /** - * Deleted - * @description Whether this item is marked as deleted. + * History ID + * @description The encoded ID of the history associated with this item. + * @example 0123456789ABCDEF */ - deleted: boolean; + history_id: string; /** - * Display Applications - * @description Contains new-style display app urls. + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - display_apps: components["schemas"]["DisplayApp"][]; + id: string; /** - * Legacy Display Applications - * @description Contains old-style display app urls. + * Job Source ID + * @description The encoded ID of the Job that produced this dataset collection. Used to track the state of the job. + * @example 0123456789ABCDEF */ - display_types: components["schemas"]["DisplayApp"][]; - /** - * Download URL - * @description The URL to download this item from the server. - */ - download_url: string; - /** - * Extension - * @description The extension of the dataset. - * @example txt - */ - extension: string; - /** - * File extension - * @description The extension of the file. - */ - file_ext: string; - /** - * File Name - * @description The full path to the dataset file. - */ - file_name?: string; - /** - * File Size - * @description The file size in bytes. - */ - file_size: number; - /** - * Genome Build - * @description TODO - * @default ? - */ - genome_build?: string; - /** - * HDA or LDDA - * @description Whether this dataset belongs to a history (HDA) or a library (LDDA). - * @default hda - */ - hda_ldda?: components["schemas"]["DatasetSourceType"]; - /** - * HID - * @description The index position of this item in the History. - */ - hid: number; - /** - * Content Type - * @description The type of this item. - */ - history_content_type: components["schemas"]["HistoryContentType"]; - /** - * History ID - * @description The encoded ID of the history associated with this item. - * @example 0123456789ABCDEF - */ - history_id: string; - /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF - */ - id: string; - /** - * Metadata Files - * @description Collection of metadata files associated with this dataset. - */ - meta_files: components["schemas"]["MetadataFile"][]; - /** - * Metadata - * @description The metadata associated with this dataset. - */ - metadata?: Record; - /** - * Metadata Data Lines - * @description TODO - * @default 0 - */ - metadata_data_lines?: number; - /** - * Metadata DBKey - * @description TODO - * @default ? - */ - metadata_dbkey?: string; + job_source_id?: string; /** - * Miscellaneous Blurb - * @description TODO + * Job Source Type + * @description The type of job (model class) that produced this dataset collection. Used to track the state of the job. */ - misc_blurb?: string; + job_source_type?: components["schemas"]["JobSourceType"]; /** - * Miscellaneous Information - * @description TODO + * Job State Summary + * @description Overview of the job states working inside the dataset collection. */ - misc_info?: string; + job_state_summary?: components["schemas"]["HDCJobStateSummary"]; /** * Model class * @description The name of the database model class. + * @default HistoryDatasetCollectionAssociation * @enum {string} */ - model_class: "HistoryDatasetAssociation"; + model_class: "HistoryDatasetCollectionAssociation"; /** * Name * @description The name of the item. */ name?: string; /** - * Peek - * @description A few lines of contents from the start of the file. - */ - peek?: string; - /** - * Permissions - * @description Role-based access and manage control permissions for the dataset. - */ - permissions: components["schemas"]["DatasetPermissions"]; - /** - * Purged - * @description Whether this dataset has been removed from disk. - */ - purged: boolean; - /** - * Rerunnable - * @description Whether the job creating this dataset can be run again. - */ - rerunnable: boolean; - /** - * Resubmitted - * @description Whether the job creating this dataset has been resubmitted. + * Populated State + * @description Indicates the general state of the elements in the dataset collection:- 'new': new dataset collection, unpopulated elements.- 'ok': collection elements populated (HDAs may or may not have errors).- 'failed': some problem populating, won't be populated. */ - resubmitted: boolean; + populated_state: components["schemas"]["DatasetCollectionPopulatedState"]; /** - * State - * @description The current state of this dataset. + * Populated State Message + * @description Optional message with further information in case the population of the dataset collection failed. */ - state: components["schemas"]["DatasetState"]; + populated_state_message?: string; tags: components["schemas"]["TagCollection"]; /** * Type - * @description This is always `file` for datasets. - * @default file + * @description This is always `collection` for dataset collections. + * @default collection * @enum {string} */ - type?: "file"; + type?: "collection"; /** * Type - ID * @description The type and the encoded ID of this item. Used for caching. @@ -6318,230 +6060,351 @@ export interface components { * @description The relative URL to access this item. */ url: string; - /** - * UUID - * Format: uuid4 - * @description Universal unique identifier for this dataset. - */ - uuid: string; - /** - * Validated State - * @description The state of the datatype validation for this dataset. - */ - validated_state: components["schemas"]["DatasetValidatedState"]; - /** - * Validated State Message - * @description The message with details about the datatype validation result for this dataset. - */ - validated_state_message: string; /** * Visible * @description Whether this item is visible or hidden to the user by default. */ visible: boolean; - /** - * Visualizations - * @description The collection of visualizations that can be applied to this dataset. - */ - visualizations: components["schemas"]["Visualization"][]; }; /** - * HDAObject - * @description History Dataset Association Object + * HDCJobStateSummary + * @description Overview of the job states working inside a dataset collection. */ - HDAObject: { + HDCJobStateSummary: { /** - * HDA or LDDA - * @description Whether this dataset belongs to a history (HDA) or a library (LDDA). - * @default hda + * All jobs + * @description Total number of jobs associated with a dataset collection. + * @default 0 */ - hda_ldda?: components["schemas"]["DatasetSourceType"]; + all_jobs?: number; /** - * History ID - * @description The encoded ID of the history associated with this item. - * @example 0123456789ABCDEF + * Deleted jobs + * @description Number of jobs in the `deleted` state. + * @default 0 */ - history_id: string; + deleted?: number; /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF + * Deleted new jobs + * @description Number of jobs in the `deleted_new` state. + * @default 0 */ - id: string; + deleted_new?: number; /** - * Model class - * @description The name of the database model class. - * @default HistoryDatasetAssociation - * @enum {string} + * Jobs with errors + * @description Number of jobs in the `error` state. + * @default 0 */ - model_class: "HistoryDatasetAssociation"; + error?: number; /** - * State - * @description The current state of this dataset. + * Failed jobs + * @description Number of jobs in the `failed` state. + * @default 0 */ - state: components["schemas"]["DatasetState"]; - /** Tags */ - tags: string[]; - }; - /** - * HDASummary - * @description History Dataset Association summary information. - */ - HDASummary: { + failed?: number; /** - * Create Time - * Format: date-time - * @description The time and date this item was created. + * New jobs + * @description Number of jobs in the `new` state. + * @default 0 */ - create_time?: string; + new?: number; /** - * Dataset ID - * @description The encoded ID of the dataset associated with this item. - * @example 0123456789ABCDEF + * OK jobs + * @description Number of jobs in the `ok` state. + * @default 0 */ - dataset_id: string; + ok?: number; /** - * Deleted - * @description Whether this item is marked as deleted. + * Paused jobs + * @description Number of jobs in the `paused` state. + * @default 0 */ - deleted: boolean; + paused?: number; /** - * Extension - * @description The extension of the dataset. - * @example txt + * Queued jobs + * @description Number of jobs in the `queued` state. + * @default 0 */ - extension: string; + queued?: number; /** - * HID - * @description The index position of this item in the History. + * Resubmitted jobs + * @description Number of jobs in the `resubmitted` state. + * @default 0 */ - hid: number; + resubmitted?: number; /** - * Content Type - * @description The type of this item. + * Running jobs + * @description Number of jobs in the `running` state. + * @default 0 */ - history_content_type: components["schemas"]["HistoryContentType"]; + running?: number; /** - * History ID - * @description The encoded ID of the history associated with this item. - * @example 0123456789ABCDEF + * Skipped jobs + * @description Number of jobs that were skipped due to conditional workflow step execution. + * @default 0 */ - history_id: string; + skipped?: number; /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF + * Upload jobs + * @description Number of jobs in the `upload` state. + * @default 0 */ - id: string; + upload?: number; /** - * Name - * @description The name of the item. + * Waiting jobs + * @description Number of jobs in the `waiting` state. + * @default 0 */ - name?: string; + waiting?: number; + }; + /** HTTPValidationError */ + HTTPValidationError: { + /** Detail */ + detail?: components["schemas"]["ValidationError"][]; + }; + /** + * HashFunctionNameEnum + * @description Particular pieces of information that can be requested for a dataset. + * @enum {string} + */ + HashFunctionNameEnum: "MD5" | "SHA-1" | "SHA-256" | "SHA-512"; + /** + * HdaDestination + * @description Base model definition with common configuration used by all derived models. + */ + HdaDestination: { /** - * Purged - * @description Whether this dataset has been removed from disk. + * Type + * @enum {string} */ - purged: boolean; + type: "hdas"; + }; + /** + * HdcaDataItemsFromTarget + * @description Base model definition with common configuration used by all derived models. + */ + HdcaDataItemsFromTarget: { /** - * State - * @description The current state of this dataset. + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false */ - state: components["schemas"]["DatasetState"]; - tags: components["schemas"]["TagCollection"]; + auto_decompress?: boolean; + /** Collection Type */ + collection_type?: string; + destination: components["schemas"]["HdcaDestination"]; + elements_from: components["schemas"]["ElementsFromType"]; + /** Ftp Path */ + ftp_path?: string; + /** Name */ + name?: string; + /** Path */ + path?: string; + /** Server Dir */ + server_dir?: string; + src: components["schemas"]["ItemsFromSrc"]; + /** Tags */ + tags?: string[]; + /** Url */ + url?: string; + }; + /** + * HdcaDataItemsTarget + * @description Base model definition with common configuration used by all derived models. + */ + HdcaDataItemsTarget: { + /** + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false + */ + auto_decompress?: boolean; + /** Collection Type */ + collection_type?: string; + destination: components["schemas"]["HdcaDestination"]; + /** Elements */ + elements: ( + | ( + | components["schemas"]["FileDataElement"] + | components["schemas"]["PastedDataElement"] + | components["schemas"]["UrlDataElement"] + | components["schemas"]["PathDataElement"] + | components["schemas"]["ServerDirElement"] + | components["schemas"]["FtpImportElement"] + | components["schemas"]["CompositeDataElement"] + ) + | components["schemas"]["NestedElement"] + )[]; + /** Name */ + name?: string; + /** Tags */ + tags?: string[]; + }; + /** + * HdcaDestination + * @description Base model definition with common configuration used by all derived models. + */ + HdcaDestination: { /** * Type + * @enum {string} + */ + type: "hdca"; + }; + /** + * HistoryContentBulkOperationPayload + * @description Base model definition with common configuration used by all derived models. + */ + HistoryContentBulkOperationPayload: { + /** Items */ + items?: components["schemas"]["HistoryContentItem"][]; + operation: components["schemas"]["HistoryContentItemOperation"]; + /** Params */ + params?: + | components["schemas"]["ChangeDatatypeOperationParams"] + | components["schemas"]["ChangeDbkeyOperationParams"] + | components["schemas"]["TagOperationParams"]; + }; + /** + * HistoryContentBulkOperationResult + * @description Base model definition with common configuration used by all derived models. + */ + HistoryContentBulkOperationResult: { + /** Errors */ + errors: components["schemas"]["BulkOperationItemError"][]; + /** Success Count */ + success_count: number; + }; + /** + * HistoryContentItem + * @description Identifies a dataset or collection contained in a History. + */ + HistoryContentItem: { + /** + * Content Type * @description The type of this item. */ - type: string; + history_content_type: components["schemas"]["HistoryContentType"]; /** - * Type - ID - * @description The type and the encoded ID of this item. Used for caching. - * @example dataset-616e371b2cc6c62e + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - type_id?: string; + id: string; + }; + /** + * HistoryContentItemOperation + * @description An enumeration. + * @enum {string} + */ + HistoryContentItemOperation: + | "hide" + | "unhide" + | "delete" + | "undelete" + | "purge" + | "change_datatype" + | "change_dbkey" + | "add_tags" + | "remove_tags"; + /** + * HistoryContentSource + * @description An enumeration. + * @enum {string} + */ + HistoryContentSource: "hda" | "hdca" | "library" | "library_folder" | "new_collection"; + /** + * HistoryContentStats + * @description Base model definition with common configuration used by all derived models. + */ + HistoryContentStats: { /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. + * Total Matches + * @description The total number of items that match the search query without any pagination */ - update_time?: string; + total_matches: number; + }; + /** + * HistoryContentType + * @description Available types of History contents. + * @enum {string} + */ + HistoryContentType: "dataset" | "dataset_collection"; + /** + * HistoryContentsResult + * @description List of history content items. + * Can contain different views and kinds of items. + */ + HistoryContentsResult: ( + | components["schemas"]["HDADetailed"] + | components["schemas"]["HDASummary"] + | components["schemas"]["HDCADetailed"] + | components["schemas"]["HDCASummary"] + | components["schemas"]["CustomHistoryItem"] + )[]; + /** + * HistoryContentsWithStatsResult + * @description Includes stats with items counting + */ + HistoryContentsWithStatsResult: { /** - * URL - * @deprecated - * @description The relative URL to access this item. + * Contents + * @description The items matching the search query. Only the items fitting in the current page limit will be returned. */ - url: string; + contents: ( + | components["schemas"]["HDADetailed"] + | components["schemas"]["HDASummary"] + | components["schemas"]["HDCADetailed"] + | components["schemas"]["HDCASummary"] + | components["schemas"]["CustomHistoryItem"] + )[]; /** - * Visible - * @description Whether this item is visible or hidden to the user by default. + * Stats + * @description Contains counting stats for the query. */ - visible: boolean; + stats: components["schemas"]["HistoryContentStats"]; }; /** - * HDCADetailed - * @description History Dataset Collection Association detailed information. + * HistoryDetailed + * @description History detailed information. */ - HDCADetailed: { + HistoryDetailed: { /** - * Collection ID - * @description The encoded ID of the dataset collection associated with this HDCA. - * @example 0123456789ABCDEF + * Annotation + * @description An annotation to provide details or to help understand the purpose and usage of this item. */ - collection_id: string; + annotation: string; /** - * Collection Type - * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. + * Archived + * @description Whether this item has been archived and is no longer active. */ - collection_type: string; + archived: boolean; /** * Contents URL * @description The relative URL to access the contents of this History. */ contents_url: string; + /** + * Count + * @description The number of items in the history. + */ + count: number; /** * Create Time * Format: date-time * @description The time and date this item was created. */ - create_time?: string; + create_time: string; /** * Deleted * @description Whether this item is marked as deleted. */ deleted: boolean; /** - * Element Count - * @description The number of elements contained in the dataset collection. It may be None or undefined if the collection could not be populated. - */ - element_count?: number; - /** - * Elements - * @description The summary information of each of the elements inside the dataset collection. - * @default [] - */ - elements?: components["schemas"]["DCESummary"][]; - /** - * Elements Datatypes - * @description A set containing all the different element datatypes in the collection. - */ - elements_datatypes: string[]; - /** - * HID - * @description The index position of this item in the History. - */ - hid: number; - /** - * Content Type - * @description The type of this item. - */ - history_content_type: components["schemas"]["HistoryContentType"]; - /** - * History ID - * @description The encoded ID of the history associated with this item. - * @example 0123456789ABCDEF + * Genome Build + * @description TODO + * @default ? */ - history_id: string; + genome_build?: string; /** * ID * @description The encoded ID of this entity. @@ -6549,68 +6412,73 @@ export interface components { */ id: string; /** - * Job Source ID - * @description The encoded ID of the Job that produced this dataset collection. Used to track the state of the job. - * @example 0123456789ABCDEF - */ - job_source_id?: string; - /** - * Job Source Type - * @description The type of job (model class) that produced this dataset collection. Used to track the state of the job. - */ - job_source_type?: components["schemas"]["JobSourceType"]; - /** - * Job State Summary - * @description Overview of the job states working inside the dataset collection. + * Importable + * @description Whether this History can be imported by other users with a shared link. */ - job_state_summary?: components["schemas"]["HDCJobStateSummary"]; + importable: boolean; /** * Model class * @description The name of the database model class. - * @default HistoryDatasetCollectionAssociation + * @default History * @enum {string} */ - model_class: "HistoryDatasetCollectionAssociation"; + model_class: "History"; /** * Name - * @description The name of the item. + * @description The name of the history. */ - name?: string; + name: string; /** - * Populated - * @description Whether the dataset collection elements (and any subcollections elements) were successfully populated. + * Preferred Object Store ID + * @description The ID of the object store that should be used to store new datasets in this history. */ - populated: boolean; + preferred_object_store_id?: string; /** - * Populated State - * @description Indicates the general state of the elements in the dataset collection:- 'new': new dataset collection, unpopulated elements.- 'ok': collection elements populated (HDAs may or may not have errors).- 'failed': some problem populating, won't be populated. + * Published + * @description Whether this resource is currently publicly available to all users. */ - populated_state: components["schemas"]["DatasetCollectionPopulatedState"]; + published: boolean; /** - * Populated State Message - * @description Optional message with further information in case the population of the dataset collection failed. + * Purged + * @description Whether this item has been permanently removed. */ - populated_state_message?: string; - tags: components["schemas"]["TagCollection"]; + purged: boolean; /** - * Type - * @description This is always `collection` for dataset collections. - * @default collection - * @enum {string} + * Size + * @description The total size of the contents of this history in bytes. */ - type?: "collection"; + size: number; /** - * Type - ID - * @description The type and the encoded ID of this item. Used for caching. - * @example dataset-616e371b2cc6c62e + * Slug + * @description Part of the URL to uniquely identify this History by link in a readable way. */ - type_id?: string; + slug?: string; + /** + * State + * @description The current state of the History based on the states of the datasets it contains. + */ + state: components["schemas"]["DatasetState"]; + /** + * State Counts + * @description A dictionary keyed to possible dataset states and valued with the number of datasets in this history that have those states. + */ + state_details: { + [key: string]: number | undefined; + }; + /** + * State IDs + * @description A dictionary keyed to possible dataset states and valued with lists containing the ids of each HDA in that state. + */ + state_ids: { + [key: string]: string[] | undefined; + }; + tags: components["schemas"]["TagCollection"]; /** * Update Time * Format: date-time * @description The last time and date this item was updated. */ - update_time?: string; + update_time: string; /** * URL * @deprecated @@ -6618,462 +6486,400 @@ export interface components { */ url: string; /** - * Visible - * @description Whether this item is visible or hidden to the user by default. + * User ID + * @description The encoded ID of the user that owns this History. + * @example 0123456789ABCDEF */ - visible: boolean; + user_id: string; + /** + * Username and slug + * @description The relative URL in the form of /u/{username}/h/{slug} + */ + username_and_slug?: string; }; /** - * HDCASummary - * @description History Dataset Collection Association summary information. + * HistorySummary + * @description History summary information. */ - HDCASummary: { - /** - * Collection ID - * @description The encoded ID of the dataset collection associated with this HDCA. - * @example 0123456789ABCDEF - */ - collection_id: string; + HistorySummary: { /** - * Collection Type - * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. + * Annotation + * @description An annotation to provide details or to help understand the purpose and usage of this item. */ - collection_type: string; + annotation: string; /** - * Contents URL - * @description The relative URL to access the contents of this History. + * Archived + * @description Whether this item has been archived and is no longer active. */ - contents_url: string; + archived: boolean; /** - * Create Time - * Format: date-time - * @description The time and date this item was created. + * Count + * @description The number of items in the history. */ - create_time?: string; + count: number; /** * Deleted * @description Whether this item is marked as deleted. */ deleted: boolean; - /** - * Element Count - * @description The number of elements contained in the dataset collection. It may be None or undefined if the collection could not be populated. - */ - element_count?: number; - /** - * HID - * @description The index position of this item in the History. - */ - hid: number; - /** - * Content Type - * @description The type of this item. - */ - history_content_type: components["schemas"]["HistoryContentType"]; - /** - * History ID - * @description The encoded ID of the history associated with this item. - * @example 0123456789ABCDEF - */ - history_id: string; /** * ID * @description The encoded ID of this entity. * @example 0123456789ABCDEF */ id: string; - /** - * Job Source ID - * @description The encoded ID of the Job that produced this dataset collection. Used to track the state of the job. - * @example 0123456789ABCDEF - */ - job_source_id?: string; - /** - * Job Source Type - * @description The type of job (model class) that produced this dataset collection. Used to track the state of the job. - */ - job_source_type?: components["schemas"]["JobSourceType"]; - /** - * Job State Summary - * @description Overview of the job states working inside the dataset collection. - */ - job_state_summary?: components["schemas"]["HDCJobStateSummary"]; /** * Model class * @description The name of the database model class. - * @default HistoryDatasetCollectionAssociation + * @default History * @enum {string} */ - model_class: "HistoryDatasetCollectionAssociation"; + model_class: "History"; /** * Name - * @description The name of the item. - */ - name?: string; - /** - * Populated State - * @description Indicates the general state of the elements in the dataset collection:- 'new': new dataset collection, unpopulated elements.- 'ok': collection elements populated (HDAs may or may not have errors).- 'failed': some problem populating, won't be populated. + * @description The name of the history. */ - populated_state: components["schemas"]["DatasetCollectionPopulatedState"]; + name: string; /** - * Populated State Message - * @description Optional message with further information in case the population of the dataset collection failed. + * Preferred Object Store ID + * @description The ID of the object store that should be used to store new datasets in this history. */ - populated_state_message?: string; - tags: components["schemas"]["TagCollection"]; + preferred_object_store_id?: string; /** - * Type - * @description This is always `collection` for dataset collections. - * @default collection - * @enum {string} + * Published + * @description Whether this resource is currently publicly available to all users. */ - type?: "collection"; + published: boolean; /** - * Type - ID - * @description The type and the encoded ID of this item. Used for caching. - * @example dataset-616e371b2cc6c62e + * Purged + * @description Whether this item has been permanently removed. */ - type_id?: string; + purged: boolean; + tags: components["schemas"]["TagCollection"]; /** * Update Time * Format: date-time * @description The last time and date this item was updated. */ - update_time?: string; + update_time: string; /** * URL * @deprecated * @description The relative URL to access this item. */ url: string; - /** - * Visible - * @description Whether this item is visible or hidden to the user by default. - */ - visible: boolean; }; /** - * HDCJobStateSummary - * @description Overview of the job states working inside a dataset collection. + * Hyperlink + * @description Represents some text with an Hyperlink. */ - HDCJobStateSummary: { - /** - * All jobs - * @description Total number of jobs associated with a dataset collection. - * @default 0 - */ - all_jobs?: number; - /** - * Deleted jobs - * @description Number of jobs in the `deleted` state. - * @default 0 - */ - deleted?: number; - /** - * Deleted new jobs - * @description Number of jobs in the `deleted_new` state. - * @default 0 - */ - deleted_new?: number; - /** - * Jobs with errors - * @description Number of jobs in the `error` state. - * @default 0 - */ - error?: number; - /** - * Failed jobs - * @description Number of jobs in the `failed` state. - * @default 0 - */ - failed?: number; - /** - * New jobs - * @description Number of jobs in the `new` state. - * @default 0 - */ - new?: number; - /** - * OK jobs - * @description Number of jobs in the `ok` state. - * @default 0 - */ - ok?: number; + Hyperlink: { /** - * Paused jobs - * @description Number of jobs in the `paused` state. - * @default 0 + * HRef + * Format: uri + * @description Specifies the linked document, resource, or location. */ - paused?: number; + href: string; /** - * Queued jobs - * @description Number of jobs in the `queued` state. - * @default 0 + * Target + * @description Specifies where to open the linked document. + * @example _blank */ - queued?: number; + target: string; /** - * Resubmitted jobs - * @description Number of jobs in the `resubmitted` state. - * @default 0 + * Text + * @description The text placeholder for the link. */ - resubmitted?: number; + text: string; + }; + /** + * ImplicitCollectionJobsStateSummary + * @description Base model definition with common configuration used by all derived models. + */ + ImplicitCollectionJobsStateSummary: { /** - * Running jobs - * @description Number of jobs in the `running` state. - * @default 0 + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - running?: number; + id: string; /** - * Skipped jobs - * @description Number of jobs that were skipped due to conditional workflow step execution. - * @default 0 + * Model class + * @description The name of the database model class. + * @default ImplicitCollectionJobs + * @enum {string} */ - skipped?: number; + model: "ImplicitCollectionJobs"; /** - * Upload jobs - * @description Number of jobs in the `upload` state. - * @default 0 + * Populated State + * @description Indicates the general state of the elements in the dataset collection:- 'new': new dataset collection, unpopulated elements.- 'ok': collection elements populated (HDAs may or may not have errors).- 'failed': some problem populating, won't be populated. */ - upload?: number; + populated_state: components["schemas"]["DatasetCollectionPopulatedState"]; /** - * Waiting jobs - * @description Number of jobs in the `waiting` state. - * @default 0 + * States + * @description A dictionary of job states and the number of jobs in that state. + * @default {} */ - waiting?: number; + states?: { + [key: string]: number | undefined; + }; }; - /** HTTPValidationError */ - HTTPValidationError: { - /** Detail */ - detail?: components["schemas"]["ValidationError"][]; + /** ImportToolDataBundle */ + ImportToolDataBundle: { + /** Source */ + source: + | components["schemas"]["ImportToolDataBundleDatasetSource"] + | components["schemas"]["ImportToolDataBundleUriSource"]; }; /** - * HashFunctionNameEnum - * @description Particular pieces of information that can be requested for a dataset. - * @enum {string} - */ - HashFunctionNameEnum: "MD5" | "SHA-1" | "SHA-256" | "SHA-512"; - /** - * HdaDestination + * ImportToolDataBundleDatasetSource * @description Base model definition with common configuration used by all derived models. */ - HdaDestination: { + ImportToolDataBundleDatasetSource: { /** - * Type + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF + */ + id: string; + /** + * src + * @description Indicates that the tool data should be resolved from a dataset. * @enum {string} */ - type: "hdas"; + src: "hda" | "ldda"; }; /** - * HdcaDataItemsFromTarget + * ImportToolDataBundleUriSource * @description Base model definition with common configuration used by all derived models. */ - HdcaDataItemsFromTarget: { + ImportToolDataBundleUriSource: { /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false + * src + * @description Indicates that the tool data should be resolved by a URI. + * @enum {string} */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - destination: components["schemas"]["HdcaDestination"]; - elements_from: components["schemas"]["ElementsFromType"]; - /** Ftp Path */ - ftp_path?: string; - /** Name */ - name?: string; - /** Path */ - path?: string; - /** Server Dir */ - server_dir?: string; - src: components["schemas"]["ItemsFromSrc"]; - /** Tags */ - tags?: string[]; - /** Url */ - url?: string; - }; - /** - * HdcaDataItemsTarget - * @description Base model definition with common configuration used by all derived models. - */ - HdcaDataItemsTarget: { + src: "uri"; /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false + * uri + * @description URI to fetch tool data bundle from (file:// URIs are fine because this is an admin-only operation) */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - destination: components["schemas"]["HdcaDestination"]; - /** Elements */ - elements: ( - | ( - | components["schemas"]["FileDataElement"] - | components["schemas"]["PastedDataElement"] - | components["schemas"]["UrlDataElement"] - | components["schemas"]["PathDataElement"] - | components["schemas"]["ServerDirElement"] - | components["schemas"]["FtpImportElement"] - | components["schemas"]["CompositeDataElement"] - ) - | components["schemas"]["NestedElement"] - )[]; - /** Name */ - name?: string; - /** Tags */ - tags?: string[]; + uri: string; }; /** - * HdcaDestination + * InputArguments * @description Base model definition with common configuration used by all derived models. */ - HdcaDestination: { + InputArguments: { + /** + * Database Key + * @description Sets the database key of the objects being fetched to Galaxy. + * @default ? + */ + dbkey?: string; /** - * Type - * @enum {string} + * File Type + * @description Sets the Galaxy datatype (e.g., `bam`) for the objects being fetched to Galaxy. See the following link for a complete list of Galaxy data types: https://galaxyproject.org/learn/datatypes/. + * @default auto */ - type: "hdca"; + file_type?: string; + /** + * Spaces to tabs + * @description A boolean value ('true' or 'false') that sets if spaces should be converted to tab in the objects being fetched to Galaxy. Applicable only if `to_posix_lines` is True + * @default false + */ + space_to_tab?: boolean; + /** + * POSIX line endings + * @description A boolean value ('true' or 'false'); if 'Yes', converts universal line endings to POSIX line endings. Set to 'False' if you upload a gzip, bz2 or zip archive containing a binary file. + * @default Yes + */ + to_posix_lines?: "Yes" | boolean; }; /** - * HistoryContentBulkOperationPayload + * InstalledRepositoryToolShedStatus * @description Base model definition with common configuration used by all derived models. */ - HistoryContentBulkOperationPayload: { - /** Items */ - items?: components["schemas"]["HistoryContentItem"][]; - operation: components["schemas"]["HistoryContentItemOperation"]; - /** Params */ - params?: - | components["schemas"]["ChangeDatatypeOperationParams"] - | components["schemas"]["ChangeDbkeyOperationParams"] - | components["schemas"]["TagOperationParams"]; + InstalledRepositoryToolShedStatus: { + /** + * Latest installed revision + * @description Most recent version available on the tool shed + */ + latest_installable_revision?: string; + /** + * Repository deprecated + * @description Repository has been depreciated on the tool shed + */ + repository_deprecated?: string; + /** Revision Update */ + revision_update: string; + /** Revision Upgrade */ + revision_upgrade?: string; }; /** - * HistoryContentBulkOperationResult + * InstalledToolShedRepository * @description Base model definition with common configuration used by all derived models. */ - HistoryContentBulkOperationResult: { - /** Errors */ - errors: components["schemas"]["BulkOperationItemError"][]; - /** Success Count */ - success_count: number; - }; - /** - * HistoryContentItem - * @description Identifies a dataset or collection contained in a History. - */ - HistoryContentItem: { + InstalledToolShedRepository: { /** - * Content Type - * @description The type of this item. + * Changeset revision + * @description Changeset revision of the repository - a mercurial commit hash */ - history_content_type: components["schemas"]["HistoryContentType"]; + changeset_revision: string; + /** + * Changeset revision number + * @description The linearized 0-based index of the changeset on the tool shed (0, 1, 2,...) + */ + ctx_rev?: string; + /** Deleted */ + deleted: boolean; + /** Dist To Shed */ + dist_to_shed: boolean; + /** + * Error Message + * @default Installation error message, the empty string means no error was recorded + */ + error_message?: string; /** * ID - * @description The encoded ID of this entity. + * @description Encoded ID of the install tool shed repository. * @example 0123456789ABCDEF */ id: string; + /** + * Installed changeset revision + * @description Initially installed changeset revision. Used to construct path to repository within Galaxies filesystem. Does not change if a repository is updated. + */ + installed_changeset_revision: string; + /** + * Model class + * @description The name of the database model class. + * @default ToolShedRepository + * @enum {string} + */ + model_class: "ToolShedRepository"; + /** + * Name + * @description Name of repository + */ + name: string; + /** + * Owner + * @description Owner of repository + */ + owner: string; + /** Status */ + status: string; + /** + * Tool shed + * @description Hostname of the tool shed this was installed from + */ + tool_shed: string; + /** Latest updated status from the tool shed */ + tool_shed_status?: components["schemas"]["InstalledRepositoryToolShedStatus"]; + /** Uninstalled */ + uninstalled: boolean; }; /** - * HistoryContentItemOperation - * @description An enumeration. - * @enum {string} - */ - HistoryContentItemOperation: - | "hide" - | "unhide" - | "delete" - | "undelete" - | "purge" - | "change_datatype" - | "change_dbkey" - | "add_tags" - | "remove_tags"; - /** - * HistoryContentSource - * @description An enumeration. - * @enum {string} - */ - HistoryContentSource: "hda" | "hdca" | "library" | "library_folder" | "new_collection"; - /** - * HistoryContentStats + * ItemTagsPayload * @description Base model definition with common configuration used by all derived models. */ - HistoryContentStats: { + ItemTagsPayload: { /** - * Total Matches - * @description The total number of items that match the search query without any pagination + * Item class + * @description The name of the class of the item that will be tagged. */ - total_matches: number; + item_class: components["schemas"]["TaggableItemClass"]; + /** + * Item ID + * @description The `encoded identifier` of the item whose tags will be updated. + * @example 0123456789ABCDEF + */ + item_id: string; + /** + * Item tags + * @description The list of tags that will replace the current tags associated with the item. + */ + item_tags?: components["schemas"]["TagCollection"]; }; /** - * HistoryContentType - * @description Available types of History contents. + * ItemsFromSrc + * @description An enumeration. * @enum {string} */ - HistoryContentType: "dataset" | "dataset_collection"; + ItemsFromSrc: "url" | "files" | "path" | "ftp_import" | "server_dir"; /** - * HistoryContentsResult - * @description List of history content items. - * Can contain different views and kinds of items. + * JobExportHistoryArchiveListResponse + * @description Base model definition with common configuration used by all derived models. */ - HistoryContentsResult: ( - | components["schemas"]["HDADetailed"] - | components["schemas"]["HDASummary"] - | components["schemas"]["HDCADetailed"] - | components["schemas"]["HDCASummary"] - | components["schemas"]["CustomHistoryItem"] - )[]; + JobExportHistoryArchiveListResponse: components["schemas"]["JobExportHistoryArchiveModel"][]; /** - * HistoryContentsWithStatsResult - * @description Includes stats with items counting + * JobExportHistoryArchiveModel + * @description Base model definition with common configuration used by all derived models. */ - HistoryContentsWithStatsResult: { + JobExportHistoryArchiveModel: { /** - * Contents - * @description The items matching the search query. Only the items fitting in the current page limit will be returned. + * Download URL + * @description Relative API URL to download the exported history archive. */ - contents: ( - | components["schemas"]["HDADetailed"] - | components["schemas"]["HDASummary"] - | components["schemas"]["HDCADetailed"] - | components["schemas"]["HDCASummary"] - | components["schemas"]["CustomHistoryItem"] - )[]; + download_url: string; /** - * Stats - * @description Contains counting stats for the query. + * External Download Latest URL + * Format: uri + * @description Fully qualified URL to download the latests version of the exported history archive. */ - stats: components["schemas"]["HistoryContentStats"]; - }; - /** - * HistoryDetailed - * @description History detailed information. - */ - HistoryDetailed: { + external_download_latest_url: string; /** - * Annotation - * @description An annotation to provide details or to help understand the purpose and usage of this item. + * External Download Permanent URL + * Format: uri + * @description Fully qualified URL to download this particular version of the exported history archive. */ - annotation: string; + external_download_permanent_url: string; /** - * Archived - * @description Whether this item has been archived and is no longer active. + * ID + * @description The encoded database ID of the export request. + * @example 0123456789ABCDEF */ - archived: boolean; + id: string; /** - * Contents URL - * @description The relative URL to access the contents of this History. + * Job ID + * @description The encoded database ID of the job that generated this history export archive. + * @example 0123456789ABCDEF */ - contents_url: string; + job_id: string; /** - * Count - * @description The number of items in the history. + * Preparing + * @description Whether the archive is currently being built or in preparation. */ - count: number; + preparing: boolean; + /** + * Ready + * @description Whether the export has completed successfully and the archive is ready + */ + ready: boolean; + /** + * Up to Date + * @description False, if a new export archive should be generated. + */ + up_to_date: boolean; + }; + /** + * JobIdResponse + * @description Contains the ID of the job associated with a particular request. + */ + JobIdResponse: { + /** + * Job ID + * @description The encoded database ID of the job that is currently processing a particular request. + * @example 0123456789ABCDEF + */ + job_id: string; + }; + /** + * JobImportHistoryResponse + * @description Base model definition with common configuration used by all derived models. + */ + JobImportHistoryResponse: { /** * Create Time * Format: date-time @@ -7081,16 +6887,22 @@ export interface components { */ create_time: string; /** - * Deleted - * @description Whether this item is marked as deleted. + * Exit Code + * @description The exit code returned by the tool. Can be unset if the job is not completed yet. */ - deleted: boolean; + exit_code?: number; /** - * Genome Build - * @description TODO - * @default ? + * Galaxy Version + * @description The (major) version of Galaxy used to create this job. + * @example 21.05 */ - genome_build?: string; + galaxy_version: string; + /** + * History ID + * @description The encoded ID of the history associated with this item. + * @example 0123456789ABCDEF + */ + history_id?: string; /** * ID * @description The encoded ID of this entity. @@ -7098,1388 +6910,1568 @@ export interface components { */ id: string; /** - * Importable - * @description Whether this History can be imported by other users with a shared link. + * Message + * @description Text message containing information about the history import. */ - importable: boolean; + message: string; /** * Model class * @description The name of the database model class. - * @default History + * @default Job * @enum {string} */ - model_class: "History"; + model_class: "Job"; /** - * Name - * @description The name of the history. + * State + * @description Current state of the job. */ - name: string; + state: components["schemas"]["JobState"]; /** - * Preferred Object Store ID - * @description The ID of the object store that should be used to store new datasets in this history. + * Tool ID + * @description Identifier of the tool that generated this job. */ - preferred_object_store_id?: string; + tool_id: string; /** - * Published - * @description Whether this resource is currently publicly available to all users. + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - published: boolean; + update_time: string; + }; + /** + * JobIndexSortByEnum + * @description An enumeration. + * @enum {string} + */ + JobIndexSortByEnum: "create_time" | "update_time"; + /** + * JobIndexViewEnum + * @description An enumeration. + * @enum {string} + */ + JobIndexViewEnum: "collection" | "admin_job_list"; + /** JobLock */ + JobLock: { /** - * Purged - * @description Whether this item has been permanently removed. + * Job lock status + * @description If active, jobs will not dispatch */ - purged: boolean; + active: boolean; + }; + /** + * JobSourceType + * @description Available types of job sources (model classes) that produce dataset collections. + * @enum {string} + */ + JobSourceType: "Job" | "ImplicitCollectionJobs" | "WorkflowInvocation"; + /** + * JobState + * @description An enumeration. + * @enum {string} + */ + JobState: + | "new" + | "resubmitted" + | "upload" + | "waiting" + | "queued" + | "running" + | "ok" + | "error" + | "failed" + | "paused" + | "deleting" + | "deleted" + | "stop" + | "stopped" + | "skipped"; + /** + * JobStateSummary + * @description Base model definition with common configuration used by all derived models. + */ + JobStateSummary: { /** - * Size - * @description The total size of the contents of this history in bytes. + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF */ - size: number; + id: string; /** - * Slug - * @description Part of the URL to uniquely identify this History by link in a readable way. + * Model class + * @description The name of the database model class. + * @default Job + * @enum {string} */ - slug?: string; + model: "Job"; /** - * State - * @description The current state of the History based on the states of the datasets it contains. + * Populated State + * @description Indicates the general state of the elements in the dataset collection:- 'new': new dataset collection, unpopulated elements.- 'ok': collection elements populated (HDAs may or may not have errors).- 'failed': some problem populating, won't be populated. */ - state: components["schemas"]["DatasetState"]; + populated_state: components["schemas"]["DatasetCollectionPopulatedState"]; /** - * State Counts - * @description A dictionary keyed to possible dataset states and valued with the number of datasets in this history that have those states. + * States + * @description A dictionary of job states and the number of jobs in that state. + * @default {} */ - state_details: { + states?: { [key: string]: number | undefined; }; + }; + /** + * LabelValuePair + * @description Generic Label/Value pair model. + */ + LabelValuePair: { /** - * State IDs - * @description A dictionary keyed to possible dataset states and valued with lists containing the ids of each HDA in that state. + * Label + * @description The label of the item. */ - state_ids: { - [key: string]: string[] | undefined; - }; - tags: components["schemas"]["TagCollection"]; + label: string; /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. + * Value + * @description The value of the item. */ - update_time: string; + value: string; + }; + /** + * LegacyLibraryPermissionsPayload + * @description Base model definition with common configuration used by all derived models. + */ + LegacyLibraryPermissionsPayload: { /** - * URL - * @deprecated - * @description The relative URL to access this item. + * Access IDs + * @description A list of role encoded IDs defining roles that should have access permission on the library. + * @default [] */ - url: string; + LIBRARY_ACCESS_in?: string[] | string; /** - * User ID - * @description The encoded ID of the user that owns this History. - * @example 0123456789ABCDEF + * Manage IDs + * @description A list of role encoded IDs defining roles that should have manage permission on the library. + * @default [] */ - user_id: string; + LIBRARY_ADD_in?: string[] | string; /** - * Username and slug - * @description The relative URL in the form of /u/{username}/h/{slug} + * Modify IDs + * @description A list of role encoded IDs defining roles that should have modify permission on the library. + * @default [] */ - username_and_slug?: string; + LIBRARY_MANAGE_in?: string[] | string; + /** + * Add IDs + * @description A list of role encoded IDs defining roles that should be able to add items to the library. + * @default [] + */ + LIBRARY_MODIFY_in?: string[] | string; }; /** - * HistorySummary - * @description History summary information. + * LibraryAvailablePermissions + * @description Base model definition with common configuration used by all derived models. */ - HistorySummary: { + LibraryAvailablePermissions: { /** - * Annotation - * @description An annotation to provide details or to help understand the purpose and usage of this item. + * Page + * @description Current page. */ - annotation: string; + page: number; /** - * Archived - * @description Whether this item has been archived and is no longer active. + * Page Limit + * @description Maximum number of items per page. */ - archived: boolean; + page_limit: number; /** - * Count - * @description The number of items in the history. + * Roles + * @description A list available roles that can be assigned to a particular permission. */ - count: number; + roles: components["schemas"]["BasicRoleModel"][]; /** - * Deleted - * @description Whether this item is marked as deleted. + * Total + * @description Total number of items */ - deleted: boolean; + total: number; + }; + /** + * LibraryCurrentPermissions + * @description Base model definition with common configuration used by all derived models. + */ + LibraryCurrentPermissions: { /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF + * Access Role List + * @description A list containing pairs of role names and corresponding encoded IDs which have access to the Library. */ - id: string; + access_library_role_list: string[][]; + /** + * Add Role List + * @description A list containing pairs of role names and corresponding encoded IDs which can add items to the Library. + */ + add_library_item_role_list: string[][]; + /** + * Manage Role List + * @description A list containing pairs of role names and corresponding encoded IDs which can manage the Library. + */ + manage_library_role_list: string[][]; + /** + * Modify Role List + * @description A list containing pairs of role names and corresponding encoded IDs which can modify the Library. + */ + modify_library_role_list: string[][]; + }; + /** + * LibraryDestination + * @description Base model definition with common configuration used by all derived models. + */ + LibraryDestination: { /** - * Model class - * @description The name of the database model class. - * @default History - * @enum {string} + * Description + * @description Description for library to create */ - model_class: "History"; + description?: string; /** * Name - * @description The name of the history. + * @description Must specify a library name */ name: string; /** - * Preferred Object Store ID - * @description The ID of the object store that should be used to store new datasets in this history. + * Synopsis + * @description Description for library to create */ - preferred_object_store_id?: string; + synopsis?: string; /** - * Published - * @description Whether this resource is currently publicly available to all users. + * Type + * @enum {string} */ - published: boolean; + type: "library"; + }; + /** + * LibraryFolderContentsIndexResult + * @description Base model definition with common configuration used by all derived models. + */ + LibraryFolderContentsIndexResult: { + /** Folder Contents */ + folder_contents: ( + | components["schemas"]["FileLibraryFolderItem"] + | components["schemas"]["FolderLibraryFolderItem"] + )[]; + metadata: components["schemas"]["LibraryFolderMetadata"]; + }; + /** + * LibraryFolderCurrentPermissions + * @description Base model definition with common configuration used by all derived models. + */ + LibraryFolderCurrentPermissions: { /** - * Purged - * @description Whether this item has been permanently removed. + * Add Role List + * @description A list containing pairs of role names and corresponding encoded IDs which can add items to the Library folder. */ - purged: boolean; - tags: components["schemas"]["TagCollection"]; + add_library_item_role_list: string[][]; /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. + * Manage Role List + * @description A list containing pairs of role names and corresponding encoded IDs which can manage the Library folder. */ - update_time: string; + manage_folder_role_list: string[][]; /** - * URL - * @deprecated - * @description The relative URL to access this item. + * Modify Role List + * @description A list containing pairs of role names and corresponding encoded IDs which can modify the Library folder. */ - url: string; + modify_folder_role_list: string[][]; }; /** - * Hyperlink - * @description Represents some text with an Hyperlink. + * LibraryFolderDestination + * @description Base model definition with common configuration used by all derived models. */ - Hyperlink: { - /** - * HRef - * Format: uri - * @description Specifies the linked document, resource, or location. - */ - href: string; + LibraryFolderDestination: { /** - * Target - * @description Specifies where to open the linked document. - * @example _blank + * Library Folder Id + * @example 0123456789ABCDEF */ - target: string; + library_folder_id: string; /** - * Text - * @description The text placeholder for the link. + * Type + * @enum {string} */ - text: string; + type: "library_folder"; }; /** - * ImplicitCollectionJobsStateSummary + * LibraryFolderDetails * @description Base model definition with common configuration used by all derived models. */ - ImplicitCollectionJobsStateSummary: { + LibraryFolderDetails: { + /** + * Deleted + * @description Whether this folder is marked as deleted. + */ + deleted: boolean; + /** + * Description + * @description A detailed description of the library folder. + * @default + */ + description?: string; + /** + * Genome Build + * @description TODO + * @default ? + */ + genome_build?: string; /** * ID - * @description The encoded ID of this entity. + * @description Encoded ID of the library folder. * @example 0123456789ABCDEF */ id: string; + /** + * Item Count + * @description A detailed description of the library folder. + */ + item_count: number; + /** + * Path + * @description The list of folder names composing the path to this folder. + * @default [] + */ + library_path?: string[]; /** * Model class * @description The name of the database model class. - * @default ImplicitCollectionJobs + * @default LibraryFolder * @enum {string} */ - model: "ImplicitCollectionJobs"; + model_class: "LibraryFolder"; /** - * Populated State - * @description Indicates the general state of the elements in the dataset collection:- 'new': new dataset collection, unpopulated elements.- 'ok': collection elements populated (HDAs may or may not have errors).- 'failed': some problem populating, won't be populated. + * Name + * @description The name of the library folder. */ - populated_state: components["schemas"]["DatasetCollectionPopulatedState"]; + name: string; /** - * States - * @description A dictionary of job states and the number of jobs in that state. - * @default {} + * Parent Folder ID + * @description Encoded ID of the parent folder. Empty if it's the root folder. + * @example 0123456789ABCDEF */ - states?: { - [key: string]: number | undefined; - }; - }; - /** ImportToolDataBundle */ - ImportToolDataBundle: { - /** Source */ - source: - | components["schemas"]["ImportToolDataBundleDatasetSource"] - | components["schemas"]["ImportToolDataBundleUriSource"]; - }; - /** - * ImportToolDataBundleDatasetSource - * @description Base model definition with common configuration used by all derived models. - */ - ImportToolDataBundleDatasetSource: { + parent_id?: string; /** - * ID - * @description The encoded ID of this entity. + * Parent Library ID + * @description Encoded ID of the Library this folder belongs to. * @example 0123456789ABCDEF */ - id: string; + parent_library_id: string; /** - * src - * @description Indicates that the tool data should be resolved from a dataset. - * @enum {string} + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - src: "hda" | "ldda"; + update_time: string; }; /** - * ImportToolDataBundleUriSource + * LibraryFolderMetadata * @description Base model definition with common configuration used by all derived models. */ - ImportToolDataBundleUriSource: { - /** - * src - * @description Indicates that the tool data should be resolved by a URI. - * @enum {string} - */ - src: "uri"; + LibraryFolderMetadata: { + /** Can Add Library Item */ + can_add_library_item: boolean; + /** Can Modify Folder */ + can_modify_folder: boolean; + /** Folder Description */ + folder_description: string; + /** Folder Name */ + folder_name: string; + /** Full Path */ + full_path: string[][]; /** - * uri - * @description URI to fetch tool data bundle from (file:// URIs are fine because this is an admin-only operation) + * Parent Library Id + * @example 0123456789ABCDEF */ - uri: string; + parent_library_id: string; + /** Total Rows */ + total_rows: number; }; /** - * InputArguments + * LibraryFolderPermissionAction + * @description An enumeration. + * @enum {string} + */ + LibraryFolderPermissionAction: "set_permissions"; + /** + * LibraryFolderPermissionsPayload * @description Base model definition with common configuration used by all derived models. */ - InputArguments: { - /** - * Database Key - * @description Sets the database key of the objects being fetched to Galaxy. - * @default ? - */ - dbkey?: string; - /** - * File Type - * @description Sets the Galaxy datatype (e.g., `bam`) for the objects being fetched to Galaxy. See the following link for a complete list of Galaxy data types: https://galaxyproject.org/learn/datatypes/. - * @default auto - */ - file_type?: string; + LibraryFolderPermissionsPayload: { /** - * Spaces to tabs - * @description A boolean value ('true' or 'false') that sets if spaces should be converted to tab in the objects being fetched to Galaxy. Applicable only if `to_posix_lines` is True - * @default false + * Action + * @description Indicates what action should be performed on the library folder. */ - space_to_tab?: boolean; + action?: components["schemas"]["LibraryFolderPermissionAction"]; /** - * POSIX line endings - * @description A boolean value ('true' or 'false'); if 'Yes', converts universal line endings to POSIX line endings. Set to 'False' if you upload a gzip, bz2 or zip archive containing a binary file. - * @default Yes + * Add IDs + * @description A list of role encoded IDs defining roles that should be able to add items to the library. + * @default [] */ - to_posix_lines?: "Yes" | boolean; - }; - /** - * InstalledRepositoryToolShedStatus - * @description Base model definition with common configuration used by all derived models. - */ - InstalledRepositoryToolShedStatus: { + "add_ids[]"?: string[] | string; /** - * Latest installed revision - * @description Most recent version available on the tool shed + * Manage IDs + * @description A list of role encoded IDs defining roles that should have manage permission on the library. + * @default [] */ - latest_installable_revision?: string; + "manage_ids[]"?: string[] | string; /** - * Repository deprecated - * @description Repository has been depreciated on the tool shed + * Modify IDs + * @description A list of role encoded IDs defining roles that should have modify permission on the library. + * @default [] */ - repository_deprecated?: string; - /** Revision Update */ - revision_update: string; - /** Revision Upgrade */ - revision_upgrade?: string; + "modify_ids[]"?: string[] | string; }; /** - * InstalledToolShedRepository + * LibraryLegacySummary * @description Base model definition with common configuration used by all derived models. */ - InstalledToolShedRepository: { + LibraryLegacySummary: { /** - * Changeset revision - * @description Changeset revision of the repository - a mercurial commit hash + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - changeset_revision: string; + create_time: string; /** - * Changeset revision number - * @description The linearized 0-based index of the changeset on the tool shed (0, 1, 2,...) + * Deleted + * @description Whether this Library has been deleted. */ - ctx_rev?: string; - /** Deleted */ deleted: boolean; - /** Dist To Shed */ - dist_to_shed: boolean; /** - * Error Message - * @default Installation error message, the empty string means no error was recorded + * Description + * @description A detailed description of the Library. + * @default */ - error_message?: string; + description?: string; /** * ID - * @description Encoded ID of the install tool shed repository. + * @description Encoded ID of the Library. * @example 0123456789ABCDEF */ id: string; - /** - * Installed changeset revision - * @description Initially installed changeset revision. Used to construct path to repository within Galaxies filesystem. Does not change if a repository is updated. - */ - installed_changeset_revision: string; /** * Model class * @description The name of the database model class. - * @default ToolShedRepository + * @default Library * @enum {string} */ - model_class: "ToolShedRepository"; + model_class: "Library"; /** * Name - * @description Name of repository + * @description The name of the Library. */ name: string; /** - * Owner - * @description Owner of repository + * Root Folder ID + * @description Encoded ID of the Library's base folder. + * @example 0123456789ABCDEF */ - owner: string; - /** Status */ - status: string; + root_folder_id: string; /** - * Tool shed - * @description Hostname of the tool shed this was installed from + * Description + * @description A short text describing the contents of the Library. */ - tool_shed: string; - /** Latest updated status from the tool shed */ - tool_shed_status?: components["schemas"]["InstalledRepositoryToolShedStatus"]; - /** Uninstalled */ - uninstalled: boolean; + synopsis?: string; }; /** - * ItemTagsPayload + * LibraryPermissionAction + * @description An enumeration. + * @enum {string} + */ + LibraryPermissionAction: "set_permissions" | "remove_restrictions"; + /** + * LibraryPermissionScope + * @description An enumeration. + * @enum {string} + */ + LibraryPermissionScope: "current" | "available"; + /** + * LibraryPermissionsPayload * @description Base model definition with common configuration used by all derived models. */ - ItemTagsPayload: { + LibraryPermissionsPayload: { /** - * Item class - * @description The name of the class of the item that will be tagged. + * Access IDs + * @description A list of role encoded IDs defining roles that should have access permission on the library. + * @default [] */ - item_class: components["schemas"]["TaggableItemClass"]; + "access_ids[]"?: string[] | string; /** - * Item ID - * @description The `encoded identifier` of the item whose tags will be updated. - * @example 0123456789ABCDEF + * Action + * @description Indicates what action should be performed on the Library. */ - item_id: string; + action: components["schemas"]["LibraryPermissionAction"]; /** - * Item tags - * @description The list of tags that will replace the current tags associated with the item. + * Add IDs + * @description A list of role encoded IDs defining roles that should be able to add items to the library. + * @default [] */ - item_tags?: components["schemas"]["TagCollection"]; + "add_ids[]"?: string[] | string; + /** + * Manage IDs + * @description A list of role encoded IDs defining roles that should have manage permission on the library. + * @default [] + */ + "manage_ids[]"?: string[] | string; + /** + * Modify IDs + * @description A list of role encoded IDs defining roles that should have modify permission on the library. + * @default [] + */ + "modify_ids[]"?: string[] | string; }; /** - * ItemsFromSrc - * @description An enumeration. - * @enum {string} - */ - ItemsFromSrc: "url" | "files" | "path" | "ftp_import" | "server_dir"; - /** - * JobExportHistoryArchiveListResponse - * @description Base model definition with common configuration used by all derived models. - */ - JobExportHistoryArchiveListResponse: components["schemas"]["JobExportHistoryArchiveModel"][]; - /** - * JobExportHistoryArchiveModel + * LibrarySummary * @description Base model definition with common configuration used by all derived models. */ - JobExportHistoryArchiveModel: { + LibrarySummary: { /** - * Download URL - * @description Relative API URL to download the exported history archive. + * Can User Add + * @description Whether the current user can add contents to this Library. */ - download_url: string; + can_user_add: boolean; /** - * External Download Latest URL - * Format: uri - * @description Fully qualified URL to download the latests version of the exported history archive. + * Can User Manage + * @description Whether the current user can manage the Library and its contents. */ - external_download_latest_url: string; + can_user_manage: boolean; /** - * External Download Permanent URL - * Format: uri - * @description Fully qualified URL to download this particular version of the exported history archive. + * Can User Modify + * @description Whether the current user can modify this Library. */ - external_download_permanent_url: string; + can_user_modify: boolean; + /** + * Create Time + * Format: date-time + * @description The time and date this item was created. + */ + create_time: string; + /** + * Create Time Pretty + * @description Nice time representation of the creation date. + * @example 2 months ago + */ + create_time_pretty: string; + /** + * Deleted + * @description Whether this Library has been deleted. + */ + deleted: boolean; + /** + * Description + * @description A detailed description of the Library. + * @default + */ + description?: string; /** * ID - * @description The encoded database ID of the export request. + * @description Encoded ID of the Library. * @example 0123456789ABCDEF */ id: string; /** - * Job ID - * @description The encoded database ID of the job that generated this history export archive. - * @example 0123456789ABCDEF + * Model class + * @description The name of the database model class. + * @default Library + * @enum {string} */ - job_id: string; + model_class: "Library"; /** - * Preparing - * @description Whether the archive is currently being built or in preparation. + * Name + * @description The name of the Library. */ - preparing: boolean; + name: string; /** - * Ready - * @description Whether the export has completed successfully and the archive is ready + * Public + * @description Whether this Library has been deleted. */ - ready: boolean; + public: boolean; /** - * Up to Date - * @description False, if a new export archive should be generated. + * Root Folder ID + * @description Encoded ID of the Library's base folder. + * @example 0123456789ABCDEF */ - up_to_date: boolean; - }; - /** - * JobIdResponse - * @description Contains the ID of the job associated with a particular request. - */ - JobIdResponse: { + root_folder_id: string; /** - * Job ID - * @description The encoded database ID of the job that is currently processing a particular request. - * @example 0123456789ABCDEF + * Description + * @description A short text describing the contents of the Library. */ - job_id: string; + synopsis?: string; }; /** - * JobImportHistoryResponse + * LibrarySummaryList * @description Base model definition with common configuration used by all derived models. + * @default [] */ - JobImportHistoryResponse: { + LibrarySummaryList: components["schemas"]["LibrarySummary"][]; + /** LicenseMetadataModel */ + LicenseMetadataModel: { /** - * Create Time - * Format: date-time - * @description The time and date this item was created. + * Details URL + * Format: uri + * @description URL to the SPDX json details for this license + * @example http://spdx.org/licenses/Apache-2.0.json */ - create_time: string; + detailsUrl: string; /** - * Exit Code - * @description The exit code returned by the tool. Can be unset if the job is not completed yet. + * Deprecated License + * @description True if the entire license is deprecated + * @example false */ - exit_code?: number; + isDeprecatedLicenseId: boolean; /** - * Galaxy Version - * @description The (major) version of Galaxy used to create this job. - * @example 21.05 + * OSI approved + * @description Indicates if the [OSI](https://opensource.org/) has approved the license + * @example true */ - galaxy_version: string; + isOsiApproved: boolean; /** - * History ID - * @description The encoded ID of the history associated with this item. - * @example 0123456789ABCDEF + * Identifier + * @description SPDX Identifier + * @example Apache-2.0 */ - history_id?: string; + licenseId: string; /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF + * Name + * @description Full name of the license + * @example Apache License 2.0 + */ + name: string; + /** + * Recommended + * @description True if this license is recommended to be used */ - id: string; + recommended: boolean; /** - * Message - * @description Text message containing information about the history import. + * Reference + * @description Reference to the HTML format for the license file + * @example ./Apache-2.0.html */ - message: string; + reference: string; /** - * Model class - * @description The name of the database model class. - * @default Job - * @enum {string} + * Reference number + * @description *Deprecated* - this field is generated and is no longer in use */ - model_class: "Job"; + referenceNumber: number; /** - * State - * @description Current state of the job. + * Reference URLs + * @description Cross reference URL pointing to additional copies of the license */ - state: components["schemas"]["JobState"]; + seeAlso: string[]; /** - * Tool ID - * @description Identifier of the tool that generated this job. + * SPDX URL + * Format: uri + * @example https://spdx.org/licenses/Apache-2.0.html */ - tool_id: string; + spdxUrl: string; /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. + * URL + * Format: uri + * @description License URL + * @example http://www.apache.org/licenses/LICENSE-2.0 */ - update_time: string; + url: string; }; /** - * JobIndexSortByEnum - * @description An enumeration. - * @enum {string} - */ - JobIndexSortByEnum: "create_time" | "update_time"; - /** - * JobIndexViewEnum - * @description An enumeration. - * @enum {string} + * LimitedUserModel + * @description This is used when config options (expose_user_name and expose_user_email) are in place. */ - JobIndexViewEnum: "collection" | "admin_job_list"; - /** JobLock */ - JobLock: { + LimitedUserModel: { + /** Email */ + email?: string; /** - * Job lock status - * @description If active, jobs will not dispatch + * ID + * @description Encoded ID of the user + * @example 0123456789ABCDEF */ - active: boolean; + id: string; + /** Username */ + username?: string; + }; + /** Link */ + Link: { + /** Name */ + name: string; }; /** - * JobSourceType - * @description Available types of job sources (model classes) that produce dataset collections. - * @enum {string} + * ListJstreeResponse + * @deprecated + * @description List of files in Jstree format. + * @default [] */ - JobSourceType: "Job" | "ImplicitCollectionJobs" | "WorkflowInvocation"; + ListJstreeResponse: Record[]; /** - * JobState - * @description An enumeration. + * ListUriResponse + * @description List of directories and files. + * @default [] + */ + ListUriResponse: (components["schemas"]["RemoteFile"] | components["schemas"]["RemoteDirectory"])[]; + /** + * MandatoryNotificationCategory + * @description These notification categories cannot be opt-out by the user. + * + * The user will always receive notifications from these categories. * @enum {string} */ - JobState: - | "new" - | "resubmitted" - | "upload" - | "waiting" - | "queued" - | "running" - | "ok" - | "error" - | "failed" - | "paused" - | "deleting" - | "deleted" - | "stop" - | "stopped" - | "skipped"; + MandatoryNotificationCategory: "broadcast"; /** - * JobStateSummary + * MaterializeDatasetInstanceAPIRequest * @description Base model definition with common configuration used by all derived models. */ - JobStateSummary: { + MaterializeDatasetInstanceAPIRequest: { /** - * ID - * @description The encoded ID of this entity. + * Content + * @description Depending on the `source` it can be: + * - The encoded id of the source library dataset + * - The encoded id of the the HDA + * * @example 0123456789ABCDEF */ - id: string; + content: string; /** - * Model class - * @description The name of the database model class. - * @default Job + * Source + * @description The source of the content. Can be other history element to be copied or library elements. + */ + source: components["schemas"]["DatasetSourceType"]; + }; + /** + * MessageNotificationContent + * @description Base model definition with common configuration used by all derived models. + */ + MessageNotificationContent: { + /** + * Category + * @default message * @enum {string} */ - model: "Job"; + category?: "message"; /** - * Populated State - * @description Indicates the general state of the elements in the dataset collection:- 'new': new dataset collection, unpopulated elements.- 'ok': collection elements populated (HDAs may or may not have errors).- 'failed': some problem populating, won't be populated. + * Message + * @description The message of the notification (supports Markdown). */ - populated_state: components["schemas"]["DatasetCollectionPopulatedState"]; + message: string; /** - * States - * @description A dictionary of job states and the number of jobs in that state. - * @default {} + * Subject + * @description The subject of the notification. */ - states?: { - [key: string]: number | undefined; - }; + subject: string; }; /** - * LabelValuePair - * @description Generic Label/Value pair model. + * MetadataFile + * @description Metadata file associated with a dataset. */ - LabelValuePair: { + MetadataFile: { /** - * Label - * @description The label of the item. + * Download URL + * @description The URL to download this item from the server. */ - label: string; + download_url: string; /** - * Value - * @description The value of the item. + * File Type + * @description TODO */ - value: string; + file_type: string; }; - /** - * LegacyLibraryPermissionsPayload - * @description Base model definition with common configuration used by all derived models. - */ - LegacyLibraryPermissionsPayload: { + /** Metric */ + Metric: { /** - * Access IDs - * @description A list of role encoded IDs defining roles that should have access permission on the library. - * @default [] + * Arguments + * @description A JSON string containing an array of extra data. */ - LIBRARY_ACCESS_in?: string[] | string; + args: string; /** - * Manage IDs - * @description A list of role encoded IDs defining roles that should have manage permission on the library. - * @default [] + * Level + * @description An integer representing the metric's log level. + */ + level: number; + /** + * Namespace + * @description Label indicating the source of the metric. + */ + namespace: string; + /** + * Timestamp + * @description The timestamp in ISO format. + * @example 2021-01-23T18:25:43.511Z + */ + time: string; + }; + /** Model */ + Model: { + /** + * Access Methods + * @description The list of access methods that can be used to fetch the `DrsObject`. + * Required for single blobs; optional for bundles. + */ + access_methods?: components["schemas"]["AccessMethod"][]; + /** + * Aliases + * @description A list of strings that can be used to find other metadata about this `DrsObject` from external metadata sources. These aliases can be used to represent secondary accession numbers or external GUIDs. + */ + aliases?: string[]; + /** + * Checksums + * @description The checksum of the `DrsObject`. At least one checksum must be provided. + * For blobs, the checksum is computed over the bytes in the blob. + * For bundles, the checksum is computed over a sorted concatenation of the checksums of its top-level contained objects (not recursive, names not included). The list of checksums is sorted alphabetically (hex-code) before concatenation and a further checksum is performed on the concatenated checksum value. + * For example, if a bundle contains blobs with the following checksums: + * md5(blob1) = 72794b6d + * md5(blob2) = 5e089d29 + * Then the checksum of the bundle is: + * md5( concat( sort( md5(blob1), md5(blob2) ) ) ) + * = md5( concat( sort( 72794b6d, 5e089d29 ) ) ) + * = md5( concat( 5e089d29, 72794b6d ) ) + * = md5( 5e089d2972794b6d ) + * = f7a29a04 + */ + checksums: components["schemas"]["Checksum"][]; + /** + * Contents + * @description If not set, this `DrsObject` is a single blob. + * If set, this `DrsObject` is a bundle containing the listed `ContentsObject` s (some of which may be further nested). + */ + contents?: components["schemas"]["ContentsObject"][]; + /** + * Created Time + * Format: date-time + * @description Timestamp of content creation in RFC3339. + * (This is the creation time of the underlying content, not of the JSON object.) + */ + created_time: string; + /** + * Description + * @description A human readable description of the `DrsObject`. + */ + description?: string; + /** + * Id + * @description An identifier unique to this `DrsObject` */ - LIBRARY_ADD_in?: string[] | string; + id: string; /** - * Modify IDs - * @description A list of role encoded IDs defining roles that should have modify permission on the library. - * @default [] + * Mime Type + * @description A string providing the mime-type of the `DrsObject`. + * @example application/json */ - LIBRARY_MANAGE_in?: string[] | string; + mime_type?: string; /** - * Add IDs - * @description A list of role encoded IDs defining roles that should be able to add items to the library. - * @default [] + * Name + * @description A string that can be used to name a `DrsObject`. + * This string is made up of uppercase and lowercase letters, decimal digits, hyphen, period, and underscore [A-Za-z0-9.-_]. See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable filenames]. */ - LIBRARY_MODIFY_in?: string[] | string; - }; - /** - * LibraryAvailablePermissions - * @description Base model definition with common configuration used by all derived models. - */ - LibraryAvailablePermissions: { + name?: string; /** - * Page - * @description Current page. + * Self Uri + * @description A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. + * The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls. + * @example drs://drs.example.org/314159 */ - page: number; + self_uri: string; /** - * Page Limit - * @description Maximum number of items per page. + * Size + * @description For blobs, the blob size in bytes. + * For bundles, the cumulative size, in bytes, of items in the `contents` field. */ - page_limit: number; + size: number; /** - * Roles - * @description A list available roles that can be assigned to a particular permission. + * Updated Time + * Format: date-time + * @description Timestamp of content update in RFC3339, identical to `created_time` in systems that do not support updates. (This is the update time of the underlying content, not of the JSON object.) */ - roles: components["schemas"]["BasicRoleModel"][]; + updated_time?: string; /** - * Total - * @description Total number of items + * Version + * @description A string representing a version. + * (Some systems may use checksum, a RFC3339 timestamp, or an incrementing version number.) */ - total: number; + version?: string; }; /** - * LibraryCurrentPermissions + * ModelStoreFormat + * @description Available types of model stores for export. + * @enum {string} + */ + ModelStoreFormat: "tgz" | "tar" | "tar.gz" | "bag.zip" | "bag.tar" | "bag.tgz" | "rocrate.zip" | "bco.json"; + /** + * NestedElement * @description Base model definition with common configuration used by all derived models. */ - LibraryCurrentPermissions: { + NestedElement: { + /** Md5 */ + MD5?: string; /** - * Access Role List - * @description A list containing pairs of role names and corresponding encoded IDs which have access to the Library. + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false */ - access_library_role_list: string[][]; + auto_decompress?: boolean; + /** Collection Type */ + collection_type?: string; + /** Created From Basename */ + created_from_basename?: string; /** - * Add Role List - * @description A list containing pairs of role names and corresponding encoded IDs which can add items to the Library. + * Dbkey + * @default ? */ - add_library_item_role_list: string[][]; + dbkey?: string; /** - * Manage Role List - * @description A list containing pairs of role names and corresponding encoded IDs which can manage the Library. + * Deferred + * @default false */ - manage_library_role_list: string[][]; + deferred?: boolean; + /** Elements */ + elements: ( + | ( + | components["schemas"]["FileDataElement"] + | components["schemas"]["PastedDataElement"] + | components["schemas"]["UrlDataElement"] + | components["schemas"]["PathDataElement"] + | components["schemas"]["ServerDirElement"] + | components["schemas"]["FtpImportElement"] + | components["schemas"]["CompositeDataElement"] + ) + | components["schemas"]["NestedElement"] + )[]; + elements_from?: components["schemas"]["ElementsFromType"]; /** - * Modify Role List - * @description A list containing pairs of role names and corresponding encoded IDs which can modify the Library. + * Ext + * @default auto */ - modify_library_role_list: string[][]; + ext?: string; + extra_files?: components["schemas"]["ExtraFiles"]; + /** Info */ + info?: string; + /** Name */ + name?: string; + /** + * Space To Tab + * @default false + */ + space_to_tab?: boolean; + /** Tags */ + tags?: string[]; + /** + * To Posix Lines + * @default false + */ + to_posix_lines?: boolean; }; /** - * LibraryDestination + * NewSharedItemNotificationContent * @description Base model definition with common configuration used by all derived models. */ - LibraryDestination: { + NewSharedItemNotificationContent: { /** - * Description - * @description Description for library to create + * Category + * @default new_shared_item + * @enum {string} */ - description?: string; + category?: "new_shared_item"; /** - * Name - * @description Must specify a library name + * Item name + * @description The name of the shared item. */ - name: string; + item_name: string; /** - * Synopsis - * @description Description for library to create + * Item type + * @description The type of the shared item. + * @enum {string} */ - synopsis?: string; + item_type: "history" | "workflow" | "visualization" | "page"; /** - * Type - * @enum {string} + * Owner name + * @description The name of the owner of the shared item. */ - type: "library"; - }; - /** - * LibraryFolderContentsIndexResult - * @description Base model definition with common configuration used by all derived models. - */ - LibraryFolderContentsIndexResult: { - /** Folder Contents */ - folder_contents: ( - | components["schemas"]["FileLibraryFolderItem"] - | components["schemas"]["FolderLibraryFolderItem"] - )[]; - metadata: components["schemas"]["LibraryFolderMetadata"]; + owner_name: string; + /** + * Slug + * @description The slug of the shared item. Used for the link to the item. + */ + slug: string; }; /** - * LibraryFolderCurrentPermissions - * @description Base model definition with common configuration used by all derived models. + * NotificationBroadcastUpdateRequest + * @description A notification update request specific for broadcasting. */ - LibraryFolderCurrentPermissions: { + NotificationBroadcastUpdateRequest: { /** - * Add Role List - * @description A list containing pairs of role names and corresponding encoded IDs which can add items to the Library folder. + * Content + * @description The content of the broadcast notification. Broadcast notifications are displayed prominently to all users and can contain action links to redirect the user to a specific page. */ - add_library_item_role_list: string[][]; + content?: components["schemas"]["BroadcastNotificationContent"]; /** - * Manage Role List - * @description A list containing pairs of role names and corresponding encoded IDs which can manage the Library folder. + * Expiration time + * Format: date-time + * @description The time when the notification should expire. By default it will expire after 6 months. Expired notifications will be permanently deleted. */ - manage_folder_role_list: string[][]; + expiration_time?: string; /** - * Modify Role List - * @description A list containing pairs of role names and corresponding encoded IDs which can modify the Library folder. + * Publication time + * Format: date-time + * @description The time when the notification should be published. Notifications can be created and then scheduled to be published at a later time. */ - modify_folder_role_list: string[][]; - }; - /** - * LibraryFolderDestination - * @description Base model definition with common configuration used by all derived models. - */ - LibraryFolderDestination: { + publication_time?: string; /** - * Library Folder Id - * @example 0123456789ABCDEF + * Source + * @description The source of the notification. Represents the agent that created the notification. */ - library_folder_id: string; + source?: string; /** - * Type - * @enum {string} + * Variant + * @description The variant of the notification. Used to express the importance of the notification. */ - type: "library_folder"; + variant?: components["schemas"]["NotificationVariant"]; }; /** - * LibraryFolderDetails - * @description Base model definition with common configuration used by all derived models. + * NotificationCategorySettings + * @description The settings for a notification category. */ - LibraryFolderDetails: { + NotificationCategorySettings: { /** - * Deleted - * @description Whether this folder is marked as deleted. + * Channels + * @description The channels that the user wants to receive notifications from for this category. + * @default { + * "push": true + * } */ - deleted: boolean; + channels?: components["schemas"]["NotificationChannelSettings"]; /** - * Description - * @description A detailed description of the library folder. - * @default + * Enabled + * @description Whether the user wants to receive notifications for this category. + * @default true */ - description?: string; + enabled?: boolean; + }; + /** + * NotificationChannelSettings + * @description The settings for each channel of a notification category. + */ + NotificationChannelSettings: { /** - * Genome Build - * @description TODO - * @default ? + * Push + * @description Whether the user wants to receive push notifications in the browser for this category. + * @default true */ - genome_build?: string; + push?: boolean; + }; + /** + * NotificationCreateData + * @description Basic common fields for all notification create requests. + */ + NotificationCreateData: { /** - * ID - * @description Encoded ID of the library folder. - * @example 0123456789ABCDEF + * Category + * @description The category of the notification. Represents the type of the notification. E.g. 'message' or 'new_shared_item'. */ - id: string; + category: + | components["schemas"]["MandatoryNotificationCategory"] + | components["schemas"]["PersonalNotificationCategory"]; /** - * Item Count - * @description A detailed description of the library folder. + * Content + * @description The content of the notification. The structure depends on the category. */ - item_count: number; + content: + | components["schemas"]["MessageNotificationContent"] + | components["schemas"]["NewSharedItemNotificationContent"] + | components["schemas"]["BroadcastNotificationContent"]; /** - * Path - * @description The list of folder names composing the path to this folder. - * @default [] + * Expiration time + * Format: date-time + * @description The time when the notification should expire. By default it will expire after 6 months. Expired notifications will be permanently deleted. */ - library_path?: string[]; + expiration_time?: string; /** - * Model class - * @description The name of the database model class. - * @default LibraryFolder - * @enum {string} + * Publication time + * Format: date-time + * @description The time when the notification should be published. Notifications can be created and then scheduled to be published at a later time. */ - model_class: "LibraryFolder"; + publication_time?: string; /** - * Name - * @description The name of the library folder. + * Source + * @description The source of the notification. Represents the agent that created the notification. E.g. 'galaxy' or 'admin'. */ - name: string; + source: string; /** - * Parent Folder ID - * @description Encoded ID of the parent folder. Empty if it's the root folder. - * @example 0123456789ABCDEF + * Variant + * @description The variant of the notification. Represents the intent or relevance of the notification. E.g. 'info' or 'urgent'. */ - parent_id?: string; + variant: components["schemas"]["NotificationVariant"]; + }; + /** + * NotificationCreateRequest + * @description Contains the recipients and the notification to create. + */ + NotificationCreateRequest: { /** - * Parent Library ID - * @description Encoded ID of the Library this folder belongs to. - * @example 0123456789ABCDEF + * Notification + * @description The notification to create. The structure depends on the category. */ - parent_library_id: string; + notification: components["schemas"]["NotificationCreateData"]; /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. + * Recipients + * @description The recipients of the notification. Can be a combination of users, groups and roles. */ - update_time: string; + recipients: components["schemas"]["NotificationRecipients"]; }; /** - * LibraryFolderMetadata + * NotificationCreatedResponse * @description Base model definition with common configuration used by all derived models. */ - LibraryFolderMetadata: { - /** Can Add Library Item */ - can_add_library_item: boolean; - /** Can Modify Folder */ - can_modify_folder: boolean; - /** Folder Description */ - folder_description: string; - /** Folder Name */ - folder_name: string; - /** Full Path */ - full_path: string[][]; + NotificationCreatedResponse: { /** - * Parent Library Id - * @example 0123456789ABCDEF + * Notification + * @description The notification that was created. The structure depends on the category. */ - parent_library_id: string; - /** Total Rows */ - total_rows: number; + notification: components["schemas"]["NotificationResponse"]; + /** + * Total notifications sent + * @description The total number of notifications that were sent to the recipients. + */ + total_notifications_sent: number; }; /** - * LibraryFolderPermissionAction - * @description An enumeration. - * @enum {string} - */ - LibraryFolderPermissionAction: "set_permissions"; - /** - * LibraryFolderPermissionsPayload - * @description Base model definition with common configuration used by all derived models. + * NotificationRecipients + * @description The recipients of a notification. Can be a combination of users, groups and roles. */ - LibraryFolderPermissionsPayload: { - /** - * Action - * @description Indicates what action should be performed on the library folder. - */ - action?: components["schemas"]["LibraryFolderPermissionAction"]; + NotificationRecipients: { /** - * Add IDs - * @description A list of role encoded IDs defining roles that should be able to add items to the library. + * Group IDs + * @description The list of encoded group IDs of the groups that should receive the notification. * @default [] */ - "add_ids[]"?: string[] | string; + group_ids?: string[]; /** - * Manage IDs - * @description A list of role encoded IDs defining roles that should have manage permission on the library. + * Role IDs + * @description The list of encoded role IDs of the roles that should receive the notification. * @default [] */ - "manage_ids[]"?: string[] | string; + role_ids?: string[]; /** - * Modify IDs - * @description A list of role encoded IDs defining roles that should have modify permission on the library. + * User IDs + * @description The list of encoded user IDs of the users that should receive the notification. * @default [] */ - "modify_ids[]"?: string[] | string; + user_ids?: string[]; }; /** - * LibraryLegacySummary - * @description Base model definition with common configuration used by all derived models. + * NotificationResponse + * @description Basic common fields for all notification responses. */ - LibraryLegacySummary: { + NotificationResponse: { /** - * Create Time - * Format: date-time - * @description The time and date this item was created. + * Category + * @description The category of the notification. Represents the type of the notification. E.g. 'message' or 'new_shared_item'. */ - create_time: string; + category: + | components["schemas"]["MandatoryNotificationCategory"] + | components["schemas"]["PersonalNotificationCategory"]; /** - * Deleted - * @description Whether this Library has been deleted. + * Content + * @description The content of the notification. The structure depends on the category. */ - deleted: boolean; + content: + | components["schemas"]["MessageNotificationContent"] + | components["schemas"]["NewSharedItemNotificationContent"] + | components["schemas"]["BroadcastNotificationContent"]; /** - * Description - * @description A detailed description of the Library. - * @default + * Create time + * Format: date-time + * @description The time when the notification was created. */ - description?: string; + create_time: string; + /** + * Expiration time + * Format: date-time + * @description The time when the notification will expire. If not set, the notification will never expire. Expired notifications will be permanently deleted. + */ + expiration_time?: string; /** * ID - * @description Encoded ID of the Library. + * @description The encoded ID of the notification. * @example 0123456789ABCDEF */ id: string; /** - * Model class - * @description The name of the database model class. - * @default Library - * @enum {string} + * Publication time + * Format: date-time + * @description The time when the notification was published. Notifications can be created and then published at a later time. */ - model_class: "Library"; + publication_time: string; /** - * Name - * @description The name of the Library. + * Source + * @description The source of the notification. Represents the agent that created the notification. E.g. 'galaxy' or 'admin'. */ - name: string; + source: string; /** - * Root Folder ID - * @description Encoded ID of the Library's base folder. - * @example 0123456789ABCDEF + * Update time + * Format: date-time + * @description The time when the notification was last updated. */ - root_folder_id: string; + update_time: string; /** - * Description - * @description A short text describing the contents of the Library. + * Variant + * @description The variant of the notification. Represents the intent or relevance of the notification. E.g. 'info' or 'urgent'. */ - synopsis?: string; + variant: components["schemas"]["NotificationVariant"]; }; /** - * LibraryPermissionAction - * @description An enumeration. - * @enum {string} - */ - LibraryPermissionAction: "set_permissions" | "remove_restrictions"; - /** - * LibraryPermissionScope - * @description An enumeration. - * @enum {string} - */ - LibraryPermissionScope: "current" | "available"; - /** - * LibraryPermissionsPayload - * @description Base model definition with common configuration used by all derived models. + * NotificationStatusSummary + * @description A summary of the notification status for a user. Contains only updates since a particular timestamp. */ - LibraryPermissionsPayload: { - /** - * Access IDs - * @description A list of role encoded IDs defining roles that should have access permission on the library. - * @default [] - */ - "access_ids[]"?: string[] | string; - /** - * Action - * @description Indicates what action should be performed on the Library. - */ - action: components["schemas"]["LibraryPermissionAction"]; + NotificationStatusSummary: { /** - * Add IDs - * @description A list of role encoded IDs defining roles that should be able to add items to the library. - * @default [] + * Broadcasts + * @description The list of updated broadcasts. */ - "add_ids[]"?: string[] | string; + broadcasts: components["schemas"]["BroadcastNotificationResponse"][]; /** - * Manage IDs - * @description A list of role encoded IDs defining roles that should have manage permission on the library. - * @default [] + * Notifications + * @description The list of updated notifications for the user. */ - "manage_ids[]"?: string[] | string; + notifications: components["schemas"]["UserNotificationResponse"][]; /** - * Modify IDs - * @description A list of role encoded IDs defining roles that should have modify permission on the library. - * @default [] + * Total unread count + * @description The total number of unread notifications for the user. */ - "modify_ids[]"?: string[] | string; + total_unread_count: number; }; /** - * LibrarySummary + * NotificationVariant + * @description The notification variant communicates the intent or relevance of the notification. + * @enum {string} + */ + NotificationVariant: "info" | "warning" | "urgent"; + /** + * NotificationsBatchRequest * @description Base model definition with common configuration used by all derived models. */ - LibrarySummary: { - /** - * Can User Add - * @description Whether the current user can add contents to this Library. - */ - can_user_add: boolean; + NotificationsBatchRequest: { /** - * Can User Manage - * @description Whether the current user can manage the Library and its contents. + * Notification IDs + * @description The list of encoded notification IDs of the notifications that should be updated. */ - can_user_manage: boolean; + notification_ids: string[]; + }; + /** + * NotificationsBatchUpdateResponse + * @description The response of a batch update request. + */ + NotificationsBatchUpdateResponse: { /** - * Can User Modify - * @description Whether the current user can modify this Library. + * Updated count + * @description The number of notifications that were updated. */ - can_user_modify: boolean; + updated_count: number; + }; + /** + * ObjectExportTaskResponse + * @description Base model definition with common configuration used by all derived models. + */ + ObjectExportTaskResponse: { /** * Create Time * Format: date-time * @description The time and date this item was created. */ create_time: string; + export_metadata?: components["schemas"]["ExportObjectMetadata"]; /** - * Create Time Pretty - * @description Nice time representation of the creation date. - * @example 2 months ago + * ID + * @description The encoded database ID of the export request. + * @example 0123456789ABCDEF */ - create_time_pretty: string; + id: string; /** - * Deleted - * @description Whether this Library has been deleted. + * Preparing + * @description Whether the archive is currently being built or in preparation. */ - deleted: boolean; + preparing: boolean; /** - * Description - * @description A detailed description of the Library. - * @default + * Ready + * @description Whether the export has completed successfully and the archive is ready */ - description?: string; + ready: boolean; /** - * ID - * @description Encoded ID of the Library. - * @example 0123456789ABCDEF + * Task ID + * Format: uuid4 + * @description The identifier of the task processing the export. */ - id: string; + task_uuid: string; /** - * Model class - * @description The name of the database model class. - * @default Library - * @enum {string} + * Up to Date + * @description False, if a new export archive should be generated. */ - model_class: "Library"; + up_to_date: boolean; + }; + /** Organization */ + Organization: { /** * Name - * @description The name of the Library. + * @description Name of the organization responsible for the service + * @example My organization */ name: string; /** - * Public - * @description Whether this Library has been deleted. - */ - public: boolean; - /** - * Root Folder ID - * @description Encoded ID of the Library's base folder. - * @example 0123456789ABCDEF - */ - root_folder_id: string; - /** - * Description - * @description A short text describing the contents of the Library. + * Url + * Format: uri + * @description URL of the website of the organization (RFC 3986 format) + * @example https://example.com */ - synopsis?: string; + url: string; }; /** - * LibrarySummaryList + * PageContentFormat + * @description An enumeration. + * @enum {string} + */ + PageContentFormat: "markdown" | "html"; + /** + * PageDetails * @description Base model definition with common configuration used by all derived models. - * @default [] */ - LibrarySummaryList: components["schemas"]["LibrarySummary"][]; - /** LicenseMetadataModel */ - LicenseMetadataModel: { - /** - * Details URL - * Format: uri - * @description URL to the SPDX json details for this license - * @example http://spdx.org/licenses/Apache-2.0.json - */ - detailsUrl: string; - /** - * Deprecated License - * @description True if the entire license is deprecated - * @example false - */ - isDeprecatedLicenseId: boolean; - /** - * OSI approved - * @description Indicates if the [OSI](https://opensource.org/) has approved the license - * @example true - */ - isOsiApproved: boolean; - /** - * Identifier - * @description SPDX Identifier - * @example Apache-2.0 - */ - licenseId: string; + PageDetails: { /** - * Name - * @description Full name of the license - * @example Apache License 2.0 + * Content + * @description Raw text contents of the first page revision (type dependent on content_format). + * @default */ - name: string; + content?: string; /** - * Recommended - * @description True if this license is recommended to be used + * Content format + * @description Either `markdown` or `html`. + * @default html */ - recommended: boolean; + content_format?: components["schemas"]["PageContentFormat"]; /** - * Reference - * @description Reference to the HTML format for the license file - * @example ./Apache-2.0.html + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - reference: string; + create_time?: string; /** - * Reference number - * @description *Deprecated* - this field is generated and is no longer in use + * Deleted + * @description Whether this Page has been deleted. */ - referenceNumber: number; + deleted: boolean; /** - * Reference URLs - * @description Cross reference URL pointing to additional copies of the license + * Encoded email + * @description The encoded email of the user. */ - seeAlso: string[]; + email_hash: string; /** - * SPDX URL - * Format: uri - * @example https://spdx.org/licenses/Apache-2.0.html + * Generate Date + * @description The date this page was generated. */ - spdxUrl: string; + generate_time?: string; /** - * URL - * Format: uri - * @description License URL - * @example http://www.apache.org/licenses/LICENSE-2.0 + * Galaxy Version + * @description The version of Galaxy this page was generated with. */ - url: string; - }; - /** - * LimitedUserModel - * @description This is used when config options (expose_user_name and expose_user_email) are in place. - */ - LimitedUserModel: { - /** Email */ - email?: string; + generate_version?: string; /** * ID - * @description Encoded ID of the user + * @description Encoded ID of the Page. * @example 0123456789ABCDEF */ id: string; - /** Username */ - username?: string; - }; - /** Link */ - Link: { - /** Name */ - name: string; - }; - /** - * ListJstreeResponse - * @deprecated - * @description List of files in Jstree format. - * @default [] - */ - ListJstreeResponse: Record[]; - /** - * ListUriResponse - * @description List of directories and files. - * @default [] - */ - ListUriResponse: (components["schemas"]["RemoteFile"] | components["schemas"]["RemoteDirectory"])[]; - /** - * MandatoryNotificationCategory - * @description These notification categories cannot be opt-out by the user. - * - * The user will always receive notifications from these categories. - * @enum {string} - */ - MandatoryNotificationCategory: "broadcast"; - /** - * MaterializeDatasetInstanceAPIRequest - * @description Base model definition with common configuration used by all derived models. - */ - MaterializeDatasetInstanceAPIRequest: { - /** - * Content - * @description Depending on the `source` it can be: - * - The encoded id of the source library dataset - * - The encoded id of the the HDA - * - * @example 0123456789ABCDEF - */ - content: string; - /** - * Source - * @description The source of the content. Can be other history element to be copied or library elements. - */ - source: components["schemas"]["DatasetSourceType"]; - }; - /** - * MessageNotificationContent - * @description Base model definition with common configuration used by all derived models. - */ - MessageNotificationContent: { - /** - * Category - * @default message - * @enum {string} + /** + * Importable + * @description Whether this Page can be imported. */ - category?: "message"; + importable: boolean; /** - * Message - * @description The message of the notification (supports Markdown). + * Latest revision ID + * @description The encoded ID of the last revision of this Page. + * @example 0123456789ABCDEF */ - message: string; + latest_revision_id: string; /** - * Subject - * @description The subject of the notification. + * Model class + * @description The name of the database model class. + * @default Page + * @enum {string} */ - subject: string; - }; - /** - * MetadataFile - * @description Metadata file associated with a dataset. - */ - MetadataFile: { + model_class: "Page"; /** - * Download URL - * @description The URL to download this item from the server. + * Published + * @description Whether this Page has been published. */ - download_url: string; + published: boolean; /** - * File Type - * @description TODO + * List of revisions + * @description The history with the encoded ID of each revision of the Page. */ - file_type: string; - }; - /** Metric */ - Metric: { + revision_ids: string[]; /** - * Arguments - * @description A JSON string containing an array of extra data. + * Identifier + * @description The title slug for the page URL, must be unique. */ - args: string; + slug: string; + tags: components["schemas"]["TagCollection"]; /** - * Level - * @description An integer representing the metric's log level. + * Title + * @description The name of the page. */ - level: number; + title: string; /** - * Namespace - * @description Label indicating the source of the metric. + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - namespace: string; + update_time?: string; /** - * Timestamp - * @description The timestamp in ISO format. - * @example 2021-01-23T18:25:43.511Z + * Username + * @description The name of the user owning this Page. */ - time: string; + username: string; }; - /** Model */ - Model: { + /** + * PageSummary + * @description Base model definition with common configuration used by all derived models. + */ + PageSummary: { /** - * Access Methods - * @description The list of access methods that can be used to fetch the `DrsObject`. - * Required for single blobs; optional for bundles. + * Create Time + * Format: date-time + * @description The time and date this item was created. */ - access_methods?: components["schemas"]["AccessMethod"][]; + create_time?: string; /** - * Aliases - * @description A list of strings that can be used to find other metadata about this `DrsObject` from external metadata sources. These aliases can be used to represent secondary accession numbers or external GUIDs. + * Deleted + * @description Whether this Page has been deleted. */ - aliases?: string[]; + deleted: boolean; /** - * Checksums - * @description The checksum of the `DrsObject`. At least one checksum must be provided. - * For blobs, the checksum is computed over the bytes in the blob. - * For bundles, the checksum is computed over a sorted concatenation of the checksums of its top-level contained objects (not recursive, names not included). The list of checksums is sorted alphabetically (hex-code) before concatenation and a further checksum is performed on the concatenated checksum value. - * For example, if a bundle contains blobs with the following checksums: - * md5(blob1) = 72794b6d - * md5(blob2) = 5e089d29 - * Then the checksum of the bundle is: - * md5( concat( sort( md5(blob1), md5(blob2) ) ) ) - * = md5( concat( sort( 72794b6d, 5e089d29 ) ) ) - * = md5( concat( 5e089d29, 72794b6d ) ) - * = md5( 5e089d2972794b6d ) - * = f7a29a04 + * Encoded email + * @description The encoded email of the user. */ - checksums: components["schemas"]["Checksum"][]; + email_hash: string; /** - * Contents - * @description If not set, this `DrsObject` is a single blob. - * If set, this `DrsObject` is a bundle containing the listed `ContentsObject` s (some of which may be further nested). + * ID + * @description Encoded ID of the Page. + * @example 0123456789ABCDEF */ - contents?: components["schemas"]["ContentsObject"][]; + id: string; /** - * Created Time - * Format: date-time - * @description Timestamp of content creation in RFC3339. - * (This is the creation time of the underlying content, not of the JSON object.) + * Importable + * @description Whether this Page can be imported. */ - created_time: string; + importable: boolean; /** - * Description - * @description A human readable description of the `DrsObject`. + * Latest revision ID + * @description The encoded ID of the last revision of this Page. + * @example 0123456789ABCDEF */ - description?: string; + latest_revision_id: string; /** - * Id - * @description An identifier unique to this `DrsObject` + * Model class + * @description The name of the database model class. + * @default Page + * @enum {string} */ - id: string; + model_class: "Page"; /** - * Mime Type - * @description A string providing the mime-type of the `DrsObject`. - * @example application/json + * Published + * @description Whether this Page has been published. */ - mime_type?: string; + published: boolean; /** - * Name - * @description A string that can be used to name a `DrsObject`. - * This string is made up of uppercase and lowercase letters, decimal digits, hyphen, period, and underscore [A-Za-z0-9.-_]. See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable filenames]. + * List of revisions + * @description The history with the encoded ID of each revision of the Page. */ - name?: string; + revision_ids: string[]; /** - * Self Uri - * @description A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. - * The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the `self_uri` presents you with a hostname and properly encoded DRS ID for use in subsequent `access` endpoint calls. - * @example drs://drs.example.org/314159 + * Identifier + * @description The title slug for the page URL, must be unique. */ - self_uri: string; + slug: string; + tags: components["schemas"]["TagCollection"]; /** - * Size - * @description For blobs, the blob size in bytes. - * For bundles, the cumulative size, in bytes, of items in the `contents` field. + * Title + * @description The name of the page. */ - size: number; + title: string; /** - * Updated Time + * Update Time * Format: date-time - * @description Timestamp of content update in RFC3339, identical to `created_time` in systems that do not support updates. (This is the update time of the underlying content, not of the JSON object.) + * @description The last time and date this item was updated. */ - updated_time?: string; + update_time?: string; /** - * Version - * @description A string representing a version. - * (Some systems may use checksum, a RFC3339 timestamp, or an incrementing version number.) + * Username + * @description The name of the user owning this Page. */ - version?: string; + username: string; }; /** - * ModelStoreFormat - * @description Available types of model stores for export. - * @enum {string} + * PageSummaryList + * @description Base model definition with common configuration used by all derived models. + * @default [] */ - ModelStoreFormat: "tgz" | "tar" | "tar.gz" | "bag.zip" | "bag.tar" | "bag.tgz" | "rocrate.zip" | "bco.json"; + PageSummaryList: components["schemas"]["PageSummary"][]; /** - * NestedElement + * PastedDataElement * @description Base model definition with common configuration used by all derived models. */ - NestedElement: { + PastedDataElement: { + /** Md5 */ + MD5?: string; + /** + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false + */ + auto_decompress?: boolean; + /** Collection Type */ + collection_type?: string; + /** Created From Basename */ + created_from_basename?: string; + /** + * Dbkey + * @default ? + */ + dbkey?: string; + /** + * Deferred + * @default false + */ + deferred?: boolean; + elements_from?: components["schemas"]["ElementsFromType"]; + /** + * Ext + * @default auto + */ + ext?: string; + extra_files?: components["schemas"]["ExtraFiles"]; + /** Info */ + info?: string; + /** Name */ + name?: string; + /** + * Paste Content + * @description Content to upload + */ + paste_content: string; + /** + * Space To Tab + * @default false + */ + space_to_tab?: boolean; + /** + * Src + * @enum {string} + */ + src: "pasted"; + /** Tags */ + tags?: string[]; + /** + * To Posix Lines + * @default false + */ + to_posix_lines?: boolean; + }; + /** + * PathDataElement + * @description Base model definition with common configuration used by all derived models. + */ + PathDataElement: { /** Md5 */ MD5?: string; /** @@ -8502,19 +8494,6 @@ export interface components { * @default false */ deferred?: boolean; - /** Elements */ - elements: ( - | ( - | components["schemas"]["FileDataElement"] - | components["schemas"]["PastedDataElement"] - | components["schemas"]["UrlDataElement"] - | components["schemas"]["PathDataElement"] - | components["schemas"]["ServerDirElement"] - | components["schemas"]["FtpImportElement"] - | components["schemas"]["CompositeDataElement"] - ) - | components["schemas"]["NestedElement"] - )[]; elements_from?: components["schemas"]["ElementsFromType"]; /** * Ext @@ -8524,13 +8503,22 @@ export interface components { extra_files?: components["schemas"]["ExtraFiles"]; /** Info */ info?: string; + /** Link Data Only */ + link_data_only?: boolean; /** Name */ name?: string; + /** Path */ + path: string; /** * Space To Tab * @default false */ space_to_tab?: boolean; + /** + * Src + * @enum {string} + */ + src: "path"; /** Tags */ tags?: string[]; /** @@ -8540,729 +8528,764 @@ export interface components { to_posix_lines?: boolean; }; /** - * NewSharedItemNotificationContent + * PersonalNotificationCategory + * @description These notification categories can be opt-out by the user and will be + * displayed in the notification preferences. + * @enum {string} + */ + PersonalNotificationCategory: "message" | "new_shared_item"; + /** + * PluginKind + * @description Enum to distinguish between different kinds or categories of plugins. + * @enum {string} + */ + PluginKind: "rfs" | "drs" | "rdm" | "stock"; + /** + * PrepareStoreDownloadPayload * @description Base model definition with common configuration used by all derived models. */ - NewSharedItemNotificationContent: { + PrepareStoreDownloadPayload: { /** - * Category - * @default new_shared_item - * @enum {string} + * Bco Merge History Metadata + * @description When reading tags/annotations to generate BCO object include history metadata. + * @default false */ - category?: "new_shared_item"; + bco_merge_history_metadata?: boolean; /** - * Item name - * @description The name of the shared item. + * Bco Override Algorithmic Error + * @description Override algorithmic error for 'error domain' when generating BioCompute object. */ - item_name: string; + bco_override_algorithmic_error?: { + [key: string]: string | undefined; + }; /** - * Item type - * @description The type of the shared item. - * @enum {string} + * Bco Override Empirical Error + * @description Override empirical error for 'error domain' when generating BioCompute object. */ - item_type: "history" | "workflow" | "visualization" | "page"; + bco_override_empirical_error?: { + [key: string]: string | undefined; + }; /** - * Owner name - * @description The name of the owner of the shared item. + * Bco Override Environment Variables + * @description Override environment variables for 'execution_domain' when generating BioCompute object. */ - owner_name: string; + bco_override_environment_variables?: { + [key: string]: string | undefined; + }; /** - * Slug - * @description The slug of the shared item. Used for the link to the item. + * Bco Override Xref + * @description Override xref for 'description domain' when generating BioCompute object. */ - slug: string; + bco_override_xref?: components["schemas"]["XrefItem"][]; + /** + * Include deleted + * @description Include file contents for deleted datasets (if include_files is True). + * @default false + */ + include_deleted?: boolean; + /** + * Include Files + * @description include materialized files in export when available + * @default true + */ + include_files?: boolean; + /** + * Include hidden + * @description Include file contents for hidden datasets (if include_files is True). + * @default false + */ + include_hidden?: boolean; + /** + * @description format of model store to export + * @default tar.gz + */ + model_store_format?: components["schemas"]["ModelStoreFormat"]; }; /** - * NotificationBroadcastUpdateRequest - * @description A notification update request specific for broadcasting. + * QuotaDetails + * @description Base model containing common fields for Quotas. */ - NotificationBroadcastUpdateRequest: { + QuotaDetails: { /** - * Content - * @description The content of the broadcast notification. Broadcast notifications are displayed prominently to all users and can contain action links to redirect the user to a specific page. + * Bytes + * @description The amount, expressed in bytes, of this Quota. */ - content?: components["schemas"]["BroadcastNotificationContent"]; + bytes: number; /** - * Expiration time - * Format: date-time - * @description The time when the notification should expire. By default it will expire after 6 months. Expired notifications will be permanently deleted. + * Default + * @description A list indicating which types of default user quotas, if any, are associated with this quota. + * @default [] */ - expiration_time?: string; + default?: components["schemas"]["DefaultQuota"][]; /** - * Publication time - * Format: date-time - * @description The time when the notification should be published. Notifications can be created and then scheduled to be published at a later time. + * Description + * @description Detailed text description for this Quota. */ - publication_time?: string; + description: string; /** - * Source - * @description The source of the notification. Represents the agent that created the notification. + * Display Amount + * @description Human-readable representation of the `amount` field. */ - source?: string; + display_amount: string; /** - * Variant - * @description The variant of the notification. Used to express the importance of the notification. + * Groups + * @description A list of specific groups of users associated with this quota. + * @default [] */ - variant?: components["schemas"]["NotificationVariant"]; + groups?: components["schemas"]["GroupQuota"][]; + /** + * ID + * @description The `encoded identifier` of the quota. + * @example 0123456789ABCDEF + */ + id: string; + /** + * Model class + * @description The name of the database model class. + * @default Quota + * @enum {string} + */ + model_class: "Quota"; + /** + * Name + * @description The name of the quota. This must be unique within a Galaxy instance. + */ + name: string; + /** + * Operation + * @description Quotas can have one of three `operations`:- `=` : The quota is exactly the amount specified- `+` : The amount specified will be added to the amounts of the user's other associated quota definitions- `-` : The amount specified will be subtracted from the amounts of the user's other associated quota definitions + * @default = + */ + operation?: components["schemas"]["QuotaOperation"]; + /** + * Quota Source Label + * @description Quota source label + */ + quota_source_label?: string; + /** + * Users + * @description A list of specific users associated with this quota. + * @default [] + */ + users?: components["schemas"]["UserQuota"][]; + }; + /** QuotaModel */ + QuotaModel: { + /** Enabled */ + enabled: boolean; + /** Source */ + source?: string; }; /** - * NotificationCategorySettings - * @description The settings for a notification category. + * QuotaOperation + * @description An enumeration. + * @enum {string} */ - NotificationCategorySettings: { + QuotaOperation: "=" | "+" | "-"; + /** + * QuotaSummary + * @description Contains basic information about a Quota + */ + QuotaSummary: { /** - * Channels - * @description The channels that the user wants to receive notifications from for this category. - * @default { - * "push": true - * } + * ID + * @description The `encoded identifier` of the quota. + * @example 0123456789ABCDEF */ - channels?: components["schemas"]["NotificationChannelSettings"]; + id: string; /** - * Enabled - * @description Whether the user wants to receive notifications for this category. - * @default true + * Model class + * @description The name of the database model class. + * @default Quota + * @enum {string} */ - enabled?: boolean; + model_class: "Quota"; + /** + * Name + * @description The name of the quota. This must be unique within a Galaxy instance. + */ + name: string; + /** + * Quota Source Label + * @description Quota source label + */ + quota_source_label?: string; + /** + * URL + * @deprecated + * @description The relative URL to get this particular Quota details from the rest API. + */ + url: string; }; /** - * NotificationChannelSettings - * @description The settings for each channel of a notification category. + * QuotaSummaryList + * @description Base model definition with common configuration used by all derived models. + * @default [] */ - NotificationChannelSettings: { + QuotaSummaryList: components["schemas"]["QuotaSummary"][]; + /** ReloadFeedback */ + ReloadFeedback: { + /** Failed */ + failed: string[]; + /** Message */ + message: string; + /** Reloaded */ + reloaded: string[]; + }; + /** + * RemoteDirectory + * @description Base model definition with common configuration used by all derived models. + */ + RemoteDirectory: { + /** + * Class + * @enum {string} + */ + class: "Directory"; + /** + * Name + * @description The name of the entry. + */ + name: string; /** - * Push - * @description Whether the user wants to receive push notifications in the browser for this category. - * @default true + * Path + * @description The path of the entry. */ - push?: boolean; + path: string; + /** + * URI + * @description The URI of the entry. + */ + uri: string; }; /** - * NotificationCreateData - * @description Basic common fields for all notification create requests. + * RemoteFile + * @description Base model definition with common configuration used by all derived models. */ - NotificationCreateData: { + RemoteFile: { /** - * Category - * @description The category of the notification. Represents the type of the notification. E.g. 'message' or 'new_shared_item'. + * Class + * @enum {string} */ - category: - | components["schemas"]["MandatoryNotificationCategory"] - | components["schemas"]["PersonalNotificationCategory"]; + class: "File"; /** - * Content - * @description The content of the notification. The structure depends on the category. + * Creation time + * @description The creation time of the file. */ - content: - | components["schemas"]["MessageNotificationContent"] - | components["schemas"]["NewSharedItemNotificationContent"] - | components["schemas"]["BroadcastNotificationContent"]; + ctime: string; /** - * Expiration time - * Format: date-time - * @description The time when the notification should expire. By default it will expire after 6 months. Expired notifications will be permanently deleted. + * Name + * @description The name of the entry. */ - expiration_time?: string; + name: string; /** - * Publication time - * Format: date-time - * @description The time when the notification should be published. Notifications can be created and then scheduled to be published at a later time. + * Path + * @description The path of the entry. */ - publication_time?: string; + path: string; /** - * Source - * @description The source of the notification. Represents the agent that created the notification. E.g. 'galaxy' or 'admin'. + * Size + * @description The size of the file in bytes. */ - source: string; + size: number; /** - * Variant - * @description The variant of the notification. Represents the intent or relevance of the notification. E.g. 'info' or 'urgent'. + * URI + * @description The URI of the entry. */ - variant: components["schemas"]["NotificationVariant"]; + uri: string; }; /** - * NotificationCreateRequest - * @description Contains the recipients and the notification to create. + * RemoteFilesDisableMode + * @description An enumeration. + * @enum {string} */ - NotificationCreateRequest: { - /** - * Notification - * @description The notification to create. The structure depends on the category. - */ - notification: components["schemas"]["NotificationCreateData"]; - /** - * Recipients - * @description The recipients of the notification. Can be a combination of users, groups and roles. - */ - recipients: components["schemas"]["NotificationRecipients"]; - }; + RemoteFilesDisableMode: "folders" | "files"; /** - * NotificationCreatedResponse + * RemoteFilesFormat + * @description An enumeration. + * @enum {string} + */ + RemoteFilesFormat: "flat" | "jstree" | "uri"; + /** + * RemoteUserCreationPayload * @description Base model definition with common configuration used by all derived models. */ - NotificationCreatedResponse: { - /** - * Notification - * @description The notification that was created. The structure depends on the category. - */ - notification: components["schemas"]["NotificationResponse"]; + RemoteUserCreationPayload: { /** - * Total notifications sent - * @description The total number of notifications that were sent to the recipients. + * Email + * @description Email of the user */ - total_notifications_sent: number; + remote_user_email: string; }; /** - * NotificationRecipients - * @description The recipients of a notification. Can be a combination of users, groups and roles. + * RequestDataType + * @description Particular pieces of information that can be requested for a dataset. + * @enum {string} */ - NotificationRecipients: { + RequestDataType: + | "state" + | "converted_datasets_state" + | "data" + | "features" + | "raw_data" + | "track_config" + | "genome_data" + | "in_use_state"; + /** + * Requirement + * @description Available types of job sources (model classes) that produce dataset collections. + * @enum {string} + */ + Requirement: "logged_in" | "new_history" | "admin"; + /** + * RoleDefinitionModel + * @description Base model definition with common configuration used by all derived models. + */ + RoleDefinitionModel: { + /** + * Description + * @description Description of the role + */ + description: string; /** * Group IDs - * @description The list of encoded group IDs of the groups that should receive the notification. * @default [] */ group_ids?: string[]; /** - * Role IDs - * @description The list of encoded role IDs of the roles that should receive the notification. - * @default [] + * Name + * @description Name of the role */ - role_ids?: string[]; + name: string; /** * User IDs - * @description The list of encoded user IDs of the users that should receive the notification. * @default [] */ user_ids?: string[]; }; /** - * NotificationResponse - * @description Basic common fields for all notification responses. + * RoleListResponse + * @description Base model definition with common configuration used by all derived models. */ - NotificationResponse: { - /** - * Category - * @description The category of the notification. Represents the type of the notification. E.g. 'message' or 'new_shared_item'. - */ - category: - | components["schemas"]["MandatoryNotificationCategory"] - | components["schemas"]["PersonalNotificationCategory"]; - /** - * Content - * @description The content of the notification. The structure depends on the category. - */ - content: - | components["schemas"]["MessageNotificationContent"] - | components["schemas"]["NewSharedItemNotificationContent"] - | components["schemas"]["BroadcastNotificationContent"]; - /** - * Create time - * Format: date-time - * @description The time when the notification was created. - */ - create_time: string; + RoleListResponse: components["schemas"]["RoleModelResponse"][]; + /** + * RoleModelResponse + * @description Base model definition with common configuration used by all derived models. + */ + RoleModelResponse: { /** - * Expiration time - * Format: date-time - * @description The time when the notification will expire. If not set, the notification will never expire. Expired notifications will be permanently deleted. + * Description + * @description Description of the role */ - expiration_time?: string; + description?: string; /** * ID - * @description The encoded ID of the notification. + * @description Encoded ID of the role * @example 0123456789ABCDEF */ id: string; /** - * Publication time - * Format: date-time - * @description The time when the notification was published. Notifications can be created and then published at a later time. - */ - publication_time: string; - /** - * Source - * @description The source of the notification. Represents the agent that created the notification. E.g. 'galaxy' or 'admin'. - */ - source: string; - /** - * Update time - * Format: date-time - * @description The time when the notification was last updated. - */ - update_time: string; - /** - * Variant - * @description The variant of the notification. Represents the intent or relevance of the notification. E.g. 'info' or 'urgent'. - */ - variant: components["schemas"]["NotificationVariant"]; - }; - /** - * NotificationStatusSummary - * @description A summary of the notification status for a user. Contains only updates since a particular timestamp. - */ - NotificationStatusSummary: { - /** - * Broadcasts - * @description The list of updated broadcasts. - */ - broadcasts: components["schemas"]["BroadcastNotificationResponse"][]; - /** - * Notifications - * @description The list of updated notifications for the user. + * Model class + * @description The name of the database model class. + * @default Role + * @enum {string} */ - notifications: components["schemas"]["UserNotificationResponse"][]; + model_class: "Role"; /** - * Total unread count - * @description The total number of unread notifications for the user. + * Name + * @description Name of the role */ - total_unread_count: number; - }; - /** - * NotificationVariant - * @description The notification variant communicates the intent or relevance of the notification. - * @enum {string} - */ - NotificationVariant: "info" | "warning" | "urgent"; - /** - * NotificationsBatchRequest - * @description Base model definition with common configuration used by all derived models. - */ - NotificationsBatchRequest: { + name: string; /** - * Notification IDs - * @description The list of encoded notification IDs of the notifications that should be updated. + * Type + * @description Type or category of the role */ - notification_ids: string[]; - }; - /** - * NotificationsBatchUpdateResponse - * @description The response of a batch update request. - */ - NotificationsBatchUpdateResponse: { + type: string; /** - * Updated count - * @description The number of notifications that were updated. + * URL + * @deprecated + * @description The relative URL to access this item. */ - updated_count: number; + url: string; }; /** - * ObjectExportTaskResponse + * ServerDirElement * @description Base model definition with common configuration used by all derived models. */ - ObjectExportTaskResponse: { - /** - * Create Time - * Format: date-time - * @description The time and date this item was created. - */ - create_time: string; - export_metadata?: components["schemas"]["ExportObjectMetadata"]; + ServerDirElement: { + /** Md5 */ + MD5?: string; /** - * ID - * @description The encoded database ID of the export request. - * @example 0123456789ABCDEF + * Auto Decompress + * @description Decompress compressed data before sniffing? + * @default false */ - id: string; + auto_decompress?: boolean; + /** Collection Type */ + collection_type?: string; + /** Created From Basename */ + created_from_basename?: string; /** - * Preparing - * @description Whether the archive is currently being built or in preparation. + * Dbkey + * @default ? */ - preparing: boolean; + dbkey?: string; /** - * Ready - * @description Whether the export has completed successfully and the archive is ready + * Deferred + * @default false */ - ready: boolean; + deferred?: boolean; + elements_from?: components["schemas"]["ElementsFromType"]; /** - * Task ID - * Format: uuid4 - * @description The identifier of the task processing the export. + * Ext + * @default auto */ - task_uuid: string; + ext?: string; + extra_files?: components["schemas"]["ExtraFiles"]; + /** Info */ + info?: string; + /** Link Data Only */ + link_data_only?: boolean; + /** Name */ + name?: string; + /** Server Dir */ + server_dir: string; /** - * Up to Date - * @description False, if a new export archive should be generated. + * Space To Tab + * @default false */ - up_to_date: boolean; - }; - /** Organization */ - Organization: { + space_to_tab?: boolean; /** - * Name - * @description Name of the organization responsible for the service - * @example My organization + * Src + * @enum {string} */ - name: string; + src: "server_dir"; + /** Tags */ + tags?: string[]; /** - * Url - * Format: uri - * @description URL of the website of the organization (RFC 3986 format) - * @example https://example.com + * To Posix Lines + * @default false */ - url: string; + to_posix_lines?: boolean; }; - /** - * PageContentFormat - * @description An enumeration. - * @enum {string} - */ - PageContentFormat: "markdown" | "html"; - /** - * PageDetails - * @description Base model definition with common configuration used by all derived models. - */ - PageDetails: { + /** Service */ + Service: { /** - * Content - * @description Raw text contents of the first page revision (type dependent on content_format). - * @default + * Contacturl + * Format: uri + * @description URL of the contact for the provider of this service, e.g. a link to a contact form (RFC 3986 format), or an email (RFC 2368 format). + * @example mailto:support@example.com */ - content?: string; + contactUrl?: string; /** - * Content format - * @description Either `markdown` or `html`. - * @default html + * Createdat + * Format: date-time + * @description Timestamp describing when the service was first deployed and available (RFC 3339 format) + * @example 2019-06-04T12:58:19Z */ - content_format?: components["schemas"]["PageContentFormat"]; + createdAt?: string; /** - * Create Time - * Format: date-time - * @description The time and date this item was created. + * Description + * @description Description of the service. Should be human readable and provide information about the service. + * @example This service provides... */ - create_time?: string; + description?: string; /** - * Deleted - * @description Whether this Page has been deleted. + * Documentationurl + * Format: uri + * @description URL of the documentation of this service (RFC 3986 format). This should help someone learn how to use your service, including any specifics required to access data, e.g. authentication. + * @example https://docs.myservice.example.com */ - deleted: boolean; + documentationUrl?: string; /** - * Encoded email - * @description The encoded email of the user. + * Environment + * @description Environment the service is running in. Use this to distinguish between production, development and testing/staging deployments. Suggested values are prod, test, dev, staging. However this is advised and not enforced. + * @example test */ - email_hash: string; + environment?: string; /** - * Generate Date - * @description The date this page was generated. + * Id + * @description Unique ID of this service. Reverse domain name notation is recommended, though not required. The identifier should attempt to be globally unique so it can be used in downstream aggregator services e.g. Service Registry. + * @example org.ga4gh.myservice */ - generate_time?: string; + id: string; /** - * Galaxy Version - * @description The version of Galaxy this page was generated with. + * Name + * @description Name of this service. Should be human readable. + * @example My project */ - generate_version?: string; + name: string; /** - * ID - * @description Encoded ID of the Page. - * @example 0123456789ABCDEF + * Organization + * @description Organization providing the service */ - id: string; + organization: components["schemas"]["Organization"]; + type: components["schemas"]["ServiceType"]; /** - * Importable - * @description Whether this Page can be imported. + * Updatedat + * Format: date-time + * @description Timestamp describing when the service was last updated (RFC 3339 format) + * @example 2019-06-04T12:58:19Z */ - importable: boolean; + updatedAt?: string; /** - * Latest revision ID - * @description The encoded ID of the last revision of this Page. - * @example 0123456789ABCDEF + * Version + * @description Version of the service being described. Semantic versioning is recommended, but other identifiers, such as dates or commit hashes, are also allowed. The version should be changed whenever the service is updated. + * @example 1.0.0 */ - latest_revision_id: string; + version: string; + }; + /** ServiceType */ + ServiceType: { /** - * Model class - * @description The name of the database model class. - * @default Page - * @enum {string} + * Artifact + * @description Name of the API or GA4GH specification implemented. Official GA4GH types should be assigned as part of standards approval process. Custom artifacts are supported. + * @example beacon */ - model_class: "Page"; + artifact: string; /** - * Published - * @description Whether this Page has been published. + * Group + * @description Namespace in reverse domain name format. Use `org.ga4gh` for implementations compliant with official GA4GH specifications. For services with custom APIs not standardized by GA4GH, or implementations diverging from official GA4GH specifications, use a different namespace (e.g. your organization's reverse domain name). + * @example org.ga4gh */ - published: boolean; + group: string; /** - * List of revisions - * @description The history with the encoded ID of each revision of the Page. + * Version + * @description Version of the API or specification. GA4GH specifications use semantic versioning. + * @example 1.0.0 */ - revision_ids: string[]; + version: string; + }; + /** + * SetSlugPayload + * @description Base model definition with common configuration used by all derived models. + */ + SetSlugPayload: { /** - * Identifier - * @description The title slug for the page URL, must be unique. + * New Slug + * @description The slug that will be used to access this shared item. */ - slug: string; - tags: components["schemas"]["TagCollection"]; + new_slug: string; + }; + /** + * ShareWithExtra + * @description Base model definition with common configuration used by all derived models. + */ + ShareWithExtra: { /** - * Title - * @description The name of the page. + * Can Share + * @description Indicates whether the resource can be directly shared or requires further actions. + * @default false */ - title: string; + can_share?: boolean; + }; + /** + * ShareWithPayload + * @description Base model definition with common configuration used by all derived models. + */ + ShareWithPayload: { /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. + * Share Option + * @description User choice for sharing resources which its contents may be restricted: + * - None: The user did not choose anything yet or no option is needed. + * - make_public: The contents of the resource will be made publicly accessible. + * - make_accessible_to_shared: This will automatically create a new `sharing role` allowing protected contents to be accessed only by the desired users. + * - no_changes: This won't change the current permissions for the contents. The user which this resource will be shared may not be able to access all its contents. */ - update_time?: string; + share_option?: components["schemas"]["SharingOptions"]; /** - * Username - * @description The name of the user owning this Page. + * User Identifiers + * @description A collection of encoded IDs (or email addresses) of users that this resource will be shared with. */ - username: string; + user_ids: (string | string)[]; }; /** - * PageSummary + * ShareWithStatus * @description Base model definition with common configuration used by all derived models. */ - PageSummary: { + ShareWithStatus: { /** - * Create Time - * Format: date-time - * @description The time and date this item was created. + * Encoded Email + * @description Encoded owner email. */ - create_time?: string; + email_hash?: string; /** - * Deleted - * @description Whether this Page has been deleted. + * Errors + * @description Collection of messages indicating that the resource was not shared with some (or all users) due to an error. + * @default [] */ - deleted: boolean; + errors?: string[]; /** - * Encoded email - * @description The encoded email of the user. + * Extra + * @description Optional extra information about this shareable resource that may be of interest. The contents of this field depend on the particular resource. */ - email_hash: string; + extra?: components["schemas"]["ShareWithExtra"]; /** * ID - * @description Encoded ID of the Page. + * @description The encoded ID of the resource to be shared. * @example 0123456789ABCDEF */ id: string; /** * Importable - * @description Whether this Page can be imported. + * @description Whether this resource can be published using a link. */ importable: boolean; - /** - * Latest revision ID - * @description The encoded ID of the last revision of this Page. - * @example 0123456789ABCDEF - */ - latest_revision_id: string; - /** - * Model class - * @description The name of the database model class. - * @default Page - * @enum {string} - */ - model_class: "Page"; /** * Published - * @description Whether this Page has been published. + * @description Whether this resource is currently published. */ published: boolean; - /** - * List of revisions - * @description The history with the encoded ID of each revision of the Page. - */ - revision_ids: string[]; - /** - * Identifier - * @description The title slug for the page URL, must be unique. - */ - slug: string; - tags: components["schemas"]["TagCollection"]; /** * Title - * @description The name of the page. + * @description The title or name of the resource. */ title: string; /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. + * Username + * @description The owner's username. */ - update_time?: string; + username?: string; /** - * Username - * @description The name of the user owning this Page. + * Username and slug + * @description The relative URL in the form of /u/{username}/{resource_single_char}/{slug} */ - username: string; + username_and_slug?: string; + /** + * Users shared with + * @description The list of encoded ids for users the resource has been shared. + * @default [] + */ + users_shared_with?: components["schemas"]["UserEmail"][]; }; /** - * PageSummaryList - * @description Base model definition with common configuration used by all derived models. - * @default [] + * SharingOptions + * @description Options for sharing resources that may have restricted access to all or part of their contents. + * @enum {string} */ - PageSummaryList: components["schemas"]["PageSummary"][]; + SharingOptions: "make_public" | "make_accessible_to_shared" | "no_changes"; /** - * PastedDataElement + * SharingStatus * @description Base model definition with common configuration used by all derived models. */ - PastedDataElement: { - /** Md5 */ - MD5?: string; + SharingStatus: { /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false + * Encoded Email + * @description Encoded owner email. */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - /** Created From Basename */ - created_from_basename?: string; + email_hash?: string; /** - * Dbkey - * @default ? + * ID + * @description The encoded ID of the resource to be shared. + * @example 0123456789ABCDEF */ - dbkey?: string; + id: string; /** - * Deferred - * @default false + * Importable + * @description Whether this resource can be published using a link. */ - deferred?: boolean; - elements_from?: components["schemas"]["ElementsFromType"]; + importable: boolean; /** - * Ext - * @default auto + * Published + * @description Whether this resource is currently published. */ - ext?: string; - extra_files?: components["schemas"]["ExtraFiles"]; - /** Info */ - info?: string; - /** Name */ - name?: string; + published: boolean; /** - * Paste Content - * @description Content to upload + * Title + * @description The title or name of the resource. */ - paste_content: string; + title: string; /** - * Space To Tab - * @default false + * Username + * @description The owner's username. */ - space_to_tab?: boolean; + username?: string; /** - * Src - * @enum {string} + * Username and slug + * @description The relative URL in the form of /u/{username}/{resource_single_char}/{slug} */ - src: "pasted"; - /** Tags */ - tags?: string[]; + username_and_slug?: string; /** - * To Posix Lines - * @default false + * Users shared with + * @description The list of encoded ids for users the resource has been shared. + * @default [] */ - to_posix_lines?: boolean; + users_shared_with?: components["schemas"]["UserEmail"][]; }; /** - * PathDataElement + * ShortTermStoreExportPayload * @description Base model definition with common configuration used by all derived models. */ - PathDataElement: { - /** Md5 */ - MD5?: string; - /** - * Auto Decompress - * @description Decompress compressed data before sniffing? - * @default false - */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - /** Created From Basename */ - created_from_basename?: string; - /** - * Dbkey - * @default ? - */ - dbkey?: string; + ShortTermStoreExportPayload: { + /** Duration */ + duration?: number | number; /** - * Deferred + * Include deleted + * @description Include file contents for deleted datasets (if include_files is True). * @default false */ - deferred?: boolean; - elements_from?: components["schemas"]["ElementsFromType"]; + include_deleted?: boolean; /** - * Ext - * @default auto + * Include Files + * @description include materialized files in export when available + * @default true */ - ext?: string; - extra_files?: components["schemas"]["ExtraFiles"]; - /** Info */ - info?: string; - /** Link Data Only */ - link_data_only?: boolean; - /** Name */ - name?: string; - /** Path */ - path: string; + include_files?: boolean; /** - * Space To Tab + * Include hidden + * @description Include file contents for hidden datasets (if include_files is True). * @default false */ - space_to_tab?: boolean; + include_hidden?: boolean; /** - * Src - * @enum {string} + * @description format of model store to export + * @default tar.gz */ - src: "path"; - /** Tags */ - tags?: string[]; + model_store_format?: components["schemas"]["ModelStoreFormat"]; /** - * To Posix Lines - * @default false + * Short Term Storage Request Id + * Format: uuid */ - to_posix_lines?: boolean; + short_term_storage_request_id: string; }; /** - * PersonalNotificationCategory - * @description These notification categories can be opt-out by the user and will be - * displayed in the notification preferences. - * @enum {string} - */ - PersonalNotificationCategory: "message" | "new_shared_item"; - /** - * PluginKind - * @description Enum to distinguish between different kinds or categories of plugins. + * Src + * @description An enumeration. * @enum {string} */ - PluginKind: "rfs" | "drs" | "rdm" | "stock"; + Src: "url" | "pasted" | "files" | "path" | "composite" | "ftp_import" | "server_dir"; /** - * PrepareStoreDownloadPayload - * @description Base model definition with common configuration used by all derived models. - */ - PrepareStoreDownloadPayload: { - /** - * Bco Merge History Metadata - * @description When reading tags/annotations to generate BCO object include history metadata. - * @default false - */ - bco_merge_history_metadata?: boolean; - /** - * Bco Override Algorithmic Error - * @description Override algorithmic error for 'error domain' when generating BioCompute object. - */ - bco_override_algorithmic_error?: { - [key: string]: string | undefined; - }; - /** - * Bco Override Empirical Error - * @description Override empirical error for 'error domain' when generating BioCompute object. - */ - bco_override_empirical_error?: { - [key: string]: string | undefined; - }; - /** - * Bco Override Environment Variables - * @description Override environment variables for 'execution_domain' when generating BioCompute object. - */ - bco_override_environment_variables?: { - [key: string]: string | undefined; - }; + * StorageItemCleanupError + * @description Base model definition with common configuration used by all derived models. + */ + StorageItemCleanupError: { + /** Error */ + error: string; /** - * Bco Override Xref - * @description Override xref for 'description domain' when generating BioCompute object. + * Item Id + * @example 0123456789ABCDEF */ - bco_override_xref?: components["schemas"]["XrefItem"][]; + item_id: string; + }; + /** + * StorageItemsCleanupResult + * @description Base model definition with common configuration used by all derived models. + */ + StorageItemsCleanupResult: { + /** Errors */ + errors: components["schemas"]["StorageItemCleanupError"][]; + /** Success Item Count */ + success_item_count: number; + /** Total Free Bytes */ + total_free_bytes: number; + /** Total Item Count */ + total_item_count: number; + }; + /** + * StoreExportPayload + * @description Base model definition with common configuration used by all derived models. + */ + StoreExportPayload: { /** * Include deleted * @description Include file contents for deleted datasets (if include_files is True). @@ -9288,317 +9311,495 @@ export interface components { model_store_format?: components["schemas"]["ModelStoreFormat"]; }; /** - * QuotaDetails - * @description Base model containing common fields for Quotas. + * StoredItem + * @description Base model definition with common configuration used by all derived models. */ - QuotaDetails: { + StoredItem: { /** - * Bytes - * @description The amount, expressed in bytes, of this Quota. + * Id + * @example 0123456789ABCDEF */ - bytes: number; + id: string; + /** Name */ + name: string; + /** Size */ + size: number; + /** Type */ + type: "history" | "dataset"; /** - * Default - * @description A list indicating which types of default user quotas, if any, are associated with this quota. - * @default [] + * Update Time + * Format: date-time + * @description The last time and date this item was updated. */ - default?: components["schemas"]["DefaultQuota"][]; + update_time: string; + }; + /** + * StoredItemOrderBy + * @description Available options for sorting Stored Items results. + * @enum {string} + */ + StoredItemOrderBy: "name-asc" | "name-dsc" | "size-asc" | "size-dsc" | "update_time-asc" | "update_time-dsc"; + /** + * SuitableConverter + * @description Base model definition with common configuration used by all derived models. + */ + SuitableConverter: { /** - * Description - * @description Detailed text description for this Quota. + * Name + * @description The name of the converter. */ - description: string; + name: string; /** - * Display Amount - * @description Human-readable representation of the `amount` field. + * Original Type + * @description The type to convert from. */ - display_amount: string; + original_type: string; /** - * Groups - * @description A list of specific groups of users associated with this quota. + * Target Type + * @description The type to convert to. + */ + target_type: string; + /** + * Tool Id + * @description The ID of the tool that can perform the type conversion. + */ + tool_id: string; + }; + /** + * SuitableConverters + * @description Collection of converters that can be used on a particular dataset collection. + */ + SuitableConverters: components["schemas"]["SuitableConverter"][]; + /** + * TagCollection + * @description The collection of tags associated with an item. + */ + TagCollection: string[]; + /** + * TagOperationParams + * @description Base model definition with common configuration used by all derived models. + */ + TagOperationParams: { + /** Tags */ + tags: string[]; + /** Type */ + type: "add_tags" | "remove_tags"; + }; + /** + * TaggableItemClass + * @description An enumeration. + * @enum {unknown} + */ + TaggableItemClass: + | "History" + | "HistoryDatasetAssociation" + | "HistoryDatasetCollectionAssociation" + | "LibraryDatasetDatasetAssociation" + | "Page" + | "StoredWorkflow" + | "Visualization"; + /** ToolDataDetails */ + ToolDataDetails: { + /** + * Columns + * @description A list of column names + * @example [ + * "value", + * "dbkey", + * "name", + * "path" + * ] + */ + columns: string[]; + /** + * Fields * @default [] */ - groups?: components["schemas"]["GroupQuota"][]; + fields?: string[][]; /** - * ID - * @description The `encoded identifier` of the quota. - * @example 0123456789ABCDEF + * Model class + * @description The name of class modelling this tool data + * @example TabularToolDataTable */ - id: string; + model_class: string; + /** + * Name + * @description The name of this tool data entry + * @example all_fasta + */ + name: string; + }; + /** ToolDataEntry */ + ToolDataEntry: { /** * Model class - * @description The name of the database model class. - * @default Quota - * @enum {string} + * @description The name of class modelling this tool data + * @example TabularToolDataTable */ - model_class: "Quota"; + model_class: string; /** * Name - * @description The name of the quota. This must be unique within a Galaxy instance. + * @description The name of this tool data entry + * @example all_fasta */ name: string; + }; + /** ToolDataEntryList */ + ToolDataEntryList: components["schemas"]["ToolDataEntry"][]; + /** ToolDataField */ + ToolDataField: { /** - * Operation - * @description Quotas can have one of three `operations`:- `=` : The quota is exactly the amount specified- `+` : The amount specified will be added to the amounts of the user's other associated quota definitions- `-` : The amount specified will be subtracted from the amounts of the user's other associated quota definitions - * @default = + * Base directories + * @description A list of directories where the data files are stored */ - operation?: components["schemas"]["QuotaOperation"]; + base_dir: string[]; + /** Fields */ + fields: { + [key: string]: string | undefined; + }; /** - * Quota Source Label - * @description Quota source label + * Files + * @description A dictionary of file names and their size in bytes + * @example { + * "file.txt": 136 + * } */ - quota_source_label?: string; + files: { + [key: string]: number | undefined; + }; /** - * Users - * @description A list of specific users associated with this quota. - * @default [] + * Fingerprint + * @description SHA1 Hash + * @example 22b45237a85c2b3f474bf66888c534387ffe0ced */ - users?: components["schemas"]["UserQuota"][]; + fingerprint: string; + /** + * Model class + * @description The name of class modelling this tool data field + * @example TabularToolDataField + */ + model_class: string; + /** + * Name + * @description The name of the field + */ + name: string; }; - /** QuotaModel */ - QuotaModel: { - /** Enabled */ - enabled: boolean; - /** Source */ - source?: string; + /** ToolDataItem */ + ToolDataItem: { + /** + * Values + * @description A `\t` (TAB) separated list of column __contents__. You must specify a value for each of the columns of the data table. + * @example value dbkey name path + */ + values: string; }; - /** - * QuotaOperation - * @description An enumeration. - * @enum {string} - */ - QuotaOperation: "=" | "+" | "-"; - /** - * QuotaSummary - * @description Contains basic information about a Quota - */ - QuotaSummary: { + /** Tour */ + Tour: { /** - * ID - * @description The `encoded identifier` of the quota. - * @example 0123456789ABCDEF + * Description + * @description Tour description */ - id: string; + description: string; /** - * Model class - * @description The name of the database model class. - * @default Quota - * @enum {string} + * Identifier + * @description Tour identifier */ - model_class: "Quota"; + id: string; /** * Name - * @description The name of the quota. This must be unique within a Galaxy instance. + * @description Name of tour */ name: string; /** - * Quota Source Label - * @description Quota source label + * Requirements + * @description Requirements to run the tour. */ - quota_source_label?: string; + requirements: components["schemas"]["Requirement"][]; /** - * URL - * @deprecated - * @description The relative URL to get this particular Quota details from the rest API. + * Tags + * @description Topic topic tags */ - url: string; - }; - /** - * QuotaSummaryList - * @description Base model definition with common configuration used by all derived models. - * @default [] - */ - QuotaSummaryList: components["schemas"]["QuotaSummary"][]; - /** ReloadFeedback */ - ReloadFeedback: { - /** Failed */ - failed: string[]; - /** Message */ - message: string; - /** Reloaded */ - reloaded: string[]; + tags: string[]; }; - /** - * RemoteDirectory - * @description Base model definition with common configuration used by all derived models. - */ - RemoteDirectory: { + /** TourDetails */ + TourDetails: { /** - * Class - * @enum {string} + * Description + * @description Tour description */ - class: "Directory"; + description: string; /** * Name - * @description The name of the entry. + * @description Name of tour */ name: string; /** - * Path - * @description The path of the entry. + * Requirements + * @description Requirements to run the tour. */ - path: string; + requirements: components["schemas"]["Requirement"][]; /** - * URI - * @description The URI of the entry. + * Steps + * @description Tour steps */ - uri: string; + steps: components["schemas"]["TourStep"][]; + /** + * Tags + * @description Topic topic tags + */ + tags: string[]; + /** + * Default title + * @description Default title for each step + */ + title_default?: string; }; /** - * RemoteFile - * @description Base model definition with common configuration used by all derived models. + * TourList + * @default [] */ - RemoteFile: { + TourList: components["schemas"]["Tour"][]; + /** TourStep */ + TourStep: { /** - * Class - * @enum {string} + * Content + * @description Text shown to the user */ - class: "File"; + content?: string; /** - * Creation time - * @description The creation time of the file. + * Element + * @description CSS selector for the element to be described/clicked */ - ctime: string; + element?: string; /** - * Name - * @description The name of the entry. + * Placement + * @description Placement of the text box relative to the selected element */ - name: string; + placement?: string; /** - * Path - * @description The path of the entry. + * Post-click + * @description Elements that receive a click() event after the step is shown */ - path: string; + postclick?: boolean | string[]; /** - * Size - * @description The size of the file in bytes. + * Pre-click + * @description Elements that receive a click() event before the step is shown */ - size: number; + preclick?: boolean | string[]; /** - * URI - * @description The URI of the entry. + * Text-insert + * @description Text to insert if element is a text box (e.g. tool search or upload) */ - uri: string; + textinsert?: string; + /** + * Title + * @description Title displayed in the header of the step container + */ + title?: string; }; /** - * RemoteFilesDisableMode + * Type * @description An enumeration. - * @enum {string} + * @enum {unknown} */ - RemoteFilesDisableMode: "folders" | "files"; + Type: "s3" | "gs" | "ftp" | "gsiftp" | "globus" | "htsget" | "https" | "file"; /** - * RemoteFilesFormat - * @description An enumeration. - * @enum {string} + * UpdateCollectionAttributePayload + * @description Contains attributes that can be updated for all elements in a dataset collection. */ - RemoteFilesFormat: "flat" | "jstree" | "uri"; + UpdateCollectionAttributePayload: { + /** + * Dbkey + * @description TODO + */ + dbkey: string; + }; /** - * RemoteUserCreationPayload - * @description Base model definition with common configuration used by all derived models. + * UpdateContentItem + * @description Used for updating a particular history item. All fields are optional. */ - RemoteUserCreationPayload: { + UpdateContentItem: { /** - * Email - * @description Email of the user + * Content Type + * @description The type of this item. */ - remote_user_email: string; + history_content_type: components["schemas"]["HistoryContentType"]; + /** + * ID + * @description The encoded ID of this entity. + * @example 0123456789ABCDEF + */ + id: string; }; /** - * RequestDataType - * @description Particular pieces of information that can be requested for a dataset. - * @enum {string} + * UpdateHistoryContentsBatchPayload + * @description Contains property values that will be updated for all the history `items` provided. + * @example { + * "items": [ + * { + * "history_content_type": "dataset", + * "id": "string" + * } + * ], + * "visible": false + * } */ - RequestDataType: - | "state" - | "converted_datasets_state" - | "data" - | "features" - | "raw_data" - | "track_config" - | "genome_data" - | "in_use_state"; + UpdateHistoryContentsBatchPayload: { + /** + * Items + * @description A list of content items to update with the changes. + */ + items: components["schemas"]["UpdateContentItem"][]; + }; /** - * Requirement - * @description Available types of job sources (model classes) that produce dataset collections. - * @enum {string} + * UpdateHistoryContentsPayload + * @description Can contain arbitrary/dynamic fields that will be updated for a particular history item. + * @example { + * "annotation": "Test", + * "visible": false + * } */ - Requirement: "logged_in" | "new_history" | "admin"; + UpdateHistoryContentsPayload: { + /** + * Annotation + * @description A user-defined annotation for this item. + */ + annotation?: string; + /** + * Deleted + * @description Whether this item is marked as deleted. + */ + deleted?: boolean; + /** + * Name + * @description The new name of the item. + */ + name?: string; + /** + * Tags + * @description A list of tags to add to this item. + */ + tags?: components["schemas"]["TagCollection"]; + /** + * Visible + * @description Whether this item is visible in the history. + */ + visible?: boolean; + }; /** - * RoleDefinitionModel + * UpdateLibraryFolderPayload * @description Base model definition with common configuration used by all derived models. */ - RoleDefinitionModel: { + UpdateLibraryFolderPayload: { /** * Description - * @description Description of the role + * @description The new description of the library folder. */ - description: string; + description?: string; /** - * Group IDs - * @default [] + * Name + * @description The new name of the library folder. */ - group_ids?: string[]; + name?: string; + }; + /** + * UpdateLibraryPayload + * @description Base model definition with common configuration used by all derived models. + */ + UpdateLibraryPayload: { + /** + * Description + * @description A detailed description of the Library. Leave unset to keep the existing. + */ + description?: string; /** * Name - * @description Name of the role + * @description The new name of the Library. Leave unset to keep the existing. */ - name: string; + name?: string; /** - * User IDs - * @default [] + * Synopsis + * @description A short text describing the contents of the Library. Leave unset to keep the existing. */ - user_ids?: string[]; + synopsis?: string; }; /** - * RoleListResponse - * @description Base model definition with common configuration used by all derived models. - */ - RoleListResponse: components["schemas"]["RoleModelResponse"][]; - /** - * RoleModelResponse + * UpdateQuotaParams * @description Base model definition with common configuration used by all derived models. */ - RoleModelResponse: { + UpdateQuotaParams: { + /** + * Amount + * @description Quota size (E.g. ``10000MB``, ``99 gb``, ``0.2T``, ``unlimited``) + */ + amount?: string; + /** + * Default + * @description Whether or not this is a default quota. Valid values are ``no``, ``unregistered``, ``registered``. Calling this method with ``default="no"`` on a non-default quota will throw an error. Not passing this parameter is equivalent to passing ``no``. + */ + default?: components["schemas"]["DefaultQuotaValues"]; /** * Description - * @description Description of the role + * @description Detailed text description for this Quota. */ description?: string; /** - * ID - * @description Encoded ID of the role - * @example 0123456789ABCDEF + * Groups + * @description A list of group IDs or names to associate with this quota. */ - id: string; + in_groups?: string[]; /** - * Model class - * @description The name of the database model class. - * @default Role - * @enum {string} + * Users + * @description A list of user IDs or user emails to associate with this quota. */ - model_class: "Role"; + in_users?: string[]; /** * Name - * @description Name of the role + * @description The new name of the quota. This must be unique within a Galaxy instance. */ - name: string; + name?: string; /** - * Type - * @description Type or category of the role + * Operation + * @description One of (``+``, ``-``, ``=``). If you wish to change this value, you must also provide the ``amount``, otherwise it will not take effect. + * @default = */ - type: string; + operation?: components["schemas"]["QuotaOperation"]; + }; + /** + * UpdateUserNotificationPreferencesRequest + * @description Contains the new notification preferences of a user. + * @example { + * "preferences": { + * "message": { + * "channels": { + * "push": true + * }, + * "enabled": true + * }, + * "new_shared_item": { + * "channels": { + * "push": true + * }, + * "enabled": true + * } + * } + * } + */ + UpdateUserNotificationPreferencesRequest: { /** - * URL - * @deprecated - * @description The relative URL to access this item. + * Preferences + * @description The new notification preferences of the user. */ - url: string; + preferences: { + [key: string]: components["schemas"]["NotificationCategorySettings"] | undefined; + }; }; /** - * ServerDirElement + * UrlDataElement * @description Base model definition with common configuration used by all derived models. */ - ServerDirElement: { + UrlDataElement: { /** Md5 */ MD5?: string; /** @@ -9630,12 +9831,8 @@ export interface components { extra_files?: components["schemas"]["ExtraFiles"]; /** Info */ info?: string; - /** Link Data Only */ - link_data_only?: boolean; /** Name */ name?: string; - /** Server Dir */ - server_dir: string; /** * Space To Tab * @default false @@ -9645,7 +9842,7 @@ export interface components { * Src * @enum {string} */ - src: "server_dir"; + src: "url"; /** Tags */ tags?: string[]; /** @@ -9653,905 +9850,704 @@ export interface components { * @default false */ to_posix_lines?: boolean; - }; - /** Service */ - Service: { - /** - * Contacturl - * Format: uri - * @description URL of the contact for the provider of this service, e.g. a link to a contact form (RFC 3986 format), or an email (RFC 2368 format). - * @example mailto:support@example.com - */ - contactUrl?: string; - /** - * Createdat - * Format: date-time - * @description Timestamp describing when the service was first deployed and available (RFC 3339 format) - * @example 2019-06-04T12:58:19Z - */ - createdAt?: string; - /** - * Description - * @description Description of the service. Should be human readable and provide information about the service. - * @example This service provides... - */ - description?: string; - /** - * Documentationurl - * Format: uri - * @description URL of the documentation of this service (RFC 3986 format). This should help someone learn how to use your service, including any specifics required to access data, e.g. authentication. - * @example https://docs.myservice.example.com - */ - documentationUrl?: string; - /** - * Environment - * @description Environment the service is running in. Use this to distinguish between production, development and testing/staging deployments. Suggested values are prod, test, dev, staging. However this is advised and not enforced. - * @example test - */ - environment?: string; - /** - * Id - * @description Unique ID of this service. Reverse domain name notation is recommended, though not required. The identifier should attempt to be globally unique so it can be used in downstream aggregator services e.g. Service Registry. - * @example org.ga4gh.myservice - */ - id: string; - /** - * Name - * @description Name of this service. Should be human readable. - * @example My project - */ - name: string; - /** - * Organization - * @description Organization providing the service - */ - organization: components["schemas"]["Organization"]; - type: components["schemas"]["ServiceType"]; - /** - * Updatedat - * Format: date-time - * @description Timestamp describing when the service was last updated (RFC 3339 format) - * @example 2019-06-04T12:58:19Z - */ - updatedAt?: string; - /** - * Version - * @description Version of the service being described. Semantic versioning is recommended, but other identifiers, such as dates or commit hashes, are also allowed. The version should be changed whenever the service is updated. - * @example 1.0.0 - */ - version: string; - }; - /** ServiceType */ - ServiceType: { - /** - * Artifact - * @description Name of the API or GA4GH specification implemented. Official GA4GH types should be assigned as part of standards approval process. Custom artifacts are supported. - * @example beacon - */ - artifact: string; - /** - * Group - * @description Namespace in reverse domain name format. Use `org.ga4gh` for implementations compliant with official GA4GH specifications. For services with custom APIs not standardized by GA4GH, or implementations diverging from official GA4GH specifications, use a different namespace (e.g. your organization's reverse domain name). - * @example org.ga4gh - */ - group: string; - /** - * Version - * @description Version of the API or specification. GA4GH specifications use semantic versioning. - * @example 1.0.0 - */ - version: string; - }; - /** - * SetSlugPayload - * @description Base model definition with common configuration used by all derived models. - */ - SetSlugPayload: { - /** - * New Slug - * @description The slug that will be used to access this shared item. - */ - new_slug: string; - }; - /** - * ShareWithExtra - * @description Base model definition with common configuration used by all derived models. - */ - ShareWithExtra: { /** - * Can Share - * @description Indicates whether the resource can be directly shared or requires further actions. - * @default false + * Url + * @description URL to upload */ - can_share?: boolean; + url: string; }; /** - * ShareWithPayload + * UserBeaconSetting * @description Base model definition with common configuration used by all derived models. */ - ShareWithPayload: { - /** - * Share Option - * @description User choice for sharing resources which its contents may be restricted: - * - None: The user did not choose anything yet or no option is needed. - * - make_public: The contents of the resource will be made publicly accessible. - * - make_accessible_to_shared: This will automatically create a new `sharing role` allowing protected contents to be accessed only by the desired users. - * - no_changes: This won't change the current permissions for the contents. The user which this resource will be shared may not be able to access all its contents. - */ - share_option?: components["schemas"]["SharingOptions"]; + UserBeaconSetting: { /** - * User Identifiers - * @description A collection of encoded IDs (or email addresses) of users that this resource will be shared with. + * Enabled + * @description True if beacon sharing is enabled */ - user_ids: (string | string)[]; + enabled: boolean; }; /** - * ShareWithStatus - * @description Base model definition with common configuration used by all derived models. + * UserConfigResponse + * @description Configuration values that can be exposed to users. */ - ShareWithStatus: { - /** - * Encoded Email - * @description Encoded owner email. - */ - email_hash?: string; + UserConfigResponse: { /** - * Errors - * @description Collection of messages indicating that the resource was not shared with some (or all users) due to an error. - * @default [] + * Admin Tool Recommendations Path + * @description Set path to the additional tool preferences from Galaxy admins. + * It has two blocks. One for listing deprecated tools which will be removed from the recommendations and + * another is for adding additional tools to be recommended along side those from the deep learning model. + * @default tool_recommendations_overwrite.yml */ - errors?: string[]; + admin_tool_recommendations_path?: string; /** - * Extra - * @description Optional extra information about this shareable resource that may be of interest. The contents of this field depend on the particular resource. + * Allow User Creation + * @description Allow unregistered users to create new accounts (otherwise, they will have to be created by an admin). + * @default true */ - extra?: components["schemas"]["ShareWithExtra"]; + allow_user_creation?: boolean; /** - * ID - * @description The encoded ID of the resource to be shared. - * @example 0123456789ABCDEF + * Allow User Dataset Purge + * @description Allow users to remove their datasets from disk immediately (otherwise, + * datasets will be removed after a time period specified by an administrator in + * the cleanup scripts run via cron) + * @default true */ - id: string; + allow_user_dataset_purge?: boolean; /** - * Importable - * @description Whether this resource can be published using a link. + * Allow User Impersonation + * @description Allow administrators to log in as other users (useful for debugging). + * @default false */ - importable: boolean; + allow_user_impersonation?: boolean; /** - * Published - * @description Whether this resource is currently published. + * Aws Estimate + * @description This flag enables an AWS cost estimate for every job based on their runtime matrices. + * CPU, RAM and runtime usage is mapped against AWS pricing table. + * Please note, that those numbers are only estimates. + * @default false */ - published: boolean; + aws_estimate?: boolean; /** - * Title - * @description The title or name of the resource. + * Brand + * @description Append "{brand}" text to the masthead. */ - title: string; + brand?: string; /** - * Username - * @description The owner's username. + * Carbon Emission Estimates + * @description This flag enables carbon emissions estimates for every job based on its runtime metrics. + * CPU and RAM usage and the total job runtime are used to determine an estimate value. + * These estimates and are based off of the work of the Green Algorithms Project and + * the United States Environmental Protection Agency (EPA). + * Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. + * for more details. + * @default true */ - username?: string; + carbon_emission_estimates?: boolean; /** - * Username and slug - * @description The relative URL in the form of /u/{username}/{resource_single_char}/{slug} + * Carbon Intensity + * @description The carbon intensity of the electricity used by the Galaxy server. */ - username_and_slug?: string; + carbon_intensity?: number; /** - * Users shared with - * @description The list of encoded ids for users the resource has been shared. - * @default [] + * Chunk Upload Size + * @description Galaxy can upload user files in chunks without using nginx. Enable the chunk + * uploader by specifying a chunk size larger than 0. The chunk size is specified + * in bytes (default: 10MB). + * + * @default 10485760 */ - users_shared_with?: components["schemas"]["UserEmail"][]; - }; - /** - * SharingOptions - * @description Options for sharing resources that may have restricted access to all or part of their contents. - * @enum {string} - */ - SharingOptions: "make_public" | "make_accessible_to_shared" | "no_changes"; - /** - * SharingStatus - * @description Base model definition with common configuration used by all derived models. - */ - SharingStatus: { + chunk_upload_size?: number; /** - * Encoded Email - * @description Encoded owner email. + * Citation Url + * @description The URL linked by the "How to Cite Galaxy" link in the "Help" menu. + * @default https://galaxyproject.org/citing-galaxy */ - email_hash?: string; + citation_url?: string; /** - * ID - * @description The encoded ID of the resource to be shared. - * @example 0123456789ABCDEF + * Citations Export Message Html + * @description Message to display on the export citations tool page + * @default When writing up your analysis, remember to include all references that should be cited in order to completely describe your work. Also, please remember to cite Galaxy. */ - id: string; + citations_export_message_html?: string; /** - * Importable - * @description Whether this resource can be published using a link. + * Cookie Domain + * @description Tell Galaxy that multiple domains sharing the same root are associated + * to this instance and wants to share the same session cookie. + * This allow a user to stay logged in when passing from one subdomain to the other. + * This root domain will be written in the unique session cookie shared by all subdomains. */ - importable: boolean; + cookie_domain?: string; /** - * Published - * @description Whether this resource is currently published. + * Datatypes Disable Auto + * @description Disable the 'Auto-detect' option for file uploads + * @default false */ - published: boolean; + datatypes_disable_auto?: boolean; /** - * Title - * @description The title or name of the resource. + * Default Locale + * @description Default localization for Galaxy UI. + * Allowed values are listed at the end of client/src/nls/locale.js. + * With the default value (auto), the locale will be automatically adjusted to + * the user's navigator language. + * Users can override this settings in their user preferences if the localization + * settings are enabled in user_preferences_extra_conf.yml + * @default auto */ - title: string; + default_locale?: string; /** - * Username - * @description The owner's username. + * Default Panel View + * @description Default tool panel view for the current Galaxy configuration. This should refer to an id of + * a panel view defined using the panel_views or panel_views_dir configuration options or an + * EDAM panel view. The default panel view is simply called `default` and refers to the tool + * panel state defined by the integrated tool panel. + * @default default */ - username?: string; + default_panel_view?: string; /** - * Username and slug - * @description The relative URL in the form of /u/{username}/{resource_single_char}/{slug} + * Enable Account Interface + * @description Allow users to manage their account data, change passwords or delete their accounts. + * @default true */ - username_and_slug?: string; + enable_account_interface?: boolean; /** - * Users shared with - * @description The list of encoded ids for users the resource has been shared. - * @default [] + * Enable Beacon Integration + * @description Enables user preferences and api endpoint for the beacon integration. + * @default false */ - users_shared_with?: components["schemas"]["UserEmail"][]; - }; - /** - * ShortTermStoreExportPayload - * @description Base model definition with common configuration used by all derived models. - */ - ShortTermStoreExportPayload: { - /** Duration */ - duration?: number | number; + enable_beacon_integration?: boolean; /** - * Include deleted - * @description Include file contents for deleted datasets (if include_files is True). + * Enable Beta Markdown Export + * @description Enable export of Galaxy Markdown documents (pages and workflow reports) + * to PDF. Requires manual installation and setup of weasyprint (latest version + * available for Python 2.7 is 0.42). * @default false */ - include_deleted?: boolean; + enable_beta_markdown_export?: boolean; /** - * Include Files - * @description include materialized files in export when available - * @default true + * Enable Celery Tasks + * @description Offload long-running tasks to a Celery task queue. + * Activate this only if you have setup a Celery worker for Galaxy. + * For details, see https://docs.galaxyproject.org/en/master/admin/production.html + * @default false */ - include_files?: boolean; + enable_celery_tasks?: boolean; /** - * Include hidden - * @description Include file contents for hidden datasets (if include_files is True). + * Enable Notification System + * @description Enables the Notification System integrated in Galaxy. + * + * Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. + * + * The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. + * + * Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. + * * @default false */ - include_hidden?: boolean; + enable_notification_system?: boolean; /** - * @description format of model store to export - * @default tar.gz + * Enable Oidc + * @description Enables and disables OpenID Connect (OIDC) support. + * @default false */ - model_store_format?: components["schemas"]["ModelStoreFormat"]; + enable_oidc?: boolean; /** - * Short Term Storage Request Id - * Format: uuid + * Enable Quotas + * @description Enable enforcement of quotas. Quotas can be set from the Admin interface. + * @default false */ - short_term_storage_request_id: string; - }; - /** - * Src - * @description An enumeration. - * @enum {string} - */ - Src: "url" | "pasted" | "files" | "path" | "composite" | "ftp_import" | "server_dir"; - /** - * StorageItemCleanupError - * @description Base model definition with common configuration used by all derived models. - */ - StorageItemCleanupError: { - /** Error */ - error: string; + enable_quotas?: boolean; /** - * Item Id - * @example 0123456789ABCDEF + * Enable Tool Recommendations + * @description Allow the display of tool recommendations in workflow editor and after tool execution. + * If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well + * @default false */ - item_id: string; - }; - /** - * StorageItemsCleanupResult - * @description Base model definition with common configuration used by all derived models. - */ - StorageItemsCleanupResult: { - /** Errors */ - errors: components["schemas"]["StorageItemCleanupError"][]; - /** Success Item Count */ - success_item_count: number; - /** Total Free Bytes */ - total_free_bytes: number; - /** Total Item Count */ - total_item_count: number; - }; - /** - * StoreExportPayload - * @description Base model definition with common configuration used by all derived models. - */ - StoreExportPayload: { + enable_tool_recommendations?: boolean; /** - * Include deleted - * @description Include file contents for deleted datasets (if include_files is True). + * Enable Tool Source Display + * @description This option allows users to view the tool wrapper source code. This is + * safe to enable if you have not hardcoded any secrets in any of the tool + * wrappers installed on this Galaxy server. If you have only installed tool + * wrappers from public tool sheds and tools shipped with Galaxy there you + * can enable this option. * @default false */ - include_deleted?: boolean; + enable_tool_source_display?: boolean; /** - * Include Files - * @description include materialized files in export when available - * @default true + * Enable Unique Workflow Defaults + * @description Enable a feature when running workflows. When enabled, default datasets + * are selected for "Set at Runtime" inputs from the history such that the + * same input will not be selected twice, unless there are more inputs than + * compatible datasets in the history. + * When false, the most recently added compatible item in the history will + * be used for each "Set at Runtime" input, independent of others in the workflow. + * @default false */ - include_files?: boolean; + enable_unique_workflow_defaults?: boolean; /** - * Include hidden - * @description Include file contents for hidden datasets (if include_files is True). + * Expose User Email + * @description Expose user list. Setting this to true will expose the user list to + * authenticated users. This makes sharing datasets in smaller galaxy instances + * much easier as they can type a name/email and have the correct user show up. + * This makes less sense on large public Galaxy instances where that data + * shouldn't be exposed. For semi-public Galaxies, it may make sense to expose + * just the username and not email, or vice versa. + * + * If enable_beta_gdpr is set to true, then this option will be overridden and set to false. * @default false */ - include_hidden?: boolean; - /** - * @description format of model store to export - * @default tar.gz - */ - model_store_format?: components["schemas"]["ModelStoreFormat"]; - }; - /** - * StoredItem - * @description Base model definition with common configuration used by all derived models. - */ - StoredItem: { + expose_user_email?: boolean; /** - * Id - * @example 0123456789ABCDEF + * File Sources Configured + * @description Determines if the Galaxy instance has custom file sources configured. */ - id: string; - /** Name */ - name: string; - /** Size */ - size: number; - /** Type */ - type: "history" | "dataset"; + file_sources_configured: boolean; /** - * Update Time - * Format: date-time - * @description The last time and date this item was updated. + * Ftp Upload Site + * @description Enable Galaxy's "Upload via FTP" interface. + * You'll need to install and configure an FTP server (we've used ProFTPd since it can use Galaxy's + * database for authentication) and set the following two options. + * This will be provided to users in the help text as 'log in to the FTP server at '. + * Thus, it should be the hostname of your FTP server. */ - update_time: string; - }; - /** - * StoredItemOrderBy - * @description Available options for sorting Stored Items results. - * @enum {string} - */ - StoredItemOrderBy: "name-asc" | "name-dsc" | "size-asc" | "size-dsc" | "update_time-asc" | "update_time-dsc"; - /** - * SuitableConverter - * @description Base model definition with common configuration used by all derived models. - */ - SuitableConverter: { + ftp_upload_site?: string; /** - * Name - * @description The name of the converter. + * Google Analytics Code + * @description You can enter tracking code here to track visitor's behavior + * through your Google Analytics account. Example: UA-XXXXXXXX-Y */ - name: string; + ga_code?: string; /** - * Original Type - * @description The type to convert from. + * Geographical Server Location Code + * @description The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. + * This is used to make carbon emissions estimates more accurate as the location effects the + * carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the + * `geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, + * visit https://galaxyproject.org/admin/carbon_emissions + * @default GLOBAL */ - original_type: string; + geographical_server_location_code?: string; /** - * Target Type - * @description The type to convert to. + * Geographical Server Location Name + * @description The name of the geographical location of the Galaxy server. */ - target_type: string; + geographical_server_location_name?: string; /** - * Tool Id - * @description The ID of the tool that can perform the type conversion. + * Has User Tool Filters + * @description Determines if the user has tool filters. + * @default false */ - tool_id: string; - }; - /** - * SuitableConverters - * @description Collection of converters that can be used on a particular dataset collection. - */ - SuitableConverters: components["schemas"]["SuitableConverter"][]; - /** - * TagCollection - * @description The collection of tags associated with an item. - */ - TagCollection: string[]; - /** - * TagOperationParams - * @description Base model definition with common configuration used by all derived models. - */ - TagOperationParams: { - /** Tags */ - tags: string[]; - /** Type */ - type: "add_tags" | "remove_tags"; - }; - /** - * TaggableItemClass - * @description An enumeration. - * @enum {unknown} - */ - TaggableItemClass: - | "History" - | "HistoryDatasetAssociation" - | "HistoryDatasetCollectionAssociation" - | "LibraryDatasetDatasetAssociation" - | "Page" - | "StoredWorkflow" - | "Visualization"; - /** ToolDataDetails */ - ToolDataDetails: { + has_user_tool_filters?: boolean; /** - * Columns - * @description A list of column names - * @example [ - * "value", - * "dbkey", - * "name", - * "path" - * ] + * Helpsite Url + * @description The URL linked by the "Galaxy Help" link in the "Help" menu. + * @default https://help.galaxyproject.org/ */ - columns: string[]; + helpsite_url?: string; /** - * Fields - * @default [] + * Inactivity Box Content + * @description Shown in warning box to users that were not activated yet. + * In use only if activation_grace_period is set. + * @default Your account has not been activated yet. Feel free to browse around and see what's available, but you won't be able to upload data or run jobs until you have verified your email address. */ - fields?: string[][]; + inactivity_box_content?: string; /** - * Model class - * @description The name of class modelling this tool data - * @example TabularToolDataTable + * Interactivetools Enable + * @description Enable InteractiveTools. + * @default false */ - model_class: string; + interactivetools_enable?: boolean; /** - * Name - * @description The name of this tool data entry - * @example all_fasta + * Is Admin User + * @description Determines if the current user is an admin user. + * @default false + * @enum {boolean} */ - name: string; - }; - /** ToolDataEntry */ - ToolDataEntry: { + is_admin_user?: false; /** - * Model class - * @description The name of class modelling this tool data - * @example TabularToolDataTable + * Lims Doc Url + * @deprecated + * @description The URL linked by the "LIMS Documentation" link in the "Help" menu. + * **Deprecated**: This is deprecated and will be removed in a future release. + * Please use the `helpsite_url` option instead. + * @default https://usegalaxy.org/u/rkchak/p/sts */ - model_class: string; + lims_doc_url?: string; /** - * Name - * @description The name of this tool data entry - * @example all_fasta + * Logo Src + * @description The brand image source. + * @default /static/favicon.svg */ - name: string; - }; - /** ToolDataEntryList */ - ToolDataEntryList: components["schemas"]["ToolDataEntry"][]; - /** ToolDataField */ - ToolDataField: { + logo_src?: string; /** - * Base directories - * @description A list of directories where the data files are stored + * Logo Src Secondary + * @description The custom brand image source. */ - base_dir: string[]; - /** Fields */ - fields: { - [key: string]: string | undefined; - }; + logo_src_secondary?: string; /** - * Files - * @description A dictionary of file names and their size in bytes - * @example { - * "file.txt": 136 - * } + * Logo Url + * @description The URL linked by the "Galaxy/brand" text. + * @default / */ - files: { - [key: string]: number | undefined; - }; + logo_url?: string; /** - * Fingerprint - * @description SHA1 Hash - * @example 22b45237a85c2b3f474bf66888c534387ffe0ced + * Mailing Join Address + * @description On the user registration form, users may choose to join a mailing list. This + * is the address used to subscribe to the list. Uncomment and leave empty if you + * want to remove this option from the user registration form. + * + * Example value 'galaxy-announce-join@lists.galaxyproject.org' + * @default galaxy-announce-join@bx.psu.edu */ - fingerprint: string; + mailing_join_addr?: string; /** - * Model class - * @description The name of class modelling this tool data field - * @example TabularToolDataField + * Markdown To Pdf Available + * @deprecated + * @description Determines if the markdown to pdf conversion is available. + * **Deprecated**: This is deprecated and will be removed in a future release. + * @default false */ - model_class: string; + markdown_to_pdf_available?: boolean; /** - * Name - * @description The name of the field + * Matomo Server + * @description Please enter the URL for the Matomo server (including https) so this can be used for tracking + * with Matomo (https://matomo.org/). */ - name: string; - }; - /** ToolDataItem */ - ToolDataItem: { + matomo_server?: string; /** - * Values - * @description A `\t` (TAB) separated list of column __contents__. You must specify a value for each of the columns of the data table. - * @example value dbkey name path + * Matomo Site Id + * @description Please enter the site ID for the Matomo server so this can be used for tracking + * with Matomo (https://matomo.org/). */ - values: string; - }; - /** Tour */ - Tour: { + matomo_site_id?: string; /** - * Description - * @description Tour description + * Message Box Class + * @description Class of the message box under the masthead. + * Possible values are: 'info' (the default), 'warning', 'error', 'done'. + * @default info + * @enum {string} */ - description: string; + message_box_class?: "info" | "warning" | "error" | "done"; /** - * Identifier - * @description Tour identifier + * Message Box Content + * @description Show a message box under the masthead. */ - id: string; + message_box_content?: string; /** - * Name - * @description Name of tour + * Message Box Visible + * @description Show a message box under the masthead. + * @default false */ - name: string; + message_box_visible?: boolean; /** - * Requirements - * @description Requirements to run the tour. + * Nginx Upload Path + * @description This value overrides the action set on the file upload form, e.g. the web + * path where the nginx_upload_module has been configured to intercept upload requests. */ - requirements: components["schemas"]["Requirement"][]; + nginx_upload_path?: string; /** - * Tags - * @description Topic topic tags + * Object Store Allows Id Selection + * @description Determines if the object store allows id selection. */ - tags: string[]; - }; - /** TourDetails */ - TourDetails: { + object_store_allows_id_selection: boolean; /** - * Description - * @description Tour description + * Object Store Ids Allowing Selection + * @description The ids of the object stores that can be selected. */ - description: string; + object_store_ids_allowing_selection: string[]; /** - * Name - * @description Name of tour + * Oidc + * @description OpenID Connect (OIDC) configuration. + * @default {} */ - name: string; + oidc?: Record; /** - * Requirements - * @description Requirements to run the tour. + * Overwrite Model Recommendations + * @description Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model + * are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools + * by admins and predicted by the deep learning model are shown. + * @default false */ - requirements: components["schemas"]["Requirement"][]; + overwrite_model_recommendations?: boolean; /** - * Steps - * @description Tour steps + * Panel Views + * @description Definitions of static toolbox panel views embedded directly in the config instead of reading + * YAML from directory with panel_views_dir. */ - steps: components["schemas"]["TourStep"][]; + panel_views?: Record; /** - * Tags - * @description Topic topic tags + * Plausible Domain + * @description Please enter the URL for the Galaxy server so this can be used for tracking + * with Plausible (https://plausible.io/). */ - tags: string[]; + plausible_domain?: string; /** - * Default title - * @description Default title for each step + * Plausible Server + * @description Please enter the URL for the Plausible server (including https) so this can be used for tracking + * with Plausible (https://plausible.io/). */ - title_default?: string; - }; - /** - * TourList - * @default [] - */ - TourList: components["schemas"]["Tour"][]; - /** TourStep */ - TourStep: { + plausible_server?: string; /** - * Content - * @description Text shown to the user + * Post User Logout Href + * @description This is the default url to which users are redirected after they log out. + * @default /root/login?is_logout_redirect=true */ - content?: string; + post_user_logout_href?: string; /** - * Element - * @description CSS selector for the element to be described/clicked + * Power Usage Effectiveness + * @description The estimated power usage effectiveness of the data centre housing the server your galaxy + * instance is running on. This can make carbon emissions estimates more accurate. + * For more information on how to calculate a PUE value, visit + * https://en.wikipedia.org/wiki/Power_usage_effectiveness + * + * @default 1.67 */ - element?: string; + power_usage_effectiveness?: number; /** - * Placement - * @description Placement of the text box relative to the selected element + * Prefer Custos Login + * @description Controls the order of the login page to prefer Custos-based login and registration. + * @default false */ - placement?: string; + prefer_custos_login?: boolean; /** - * Post-click - * @description Elements that receive a click() event after the step is shown + * Python Version + * @description The Python version used by Galaxy as a tuple of integers [mayor, minor]. */ - postclick?: boolean | string[]; + python: number[]; /** - * Pre-click - * @description Elements that receive a click() event before the step is shown + * Quota Source Labels + * @description The labels of the disk quota sources available on this Galaxy instance. */ - preclick?: boolean | string[]; + quota_source_labels: string[]; /** - * Text-insert - * @description Text to insert if element is a text box (e.g. tool search or upload) + * Quota Url + * @description The URL linked for quota information in the UI. + * @default https://galaxyproject.org/support/account-quotas/ */ - textinsert?: string; + quota_url?: string; /** - * Title - * @description Title displayed in the header of the step container + * Registration Warning Message + * @description Registration warning message is used to discourage people from registering + * multiple accounts. Applies mostly for the main Galaxy instance. + * If no message specified the warning box will not be shown. + * @default Please register only one account - we provide this service free of charge and have limited computational resources. Multi-accounts are tracked and will be subjected to account termination and data deletion. */ - title?: string; - }; - /** - * Type - * @description An enumeration. - * @enum {unknown} - */ - Type: "s3" | "gs" | "ftp" | "gsiftp" | "globus" | "htsget" | "https" | "file"; - /** - * UpdateCollectionAttributePayload - * @description Contains attributes that can be updated for all elements in a dataset collection. - */ - UpdateCollectionAttributePayload: { + registration_warning_message?: string; /** - * Dbkey - * @description TODO + * Release Doc Base Url + * @description The URL linked by the "Galaxy Version" link in the "Help" menu. + * @default https://docs.galaxyproject.org/en/release_ */ - dbkey: string; - }; - /** - * UpdateContentItem - * @description Used for updating a particular history item. All fields are optional. - */ - UpdateContentItem: { + release_doc_base_url?: string; /** - * Content Type - * @description The type of this item. + * Remote User Logout Href + * @description If use_remote_user is enabled, you can set this to a URL that will log your users out. */ - history_content_type: components["schemas"]["HistoryContentType"]; + remote_user_logout_href?: string; /** - * ID - * @description The encoded ID of this entity. - * @example 0123456789ABCDEF + * Require Login + * @description Force everyone to log in (disable anonymous access). + * @default false */ - id: string; - }; - /** - * UpdateHistoryContentsBatchPayload - * @description Contains property values that will be updated for all the history `items` provided. - * @example { - * "items": [ - * { - * "history_content_type": "dataset", - * "id": "string" - * } - * ], - * "visible": false - * } - */ - UpdateHistoryContentsBatchPayload: { + require_login?: boolean; /** - * Items - * @description A list of content items to update with the changes. + * Screencasts Url + * @description The URL linked by the "Videos" link in the "Help" menu. + * @default https://www.youtube.com/c/galaxyproject */ - items: components["schemas"]["UpdateContentItem"][]; - }; - /** - * UpdateHistoryContentsPayload - * @description Can contain arbitrary/dynamic fields that will be updated for a particular history item. - * @example { - * "annotation": "Test", - * "visible": false - * } - */ - UpdateHistoryContentsPayload: { + screencasts_url?: string; /** - * Annotation - * @description A user-defined annotation for this item. + * Select Type Workflow Threshold + * @description Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) + * Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. + * use 0 in order to always use select2 fields, use -1 (default) in order to always use the regular select fields, + * use any other positive number as threshold (above threshold: regular select fields will be used) + * @default -1 */ - annotation?: string; + select_type_workflow_threshold?: number; /** - * Deleted - * @description Whether this item is marked as deleted. + * Server Mail Configured + * @description Determines if the Galaxy instance has a SMTP server configured. + * @default false */ - deleted?: boolean; + server_mail_configured?: boolean; /** - * Name - * @description The new name of the item. + * Server Start Time + * @description The time when the Galaxy server was started (seconds since Epoch). */ - name?: string; + server_startttime: number; /** - * Tags - * @description A list of tags to add to this item. + * Show Welcome With Login + * @description Show the site's welcome page (see welcome_url) alongside the login page + * (even if require_login is true). + * @default false */ - tags?: components["schemas"]["TagCollection"]; + show_welcome_with_login?: boolean; /** - * Visible - * @description Whether this item is visible in the history. + * Simplified Workflow Run Ui + * @description If set to 'off' by default, always use the traditional workflow form that renders + * all steps in the GUI and serializes the tool state of all steps during + * invocation. Set to 'prefer' to default to a simplified workflow UI that + * only renders the inputs if possible (the workflow must have no disconnected + * runtime inputs and not replacement parameters within tool steps). In the + * future 'force' may be added an option for Galaskio-style servers that should + * only render simplified workflows. + * @default prefer + * @enum {string} */ - visible?: boolean; - }; - /** - * UpdateLibraryFolderPayload - * @description Base model definition with common configuration used by all derived models. - */ - UpdateLibraryFolderPayload: { + simplified_workflow_run_ui?: "off" | "prefer"; /** - * Description - * @description The new description of the library folder. + * Simplified Workflow Run Ui Job Cache + * @description When the simplified workflow run form is rendered, should the invocation use job + * caching. This isn't a boolean so an option for 'show-selection' can be added later. + * @default off + * @enum {string} */ - description?: string; + simplified_workflow_run_ui_job_cache?: "on" | "off"; /** - * Name - * @description The new name of the library folder. + * Simplified Workflow Run Ui Target History + * @description When the simplified workflow run form is rendered, should the invocation outputs + * be sent to the 'current' history or a 'new' history. If the user should be presented + * and option between these - set this to 'prefer_current' or 'prefer_new' to display + * a runtime setting with the corresponding default. The default is to provide the + * user this option and default it to the current history (the traditional behavior + * of Galaxy for years) - this corresponds to the setting 'prefer_current'. + * + * @default prefer_current + * @enum {string} */ - name?: string; - }; - /** - * UpdateLibraryPayload - * @description Base model definition with common configuration used by all derived models. - */ - UpdateLibraryPayload: { + simplified_workflow_run_ui_target_history?: "prefer_current" | "prefer_new"; /** - * Description - * @description A detailed description of the Library. Leave unset to keep the existing. + * Single User + * @description If an e-mail address is specified here, it will hijack remote user mechanics + * (``use_remote_user``) and have the webapp inject a single fixed user. This + * has the effect of turning Galaxy into a single user application with no + * login or external proxy required. Such applications should not be exposed to + * the world. */ - description?: string; + single_user?: boolean | string; /** - * Name - * @description The new name of the Library. Leave unset to keep the existing. + * Support Url + * @description The URL linked by the "Support" link in the "Help" menu. + * @default https://galaxyproject.org/support/ */ - name?: string; + support_url?: string; /** - * Synopsis - * @description A short text describing the contents of the Library. Leave unset to keep the existing. + * Terms Url + * @description The URL linked by the "Terms and Conditions" link in the "Help" menu, as well + * as on the user registration and login forms and in the activation emails. */ - synopsis?: string; - }; - /** - * UpdateQuotaParams - * @description Base model definition with common configuration used by all derived models. - */ - UpdateQuotaParams: { + terms_url?: string; /** - * Amount - * @description Quota size (E.g. ``10000MB``, ``99 gb``, ``0.2T``, ``unlimited``) + * Themes + * @description The visual style themes available on this Galaxy instance. */ - amount?: string; + themes: { + [key: string]: + | { + [key: string]: string | undefined; + } + | undefined; + }; /** - * Default - * @description Whether or not this is a default quota. Valid values are ``no``, ``unregistered``, ``registered``. Calling this method with ``default="no"`` on a non-default quota will throw an error. Not passing this parameter is equivalent to passing ``no``. + * Tool Recommendation Model Path + * @description Set remote path of the trained model (HDF5 file) for tool recommendation. + * @default https://github.com/galaxyproject/galaxy-test-data/raw/master/tool_recommendation_model_v_0.2.hdf5 */ - default?: components["schemas"]["DefaultQuotaValues"]; + tool_recommendation_model_path?: string; /** - * Description - * @description Detailed text description for this Quota. + * Tool Training Recommendations + * @description Displays a link to training material, if any includes the current tool. + * When activated the following options also need to be set: + * tool_training_recommendations_link, + * tool_training_recommendations_api_url + * + * @default true */ - description?: string; + tool_training_recommendations?: boolean; /** - * Groups - * @description A list of group IDs or names to associate with this quota. + * Tool Training Recommendations Api Url + * @description URL to API describing tutorials containing specific tools. + * When CORS is used, make sure to add this host. + * @default https://training.galaxyproject.org/training-material/api/top-tools.json */ - in_groups?: string[]; + tool_training_recommendations_api_url?: string; /** - * Users - * @description A list of user IDs or user emails to associate with this quota. + * Tool Training Recommendations Link + * @description Template URL to display all tutorials containing current tool. + * Valid template inputs are: + * {repository_owner} + * {name} + * {tool_id} + * {training_tool_identifier} + * {version} + * + * @default https://training.galaxyproject.org/training-material/by-tool/{training_tool_identifier}.html */ - in_users?: string[]; + tool_training_recommendations_link?: string; /** - * Name - * @description The new name of the quota. This must be unique within a Galaxy instance. + * Toolbox Auto Sort + * @description If true, the toolbox will be sorted by tool id when the toolbox is loaded. + * This is useful for ensuring that tools are always displayed in the same + * order in the UI. If false, the order of tools in the toolbox will be + * preserved as they are loaded from the tool config files. + * @default true */ - name?: string; + toolbox_auto_sort?: boolean; /** - * Operation - * @description One of (``+``, ``-``, ``=``). If you wish to change this value, you must also provide the ``amount``, otherwise it will not take effect. - * @default = + * Topk Recommendations + * @description Set the number of predictions/recommendations to be made by the model + * @default 20 */ - operation?: components["schemas"]["QuotaOperation"]; - }; - /** - * UpdateUserNotificationPreferencesRequest - * @description Contains the new notification preferences of a user. - * @example { - * "preferences": { - * "message": { - * "channels": { - * "push": true - * }, - * "enabled": true - * }, - * "new_shared_item": { - * "channels": { - * "push": true - * }, - * "enabled": true - * } - * } - * } - */ - UpdateUserNotificationPreferencesRequest: { + topk_recommendations?: number; /** - * Preferences - * @description The new notification preferences of the user. + * Upload From Form Button + * @description If 'always-on', add another button to tool form data inputs that allow uploading + * data from the tool form in fewer clicks (at the expense of making the form more complicated). This applies to workflows as well. + * + * Avoiding making this a boolean because we may add options such as 'in-single-form-view' + * or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109 + * @default always-off + * @enum {string} */ - preferences: { - [key: string]: components["schemas"]["NotificationCategorySettings"] | undefined; - }; - }; - /** - * UrlDataElement - * @description Base model definition with common configuration used by all derived models. - */ - UrlDataElement: { - /** Md5 */ - MD5?: string; + upload_from_form_button?: "always-on" | "always-off"; /** - * Auto Decompress - * @description Decompress compressed data before sniffing? + * Use Remote User + * @description User authentication can be delegated to an upstream proxy server (usually + * Apache). The upstream proxy should set a REMOTE_USER header in the request. + * Enabling remote user disables regular logins. For more information, see: + * https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html * @default false */ - auto_decompress?: boolean; - /** Collection Type */ - collection_type?: string; - /** Created From Basename */ - created_from_basename?: string; + use_remote_user?: boolean; /** - * Dbkey - * @default ? + * User Library Import Dir Available + * @description Determines if the user library import directory is available. */ - dbkey?: string; + user_library_import_dir_available: boolean; /** - * Deferred - * @default false + * Version Extra + * @description The extra version of Galaxy. */ - deferred?: boolean; - elements_from?: components["schemas"]["ElementsFromType"]; + version_extra?: Record; /** - * Ext - * @default auto + * Version Major + * @description The major version of Galaxy. */ - ext?: string; - extra_files?: components["schemas"]["ExtraFiles"]; - /** Info */ - info?: string; - /** Name */ - name?: string; + version_major: string; /** - * Space To Tab - * @default false + * Version Minor + * @description The minor version of Galaxy. */ - space_to_tab?: boolean; + version_minor: string; /** - * Src - * @enum {string} + * Visualizations Visible + * @description Show visualization tab and list in masthead. + * @default true */ - src: "url"; - /** Tags */ - tags?: string[]; + visualizations_visible?: boolean; /** - * To Posix Lines - * @default false + * Welcome Directory + * @description Location of New User Welcome data, a single directory containing the + * images and JSON of Topics/Subtopics/Slides as export. This location + * is relative to galaxy/static + * @default plugins/welcome_page/new_user/static/topics/ */ - to_posix_lines?: boolean; + welcome_directory?: string; /** - * Url - * @description URL to upload + * Welcome Url + * @description The URL of the page to display in Galaxy's middle pane when loaded. This can + * be an absolute or relative URL. + * @default /static/welcome.html */ - url: string; - }; - /** - * UserBeaconSetting - * @description Base model definition with common configuration used by all derived models. - */ - UserBeaconSetting: { + welcome_url?: string; /** - * Enabled - * @description True if beacon sharing is enabled + * Wiki Url + * @description The URL linked by the "Community Hub" link in the "Help" menu. + * @default https://galaxyproject.org/ */ - enabled: boolean; + wiki_url?: string; }; /** * UserCreationPayload @@ -11113,7 +11109,7 @@ export interface operations { 200: { content: { "application/json": - | components["schemas"]["ConfigResponse"] + | components["schemas"]["UserConfigResponse"] | components["schemas"]["AdminOnlyConfigResponse"]; }; }; diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index ceb0a838dd1e..6a0ae9c053b1 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -175,13 +175,13 @@ class ComputedGalaxyConfig(Model): ) -class AdminExposableComputedGalaxyConfig(ComputedGalaxyConfig): +class AdminOnlyComputedGalaxyConfig(ComputedGalaxyConfig): """Contains Galaxy configuration options computed at runtime exposed to admins only.""" is_admin_user: Annotated[Literal[True], IsAdminUserField] = True -class UserExposableComputedGalaxyConfig(ComputedGalaxyConfig): +class UserOnlyComputedGalaxyConfig(ComputedGalaxyConfig): """Contains Galaxy configuration options computed at runtime that can be exposed to users.""" is_admin_user: Annotated[Literal[False], IsAdminUserField] = False @@ -215,7 +215,7 @@ class SchemaCompatibleConfigValues(Model): panel_views: Annotated[Optional[PanelViewList], PanelViewField] = None -class UserExposableGalaxyConfig(Model): +class ExposableGalaxyConfig(Model): """Contains Galaxy configuration values that can be exposed to regular users. These values are used to generate the OpenAPI and Configuration YAML schema for the Galaxy configuration. @@ -947,7 +947,7 @@ class UserExposableGalaxyConfig(Model): ] = False -class AdminExposableGalaxyConfig(UserExposableGalaxyConfig): +class AdminExposableGalaxyConfig(ExposableGalaxyConfig): """Configuration options available only to Galaxy admins. These values are used to generate the OpenAPI and Configuration YAML schema for the Galaxy configuration. @@ -4779,3 +4779,20 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) description="""The interval in seconds between attempts to delete all expired notifications from the database (every 24 hours by default). Runs in a Celery task.""", ), ] = 86400 + + +class UserConfigResponse(UserOnlyComputedGalaxyConfig, ExposableGalaxyConfig, ApiCompatibleConfigValues): + """Configuration values that can be exposed to users.""" + + pass + + +class AdminOnlyConfigResponse(AdminOnlyComputedGalaxyConfig, AdminExposableGalaxyConfig, ApiCompatibleConfigValues): + """Configuration values that can be exposed to admins.""" + + pass + + +AnyGalaxyConfigResponse = Annotated[ + Union[UserConfigResponse, AdminOnlyConfigResponse], Field(discriminator="is_admin_user") +] diff --git a/lib/galaxy/webapps/galaxy/api/configuration.py b/lib/galaxy/webapps/galaxy/api/configuration.py index f4cb353fb49f..18d085a3e48c 100644 --- a/lib/galaxy/webapps/galaxy/api/configuration.py +++ b/lib/galaxy/webapps/galaxy/api/configuration.py @@ -8,22 +8,13 @@ Dict, List, Optional, - Union, ) from fastapi import Path -from pydantic import Field -from typing_extensions import Annotated from galaxy.managers.configuration import ConfigurationManager from galaxy.managers.context import ProvidesUserContext -from galaxy.schema.configuration import ( - AdminExposableComputedGalaxyConfig, - AdminExposableGalaxyConfig, - ApiCompatibleConfigValues, - UserExposableComputedGalaxyConfig, - UserExposableGalaxyConfig, -) +from galaxy.schema.configuration import AnyGalaxyConfigResponse from galaxy.schema.fields import DecodedDatabaseIdField from galaxy.schema.schema import UserModel from galaxy.webapps.galaxy.api import ( @@ -49,25 +40,6 @@ ) -class ConfigResponse(UserExposableComputedGalaxyConfig, UserExposableGalaxyConfig, ApiCompatibleConfigValues): - """Configuration values that can be exposed to users.""" - - pass - - -class AdminOnlyConfigResponse( - AdminExposableComputedGalaxyConfig, AdminExposableGalaxyConfig, ApiCompatibleConfigValues -): - """Configuration values that can be exposed to admins.""" - - pass - - -AnyGalaxyConfigResponse = Annotated[ - Union[ConfigResponse, AdminOnlyConfigResponse], Field(discriminator="is_admin_user") -] - - @router.cbv class FastAPIConfiguration: configuration_manager: ConfigurationManager = depends(ConfigurationManager) From 6bcef0c72a0fa16b7bea254227035f9e208105d6 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Thu, 10 Aug 2023 14:58:14 +0200 Subject: [PATCH 17/28] Add missing valid values for simplified_workflow_run_ui_target_history --- client/src/schema/schema.ts | 4 ++-- lib/galaxy/schema/configuration.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/src/schema/schema.ts b/client/src/schema/schema.ts index 9dc606dbb49e..dbc9d10d5fe1 100644 --- a/client/src/schema/schema.ts +++ b/client/src/schema/schema.ts @@ -2274,7 +2274,7 @@ export interface components { * @default prefer_current * @enum {string} */ - simplified_workflow_run_ui_target_history?: "prefer_current" | "prefer_new"; + simplified_workflow_run_ui_target_history?: "current" | "new" | "prefer_current" | "prefer_new"; /** * Single User * @description If an e-mail address is specified here, it will hijack remote user mechanics @@ -10397,7 +10397,7 @@ export interface components { * @default prefer_current * @enum {string} */ - simplified_workflow_run_ui_target_history?: "prefer_current" | "prefer_new"; + simplified_workflow_run_ui_target_history?: "current" | "new" | "prefer_current" | "prefer_new"; /** * Single User * @description If an e-mail address is specified here, it will hijack remote user mechanics diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 6a0ae9c053b1..405939b1784f 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -585,7 +585,7 @@ class ExposableGalaxyConfig(Model): ] = "prefer" simplified_workflow_run_ui_target_history: Annotated[ - Literal["prefer_current", "prefer_new"], + Literal["current", "new", "prefer_current", "prefer_new"], Field( title="Simplified Workflow Run Ui Target History", description="""When the simplified workflow run form is rendered, should the invocation outputs From e7386a8e31826c08f83ec851832906c4d9d1bf9b Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Sun, 13 Aug 2023 11:58:41 +0200 Subject: [PATCH 18/28] Annotate more non-required options as optional --- lib/galaxy/schema/configuration.py | 227 ++++++++++++++--------------- 1 file changed, 113 insertions(+), 114 deletions(-) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 405939b1784f..0439f0ab9294 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -1034,7 +1034,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None templates_dir: Annotated[ - str, + Optional[str], Field( title="Templates Dir", description="""The directory containing custom templates for Galaxy, such as HTML/text email templates. Defaults to 'templates'. Default templates can be found in the Galaxy root under config/templates. These can be copied to if you wish to customize them.""", @@ -1042,7 +1042,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "templates" cache_dir: Annotated[ - str, + Optional[str], Field( title="Cache Dir", description="""Top level cache directory. Any other cache directories (tool_cache_data_dir, @@ -1231,7 +1231,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 3600 file_path: Annotated[ - str, + Optional[str], Field( title="File Path", description="""Where dataset files are stored. It must be accessible at the same path on any cluster @@ -1243,7 +1243,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "objects" new_file_path: Annotated[ - str, + Optional[str], Field( title="New File Path", description="""Where temporary files are stored. It must be accessible at the same path on any cluster @@ -1263,7 +1263,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 107374182400 tool_config_file: Annotated[ - Any, + Optional[Any], Field( title="Tool Config File", description="""Tool config files, defines what tools are available in Galaxy. @@ -1276,7 +1276,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "tool_conf.xml" shed_tool_config_file: Annotated[ - str, + Optional[str], Field( title="Shed Tool Config File", description="""Tool config file for tools installed from the Galaxy Tool Shed. Must @@ -1293,7 +1293,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "shed_tool_conf.xml" migrated_tools_config: Annotated[ - str, + Optional[str], Field( title="Migrated Tools Config", description="""This option is deprecated. @@ -1305,7 +1305,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "migrated_tools_conf.xml" integrated_tool_panel_config: Annotated[ - str, + Optional[str], Field( title="Integrated Tool Panel Config", description="""File that contains the XML section and tool tags from all tool panel config @@ -1319,7 +1319,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "integrated_tool_panel.xml" tool_path: Annotated[ - str, + Optional[str], Field( title="Tool Path", description="""Default path to the directory containing the tools defined in tool_conf.xml. @@ -1330,7 +1330,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "tools" tool_dependency_dir: Annotated[ - str, + Optional[str], Field( title="Tool Dependency Dir", description="""Various dependency resolver configuration parameters will have defaults set relative @@ -1345,7 +1345,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "dependencies" dependency_resolvers_config_file: Annotated[ - str, + Optional[str], Field( title="Dependency Resolvers Config File", description="""Specifies the path to the standalone dependency resolvers configuration file. This @@ -1386,7 +1386,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False conda_ensure_channels: Annotated[ - str, + Optional[str], Field( title="Conda Ensure Channels", description="""conda channels to enable by default @@ -1437,7 +1437,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False local_conda_mapping_file: Annotated[ - str, + Optional[str], Field( title="Local Conda Mapping File", description="""Path to a file that provides a mapping from abstract packages to concrete conda packages. @@ -1447,7 +1447,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "local_conda_mapping.yml" modules_mapping_files: Annotated[ - str, + Optional[str], Field( title="Modules Mapping Files", description="""Path to a file that provides a mapping from abstract packages to locally installed modules. @@ -1498,7 +1498,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True tool_sheds_config_file: Annotated[ - str, + Optional[str], Field( title="Tool Sheds Config File", description="""File containing the Galaxy Tool Sheds that should be made available to @@ -1555,7 +1555,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "false" short_term_storage_dir: Annotated[ - str, + Optional[str], Field( title="Short Term Storage Dir", description="""Location of files available for a short time as downloads (short term storage). @@ -1599,7 +1599,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 3600 file_sources_config_file: Annotated[ - str, + Optional[str], Field( title="File Sources Config File", description="""Configured FileSource plugins.""", @@ -1653,7 +1653,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None involucro_path: Annotated[ - str, + Optional[str], Field( title="Involucro Path", description="""involucro is a tool used to build Docker or Singularity containers for tools from Conda @@ -1676,7 +1676,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True mulled_channels: Annotated[ - str, + Optional[str], Field( title="Mulled Channels", description="""Conda channels to use when building Docker or Singularity containers using involucro.""", @@ -1708,7 +1708,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 12 tool_data_table_config_path: Annotated[ - str, + Optional[str], Field( title="Tool Data Table Config Path", description="""XML config file that contains data table entries for the @@ -1719,7 +1719,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "tool_data_table_conf.xml" shed_tool_data_table_config: Annotated[ - str, + Optional[str], Field( title="Shed Tool Data Table Config", description="""XML config file that contains additional data table entries for the @@ -1733,7 +1733,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "shed_tool_data_table_conf.xml" tool_data_path: Annotated[ - str, + Optional[str], Field( title="Tool Data Path", description="""Directory where data used by tools is located. See the samples in that @@ -1777,7 +1777,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None build_sites_config_file: Annotated[ - str, + Optional[str], Field( title="Build Sites Config File", description="""File that defines the builds (dbkeys) available at sites used by display applications @@ -1787,7 +1787,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "build_sites.yml" builds_file_path: Annotated[ - str, + Optional[str], Field( title="Builds File Path", description="""File containing old-style genome builds. @@ -1798,7 +1798,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "shared/ucsc/builds.txt" len_file_path: Annotated[ - str, + Optional[str], Field( title="Len File Path", description="""Directory where chrom len files are kept, currently mainly used by trackster. @@ -1809,7 +1809,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "shared/ucsc/chrom" datatypes_config_file: Annotated[ - str, + Optional[str], Field( title="Datatypes Config File", description="""Datatypes config file(s), defines what data (file) types are available in @@ -1833,7 +1833,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True visualization_plugins_directory: Annotated[ - str, + Optional[str], Field( title="Visualization Plugins Directory", description="""Visualizations config directory: where to look for individual visualization @@ -1844,7 +1844,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "config/plugins/visualizations" tour_config_dir: Annotated[ - str, + Optional[str], Field( title="Tour Config Dir", description="""Interactive tour directory: where to store interactive tour definition files. @@ -1857,7 +1857,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "config/plugins/tours" webhooks_dir: Annotated[ - str, + Optional[str], Field( title="Webhooks Dir", description="""Webhooks directory: where to store webhooks - plugins to extend the Galaxy UI. @@ -1870,7 +1870,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "config/plugins/webhooks" job_working_directory: Annotated[ - str, + Optional[str], Field( title="Job Working Directory", description="""Each job is given a unique empty directory as its current working directory. @@ -1883,7 +1883,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "jobs_directory" template_cache_path: Annotated[ - str, + Optional[str], Field( title="Template Cache Path", description="""Mako templates are compiled as needed and cached for reuse, this directory is @@ -1919,7 +1919,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 0.25 default_job_shell: Annotated[ - str, + Optional[str], Field( title="Default Job Shell", description="""Set the default shell used by non-containerized jobs Galaxy-wide. This @@ -1946,7 +1946,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False tool_cache_data_dir: Annotated[ - str, + Optional[str], Field( title="Tool Cache Data Dir", description="""Tool related caching. Fully expanded tools and metadata will be stored at this path. @@ -1957,7 +1957,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "tool_cache" tool_search_index_dir: Annotated[ - str, + Optional[str], Field( title="Tool Search Index Dir", description="""Directory in which the toolbox search index is stored.""", @@ -1995,7 +1995,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False biotools_service_cache_type: Annotated[ - str, + Optional[str], Field( title="Biotools Service Cache Type", description="""bio.tools web service request related caching. The type of beaker cache used.""", @@ -2003,7 +2003,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "file" biotools_service_cache_data_dir: Annotated[ - str, + Optional[str], Field( title="Biotools Service Cache Data Dir", description="""bio.tools web service request related caching. The data directory to point beaker cache at.""", @@ -2011,7 +2011,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "biotools/data" biotools_service_cache_lock_dir: Annotated[ - str, + Optional[str], Field( title="Biotools Service Cache Lock Dir", description="""bio.tools web service request related caching. The lock directory to point beaker cache at.""", @@ -2032,7 +2032,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None biotools_service_cache_table_name: Annotated[ - str, + Optional[str], Field( title="Biotools Service Cache Table Name", description="""When biotools_service_cache_type = ext:database, this is @@ -2054,7 +2054,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None citation_cache_type: Annotated[ - str, + Optional[str], Field( title="Citation Cache Type", description="""Citation related caching. Tool citations information maybe fetched from @@ -2065,7 +2065,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "file" citation_cache_data_dir: Annotated[ - str, + Optional[str], Field( title="Citation Cache Data Dir", description="""Citation related caching. Tool citations information maybe fetched from @@ -2076,7 +2076,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "citations/data" citation_cache_lock_dir: Annotated[ - str, + Optional[str], Field( title="Citation Cache Lock Dir", description="""Citation related caching. Tool citations information maybe fetched from @@ -2099,7 +2099,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None citation_cache_table_name: Annotated[ - str, + Optional[str], Field( title="Citation Cache Table Name", description="""When citation_cache_type = ext:database, this is @@ -2121,7 +2121,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None mulled_resolution_cache_type: Annotated[ - str, + Optional[str], Field( title="Mulled Resolution Cache Type", description="""Mulled resolution caching. Mulled resolution uses external APIs of quay.io, these @@ -2131,7 +2131,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "file" mulled_resolution_cache_data_dir: Annotated[ - str, + Optional[str], Field( title="Mulled Resolution Cache Data Dir", description="""Data directory used by beaker for caching mulled resolution requests.""", @@ -2139,7 +2139,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "mulled/data" mulled_resolution_cache_lock_dir: Annotated[ - str, + Optional[str], Field( title="Mulled Resolution Cache Lock Dir", description="""Lock directory used by beaker for caching mulled resolution requests.""", @@ -2168,7 +2168,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None mulled_resolution_cache_table_name: Annotated[ - str, + Optional[str], Field( title="Mulled Resolution Cache Table Name", description="""When mulled_resolution_cache_type = ext:database, this is @@ -2190,7 +2190,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None object_store_config_file: Annotated[ - str, + Optional[str], Field( title="Object Store Config File", description="""Configuration file for the object store @@ -2232,7 +2232,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 600 object_store_cache_path: Annotated[ - str, + Optional[str], Field( title="Object Store Cache Path", description="""Default cache path for caching object stores if cache not configured for @@ -2309,7 +2309,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False mailing_join_subject: Annotated[ - str, + Optional[str], Field( title="Mailing Join Subject", description="""The subject of the email sent to the mailing list join address. See the @@ -2319,7 +2319,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "Join Mailing List" mailing_join_body: Annotated[ - str, + Optional[str], Field( title="Mailing Join Body", description="""The body of the email sent to the mailing list join address. See the @@ -2453,7 +2453,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 0 display_servers: Annotated[ - str, + Optional[str], Field( title="Display Servers", description="""Galaxy can display data at various external browsers. These options specify @@ -2512,7 +2512,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None interactivetools_base_path: Annotated[ - str, + Optional[str], Field( title="Interactivetools Base Path", description="""Base path for interactive tools running at a subpath without a subdomain. Defaults to "/".""", @@ -2520,7 +2520,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "/" interactivetools_map: Annotated[ - str, + Optional[str], Field( title="Interactivetools Map", description="""Map for interactivetool proxy.""", @@ -2528,7 +2528,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "interactivetools_map.sqlite" interactivetools_prefix: Annotated[ - str, + Optional[str], Field( title="Interactivetools Prefix", description="""Prefix to use in the formation of the subdomain or path for interactive tools""", @@ -2570,7 +2570,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True pretty_datetime_format: Annotated[ - str, + Optional[str], Field( title="Pretty Datetime Format", description="""Format string used when showing date and time information. @@ -2585,7 +2585,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "$locale (UTC)" trs_servers_config_file: Annotated[ - str, + Optional[str], Field( title="Trs Servers Config File", description="""Allow import of workflows from the TRS servers configured in @@ -2600,7 +2600,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "trs_servers_conf.yml" user_preferences_extra_conf_path: Annotated[ - str, + Optional[str], Field( title="User Preferences Extra Conf Path", description="""Location of the configuration file containing extra user preferences.""", @@ -2608,7 +2608,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "user_preferences_extra_conf.yml" galaxy_url_prefix: Annotated[ - str, + Optional[str], Field( title="Galaxy Url Prefix", description="""URL prefix for Galaxy application. If Galaxy should be served under a prefix set this to @@ -2618,7 +2618,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "/" galaxy_infrastructure_url: Annotated[ - str, + Optional[str], Field( title="Galaxy Infrastructure Url", description="""URL (with schema http/https) of the Galaxy instance as accessible @@ -2672,7 +2672,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 360 static_dir: Annotated[ - str, + Optional[str], Field( title="Static Dir", description="""Serve static content, which must be enabled if you're not serving it via a @@ -2684,7 +2684,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "static/" static_images_dir: Annotated[ - str, + Optional[str], Field( title="Static Images Dir", description="""Serve static content, which must be enabled if you're not serving it via a @@ -2695,7 +2695,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ), ] = "static/images" static_favicon_dir: Annotated[ - str, + Optional[str], Field( title="Static Favicon Dir", description="""Serve static content, which must be enabled if you're not serving it via a @@ -2707,7 +2707,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "static/favicon.ico" static_scripts_dir: Annotated[ - str, + Optional[str], Field( title="Static Scripts Dir", description="""Serve static content, which must be enabled if you're not serving it via a @@ -2719,7 +2719,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "static/scripts/" static_style_dir: Annotated[ - str, + Optional[str], Field( title="Static Style Dir", description="""Serve static content, which must be enabled if you're not serving it via a @@ -2731,7 +2731,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "static/style" static_robots_txt: Annotated[ - str, + Optional[str], Field( title="Static Robots Txt", description="""Serve static content, which must be enabled if you're not serving it via a @@ -2746,8 +2746,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) int, Field( title="Display Chunk Size", - description="""Incremental Display Options -""", + description="""Incremental Display Options""", ), ] = 65536 @@ -2802,7 +2801,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False x_frame_options: Annotated[ - str, + Optional[str], Field( title="X Frame Options", description="""The following default adds a header to web request responses that @@ -2890,7 +2889,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "node" dynamic_proxy_session_map: Annotated[ - str, + Optional[str], Field( title="Dynamic Proxy Session Map", description="""The NodeJS dynamic proxy can use an SQLite database or a JSON file for IPC, @@ -2910,7 +2909,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 8800 dynamic_proxy_bind_ip: Annotated[ - str, + Optional[str], Field( title="Dynamic Proxy Bind Ip", description="""Set the port and IP for the dynamic proxy to bind to, this must match @@ -2938,7 +2937,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False dynamic_proxy_prefix: Annotated[ - str, + Optional[str], Field( title="Dynamic Proxy Prefix", description="""Additionally, when the dynamic proxy is proxied by an upstream server, you'll @@ -2972,7 +2971,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 10 dynamic_proxy_golang_docker_address: Annotated[ - str, + Optional[str], Field( title="Dynamic Proxy Golang Docker Address", description="""The golang proxy needs to know how to talk to your docker daemon. Currently @@ -3004,7 +3003,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True log_destination: Annotated[ - str, + Optional[str], Field( title="Log Destination", description="""Log destination, defaults to special value "stdout" that logs to standard output. If set to anything else, @@ -3015,7 +3014,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "stdout" log_rotate_size: Annotated[ - str, + Optional[str], Field( title="Log Rotate Size", description="""Size of log file at which size it will be rotated as per the documentation in @@ -3039,7 +3038,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 0 log_level: Annotated[ - str, + Optional[Literal["NOTSET", "TRACE", "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]], Field( title="Log Level", description="""Verbosity of console log messages. Acceptable values can be found here: @@ -3106,7 +3105,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False fluent_host: Annotated[ - str, + Optional[str], Field( title="Fluent Host", description="""Fluentd configuration. Various events can be logged to the fluentd instance @@ -3138,7 +3137,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True sanitize_allowlist_file: Annotated[ - str, + Optional[str], Field( title="Sanitize Allowlist File", description="""Datasets created by tools listed in this file are trusted and will not have @@ -3263,7 +3262,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 20 heartbeat_log: Annotated[ - str, + Optional[str], Field( title="Heartbeat Log", description="""Heartbeat log filename. Can accept the template variables {server_name} and {pid}""", @@ -3284,7 +3283,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None sentry_event_level: Annotated[ - str, + Optional[str], Field( title="Sentry Event Level", description="""Determines the minimum log level that will be sent as an event to Sentry. @@ -3343,7 +3342,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 8125 statsd_prefix: Annotated[ - str, + Optional[str], Field( title="Statsd Prefix", description="""Log to statsd @@ -3586,7 +3585,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 0.2 tool_test_data_directories: Annotated[ - str, + Optional[str], Field( title="Tool Test Data Directories", description="""Set tool test data directory. The test framework sets this value to @@ -3600,7 +3599,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "test-data" id_secret: Annotated[ - str, + Optional[str], Field( title="Id Secret", description="""Galaxy encodes various internal values when these values will be output in @@ -3625,7 +3624,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None remote_user_header: Annotated[ - str, + Optional[str], Field( title="Remote User Header", description="""If use_remote_user is enabled, the header that the upstream proxy provides @@ -3638,7 +3637,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "HTTP_REMOTE_USER" remote_user_secret: Annotated[ - str, + Optional[str], Field( title="Remote User Secret", description="""If use_remote_user is enabled, anyone who can log in to the Galaxy host may @@ -3763,7 +3762,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False edam_panel_views: Annotated[ - str, + Optional[str], Field( title="Edam Panel Views", description="""Comma-separated list of the EDAM panel views to load - choose from merged, operations, topics. @@ -3774,7 +3773,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "operations,topics" edam_toolbox_ontology_path: Annotated[ - str, + Optional[str], Field( title="Edam Toolbox Ontology Path", description="""Sets the path to EDAM ontology file - if the path doesn't exist PyPI package data will be loaded.""", @@ -3782,7 +3781,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "EDAM.tsv" panel_views_dir: Annotated[ - str, + Optional[str], Field( title="Panel Views Dir", description="""Directory to check out for toolbox tool panel views. The path is relative to the @@ -3793,7 +3792,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "config/plugins/activities" default_workflow_export_format: Annotated[ - str, + Optional[str], Field( title="Default Workflow Export Format", description="""Default format for the export of workflows. Possible values are 'ga' @@ -3871,7 +3870,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False oidc_config_file: Annotated[ - str, + Optional[str], Field( title="Oidc Config File", description="""Sets the path to OIDC configuration file.""", @@ -3879,7 +3878,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "oidc_config.xml" oidc_backends_config_file: Annotated[ - str, + Optional[str], Field( title="Oidc Backends Config File", description="""Sets the path to OIDC backends configuration file.""", @@ -3887,7 +3886,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "oidc_backends_config.xml" auth_config_file: Annotated[ - str, + Optional[str], Field( title="Auth Config File", description="""XML config file that allows the use of different authentication providers @@ -4006,7 +4005,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None ftp_upload_dir_identifier: Annotated[ - str, + Optional[str], Field( title="Ftp Upload Dir Identifier", description="""User attribute to use as subdirectory in calculating default ftp_upload_dir @@ -4051,7 +4050,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False job_metrics_config_file: Annotated[ - str, + Optional[str], Field( title="Job Metrics Config File", description="""XML config file that contains the job metric collection configuration.""", @@ -4085,7 +4084,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False data_manager_config_file: Annotated[ - str, + Optional[str], Field( title="Data Manager Config File", description="""File where Data Managers are configured (.sample used if default does not exist).""", @@ -4093,7 +4092,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "data_manager_conf.xml" shed_data_manager_config_file: Annotated[ - str, + Optional[str], Field( title="Shed Data Manager Config File", description="""File where Tool Shed based Data Managers are configured. This file will be created @@ -4329,7 +4328,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 0 tool_evaluation_strategy: Annotated[ - str, + Optional[Literal["local", "remote"]], Field( title="Tool Evaluation Strategy", description="""Determines which process will evaluate the tool command line. If set to "local" the tool command @@ -4343,7 +4342,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "local" preserve_python_environment: Annotated[ - str, + Optional[Literal["legacy_only", "legacy_and_local", "always"]], Field( title="Preserve Python Environment", description="""In the past Galaxy would preserve its Python environment when running jobs ( @@ -4361,7 +4360,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "legacy_only" cleanup_job: Annotated[ - str, + Optional[Literal["always", "onsuccess", "never"]], Field( title="Cleanup Job", description="""Clean up various bits of jobs left on the filesystem after completion. These @@ -4414,7 +4413,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None real_system_username: Annotated[ - str, + Optional[str], Field( title="Real System Username", description="""When running DRMAA jobs as the Galaxy user @@ -4449,7 +4448,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None markdown_export_css: Annotated[ - str, + Optional[str], Field( title="Markdown Export Css", description="""CSS file to apply to all Markdown exports to PDF - currently used by @@ -4459,7 +4458,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "markdown_export.css" markdown_export_css_pages: Annotated[ - str, + Optional[str], Field( title="Markdown Export Css Pages", description="""CSS file to apply to "Galaxy Page" exports to PDF. Generally prefer @@ -4470,7 +4469,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "markdown_export_pages.css" markdown_export_css_invocation_reports: Annotated[ - str, + Optional[str], Field( title="Markdown Export Css Invocation Reports", description="""CSS file to apply to invocation report exports to PDF. Generally prefer @@ -4535,7 +4534,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "" job_resource_params_file: Annotated[ - str, + Optional[str], Field( title="Job Resource Params File", description="""Optional file containing job resource data entry fields definition. @@ -4547,7 +4546,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "job_resource_params_conf.xml" workflow_resource_params_file: Annotated[ - str, + Optional[str], Field( title="Workflow Resource Params File", description="""Similar to the above parameter, workflows can describe parameters used to @@ -4576,7 +4575,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None workflow_schedulers_config_file: Annotated[ - str, + Optional[str], Field( title="Workflow Schedulers Config File", description="""Optional configuration file similar to `job_config_file` to specify @@ -4632,7 +4631,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None user_tool_filters: Annotated[ - str, + Optional[str], Field( title="User Tool Filters", description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) @@ -4642,7 +4641,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "examples:restrict_upload_to_admins, examples:restrict_encode" user_tool_section_filters: Annotated[ - str, + Optional[str], Field( title="User Tool Section Filters", description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) @@ -4652,7 +4651,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "examples:restrict_text" user_tool_label_filters: Annotated[ - str, + Optional[str], Field( title="User Tool Label Filters", description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) @@ -4662,7 +4661,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "examples:restrict_upload_to_admins, examples:restrict_encode" toolbox_filter_base_modules: Annotated[ - str, + Optional[str], Field( title="Toolbox Filter Base Modules", description="""The base module(s) that are searched for modules for toolbox filtering @@ -4672,7 +4671,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "galaxy.tools.filters,galaxy.tools.toolbox.filters,galaxy.tool_util.toolbox.filters" amqp_internal_connection: Annotated[ - str, + Optional[str], Field( title="Amqp Internal Connection", description="""Galaxy uses AMQP internally for communicating between processes. For @@ -4731,7 +4730,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True error_report_file: Annotated[ - str, + Optional[str], Field( title="Error Report File", description="""Path to error reports configuration file.""", @@ -4739,7 +4738,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "error_report.yml" tool_destinations_config_file: Annotated[ - str, + Optional[str], Field( title="Tool Destinations Config File", description="""Path to dynamic tool destinations configuration file.""", @@ -4747,7 +4746,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "tool_destinations.yml" vault_config_file: Annotated[ - str, + Optional[str], Field( title="Vault Config File", description="""Vault config file.""", @@ -4763,7 +4762,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True themes_config_file: Annotated[ - str, + Optional[str], Field( title="Themes Config File", description="""Optional file containing one or more themes for galaxy. If several themes From cca9481a3bd6cda82869244066d4ae32ef4253bf Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Tue, 22 Aug 2023 09:11:32 +0200 Subject: [PATCH 19/28] Add tool_shed_urls to admin computed configuration --- lib/galaxy/schema/configuration.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 0439f0ab9294..414a6e834497 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -23,7 +23,11 @@ class ComputedGalaxyConfig(Model): - """Contains Galaxy configuration options computed at runtime.""" + """Contains Galaxy configuration options computed at runtime. + + These values are used to generate the OpenAPI schema and are excluded from the YAML schema + of the configuration file. + """ lims_doc_url: Annotated[ Optional[str], @@ -180,6 +184,15 @@ class AdminOnlyComputedGalaxyConfig(ComputedGalaxyConfig): is_admin_user: Annotated[Literal[True], IsAdminUserField] = True + tool_shed_urls: Annotated[ + List[str], + Field( + title="Tool Shed Urls", + description="""List of Tool Shed URLs to search for tools. This is a list of +fully qualified URLs (e.g., https://toolshed.g2.bx.psu.edu/).""", + ), + ] = [] + class UserOnlyComputedGalaxyConfig(ComputedGalaxyConfig): """Contains Galaxy configuration options computed at runtime that can be exposed to users.""" From e4a8cbb155c4cca9ab1e15e29b002822097eaefa Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 23 Aug 2023 19:13:22 +0200 Subject: [PATCH 20/28] Remove unused delay_tool_initialization option --- lib/galaxy/schema/configuration.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 414a6e834497..93e910ab02fa 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -1977,16 +1977,6 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ), ] = "tool_search_index" - delay_tool_initialization: Annotated[ - bool, - Field( - title="Delay Tool Initialization", - description="""Set this to true to delay parsing of tool inputs and outputs until they are needed. -This results in faster startup times but uses more memory when using forked Galaxy processes. -""", - ), - ] = False - biotools_content_directory: Annotated[ Optional[str], Field( From 8910fe6974adbebed35f517b308acdc4bf1833e5 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 23 Aug 2023 20:11:01 +0200 Subject: [PATCH 21/28] Annotate more non-required config params as optional --- lib/galaxy/schema/configuration.py | 275 ++++++++++++++--------------- 1 file changed, 137 insertions(+), 138 deletions(-) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 93e910ab02fa..9834eb74624d 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -1087,7 +1087,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None database_engine_option_pool_size: Annotated[ - int, + Optional[int], Field( title="Database Engine Option Pool Size", description="""If the server logs errors about not having enough database pool connections, @@ -1096,7 +1096,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 5 database_engine_option_max_overflow: Annotated[ - int, + Optional[int], Field( title="Database Engine Option Max Overflow", description="""If the server logs errors about not having enough database pool connections, @@ -1105,7 +1105,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 10 database_engine_option_pool_recycle: Annotated[ - int, + Optional[int], Field( title="Database Engine Option Pool Recycle", description="""If using MySQL and the server logs the error "MySQL server has gone away", @@ -1114,7 +1114,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = -1 database_engine_option_server_side_cursors: Annotated[ - bool, + Optional[bool], Field( title="Database Engine Option Server Side Cursors", description="""If large database query results are causing memory or response time issues in @@ -1125,7 +1125,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False database_query_profiling_proxy: Annotated[ - bool, + Optional[bool], Field( title="Database Query Profiling Proxy", description="""Log all database transactions, can be useful for debugging and performance @@ -1147,7 +1147,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None database_log_query_counts: Annotated[ - bool, + Optional[bool], Field( title="Database Log Query Counts", description="""Log number of SQL queries executed and total time spent dispatching SQL statements for @@ -1161,7 +1161,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False slow_query_log_threshold: Annotated[ - float, + Optional[float], Field( title="Slow Query Log Threshold", description="""Slow query logging. Queries slower than the threshold indicated below will @@ -1172,7 +1172,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 0.0 enable_per_request_sql_debugging: Annotated[ - bool, + Optional[bool], Field( title="Enable Per Request Sql Debugging", description="""Enables a per request sql debugging option. If this is set to true, @@ -1200,7 +1200,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None database_auto_migrate: Annotated[ - bool, + Optional[bool], Field( title="Database Auto Migrate", description="""Setting the following option to true will cause Galaxy to automatically @@ -1210,7 +1210,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False database_wait: Annotated[ - bool, + Optional[bool], Field( title="Database Wait", description="""Wait for database to become available instead of failing immediately.""", @@ -1218,7 +1218,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False database_wait_attempts: Annotated[ - int, + Optional[int], Field( title="Database Wait Attempts", description="""Number of attempts before failing if database_wait is enabled.""", @@ -1226,7 +1226,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 60 database_wait_sleep: Annotated[ - float, + Optional[float], Field( title="Database Wait Sleep", description="""Time to sleep between attempts if database_wait is enabled (in seconds).""", @@ -1234,7 +1234,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 1.0 history_audit_table_prune_interval: Annotated[ - int, + Optional[int], Field( title="History Audit Table Prune Interval", description="""Time (in seconds) between attempts to remove old rows from the history_audit database table. @@ -1266,7 +1266,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "tmp" maximum_upload_file_size: Annotated[ - int, + Optional[int], Field( title="Maximum Upload File Size", description="""Maximum size of uploadable files, specified in bytes (default: 100GB). @@ -1391,7 +1391,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None conda_debug: Annotated[ - bool, + Optional[bool], Field( title="Conda Debug", description="""Pass debug flag to conda commands.""", @@ -1409,7 +1409,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "conda-forge,bioconda,defaults" conda_use_local: Annotated[ - bool, + Optional[bool], Field( title="Conda Use Local", description="""Use locally-built conda packages.""", @@ -1417,7 +1417,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False conda_auto_install: Annotated[ - bool, + Optional[bool], Field( title="Conda Auto Install", description="""Set to true to instruct Galaxy to look for and install missing tool @@ -1427,7 +1427,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False conda_auto_init: Annotated[ - bool, + Optional[bool], Field( title="Conda Auto Init", description="""Set to true to instruct Galaxy to install Conda from the web automatically @@ -1437,7 +1437,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True conda_copy_dependencies: Annotated[ - bool, + Optional[bool], Field( title="Conda Copy Dependencies", description="""You must set this to true if conda_prefix and job_working_directory are not on the same @@ -1470,7 +1470,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "environment_modules_mapping.yml" use_cached_dependency_manager: Annotated[ - bool, + Optional[bool], Field( title="Use Cached Dependency Manager", description="""Certain dependency resolvers (namely Conda) take a considerable amount of @@ -1500,7 +1500,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None precache_dependencies: Annotated[ - bool, + Optional[bool], Field( title="Precache Dependencies", description="""By default, when using a cached dependency manager, the dependencies are cached @@ -1582,7 +1582,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "short_term_web_storage" short_term_storage_default_duration: Annotated[ - int, + Optional[int], Field( title="Short Term Storage Default Duration", description="""Default duration before short term web storage files will be cleaned up by Galaxy @@ -1592,7 +1592,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 86400 short_term_storage_maximum_duration: Annotated[ - int, + Optional[int], Field( title="Short Term Storage Maximum Duration", description="""The maximum duration short term storage files can hosted before they will be marked for @@ -1602,7 +1602,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 0 short_term_storage_cleanup_interval: Annotated[ - int, + Optional[int], Field( title="Short Term Storage Cleanup Interval", description="""How many seconds between instances of short term storage being cleaned up in default @@ -1628,7 +1628,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None enable_mulled_containers: Annotated[ - bool, + Optional[bool], Field( title="Enable Mulled Containers", description="""Enable Galaxy to fetch containers registered with quay.io generated @@ -1679,7 +1679,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "involucro" involucro_auto_init: Annotated[ - bool, + Optional[bool], Field( title="Involucro Auto Init", description="""Install involucro as needed to build Docker or Singularity containers for tools. Ignored if @@ -1697,7 +1697,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "conda-forge,bioconda" enable_tool_shed_check: Annotated[ - bool, + Optional[bool], Field( title="Enable Tool Shed Check", description="""Enable automatic polling of relative tool sheds to see if any updates @@ -1709,7 +1709,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False hours_between_check: Annotated[ - int, + Optional[int], Field( title="Hours Between Check", description="""Enable automatic polling of relative tool sheds to see if any updates @@ -1834,7 +1834,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "datatypes_conf.xml" sniff_compressed_dynamic_datatypes_default: Annotated[ - bool, + Optional[bool], Field( title="Sniff Compressed Dynamic Datatypes Default", description="""Enable sniffing of compressed datatypes. This can be configured/overridden @@ -1906,7 +1906,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "compiled_templates" check_job_script_integrity: Annotated[ - bool, + Optional[bool], Field( title="Check Job Script Integrity", description="""Set to false to disable various checks Galaxy will do to ensure it @@ -1916,7 +1916,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True check_job_script_integrity_count: Annotated[ - int, + Optional[int], Field( title="Check Job Script Integrity Count", description="""Number of checks to execute if check_job_script_integrity is enabled.""", @@ -1924,7 +1924,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 35 check_job_script_integrity_sleep: Annotated[ - float, + Optional[float], Field( title="Check Job Script Integrity Sleep", description="""Time to sleep between checks if check_job_script_integrity is enabled (in seconds).""", @@ -1946,7 +1946,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "/bin/bash" enable_tool_document_cache: Annotated[ - bool, + Optional[bool], Field( title="Enable Tool Document Cache", description="""Whether to enable the tool document cache. This cache stores @@ -1988,7 +1988,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None biotools_use_api: Annotated[ - bool, + Optional[bool], Field( title="Biotools Use Api", description="""Set this to true to attempt to resolve bio.tools metadata for tools for tool not @@ -2150,11 +2150,10 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "mulled/locks" mulled_resolution_cache_expire: Annotated[ - int, + Optional[int], Field( title="Mulled Resolution Cache Expire", - description="""Seconds until the beaker cache is considered old and a new value is created. -""", + description="""Seconds until the beaker cache is considered old and a new value is created.""", ), ] = 3600 @@ -2203,7 +2202,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "object_store_conf.xml" object_store_cache_monitor_driver: Annotated[ - Literal["auto", "external", "celery", "inprocess"], + Optional[Literal["auto", "external", "celery", "inprocess"]], Field( title="Object Store Cache Monitor Driver", description="""Specify where cache monitoring is driven for caching object stores @@ -2222,7 +2221,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "auto" object_store_cache_monitor_interval: Annotated[ - int, + Optional[int], Field( title="Object Store Cache Monitor Interval", description="""For object store cache monitoring done by Galaxy, this is the interval between @@ -2245,7 +2244,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "object_store_cache" object_store_cache_size: Annotated[ - int, + Optional[int], Field( title="Object Store Cache Size", description="""Default cache size for caching object stores if cache not configured for @@ -2304,7 +2303,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None smtp_ssl: Annotated[ - bool, + Optional[bool], Field( title="Smtp Ssl", description="""If your SMTP server requires SSL from the beginning of the connection""", @@ -2410,7 +2409,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None user_activation_on: Annotated[ - bool, + Optional[bool], Field( title="User Activation On", description="""User account activation feature global flag. If set to false, the rest of @@ -2422,7 +2421,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False activation_grace_period: Annotated[ - int, + Optional[int], Field( title="Activation Grace Period", description="""Activation grace period (in hours). Activation is not forced (login is not @@ -2433,7 +2432,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 3 password_expiration_period: Annotated[ - int, + Optional[int], Field( title="Password Expiration Period", description="""Password expiration period (in days). Users are required to change their @@ -2445,7 +2444,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 0 session_duration: Annotated[ - int, + Optional[int], Field( title="Session Duration", description="""Galaxy Session Timeout @@ -2480,7 +2479,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "hgw1.cse.ucsc.edu,hgw2.cse.ucsc.edu,hgw3.cse.ucsc.edu,hgw4.cse.ucsc.edu,hgw5.cse.ucsc.edu,hgw6.cse.ucsc.edu,hgw7.cse.ucsc.edu,hgw8.cse.ucsc.edu,lowepub.cse.ucsc.edu" enable_old_display_applications: Annotated[ - bool, + Optional[bool], Field( title="Enable Old Display Applications", description="""Set this to false to disable the old-style display applications that @@ -2497,7 +2496,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True interactivetools_upstream_proxy: Annotated[ - bool, + Optional[bool], Field( title="Interactivetools Upstream Proxy", description="""Set this to false to redirect users of Interactive tools directly to the Interactive tools proxy. `interactivetools_upstream_proxy` should only be set to false in development.""", @@ -2539,7 +2538,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "interactivetool" interactivetools_shorten_url: Annotated[ - bool, + Optional[bool], Field( title="Interactivetools Shorten Url", description="""Shorten the uuid portion of the subdomain or path for interactive tools. @@ -2550,7 +2549,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False retry_interactivetool_metadata_internally: Annotated[ - bool, + Optional[bool], Field( title="Retry Interactivetool Metadata Internally", description="""Galaxy Interactive Tools (GxITs) can be stopped from within the Galaxy @@ -2563,7 +2562,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True display_galaxy_brand: Annotated[ - bool, + Optional[bool], Field( title="Display Galaxy Brand", description="""This option has been deprecated, use the `logo_src` instead to change the @@ -2636,7 +2635,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "http://localhost:8080" galaxy_infrastructure_web_port: Annotated[ - int, + Optional[int], Field( title="Galaxy Infrastructure Web Port", description="""If the above URL cannot be determined ahead of time in dynamic environments @@ -2651,7 +2650,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 8080 static_enabled: Annotated[ - bool, + Optional[bool], Field( title="Static Enabled", description="""Serve static content, which must be enabled if you're not serving it via a @@ -2663,7 +2662,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True static_cache_time: Annotated[ - int, + Optional[int], Field( title="Static Cache Time", description="""Serve static content, which must be enabled if you're not serving it via a @@ -2746,7 +2745,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "static/robots.txt" display_chunk_size: Annotated[ - int, + Optional[int], Field( title="Display Chunk Size", description="""Incremental Display Options""", @@ -2754,7 +2753,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 65536 apache_xsendfile: Annotated[ - bool, + Optional[bool], Field( title="Apache Xsendfile", description="""For help on configuring the Advanced proxy features, see: @@ -2778,7 +2777,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None upstream_gzip: Annotated[ - bool, + Optional[bool], Field( title="Upstream Gzip", description="""If using compression in the upstream proxy server, use this option to disable @@ -2790,7 +2789,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False upstream_mod_zip: Annotated[ - bool, + Optional[bool], Field( title="Upstream Mod Zip", description="""If using the mod-zip module in nginx, use this option to assemble @@ -2867,7 +2866,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None dynamic_proxy_manage: Annotated[ - bool, + Optional[bool], Field( title="Dynamic Proxy Manage", description="""Have Galaxy manage dynamic proxy component for routing requests to other @@ -2881,7 +2880,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True dynamic_proxy: Annotated[ - Literal["node", "golang"], + Optional[Literal["node", "golang"]], Field( title="Dynamic Proxy", description="""As of 16.04 Galaxy supports multiple proxy types. The original NodeJS @@ -2902,7 +2901,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "session_map.sqlite" dynamic_proxy_bind_port: Annotated[ - int, + Optional[int], Field( title="Dynamic Proxy Bind Port", description="""Set the port and IP for the dynamic proxy to bind to, this must match @@ -2922,7 +2921,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "0.0.0.0" dynamic_proxy_debug: Annotated[ - bool, + Optional[bool], Field( title="Dynamic Proxy Debug", description="""Enable verbose debugging of Galaxy-managed dynamic proxy.""", @@ -2930,7 +2929,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False dynamic_proxy_external_proxy: Annotated[ - bool, + Optional[bool], Field( title="Dynamic Proxy External Proxy", description="""The dynamic proxy is proxied by an external proxy (e.g. apache frontend to @@ -2952,7 +2951,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "gie_proxy" dynamic_proxy_golang_noaccess: Annotated[ - int, + Optional[int], Field( title="Dynamic Proxy Golang Noaccess", description="""This attribute governs the minimum length of time between consecutive HTTP/WS @@ -2963,7 +2962,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 60 dynamic_proxy_golang_clean_interval: Annotated[ - int, + Optional[int], Field( title="Dynamic Proxy Golang Clean Interval", description="""In order to kill containers, the golang proxy has to check at some interval @@ -2996,7 +2995,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None auto_configure_logging: Annotated[ - bool, + Optional[bool], Field( title="Auto Configure Logging", description="""If true, Galaxy will attempt to configure a simple root logger if a @@ -3029,7 +3028,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "0" log_rotate_count: Annotated[ - int, + Optional[int], Field( title="Log Rotate Count", description="""Number of log file backups to keep, per the documentation in @@ -3063,7 +3062,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None database_engine_option_echo: Annotated[ - bool, + Optional[bool], Field( title="Database Engine Option Echo", description="""Print database operations to the server log (warning, quite verbose!).""", @@ -3071,7 +3070,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False database_engine_option_echo_pool: Annotated[ - bool, + Optional[bool], Field( title="Database Engine Option Echo Pool", description="""Print database pool operations to the server log (warning, quite verbose!).""", @@ -3079,7 +3078,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False log_events: Annotated[ - bool, + Optional[bool], Field( title="Log Events", description="""Turn on logging of application events and some user events to the database.""", @@ -3087,7 +3086,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False log_actions: Annotated[ - bool, + Optional[bool], Field( title="Log Actions", description="""Turn on logging of user actions to the database. Actions currently logged @@ -3098,7 +3097,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False fluent_log: Annotated[ - bool, + Optional[bool], Field( title="Fluent Log", description="""Fluentd configuration. Various events can be logged to the fluentd instance @@ -3118,7 +3117,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "localhost" fluent_port: Annotated[ - int, + Optional[int], Field( title="Fluent Port", description="""Fluentd configuration. Various events can be logged to the fluentd instance @@ -3128,7 +3127,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 24224 sanitize_all_html: Annotated[ - bool, + Optional[bool], Field( title="Sanitize All Html", description="""Sanitize all HTML tool output. By default, all tool output served as @@ -3153,7 +3152,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "sanitize_allowlist.txt" serve_xss_vulnerable_mimetypes: Annotated[ - bool, + Optional[bool], Field( title="Serve Xss Vulnerable Mimetypes", description="""By default Galaxy will serve non-HTML tool output that may potentially @@ -3179,7 +3178,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None trust_jupyter_notebook_conversion: Annotated[ - bool, + Optional[bool], Field( title="Trust Jupyter Notebook Conversion", description="""Set to true to use Jupyter nbconvert to build HTML from Jupyter @@ -3192,7 +3191,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False debug: Annotated[ - bool, + Optional[bool], Field( title="Debug", description="""Debug enables access to various config options useful for development @@ -3204,7 +3203,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False use_lint: Annotated[ - bool, + Optional[bool], Field( title="Use Lint", description="""Check for WSGI compliance.""", @@ -3212,7 +3211,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False use_profile: Annotated[ - bool, + Optional[bool], Field( title="Use Profile", description="""Run the Python profiler on each request.""", @@ -3220,7 +3219,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False use_printdebug: Annotated[ - bool, + Optional[bool], Field( title="Use Printdebug", description="""Intercept print statements and show them on the returned page.""", @@ -3228,7 +3227,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True monitor_thread_join_timeout: Annotated[ - int, + Optional[int], Field( title="Monitor Thread Join Timeout", description="""When stopping Galaxy cleanly, how much time to give various monitoring/polling @@ -3243,7 +3242,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 30 use_heartbeat: Annotated[ - bool, + Optional[bool], Field( title="Use Heartbeat", description="""Write thread status periodically to 'heartbeat.log', (careful, uses disk @@ -3254,7 +3253,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False heartbeat_interval: Annotated[ - int, + Optional[int], Field( title="Heartbeat Interval", description="""Control the period (in seconds) between dumps. Use -1 to disable. Regardless @@ -3296,7 +3295,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "ERROR" sentry_traces_sample_rate: Annotated[ - float, + Optional[float], Field( title="Sentry Traces Sample Rate", description="""Set to a number between 0 and 1. With this option set, every transaction created @@ -3331,7 +3330,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None statsd_port: Annotated[ - int, + Optional[int], Field( title="Statsd Port", description="""Log to statsd @@ -3359,7 +3358,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "galaxy" statsd_influxdb: Annotated[ - bool, + Optional[bool], Field( title="Statsd Influxdb", description="""If you are using telegraf to collect these metrics and then sending @@ -3371,7 +3370,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False statsd_mock_calls: Annotated[ - bool, + Optional[bool], Field( title="Statsd Mock Calls", description="""Mock out statsd client calls - only used by testing infrastructure really. @@ -3381,7 +3380,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False user_library_import_dir_auto_creation: Annotated[ - bool, + Optional[bool], Field( title="User Library Import Dir Auto Creation", description="""If user_library_import_dir is set, this option will auto create a library @@ -3405,7 +3404,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None user_library_import_check_permissions: Annotated[ - bool, + Optional[bool], Field( title="User Library Import Check Permissions", description="""In conjunction or alternatively, Galaxy can restrict user library imports to @@ -3416,7 +3415,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False allow_path_paste: Annotated[ - bool, + Optional[bool], Field( title="Allow Path Paste", description="""Allow admins to paste filesystem paths during upload. For libraries this @@ -3444,7 +3443,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None tool_name_boost: Annotated[ - float, + Optional[float], Field( title="Tool Name Boost", description="""In tool search, a query match against a tool's name text will receive @@ -3454,7 +3453,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 20.0 tool_name_exact_multiplier: Annotated[ - float, + Optional[float], Field( title="Tool Name Exact Multiplier", description="""If a search query matches a tool name exactly, the score will be @@ -3464,7 +3463,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 10.0 tool_id_boost: Annotated[ - float, + Optional[float], Field( title="Tool Id Boost", description="""In tool search, a query match against a tool's ID text will receive @@ -3475,7 +3474,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 20.0 tool_section_boost: Annotated[ - float, + Optional[float], Field( title="Tool Section Boost", description="""In tool search, a query match against a tool's section text will @@ -3485,7 +3484,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 3.0 tool_description_boost: Annotated[ - float, + Optional[float], Field( title="Tool Description Boost", description="""In tool search, a query match against a tool's description text will @@ -3495,7 +3494,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 8.0 tool_label_boost: Annotated[ - float, + Optional[float], Field( title="Tool Label Boost", description="""In tool search, a query match against a tool's label text will @@ -3505,7 +3504,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 1.0 tool_stub_boost: Annotated[ - float, + Optional[float], Field( title="Tool Stub Boost", description="""A stub is parsed from the GUID as "owner/repo/tool_id". @@ -3516,7 +3515,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 2.0 tool_help_boost: Annotated[ - float, + Optional[float], Field( title="Tool Help Boost", description="""In tool search, a query match against a tool's help text will receive @@ -3526,7 +3525,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 1.0 tool_help_bm25f_k1: Annotated[ - float, + Optional[float], Field( title="Tool Help Bm25F K1", description="""The lower this parameter, the greater the diminishing reward for @@ -3539,7 +3538,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 0.5 tool_search_limit: Annotated[ - int, + Optional[int], Field( title="Tool Search Limit", description="""Limits the number of results in toolbox search. Use to set the @@ -3549,7 +3548,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 20 tool_enable_ngram_search: Annotated[ - bool, + Optional[bool], Field( title="Tool Enable Ngram Search", description="""Disabling this will prevent partial matches on tool names. @@ -3562,7 +3561,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True tool_ngram_minsize: Annotated[ - int, + Optional[int], Field( title="Tool Ngram Minsize", description="""Set minimum character length of ngrams""", @@ -3570,7 +3569,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 3 tool_ngram_maxsize: Annotated[ - int, + Optional[int], Field( title="Tool Ngram Maxsize", description="""Set maximum character length of ngrams""", @@ -3578,7 +3577,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 4 tool_ngram_factor: Annotated[ - float, + Optional[float], Field( title="Tool Ngram Factor", description="""Ngram matched scores will be multiplied by this factor. Should always @@ -3654,7 +3653,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "USING THE DEFAULT IS NOT SECURE!" normalize_remote_user_email: Annotated[ - bool, + Optional[bool], Field( title="Normalize Remote User Email", description="""If your proxy and/or authentication source does not normalize e-mail @@ -3678,7 +3677,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None show_user_prepopulate_form: Annotated[ - bool, + Optional[bool], Field( title="Show User Prepopulate Form", description="""When using LDAP for authentication, allow administrators to pre-populate users @@ -3688,7 +3687,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False new_user_dataset_access_role_default_private: Annotated[ - bool, + Optional[bool], Field( title="New User Dataset Access Role Default Private", description="""By default, users' data will be public, but setting this to true will cause @@ -3700,7 +3699,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False expose_user_name: Annotated[ - bool, + Optional[bool], Field( title="Expose User Name", description="""Expose user list. Setting this to true will expose the user list to @@ -3732,7 +3731,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None enable_beta_gdpr: Annotated[ - bool, + Optional[bool], Field( title="Enable Beta Gdpr", description="""Enables GDPR Compliance mode. This makes several changes to the way @@ -3754,7 +3753,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False enable_beta_workflow_modules: Annotated[ - bool, + Optional[bool], Field( title="Enable Beta Workflow Modules", description="""Enable beta workflow modules that should not yet be considered part of Galaxy's @@ -3805,7 +3804,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "ga" parallelize_workflow_scheduling_within_histories: Annotated[ - bool, + Optional[bool], Field( title="Parallelize Workflow Scheduling Within Histories", description="""If multiple job handlers are enabled, allow Galaxy to schedule workflow invocations @@ -3816,7 +3815,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False maximum_workflow_invocation_duration: Annotated[ - int, + Optional[int], Field( title="Maximum Workflow Invocation Duration", description="""This is the maximum amount of time a workflow invocation may stay in an active @@ -3827,7 +3826,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 2678400 maximum_workflow_jobs_per_scheduling_iteration: Annotated[ - int, + Optional[int], Field( title="Maximum Workflow Jobs Per Scheduling Iteration", description="""Specify a maximum number of jobs that any given workflow scheduling iteration can create. @@ -3841,7 +3840,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 1000 flush_per_n_datasets: Annotated[ - int, + Optional[int], Field( title="Flush Per N Datasets", description="""Maximum number of datasets to create before flushing created datasets to database. @@ -3853,7 +3852,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 1000 max_discovered_files: Annotated[ - int, + Optional[int], Field( title="Max Discovered Files", description="""Set this to a positive integer value to limit the number of datasets that can be discovered by @@ -3865,7 +3864,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 10000 history_local_serial_workflow_scheduling: Annotated[ - bool, + Optional[bool], Field( title="History Local Serial Workflow Scheduling", description="""Force serial scheduling of workflows within the context of a particular history""", @@ -3987,7 +3986,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None enable_tool_tags: Annotated[ - bool, + Optional[bool], Field( title="Enable Tool Tags", description="""Enable tool tags (associating tools with tags). This has its own option @@ -4032,7 +4031,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None ftp_upload_purge: Annotated[ - bool, + Optional[bool], Field( title="Ftp Upload Purge", description="""Set to false to prevent Galaxy from deleting uploaded FTP files @@ -4042,7 +4041,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True expose_dataset_path: Annotated[ - bool, + Optional[bool], Field( title="Expose Dataset Path", description="""This option allows users to see the full path of datasets via the "View @@ -4061,7 +4060,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "job_metrics_conf.xml" expose_potentially_sensitive_job_metrics: Annotated[ - bool, + Optional[bool], Field( title="Expose Potentially Sensitive Job Metrics", description="""This option allows users to see the job metrics (except for environment @@ -4071,7 +4070,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False enable_legacy_sample_tracking_api: Annotated[ - bool, + Optional[bool], Field( title="Enable Legacy Sample Tracking Api", description="""Enable the API for sample tracking""", @@ -4079,7 +4078,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False enable_data_manager_user_view: Annotated[ - bool, + Optional[bool], Field( title="Enable Data Manager User View", description="""Allow non-admin users to view available Data Manager options.""", @@ -4190,7 +4189,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = None track_jobs_in_database: Annotated[ - bool, + Optional[bool], Field( title="Track Jobs In Database", description="""This option is deprecated, use the `mem-self` handler assignment option in the @@ -4200,7 +4199,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True use_tasked_jobs: Annotated[ - bool, + Optional[bool], Field( title="Use Tasked Jobs", description="""This enables splitting of jobs into tasks, if specified by the particular tool @@ -4211,7 +4210,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False local_task_queue_workers: Annotated[ - int, + Optional[int], Field( title="Local Task Queue Workers", description="""This enables splitting of jobs into tasks, if specified by the particular tool @@ -4222,7 +4221,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 2 job_handler_monitor_sleep: Annotated[ - float, + Optional[float], Field( title="Job Handler Monitor Sleep", description="""Each Galaxy job handler process runs one thread responsible for discovering jobs and @@ -4235,7 +4234,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 1.0 job_runner_monitor_sleep: Annotated[ - float, + Optional[float], Field( title="Job Runner Monitor Sleep", description="""Each Galaxy job handler process runs one thread per job runner plugin responsible for @@ -4248,7 +4247,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 1.0 workflow_monitor_sleep: Annotated[ - float, + Optional[float], Field( title="Workflow Monitor Sleep", description="""Each Galaxy workflow handler process runs one thread responsible for @@ -4261,7 +4260,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 1.0 metadata_strategy: Annotated[ - Literal["directory", "extended", "directory_celery", "extended_celery", "legacy"], + Optional[Literal["directory", "extended", "directory_celery", "extended_celery", "legacy"]], Field( title="Metadata Strategy", description="""Determines how metadata will be set. Valid values are `directory`, `extended`, @@ -4277,7 +4276,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "directory" retry_metadata_internally: Annotated[ - bool, + Optional[bool], Field( title="Retry Metadata Internally", description="""Although it is fairly reliable, setting metadata can occasionally fail. In @@ -4290,7 +4289,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = True max_metadata_value_size: Annotated[ - int, + Optional[int], Field( title="Max Metadata Value Size", description="""Very large metadata values can cause Galaxy crashes. This will allow @@ -4303,7 +4302,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 5242880 outputs_to_working_directory: Annotated[ - bool, + Optional[bool], Field( title="Outputs To Working Directory", description="""This option will override tool output paths to write outputs to the job @@ -4318,7 +4317,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = False retry_job_output_collection: Annotated[ - int, + Optional[int], Field( title="Retry Job Output Collection", description="""If your network filesystem's caching prevents the Galaxy server from seeing @@ -4588,7 +4587,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "workflow_schedulers_conf.xml" cache_user_job_count: Annotated[ - bool, + Optional[bool], Field( title="Cache User Job Count", description="""If using job concurrency limits (configured in job_config_file), several @@ -4692,7 +4691,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "sqlalchemy+sqlite:///./database/control.sqlite?isolation_level=IMMEDIATE" celery_conf: Annotated[ - Any, + Optional[Any], Field( title="Celery Conf", description="""Configuration options passed to Celery. @@ -4712,7 +4711,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = {"task_routes": {"galaxy.fetch_data": "galaxy.external", "galaxy.set_job_metadata": "galaxy.external"}} celery_user_rate_limit: Annotated[ - float, + Optional[float], Field( title="Celery User Rate Limit", description="""If set to a non-0 value, upper limit on number of @@ -4722,7 +4721,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = 0.0 use_pbkdf2: Annotated[ - bool, + Optional[bool], Field( title="Use Pbkdf2", description="""Allow disabling pbkdf2 hashing of passwords for legacy situations. @@ -4757,7 +4756,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "vault_conf.yml" display_builtin_converters: Annotated[ - bool, + Optional[bool], Field( title="Display Builtin Converters", description="""Display built-in converters in the tool panel.""", @@ -4775,7 +4774,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) ] = "themes_conf.yml" expired_notifications_cleanup_interval: Annotated[ - int, + Optional[int], Field( title="Expired Notifications Cleanup Interval", description="""The interval in seconds between attempts to delete all expired notifications from the database (every 24 hours by default). Runs in a Celery task.""", From 6e5a10454313b100216f6932bf2f00f96c30959a Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 23 Aug 2023 20:13:23 +0200 Subject: [PATCH 22/28] Annotate deprecated options --- lib/galaxy/schema/configuration.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 9834eb74624d..38a5d691da86 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -101,6 +101,7 @@ class ComputedGalaxyConfig(Model): server_startttime: Annotated[ int, Field( + deprecated=True, # TODO: This option seems to be unused in the codebase (?) title="Server Start Time", description="""The time when the Galaxy server was started (seconds since Epoch).""", ), @@ -117,6 +118,7 @@ class ComputedGalaxyConfig(Model): python: Annotated[ List[int], Field( + deprecated=True, # TODO: This option seems to be unused in the codebase (?) title="Python Version", description="""The Python version used by Galaxy as a tuple of integers [mayor, minor].""", ), @@ -1308,6 +1310,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) migrated_tools_config: Annotated[ Optional[str], Field( + deprecated=True, title="Migrated Tools Config", description="""This option is deprecated. In previous releases this file was maintained by tool migration scripts that are no @@ -2564,6 +2567,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) display_galaxy_brand: Annotated[ Optional[bool], Field( + deprecated=True, title="Display Galaxy Brand", description="""This option has been deprecated, use the `logo_src` instead to change the default logo including the galaxy brand title. @@ -4191,6 +4195,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) track_jobs_in_database: Annotated[ Optional[bool], Field( + deprecated=True, title="Track Jobs In Database", description="""This option is deprecated, use the `mem-self` handler assignment option in the job configuration instead. From 667cc455e72d0444498eec81d8f0890d94c51f46 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 23 Aug 2023 20:29:30 +0200 Subject: [PATCH 23/28] Update client API schema --- client/src/schema/schema.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/client/src/schema/schema.ts b/client/src/schema/schema.ts index dbc9d10d5fe1..31bfabc700fc 100644 --- a/client/src/schema/schema.ts +++ b/client/src/schema/schema.ts @@ -2169,6 +2169,7 @@ export interface components { prefer_custos_login?: boolean; /** * Python Version + * @deprecated * @description The Python version used by Galaxy as a tuple of integers [mayor, minor]. */ python: number[]; @@ -2231,6 +2232,7 @@ export interface components { server_mail_configured?: boolean; /** * Server Start Time + * @deprecated * @description The time when the Galaxy server was started (seconds since Epoch). */ server_startttime: number; @@ -2313,6 +2315,13 @@ export interface components { * @default https://github.com/galaxyproject/galaxy-test-data/raw/master/tool_recommendation_model_v_0.2.hdf5 */ tool_recommendation_model_path?: string; + /** + * Tool Shed Urls + * @description List of Tool Shed URLs to search for tools. This is a list of + * fully qualified URLs (e.g., https://toolshed.g2.bx.psu.edu/). + * @default [] + */ + tool_shed_urls?: string[]; /** * Tool Training Recommendations * @description Displays a link to training material, if any includes the current tool. @@ -10292,6 +10301,7 @@ export interface components { prefer_custos_login?: boolean; /** * Python Version + * @deprecated * @description The Python version used by Galaxy as a tuple of integers [mayor, minor]. */ python: number[]; @@ -10354,6 +10364,7 @@ export interface components { server_mail_configured?: boolean; /** * Server Start Time + * @deprecated * @description The time when the Galaxy server was started (seconds since Epoch). */ server_startttime: number; From 9c4f948b299b913ba172f04811937578c8fb4668 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Thu, 24 Aug 2023 10:58:51 +0200 Subject: [PATCH 24/28] Annotate per_host options --- lib/galaxy/schema/configuration.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 38a5d691da86..5f09695e56fc 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -241,6 +241,7 @@ class ExposableGalaxyConfig(Model): brand: Annotated[ Optional[str], Field( + per_host=True, title="Brand", description="""Append "{brand}" text to the masthead.""", ), @@ -249,6 +250,7 @@ class ExposableGalaxyConfig(Model): logo_url: Annotated[ Optional[str], Field( + per_host=True, title="Logo Url", description="""The URL linked by the "Galaxy/brand" text.""", ), @@ -257,6 +259,7 @@ class ExposableGalaxyConfig(Model): logo_src: Annotated[ Optional[str], Field( + per_host=True, title="Logo Src", description="""The brand image source.""", ), @@ -265,6 +268,7 @@ class ExposableGalaxyConfig(Model): logo_src_secondary: Annotated[ Optional[str], Field( + per_host=True, title="Logo Src Secondary", description="""The custom brand image source.""", ), @@ -273,6 +277,7 @@ class ExposableGalaxyConfig(Model): terms_url: Annotated[ Optional[str], Field( + per_host=True, title="Terms Url", description="""The URL linked by the "Terms and Conditions" link in the "Help" menu, as well as on the user registration and login forms and in the activation emails.""", @@ -282,6 +287,7 @@ class ExposableGalaxyConfig(Model): wiki_url: Annotated[ str, Field( + per_host=True, title="Wiki Url", description="""The URL linked by the "Community Hub" link in the "Help" menu.""", ), @@ -290,6 +296,7 @@ class ExposableGalaxyConfig(Model): screencasts_url: Annotated[ str, Field( + per_host=True, title="Screencasts Url", description="""The URL linked by the "Videos" link in the "Help" menu.""", ), @@ -298,6 +305,7 @@ class ExposableGalaxyConfig(Model): citation_url: Annotated[ str, Field( + per_host=True, title="Citation Url", description="""The URL linked by the "How to Cite Galaxy" link in the "Help" menu.""", ), @@ -314,6 +322,7 @@ class ExposableGalaxyConfig(Model): support_url: Annotated[ str, Field( + per_host=True, title="Support Url", description="""The URL linked by the "Support" link in the "Help" menu.""", ), @@ -330,6 +339,7 @@ class ExposableGalaxyConfig(Model): helpsite_url: Annotated[ str, Field( + per_host=True, title="Helpsite Url", description="""The URL linked by the "Galaxy Help" link in the "Help" menu.""", ), @@ -588,6 +598,7 @@ class ExposableGalaxyConfig(Model): simplified_workflow_run_ui: Annotated[ Literal["off", "prefer"], Field( + per_host=True, title="Simplified Workflow Run Ui", description="""If set to 'off' by default, always use the traditional workflow form that renders all steps in the GUI and serializes the tool state of all steps during @@ -602,6 +613,7 @@ class ExposableGalaxyConfig(Model): simplified_workflow_run_ui_target_history: Annotated[ Literal["current", "new", "prefer_current", "prefer_new"], Field( + per_host=True, title="Simplified Workflow Run Ui Target History", description="""When the simplified workflow run form is rendered, should the invocation outputs be sent to the 'current' history or a 'new' history. If the user should be presented @@ -616,6 +628,7 @@ class ExposableGalaxyConfig(Model): simplified_workflow_run_ui_job_cache: Annotated[ Literal["on", "off"], Field( + per_host=True, title="Simplified Workflow Run Ui Job Cache", description="""When the simplified workflow run form is rendered, should the invocation use job caching. This isn't a boolean so an option for 'show-selection' can be added later.""", @@ -645,6 +658,7 @@ class ExposableGalaxyConfig(Model): ftp_upload_site: Annotated[ Optional[str], Field( + per_host=True, title="Ftp Upload Site", description="""Enable Galaxy's "Upload via FTP" interface. You'll need to install and configure an FTP server (we've used ProFTPd since it can use Galaxy's @@ -784,6 +798,7 @@ class ExposableGalaxyConfig(Model): welcome_url: Annotated[ str, Field( + per_host=True, title="Welcome Url", description="""The URL of the page to display in Galaxy's middle pane when loaded. This can be an absolute or relative URL.""", @@ -2568,6 +2583,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( deprecated=True, + per_host=True, title="Display Galaxy Brand", description="""This option has been deprecated, use the `logo_src` instead to change the default logo including the galaxy brand title. @@ -2680,6 +2696,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) static_dir: Annotated[ Optional[str], Field( + per_host=True, title="Static Dir", description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not @@ -2692,6 +2709,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) static_images_dir: Annotated[ Optional[str], Field( + per_host=True, title="Static Images Dir", description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not @@ -2700,9 +2718,11 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) """, ), ] = "static/images" + static_favicon_dir: Annotated[ Optional[str], Field( + per_host=True, title="Static Favicon Dir", description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not @@ -2715,6 +2735,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) static_scripts_dir: Annotated[ Optional[str], Field( + per_host=True, title="Static Scripts Dir", description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not @@ -2727,6 +2748,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) static_style_dir: Annotated[ Optional[str], Field( + per_host=True, title="Static Style Dir", description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not @@ -2739,6 +2761,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) static_robots_txt: Annotated[ Optional[str], Field( + per_host=True, title="Static Robots Txt", description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not @@ -4771,6 +4794,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) themes_config_file: Annotated[ Optional[str], Field( + per_host=True, title="Themes Config File", description="""Optional file containing one or more themes for galaxy. If several themes are defined, users can choose their preferred theme in the client. From cf5b90b54b77e2aa84d18f0f49e94347d148d3ba Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Thu, 24 Aug 2023 19:33:08 +0200 Subject: [PATCH 25/28] Annotate the rest of custom properties --- lib/galaxy/schema/configuration.py | 82 ++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 5f09695e56fc..57c832c13e6c 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -19,6 +19,12 @@ from galaxy.schema.schema import Model +CONFIG_DIR = "config_dir" +DATA_DIR = "data_dir" +MANAGED_CONFIG_DIR = "managed_config_dir" +CACHE_DIR = "cache_dir" +TOOL_DEPENDENCY_DIR = "tool_dependency_dir" + WatchToolOptions = Union[bool, Literal["false", "true", "auto", "polling"]] @@ -386,6 +392,7 @@ class ExposableGalaxyConfig(Model): admin_tool_recommendations_path: Annotated[ str, Field( + path_resolves_to=CONFIG_DIR, title="Admin Tool Recommendations Path", description="""Set path to the additional tool preferences from Galaxy admins. It has two blocks. One for listing deprecated tools which will be removed from the recommendations and @@ -751,6 +758,7 @@ class ExposableGalaxyConfig(Model): message_box_visible: Annotated[ bool, Field( + reloadable=True, title="Message Box Visible", description="""Show a message box under the masthead.""", ), @@ -759,6 +767,7 @@ class ExposableGalaxyConfig(Model): message_box_content: Annotated[ Optional[str], Field( + reloadable=True, title="Message Box Content", description="""Show a message box under the masthead.""", ), @@ -767,6 +776,7 @@ class ExposableGalaxyConfig(Model): message_box_class: Annotated[ Literal["info", "warning", "error", "done"], Field( + reloadable=True, title="Message Box Class", description="""Class of the message box under the masthead. Possible values are: 'info' (the default), 'warning', 'error', 'done'.""", @@ -798,6 +808,7 @@ class ExposableGalaxyConfig(Model): welcome_url: Annotated[ str, Field( + reloadable=True, per_host=True, title="Welcome Url", description="""The URL of the page to display in Galaxy's middle pane when loaded. This can @@ -839,6 +850,7 @@ class ExposableGalaxyConfig(Model): toolbox_auto_sort: Annotated[ bool, Field( + reloadable=True, title="Toolbox Auto Sort", description="""If true, the toolbox will be sorted by tool id when the toolbox is loaded. This is useful for ensuring that tools are always displayed in the same @@ -1066,6 +1078,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) templates_dir: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Templates Dir", description="""The directory containing custom templates for Galaxy, such as HTML/text email templates. Defaults to 'templates'. Default templates can be found in the Galaxy root under config/templates. These can be copied to if you wish to customize them.""", ), @@ -1074,6 +1087,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) cache_dir: Annotated[ Optional[str], Field( + path_resolves_to=DATA_DIR, title="Cache Dir", description="""Top level cache directory. Any other cache directories (tool_cache_data_dir, template_cache_path, etc.) should be subdirectories.""", @@ -1263,6 +1277,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) file_path: Annotated[ Optional[str], Field( + path_resolves_to=DATA_DIR, title="File Path", description="""Where dataset files are stored. It must be accessible at the same path on any cluster nodes that will run Galaxy jobs, unless using Pulsar. The default value has been changed @@ -1275,6 +1290,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) new_file_path: Annotated[ Optional[str], Field( + path_resolves_to=DATA_DIR, title="New File Path", description="""Where temporary files are stored. It must be accessible at the same path on any cluster nodes that will run Galaxy jobs, unless using Pulsar. @@ -1295,6 +1311,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_config_file: Annotated[ Optional[Any], Field( + path_resolves_to=CONFIG_DIR, title="Tool Config File", description="""Tool config files, defines what tools are available in Galaxy. Tools can be locally developed or installed from Galaxy tool sheds. @@ -1308,6 +1325,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) shed_tool_config_file: Annotated[ Optional[str], Field( + path_resolves_to=MANAGED_CONFIG_DIR, title="Shed Tool Config File", description="""Tool config file for tools installed from the Galaxy Tool Shed. Must be writable by Galaxy and generally should not be edited by hand. In @@ -1325,6 +1343,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) migrated_tools_config: Annotated[ Optional[str], Field( + path_resolves_to=MANAGED_CONFIG_DIR, deprecated=True, title="Migrated Tools Config", description="""This option is deprecated. @@ -1363,6 +1382,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_dependency_dir: Annotated[ Optional[str], Field( + path_resolves_to=DATA_DIR, title="Tool Dependency Dir", description="""Various dependency resolver configuration parameters will have defaults set relative to this path, such as the default conda prefix, default Galaxy packages path, legacy @@ -1378,6 +1398,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) dependency_resolvers_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Dependency Resolvers Config File", description="""Specifies the path to the standalone dependency resolvers configuration file. This configuration can now be specified directly in the Galaxy configuration, see the @@ -1470,6 +1491,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) local_conda_mapping_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Local Conda Mapping File", description="""Path to a file that provides a mapping from abstract packages to concrete conda packages. See `config/local_conda_mapping.yml.sample` for examples. @@ -1480,6 +1502,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) modules_mapping_files: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Modules Mapping Files", description="""Path to a file that provides a mapping from abstract packages to locally installed modules. See `config/environment_modules_mapping.yml.sample` for examples. @@ -1531,6 +1554,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_sheds_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Tool Sheds Config File", description="""File containing the Galaxy Tool Sheds that should be made available to install from in the admin interface (.sample used if default does not exist). @@ -1588,6 +1612,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) short_term_storage_dir: Annotated[ Optional[str], Field( + path_resolves_to=CACHE_DIR, title="Short Term Storage Dir", description="""Location of files available for a short time as downloads (short term storage). This directory is exclusively used for serving dynamically generated downloadable @@ -1632,6 +1657,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) file_sources_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="File Sources Config File", description="""Configured FileSource plugins.""", ), @@ -1686,6 +1712,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) involucro_path: Annotated[ Optional[str], Field( + path_resolves_to=TOOL_DEPENDENCY_DIR, title="Involucro Path", description="""involucro is a tool used to build Docker or Singularity containers for tools from Conda dependencies referenced in tools as `requirement` s. The following path is @@ -1741,6 +1768,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_data_table_config_path: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Tool Data Table Config Path", description="""XML config file that contains data table entries for the ToolDataTableManager. This file is manually # maintained by the Galaxy @@ -1752,6 +1780,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) shed_tool_data_table_config: Annotated[ Optional[str], Field( + path_resolves_to=MANAGED_CONFIG_DIR, title="Shed Tool Data Table Config", description="""XML config file that contains additional data table entries for the ToolDataTableManager. This file is automatically generated based on the @@ -1810,6 +1839,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) build_sites_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Build Sites Config File", description="""File that defines the builds (dbkeys) available at sites used by display applications and the URL to those sites. @@ -1842,6 +1872,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) datatypes_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Datatypes Config File", description="""Datatypes config file(s), defines what data (file) types are available in Galaxy (.sample is used if default does not exist). If a datatype appears in @@ -1916,6 +1947,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) template_cache_path: Annotated[ Optional[str], Field( + path_resolves_to=CACHE_DIR, title="Template Cache Path", description="""Mako templates are compiled as needed and cached for reuse, this directory is used for the cache @@ -1990,6 +2022,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_search_index_dir: Annotated[ Optional[str], Field( + path_resolves_to=DATA_DIR, title="Tool Search Index Dir", description="""Directory in which the toolbox search index is stored.""", ), @@ -2026,6 +2059,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) biotools_service_cache_data_dir: Annotated[ Optional[str], Field( + path_resolves_to=CACHE_DIR, title="Biotools Service Cache Data Dir", description="""bio.tools web service request related caching. The data directory to point beaker cache at.""", ), @@ -2034,6 +2068,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) biotools_service_cache_lock_dir: Annotated[ Optional[str], Field( + path_resolves_to=CACHE_DIR, title="Biotools Service Cache Lock Dir", description="""bio.tools web service request related caching. The lock directory to point beaker cache at.""", ), @@ -2088,6 +2123,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) citation_cache_data_dir: Annotated[ Optional[str], Field( + path_resolves_to=CACHE_DIR, title="Citation Cache Data Dir", description="""Citation related caching. Tool citations information maybe fetched from external sources such as https://doi.org/ by Galaxy - the following @@ -2099,6 +2135,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) citation_cache_lock_dir: Annotated[ Optional[str], Field( + path_resolves_to=CACHE_DIR, title="Citation Cache Lock Dir", description="""Citation related caching. Tool citations information maybe fetched from external sources such as https://doi.org/ by Galaxy - the following @@ -2154,6 +2191,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) mulled_resolution_cache_data_dir: Annotated[ Optional[str], Field( + path_resolves_to=CACHE_DIR, title="Mulled Resolution Cache Data Dir", description="""Data directory used by beaker for caching mulled resolution requests.""", ), @@ -2162,6 +2200,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) mulled_resolution_cache_lock_dir: Annotated[ Optional[str], Field( + path_resolves_to=CACHE_DIR, title="Mulled Resolution Cache Lock Dir", description="""Lock directory used by beaker for caching mulled resolution requests.""", ), @@ -2212,6 +2251,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) object_store_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Object Store Config File", description="""Configuration file for the object store If this is set and exists, it overrides any other objectstore settings. @@ -2254,6 +2294,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) object_store_cache_path: Annotated[ Optional[str], Field( + path_resolves_to=CACHE_DIR, title="Object Store Cache Path", description="""Default cache path for caching object stores if cache not configured for that object store entry. @@ -2542,6 +2583,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) interactivetools_map: Annotated[ Optional[str], Field( + path_resolves_to=DATA_DIR, title="Interactivetools Map", description="""Map for interactivetool proxy.""", ), @@ -2609,6 +2651,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) trs_servers_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Trs Servers Config File", description="""Allow import of workflows from the TRS servers configured in the specified YAML or JSON file. The file should be a list with @@ -2624,6 +2667,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) user_preferences_extra_conf_path: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="User Preferences Extra Conf Path", description="""Location of the configuration file containing extra user preferences.""", ), @@ -2920,6 +2964,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) dynamic_proxy_session_map: Annotated[ Optional[str], Field( + path_resolves_to=DATA_DIR, title="Dynamic Proxy Session Map", description="""The NodeJS dynamic proxy can use an SQLite database or a JSON file for IPC, set that here. @@ -3080,6 +3125,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) logging: Annotated[ Optional[Dict[str, Any]], Field( + allowempty=True, title="Logging", description="""Controls where and how the server logs messages. If set, overrides all settings in the log_* configuration options. Configuration is described in the documentation at: @@ -3472,6 +3518,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_name_boost: Annotated[ Optional[float], Field( + reloadable=True, title="Tool Name Boost", description="""In tool search, a query match against a tool's name text will receive this score multiplier. @@ -3482,6 +3529,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_name_exact_multiplier: Annotated[ Optional[float], Field( + reloadable=True, title="Tool Name Exact Multiplier", description="""If a search query matches a tool name exactly, the score will be multiplied by this factor. @@ -3492,6 +3540,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_id_boost: Annotated[ Optional[float], Field( + reloadable=True, title="Tool Id Boost", description="""In tool search, a query match against a tool's ID text will receive this score multiplier. The query must be an exact match against ID @@ -3503,6 +3552,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_section_boost: Annotated[ Optional[float], Field( + reloadable=True, title="Tool Section Boost", description="""In tool search, a query match against a tool's section text will receive this score multiplier. @@ -3513,6 +3563,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_description_boost: Annotated[ Optional[float], Field( + reloadable=True, title="Tool Description Boost", description="""In tool search, a query match against a tool's description text will receive this score multiplier. @@ -3523,6 +3574,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_label_boost: Annotated[ Optional[float], Field( + reloadable=True, title="Tool Label Boost", description="""In tool search, a query match against a tool's label text will receive this score multiplier. @@ -3533,6 +3585,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_stub_boost: Annotated[ Optional[float], Field( + reloadable=True, title="Tool Stub Boost", description="""A stub is parsed from the GUID as "owner/repo/tool_id". In tool search, a query match against a tool's stub text will receive @@ -3544,6 +3597,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_help_boost: Annotated[ Optional[float], Field( + reloadable=True, title="Tool Help Boost", description="""In tool search, a query match against a tool's help text will receive this score multiplier. @@ -3554,6 +3608,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_help_bm25f_k1: Annotated[ Optional[float], Field( + reloadable=True, title="Tool Help Bm25F K1", description="""The lower this parameter, the greater the diminishing reward for term frequency in the help text. A higher K1 increases the level @@ -3567,6 +3622,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_search_limit: Annotated[ Optional[int], Field( + reloadable=True, title="Tool Search Limit", description="""Limits the number of results in toolbox search. Use to set the maximum number of tool search results to display. @@ -3577,6 +3633,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_enable_ngram_search: Annotated[ Optional[bool], Field( + reloadable=True, title="Tool Enable Ngram Search", description="""Disabling this will prevent partial matches on tool names. Enable/disable Ngram-search for tools. It makes tool @@ -3590,6 +3647,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_ngram_minsize: Annotated[ Optional[int], Field( + reloadable=True, title="Tool Ngram Minsize", description="""Set minimum character length of ngrams""", ), @@ -3598,6 +3656,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_ngram_maxsize: Annotated[ Optional[int], Field( + reloadable=True, title="Tool Ngram Maxsize", description="""Set maximum character length of ngrams""", ), @@ -3606,6 +3665,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_ngram_factor: Annotated[ Optional[float], Field( + reloadable=True, title="Tool Ngram Factor", description="""Ngram matched scores will be multiplied by this factor. Should always be below 1, because an ngram match is a partial match of a search term. @@ -3693,6 +3753,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) admin_users: Annotated[ Optional[str], Field( + reloadable=True, title="Admin Users", description="""Administrative users - set this to a comma-separated list of valid Galaxy users (email addresses). These users will have access to the Admin section @@ -3804,6 +3865,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) edam_toolbox_ontology_path: Annotated[ Optional[str], Field( + path_resolves_to=DATA_DIR, title="Edam Toolbox Ontology Path", description="""Sets the path to EDAM ontology file - if the path doesn't exist PyPI package data will be loaded.""", ), @@ -3901,6 +3963,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) oidc_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Oidc Config File", description="""Sets the path to OIDC configuration file.""", ), @@ -3909,6 +3972,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) oidc_backends_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Oidc Backends Config File", description="""Sets the path to OIDC backends configuration file.""", ), @@ -3917,6 +3981,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) auth_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Auth Config File", description="""XML config file that allows the use of different authentication providers (e.g. LDAP) instead or in addition to local authentication (.sample is used @@ -3938,6 +4003,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) bootstrap_admin_api_key: Annotated[ Optional[str], Field( + deprecated_alias="master_api_key", title="Bootstrap Admin Api Key", description="""API key that allows performing some admin actions without actually having a real admin user in the database and config. @@ -4081,6 +4147,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) job_metrics_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Job Metrics Config File", description="""XML config file that contains the job metric collection configuration.""", ), @@ -4115,6 +4182,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) data_manager_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Data Manager Config File", description="""File where Data Managers are configured (.sample used if default does not exist).""", ), @@ -4123,6 +4191,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) shed_data_manager_config_file: Annotated[ Optional[str], Field( + path_resolves_to=MANAGED_CONFIG_DIR, title="Shed Data Manager Config File", description="""File where Tool Shed based Data Managers are configured. This file will be created automatically upon data manager installation. @@ -4143,6 +4212,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) job_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Job Config File", description="""To increase performance of job execution and the web interface, you can separate Galaxy into multiple processes. There are more than one way to do @@ -4392,6 +4462,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) cleanup_job: Annotated[ Optional[Literal["always", "onsuccess", "never"]], Field( + reloadable=True, title="Cleanup Job", description="""Clean up various bits of jobs left on the filesystem after completion. These bits include the job working directory, external metadata temporary files, @@ -4480,6 +4551,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) markdown_export_css: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Markdown Export Css", description="""CSS file to apply to all Markdown exports to PDF - currently used by WeasyPrint during rendering an HTML export of the document to PDF. @@ -4490,6 +4562,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) markdown_export_css_pages: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Markdown Export Css Pages", description="""CSS file to apply to "Galaxy Page" exports to PDF. Generally prefer markdown_export_css, but this is here for deployments that @@ -4501,6 +4574,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) markdown_export_css_invocation_reports: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Markdown Export Css Invocation Reports", description="""CSS file to apply to invocation report exports to PDF. Generally prefer markdown_export_css, but this is here for deployments that @@ -4566,6 +4640,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) job_resource_params_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Job Resource Params File", description="""Optional file containing job resource data entry fields definition. These fields will be presented to users in the tool forms and allow them to @@ -4578,6 +4653,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) workflow_resource_params_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Workflow Resource Params File", description="""Similar to the above parameter, workflows can describe parameters used to influence scheduling of jobs within the workflow. This requires both a description @@ -4607,6 +4683,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) workflow_schedulers_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Workflow Schedulers Config File", description="""Optional configuration file similar to `job_config_file` to specify which Galaxy processes should schedule workflows. @@ -4762,6 +4839,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) error_report_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Error Report File", description="""Path to error reports configuration file.""", ), @@ -4770,6 +4848,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) tool_destinations_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Tool Destinations Config File", description="""Path to dynamic tool destinations configuration file.""", ), @@ -4778,6 +4857,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) vault_config_file: Annotated[ Optional[str], Field( + path_resolves_to=CONFIG_DIR, title="Vault Config File", description="""Vault config file.""", ), @@ -4794,6 +4874,8 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) themes_config_file: Annotated[ Optional[str], Field( + resolves_to="themes", + path_resolves_to=CONFIG_DIR, per_host=True, title="Themes Config File", description="""Optional file containing one or more themes for galaxy. If several themes From c46e31d00c234ed7ed4189ecb6e1c76a3ecf7be3 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Fri, 25 Aug 2023 14:01:11 +0200 Subject: [PATCH 26/28] Fix bool assignment for use_remote_user The option `use_remote_user` was used an declared as bool in the codebase, but it was assigned the value of `single_user` in some cases and that option can be either a bool or an email address (str) causing the type validation to fail. --- lib/galaxy/config/__init__.py | 2 +- lib/galaxy/webapps/galaxy/buildapp.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/galaxy/config/__init__.py b/lib/galaxy/config/__init__.py index e6a381a64da3..e18db96c5ec2 100644 --- a/lib/galaxy/config/__init__.py +++ b/lib/galaxy/config/__init__.py @@ -914,7 +914,7 @@ def _process_config(self, kwargs: Dict[str, Any]) -> None: self.galaxy_data_manager_data_path = self.galaxy_data_manager_data_path or self.tool_data_path self.tool_secret = kwargs.get("tool_secret", "") self.metadata_strategy = kwargs.get("metadata_strategy", "directory") - self.use_remote_user = self.use_remote_user or self.single_user + self.use_remote_user = self.use_remote_user or bool(self.single_user) self.fetch_url_allowlist_ips = [ ipaddress.ip_network(unicodify(ip.strip())) # If it has a slash, assume 127.0.0.1/24 notation if "/" in ip diff --git a/lib/galaxy/webapps/galaxy/buildapp.py b/lib/galaxy/webapps/galaxy/buildapp.py index ec3e0f31d580..00fc5cca34a4 100644 --- a/lib/galaxy/webapps/galaxy/buildapp.py +++ b/lib/galaxy/webapps/galaxy/buildapp.py @@ -1201,7 +1201,7 @@ def wrap_in_middleware(app, global_conf, application_stack, **local_conf): # protects Galaxy from improperly configured authentication in the # upstream server single_user = conf.get("single_user", None) - use_remote_user = asbool(conf.get("use_remote_user", False)) or single_user + use_remote_user = asbool(conf.get("use_remote_user", False)) or bool(single_user) if use_remote_user: from galaxy.web.framework.middleware.remoteuser import RemoteUser From 669453c5dc46f6ab75c3dfad572bf3a76ca2ca28 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Fri, 25 Aug 2023 23:47:53 +0200 Subject: [PATCH 27/28] Add basic schema generation (for testing) --- Makefile | 3 ++ lib/galaxy/config/config_manage.py | 71 ++++-------------------------- 2 files changed, 12 insertions(+), 62 deletions(-) diff --git a/Makefile b/Makefile index 1e5a171796c5..d0493da39744 100644 --- a/Makefile +++ b/Makefile @@ -92,6 +92,9 @@ reports-config-convert: ## convert old style reports ini to yaml reports-config-lint: ## lint reports YAML configuration file $(CONFIG_MANAGE) lint reports +config-generate-schema: ## build galaxy YAML configuration schema + $(CONFIG_MANAGE) generate_schema galaxy + config-validate: ## validate galaxy YAML configuration file $(CONFIG_MANAGE) validate galaxy diff --git a/lib/galaxy/config/config_manage.py b/lib/galaxy/config/config_manage.py index 32914484427c..ec88b3aeeb9d 100644 --- a/lib/galaxy/config/config_manage.py +++ b/lib/galaxy/config/config_manage.py @@ -41,6 +41,7 @@ TOOL_SHED_CONFIG_SCHEMA_PATH, ) from galaxy.config.schema import AppSchema +from galaxy.schema.configuration import FullGalaxyConfig from galaxy.util import safe_makedirs from galaxy.util.properties import ( nice_config_parser, @@ -524,68 +525,14 @@ def _get_option_desc(option: Dict[str, Any]) -> str: return desc -def _generate_api_models(args: Namespace, app_desc: App) -> None: - """Generates Pydantic models for the Galaxy configuration API.""" +def _generate_schema(args: Namespace, app_desc: App) -> None: + """Generates the configuration YAML schema from the Pydantic model.""" if app_desc.app_name != "galaxy": - raise Exception("Only Galaxy is supported for API model generation") - schema = app_desc.schema - f = StringIO() - file_header = """ -\"\"\"Contains models for Galaxy configuration options. - -These models are used to generate the OpenAPI and Configuration YAML schema for the Galaxy configuration. -\"\"\" - -from typing import ( - Any, - Dict, - List, -) - -from pydantic import Field -from typing_extensions import Annotated - -from galaxy.schema.schema import Model - - -class GalaxyConfigModel(Model): - \"\"\"Contains Galaxy configuration values.\"\"\" -""" - f.write(file_header) - - for key, value in schema.app_schema.items(): - field_type = _get_schema_type(value) - default = _get_field_default(value, field_type) - title = key.replace("_", " ").title() - desc = value.get("desc") - description = desc.replace("\\", "\\\\") if desc else None - field = f'{key}: Annotated[{field_type}, Field(title="{title}", description="""{description}""",)]' - if default is not None: - field += f" = {default}" - f.write(f" {field}\n") - - destination = os.path.join(args.galaxy_root, "lib", "galaxy", "schema", "configuration.py") - _write_to_file(args, f, destination) - - -def _get_field_default(value, field_type): - default = None if "default" not in value else value["default"] - if default is not None: - if field_type == "str" or isinstance(default, str): - default = f"'{default}'" if '"' in default else f'"{default}"' - return default - - -def _get_schema_type(value): - field_type = value.get("type", "str") - if field_type == "seq": - field_type = "List[Any]" - elif field_type == "any": - field_type = "Any" - elif field_type == "map": - # TODO: handle map types by creating a sub-model with the mapping - field_type = "Dict[str, Any]" - return field_type + raise Exception("Only Galaxy is supported for configuration schema generation") + galaxy_config_schema = FullGalaxyConfig.schema() + target_path = app_desc.schema_path + ".test.yml" + with open(target_path, "w") as f: + yaml.dump(galaxy_config_schema, f) ACTIONS: Dict[str, Callable] = { @@ -594,7 +541,7 @@ def _get_schema_type(value): "validate": _validate, "lint": _lint, "build_rst": _to_rst, - "generate_api_models": _generate_api_models, + "generate_schema": _generate_schema, } From b27ee9a1fc491693badcc06fb2363dbbb563c0aa Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Mon, 11 Sep 2023 17:24:27 +0200 Subject: [PATCH 28/28] Avoid unwanted spacing in descriptions This is somewhat controversial, but otherwise the generated schema will have weird spacing and unwanted line breaks in all descriptions. --- lib/galaxy/schema/configuration.py | 1928 +++++----------------------- 1 file changed, 327 insertions(+), 1601 deletions(-) diff --git a/lib/galaxy/schema/configuration.py b/lib/galaxy/schema/configuration.py index 57c832c13e6c..476f43c40f38 100644 --- a/lib/galaxy/schema/configuration.py +++ b/lib/galaxy/schema/configuration.py @@ -40,9 +40,7 @@ class ComputedGalaxyConfig(Model): Field( deprecated=True, # TODO: This option seems to be unused in the codebase (?) title="Lims Doc Url", - description="""The URL linked by the "LIMS Documentation" link in the "Help" menu. -**Deprecated**: This is deprecated and will be removed in a future release. -Please use the `helpsite_url` option instead.""", + description="""The URL linked by the "LIMS Documentation" link in the "Help" menu. **Deprecated**: This is deprecated and will be removed in a future release. Please use the `helpsite_url` option instead.""", ), ] = "https://usegalaxy.org/u/rkchak/p/sts" @@ -51,8 +49,7 @@ class ComputedGalaxyConfig(Model): Field( deprecated=True, # TODO: This option seems to be used only in tests (?) title="Markdown To Pdf Available", - description="""Determines if the markdown to pdf conversion is available. -**Deprecated**: This is deprecated and will be removed in a future release.""", + description="""Determines if the markdown to pdf conversion is available. **Deprecated**: This is deprecated and will be removed in a future release.""", ), ] = False @@ -196,8 +193,7 @@ class AdminOnlyComputedGalaxyConfig(ComputedGalaxyConfig): List[str], Field( title="Tool Shed Urls", - description="""List of Tool Shed URLs to search for tools. This is a list of -fully qualified URLs (e.g., https://toolshed.g2.bx.psu.edu/).""", + description="""List of Tool Shed URLs to search for tools. This is a list of fully qualified URLs (e.g., https://toolshed.g2.bx.psu.edu/).""", ), ] = [] @@ -213,8 +209,7 @@ class UserOnlyComputedGalaxyConfig(ComputedGalaxyConfig): PanelViewDict = Dict[str, Any] PanelViewField = Field( title="Panel Views", - description="""Definitions of static toolbox panel views embedded directly in the config instead of reading -YAML from directory with panel_views_dir.""", + description="""Definitions of static toolbox panel views embedded directly in the config instead of reading YAML from directory with panel_views_dir.""", ) @@ -285,8 +280,7 @@ class ExposableGalaxyConfig(Model): Field( per_host=True, title="Terms Url", - description="""The URL linked by the "Terms and Conditions" link in the "Help" menu, as well -as on the user registration and login forms and in the activation emails.""", + description="""The URL linked by the "Terms and Conditions" link in the "Help" menu, as well as on the user registration and login forms and in the activation emails.""", ), ] = None @@ -355,12 +349,7 @@ class ExposableGalaxyConfig(Model): str, Field( title="Default Locale", - description="""Default localization for Galaxy UI. -Allowed values are listed at the end of client/src/nls/locale.js. -With the default value (auto), the locale will be automatically adjusted to -the user's navigator language. -Users can override this settings in their user preferences if the localization -settings are enabled in user_preferences_extra_conf.yml""", + description="""Default localization for Galaxy UI. Allowed values are listed at the end of client/src/nls/locale.js. With the default value (auto), the locale will be automatically adjusted to the user's navigator language. Users can override this settings in their user preferences if the localization settings are enabled in user_preferences_extra_conf.yml""", ), ] = "auto" @@ -376,8 +365,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Enable Tool Recommendations", - description="""Allow the display of tool recommendations in workflow editor and after tool execution. -If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well""", + description="""Allow the display of tool recommendations in workflow editor and after tool execution. If it is enabled and set to true, please enable 'tool_recommendation_model_path' as well""", ), ] = False @@ -394,9 +382,7 @@ class ExposableGalaxyConfig(Model): Field( path_resolves_to=CONFIG_DIR, title="Admin Tool Recommendations Path", - description="""Set path to the additional tool preferences from Galaxy admins. -It has two blocks. One for listing deprecated tools which will be removed from the recommendations and -another is for adding additional tools to be recommended along side those from the deep learning model.""", + description="""Set path to the additional tool preferences from Galaxy admins. It has two blocks. One for listing deprecated tools which will be removed from the recommendations and another is for adding additional tools to be recommended along side those from the deep learning model.""", ), ] = "tool_recommendations_overwrite.yml" @@ -404,9 +390,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Overwrite Model Recommendations", - description="""Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model -are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools -by admins and predicted by the deep learning model are shown.""", + description="""Overwrite or append to the tool recommendations by the deep learning model. When set to true, all the recommendations by the deep learning model are overwritten by the recommendations set by an admin in a config file 'tool_recommendations_overwrite.yml'. When set to false, the recommended tools by admins and predicted by the deep learning model are shown.""", ), ] = False @@ -438,9 +422,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Allow User Dataset Purge", - description="""Allow users to remove their datasets from disk immediately (otherwise, -datasets will be removed after a time period specified by an administrator in -the cleanup scripts run via cron)""", + description="""Allow users to remove their datasets from disk immediately (otherwise, datasets will be removed after a time period specified by an administrator in the cleanup scripts run via cron)""", ), ] = True @@ -448,10 +430,7 @@ class ExposableGalaxyConfig(Model): Optional[bool], Field( title="Use Remote User", - description="""User authentication can be delegated to an upstream proxy server (usually -Apache). The upstream proxy should set a REMOTE_USER header in the request. -Enabling remote user disables regular logins. For more information, see: -https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html""", + description="""User authentication can be delegated to an upstream proxy server (usually Apache). The upstream proxy should set a REMOTE_USER header in the request. Enabling remote user disables regular logins. For more information, see: https://docs.galaxyproject.org/en/master/admin/special_topics/apache.html""", ), ] = False @@ -468,11 +447,7 @@ class ExposableGalaxyConfig(Model): Optional[Union[bool, str]], Field( title="Single User", - description="""If an e-mail address is specified here, it will hijack remote user mechanics -(``use_remote_user``) and have the webapp inject a single fixed user. This -has the effect of turning Galaxy into a single user application with no -login or external proxy required. Such applications should not be exposed to -the world.""", + description="""If an e-mail address is specified here, it will hijack remote user mechanics (``use_remote_user``) and have the webapp inject a single fixed user. This has the effect of turning Galaxy into a single user application with no login or external proxy required. Such applications should not be exposed to the world.""", ), ] = None @@ -530,8 +505,7 @@ class ExposableGalaxyConfig(Model): Optional[str], Field( title="Google Analytics Code", - description="""You can enter tracking code here to track visitor's behavior -through your Google Analytics account. Example: UA-XXXXXXXX-Y""", + description="""You can enter tracking code here to track visitor's behavior through your Google Analytics account. Example: UA-XXXXXXXX-Y""", ), ] = None @@ -539,8 +513,7 @@ class ExposableGalaxyConfig(Model): Optional[str], Field( title="Plausible Server", - description="""Please enter the URL for the Plausible server (including https) so this can be used for tracking -with Plausible (https://plausible.io/).""", + description="""Please enter the URL for the Plausible server (including https) so this can be used for tracking with Plausible (https://plausible.io/).""", ), ] = None @@ -548,8 +521,7 @@ class ExposableGalaxyConfig(Model): Optional[str], Field( title="Plausible Domain", - description="""Please enter the URL for the Galaxy server so this can be used for tracking -with Plausible (https://plausible.io/).""", + description="""Please enter the URL for the Galaxy server so this can be used for tracking with Plausible (https://plausible.io/).""", ), ] = None @@ -557,8 +529,7 @@ class ExposableGalaxyConfig(Model): Optional[str], Field( title="Matomo Server", - description="""Please enter the URL for the Matomo server (including https) so this can be used for tracking -with Matomo (https://matomo.org/).""", + description="""Please enter the URL for the Matomo server (including https) so this can be used for tracking with Matomo (https://matomo.org/).""", ), ] = None @@ -566,8 +537,7 @@ class ExposableGalaxyConfig(Model): Optional[str], Field( title="Matomo Site Id", - description="""Please enter the site ID for the Matomo server so this can be used for tracking -with Matomo (https://matomo.org/).""", + description="""Please enter the site ID for the Matomo server so this can be used for tracking with Matomo (https://matomo.org/).""", ), ] = None @@ -575,12 +545,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Enable Unique Workflow Defaults", - description="""Enable a feature when running workflows. When enabled, default datasets -are selected for "Set at Runtime" inputs from the history such that the -same input will not be selected twice, unless there are more inputs than -compatible datasets in the history. -When false, the most recently added compatible item in the history will -be used for each "Set at Runtime" input, independent of others in the workflow.""", + description="""Enable a feature when running workflows. When enabled, default datasets are selected for "Set at Runtime" inputs from the history such that the same input will not be selected twice, unless there are more inputs than compatible datasets in the history. When false, the most recently added compatible item in the history will be used for each "Set at Runtime" input, independent of others in the workflow.""", ), ] = False @@ -588,9 +553,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Enable Beta Markdown Export", - description="""Enable export of Galaxy Markdown documents (pages and workflow reports) -to PDF. Requires manual installation and setup of weasyprint (latest version -available for Python 2.7 is 0.42).""", + description="""Enable export of Galaxy Markdown documents (pages and workflow reports) to PDF. Requires manual installation and setup of weasyprint (latest version available for Python 2.7 is 0.42).""", ), ] = False @@ -607,13 +570,7 @@ class ExposableGalaxyConfig(Model): Field( per_host=True, title="Simplified Workflow Run Ui", - description="""If set to 'off' by default, always use the traditional workflow form that renders -all steps in the GUI and serializes the tool state of all steps during -invocation. Set to 'prefer' to default to a simplified workflow UI that -only renders the inputs if possible (the workflow must have no disconnected -runtime inputs and not replacement parameters within tool steps). In the -future 'force' may be added an option for Galaskio-style servers that should -only render simplified workflows.""", + description="""If set to 'off' by default, always use the traditional workflow form that renders all steps in the GUI and serializes the tool state of all steps during invocation. Set to 'prefer' to default to a simplified workflow UI that only renders the inputs if possible (the workflow must have no disconnected runtime inputs and not replacement parameters within tool steps). In the future 'force' may be added an option for Galaskio-style servers that should only render simplified workflows.""", ), ] = "prefer" @@ -622,13 +579,7 @@ class ExposableGalaxyConfig(Model): Field( per_host=True, title="Simplified Workflow Run Ui Target History", - description="""When the simplified workflow run form is rendered, should the invocation outputs -be sent to the 'current' history or a 'new' history. If the user should be presented -and option between these - set this to 'prefer_current' or 'prefer_new' to display -a runtime setting with the corresponding default. The default is to provide the -user this option and default it to the current history (the traditional behavior -of Galaxy for years) - this corresponds to the setting 'prefer_current'. -""", + description="""When the simplified workflow run form is rendered, should the invocation outputs be sent to the 'current' history or a 'new' history. If the user should be presented and option between these - set this to 'prefer_current' or 'prefer_new' to display a runtime setting with the corresponding default. The default is to provide the user this option and default it to the current history (the traditional behavior of Galaxy for years) - this corresponds to the setting 'prefer_current'.""", ), ] = "prefer_current" @@ -637,8 +588,7 @@ class ExposableGalaxyConfig(Model): Field( per_host=True, title="Simplified Workflow Run Ui Job Cache", - description="""When the simplified workflow run form is rendered, should the invocation use job -caching. This isn't a boolean so an option for 'show-selection' can be added later.""", + description="""When the simplified workflow run form is rendered, should the invocation use job caching. This isn't a boolean so an option for 'show-selection' can be added later.""", ), ] = "off" @@ -646,8 +596,7 @@ class ExposableGalaxyConfig(Model): Optional[str], Field( title="Nginx Upload Path", - description="""This value overrides the action set on the file upload form, e.g. the web -path where the nginx_upload_module has been configured to intercept upload requests.""", + description="""This value overrides the action set on the file upload form, e.g. the web path where the nginx_upload_module has been configured to intercept upload requests.""", ), ] @@ -655,10 +604,7 @@ class ExposableGalaxyConfig(Model): int, Field( title="Chunk Upload Size", - description="""Galaxy can upload user files in chunks without using nginx. Enable the chunk -uploader by specifying a chunk size larger than 0. The chunk size is specified -in bytes (default: 10MB). -""", + description="""Galaxy can upload user files in chunks without using nginx. Enable the chunk uploader by specifying a chunk size larger than 0. The chunk size is specified in bytes (default: 10MB).""", ), ] = 10485760 @@ -667,11 +613,7 @@ class ExposableGalaxyConfig(Model): Field( per_host=True, title="Ftp Upload Site", - description="""Enable Galaxy's "Upload via FTP" interface. -You'll need to install and configure an FTP server (we've used ProFTPd since it can use Galaxy's -database for authentication) and set the following two options. -This will be provided to users in the help text as 'log in to the FTP server at '. -Thus, it should be the hostname of your FTP server.""", + description="""Enable Galaxy's "Upload via FTP" interface. You'll need to install and configure an FTP server (we've used ProFTPd since it can use Galaxy's database for authentication) and set the following two options. This will be provided to users in the help text as 'log in to the FTP server at '. Thus, it should be the hostname of your FTP server.""", ), ] = None @@ -687,8 +629,7 @@ class ExposableGalaxyConfig(Model): str, Field( title="Inactivity Box Content", - description="""Shown in warning box to users that were not activated yet. -In use only if activation_grace_period is set.""", + description="""Shown in warning box to users that were not activated yet. In use only if activation_grace_period is set.""", ), ] = "Your account has not been activated yet. Feel free to browse around and see what's available, but you won't be able to upload data or run jobs until you have verified your email address." @@ -712,9 +653,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Aws Estimate", - description="""This flag enables an AWS cost estimate for every job based on their runtime matrices. -CPU, RAM and runtime usage is mapped against AWS pricing table. -Please note, that those numbers are only estimates.""", + description="""This flag enables an AWS cost estimate for every job based on their runtime matrices. CPU, RAM and runtime usage is mapped against AWS pricing table. Please note, that those numbers are only estimates.""", ), ] = False @@ -722,12 +661,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Carbon Emission Estimates", - description="""This flag enables carbon emissions estimates for every job based on its runtime metrics. -CPU and RAM usage and the total job runtime are used to determine an estimate value. -These estimates and are based off of the work of the Green Algorithms Project and -the United States Environmental Protection Agency (EPA). -Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator. -for more details.""", + description="""This flag enables carbon emissions estimates for every job based on its runtime metrics. CPU and RAM usage and the total job runtime are used to determine an estimate value. These estimates and are based off of the work of the Green Algorithms Project and the United States Environmental Protection Agency (EPA). Visit https://www.green-algorithms.org/ and https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator for more details.""", ), ] = True @@ -735,11 +669,7 @@ class ExposableGalaxyConfig(Model): str, Field( title="Geographical Server Location Code", - description="""The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. -This is used to make carbon emissions estimates more accurate as the location effects the -carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the -`geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, -visit https://galaxyproject.org/admin/carbon_emissions""", + description="""The estimated geographical location of the server hosting your galaxy instance given as an ISO 3166 code. This is used to make carbon emissions estimates more accurate as the location effects the carbon intensity values used in the estimate calculation. This defaults to "GLOBAL" if not set or the `geographical_server_location_code` value is invalid or unsupported. To see a full list of supported locations, visit https://galaxyproject.org/admin/carbon_emissions""", ), ] = "GLOBAL" @@ -747,11 +677,7 @@ class ExposableGalaxyConfig(Model): float, Field( title="Power Usage Effectiveness", - description="""The estimated power usage effectiveness of the data centre housing the server your galaxy -instance is running on. This can make carbon emissions estimates more accurate. -For more information on how to calculate a PUE value, visit -https://en.wikipedia.org/wiki/Power_usage_effectiveness -""", + description="""The estimated power usage effectiveness of the data centre housing the server your galaxy instance is running on. This can make carbon emissions estimates more accurate. For more information on how to calculate a PUE value, visit https://en.wikipedia.org/wiki/Power_usage_effectiveness""", ), ] = 1.67 @@ -778,8 +704,7 @@ class ExposableGalaxyConfig(Model): Field( reloadable=True, title="Message Box Class", - description="""Class of the message box under the masthead. -Possible values are: 'info' (the default), 'warning', 'error', 'done'.""", + description="""Class of the message box under the masthead. Possible values are: 'info' (the default), 'warning', 'error', 'done'.""", ), ] = "info" @@ -787,11 +712,7 @@ class ExposableGalaxyConfig(Model): Optional[str], Field( title="Mailing Join Address", - description="""On the user registration form, users may choose to join a mailing list. This -is the address used to subscribe to the list. Uncomment and leave empty if you -want to remove this option from the user registration form. - -Example value 'galaxy-announce-join@lists.galaxyproject.org'""", + description="""On the user registration form, users may choose to join a mailing list. This is the address used to subscribe to the list. Uncomment and leave empty if you want to remove this option from the user registration form. Example value 'galaxy-announce-join@lists.galaxyproject.org'""", ), ] = "galaxy-announce-join@bx.psu.edu" @@ -799,9 +720,7 @@ class ExposableGalaxyConfig(Model): Optional[str], Field( title="Registration Warning Message", - description="""Registration warning message is used to discourage people from registering -multiple accounts. Applies mostly for the main Galaxy instance. -If no message specified the warning box will not be shown.""", + description="""Registration warning message is used to discourage people from registering multiple accounts. Applies mostly for the main Galaxy instance. If no message specified the warning box will not be shown.""", ), ] = "Please register only one account - we provide this service free of charge and have limited computational resources. Multi-accounts are tracked and will be subjected to account termination and data deletion." @@ -811,8 +730,7 @@ class ExposableGalaxyConfig(Model): reloadable=True, per_host=True, title="Welcome Url", - description="""The URL of the page to display in Galaxy's middle pane when loaded. This can -be an absolute or relative URL.""", + description="""The URL of the page to display in Galaxy's middle pane when loaded. This can be an absolute or relative URL.""", ), ] = "/static/welcome.html" @@ -820,8 +738,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Show Welcome With Login", - description="""Show the site's welcome page (see welcome_url) alongside the login page -(even if require_login is true).""", + description="""Show the site's welcome page (see welcome_url) alongside the login page (even if require_login is true).""", ), ] = False @@ -829,10 +746,7 @@ class ExposableGalaxyConfig(Model): Optional[str], Field( title="Cookie Domain", - description="""Tell Galaxy that multiple domains sharing the same root are associated -to this instance and wants to share the same session cookie. -This allow a user to stay logged in when passing from one subdomain to the other. -This root domain will be written in the unique session cookie shared by all subdomains.""", + description="""Tell Galaxy that multiple domains sharing the same root are associated to this instance and wants to share the same session cookie. This allow a user to stay logged in when passing from one subdomain to the other. This root domain will be written in the unique session cookie shared by all subdomains.""", ), ] @@ -840,10 +754,7 @@ class ExposableGalaxyConfig(Model): int, Field( title="Select Type Workflow Threshold", - description="""Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) -Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. -use 0 in order to always use select2 fields, use -1 (default) in order to always use the regular select fields, -use any other positive number as threshold (above threshold: regular select fields will be used)""", + description="""Due to performance considerations (select2 fields are pretty 'expensive' in terms of memory usage) Galaxy uses the regular select fields for non-dataset selectors in the workflow run form. Use 0 in order to always use select2 fields, use -1 (default) in order to always use the regular select fields, use any other positive number as threshold (above threshold: regular select fields will be used)""", ), ] = -1 @@ -852,10 +763,7 @@ class ExposableGalaxyConfig(Model): Field( reloadable=True, title="Toolbox Auto Sort", - description="""If true, the toolbox will be sorted by tool id when the toolbox is loaded. -This is useful for ensuring that tools are always displayed in the same -order in the UI. If false, the order of tools in the toolbox will be -preserved as they are loaded from the tool config files.""", + description="""If true, the toolbox will be sorted by tool id when the toolbox is loaded. This is useful for ensuring that tools are always displayed in the same order in the UI. If false, the order of tools in the toolbox will be preserved as they are loaded from the tool config files.""", ), ] = True @@ -863,10 +771,7 @@ class ExposableGalaxyConfig(Model): str, Field( title="Default Panel View", - description="""Default tool panel view for the current Galaxy configuration. This should refer to an id of -a panel view defined using the panel_views or panel_views_dir configuration options or an -EDAM panel view. The default panel view is simply called `default` and refers to the tool -panel state defined by the integrated tool panel.""", + description="""Default tool panel view for the current Galaxy configuration. This should refer to an id of a panel view defined using the panel_views or panel_views_dir configuration options or an EDAM panel view. The default panel view is simply called `default` and refers to the tool panel state defined by the integrated tool panel.""", ), ] = "default" @@ -874,11 +779,7 @@ class ExposableGalaxyConfig(Model): Literal["always-on", "always-off"], Field( title="Upload From Form Button", - description="""If 'always-on', add another button to tool form data inputs that allow uploading -data from the tool form in fewer clicks (at the expense of making the form more complicated). This applies to workflows as well. - -Avoiding making this a boolean because we may add options such as 'in-single-form-view' -or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109""", + description="""If 'always-on', add another button to tool form data inputs that allow uploading data from the tool form in fewer clicks (at the expense of making the form more complicated). This applies to workflows as well. Avoiding making this a boolean because we may add options such as 'in-single-form-view' or 'in-simplified-workflow-views'. https://github.com/galaxyproject/galaxy/pull/9809/files#r461889109""", ), ] = "always-off" @@ -894,14 +795,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Expose User Email", - description="""Expose user list. Setting this to true will expose the user list to -authenticated users. This makes sharing datasets in smaller galaxy instances -much easier as they can type a name/email and have the correct user show up. -This makes less sense on large public Galaxy instances where that data -shouldn't be exposed. For semi-public Galaxies, it may make sense to expose -just the username and not email, or vice versa. - -If enable_beta_gdpr is set to true, then this option will be overridden and set to false.""", + description="""Expose user list. Setting this to true will expose the user list to authenticated users. This makes sharing datasets in smaller galaxy instances much easier as they can type a name/email and have the correct user show up. This makes less sense on large public Galaxy instances where that data shouldn't be exposed. For semi-public Galaxies, it may make sense to expose just the username and not email, or vice versa. If enable_beta_gdpr is set to true, then this option will be overridden and set to false.""", ), ] = False @@ -909,11 +803,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Enable Tool Source Display", - description="""This option allows users to view the tool wrapper source code. This is -safe to enable if you have not hardcoded any secrets in any of the tool -wrappers installed on this Galaxy server. If you have only installed tool -wrappers from public tool sheds and tools shipped with Galaxy there you -can enable this option.""", + description="""This option allows users to view the tool wrapper source code. This is safe to enable if you have not hardcoded any secrets in any of the tool wrappers installed on this Galaxy server. If you have only installed tool wrappers from public tool sheds and tools shipped with Galaxy there you can enable this option.""", ), ] = False @@ -921,9 +811,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Enable Celery Tasks", - description="""Offload long-running tasks to a Celery task queue. -Activate this only if you have setup a Celery worker for Galaxy. -For details, see https://docs.galaxyproject.org/en/master/admin/production.html""", + description="""Offload long-running tasks to a Celery task queue. Activate this only if you have setup a Celery worker for Galaxy. For details, see https://docs.galaxyproject.org/en/master/admin/production.html""", ), ] = False @@ -931,9 +819,7 @@ class ExposableGalaxyConfig(Model): str, Field( title="Welcome Directory", - description="""Location of New User Welcome data, a single directory containing the -images and JSON of Topics/Subtopics/Slides as export. This location -is relative to galaxy/static""", + description="""Location of New User Welcome data, a single directory containing the images and JSON of Topics/Subtopics/Slides as export. This location is relative to galaxy/static""", ), ] = "plugins/welcome_page/new_user/static/topics/" @@ -941,11 +827,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Tool Training Recommendations", - description="""Displays a link to training material, if any includes the current tool. -When activated the following options also need to be set: - tool_training_recommendations_link, - tool_training_recommendations_api_url -""", + description="""Displays a link to training material, if any includes the current tool. When activated the following options also need to be set: tool_training_recommendations_link, tool_training_recommendations_api_url""", ), ] = True @@ -953,14 +835,7 @@ class ExposableGalaxyConfig(Model): str, Field( title="Tool Training Recommendations Link", - description="""Template URL to display all tutorials containing current tool. -Valid template inputs are: - {repository_owner} - {name} - {tool_id} - {training_tool_identifier} - {version} -""", + description="""Template URL to display all tutorials containing current tool. Valid template inputs are: {repository_owner} {name} {tool_id} {training_tool_identifier} {version}""", ), ] = "https://training.galaxyproject.org/training-material/by-tool/{training_tool_identifier}.html" @@ -968,8 +843,7 @@ class ExposableGalaxyConfig(Model): str, Field( title="Tool Training Recommendations Api Url", - description="""URL to API describing tutorials containing specific tools. -When CORS is used, make sure to add this host.""", + description="""URL to API describing tutorials containing specific tools. When CORS is used, make sure to add this host.""", ), ] = "https://training.galaxyproject.org/training-material/api/top-tools.json" @@ -977,14 +851,7 @@ class ExposableGalaxyConfig(Model): bool, Field( title="Enable Notification System", - description="""Enables the Notification System integrated in Galaxy. - -Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. - -The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. - -Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples. -""", + description="""Enables the Notification System integrated in Galaxy. Users can receive automatic notifications when a certain resource is shared with them or when some long running operations have finished, etc. The system allows notification scheduling and expiration, and users can opt-out of specific notification categories or channels. Admins can schedule and broadcast notifications that will be visible to all users, including special server-wide announcements such as scheduled maintenance, high load warnings, and event announcements, to name a few examples.""", ), ] = False @@ -999,8 +866,7 @@ class AdminExposableGalaxyConfig(ExposableGalaxyConfig): Optional[str], Field( title="Library Import Dir", - description="""Add an option to the library upload form which allows administrators to -upload a directory of files.""", + description="""Add an option to the library upload form which allows administrators to upload a directory of files.""", ), ] = None @@ -1008,11 +874,7 @@ class AdminExposableGalaxyConfig(ExposableGalaxyConfig): Optional[str], Field( title="User Library Import Dir", - description="""Add an option to the library upload form which allows authorized -non-administrators to upload a directory of files. The configured directory -must contain sub-directories named the same as the non-admin user's Galaxy -login ( email ). The non-admin user is restricted to uploading files or -sub-directories of files contained in their directory.""", + description="""Add an option to the library upload form which allows authorized non-administrators to upload a directory of files. The configured directory must contain sub-directories named the same as the non-admin user's Galaxy login ( email ). The non-admin user is restricted to uploading files or sub-directories of files contained in their directory.""", ), ] = None @@ -1020,8 +882,7 @@ class AdminExposableGalaxyConfig(ExposableGalaxyConfig): bool, Field( title="Allow Library Path Paste", - description="""Adds an option to the admin library upload tool allowing admins to paste -filesystem paths to files and directories in a box, and these paths will be added to a library.""", + description="""Adds an option to the admin library upload tool allowing admins to paste filesystem paths to files and directories in a box, and these paths will be added to a library.""", ), ] = False @@ -1044,10 +905,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Config Dir", - description="""The directory that will be prepended to relative paths in options specifying -other Galaxy config files (e.g. datatypes_config_file). Defaults to the -directory in which galaxy.yml is located. -""", + description="""The directory that will be prepended to relative paths in options specifying other Galaxy config files (e.g. datatypes_config_file). Defaults to the directory in which galaxy.yml is located.""", ), ] = None @@ -1055,11 +913,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Managed Config Dir", - description="""The directory that will be prepended to relative paths in options specifying -config files controlled by Galaxy (such as shed_tool_config_file, etc.). Must be -writable by the user running Galaxy. Defaults to `/` if running -Galaxy from source or `/config` otherwise. -""", + description="""The directory that will be prepended to relative paths in options specifying config files controlled by Galaxy (such as shed_tool_config_file, etc.). Must be writable by the user running Galaxy. Defaults to `/` if running Galaxy from source or `/config` otherwise.""", ), ] = None @@ -1067,11 +921,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Data Dir", - description="""The directory that will be prepended to relative paths in options specifying -Galaxy data/cache directories and files (such as the default SQLite database, -file_path, etc.). Defaults to `database/` if running Galaxy from source or -`/data` otherwise. -""", + description="""The directory that will be prepended to relative paths in options specifying Galaxy data/cache directories and files (such as the default SQLite database, file_path, etc.). Defaults to `database/` if running Galaxy from source or `/data` otherwise.""", ), ] = None @@ -1089,8 +939,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=DATA_DIR, title="Cache Dir", - description="""Top level cache directory. Any other cache directories (tool_cache_data_dir, -template_cache_path, etc.) should be subdirectories.""", + description="""Top level cache directory. Any other cache directories (tool_cache_data_dir, template_cache_path, etc.) should be subdirectories.""", ), ] = "cache" @@ -1098,22 +947,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Database Connection", - description="""By default, Galaxy uses a SQLite database at '/universe.sqlite'. You -may use a SQLAlchemy connection string to specify an external database instead. - -Sample default 'sqlite:////universe.sqlite?isolation_level=IMMEDIATE' - -You may specify additional options that will be passed to the SQLAlchemy -database engine by using the prefix "database_engine_option_". For some of these -options, default values are provided (e.g. see database_engine_option_pool_size, -etc.). - -The same applies to `install_database_connection`, for which you should use the -"install_database_engine_option_" prefix. - -For more options, please check SQLAlchemy's documentation at -https://docs.sqlalchemy.org/en/14/core/engines.html?highlight=create_engine#sqlalchemy.create_engine -""", + description="""By default, Galaxy uses a SQLite database at '/universe.sqlite'. You may use a SQLAlchemy connection string to specify an external database instead. Sample default 'sqlite:////universe.sqlite?isolation_level=IMMEDIATE' You may specify additional options that will be passed to the SQLAlchemy database engine by using the prefix "database_engine_option_". For some of these options, default values are provided (e.g. see database_engine_option_pool_size, etc.). The same applies to `install_database_connection`, for which you should use the "install_database_engine_option_" prefix. For more options, please check SQLAlchemy's documentation at https://docs.sqlalchemy.org/en/14/core/engines.html?highlight=create_engine#sqlalchemy.create_engine""", ), ] = None @@ -1121,8 +955,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Database Engine Option Pool Size", - description="""If the server logs errors about not having enough database pool connections, -you will want to increase these values, or consider running more Galaxy processes.""", + description="""If the server logs errors about not having enough database pool connections, you will want to increase these values, or consider running more Galaxy processes.""", ), ] = 5 @@ -1130,8 +963,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Database Engine Option Max Overflow", - description="""If the server logs errors about not having enough database pool connections, -you will want to increase these values, or consider running more Galaxy processes.""", + description="""If the server logs errors about not having enough database pool connections, you will want to increase these values, or consider running more Galaxy processes.""", ), ] = 10 @@ -1139,8 +971,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Database Engine Option Pool Recycle", - description="""If using MySQL and the server logs the error "MySQL server has gone away", -you will want to set this to some positive value (7200 should work).""", + description="""If using MySQL and the server logs the error "MySQL server has gone away", you will want to set this to some positive value (7200 should work).""", ), ] = -1 @@ -1148,10 +979,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Database Engine Option Server Side Cursors", - description="""If large database query results are causing memory or response time issues in -the Galaxy process, leave the result on the server instead. This option is -only available for PostgreSQL and is highly recommended. -""", + description="""If large database query results are causing memory or response time issues in the Galaxy process, leave the result on the server instead. This option is only available for PostgreSQL and is highly recommended.""", ), ] = False @@ -1159,10 +987,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Database Query Profiling Proxy", - description="""Log all database transactions, can be useful for debugging and performance -profiling. Logging is done via Python's 'logging' module under the qualname -'galaxy.model.orm.logging_connection_proxy' -""", + description="""Log all database transactions, can be useful for debugging and performance profiling. Logging is done via Python's 'logging' module under the qualname 'galaxy.model.orm.logging_connection_proxy'""", ), ] = False @@ -1170,10 +995,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Database Template", - description="""If auto-creating a postgres database on startup - it can be based on an existing -template database. This will set that. This is probably only useful for testing but -documentation is included here for completeness. -""", + description="""If auto-creating a postgres database on startup - it can be based on an existing template database. This will set that. This is probably only useful for testing but documentation is included here for completeness.""", ), ] = None @@ -1181,13 +1003,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Database Log Query Counts", - description="""Log number of SQL queries executed and total time spent dispatching SQL statements for -each web request. If statsd is also enabled this information will be logged there as well. -This should be considered somewhat experimental, we are unsure of the performance costs of -running this in production. This is useful information for optimizing database interaction -performance. Similar information can be obtained on a per-request basis by enabling the -sql_debug middleware and adding sql_debug=1 to a request string. -""", + description="""Log number of SQL queries executed and total time spent dispatching SQL statements for each web request. If statsd is also enabled this information will be logged there as well. This should be considered somewhat experimental, we are unsure of the performance costs of running this in production. This is useful information for optimizing database interaction performance. Similar information can be obtained on a per-request basis by enabling the sql_debug middleware and adding sql_debug=1 to a request string.""", ), ] = False @@ -1195,10 +1011,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[float], Field( title="Slow Query Log Threshold", - description="""Slow query logging. Queries slower than the threshold indicated below will -be logged to debug. A value of '0' is disabled. For example, you would set -this to .005 to log all queries taking longer than 5 milliseconds. -""", + description="""Slow query logging. Queries slower than the threshold indicated below will be logged to debug. A value of '0' is disabled. For example, you would set this to .005 to log all queries taking longer than 5 milliseconds.""", ), ] = 0.0 @@ -1206,11 +1019,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Enable Per Request Sql Debugging", - description="""Enables a per request sql debugging option. If this is set to true, -append ?sql_debug=1 to web request URLs to enable detailed logging on -the backend of SQL queries generated during that request. This is -useful for debugging slow endpoints during development. -""", + description="""Enables a per request sql debugging option. If this is set to true, append ?sql_debug=1 to web request URLs to enable detailed logging on the backend of SQL queries generated during that request. This is useful for debugging slow endpoints during development.""", ), ] = False @@ -1218,15 +1027,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Install Database Connection", - description="""By default, Galaxy will use the same database to track user data and -tool shed install data. There are many situations in which it is -valuable to separate these - for instance bootstrapping fresh Galaxy -instances with pretested installs. The following option can be used to -separate the tool shed install database (all other options listed above -but prefixed with ``install_`` are also available). - -Defaults to the value of the 'database_connection' option. -""", + description="""By default, Galaxy will use the same database to track user data and tool shed install data. There are many situations in which it is valuable to separate these - for instance bootstrapping fresh Galaxy instances with pretested installs. The following option can be used to separate the tool shed install database (all other options listed above but prefixed with ``install_`` are also available). Defaults to the value of the 'database_connection' option.""", ), ] = None @@ -1234,9 +1035,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Database Auto Migrate", - description="""Setting the following option to true will cause Galaxy to automatically -migrate the database forward after updates. This is not recommended for production use. -""", + description="""Setting the following option to true will cause Galaxy to automatically migrate the database forward after updates. This is not recommended for production use.""", ), ] = False @@ -1268,9 +1067,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="History Audit Table Prune Interval", - description="""Time (in seconds) between attempts to remove old rows from the history_audit database table. -Set to 0 to disable pruning. -""", + description="""Time (in seconds) between attempts to remove old rows from the history_audit database table. Set to 0 to disable pruning.""", ), ] = 3600 @@ -1279,11 +1076,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=DATA_DIR, title="File Path", - description="""Where dataset files are stored. It must be accessible at the same path on any cluster -nodes that will run Galaxy jobs, unless using Pulsar. The default value has been changed -from 'files' to 'objects' as of 20.05; however, Galaxy will first check if the 'files' -directory exists before using 'objects' as the default. -""", + description="""Where dataset files are stored. It must be accessible at the same path on any cluster nodes that will run Galaxy jobs, unless using Pulsar. The default value has been changed from 'files' to 'objects' as of 20.05; however, Galaxy will first check if the 'files' directory exists before using 'objects' as the default.""", ), ] = "objects" @@ -1292,9 +1085,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=DATA_DIR, title="New File Path", - description="""Where temporary files are stored. It must be accessible at the same path on any cluster -nodes that will run Galaxy jobs, unless using Pulsar. -""", + description="""Where temporary files are stored. It must be accessible at the same path on any cluster nodes that will run Galaxy jobs, unless using Pulsar.""", ), ] = "tmp" @@ -1302,9 +1093,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Maximum Upload File Size", - description="""Maximum size of uploadable files, specified in bytes (default: 100GB). -This value is ignored if an external upload server is configured. -""", + description="""Maximum size of uploadable files, specified in bytes (default: 100GB). This value is ignored if an external upload server is configured.""", ), ] = 107374182400 @@ -1313,12 +1102,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Tool Config File", - description="""Tool config files, defines what tools are available in Galaxy. -Tools can be locally developed or installed from Galaxy tool sheds. -(config/tool_conf.xml.sample will be used if left unset and -config/tool_conf.xml does not exist). Can be a single file, a list of -files, or (for backwards compatibility) a comma-separated list of files. -""", + description="""Tool config files, defines what tools are available in Galaxy. Tools can be locally developed or installed from Galaxy tool sheds. (config/tool_conf.xml.sample will be used if left unset and config/tool_conf.xml does not exist). Can be a single file, a list of files, or (for backwards compatibility) a comma-separated list of files.""", ), ] = "tool_conf.xml" @@ -1327,16 +1111,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=MANAGED_CONFIG_DIR, title="Shed Tool Config File", - description="""Tool config file for tools installed from the Galaxy Tool Shed. Must -be writable by Galaxy and generally should not be edited by hand. In -older Galaxy releases, this file was part of the tool_config_file -option. It is still possible to specify this file (and other -shed-enabled tool config files) in tool_config_file, but in the -standard case of a single shed-enabled tool config, this option is -preferable. This file will be created automatically upon tool -installation, whereas Galaxy will fail to start if any files in -tool_config_file cannot be read. -""", + description="""Tool config file for tools installed from the Galaxy Tool Shed. Must be writable by Galaxy and generally should not be edited by hand. In older Galaxy releases, this file was part of the tool_config_file option. It is still possible to specify this file (and other shed-enabled tool config files) in tool_config_file, but in the standard case of a single shed-enabled tool config, this option is preferable. This file will be created automatically upon tool installation, whereas Galaxy will fail to start if any files in tool_config_file cannot be read.""", ), ] = "shed_tool_conf.xml" @@ -1346,11 +1121,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) path_resolves_to=MANAGED_CONFIG_DIR, deprecated=True, title="Migrated Tools Config", - description="""This option is deprecated. -In previous releases this file was maintained by tool migration scripts that are no -longer part of the code base. The option remains as a placeholder for deployments where -these scripts were previously run and such a file exists. -""", + description="""This option is deprecated. In previous releases this file was maintained by tool migration scripts that are no longer part of the code base. The option remains as a placeholder for deployments where these scripts were previously run and such a file exists.""", ), ] = "migrated_tools_conf.xml" @@ -1358,13 +1129,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Integrated Tool Panel Config", - description="""File that contains the XML section and tool tags from all tool panel config -files integrated into a single file that defines the tool panel layout. This -file can be changed by the Galaxy administrator to alter the layout of the -tool panel. If not present, Galaxy will create it. - -The value of this option will be resolved with respect to . -""", + description="""File that contains the XML section and tool tags from all tool panel config files integrated into a single file that defines the tool panel layout. This file can be changed by the Galaxy administrator to alter the layout of the tool panel. If not present, Galaxy will create it. The value of this option will be resolved with respect to .""", ), ] = "integrated_tool_panel.xml" @@ -1372,10 +1137,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Tool Path", - description="""Default path to the directory containing the tools defined in tool_conf.xml. -Other tool config files must include the tool_path as an attribute in the - tag. -""", + description="""Default path to the directory containing the tools defined in tool_conf.xml. Other tool config files must include the tool_path as an attribute in the tag.""", ), ] = "tools" @@ -1384,14 +1146,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=DATA_DIR, title="Tool Dependency Dir", - description="""Various dependency resolver configuration parameters will have defaults set relative -to this path, such as the default conda prefix, default Galaxy packages path, legacy -tool shed dependencies path, and the dependency cache directory. - -Set the string to null to explicitly disable tool dependency handling. -If this option is set to none or an invalid path, installing tools with dependencies -from the Tool Shed or in Conda will fail. -""", + description="""Various dependency resolver configuration parameters will have defaults set relative to this path, such as the default conda prefix, default Galaxy packages path, legacy tool shed dependencies path, and the dependency cache directory. Set the string to null to explicitly disable tool dependency handling. If this option is set to none or an invalid path, installing tools with dependencies from the Tool Shed or in Conda will fail.""", ), ] = "dependencies" @@ -1400,10 +1155,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Dependency Resolvers Config File", - description="""Specifies the path to the standalone dependency resolvers configuration file. This -configuration can now be specified directly in the Galaxy configuration, see the -description of the 'dependency_resolvers' option for details. -""", + description="""Specifies the path to the standalone dependency resolvers configuration file. This configuration can now be specified directly in the Galaxy configuration, see the description of the 'dependency_resolvers' option for details.""", ), ] = "dependency_resolvers_conf.xml" @@ -1411,11 +1163,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Conda Prefix", - description="""conda_prefix is the location on the filesystem where Conda packages and environments are -installed. - -Sample default '/_conda' -""", + description="""conda_prefix is the location on the filesystem where Conda packages and environments are installed. Sample default '/_conda'""", ), ] = None @@ -1423,9 +1171,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Conda Exec", - description="""Override the Conda executable to use, it will default to the one on the -PATH (if available) and then to /bin/conda -""", + description="""Override the Conda executable to use, it will default to the one on the PATH (if available) and then to /bin/conda""", ), ] = None @@ -1441,9 +1187,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Conda Ensure Channels", - description="""conda channels to enable by default -(https://conda.io/docs/user-guide/tasks/manage-channels.html) -""", + description="""conda channels to enable by default (https://conda.io/docs/user-guide/tasks/manage-channels.html)""", ), ] = "conda-forge,bioconda,defaults" @@ -1459,9 +1203,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Conda Auto Install", - description="""Set to true to instruct Galaxy to look for and install missing tool -dependencies before each job runs. -""", + description="""Set to true to instruct Galaxy to look for and install missing tool dependencies before each job runs.""", ), ] = False @@ -1469,9 +1211,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Conda Auto Init", - description="""Set to true to instruct Galaxy to install Conda from the web automatically -if it cannot find a local copy and conda_exec is not configured. -""", + description="""Set to true to instruct Galaxy to install Conda from the web automatically if it cannot find a local copy and conda_exec is not configured.""", ), ] = True @@ -1479,12 +1219,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Conda Copy Dependencies", - description="""You must set this to true if conda_prefix and job_working_directory are not on the same -volume, or some conda dependencies will fail to execute at job runtime. -Conda will copy packages content instead of creating hardlinks or symlinks. -This will prevent problems with some specific packages (perl, R), at the cost -of extra disk space usage and extra time spent copying packages. -""", + description="""You must set this to true if conda_prefix and job_working_directory are not on the same volume, or some conda dependencies will fail to execute at job runtime. Conda will copy packages content instead of creating hardlinks or symlinks. This will prevent problems with some specific packages (perl, R), at the cost of extra disk space usage and extra time spent copying packages.""", ), ] = False @@ -1493,9 +1228,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Local Conda Mapping File", - description="""Path to a file that provides a mapping from abstract packages to concrete conda packages. -See `config/local_conda_mapping.yml.sample` for examples. -""", + description="""Path to a file that provides a mapping from abstract packages to concrete conda packages. See `config/local_conda_mapping.yml.sample` for examples.""", ), ] = "local_conda_mapping.yml" @@ -1504,9 +1237,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Modules Mapping Files", - description="""Path to a file that provides a mapping from abstract packages to locally installed modules. -See `config/environment_modules_mapping.yml.sample` for examples. -""", + description="""Path to a file that provides a mapping from abstract packages to locally installed modules. See `config/environment_modules_mapping.yml.sample` for examples.""", ), ] = "environment_modules_mapping.yml" @@ -1514,17 +1245,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Use Cached Dependency Manager", - description="""Certain dependency resolvers (namely Conda) take a considerable amount of -time to build an isolated job environment in the job_working_directory if the -job working directory is on a network share. Set this option to true -to cache the dependencies in a folder. This option is beta and should only be -used if you experience long waiting times before a job is actually submitted -to your cluster. - -This only affects tools where some requirements can be resolved but not others, -most modern best practice tools can use prebuilt environments in the Conda -directory. -""", + description="""Certain dependency resolvers (namely Conda) take a considerable amount of time to build an isolated job environment in the job_working_directory if the job working directory is on a network share. Set this option to true to cache the dependencies in a folder. This option is beta and should only be used if you experience long waiting times before a job is actually submitted to your cluster. This only affects tools where some requirements can be resolved but not others, most modern best practice tools can use prebuilt environments in the Conda directory.""", ), ] = False @@ -1532,11 +1253,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Tool Dependency Cache Dir", - description="""By default the tool_dependency_cache_dir is the _cache directory -of the tool dependency directory. - -Sample default '/_cache' -""", + description="""By default the tool_dependency_cache_dir is the _cache directory of the tool dependency directory. Sample default '/_cache'""", ), ] = None @@ -1544,10 +1261,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Precache Dependencies", - description="""By default, when using a cached dependency manager, the dependencies are cached -when installing new tools and when using tools for the first time. -Set this to false if you prefer dependencies to be cached only when installing new tools. -""", + description="""By default, when using a cached dependency manager, the dependencies are cached when installing new tools and when using tools for the first time. Set this to false if you prefer dependencies to be cached only when installing new tools.""", ), ] = True @@ -1556,9 +1270,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Tool Sheds Config File", - description="""File containing the Galaxy Tool Sheds that should be made available to -install from in the admin interface (.sample used if default does not exist). -""", + description="""File containing the Galaxy Tool Sheds that should be made available to install from in the admin interface (.sample used if default does not exist).""", ), ] = "tool_sheds_conf.xml" @@ -1566,14 +1278,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) WatchToolOptions, Field( title="Watch Tools", - description="""Monitor the tools and tool directories listed in any tool config file specified in -tool_config_file option. If changes are found, tools are automatically reloaded. -Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy -to use this option. Other options include 'auto' which will attempt to watch tools if the -watchdog library is available but won't fail to load Galaxy if it is not and 'polling' -which will use a less efficient monitoring scheme that may work in wider range of -scenarios than the watchdog default. -""", + description="""Monitor the tools and tool directories listed in any tool config file specified in tool_config_file option. If changes are found, tools are automatically reloaded. Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy to use this option. Other options include 'auto' which will attempt to watch tools if the watchdog library is available but won't fail to load Galaxy if it is not and 'polling' which will use a less efficient monitoring scheme that may work in wider range of scenarios than the watchdog default.""", ), ] = "false" @@ -1581,9 +1286,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) WatchToolOptions, Field( title="Watch Job Rules", - description="""Monitor dynamic job rules. If changes are found, rules are automatically reloaded. Takes -the same values as the 'watch_tools' option. -""", + description="""Monitor dynamic job rules. If changes are found, rules are automatically reloaded. Takes the same values as the 'watch_tools' option.""", ), ] = "false" @@ -1591,10 +1294,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) WatchToolOptions, Field( title="Watch Core Config", - description="""Monitor a subset of options in the core configuration file (See RELOADABLE_CONFIG_OPTIONS -in lib/galaxy/config/__init__.py). If changes are found, modified options are -automatically reloaded. Takes the same values as the 'watch_tools' option. -""", + description="""Monitor a subset of options in the core configuration file (See RELOADABLE_CONFIG_OPTIONS in lib/galaxy/config/__init__.py). If changes are found, modified options are automatically reloaded. Takes the same values as the 'watch_tools' option.""", ), ] = "false" @@ -1602,10 +1302,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) WatchToolOptions, Field( title="Watch Tours", - description="""Monitor the interactive tours directory specified in the 'tour_config_dir' option. If -changes are found, modified tours are automatically reloaded. Takes the same values as the -'watch_tools' option. -""", + description="""Monitor the interactive tours directory specified in the 'tour_config_dir' option. If changes are found, modified tours are automatically reloaded. Takes the same values as the 'watch_tools' option.""", ), ] = "false" @@ -1614,13 +1311,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CACHE_DIR, title="Short Term Storage Dir", - description="""Location of files available for a short time as downloads (short term storage). -This directory is exclusively used for serving dynamically generated downloadable -content. Galaxy may uses the new_file_path parameter as a general temporary directory -and that directory should be monitored by a tool such as tmpwatch in production -environments. short_term_storage_dir on the other hand is monitored by Galaxy's task -framework and should not require such external tooling. -""", + description="""Location of files available for a short time as downloads (short term storage). This directory is exclusively used for serving dynamically generated downloadable content. Galaxy may uses the new_file_path parameter as a general temporary directory and that directory should be monitored by a tool such as tmpwatch in production environments. short_term_storage_dir on the other hand is monitored by Galaxy's task framework and should not require such external tooling.""", ), ] = "short_term_web_storage" @@ -1628,9 +1319,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Short Term Storage Default Duration", - description="""Default duration before short term web storage files will be cleaned up by Galaxy -tasks (in seconds). The default duration is 1 day. -""", + description="""Default duration before short term web storage files will be cleaned up by Galaxy tasks (in seconds). The default duration is 1 day.""", ), ] = 86400 @@ -1638,9 +1327,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Short Term Storage Maximum Duration", - description="""The maximum duration short term storage files can hosted before they will be marked for -clean up. The default setting of 0 indicates no limit here. -""", + description="""The maximum duration short term storage files can hosted before they will be marked for clean up. The default setting of 0 indicates no limit here.""", ), ] = 0 @@ -1648,9 +1335,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Short Term Storage Cleanup Interval", - description="""How many seconds between instances of short term storage being cleaned up in default -Celery task configuration. -""", + description="""How many seconds between instances of short term storage being cleaned up in default Celery task configuration.""", ), ] = 3600 @@ -1675,12 +1360,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Enable Mulled Containers", - description="""Enable Galaxy to fetch containers registered with quay.io generated -from tool requirements resolved through Conda. These containers (when -available) have been generated using mulled - https://github.com/mulled. -Container availability will vary by tool, this option will only be used -for job destinations with Docker or Singularity enabled. -""", + description="""Enable Galaxy to fetch containers registered with quay.io generated from tool requirements resolved through Conda. These containers (when available) have been generated using mulled - https://github.com/mulled. Container availability will vary by tool, this option will only be used for job destinations with Docker or Singularity enabled.""", ), ] = True @@ -1688,12 +1368,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Container Resolvers Config File", - description="""Container resolvers configuration. Set up a file describing -container resolvers to use when discovering containers for Galaxy. If -this is set to None, the default container resolvers loaded is -determined by enable_mulled_containers. -For available options see https://docs.galaxyproject.org/en/master/admin/container_resolvers.html -""", + description="""Container resolvers configuration. Set up a file describing container resolvers to use when discovering containers for Galaxy. If this is set to None, the default container resolvers loaded is determined by enable_mulled_containers. For available options see https://docs.galaxyproject.org/en/master/admin/container_resolvers.html""", ), ] = None @@ -1701,11 +1376,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[List[Any]], Field( title="Container Resolvers", - description="""Rather than specifying a container_resolvers_config_file, the definition of the -resolvers to enable can be embedded into Galaxy's config with this option. -This has no effect if a container_resolvers_config_file is used. -Takes the same options that can be set in container_resolvers_config_file. -""", + description="""Rather than specifying a container_resolvers_config_file, the definition of the resolvers to enable can be embedded into Galaxy's config with this option. This has no effect if a container_resolvers_config_file is used. Takes the same options that can be set in container_resolvers_config_file.""", ), ] = None @@ -1714,12 +1385,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=TOOL_DEPENDENCY_DIR, title="Involucro Path", - description="""involucro is a tool used to build Docker or Singularity containers for tools from Conda -dependencies referenced in tools as `requirement` s. The following path is -the location of involucro on the Galaxy host. This is ignored if the relevant -container resolver isn't enabled, and will install on demand unless -involucro_auto_init is set to false. -""", + description="""involucro is a tool used to build Docker or Singularity containers for tools from Conda dependencies referenced in tools as `requirement` s. The following path is the location of involucro on the Galaxy host. This is ignored if the relevant container resolver isn't enabled, and will install on demand unless involucro_auto_init is set to false.""", ), ] = "involucro" @@ -1727,9 +1393,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Involucro Auto Init", - description="""Install involucro as needed to build Docker or Singularity containers for tools. Ignored if -relevant container resolver is not used. -""", + description="""Install involucro as needed to build Docker or Singularity containers for tools. Ignored if relevant container resolver is not used.""", ), ] = True @@ -1745,11 +1409,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Enable Tool Shed Check", - description="""Enable automatic polling of relative tool sheds to see if any updates -are available for installed repositories. Ideally only one Galaxy -server process should be able to check for repository updates. The -setting for hours_between_check should be an integer between 1 and 24. -""", + description="""Enable automatic polling of relative tool sheds to see if any updates are available for installed repositories. Ideally only one Galaxy server process should be able to check for repository updates. The setting for hours_between_check should be an integer between 1 and 24.""", ), ] = False @@ -1757,11 +1417,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Hours Between Check", - description="""Enable automatic polling of relative tool sheds to see if any updates -are available for installed repositories. Ideally only one Galaxy -server process should be able to check for repository updates. The -setting for hours_between_check should be an integer between 1 and 24. -""", + description="""Enable automatic polling of relative tool sheds to see if any updates are available for installed repositories. Ideally only one Galaxy server process should be able to check for repository updates. The setting for hours_between_check should be an integer between 1 and 24.""", ), ] = 12 @@ -1770,10 +1426,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Tool Data Table Config Path", - description="""XML config file that contains data table entries for the -ToolDataTableManager. This file is manually # maintained by the Galaxy -administrator (.sample used if default does not exist). -""", + description="""XML config file that contains data table entries for the ToolDataTableManager. This file is manually # maintained by the Galaxy administrator (.sample used if default does not exist).""", ), ] = "tool_data_table_conf.xml" @@ -1782,13 +1435,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=MANAGED_CONFIG_DIR, title="Shed Tool Data Table Config", - description="""XML config file that contains additional data table entries for the -ToolDataTableManager. This file is automatically generated based on the -current installed tool shed repositories that contain valid -tool_data_table_conf.xml.sample files. At the time of installation, these -entries are automatically added to the following file, which is parsed and -applied to the ToolDataTableManager at server start up. -""", + description="""XML config file that contains additional data table entries for the ToolDataTableManager. This file is automatically generated based on the current installed tool shed repositories that contain valid tool_data_table_conf.xml.sample files. At the time of installation, these entries are automatically added to the following file, which is parsed and applied to the ToolDataTableManager at server start up.""", ), ] = "shed_tool_data_table_conf.xml" @@ -1796,10 +1443,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Tool Data Path", - description="""Directory where data used by tools is located. See the samples in that -directory and the Galaxy Community Hub for help: -https://galaxyproject.org/admin/data-integration -""", + description="""Directory where data used by tools is located. See the samples in that directory and the Galaxy Community Hub for help: https://galaxyproject.org/admin/data-integration""", ), ] = "tool-data" @@ -1807,9 +1451,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Shed Tool Data Path", - description="""Directory where Tool Data Table related files will be placed when installed from a -ToolShed. Defaults to the value of the 'tool_data_path' option. -""", + description="""Directory where Tool Data Table related files will be placed when installed from a ToolShed. Defaults to the value of the 'tool_data_path' option.""", ), ] = None @@ -1817,14 +1459,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) WatchToolOptions, Field( title="Watch Tool Data Dir", - description="""Monitor the tool_data and shed_tool_data_path directories. If changes in tool data table -files are found, the tool data tables for that data manager are automatically reloaded. -Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy -to use this option. Other options include 'auto' which will attempt to use the watchdog -library if it is available but won't fail to load Galaxy if it is not and 'polling' which -will use a less efficient monitoring scheme that may work in wider range of scenarios than -the watchdog default. -""", + description="""Monitor the tool_data and shed_tool_data_path directories. If changes in tool data table files are found, the tool data tables for that data manager are automatically reloaded. Watchdog ( https://pypi.org/project/watchdog/ ) must be installed and available to Galaxy to use this option. Other options include 'auto' which will attempt to use the watchdog library if it is available but won't fail to load Galaxy if it is not and 'polling' which will use a less efficient monitoring scheme that may work in wider range of scenarios than the watchdog default.""", ), ] = "false" @@ -1841,9 +1476,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Build Sites Config File", - description="""File that defines the builds (dbkeys) available at sites used by display applications -and the URL to those sites. -""", + description="""File that defines the builds (dbkeys) available at sites used by display applications and the URL to those sites.""", ), ] = "build_sites.yml" @@ -1851,10 +1484,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Builds File Path", - description="""File containing old-style genome builds. - -The value of this option will be resolved with respect to . -""", + description="""File containing old-style genome builds. The value of this option will be resolved with respect to .""", ), ] = "shared/ucsc/builds.txt" @@ -1862,10 +1492,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Len File Path", - description="""Directory where chrom len files are kept, currently mainly used by trackster. - -The value of this option will be resolved with respect to . -""", + description="""Directory where chrom len files are kept, currently mainly used by trackster. The value of this option will be resolved with respect to .""", ), ] = "shared/ucsc/chrom" @@ -1874,11 +1501,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Datatypes Config File", - description="""Datatypes config file(s), defines what data (file) types are available in -Galaxy (.sample is used if default does not exist). If a datatype appears in -multiple files, the last definition is used (though the first sniffer is used -so limit sniffer definitions to one file). -""", + description="""Datatypes config file(s), defines what data (file) types are available in Galaxy (.sample is used if default does not exist). If a datatype appears in multiple files, the last definition is used (though the first sniffer is used so limit sniffer definitions to one file).""", ), ] = "datatypes_conf.xml" @@ -1886,11 +1509,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Sniff Compressed Dynamic Datatypes Default", - description="""Enable sniffing of compressed datatypes. This can be configured/overridden -on a per-datatype basis in the datatypes_conf.xml file. -With this option set to false the compressed datatypes will be unpacked -before sniffing. -""", + description="""Enable sniffing of compressed datatypes. This can be configured/overridden on a per-datatype basis in the datatypes_conf.xml file. With this option set to false the compressed datatypes will be unpacked before sniffing.""", ), ] = True @@ -1898,10 +1517,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Visualization Plugins Directory", - description="""Visualizations config directory: where to look for individual visualization -plugins. The path is relative to the Galaxy root dir. To use an absolute -path begin the path with '/'. This is a comma-separated list. -""", + description="""Visualizations config directory: where to look for individual visualization plugins. The path is relative to the Galaxy root dir. To use an absolute path begin the path with '/'. This is a comma-separated list.""", ), ] = "config/plugins/visualizations" @@ -1909,12 +1525,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Tour Config Dir", - description="""Interactive tour directory: where to store interactive tour definition files. -Galaxy ships with several basic interface tours enabled, though a different -directory with custom tours can be specified here. The path is relative to the -Galaxy root dir. To use an absolute path begin the path with '/'. This is a -comma-separated list. -""", + description="""Interactive tour directory: where to store interactive tour definition files. Galaxy ships with several basic interface tours enabled, though a different directory with custom tours can be specified here. The path is relative to the Galaxy root dir. To use an absolute path begin the path with '/'. This is a comma-separated list.""", ), ] = "config/plugins/tours" @@ -1922,12 +1533,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Webhooks Dir", - description="""Webhooks directory: where to store webhooks - plugins to extend the Galaxy UI. -By default none will be loaded. Set to config/plugins/webhooks/demo to load Galaxy's -demo webhooks. To use an absolute path begin the path with '/'. This is a -comma-separated list. Add test/functional/webhooks to this list to include the demo -webhooks used to test the webhook framework. -""", + description="""Webhooks directory: where to store webhooks - plugins to extend the Galaxy UI. By default none will be loaded. Set to config/plugins/webhooks/demo to load Galaxy's demo webhooks. To use an absolute path begin the path with '/'. This is a comma-separated list. Add test/functional/webhooks to this list to include the demo webhooks used to test the webhook framework.""", ), ] = "config/plugins/webhooks" @@ -1935,12 +1541,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Job Working Directory", - description="""Each job is given a unique empty directory as its current working directory. -This option defines in what parent directory those directories will be -created. - -The value of this option will be resolved with respect to . -""", + description="""Each job is given a unique empty directory as its current working directory. This option defines in what parent directory those directories will be created. The value of this option will be resolved with respect to .""", ), ] = "jobs_directory" @@ -1949,9 +1550,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CACHE_DIR, title="Template Cache Path", - description="""Mako templates are compiled as needed and cached for reuse, this directory is -used for the cache -""", + description="""Mako templates are compiled as needed and cached for reuse, this directory is used for the cache.""", ), ] = "compiled_templates" @@ -1959,9 +1558,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Check Job Script Integrity", - description="""Set to false to disable various checks Galaxy will do to ensure it -can run job scripts before attempting to execute or submit them. -""", + description="""Set to false to disable various checks Galaxy will do to ensure it can run job scripts before attempting to execute or submit them.""", ), ] = True @@ -1985,13 +1582,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Default Job Shell", - description="""Set the default shell used by non-containerized jobs Galaxy-wide. This -defaults to bash for all jobs and can be overridden at the destination -level for heterogeneous clusters. conda job resolution requires bash or zsh -so if this is switched to /bin/sh for instance - conda resolution -should be disabled. Containerized jobs always use /bin/sh - so more maximum -portability tool authors should assume generated commands run in sh. -""", + description="""Set the default shell used by non-containerized jobs Galaxy-wide. This defaults to bash for all jobs and can be overridden at the destination level for heterogeneous clusters. conda job resolution requires bash or zsh so if this is switched to /bin/sh for instance - conda resolution should be disabled. Containerized jobs always use /bin/sh - so more maximum portability tool authors should assume generated commands run in sh.""", ), ] = "/bin/bash" @@ -1999,12 +1590,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Enable Tool Document Cache", - description="""Whether to enable the tool document cache. This cache stores -expanded XML strings. Enabling the tool cache results in slightly faster startup -times. The tool cache is backed by a SQLite database, which cannot -be stored on certain network disks. The cache location is configurable -using the ``tool_cache_data_dir`` setting, but can be disabled completely here. -""", + description="""Whether to enable the tool document cache. This cache stores expanded XML strings. Enabling the tool cache results in slightly faster startup times. The tool cache is backed by a SQLite database, which cannot be stored on certain network disks. The cache location is configurable using the ``tool_cache_data_dir`` setting, but can be disabled completely here.""", ), ] = False @@ -2012,10 +1598,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Tool Cache Data Dir", - description="""Tool related caching. Fully expanded tools and metadata will be stored at this path. -Per tool_conf cache locations can be configured in (``shed_``)tool_conf.xml files using -the tool_cache_data_dir attribute. -""", + description="""Tool related caching. Fully expanded tools and metadata will be stored at this path. Per tool_conf cache locations can be configured in (``shed_``)tool_conf.xml files using the tool_cache_data_dir attribute.""", ), ] = "tool_cache" @@ -2032,9 +1615,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Biotools Content Directory", - description="""Point Galaxy at a repository consisting of a copy of the bio.tools database (e.g. -https://github.com/bio-tools/content/) to resolve bio.tools data for tool metadata. -""", + description="""Point Galaxy at a repository consisting of a copy of the bio.tools database (e.g. https://github.com/bio-tools/content/) to resolve bio.tools data for tool metadata.""", ), ] = None @@ -2042,9 +1623,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Biotools Use Api", - description="""Set this to true to attempt to resolve bio.tools metadata for tools for tool not -resovled via biotools_content_directory. -""", + description="""Set this to true to attempt to resolve bio.tools metadata for tools for tool not resolved via biotools_content_directory.""", ), ] = False @@ -2078,12 +1657,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Biotools Service Cache Url", - description="""When biotools_service_cache_type = ext:database, this is -the url of the database used by beaker for -bio.tools web service request related caching. -The application config code will set it to the -value of database_connection if this is not set. -""", + description="""When biotools_service_cache_type = ext:database, this is the url of the database used by beaker for bio.tools web service request related caching. The application config code will set it to the value of database_connection if this is not set.""", ), ] = None @@ -2091,10 +1665,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Biotools Service Cache Table Name", - description="""When biotools_service_cache_type = ext:database, this is -the database table name used by beaker for -bio.tools web service request related caching. -""", + description="""When biotools_service_cache_type = ext:database, this is the database table name used by beaker for bio.tools web service request related caching.""", ), ] = "beaker_cache" @@ -2102,10 +1673,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Biotools Service Cache Schema Name", - description="""When biotools_service_cache_type = ext:database, this is -the database table name used by beaker for -bio.tools web service request related caching. -""", + description="""When biotools_service_cache_type = ext:database, this is the database table name used by beaker for bio.tools web service request related caching.""", ), ] = None @@ -2113,10 +1681,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Citation Cache Type", - description="""Citation related caching. Tool citations information maybe fetched from -external sources such as https://doi.org/ by Galaxy - the following -parameters can be used to control the caching used to store this information. -""", + description="""Citation related caching. Tool citations information maybe fetched from external sources such as https://doi.org/ by Galaxy - the following parameters can be used to control the caching used to store this information.""", ), ] = "file" @@ -2125,10 +1690,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CACHE_DIR, title="Citation Cache Data Dir", - description="""Citation related caching. Tool citations information maybe fetched from -external sources such as https://doi.org/ by Galaxy - the following -parameters can be used to control the caching used to store this information. -""", + description="""Citation related caching. Tool citations information maybe fetched from external sources such as https://doi.org/ by Galaxy - the following parameters can be used to control the caching used to store this information.""", ), ] = "citations/data" @@ -2137,10 +1699,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CACHE_DIR, title="Citation Cache Lock Dir", - description="""Citation related caching. Tool citations information maybe fetched from -external sources such as https://doi.org/ by Galaxy - the following -parameters can be used to control the caching used to store this information. -""", + description="""Citation related caching. Tool citations information maybe fetched from external sources such as https://doi.org/ by Galaxy - the following parameters can be used to control the caching used to store this information.""", ), ] = "citations/locks" @@ -2148,11 +1707,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Citation Cache Url", - description="""When citation_cache_type = ext:database, this is -the url of the database used by beaker for citation -caching. The application config code will set it to the -value of database_connection if this is not set. -""", + description="""When citation_cache_type = ext:database, this is the url of the database used by beaker for citation caching. The application config code will set it to the value of database_connection if this is not set.""", ), ] = None @@ -2160,10 +1715,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Citation Cache Table Name", - description="""When citation_cache_type = ext:database, this is -the database table name used by beaker for -citation related caching. -""", + description="""When citation_cache_type = ext:database, this is the database table name used by beaker for citation related caching.""", ), ] = "beaker_cache" @@ -2171,10 +1723,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Citation Cache Schema Name", - description="""When citation_cache_type = ext:database, this is -the database schema name of the table used by beaker for -citation related caching. -""", + description="""When citation_cache_type = ext:database, this is the database schema name of the table used by beaker for citation related caching.""", ), ] = None @@ -2182,9 +1731,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Mulled Resolution Cache Type", - description="""Mulled resolution caching. Mulled resolution uses external APIs of quay.io, these -requests are caching using this and the following parameters -""", + description="""Mulled resolution caching. Mulled resolution uses external APIs of quay.io, these requests are caching using this and the following parameters.""", ), ] = "file" @@ -2218,11 +1765,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Mulled Resolution Cache Url", - description="""When mulled_resolution_cache_type = ext:database, this is -the url of the database used by beaker for caching mulled resolution -requests. The application config code will set it to the -value of database_connection if this is not set. -""", + description="""When mulled_resolution_cache_type = ext:database, this is the url of the database used by beaker for caching mulled resolution requests. The application config code will set it to the value of database_connection if this is not set.""", ), ] = None @@ -2230,10 +1773,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Mulled Resolution Cache Table Name", - description="""When mulled_resolution_cache_type = ext:database, this is -the database table name used by beaker for -caching mulled resolution requests. -""", + description="""When mulled_resolution_cache_type = ext:database, this is the database table name used by beaker for caching mulled resolution requests.""", ), ] = "beaker_cache" @@ -2241,10 +1781,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Mulled Resolution Cache Schema Name", - description="""When mulled_resolution_cache_type = ext:database, this is -the database schema name of the table used by beaker for -caching mulled resolution requests. -""", + description="""When mulled_resolution_cache_type = ext:database, this is the database schema name of the table used by beaker for caching mulled resolution requests.""", ), ] = None @@ -2253,9 +1790,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Object Store Config File", - description="""Configuration file for the object store -If this is set and exists, it overrides any other objectstore settings. -""", + description="""Configuration file for the object store If this is set and exists, it overrides any other objectstore settings.""", ), ] = "object_store_conf.xml" @@ -2263,18 +1798,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[Literal["auto", "external", "celery", "inprocess"]], Field( title="Object Store Cache Monitor Driver", - description="""Specify where cache monitoring is driven for caching object stores -such as S3, Azure, and iRODS. This option has no affect on disk object stores. -For production instances, the cache should be monitored by external tools such -as tmpwatch and this value should be set to 'external'. This will disable all -cache monitoring in Galaxy. Alternatively, 'celery' can monitor caches using -a periodic task or an 'inprocess' thread can be used - but this last option -seriously limits Galaxy's ability to scale. The default of 'auto' will use -'celery' if 'enable_celery_tasks' is set to true or 'inprocess' otherwise. -This option serves as the default for all object stores and can be overridden -on a per object store basis (but don't - just setup tmpwatch for all relevant -cache paths). -""", + description="""Specify where cache monitoring is driven for caching object stores such as S3, Azure, and iRODS. This option has no affect on disk object stores. For production instances, the cache should be monitored by external tools such as tmpwatch and this value should be set to 'external'. This will disable all cache monitoring in Galaxy. Alternatively, 'celery' can monitor caches using a periodic task or an 'inprocess' thread can be used - but this last option seriously limits Galaxy's ability to scale. The default of 'auto' will use 'celery' if 'enable_celery_tasks' is set to true or 'inprocess' otherwise. This option serves as the default for all object stores and can be overridden on a per object store basis (but don't - just setup tmpwatch for all relevant cache paths).""", ), ] = "auto" @@ -2282,12 +1806,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Object Store Cache Monitor Interval", - description="""For object store cache monitoring done by Galaxy, this is the interval between -cache checking steps. This is used by both inprocess cache monitors (which we -recommend you do not use) and by the celery task if it is configured (by setting -enable_celery_tasks to true and not setting object_store_cache_monitor_driver to -external). -""", + description="""For object store cache monitoring done by Galaxy, this is the interval between cache checking steps. This is used by both inprocess cache monitors (which we recommend you do not use) and by the celery task if it is configured (by setting enable_celery_tasks to true and not setting object_store_cache_monitor_driver to external).""", ), ] = 600 @@ -2296,9 +1815,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CACHE_DIR, title="Object Store Cache Path", - description="""Default cache path for caching object stores if cache not configured for -that object store entry. -""", + description="""Default cache path for caching object stores if cache not configured for that object store entry.""", ), ] = "object_store_cache" @@ -2306,9 +1823,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Object Store Cache Size", - description="""Default cache size for caching object stores if cache not configured for -that object store entry. -""", + description="""Default cache size for caching object stores if cache not configured for that object store entry.""", ), ] = -1 @@ -2316,13 +1831,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[Literal["uuid", "id"]], Field( title="Object Store Store By", - description="""What Dataset attribute is used to reference files in an ObjectStore implementation, -this can be 'uuid' or 'id'. The default will depend on how the object store is configured, -starting with 20.05 Galaxy will try to default to 'uuid' if it can be sure this -is a new Galaxy instance - but the default will be 'id' in many cases. In particular, -if the name of the directory set in is `objects`, the default will be set -to 'uuid', otherwise it will be 'id'. -""", + description="""What Dataset attribute is used to reference files in an ObjectStore implementation, this can be 'uuid' or 'id'. The default will depend on how the object store is configured, starting with 20.05 Galaxy will try to default to 'uuid' if it can be sure this is a new Galaxy instance - but the default will be 'id' in many cases. In particular, if the name of the directory set in is `objects`, the default will be set to 'uuid', otherwise it will be 'id'.""", ), ] = None @@ -2330,12 +1839,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Smtp Server", - description="""Galaxy sends mail for various things: subscribing users to the mailing list -if they request it, password resets, reporting dataset errors, and sending -activation emails. To do this, it needs to send mail through an SMTP server, -which you may define here (host:port). -Galaxy will automatically try STARTTLS but will continue upon failure. -""", + description="""Galaxy sends mail for various things: subscribing users to the mailing list if they request it, password resets, reporting dataset errors, and sending activation emails. To do this, it needs to send mail through an SMTP server, which you may define here (host:port). Galaxy will automatically try STARTTLS but will continue upon failure.""", ), ] = None @@ -2343,10 +1847,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Smtp Username", - description="""If your SMTP server requires a username and password, you can provide them -here (password in cleartext here, but if your server supports STARTTLS it -will be sent over the network encrypted). -""", + description="""If your SMTP server requires a username and password, you can provide them here (password in cleartext here, but if your server supports STARTTLS it will be sent over the network encrypted).""", ), ] = None @@ -2354,10 +1855,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Smtp Password", - description="""If your SMTP server requires a username and password, you can provide them -here (password in cleartext here, but if your server supports STARTTLS it -will be sent over the network encrypted). -""", + description="""If your SMTP server requires a username and password, you can provide them here (password in cleartext here, but if your server supports STARTTLS it will be sent over the network encrypted).""", ), ] = None @@ -2365,7 +1863,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Smtp Ssl", - description="""If your SMTP server requires SSL from the beginning of the connection""", + description="""If your SMTP server requires SSL from the beginning of the connection.""", ), ] = False @@ -2373,9 +1871,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Mailing Join Subject", - description="""The subject of the email sent to the mailing list join address. See the -`mailing_join_addr` option for more information. -""", + description="""The subject of the email sent to the mailing list join address. See the `mailing_join_addr` option for more information.""", ), ] = "Join Mailing List" @@ -2383,9 +1879,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Mailing Join Body", - description="""The body of the email sent to the mailing list join address. See the -`mailing_join_addr` option for more information. -""", + description="""The body of the email sent to the mailing list join address. See the `mailing_join_addr` option for more information.""", ), ] = "Join Mailing List" @@ -2393,11 +1887,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Error Email To", - description="""Datasets in an error state include a link to report the error. Those reports -will be sent to this address. Error reports are disabled if no address is -set. Also this email is shown as a contact to user in case of Galaxy -misconfiguration and other events user may encounter. -""", + description="""Datasets in an error state include a link to report the error. Those reports will be sent to this address. Error reports are disabled if no address is set. Also this email is shown as a contact to user in case of Galaxy misconfiguration and other events user may encounter.""", ), ] = None @@ -2405,12 +1895,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Email From", - description="""Email address to use in the 'From' field when sending emails for -account activations, workflow step notifications, password resets, and -tool error reports. We recommend using a string in the following format: -Galaxy Project . -If not configured, '' will be used. -""", + description="""Email address to use in the 'From' field when sending emails for account activations, workflow step notifications, password resets, and tool error reports. We recommend using a string in the following format: Galaxy Project . If not configured, '' will be used.""", ), ] = None @@ -2418,9 +1903,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Custom Activation Email Message", - description="""This text will be inserted at the end of the activation email's message, before -the 'Your Galaxy Team' signature. -""", + description="""This text will be inserted at the end of the activation email's message, before the 'Your Galaxy Team' signature.""", ), ] = None @@ -2437,13 +1920,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Email Domain Blocklist File", - description="""E-mail domains blocklist is used for filtering out users that are using -disposable email addresses at registration. If their address's base domain -matches any domain on the list, they are refused registration. Address subdomains -are ignored (both 'name@spam.com' and 'name@foo.spam.com' will match 'spam.com'). - -The value of this option will be resolved with respect to . -""", + description="""E-mail domains blocklist is used for filtering out users that are using disposable email addresses at registration. If their address's base domain matches any domain on the list, they are refused registration. Address subdomains are ignored (both 'name@spam.com' and 'name@foo.spam.com' will match 'spam.com'). The value of this option will be resolved with respect to .""", example="email_blocklist.conf", ), ] = None @@ -2452,17 +1929,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Email Domain Allowlist File", - description="""E-mail domains allowlist is used to specify allowed email address domains. -If the list is non-empty and a user attempts registration using an email -address belonging to a domain that is not on the list, registration will be -denied. Unlike which matches the address's -base domain, here email addresses are matched against the full domain (base + subdomain). -This is a more restrictive option than , and -therefore, in case is set and is not empty, - will be ignored. - -The value of this option will be resolved with respect to . -""", + description="""E-mail domains allowlist is used to specify allowed email address domains. If the list is non-empty and a user attempts registration using an email address belonging to a domain that is not on the list, registration will be denied. Unlike which matches the address's base domain, here email addresses are matched against the full domain (base + subdomain). This is a more restrictive option than , and therefore, in case is set and is not empty, will be ignored. The value of this option will be resolved with respect to .""", example="email_allowlist.conf", ), ] = None @@ -2471,11 +1938,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="User Activation On", - description="""User account activation feature global flag. If set to false, the rest of -the Account activation configuration is ignored and user activation is -disabled (i.e. accounts are active since registration). -The activation is also not working in case the SMTP server is not defined. -""", + description="""User account activation feature global flag. If set to false, the rest of the Account activation configuration is ignored and user activation is disabled (i.e. accounts are active since registration). The activation is also not working in case the SMTP server is not defined.""", ), ] = False @@ -2483,10 +1946,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Activation Grace Period", - description="""Activation grace period (in hours). Activation is not forced (login is not -disabled) until grace period has passed. Users under grace period can't run -jobs. Enter 0 to disable grace period. -""", + description="""Activation grace period (in hours). Activation is not forced (login is not disabled) until grace period has passed. Users under grace period can't run jobs. Enter 0 to disable grace period.""", ), ] = 3 @@ -2494,11 +1954,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Password Expiration Period", - description="""Password expiration period (in days). Users are required to change their -password every x days. Users will be redirected to the change password -screen when they log in after their password expires. Enter 0 to disable -password expiration. -""", + description="""Password expiration period (in days). Users are required to change their password every x days. Users will be redirected to the change password screen when they log in after their password expires. Enter 0 to disable password expiration.""", ), ] = 0 @@ -2506,10 +1962,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Session Duration", - description="""Galaxy Session Timeout -This provides a timeout (in minutes) after which a user will have to log back in. -A duration of 0 disables this feature. -""", + description="""Galaxy Session Timeout. This provides a timeout (in minutes) after which a user will have to log back in. A duration of 0 disables this feature.""", ), ] = 0 @@ -2517,23 +1970,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Display Servers", - description="""Galaxy can display data at various external browsers. These options specify -which browsers should be available. URLs and builds available at these -browsers are defined in the specified files. - -If use_remote_user is set to true, display application servers will be denied access -to Galaxy and so displaying datasets in these sites will fail. -display_servers contains a list of hostnames which should be allowed to -bypass security to display datasets. Please be aware that there are security -implications if this is allowed. More details (including required changes to -the proxy server config) are available in the Apache proxy documentation on -the Galaxy Community Hub. - -The list of servers in this sample config are for the UCSC Main, Test and -Archaea browsers, but the default if left commented is to not allow any -display sites to bypass security (you must uncomment the line below to allow -them). -""", + description="""Galaxy can display data at various external browsers. These options specify which browsers should be available. URLs and builds available at these browsers are defined in the specified files. If use_remote_user is set to true, display application servers will be denied access to Galaxy and so displaying datasets in these sites will fail. display_servers contains a list of hostnames which should be allowed to bypass security to display datasets. Please be aware that there are security implications if this is allowed. More details (including required changes to the proxy server config) are available in the Apache proxy documentation on the Galaxy Community Hub. The list of servers in this sample config are for the UCSC Main, Test and Archaea browsers, but the default if left commented is to not allow any display sites to bypass security (you must uncomment the line below to allow them).""", ), ] = "hgw1.cse.ucsc.edu,hgw2.cse.ucsc.edu,hgw3.cse.ucsc.edu,hgw4.cse.ucsc.edu,hgw5.cse.ucsc.edu,hgw6.cse.ucsc.edu,hgw7.cse.ucsc.edu,hgw8.cse.ucsc.edu,lowepub.cse.ucsc.edu" @@ -2541,16 +1978,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Enable Old Display Applications", - description="""Set this to false to disable the old-style display applications that -are hardcoded into datatype classes. -This may be desirable due to using the new-style, XML-defined, display -applications that have been defined for many of the datatypes that have the -old-style. -There is also a potential security concern with the old-style applications, -where a malicious party could provide a link that appears to reference the -Galaxy server, but contains a redirect to a third-party server, tricking a -Galaxy user to access said site. -""", + description="""Set this to false to disable the old-style display applications that are hardcoded into datatype classes. This may be desirable due to using the new-style, XML-defined, display applications that have been defined for many of the datatypes that have the old-style. There is also a potential security concern with the old-style applications, where a malicious party could provide a link that appears to reference the Galaxy server, but contains a redirect to a third-party server, tricking a Galaxy user to access said site.""", ), ] = True @@ -2566,9 +1994,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Interactivetools Proxy Host", - description="""Hostname and port of Interactive tools proxy. It is assumed to be hosted on the same hostname and port as -Galaxy by default. -""", + description="""Hostname and port of Interactive tools proxy. It is assumed to be hosted on the same hostname and port as Galaxy by default.""", ), ] = None @@ -2601,10 +2027,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Interactivetools Shorten Url", - description="""Shorten the uuid portion of the subdomain or path for interactive tools. -Especially useful for avoiding the need for wildcard certificates by keeping -subdomain under 63 chars -""", + description="""Shorten the uuid portion of the subdomain or path for interactive tools. Especially useful for avoiding the need for wildcard certificates by keeping subdomain under 63 chars.""", ), ] = False @@ -2612,12 +2035,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Retry Interactivetool Metadata Internally", - description="""Galaxy Interactive Tools (GxITs) can be stopped from within the Galaxy -interface, killing the GxIT job without completing its metadata setting post-job -steps. In such a case it may be desirable to set metadata on job outputs -internally (in the Galaxy job handler process). The default is is the value of -`retry_metadata_internally`, which defaults to `true`. -""", + description="""Galaxy Interactive Tools (GxITs) can be stopped from within the Galaxy interface, killing the GxIT job without completing its metadata setting post-job steps. In such a case it may be desirable to set metadata on job outputs internally (in the Galaxy job handler process). The default is is the value of `retry_metadata_internally`, which defaults to `true`.""", ), ] = True @@ -2627,9 +2045,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) deprecated=True, per_host=True, title="Display Galaxy Brand", - description="""This option has been deprecated, use the `logo_src` instead to change the -default logo including the galaxy brand title. -""", + description="""This option has been deprecated, use the `logo_src` instead to change the default logo including the galaxy brand title.""", ), ] = True @@ -2637,14 +2053,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Pretty Datetime Format", - description="""Format string used when showing date and time information. -The string may contain: -- the directives used by Python time.strftime() function (see - https://docs.python.org/library/time.html#time.strftime), -- $locale (complete format string for the server locale), -- $iso8601 (complete format string as specified by ISO 8601 international - standard). -""", + description="""Format string used when showing date and time information. The string may contain: - the directives used by Python time.strftime() function (see https://docs.python.org/library/time.html#time.strftime), - $locale (complete format string for the server locale), - $iso8601 (complete format string as specified by ISO 8601 international standard).""", ), ] = "$locale (UTC)" @@ -2653,14 +2062,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Trs Servers Config File", - description="""Allow import of workflows from the TRS servers configured in -the specified YAML or JSON file. The file should be a list with -'id', 'label', and 'api_url' for each entry. Optionally, -'link_url' and 'doc' may be be specified as well for each entry. - -If this is null (the default), a simple configuration containing -just Dockstore will be used. -""", + description="""Allow import of workflows from the TRS servers configured in the specified YAML or JSON file. The file should be a list with 'id', 'label', and 'api_url' for each entry. Optionally, 'link_url' and 'doc' may be be specified as well for each entry. If this is null (the default), a simple configuration containing just Dockstore will be used.""", ), ] = "trs_servers_conf.yml" @@ -2677,9 +2079,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Galaxy Url Prefix", - description="""URL prefix for Galaxy application. If Galaxy should be served under a prefix set this to -the desired prefix value. -""", + description="""URL prefix for Galaxy application. If Galaxy should be served under a prefix set this to the desired prefix value.""", ), ] = "/" @@ -2687,14 +2087,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Galaxy Infrastructure Url", - description="""URL (with schema http/https) of the Galaxy instance as accessible -within your local network. This URL is used as a default by pulsar -file staging and Interactive Tool containers for communicating back with -Galaxy via the API. - -If you plan to run Interactive Tools make sure the docker container -can reach this URL. -""", + description="""URL (with schema http/https) of the Galaxy instance as accessible within your local network. This URL is used as a default by pulsar file staging and Interactive Tool containers for communicating back with Galaxy via the API. If you plan to run Interactive Tools make sure the docker container can reach this URL.""", ), ] = "http://localhost:8080" @@ -2702,14 +2095,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Galaxy Infrastructure Web Port", - description="""If the above URL cannot be determined ahead of time in dynamic environments -but the port which should be used to access Galaxy can be - this should be -set to prevent Galaxy from having to guess. For example if Galaxy is sitting -behind a proxy with REMOTE_USER enabled - infrastructure shouldn't talk to -Python processes directly and this should be set to 80 or 443, etc... If -unset this file will be read for a server block defining a port corresponding -to the webapp. -""", + description="""If the above URL cannot be determined ahead of time in dynamic environments but the port which should be used to access Galaxy can be - this should be set to prevent Galaxy from having to guess. For example if Galaxy is sitting behind a proxy with REMOTE_USER enabled - infrastructure shouldn't talk to Python processes directly and this should be set to 80 or 443, etc... If unset this file will be read for a server block defining a port corresponding to the webapp.""", ), ] = 8080 @@ -2717,11 +2103,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Static Enabled", - description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy -server) to point to your own styles. -""", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles.""", ), ] = True @@ -2729,11 +2111,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Static Cache Time", - description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy -server) to point to your own styles. -""", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles.""", ), ] = 360 @@ -2742,11 +2120,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( per_host=True, title="Static Dir", - description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy -server) to point to your own styles. -""", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles.""", ), ] = "static/" @@ -2755,11 +2129,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( per_host=True, title="Static Images Dir", - description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy -server) to point to your own styles. -""", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles.""", ), ] = "static/images" @@ -2768,11 +2138,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( per_host=True, title="Static Favicon Dir", - description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy -server) to point to your own styles. -""", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles.""", ), ] = "static/favicon.ico" @@ -2781,11 +2147,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( per_host=True, title="Static Scripts Dir", - description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy -server) to point to your own styles. -""", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles.""", ), ] = "static/scripts/" @@ -2794,11 +2156,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( per_host=True, title="Static Style Dir", - description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy -server) to point to your own styles. -""", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles.""", ), ] = "static/style" @@ -2807,11 +2165,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( per_host=True, title="Static Robots Txt", - description="""Serve static content, which must be enabled if you're not serving it via a -proxy server. These options should be self explanatory and so are not -documented individually. You can use these paths (or ones in the proxy -server) to point to your own styles. -""", + description="""Serve static content, which must be enabled if you're not serving it via a proxy server. These options should be self explanatory and so are not documented individually. You can use these paths (or ones in the proxy server) to point to your own styles.""", ), ] = "static/robots.txt" @@ -2827,12 +2181,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Apache Xsendfile", - description="""For help on configuring the Advanced proxy features, see: -https://docs.galaxyproject.org/en/master/admin/production.html - -Apache can handle file downloads (Galaxy-to-user) via mod_xsendfile. Set -this to true to inform Galaxy that mod_xsendfile is enabled upstream. -""", + description="""For help on configuring the Advanced proxy features, see: https://docs.galaxyproject.org/en/master/admin/production.html Apache can handle file downloads (Galaxy-to-user) via mod_xsendfile. Set this to true to inform Galaxy that mod_xsendfile is enabled upstream.""", ), ] = False @@ -2840,10 +2189,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Nginx X Accel Redirect Base", - description="""The same download handling can be done by nginx using X-Accel-Redirect. This -should be set to the path defined in the nginx config as an internal redirect -with access to Galaxy's data files (see documentation linked above). -""", + description="""The same download handling can be done by nginx using X-Accel-Redirect. This should be set to the path defined in the nginx config as an internal redirect with access to Galaxy's data files (see documentation linked above).""", ), ] = None @@ -2851,11 +2197,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Upstream Gzip", - description="""If using compression in the upstream proxy server, use this option to disable -gzipping of dataset collection and library archives, since the upstream server -will do it faster on the fly. To enable compression add ``application/zip`` -to the proxy's compressable mimetypes. -""", + description="""If using compression in the upstream proxy server, use this option to disable gzipping of dataset collection and library archives, since the upstream server will do it faster on the fly. To enable compression add ``application/zip`` to the proxy's compressable mimetypes.""", ), ] = False @@ -2863,13 +2205,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Upstream Mod Zip", - description="""If using the mod-zip module in nginx, use this option to assemble -zip archives in nginx. This is preferable over the upstream_gzip option -as Galaxy does not need to serve the archive. -Requires setting up internal nginx locations to all paths that can be archived. -See https://docs.galaxyproject.org/en/master/admin/nginx.html#creating-archives-with-mod-zip -for details. -""", + description="""If using the mod-zip module in nginx, use this option to assemble zip archives in nginx. This is preferable over the upstream_gzip option as Galaxy does not need to serve the archive. Requires setting up internal nginx locations to all paths that can be archived. See https://docs.galaxyproject.org/en/master/admin/nginx.html#creating-archives-with-mod-zip for details.""", ), ] = False @@ -2877,15 +2213,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="X Frame Options", - description="""The following default adds a header to web request responses that -will cause modern web browsers to not allow Galaxy to be embedded in -the frames of web applications hosted at other hosts - this can help -prevent a class of attack called clickjacking -(https://www.owasp.org/index.php/Clickjacking). If you configure a -proxy in front of Galaxy - please ensure this header remains intact -to protect your users. Uncomment and leave empty to not set the -`X-Frame-Options` header. -""", + description="""The following default adds a header to web request responses that will cause modern web browsers to not allow Galaxy to be embedded in the frames of web applications hosted at other hosts - this can help prevent a class of attack called clickjacking (https://www.owasp.org/index.php/Clickjacking). If you configure a proxy in front of Galaxy - please ensure this header remains intact to protect your users. Uncomment and leave empty to not set the `X-Frame-Options` header.""", ), ] = "SAMEORIGIN" @@ -2893,11 +2221,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Nginx Upload Store", - description="""nginx can also handle file uploads (user-to-Galaxy) via nginx_upload_module. -Configuration for this is complex and explained in detail in the -documentation linked above. The upload store is a temporary directory in -which files uploaded by the upload module will be placed. -""", + description="""nginx can also handle file uploads (user-to-Galaxy) via nginx_upload_module. Configuration for this is complex and explained in detail in the documentation linked above. The upload store is a temporary directory in which files uploaded by the upload module will be placed.""", ), ] = None @@ -2905,11 +2229,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Nginx Upload Job Files Store", - description="""Galaxy can also use nginx_upload_module to receive files staged out upon job -completion by remote job runners (i.e. Pulsar) that initiate staging -operations on the remote end. See the Galaxy nginx documentation for the -corresponding nginx configuration. -""", + description="""Galaxy can also use nginx_upload_module to receive files staged out upon job completion by remote job runners (i.e. Pulsar) that initiate staging operations on the remote end. See the Galaxy nginx documentation for the corresponding nginx configuration.""", ), ] = None @@ -2917,11 +2237,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Nginx Upload Job Files Path", - description="""Galaxy can also use nginx_upload_module to receive files staged out upon job -completion by remote job runners (i.e. Pulsar) that initiate staging -operations on the remote end. See the Galaxy nginx documentation for the -corresponding nginx configuration. -""", + description="""Galaxy can also use nginx_upload_module to receive files staged out upon job completion by remote job runners (i.e. Pulsar) that initiate staging operations on the remote end. See the Galaxy nginx documentation for the corresponding nginx configuration.""", ), ] = None @@ -2929,10 +2245,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Tus Upload Store", - description="""The upload store is a temporary directory in which files uploaded by the -tus middleware or server will be placed. -Defaults to new_file_path if not set. -""", + description="""The upload store is a temporary directory in which files uploaded by the tus middleware or server will be placed. Defaults to new_file_path if not set.""", ), ] = None @@ -2940,13 +2253,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Dynamic Proxy Manage", - description="""Have Galaxy manage dynamic proxy component for routing requests to other -services based on Galaxy's session cookie. It will attempt to do this by -default though you do need to install node+npm and do an npm install from -`lib/galaxy/web/proxy/js`. It is generally more robust to configure this -externally, managing it in the same way Galaxy itself is managed. If true, Galaxy will only -launch the proxy if it is actually going to be used (e.g. for Jupyter). -""", + description="""Have Galaxy manage dynamic proxy component for routing requests to other services based on Galaxy's session cookie. It will attempt to do this by default though you do need to install node+npm and do an npm install from `lib/galaxy/web/proxy/js`. It is generally more robust to configure this externally, managing it in the same way Galaxy itself is managed. If true, Galaxy will only launch the proxy if it is actually going to be used (e.g. for Jupyter).""", ), ] = True @@ -2954,10 +2261,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[Literal["node", "golang"]], Field( title="Dynamic Proxy", - description="""As of 16.04 Galaxy supports multiple proxy types. The original NodeJS -implementation, alongside a new Golang single-binary-no-dependencies -version. Valid values are (node, golang) -""", + description="""As of 16.04 Galaxy supports multiple proxy types. The original NodeJS implementation, alongside a new Golang single-binary-no-dependencies version. Valid values are (node, golang) """, ), ] = "node" @@ -2966,9 +2270,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=DATA_DIR, title="Dynamic Proxy Session Map", - description="""The NodeJS dynamic proxy can use an SQLite database or a JSON file for IPC, -set that here. -""", + description="""The NodeJS dynamic proxy can use an SQLite database or a JSON file for IPC, set that here.""", ), ] = "session_map.sqlite" @@ -2976,9 +2278,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Dynamic Proxy Bind Port", - description="""Set the port and IP for the dynamic proxy to bind to, this must match -the external configuration if dynamic_proxy_manage is set to false. -""", + description="""Set the port and IP for the dynamic proxy to bind to, this must match the external configuration if dynamic_proxy_manage is set to false.""", ), ] = 8800 @@ -2986,9 +2286,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Dynamic Proxy Bind Ip", - description="""Set the port and IP for the dynamic proxy to bind to, this must match -the external configuration if dynamic_proxy_manage is set to false. -""", + description="""Set the port and IP for the dynamic proxy to bind to, this must match the external configuration if dynamic_proxy_manage is set to false.""", ), ] = "0.0.0.0" @@ -3004,9 +2302,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Dynamic Proxy External Proxy", - description="""The dynamic proxy is proxied by an external proxy (e.g. apache frontend to -nodejs to wrap connections in SSL). -""", + description="""The dynamic proxy is proxied by an external proxy (e.g. apache frontend to nodejs to wrap connections in SSL).""", ), ] = False @@ -3014,11 +2310,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Dynamic Proxy Prefix", - description="""Additionally, when the dynamic proxy is proxied by an upstream server, you'll -want to specify a prefixed URL so both Galaxy and the proxy reside under the -same path that your cookies are under. This will result in a url like -https://FQDN/galaxy-prefix/gie_proxy for proxying -""", + description="""Additionally, when the dynamic proxy is proxied by an upstream server, you'll want to specify a prefixed URL so both Galaxy and the proxy reside under the same path that your cookies are under. This will result in a url like https://FQDN/galaxy-prefix/gie_proxy for proxying """, ), ] = "gie_proxy" @@ -3026,10 +2318,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Dynamic Proxy Golang Noaccess", - description="""This attribute governs the minimum length of time between consecutive HTTP/WS -requests through the proxy, before the proxy considers a container as being -inactive and kills it. -""", + description="""This attribute governs the minimum length of time between consecutive HTTP/WS requests through the proxy, before the proxy considers a container as being inactive and kills it.""", ), ] = 60 @@ -3037,10 +2326,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Dynamic Proxy Golang Clean Interval", - description="""In order to kill containers, the golang proxy has to check at some interval -for possibly dead containers. This is exposed as a configurable parameter, -but the default value is probably fine. -""", + description="""In order to kill containers, the golang proxy has to check at some interval for possibly dead containers. This is exposed as a configurable parameter, but the default value is probably fine.""", ), ] = 10 @@ -3048,9 +2334,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Dynamic Proxy Golang Docker Address", - description="""The golang proxy needs to know how to talk to your docker daemon. Currently -TLS is not supported, that will come in an update. -""", + description="""The golang proxy needs to know how to talk to your docker daemon. Currently TLS is not supported, that will come in an update.""", ), ] = "unix:///var/run/docker.sock" @@ -3058,11 +2342,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Dynamic Proxy Golang Api Key", - description="""The golang proxy uses a RESTful HTTP API for communication with Galaxy -instead of a JSON or SQLite file for IPC. If you do not specify this, it will -be set randomly for you. You should set this if you are managing the proxy -manually. -""", + description="""The golang proxy uses a RESTful HTTP API for communication with Galaxy instead of a JSON or SQLite file for IPC. If you do not specify this, it will be set randomly for you. You should set this if you are managing the proxy manually.""", ), ] = None @@ -3070,9 +2350,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Auto Configure Logging", - description="""If true, Galaxy will attempt to configure a simple root logger if a -"loggers" section does not appear in this configuration file. -""", + description="""If true, Galaxy will attempt to configure a simple root logger if a "loggers" section does not appear in this configuration file.""", ), ] = True @@ -3080,10 +2358,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Log Destination", - description="""Log destination, defaults to special value "stdout" that logs to standard output. If set to anything else, -then it will be interpreted as a path that will be used as the log file, and logging to stdout will be -disabled. -""", + description="""Log destination, defaults to special value "stdout" that logs to standard output. If set to anything else, then it will be interpreted as a path that will be used as the log file, and logging to stdout will be disabled.""", ), ] = "stdout" @@ -3091,11 +2366,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Log Rotate Size", - description="""Size of log file at which size it will be rotated as per the documentation in -https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler -If log_rotate_count is not also set, no log rotation will be performed. A value of 0 (the default) means no -rotation. Size can be a number of bytes or a human-friendly representation like "100 MB" or "1G". -""", + description="""Size of log file at which size it will be rotated as per the documentation in https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler If log_rotate_count is not also set, no log rotation will be performed. A value of 0 (the default) means no rotation. Size can be a number of bytes or a human-friendly representation like "100 MB" or "1G".""", ), ] = "0" @@ -3103,11 +2374,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Log Rotate Count", - description="""Number of log file backups to keep, per the documentation in -https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler -Any additional rotated log files will automatically be pruned. If log_rotate_size is not also set, no log -rotation will be performed. A value of 0 (the default) means no rotation. -""", + description="""Number of log file backups to keep, per the documentation in https://docs.python.org/library/logging.handlers.html#logging.handlers.RotatingFileHandler Any additional rotated log files will automatically be pruned. If log_rotate_size is not also set, no log rotation will be performed. A value of 0 (the default) means no rotation.""", ), ] = 0 @@ -3115,10 +2382,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[Literal["NOTSET", "TRACE", "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]], Field( title="Log Level", - description="""Verbosity of console log messages. Acceptable values can be found here: -https://docs.python.org/library/logging.html#logging-levels -A custom debug level of "TRACE" is available for even more verbosity. -""", + description="""Verbosity of console log messages. Acceptable values can be found here: https://docs.python.org/library/logging.html#logging-levels A custom debug level of "TRACE" is available for even more verbosity.""", ), ] = "DEBUG" @@ -3127,10 +2391,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( allowempty=True, title="Logging", - description="""Controls where and how the server logs messages. If set, overrides all settings in the log_* configuration -options. Configuration is described in the documentation at: -https://docs.galaxyproject.org/en/master/admin/config_logging.html -""", + description="""Controls where and how the server logs messages. If set, overrides all settings in the log_* configuration options. Configuration is described in the documentation at: https://docs.galaxyproject.org/en/master/admin/config_logging.html """, ), ] = None @@ -3162,10 +2423,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Log Actions", - description="""Turn on logging of user actions to the database. Actions currently logged -are grid views, tool searches, and use of "recently" used tools menu. The -log_events and log_actions functionality will eventually be merged. -""", + description="""Turn on logging of user actions to the database. Actions currently logged are grid views, tool searches, and use of "recently" used tools menu. The log_events and log_actions functionality will eventually be merged.""", ), ] = False @@ -3173,9 +2431,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Fluent Log", - description="""Fluentd configuration. Various events can be logged to the fluentd instance -configured below by enabling fluent_log. -""", + description="""Fluentd configuration. Various events can be logged to the fluentd instance configured below by enabling fluent_log.""", ), ] = False @@ -3183,9 +2439,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Fluent Host", - description="""Fluentd configuration. Various events can be logged to the fluentd instance -configured below by enabling fluent_log. -""", + description="""Fluentd configuration. Various events can be logged to the fluentd instance configured below by enabling fluent_log.""", ), ] = "localhost" @@ -3193,9 +2447,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Fluent Port", - description="""Fluentd configuration. Various events can be logged to the fluentd instance -configured below by enabling fluent_log. -""", + description="""Fluentd configuration. Various events can be logged to the fluentd instance configured below by enabling fluent_log.""", ), ] = 24224 @@ -3203,11 +2455,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Sanitize All Html", - description="""Sanitize all HTML tool output. By default, all tool output served as -'text/html' will be sanitized thoroughly. This can be disabled if you have -special tools that require unaltered output. WARNING: disabling this does -make the Galaxy instance susceptible to XSS attacks initiated by your users. -""", + description="""Sanitize all HTML tool output. By default, all tool output served as 'text/html' will be sanitized thoroughly. This can be disabled if you have special tools that require unaltered output. WARNING: disabling this does make the Galaxy instance susceptible to XSS attacks initiated by your users.""", ), ] = True @@ -3215,12 +2463,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Sanitize Allowlist File", - description="""Datasets created by tools listed in this file are trusted and will not have -their HTML sanitized on display. This can be manually edited or manipulated -through the Admin control panel -- see "Manage Allowlist" - -The value of this option will be resolved with respect to . -""", + description="""Datasets created by tools listed in this file are trusted and will not have their HTML sanitized on display. This can be manually edited or manipulated through the Admin control panel -- see "Manage Allowlist" The value of this option will be resolved with respect to .""", ), ] = "sanitize_allowlist.txt" @@ -3228,11 +2471,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Serve Xss Vulnerable Mimetypes", - description="""By default Galaxy will serve non-HTML tool output that may potentially -contain browser executable JavaScript content as plain text. This will for -instance cause SVG datasets to not render properly and so may be disabled -by setting this option to true. -""", + description="""By default Galaxy will serve non-HTML tool output that may potentially contain browser executable JavaScript content as plain text. This will for instance cause SVG datasets to not render properly and so may be disabled by setting this option to true.""", ), ] = False @@ -3240,13 +2479,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Allowed Origin Hostnames", - description="""Return a Access-Control-Allow-Origin response header that matches the Origin -header of the request if that Origin hostname matches one of the strings or -regular expressions listed here. This is a comma-separated list of hostname -strings or regular expressions beginning and ending with /. -E.g. mysite.com,google.com,usegalaxy.org,/^[\\w\\.]*example\\.com/ -See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS -""", + description="""Return a Access-Control-Allow-Origin response header that matches the Origin header of the request if that Origin hostname matches one of the strings or regular expressions listed here. This is a comma-separated list of hostname strings or regular expressions beginning and ending with /. E.g. mysite.com,google.com,usegalaxy.org,/^[\\w\\.]*example\\.com/ See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS """, ), ] = None @@ -3254,12 +2487,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Trust Jupyter Notebook Conversion", - description="""Set to true to use Jupyter nbconvert to build HTML from Jupyter -notebooks in Galaxy histories. This process may allow users to execute -arbitrary code or serve arbitrary HTML. If enabled, Jupyter must be -available and on Galaxy's PATH, to do this run -`pip install jinja2 pygments jupyter` in Galaxy's virtualenv. -""", + description="""Set to true to use Jupyter nbconvert to build HTML from Jupyter notebooks in Galaxy histories. This process may allow users to execute arbitrary code or serve arbitrary HTML. If enabled, Jupyter must be available and on Galaxy's PATH, to do this run `pip install jinja2 pygments jupyter` in Galaxy's virtualenv.""", ), ] = False @@ -3267,11 +2495,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Debug", - description="""Debug enables access to various config options useful for development -and debugging: use_lint, use_profile, and use_printdebug. It also -causes the files used by PBS/SGE (submission script, output, and error) -to remain on disk after the job is complete. -""", + description="""Debug enables access to various config options useful for development and debugging: use_lint, use_profile, and use_printdebug. It also causes the files used by PBS/SGE (submission script, output, and error) to remain on disk after the job is complete.""", ), ] = False @@ -3303,14 +2527,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Monitor Thread Join Timeout", - description="""When stopping Galaxy cleanly, how much time to give various monitoring/polling -threads to finish before giving up on joining them. Set to 0 to disable this and -terminate without waiting. Among others, these threads include the job handler -workers, which are responsible for preparing/submitting and collecting/finishing -jobs, and which can cause job errors if not shut down cleanly. If using -supervisord, consider also increasing the value of `stopwaitsecs`. See the -Galaxy Admin Documentation for more. -""", + description="""When stopping Galaxy cleanly, how much time to give various monitoring/polling threads to finish before giving up on joining them. Set to 0 to disable this and terminate without waiting. Among others, these threads include the job handler workers, which are responsible for preparing/submitting and collecting/finishing jobs, and which can cause job errors if not shut down cleanly. If using supervisord, consider also increasing the value of `stopwaitsecs`. See the Galaxy Admin Documentation for more.""", ), ] = 30 @@ -3318,10 +2535,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Use Heartbeat", - description="""Write thread status periodically to 'heartbeat.log', (careful, uses disk -space rapidly!). Useful to determine why your processes may be consuming a -lot of CPU. -""", + description="""Write thread status periodically to 'heartbeat.log', (careful, uses disk space rapidly!). Useful to determine why your processes may be consuming a lot of CPU.""", ), ] = False @@ -3329,10 +2543,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Heartbeat Interval", - description="""Control the period (in seconds) between dumps. Use -1 to disable. Regardless -of this setting, if use_heartbeat is enabled, you can send a Galaxy process -SIGUSR1 (`kill -USR1`) to force a dump. -""", + description="""Control the period (in seconds) between dumps. Use -1 to disable. Regardless of this setting, if use_heartbeat is enabled, you can send a Galaxy process SIGUSR1 (`kill -USR1`) to force a dump.""", ), ] = 20 @@ -3348,12 +2559,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Sentry Dsn", - description="""Log to Sentry -Sentry is an open source logging and error aggregation platform. Setting -sentry_dsn will enable the Sentry middleware and errors will be sent to the -indicated sentry instance. This connection string is available in your -sentry instance under -> Settings -> API Keys. -""", + description="""Log to Sentry Sentry is an open source logging and error aggregation platform. Setting sentry_dsn will enable the Sentry middleware and errors will be sent to the indicated sentry instance. This connection string is available in your sentry instance under -> Settings -> API Keys.""", ), ] = None @@ -3361,9 +2567,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Sentry Event Level", - description="""Determines the minimum log level that will be sent as an event to Sentry. -Possible values are DEBUG, INFO, WARNING, ERROR or CRITICAL. -""", + description="""Determines the minimum log level that will be sent as an event to Sentry. Possible values are DEBUG, INFO, WARNING, ERROR or CRITICAL.""", ), ] = "ERROR" @@ -3371,10 +2575,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[float], Field( title="Sentry Traces Sample Rate", - description="""Set to a number between 0 and 1. With this option set, every transaction created -will have that percentage chance of being sent to Sentry. A value higher than 0 -is required to analyze performance. -""", + description="""Set to a number between 0 and 1. With this option set, every transaction created will have that percentage chance of being sent to Sentry. A value higher than 0 is required to analyze performance.""", ), ] = 0.0 @@ -3382,9 +2583,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Sentry Ca Certs", - description="""Use this option to provide the path to location of the CA (Certificate Authority) -certificate file if the sentry server uses a self-signed certificate. -""", + description="""Use this option to provide the path to location of the CA (Certificate Authority) certificate file if the sentry server uses a self-signed certificate.""", ), ] = None @@ -3392,13 +2591,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Statsd Host", - description="""Log to statsd -Statsd is an external statistics aggregator (https://github.com/etsy/statsd) -Enabling the following options will cause galaxy to log request timing and -other statistics to the configured statsd instance. The statsd_prefix is -useful if you are running multiple Galaxy instances and want to segment -statistics between them within the same aggregator. -""", + description="""Log to statsd Statsd is an external statistics aggregator (https://github.com/etsy/statsd) Enabling the following options will cause galaxy to log request timing and other statistics to the configured statsd instance. The statsd_prefix is useful if you are running multiple Galaxy instances and want to segment statistics between them within the same aggregator.""", ), ] = None @@ -3406,13 +2599,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Statsd Port", - description="""Log to statsd -Statsd is an external statistics aggregator (https://github.com/etsy/statsd) -Enabling the following options will cause galaxy to log request timing and -other statistics to the configured statsd instance. The statsd_prefix is -useful if you are running multiple Galaxy instances and want to segment -statistics between them within the same aggregator. -""", + description="""Log to statsd Statsd is an external statistics aggregator (https://github.com/etsy/statsd) Enabling the following options will cause galaxy to log request timing and other statistics to the configured statsd instance. The statsd_prefix is useful if you are running multiple Galaxy instances and want to segment statistics between them within the same aggregator.""", ), ] = 8125 @@ -3420,13 +2607,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Statsd Prefix", - description="""Log to statsd -Statsd is an external statistics aggregator (https://github.com/etsy/statsd) -Enabling the following options will cause galaxy to log request timing and -other statistics to the configured statsd instance. The statsd_prefix is -useful if you are running multiple Galaxy instances and want to segment -statistics between them within the same aggregator. -""", + description="""Log to statsd Statsd is an external statistics aggregator (https://github.com/etsy/statsd) Enabling the following options will cause galaxy to log request timing and other statistics to the configured statsd instance. The statsd_prefix is useful if you are running multiple Galaxy instances and want to segment statistics between them within the same aggregator.""", ), ] = "galaxy" @@ -3434,11 +2615,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Statsd Influxdb", - description="""If you are using telegraf to collect these metrics and then sending -them to InfluxDB, Galaxy can provide more nicely tagged metrics. -Instead of sending prefix + dot-separated-path, Galaxy will send -prefix with a tag path set to the page url -""", + description="""If you are using telegraf to collect these metrics and then sending them to InfluxDB, Galaxy can provide more nicely tagged metrics. Instead of sending prefix + dot-separated-path, Galaxy will send prefix with a tag path set to the page url """, ), ] = False @@ -3446,9 +2623,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Statsd Mock Calls", - description="""Mock out statsd client calls - only used by testing infrastructure really. -Do not set this in production environments. -""", + description="""Mock out statsd client calls - only used by testing infrastructure really. Do not set this in production environments.""", ), ] = False @@ -3456,9 +2631,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="User Library Import Dir Auto Creation", - description="""If user_library_import_dir is set, this option will auto create a library -import directory for every user (based on their email) upon login. -""", + description="""If user_library_import_dir is set, this option will auto create a library import directory for every user (based on their email) upon login.""", ), ] = False @@ -3466,13 +2639,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="User Library Import Symlink Allowlist", - description="""For security reasons, users may not import any files that actually lie -outside of their `user_library_import_dir` (e.g. using symbolic links). A -list of directories can be allowed by setting the following option (the list -is comma-separated). Be aware that *any* user with library import permissions -can import from anywhere in these directories (assuming they are able to -create symlinks to them). -""", + description="""For security reasons, users may not import any files that actually lie outside of their `user_library_import_dir` (e.g. using symbolic links). A list of directories can be allowed by setting the following option (the list is comma-separated). Be aware that *any* user with library import permissions can import from anywhere in these directories (assuming they are able to create symlinks to them).""", ), ] = None @@ -3480,10 +2647,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="User Library Import Check Permissions", - description="""In conjunction or alternatively, Galaxy can restrict user library imports to -those files that the user can read (by checking basic unix permissions). -For this to work, the username has to match the username on the filesystem. -""", + description="""In conjunction or alternatively, Galaxy can restrict user library imports to those files that the user can read (by checking basic unix permissions). For this to work, the username has to match the username on the filesystem.""", ), ] = False @@ -3491,14 +2655,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Allow Path Paste", - description="""Allow admins to paste filesystem paths during upload. For libraries this -adds an option to the admin library upload tool allowing admins to paste -filesystem paths to files and directories in a box, and these paths will be -added to a library. For history uploads, this allows pasting in paths as URIs. -(i.e. prefixed with file://). Set to true to enable. Please note the security -implication that this will give Galaxy Admins access to anything your Galaxy -user has access to. -""", + description="""Allow admins to paste filesystem paths during upload. For libraries this adds an option to the admin library upload tool allowing admins to paste filesystem paths to files and directories in a box, and these paths will be added to a library. For history uploads, this allows pasting in paths as URIs. (i.e. prefixed with file://). Set to true to enable. Please note the security implication that this will give Galaxy Admins access to anything your Galaxy user has access to.""", ), ] = False @@ -3506,12 +2663,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Disable Library Comptypes", - description="""Users may choose to download multiple files from a library in an archive. By -default, Galaxy allows users to select from a few different archive formats -if testing shows that Galaxy is able to create files using these formats. -Specific formats can be disabled with this option, separate more than one -format with commas. Available formats are currently 'zip', 'gz', and 'bz2'. -""", + description="""Users may choose to download multiple files from a library in an archive. By default, Galaxy allows users to select from a few different archive formats if testing shows that Galaxy is able to create files using these formats. Specific formats can be disabled with this option, separate more than one format with commas. Available formats are currently 'zip', 'gz', and 'bz2'.""", ), ] = None @@ -3520,9 +2672,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Name Boost", - description="""In tool search, a query match against a tool's name text will receive -this score multiplier. -""", + description="""In tool search, a query match against a tool's name text will receive this score multiplier.""", ), ] = 20.0 @@ -3531,9 +2681,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Name Exact Multiplier", - description="""If a search query matches a tool name exactly, the score will be -multiplied by this factor. -""", + description="""If a search query matches a tool name exactly, the score will be multiplied by this factor.""", ), ] = 10.0 @@ -3542,10 +2690,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Id Boost", - description="""In tool search, a query match against a tool's ID text will receive -this score multiplier. The query must be an exact match against ID -in order to be counted as a match. -""", + description="""In tool search, a query match against a tool's ID text will receive this score multiplier. The query must be an exact match against ID in order to be counted as a match.""", ), ] = 20.0 @@ -3554,9 +2699,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Section Boost", - description="""In tool search, a query match against a tool's section text will -receive this score multiplier. -""", + description="""In tool search, a query match against a tool's section text will receive this score multiplier.""", ), ] = 3.0 @@ -3565,9 +2708,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Description Boost", - description="""In tool search, a query match against a tool's description text will -receive this score multiplier. -""", + description="""In tool search, a query match against a tool's description text will receive this score multiplier.""", ), ] = 8.0 @@ -3576,9 +2717,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Label Boost", - description="""In tool search, a query match against a tool's label text will -receive this score multiplier. -""", + description="""In tool search, a query match against a tool's label text will receive this score multiplier.""", ), ] = 1.0 @@ -3587,10 +2726,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Stub Boost", - description="""A stub is parsed from the GUID as "owner/repo/tool_id". -In tool search, a query match against a tool's stub text will receive -this score multiplier. -""", + description="""A stub is parsed from the GUID as "owner/repo/tool_id". In tool search, a query match against a tool's stub text will receive this score multiplier.""", ), ] = 2.0 @@ -3599,9 +2735,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Help Boost", - description="""In tool search, a query match against a tool's help text will receive -this score multiplier. -""", + description="""In tool search, a query match against a tool's help text will receive this score multiplier.""", ), ] = 1.0 @@ -3610,12 +2744,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Help Bm25F K1", - description="""The lower this parameter, the greater the diminishing reward for -term frequency in the help text. A higher K1 increases the level -of reward for additional occurences of a term. The default value will -provide a slight increase in score for the first, second and third -occurrence and little reward thereafter. -""", + description="""The lower this parameter, the greater the diminishing reward for term frequency in the help text. A higher K1 increases the level of reward for additional occurences of a term. The default value will provide a slight increase in score for the first, second and third occurrence and little reward thereafter.""", ), ] = 0.5 @@ -3624,9 +2753,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Search Limit", - description="""Limits the number of results in toolbox search. Use to set the -maximum number of tool search results to display. -""", + description="""Limits the number of results in toolbox search. Use to set the maximum number of tool search results to display.""", ), ] = 20 @@ -3635,12 +2762,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Enable Ngram Search", - description="""Disabling this will prevent partial matches on tool names. -Enable/disable Ngram-search for tools. It makes tool -search results tolerant for spelling mistakes in the query, and will -also match query substrings e.g. "genome" will match "genomics" or -"metagenome". -""", + description="""Disabling this will prevent partial matches on tool names. Enable/disable Ngram-search for tools. It makes tool search results tolerant for spelling mistakes in the query, and will also match query substrings e.g. "genome" will match "genomics" or "metagenome".""", ), ] = True @@ -3667,9 +2789,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Tool Ngram Factor", - description="""Ngram matched scores will be multiplied by this factor. Should always -be below 1, because an ngram match is a partial match of a search term. -""", + description="""Ngram matched scores will be multiplied by this factor. Should always be below 1, because an ngram match is a partial match of a search term.""", ), ] = 0.2 @@ -3677,13 +2797,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Tool Test Data Directories", - description="""Set tool test data directory. The test framework sets this value to -'test-data,https://github.com/galaxyproject/galaxy-test-data.git' which will -cause Galaxy to clone down extra test data on the fly for certain tools -distributed with Galaxy but this is likely not appropriate for production systems. -Instead one can simply clone that repository directly and specify a path here -instead of a Git HTTP repository. -""", + description="""Set tool test data directory. The test framework sets this value to 'test-data,https://github.com/galaxyproject/galaxy-test-data.git' which will cause Galaxy to clone down extra test data on the fly for certain tools distributed with Galaxy but this is likely not appropriate for production systems. Instead one can simply clone that repository directly and specify a path here instead of a Git HTTP repository.""", ), ] = "test-data" @@ -3691,13 +2805,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Id Secret", - description="""Galaxy encodes various internal values when these values will be output in -some format (for example, in a URL or cookie). You should set a key to be -used by the algorithm that encodes and decodes these values. It can be any -string with a length between 5 and 56 bytes. -One simple way to generate a value for this is with the shell command: - python -c 'from __future__ import print_function; import time; print(time.time())' | md5sum | cut -f 1 -d ' ' -""", + description="""Galaxy encodes various internal values when these values will be output in some format (for example, in a URL or cookie). You should set a key to be used by the algorithm that encodes and decodes these values. It can be any string with a length between 5 and 56 bytes. One simple way to generate a value for this is with the shell command: python -c 'from __future__ import print_function; import time; print(time.time())' | md5sum | cut -f 1 -d ' ' """, ), ] = "USING THE DEFAULT IS NOT SECURE!" @@ -3705,10 +2813,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Remote User Maildomain", - description="""If use_remote_user is enabled and your external authentication -method just returns bare usernames, set a default mail domain to be appended -to usernames, to become your Galaxy usernames (email addresses). -""", + description="""If use_remote_user is enabled and your external authentication method just returns bare usernames, set a default mail domain to be appended to usernames, to become your Galaxy usernames (email addresses).""", ), ] = None @@ -3716,12 +2821,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Remote User Header", - description="""If use_remote_user is enabled, the header that the upstream proxy provides -the remote username in defaults to HTTP_REMOTE_USER (the ``HTTP_`` is prepended -by WSGI). This option allows you to change the header. Note, you still need -to prepend ``HTTP_`` to the header in this option, but your proxy server should -*not* include ``HTTP_`` at the beginning of the header name. -""", + description="""If use_remote_user is enabled, the header that the upstream proxy provides the remote username in defaults to HTTP_REMOTE_USER (the ``HTTP_`` is prepended by WSGI). This option allows you to change the header. Note, you still need to prepend ``HTTP_`` to the header in this option, but your proxy server should *not* include ``HTTP_`` at the beginning of the header name.""", ), ] = "HTTP_REMOTE_USER" @@ -3729,13 +2829,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Remote User Secret", - description="""If use_remote_user is enabled, anyone who can log in to the Galaxy host may -impersonate any other user by simply sending the appropriate header. Thus a -secret shared between the upstream proxy server, and Galaxy is required. -If anyone other than the Galaxy user is using the server, then apache/nginx -should pass a value in the header 'GX_SECRET' that is identical to the one -below. -""", + description="""If use_remote_user is enabled, anyone who can log in to the Galaxy host may impersonate any other user by simply sending the appropriate header. Thus a secret shared between the upstream proxy server, and Galaxy is required. If anyone other than the Galaxy user is using the server, then apache/nginx should pass a value in the header 'GX_SECRET' that is identical to the one below.""", ), ] = "USING THE DEFAULT IS NOT SECURE!" @@ -3743,10 +2837,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Normalize Remote User Email", - description="""If your proxy and/or authentication source does not normalize e-mail -addresses or user names being passed to Galaxy - set this option -to true to force these to lower case. -""", + description="""If your proxy and/or authentication source does not normalize e-mail addresses or user names being passed to Galaxy - set this option to true to force these to lower case.""", ), ] = False @@ -3755,12 +2846,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Admin Users", - description="""Administrative users - set this to a comma-separated list of valid Galaxy -users (email addresses). These users will have access to the Admin section -of the server, and will have access to create users, groups, roles, -libraries, and more. For more information, see: - https://galaxyproject.org/admin/ -""", + description="""Administrative users - set this to a comma-separated list of valid Galaxy users (email addresses). These users will have access to the Admin section of the server, and will have access to create users, groups, roles, libraries, and more. For more information, see: https://galaxyproject.org/admin/""", ), ] = None @@ -3768,9 +2854,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Show User Prepopulate Form", - description="""When using LDAP for authentication, allow administrators to pre-populate users -using an additional form on 'Create new user' -""", + description="""When using LDAP for authentication, allow administrators to pre-populate users using an additional form on 'Create new user' """, ), ] = False @@ -3778,11 +2862,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="New User Dataset Access Role Default Private", - description="""By default, users' data will be public, but setting this to true will cause -it to be private. Does not affect existing users and data, only ones created -after this option is set. Users may still change their default back to -public. -""", + description="""By default, users' data will be public, but setting this to true will cause it to be private. Does not affect existing users and data, only ones created after this option is set. Users may still change their default back to public.""", ), ] = False @@ -3790,16 +2870,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Expose User Name", - description="""Expose user list. Setting this to true will expose the user list to -authenticated users. This makes sharing datasets in smaller galaxy instances -much easier as they can type a name/email and have the correct user show up. -This makes less sense on large public Galaxy instances where that data -shouldn't be exposed. For semi-public Galaxies, it may make sense to expose -just the username and not email, or vice versa. - -If enable_beta_gdpr is set to true, then this option will be -overridden and set to false. -""", + description="""Expose user list. Setting this to true will expose the user list to authenticated users. This makes sharing datasets in smaller galaxy instances much easier as they can type a name/email and have the correct user show up. This makes less sense on large public Galaxy instances where that data shouldn't be exposed. For semi-public Galaxies, it may make sense to expose just the username and not email, or vice versa. If enable_beta_gdpr is set to true, then this option will be overridden and set to false.""", ), ] = False @@ -3807,14 +2878,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Fetch Url Allowlist", - description="""List of allowed local network addresses for "Upload from URL" dialog. -By default, Galaxy will deny access to the local network address space, to -prevent users making requests to services which the administrator did not -intend to expose. Previously, you could request any network service that -Galaxy might have had access to, even if the user could not normally access it. -It should be a comma-separated list of IP addresses or IP address/mask, e.g. -10.10.10.10,10.0.1.0/24,fd00::/8 -""", + description="""List of allowed local network addresses for "Upload from URL" dialog. By default, Galaxy will deny access to the local network address space, to prevent users making requests to services which the administrator did not intend to expose. Previously, you could request any network service that Galaxy might have had access to, even if the user could not normally access it. It should be a comma-separated list of IP addresses or IP address/mask, e.g. 10.10.10.10,10.0.1.0/24,fd00::/8 """, ), ] = None @@ -3822,21 +2886,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Enable Beta Gdpr", - description="""Enables GDPR Compliance mode. This makes several changes to the way -Galaxy logs and exposes data externally such as removing emails and -usernames from logs and bug reports. It also causes the delete user -admin action to permanently redact their username and password, but -not to delete data associated with the account as this is not -currently easily implementable. - -You are responsible for removing personal data from backups. - -This forces expose_user_email and expose_user_name to be false, and -forces user_deletion to be true to support the right to erasure. - -Please read the GDPR section under the special topics area of the -admin documentation. -""", + description="""Enables GDPR Compliance mode. This makes several changes to the way Galaxy logs and exposes data externally such as removing emails and usernames from logs and bug reports. It also causes the delete user admin action to permanently redact their username and password, but not to delete data associated with the account as this is not currently easily implementable. You are responsible for removing personal data from backups. This forces expose_user_email and expose_user_name to be false, and forces user_deletion to be true to support the right to erasure. Please read the GDPR section under the special topics area of the admin documentation.""", ), ] = False @@ -3844,10 +2894,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Enable Beta Workflow Modules", - description="""Enable beta workflow modules that should not yet be considered part of Galaxy's -stable API. (The module state definitions may change and workflows built using -these modules may not function in the future.) -""", + description="""Enable beta workflow modules that should not yet be considered part of Galaxy's stable API. (The module state definitions may change and workflows built using these modules may not function in the future.) """, ), ] = False @@ -3855,10 +2902,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Edam Panel Views", - description="""Comma-separated list of the EDAM panel views to load - choose from merged, operations, topics. -Set to empty string to disable EDAM all together. Set default_panel_view to 'ontology:edam_topics' -to override default tool panel to use an EDAM view. -""", + description="""Comma-separated list of the EDAM panel views to load - choose from merged, operations, topics. Set to empty string to disable EDAM all together. Set default_panel_view to 'ontology:edam_topics' to override default tool panel to use an EDAM view.""", ), ] = "operations,topics" @@ -3875,10 +2919,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Panel Views Dir", - description="""Directory to check out for toolbox tool panel views. The path is relative to the -Galaxy root dir. To use an absolute path begin the path with '/'. This is a -comma-separated list. -""", + description="""Directory to check out for toolbox tool panel views. The path is relative to the Galaxy root dir. To use an absolute path begin the path with '/'. This is a comma-separated list.""", ), ] = "config/plugins/activities" @@ -3886,9 +2927,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Default Workflow Export Format", - description="""Default format for the export of workflows. Possible values are 'ga' -or 'format2'. -""", + description="""Default format for the export of workflows. Possible values are 'ga' or 'format2'.""", ), ] = "ga" @@ -3896,10 +2935,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Parallelize Workflow Scheduling Within Histories", - description="""If multiple job handlers are enabled, allow Galaxy to schedule workflow invocations -in multiple handlers simultaneously. This is discouraged because it results in a -less predictable order of workflow datasets within in histories. -""", + description="""If multiple job handlers are enabled, allow Galaxy to schedule workflow invocations in multiple handlers simultaneously. This is discouraged because it results in a less predictable order of workflow datasets within in histories.""", ), ] = False @@ -3907,10 +2943,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Maximum Workflow Invocation Duration", - description="""This is the maximum amount of time a workflow invocation may stay in an active -scheduling state in seconds. Set to -1 to disable this maximum and allow any workflow -invocation to schedule indefinitely. The default corresponds to 1 month. -""", + description="""This is the maximum amount of time a workflow invocation may stay in an active scheduling state in seconds. Set to -1 to disable this maximum and allow any workflow invocation to schedule indefinitely. The default corresponds to 1 month.""", ), ] = 2678400 @@ -3918,13 +2951,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Maximum Workflow Jobs Per Scheduling Iteration", - description="""Specify a maximum number of jobs that any given workflow scheduling iteration can create. -Set this to a positive integer to prevent large collection jobs in a workflow from -preventing other jobs from executing. This may also mitigate memory issues associated with -scheduling workflows at the expense of increased total DB traffic because model objects -are expunged from the SQL alchemy session between workflow invocation scheduling iterations. -Set to -1 to disable any such maximum. -""", + description="""Specify a maximum number of jobs that any given workflow scheduling iteration can create. Set this to a positive integer to prevent large collection jobs in a workflow from preventing other jobs from executing. This may also mitigate memory issues associated with scheduling workflows at the expense of increased total DB traffic because model objects are expunged from the SQL alchemy session between workflow invocation scheduling iterations. Set to -1 to disable any such maximum.""", ), ] = 1000 @@ -3932,11 +2959,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Flush Per N Datasets", - description="""Maximum number of datasets to create before flushing created datasets to database. -This affects tools that create many output datasets. -Higher values will lead to fewer database flushes and faster execution, but require -more memory. Set to -1 to disable creating datasets in batches. -""", + description="""Maximum number of datasets to create before flushing created datasets to database. This affects tools that create many output datasets. Higher values will lead to fewer database flushes and faster execution, but require more memory. Set to -1 to disable creating datasets in batches.""", ), ] = 1000 @@ -3944,11 +2967,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Max Discovered Files", - description="""Set this to a positive integer value to limit the number of datasets that can be discovered by -a single job. This prevents accidentally creating large numbers of datasets when running tools -that create a potentially unlimited number of output datasets, such as tools that split a file -into a collection of datasets for each line in an input dataset. -""", + description="""Set this to a positive integer value to limit the number of datasets that can be discovered by a single job. This prevents accidentally creating large numbers of datasets when running tools that create a potentially unlimited number of output datasets, such as tools that split a file into a collection of datasets for each line in an input dataset.""", ), ] = 10000 @@ -3983,10 +3002,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Auth Config File", - description="""XML config file that allows the use of different authentication providers -(e.g. LDAP) instead or in addition to local authentication (.sample is used -if default does not exist). -""", + description="""XML config file that allows the use of different authentication providers (e.g. LDAP) instead or in addition to local authentication (.sample is used if default does not exist).""", ), ] = "auth_conf.xml" @@ -3994,9 +3010,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Api Allow Run As", - description="""Optional list of email addresses of API users who can make calls on behalf of -other users. -""", + description="""Optional list of email addresses of API users who can make calls on behalf of other users.""", ), ] = None @@ -4005,12 +3019,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( deprecated_alias="master_api_key", title="Bootstrap Admin Api Key", - description="""API key that allows performing some admin actions without actually -having a real admin user in the database and config. -Only set this if you need to bootstrap Galaxy, in particular to create -a real admin user account via API. -You should probably not set this on a production server. -""", + description="""API key that allows performing some admin actions without actually having a real admin user in the database and config. Only set this if you need to bootstrap Galaxy, in particular to create a real admin user account via API. You should probably not set this on a production server.""", ), ] = None @@ -4018,19 +3027,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Ga4Gh Service Id", - description="""Service ID for GA4GH services (exposed via the service-info endpoint for the Galaxy DRS API). -If unset, one will be generated using the URL the target API requests are made against. - -For more information on GA4GH service definitions - check out -https://github.com/ga4gh-discovery/ga4gh-service-registry -and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml - -This value should likely reflect your service's URL. For instance for usegalaxy.org -this value should be org.usegalaxy. Particular Galaxy implementations will treat this -value as a prefix and append the service type to this ID. For instance for the DRS -service "id" (available via the DRS API) for the above configuration value would be -org.usegalaxy.drs. -""", + description="""Service ID for GA4GH services (exposed via the service-info endpoint for the Galaxy DRS API). If unset, one will be generated using the URL the target API requests are made against. For more information on GA4GH service definitions - check out https://github.com/ga4gh-discovery/ga4gh-service-registry and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml This value should likely reflect your service's URL. For instance for usegalaxy.org this value should be org.usegalaxy. Particular Galaxy implementations will treat this value as a prefix and append the service type to this ID. For instance for the DRS service "id" (available via the DRS API) for the above configuration value would be org.usegalaxy.drs.""", ), ] = None @@ -4038,13 +3035,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Ga4Gh Service Organization Name", - description="""Service name for host organization (exposed via the service-info endpoint for the Galaxy DRS API). -If unset, one will be generated using ga4gh_service_id. - -For more information on GA4GH service definitions - check out -https://github.com/ga4gh-discovery/ga4gh-service-registry -and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml -""", + description="""Service name for host organization (exposed via the service-info endpoint for the Galaxy DRS API). If unset, one will be generated using ga4gh_service_id. For more information on GA4GH service definitions - check out https://github.com/ga4gh-discovery/ga4gh-service-registry and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml """, ), ] = None @@ -4052,13 +3043,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Ga4Gh Service Organization Url", - description="""Organization URL for host organization (exposed via the service-info endpoint for the Galaxy DRS API). -If unset, one will be generated using the URL the target API requests are made against. - -For more information on GA4GH service definitions - check out -https://github.com/ga4gh-discovery/ga4gh-service-registry -and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml -""", + description="""Organization URL for host organization (exposed via the service-info endpoint for the Galaxy DRS API). If unset, one will be generated using the URL the target API requests are made against. For more information on GA4GH service definitions - check out https://github.com/ga4gh-discovery/ga4gh-service-registry and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml """, ), ] = None @@ -4066,15 +3051,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Ga4Gh Service Environment", - description="""Service environment (exposed via the service-info endpoint for the Galaxy DRS API) for -implemented GA4GH services. - -Suggested values are prod, test, dev, staging. - -For more information on GA4GH service definitions - check out -https://github.com/ga4gh-discovery/ga4gh-service-registry -and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml -""", + description="""Service environment (exposed via the service-info endpoint for the Galaxy DRS API) for implemented GA4GH services. Suggested values are prod, test, dev, staging. For more information on GA4GH service definitions - check out https://github.com/ga4gh-discovery/ga4gh-service-registry and https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh-discovery/ga4gh-service-registry/develop/service-registry.yaml """, ), ] = None @@ -4082,10 +3059,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Enable Tool Tags", - description="""Enable tool tags (associating tools with tags). This has its own option -since its implementation has a few performance implications on startup for -large servers. -""", + description="""Enable tool tags (associating tools with tags). This has its own option since its implementation has a few performance implications on startup for large servers.""", ), ] = False @@ -4093,9 +3067,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Ftp Upload Dir", - description="""This should point to a directory containing subdirectories matching users' -identifier (defaults to e-mail), where Galaxy will look for files. -""", + description="""This should point to a directory containing subdirectories matching users' identifier (defaults to e-mail), where Galaxy will look for files.""", ), ] = None @@ -4103,11 +3075,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Ftp Upload Dir Identifier", - description="""User attribute to use as subdirectory in calculating default ftp_upload_dir -pattern. By default this will be email so a user's FTP upload directory will be -${ftp_upload_dir}/${user.email}. Can set this to other attributes such as id or -username though. -""", + description="""User attribute to use as subdirectory in calculating default ftp_upload_dir pattern. By default this will be email so a user's FTP upload directory will be ${ftp_upload_dir}/${user.email}. Can set this to other attributes such as id or username though.""", ), ] = "email" @@ -4115,11 +3083,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Ftp Upload Dir Template", - description="""Python string template used to determine an FTP upload directory for a -particular user. - -Defaults to '${ftp_upload_dir}/${ftp_upload_dir_identifier}'. -""", + description="""Python string template used to determine an FTP upload directory for a particular user. Defaults to '${ftp_upload_dir}/${ftp_upload_dir_identifier}'.""", ), ] = None @@ -4127,9 +3091,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Ftp Upload Purge", - description="""Set to false to prevent Galaxy from deleting uploaded FTP files -as it imports them. -""", + description="""Set to false to prevent Galaxy from deleting uploaded FTP files as it imports them.""", ), ] = True @@ -4137,10 +3099,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Expose Dataset Path", - description="""This option allows users to see the full path of datasets via the "View -Details" option in the history. This option also exposes the command line to -non-administrative users. Administrators can always see dataset paths. -""", + description="""This option allows users to see the full path of datasets via the "View Details" option in the history. This option also exposes the command line to non-administrative users. Administrators can always see dataset paths.""", ), ] = False @@ -4157,9 +3116,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Expose Potentially Sensitive Job Metrics", - description="""This option allows users to see the job metrics (except for environment -variables). -""", + description="""This option allows users to see the job metrics (except for environment variables).""", ), ] = False @@ -4193,9 +3150,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=MANAGED_CONFIG_DIR, title="Shed Data Manager Config File", - description="""File where Tool Shed based Data Managers are configured. This file will be created -automatically upon data manager installation. -""", + description="""File where Tool Shed based Data Managers are configured. This file will be created automatically upon data manager installation.""", ), ] = "shed_data_manager_conf.xml" @@ -4203,9 +3158,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Galaxy Data Manager Data Path", - description="""Directory to store Data Manager based tool-data. Defaults to the value of the - option. -""", + description="""Directory to store Data Manager based tool-data. Defaults to the value of the option.""", ), ] = None @@ -4214,17 +3167,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Job Config File", - description="""To increase performance of job execution and the web interface, you can -separate Galaxy into multiple processes. There are more than one way to do -this, and they are explained in detail in the documentation: - -https://docs.galaxyproject.org/en/master/admin/scaling.html - -By default, Galaxy manages and executes jobs from within a single process and -notifies itself of new jobs via in-memory queues. Jobs are run locally on -the system on which Galaxy is started. Advanced job running capabilities can -be configured through the job configuration file or the option. -""", + description="""To increase performance of job execution and the web interface, you can separate Galaxy into multiple processes. There are more than one way to do this, and they are explained in detail in the documentation: https://docs.galaxyproject.org/en/master/admin/scaling.html By default, Galaxy manages and executes jobs from within a single process and notifies itself of new jobs via in-memory queues. Jobs are run locally on the system on which Galaxy is started. Advanced job running capabilities can be configured through the job configuration file or the option.""", ), ] = "job_conf.yml" @@ -4241,15 +3184,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[List[Any]], Field( title="Dependency Resolvers", - description="""Rather than specifying a dependency_resolvers_config_file, the definition of the -resolvers to enable can be embedded into Galaxy's config with this option. -This has no effect if a dependency_resolvers_config_file is used. - -The syntax, available resolvers, and documentation of their options is explained in detail in the -documentation: - -https://docs.galaxyproject.org/en/master/admin/dependency_resolvers.html -""", + description="""Rather than specifying a dependency_resolvers_config_file, the definition of the resolvers to enable can be embedded into Galaxy's config with this option. This has no effect if a dependency_resolvers_config_file is used. The syntax, available resolvers, and documentation of their options is explained in detail in the documentation: https://docs.galaxyproject.org/en/master/admin/dependency_resolvers.html """, ), ] = None @@ -4257,11 +3192,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[Dict[str, Any]], Field( title="Dependency Resolution", - description="""Alternative representation of various dependency resolution parameters. Takes the -dictified version of a DependencyManager object - so this is ideal for automating the -configuration of dependency resolution from one application that uses a DependencyManager -to another. -""", + description="""Alternative representation of various dependency resolution parameters. Takes the dictified version of a DependencyManager object - so this is ideal for automating the configuration of dependency resolution from one application that uses a DependencyManager to another.""", ), ] = None @@ -4269,19 +3200,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Default Job Resubmission Condition", - description="""When jobs fail due to job runner problems, Galaxy can be configured to retry -these or reroute the jobs to new destinations. Very fine control of this is -available with resubmit declarations in the job config. For simple deployments -of Galaxy though, the following attribute can define resubmission conditions -for all job destinations. If any job destination defines even one -resubmission condition explicitly in the job config - the condition described -by this option will not apply to that destination. For instance, the condition: -'attempt < 3 and unknown_error and (time_running < 300 or time_since_queued < 300)' -would retry up to two times jobs that didn't fail due to detected memory or -walltime limits but did fail quickly (either while queueing or running). The -commented out default below results in no default job resubmission condition, -failing jobs are just failed outright. -""", + description="""When jobs fail due to job runner problems, Galaxy can be configured to retry these or reroute the jobs to new destinations. Very fine control of this is available with resubmit declarations in the job config. For simple deployments of Galaxy though, the following attribute can define resubmission conditions for all job destinations. If any job destination defines even one resubmission condition explicitly in the job config - the condition described by this option will not apply to that destination. For instance, the condition: 'attempt < 3 and unknown_error and (time_running < 300 or time_since_queued < 300)' would retry up to two times jobs that didn't fail due to detected memory or walltime limits but did fail quickly (either while queueing or running). The commented out default below results in no default job resubmission condition, failing jobs are just failed outright.""", ), ] = None @@ -4290,9 +3209,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( deprecated=True, title="Track Jobs In Database", - description="""This option is deprecated, use the `mem-self` handler assignment option in the -job configuration instead. -""", + description="""This option is deprecated, use the `mem-self` handler assignment option in the job configuration instead.""", ), ] = True @@ -4300,10 +3217,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Use Tasked Jobs", - description="""This enables splitting of jobs into tasks, if specified by the particular tool -config. -This is a new feature and not recommended for production servers yet. -""", + description="""This enables splitting of jobs into tasks, if specified by the particular tool config. This is a new feature and not recommended for production servers yet.""", ), ] = False @@ -4311,10 +3225,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Local Task Queue Workers", - description="""This enables splitting of jobs into tasks, if specified by the particular tool -config. -This is a new feature and not recommended for production servers yet. -""", + description="""This enables splitting of jobs into tasks, if specified by the particular tool config. This is a new feature and not recommended for production servers yet.""", ), ] = 2 @@ -4322,12 +3233,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[float], Field( title="Job Handler Monitor Sleep", - description="""Each Galaxy job handler process runs one thread responsible for discovering jobs and -dispatching them to runners. This thread operates in a loop and sleeps for the given -number of seconds at the end of each iteration. This can be decreased if extremely high -job throughput is necessary, but doing so can increase CPU usage of handler processes. -Float values are allowed. -""", + description="""Each Galaxy job handler process runs one thread responsible for discovering jobs and dispatching them to runners. This thread operates in a loop and sleeps for the given number of seconds at the end of each iteration. This can be decreased if extremely high job throughput is necessary, but doing so can increase CPU usage of handler processes. Float values are allowed.""", ), ] = 1.0 @@ -4335,12 +3241,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[float], Field( title="Job Runner Monitor Sleep", - description="""Each Galaxy job handler process runs one thread per job runner plugin responsible for -checking the state of queued and running jobs. This thread operates in a loop and -sleeps for the given number of seconds at the end of each iteration. This can be -decreased if extremely high job throughput is necessary, but doing so can increase CPU -usage of handler processes. Float values are allowed. -""", + description="""Each Galaxy job handler process runs one thread per job runner plugin responsible for checking the state of queued and running jobs. This thread operates in a loop and sleeps for the given number of seconds at the end of each iteration. This can be decreased if extremely high job throughput is necessary, but doing so can increase CPU usage of handler processes. Float values are allowed.""", ), ] = 1.0 @@ -4348,12 +3249,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[float], Field( title="Workflow Monitor Sleep", - description="""Each Galaxy workflow handler process runs one thread responsible for -checking the state of active workflow invocations. This thread operates in a loop and -sleeps for the given number of seconds at the end of each iteration. This can be -decreased if extremely high job throughput is necessary, but doing so can increase CPU -usage of handler processes. Float values are allowed. -""", + description="""Each Galaxy workflow handler process runs one thread responsible for checking the state of active workflow invocations. This thread operates in a loop and sleeps for the given number of seconds at the end of each iteration. This can be decreased if extremely high job throughput is necessary, but doing so can increase CPU usage of handler processes. Float values are allowed.""", ), ] = 1.0 @@ -4361,15 +3257,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[Literal["directory", "extended", "directory_celery", "extended_celery", "legacy"]], Field( title="Metadata Strategy", - description="""Determines how metadata will be set. Valid values are `directory`, `extended`, -`directory_celery` and `extended_celery`. -In extended mode jobs will decide if a tool run failed, the object stores -configuration is serialized and made available to the job and is used for -writing output datasets to the object store as part of the job and dynamic -output discovery (e.g. discovered datasets , unpopulated collections, -etc) happens as part of the job. In `directory_celery` and `extended_celery` metadata -will be set within a celery task. -""", + description="""Determines how metadata will be set. Valid values are `directory`, `extended`, `directory_celery` and `extended_celery`. In extended mode jobs will decide if a tool run failed, the object stores configuration is serialized and made available to the job and is used for writing output datasets to the object store as part of the job and dynamic output discovery (e.g. discovered datasets , unpopulated collections, etc) happens as part of the job. In `directory_celery` and `extended_celery` metadata will be set within a celery task.""", ), ] = "directory" @@ -4377,12 +3265,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Retry Metadata Internally", - description="""Although it is fairly reliable, setting metadata can occasionally fail. In -these instances, you can choose to retry setting it internally or leave it in -a failed state (since retrying internally may cause the Galaxy process to be -unresponsive). If this option is set to false, the user will be given the -option to retry externally, or set metadata manually (when possible). -""", + description="""Although it is fairly reliable, setting metadata can occasionally fail. In these instances, you can choose to retry setting it internally or leave it in a failed state (since retrying internally may cause the Galaxy process to be unresponsive). If this option is set to false, the user will be given the option to retry externally, or set metadata manually (when possible).""", ), ] = True @@ -4390,12 +3273,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Max Metadata Value Size", - description="""Very large metadata values can cause Galaxy crashes. This will allow -limiting the maximum metadata key size (in bytes used in memory, not the end -result database value size) Galaxy will attempt to save with a dataset. Use -0 to disable this feature. The default is 5MB, but as low as 1MB seems to be -a reasonable size. -""", + description="""Very large metadata values can cause Galaxy crashes. This will allow limiting the maximum metadata key size (in bytes used in memory, not the end result database value size) Galaxy will attempt to save with a dataset. Use 0 to disable this feature. The default is 5MB, but as low as 1MB seems to be a reasonable size.""", ), ] = 5242880 @@ -4403,14 +3281,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Outputs To Working Directory", - description="""This option will override tool output paths to write outputs to the job -working directory (instead of to the file_path) and the job manager will move -the outputs to their proper place in the dataset directory on the Galaxy -server after the job completes. This is necessary (for example) if jobs run -on a cluster and datasets can not be created by the user running the jobs (e.g. -if the filesystem is mounted read-only or the jobs are run by a different -user than the galaxy user). -""", + description="""This option will override tool output paths to write outputs to the job working directory (instead of to the file_path) and the job manager will move the outputs to their proper place in the dataset directory on the Galaxy server after the job completes. This is necessary (for example) if jobs run on a cluster and datasets can not be created by the user running the jobs (e.g. if the filesystem is mounted read-only or the jobs are run by a different user than the galaxy user).""", ), ] = False @@ -4418,12 +3289,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[int], Field( title="Retry Job Output Collection", - description="""If your network filesystem's caching prevents the Galaxy server from seeing -the job's stdout and stderr files when it completes, you can retry reading -these files. The job runner will retry the number of times specified below, -waiting 1 second between tries. For NFS, you may want to try the -noac mount -option (Linux) or -actimeo=0 (Solaris). -""", + description="""If your network filesystem's caching prevents the Galaxy server from seeing the job's stdout and stderr files when it completes, you can retry reading these files. The job runner will retry the number of times specified below, waiting 1 second between tries. For NFS, you may want to try the -noac mount option (Linux) or -actimeo=0 (Solaris).""", ), ] = 0 @@ -4431,13 +3297,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[Literal["local", "remote"]], Field( title="Tool Evaluation Strategy", - description="""Determines which process will evaluate the tool command line. If set to "local" the tool command -line, configuration files and other dynamic values will be templated in the job -handler process. If set to ``remote`` the tool command line will be built as part of the -submitted job. Note that ``remote`` is a beta setting that will be useful for materializing -deferred datasets as part of the submitted job. Note also that you have to set ``metadata_strategy`` -to ``extended`` if you set this option to ``remote``. -""", + description="""Determines which process will evaluate the tool command line. If set to "local" the tool command line, configuration files and other dynamic values will be templated in the job handler process. If set to ``remote`` the tool command line will be built as part of the submitted job. Note that ``remote`` is a beta setting that will be useful for materializing deferred datasets as part of the submitted job. Note also that you have to set ``metadata_strategy`` to ``extended`` if you set this option to ``remote``.""", ), ] = "local" @@ -4445,17 +3305,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[Literal["legacy_only", "legacy_and_local", "always"]], Field( title="Preserve Python Environment", - description="""In the past Galaxy would preserve its Python environment when running jobs ( -and still does for internal tools packaged with Galaxy). This behavior exposes -Galaxy internals to tools and could result in problems when activating -Python environments for tools (such as with Conda packaging). The default -legacy_only will restrict this behavior to tools identified by the Galaxy -team as requiring this environment. Set this to "always" to restore the -previous behavior (and potentially break Conda dependency resolution for many -tools). Set this to legacy_and_local to preserve the environment for legacy -tools and locally managed tools (this might be useful for instance if you are -installing software into Galaxy's virtualenv for tool development). -""", + description="""In the past Galaxy would preserve its Python environment when running jobs ( and still does for internal tools packaged with Galaxy). This behavior exposes Galaxy internals to tools and could result in problems when activating Python environments for tools (such as with Conda packaging). The default legacy_only will restrict this behavior to tools identified by the Galaxy team as requiring this environment. Set this to "always" to restore the previous behavior (and potentially break Conda dependency resolution for many tools). Set this to legacy_and_local to preserve the environment for legacy tools and locally managed tools (this might be useful for instance if you are installing software into Galaxy's virtualenv for tool development).""", ), ] = "legacy_only" @@ -4464,11 +3314,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( reloadable=True, title="Cleanup Job", - description="""Clean up various bits of jobs left on the filesystem after completion. These -bits include the job working directory, external metadata temporary files, -and DRM stdout and stderr files (if using a DRM). Possible values are: -always, onsuccess, never -""", + description="""Clean up various bits of jobs left on the filesystem after completion. These bits include the job working directory, external metadata temporary files, and DRM stdout and stderr files (if using a DRM). Possible values are: always, onsuccess, never """, ), ] = "always" @@ -4476,12 +3322,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Drmaa External Runjob Script", - description="""When running DRMAA jobs as the Galaxy user -(https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) -this script is used to run the job script Galaxy generates for a tool execution. - -Example value 'sudo -E scripts/drmaa_external_runner.py --assign_all_groups' -""", + description="""When running DRMAA jobs as the Galaxy user (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) this script is used to run the job script Galaxy generates for a tool execution. Example value 'sudo -E scripts/drmaa_external_runner.py --assign_all_groups' """, ), ] = None @@ -4489,13 +3330,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Drmaa External Killjob Script", - description="""When running DRMAA jobs as the Galaxy user -(https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) -this script is used to kill such jobs by Galaxy (e.g. if the user cancels -the job). - -Example value 'sudo -E scripts/drmaa_external_killer.py' -""", + description="""When running DRMAA jobs as the Galaxy user (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) this script is used to kill such jobs by Galaxy (e.g. if the user cancels the job). Example value 'sudo -E scripts/drmaa_external_killer.py' """, ), ] = None @@ -4503,13 +3338,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="External Chown Script", - description="""When running DRMAA jobs as the Galaxy user -(https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) -this script is used transfer permissions back and forth between the Galaxy user -and the user that is running the job. - -Example value 'sudo -E scripts/external_chown_script.py' -""", + description="""When running DRMAA jobs as the Galaxy user (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) this script is used transfer permissions back and forth between the Galaxy user and the user that is running the job. Example value 'sudo -E scripts/external_chown_script.py' """, ), ] = None @@ -4517,17 +3346,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Real System Username", - description="""When running DRMAA jobs as the Galaxy user -(https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) -Galaxy can extract the user name from the email address (actually the local-part before the @) -or the username which are both stored in the Galaxy data base. -The latter option is particularly useful for installations that get the -authentication from LDAP. -Also, Galaxy can accept the name of a common system user (eg. galaxy_worker) -who can run every job being submitted. This user should not be the same user -running the galaxy system. -Possible values are user_email (default), username or -""", + description="""When running DRMAA jobs as the Galaxy user (https://docs.galaxyproject.org/en/master/admin/cluster.html#submitting-jobs-as-the-real-user) Galaxy can extract the user name from the email address (actually the local-part before the @) or the username which are both stored in the Galaxy data base. The latter option is particularly useful for installations that get the authentication from LDAP. Also, Galaxy can accept the name of a common system user (eg. galaxy_worker) who can run every job being submitted. This user should not be the same user running the galaxy system. Possible values are user_email (default), username or """, ), ] = "user_email" @@ -4535,16 +3354,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Environment Setup File", - description="""File to source to set up the environment when running jobs. By default, the -environment in which the Galaxy server starts is used when running jobs -locally, and the environment set up per the DRM's submission method and -policy is used when running jobs on a cluster (try testing with `qsub` on the -command line). environment_setup_file can be set to the path of a file on -the cluster that should be sourced by the user to set up the environment -prior to running tools. This can be especially useful for running jobs as -the actual user, to remove the need to configure each user's environment -individually. -""", + description="""File to source to set up the environment when running jobs. By default, the environment in which the Galaxy server starts is used when running jobs locally, and the environment set up per the DRM's submission method and policy is used when running jobs on a cluster (try testing with `qsub` on the command line). environment_setup_file can be set to the path of a file on the cluster that should be sourced by the user to set up the environment prior to running tools. This can be especially useful for running jobs as the actual user, to remove the need to configure each user's environment individually.""", ), ] = None @@ -4553,9 +3363,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Markdown Export Css", - description="""CSS file to apply to all Markdown exports to PDF - currently used by -WeasyPrint during rendering an HTML export of the document to PDF. -""", + description="""CSS file to apply to all Markdown exports to PDF - currently used by WeasyPrint during rendering an HTML export of the document to PDF.""", ), ] = "markdown_export.css" @@ -4564,10 +3372,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Markdown Export Css Pages", - description="""CSS file to apply to "Galaxy Page" exports to PDF. Generally prefer -markdown_export_css, but this is here for deployments that -would like to tailor different kinds of exports. -""", + description="""CSS file to apply to "Galaxy Page" exports to PDF. Generally prefer markdown_export_css, but this is here for deployments that would like to tailor different kinds of exports.""", ), ] = "markdown_export_pages.css" @@ -4576,10 +3381,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Markdown Export Css Invocation Reports", - description="""CSS file to apply to invocation report exports to PDF. Generally prefer -markdown_export_css, but this is here for deployments that -would like to tailor different kinds of exports. -""", + description="""CSS file to apply to invocation report exports to PDF. Generally prefer markdown_export_css, but this is here for deployments that would like to tailor different kinds of exports.""", ), ] = "markdown_export_invocation_reports.css" @@ -4587,9 +3389,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) str, Field( title="Markdown Export Prologue", - description="""Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing -branded headers. -""", + description="""Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing branded headers.""", ), ] = "" @@ -4597,9 +3397,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) str, Field( title="Markdown Export Epilogue", - description="""Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing -branded footers. -""", + description="""Prologue Markdown/HTML to apply to markdown exports to PDF. Allowing branded footers.""", ), ] = "" @@ -4615,9 +3413,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) str, Field( title="Markdown Export Prologue Invocation Reports", - description="""Alternative to markdown_export_prologue that applies just to invocation report -exports. -""", + description="""Alternative to markdown_export_prologue that applies just to invocation report exports.""", ), ] = "" @@ -4642,11 +3438,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Job Resource Params File", - description="""Optional file containing job resource data entry fields definition. -These fields will be presented to users in the tool forms and allow them to -overwrite default job resources such as number of processors, memory and -walltime. -""", + description="""Optional file containing job resource data entry fields definition. These fields will be presented to users in the tool forms and allow them to overwrite default job resources such as number of processors, memory and walltime.""", ), ] = "job_resource_params_conf.xml" @@ -4655,11 +3447,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Workflow Resource Params File", - description="""Similar to the above parameter, workflows can describe parameters used to -influence scheduling of jobs within the workflow. This requires both a description -of the fields available (which defaults to the definitions in -job_resource_params_file if not set). -""", + description="""Similar to the above parameter, workflows can describe parameters used to influence scheduling of jobs within the workflow. This requires both a description of the fields available (which defaults to the definitions in job_resource_params_file if not set).""", ), ] = "workflow_resource_params_conf.xml" @@ -4667,16 +3455,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Workflow Resource Params Mapper", - description="""This parameter describes how to map users and workflows to a set of workflow -resource parameter to present (typically input IDs from workflow_resource_params_file). -If this this is a function reference it will be passed various inputs (workflow model -object and user) and it should produce a list of input IDs. If it is a path -it is expected to be an XML or YAML file describing how to map group names to parameter -descriptions (additional types of mappings via these files could be implemented but -haven't yet - for instance using workflow tags to do the mapping). - -Sample default path 'config/workflow_resource_mapper_conf.yml.sample' -""", + description="""This parameter describes how to map users and workflows to a set of workflow resource parameter to present (typically input IDs from workflow_resource_params_file). If this this is a function reference it will be passed various inputs (workflow model object and user) and it should produce a list of input IDs. If it is a path it is expected to be an XML or YAML file describing how to map group names to parameter descriptions (additional types of mappings via these files could be implemented but haven't yet - for instance using workflow tags to do the mapping). Sample default path 'config/workflow_resource_mapper_conf.yml.sample' """, ), ] = None @@ -4685,9 +3464,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Field( path_resolves_to=CONFIG_DIR, title="Workflow Schedulers Config File", - description="""Optional configuration file similar to `job_config_file` to specify -which Galaxy processes should schedule workflows. -""", + description="""Optional configuration file similar to `job_config_file` to specify which Galaxy processes should schedule workflows.""", ), ] = "workflow_schedulers_conf.xml" @@ -4695,15 +3472,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Cache User Job Count", - description="""If using job concurrency limits (configured in job_config_file), several -extra database queries must be performed to determine the number of jobs a -user has dispatched to a given destination. By default, these queries will -happen for every job that is waiting to run, but if cache_user_job_count is -set to true, it will only happen once per iteration of the handler queue. -Although better for performance due to reduced queries, the trade-off is a -greater possibility that jobs will be dispatched past the configured limits -if running many handlers. -""", + description="""If using job concurrency limits (configured in job_config_file), several extra database queries must be performed to determine the number of jobs a user has dispatched to a given destination. By default, these queries will happen for every job that is waiting to run, but if cache_user_job_count is set to true, it will only happen once per iteration of the handler queue. Although better for performance due to reduced queries, the trade-off is a greater possibility that jobs will be dispatched past the configured limits if running many handlers.""", ), ] = False @@ -4711,9 +3480,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Tool Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) -that admins may use to restrict the tools to display. -""", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that admins may use to restrict the tools to display.""", ), ] = None @@ -4721,9 +3488,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Tool Label Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) -that admins may use to restrict the tool labels to display. -""", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that admins may use to restrict the tool labels to display.""", ), ] = None @@ -4731,9 +3496,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Tool Section Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) -that admins may use to restrict the tool sections to display. -""", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that admins may use to restrict the tool sections to display.""", ), ] = None @@ -4741,9 +3504,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="User Tool Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) -that users may use to restrict the tools to display. -""", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that users may use to restrict the tools to display.""", ), ] = "examples:restrict_upload_to_admins, examples:restrict_encode" @@ -4751,9 +3512,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="User Tool Section Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) -that users may use to restrict the tool sections to display. -""", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that users may use to restrict the tool sections to display.""", ), ] = "examples:restrict_text" @@ -4761,9 +3520,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="User Tool Label Filters", - description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) -that users may use to restrict the tool labels to display. -""", + description="""Define toolbox filters (https://galaxyproject.org/user-defined-toolbox-filters/) that users may use to restrict the tool labels to display.""", ), ] = "examples:restrict_upload_to_admins, examples:restrict_encode" @@ -4771,9 +3528,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Toolbox Filter Base Modules", - description="""The base module(s) that are searched for modules for toolbox filtering -(https://galaxyproject.org/user-defined-toolbox-filters/) functions. -""", + description="""The base module(s) that are searched for modules for toolbox filtering (https://galaxyproject.org/user-defined-toolbox-filters/) functions.""", ), ] = "galaxy.tools.filters,galaxy.tools.toolbox.filters,galaxy.tool_util.toolbox.filters" @@ -4781,17 +3536,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[str], Field( title="Amqp Internal Connection", - description="""Galaxy uses AMQP internally for communicating between processes. For -example, when reloading the toolbox or locking job execution, the process -that handled that particular request will tell all others to also reload, -lock jobs, etc. -For connection examples, see https://docs.celeryq.dev/projects/kombu/en/stable/userguide/connections.html - -Without specifying anything here, galaxy will first attempt to use your -specified database_connection above. If that's not specified either, Galaxy -will automatically create and use a separate sqlite database located in your -/database folder (indicated in the commented out line below). -""", + description="""Galaxy uses AMQP internally for communicating between processes. For example, when reloading the toolbox or locking job execution, the process that handled that particular request will tell all others to also reload, lock jobs, etc. For connection examples, see https://docs.celeryq.dev/projects/kombu/en/stable/userguide/connections.html Without specifying anything here, galaxy will first attempt to use your specified database_connection above. If that's not specified either, Galaxy will automatically create and use a separate sqlite database located in your /database folder (indicated in the commented out line below).""", ), ] = "sqlalchemy+sqlite:///./database/control.sqlite?isolation_level=IMMEDIATE" @@ -4799,19 +3544,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[Any], Field( title="Celery Conf", - description="""Configuration options passed to Celery. - -To refer to a task by name, use the template `galaxy.foo` where `foo` is the function name -of the task defined in the galaxy.celery.tasks module. - -The `broker_url` option, if unset, defaults to the value of `amqp_internal_connection`. -The `result_backend` option must be set if the `enable_celery_tasks` option is set. - -The galaxy.fetch_data task can be disabled by setting its route to "disabled": `galaxy.fetch_data: disabled`. -(Other tasks cannot be disabled on a per-task basis at this time.) - -For details, see Celery documentation at https://docs.celeryq.dev/en/stable/userguide/configuration.html. -""", + description="""Configuration options passed to Celery. To refer to a task by name, use the template `galaxy.foo` where `foo` is the function name of the task defined in the galaxy.celery.tasks module. The `broker_url` option, if unset, defaults to the value of `amqp_internal_connection`. The `result_backend` option must be set if the `enable_celery_tasks` option is set. The galaxy.fetch_data task can be disabled by setting its route to "disabled": `galaxy.fetch_data: disabled`. (Other tasks cannot be disabled on a per-task basis at this time.) For details, see Celery documentation at https://docs.celeryq.dev/en/stable/userguide/configuration.html.""", ), ] = {"task_routes": {"galaxy.fetch_data": "galaxy.external", "galaxy.set_job_metadata": "galaxy.external"}} @@ -4819,9 +3552,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[float], Field( title="Celery User Rate Limit", - description="""If set to a non-0 value, upper limit on number of -tasks that can be executed per user per second. -""", + description="""If set to a non-0 value, upper limit on number of tasks that can be executed per user per second.""", ), ] = 0.0 @@ -4829,10 +3560,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) Optional[bool], Field( title="Use Pbkdf2", - description="""Allow disabling pbkdf2 hashing of passwords for legacy situations. -This should normally be left enabled unless there is a specific -reason to disable it. -""", + description="""Allow disabling pbkdf2 hashing of passwords for legacy situations. This should normally be left enabled unless there is a specific reason to disable it.""", ), ] = True @@ -4878,9 +3606,7 @@ class FullGalaxyConfig(AdminExposableGalaxyConfig, SchemaCompatibleConfigValues) path_resolves_to=CONFIG_DIR, per_host=True, title="Themes Config File", - description="""Optional file containing one or more themes for galaxy. If several themes -are defined, users can choose their preferred theme in the client. -""", + description="""Optional file containing one or more themes for galaxy. If several themes are defined, users can choose their preferred theme in the client.""", ), ] = "themes_conf.yml"