{ "openapi": "3.1.0", "info": { "title": "FastAPI", "version": "0.1.0" }, "paths": { "/api/configs/service": { "get": { "tags": [ "Config API" ], "summary": "Read Service Configs", "description": "Read all the service configurations", "operationId": "read_service_configs_api_configs_service_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceConfig-Output" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Service Configs", "description": "Put service configurations", "operationId": "put_service_configs_api_configs_service_put", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutServiceRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Put Service Configs Api Configs Service Put" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "Config API" ], "summary": "Patch Service Configs", "description": "Patch service configurations", "operationId": "patch_service_configs_api_configs_service_patch", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchConfigRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Patch Service Configs Api Configs Service Patch" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/workflow": { "get": { "tags": [ "Config API" ], "summary": "Read Workflow Configs", "description": "Read all the workflow configurations", "operationId": "read_workflow_configs_api_configs_workflow_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowConfig-Output" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Workflow Configs", "description": "Put workflow configurations", "operationId": "put_workflow_configs_api_configs_workflow_put", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutWorkflowRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Put Workflow Configs Api Configs Workflow Put" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "Config API" ], "summary": "Patch Workflow Configs", "description": "Patch workflow configurations", "operationId": "patch_workflow_configs_api_configs_workflow_patch", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchConfigRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Patch Workflow Configs Api Configs Workflow Patch" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/backend": { "get": { "tags": [ "Config API" ], "summary": "List Backends", "description": "List all backends.", "operationId": "list_backends_api_configs_backend_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBackendsResponse" } } } } } } }, "/api/configs/backend/{name}": { "post": { "tags": [ "Config API" ], "summary": "Update Backend", "description": "Override the config for a specific backend.", "operationId": "update_backend_api_configs_backend__name__post", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostBackendRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "get": { "tags": [ "Config API" ], "summary": "Get Backend", "description": "Get info for a specific backend.", "operationId": "get_backend_api_configs_backend__name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Backend" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Config API" ], "summary": "Delete Backend", "description": "Remove a backend.", "operationId": "delete_backend_api_configs_backend__name__delete", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteBackendRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/pool": { "get": { "tags": [ "Config API" ], "summary": "List Pools", "description": "List all Pools", "operationId": "list_pools_api_configs_pool_get", "parameters": [ { "name": "verbose", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Verbose" } }, { "name": "backend", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Backend" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/VerbosePoolConfig" }, { "$ref": "#/components/schemas/EditablePoolConfig" } ], "title": "Response List Pools Api Configs Pool Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Pools", "description": "Put Pool configurations", "operationId": "put_pools_api_configs_pool_put", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutPoolsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/pool/{name}": { "get": { "tags": [ "Config API" ], "summary": "Read Pool", "description": "Read Pool configuration\n\nReturn type Any to prevent unwanted artifacts between Pool and PoolEditable outputs\nShould return Pool or PoolEditable objects", "operationId": "read_pool_api_configs_pool__name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "verbose", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Verbose" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/Pool-Output" }, { "$ref": "#/components/schemas/PoolEditable" } ], "title": "Response Read Pool Api Configs Pool Name Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Pool", "description": "Put Pool configurations", "operationId": "put_pool_api_configs_pool__name__put", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutPoolRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "Config API" ], "summary": "Patch Pool", "description": "Patch Pool configurations", "operationId": "patch_pool_api_configs_pool__name__patch", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchPoolRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Config API" ], "summary": "Delete Pool", "description": "Delete Pool configurations", "operationId": "delete_pool_api_configs_pool__name__delete", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/pool/{name}/rename": { "put": { "tags": [ "Config API" ], "summary": "Rename Pool", "description": "Rename Pool", "operationId": "rename_pool_api_configs_pool__name__rename_put", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenamePoolRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/pool/{name}/platform": { "get": { "tags": [ "Config API" ], "summary": "List Platforms In Pool", "description": "List all Platforms", "operationId": "list_platforms_in_pool_api_configs_pool__name__platform_get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "verbose", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Verbose" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "anyOf": [ { "$ref": "#/components/schemas/PlatformMinimal" }, { "$ref": "#/components/schemas/PlatformEditable" }, { "$ref": "#/components/schemas/Platform-Output" } ] }, "title": "Response List Platforms In Pool Api Configs Pool Name Platform Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/pool/{name}/platform/{platform_name}": { "get": { "tags": [ "Config API" ], "summary": "Read Platform In Pool", "description": "Read Platform", "operationId": "read_platform_in_pool_api_configs_pool__name__platform__platform_name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "platform_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Platform Name" } }, { "name": "verbose", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Verbose" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/PlatformMinimal" }, { "$ref": "#/components/schemas/PlatformEditable" }, { "$ref": "#/components/schemas/Platform-Output" } ], "title": "Response Read Platform In Pool Api Configs Pool Name Platform Platform Name Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Platform In Pool", "description": "Put Platform configurations", "operationId": "put_platform_in_pool_api_configs_pool__name__platform__platform_name__put", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "platform_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Platform Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutPoolPlatformRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/pool/{name}/platform/{platform_name}/rename": { "put": { "tags": [ "Config API" ], "summary": "Rename Platform In Pool", "description": "Rename Platform", "operationId": "rename_platform_in_pool_api_configs_pool__name__platform__platform_name__rename_put", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "platform_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Platform Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RenamePoolPlatformRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/pod_template": { "get": { "tags": [ "Config API" ], "summary": "List Pod Templates", "description": "List all Pod Template configurations", "operationId": "list_pod_templates_api_configs_pod_template_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response List Pod Templates Api Configs Pod Template Get" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Pod Templates", "description": "Set Dict of Pod Templates configurations", "operationId": "put_pod_templates_api_configs_pod_template_put", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutPodTemplatesRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/pod_template/{name}": { "get": { "tags": [ "Config API" ], "summary": "Read Pod Template", "description": "Read Pod Template configurations", "operationId": "read_pod_template_api_configs_pod_template__name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Read Pod Template Api Configs Pod Template Name Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Pod Template", "description": "Put Pod Template configurations", "operationId": "put_pod_template_api_configs_pod_template__name__put", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutPodTemplateRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Config API" ], "summary": "Delete Pod Template", "description": "Delete Pod Template configurations", "operationId": "delete_pod_template_api_configs_pod_template__name__delete", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/group_template": { "get": { "tags": [ "Config API" ], "summary": "List Group Templates", "description": "List all Group Template configurations", "operationId": "list_group_templates_api_configs_group_template_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": true }, "title": "Response List Group Templates Api Configs Group Template Get" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Group Templates", "description": "Set Dict of Group Templates configurations", "operationId": "put_group_templates_api_configs_group_template_put", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutGroupTemplatesRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/group_template/{name}": { "get": { "tags": [ "Config API" ], "summary": "Read Group Template", "description": "Read Group Template configurations", "operationId": "read_group_template_api_configs_group_template__name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Read Group Template Api Configs Group Template Name Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Group Template", "description": "Put Group Template configurations", "operationId": "put_group_template_api_configs_group_template__name__put", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutGroupTemplateRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Config API" ], "summary": "Delete Group Template", "description": "Delete Group Template configurations", "operationId": "delete_group_template_api_configs_group_template__name__delete", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/resource_validation": { "get": { "tags": [ "Config API" ], "summary": "List Resource Validations", "description": "List all Resource Validation configurations", "operationId": "list_resource_validations_api_configs_resource_validation_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceAssertion" } }, "title": "Response List Resource Validations Api Configs Resource Validation Get" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Resource Validations", "description": "Put Resource Validation configurations", "operationId": "put_resource_validations_api_configs_resource_validation_put", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutResourceValidationsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/resource_validation/{name}": { "get": { "tags": [ "Config API" ], "summary": "Read Resource Validation", "description": "Read Resource Validation configurations", "operationId": "read_resource_validation_api_configs_resource_validation__name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceAssertion" }, "title": "Response Read Resource Validation Api Configs Resource Validation Name Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Resource Validation", "description": "Put Resource Validation configurations", "operationId": "put_resource_validation_api_configs_resource_validation__name__put", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutResourceValidationRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Config API" ], "summary": "Delete Resource Validation", "description": "Delete Resource Validation configurations", "operationId": "delete_resource_validation_api_configs_resource_validation__name__delete", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/role": { "get": { "tags": [ "Config API" ], "summary": "List Roles", "description": "List all Roles", "operationId": "list_roles_api_configs_role_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Role-Output" }, "title": "Response List Roles Api Configs Role Get" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Roles", "description": "Put Roles", "operationId": "put_roles_api_configs_role_put", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutRolesRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/role/{name}": { "get": { "tags": [ "Config API" ], "summary": "Read Role", "description": "Read Role", "operationId": "read_role_api_configs_role__name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Role-Output" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Role", "description": "Patch Role configurations", "operationId": "put_role_api_configs_role__name__put", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutRoleRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Config API" ], "summary": "Delete Role", "description": "Delete Role", "operationId": "delete_role_api_configs_role__name__delete", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/backend_test": { "get": { "tags": [ "Config API" ], "summary": "List Backend Tests", "description": "List all backend test configurations", "operationId": "list_backend_tests_api_configs_backend_test_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/BackendTests" }, "title": "Response List Backend Tests Api Configs Backend Test Get" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Backend Tests", "description": "Put backend test configurations", "operationId": "put_backend_tests_api_configs_backend_test_put", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutBackendTestsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/backend_test/{name}": { "get": { "tags": [ "Config API" ], "summary": "Read Backend Test", "description": "Read backend test configuration", "operationId": "read_backend_test_api_configs_backend_test__name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BackendTests" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Config API" ], "summary": "Put Backend Test", "description": "Put backend test configuration", "operationId": "put_backend_test_api_configs_backend_test__name__put", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutBackendTestRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "Config API" ], "summary": "Patch Backend Test", "description": "Patch backend test configuration", "operationId": "patch_backend_test_api_configs_backend_test__name__patch", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchBackendTestRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Config API" ], "summary": "Delete Backend Test", "description": "Delete test configuration", "operationId": "delete_backend_test_api_configs_backend_test__name__delete", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/history": { "get": { "tags": [ "Config API" ], "summary": "Get Configs History", "description": "List history of all configs", "operationId": "get_configs_history_api_configs_history_get", "parameters": [ { "name": "offset", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "minimum": 0 }, { "type": "null" } ], "description": "Number of records to skip", "default": 0, "title": "Offset" }, "description": "Number of records to skip" }, { "name": "limit", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "maximum": 1000, "exclusiveMinimum": 0 }, { "type": "null" } ], "description": "Maximum number of records to return", "default": 20, "title": "Limit" }, "description": "Maximum number of records to return" }, { "name": "order", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/ListOrder", "description": "Sort order by creation time", "default": "ASC" }, "description": "Sort order by creation time" }, { "name": "config_types", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/ConfigHistoryType" } }, { "type": "null" } ], "description": "Filter by config types", "title": "Config Types" }, "description": "Filter by config types", "explode": true }, { "name": "name", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Filter by config name", "title": "Name" }, "description": "Filter by config name" }, { "name": "revision", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "exclusiveMinimum": 0 }, { "type": "null" } ], "description": "Filter by revision", "title": "Revision" }, "description": "Filter by revision" }, { "name": "tags", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "description": "Filter by tags", "title": "Tags" }, "description": "Filter by tags", "explode": true }, { "name": "created_before", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "Filter by creation time before", "title": "Created Before" }, "description": "Filter by creation time before" }, { "name": "created_after", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "Filter by creation time after", "title": "Created After" }, "description": "Filter by creation time after" }, { "name": "at_timestamp", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "Get config state at specific timestamp", "title": "At Timestamp" }, "description": "Get config state at specific timestamp" }, { "name": "omit_data", "in": "query", "required": false, "schema": { "type": "boolean", "description": "Whether to omit data from the response", "default": false, "title": "Omit Data" }, "description": "Whether to omit data from the response" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetConfigsHistoryResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/history/rollback": { "post": { "tags": [ "Config API" ], "summary": "Rollback Config", "description": "Roll back a config to a particular revision.", "operationId": "rollback_config_api_configs_history_rollback_post", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RollbackConfigRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/history/{config_type}/revision/{revision}": { "delete": { "tags": [ "Config API" ], "summary": "Delete Config History Revision", "description": "Delete a specific config history revision. This performs a soft delete of the revision.\n\nArgs:\n config_type: Type of config to delete\n revision: Revision number to delete (must be greater than 0)\n username: Username of the person performing the delete\n\nRaises:\n OSMOUserError: If the revision doesn't exist or is the current revision", "operationId": "delete_config_history_revision_api_configs_history__config_type__revision__revision__delete", "parameters": [ { "name": "config_type", "in": "path", "required": true, "schema": { "type": "string", "title": "Config Type" } }, { "name": "revision", "in": "path", "required": true, "schema": { "type": "integer", "exclusiveMinimum": 0, "title": "Revision" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/history/{config_type}/revision/{revision}/tags": { "post": { "tags": [ "Config API" ], "summary": "Update Config History Tags", "description": "Update tags for a specific config history revision.\n\nArgs:\n config_type: Type of config to update\n revision: Revision number to update (must be greater than 0)\n request: Request containing tags to add and delete\n username: Username of the person performing the update\n\nRaises:\n OSMOUserError: If the revision doesn't exist or is invalid", "operationId": "update_config_history_tags_api_configs_history__config_type__revision__revision__tags_post", "parameters": [ { "name": "config_type", "in": "path", "required": true, "schema": { "type": "string", "title": "Config Type" } }, { "name": "revision", "in": "path", "required": true, "schema": { "type": "integer", "exclusiveMinimum": 0, "title": "Revision" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateConfigTagsRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/configs/diff": { "get": { "tags": [ "Config API" ], "summary": "Get Config Diff", "description": "Returns two config revisions, similar to\nGET /api/configs/history/{config_type}/revision/{revision}, but with obfuscated secret strings\nthat say if a secret string is changed. Intended for use with the `diff` command.\n\nArgs:\n request: Request containing config type and revisions to compare\n\nReturns:\n ConfigDiffResponse containing the two revisions\n\nRaises:\n OSMOUserError: If either revision doesn't exist or is invalid", "operationId": "get_config_diff_api_configs_diff_get", "parameters": [ { "name": "config_type", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/ConfigHistoryType" } }, { "name": "first_revision", "in": "query", "required": true, "schema": { "type": "integer", "exclusiveMinimum": 0, "description": "First revision to compare", "title": "First Revision" }, "description": "First revision to compare" }, { "name": "second_revision", "in": "query", "required": true, "schema": { "type": "integer", "exclusiveMinimum": 0, "description": "Second revision to compare", "title": "Second Revision" }, "description": "Second revision to compare" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigDiffResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/jwt/refresh_token": { "get": { "tags": [ "Auth API" ], "summary": "Get New Jwt Token", "description": "API to fetch for a new access token using a refresh token.\n\nDeprecated: Use POST /api/auth/jwt/refresh_token instead.", "operationId": "get_new_jwt_token_api_auth_jwt_refresh_token_get", "parameters": [ { "name": "refresh_token", "in": "query", "required": true, "schema": { "type": "string", "title": "Refresh Token" } }, { "name": "workflow_id", "in": "query", "required": true, "schema": { "type": "string", "title": "Workflow Id" } }, { "name": "group_name", "in": "query", "required": true, "schema": { "type": "string", "title": "Group Name" } }, { "name": "task_name", "in": "query", "required": true, "schema": { "type": "string", "title": "Task Name" } }, { "name": "retry_id", "in": "query", "required": false, "schema": { "type": "integer", "default": 0, "title": "Retry Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtTokenResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Auth API" ], "summary": "Post New Jwt Token", "description": "API to fetch for a new access token using a refresh token.", "operationId": "post_new_jwt_token_api_auth_jwt_refresh_token_post", "parameters": [ { "name": "workflow_id", "in": "query", "required": true, "schema": { "type": "string", "title": "Workflow Id" } }, { "name": "group_name", "in": "query", "required": true, "schema": { "type": "string", "title": "Group Name" } }, { "name": "task_name", "in": "query", "required": true, "schema": { "type": "string", "title": "Task Name" } }, { "name": "retry_id", "in": "query", "required": false, "schema": { "type": "integer", "default": 0, "title": "Retry Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtTokenResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/jwt/access_token": { "get": { "tags": [ "Auth API" ], "summary": "Get Jwt Token From Access Token", "description": "API to create a new jwt token from an access token.\n\nDeprecated: Use POST /api/auth/jwt/access_token instead.", "operationId": "get_jwt_token_from_access_token_api_auth_jwt_access_token_get", "parameters": [ { "name": "access_token", "in": "query", "required": true, "schema": { "type": "string", "title": "Access Token" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtTokenResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Auth API" ], "summary": "Post Jwt Token From Access Token", "description": "API to create a new jwt token from an access token.", "operationId": "post_jwt_token_from_access_token_api_auth_jwt_access_token_post", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JwtTokenResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/access_token/{token_name}": { "post": { "tags": [ "Auth API" ], "summary": "Create Access Token", "description": "API to create a new access token.\n\nIf roles are specified, all specified roles must be assigned to the user.\nIf any role is not assigned to the user, the request fails and no token\nis created. If no roles are specified, the access token inherits all of the user's\ncurrent roles from the user_roles table.", "operationId": "create_access_token_api_auth_access_token__token_name__post", "parameters": [ { "name": "token_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Token Name" } }, { "name": "expires_at", "in": "query", "required": true, "schema": { "type": "string", "title": "Expires At" } }, { "name": "description", "in": "query", "required": false, "schema": { "type": "string", "default": "", "title": "Description" } }, { "name": "roles", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Roles" }, "explode": true }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "string", "title": "Response Create Access Token Api Auth Access Token Token Name Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Auth API" ], "summary": "Delete Access Token", "description": "API to delete an access token.", "operationId": "delete_access_token_api_auth_access_token__token_name__delete", "parameters": [ { "name": "token_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Token Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/access_token/{token_name}/roles": { "get": { "tags": [ "Auth API" ], "summary": "List Access Token Roles", "description": "List all roles assigned to an access token.\n\nArgs:\n token_name: The token name\n user_name: Authenticated user (owner of the token)\n\nReturns:\n AccessTokenRolesResponse with list of role assignments", "operationId": "list_access_token_roles_api_auth_access_token__token_name__roles_get", "parameters": [ { "name": "token_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Token Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessTokenRolesResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/access_token": { "get": { "tags": [ "Auth API" ], "summary": "List Access Tokens", "description": "API to list all access tokens for a user, including their assigned roles.", "operationId": "list_access_tokens_api_auth_access_token_get", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AccessTokenWithRoles" }, "title": "Response List Access Tokens Api Auth Access Token Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/user/{user_id}/access_token/{token_name}": { "post": { "tags": [ "Auth API" ], "summary": "Admin Create Access Token", "description": "Admin API to create an access token for a specific user.\n\nThis endpoint allows administrators to create an access token\non behalf of any user in the system.\n\nIf roles are specified, all specified roles must be assigned to the target\nuser. If any role is not assigned to the user, the request fails and no\ntoken is created. If no roles are specified, the access token inherits all of the\ntarget user's current roles from the user_roles table.\n\nArgs:\n user_id: The user ID to create the token for\n token_name: Name for the access token\n expires_at: Expiration date in YYYY-MM-DD format\n description: Optional description for the token\n roles: Optional list of roles to assign (must all be assigned to user)\n admin_user: Authenticated admin user making the request\n\nReturns:\n The generated access token string", "operationId": "admin_create_access_token_api_auth_user__user_id__access_token__token_name__post", "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "token_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Token Name" } }, { "name": "expires_at", "in": "query", "required": true, "schema": { "type": "string", "title": "Expires At" } }, { "name": "description", "in": "query", "required": false, "schema": { "type": "string", "default": "", "title": "Description" } }, { "name": "roles", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Roles" }, "explode": true }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "string", "title": "Response Admin Create Access Token Api Auth User User Id Access Token Token Name Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Auth API" ], "summary": "Admin Delete Access Token", "description": "Admin API to delete an access token for a specific user.\n\nArgs:\n user_id: The user ID who owns the token\n token_name: Name of the token to delete", "operationId": "admin_delete_access_token_api_auth_user__user_id__access_token__token_name__delete", "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "token_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Token Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/user/{user_id}/access_token": { "get": { "tags": [ "Auth API" ], "summary": "Admin List Access Tokens", "description": "Admin API to list all access tokens for a specific user, including their assigned roles.\n\nArgs:\n user_id: The user ID to list tokens for\n\nReturns:\n List of AccessTokenWithRoles objects", "operationId": "admin_list_access_tokens_api_auth_user__user_id__access_token_get", "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AccessTokenWithRoles" }, "title": "Response Admin List Access Tokens Api Auth User User Id Access Token Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/user": { "get": { "tags": [ "Auth API" ], "summary": "List Users", "description": "List all users with optional filtering.\n\nArgs:\n start_index: Pagination start (1-based, default: 1)\n count: Results per page (default: 100, max: 1000)\n id_prefix: Filter users whose ID starts with this prefix\n roles: List of role names. Returns users who have ANY of these roles.\n Use multiple query params: ?roles=admin&roles=user\n\nReturns:\n UserListResponse with paginated user list", "operationId": "list_users_api_auth_user_get", "parameters": [ { "name": "start_index", "in": "query", "required": false, "schema": { "type": "integer", "default": 1, "title": "Start Index" } }, { "name": "count", "in": "query", "required": false, "schema": { "type": "integer", "default": 100, "title": "Count" } }, { "name": "id_prefix", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Id Prefix" } }, { "name": "roles", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Roles" }, "explode": true } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserListResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Auth API" ], "summary": "Create User", "description": "Create a new user.\n\nArgs:\n request: CreateUserRequest with user details\n created_by: Authenticated user making the request\n\nReturns:\n Created User object", "operationId": "create_user_api_auth_user_post", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateUserRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/user/{user_id}": { "get": { "tags": [ "Auth API" ], "summary": "Get User", "description": "Get a specific user's details including their roles.\n\nArgs:\n user_id: The user ID to fetch\n\nReturns:\n UserWithRoles object", "operationId": "get_user_api_auth_user__user_id__get", "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserWithRoles" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Auth API" ], "summary": "Delete User", "description": "Delete a user and all associated role assignments and PATs.\n\nArgs:\n user_id: The user ID to delete", "operationId": "delete_user_api_auth_user__user_id__delete", "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/user/{user_id}/roles": { "get": { "tags": [ "Auth API" ], "summary": "List User Roles", "description": "List all roles assigned to a user.\n\nArgs:\n user_id: The user ID\n\nReturns:\n UserRolesResponse with list of role assignments", "operationId": "list_user_roles_api_auth_user__user_id__roles_get", "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRolesResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Auth API" ], "summary": "Assign Role To User", "description": "Assign a role to a user.\n\nArgs:\n user_id: The user ID\n request: AssignRoleRequest with role_name\n assigned_by: Authenticated user making the request\n\nReturns:\n UserRoleAssignment with assignment details", "operationId": "assign_role_to_user_api_auth_user__user_id__roles_post", "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignRoleRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRoleAssignment" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/user/{user_id}/roles/{role_name}": { "delete": { "tags": [ "Auth API" ], "summary": "Remove Role From User", "description": "Remove a role from a user and all their PATs.\n\nWhen a role is removed from a user, it is automatically removed from all PATs\nowned by that user via the FK cascade from access_token_roles to user_roles.\n\nArgs:\n user_id: The user ID\n role_name: The role to remove", "operationId": "remove_role_from_user_api_auth_user__user_id__roles__role_name__delete", "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } }, { "name": "role_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Role Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/roles/{role_name}/users": { "get": { "tags": [ "Auth API" ], "summary": "List Users With Role", "description": "List all users who have a specific role.\n\nArgs:\n role_name: The role name\n\nReturns:\n RoleUsersResponse with list of users", "operationId": "list_users_with_role_api_auth_roles__role_name__users_get", "parameters": [ { "name": "role_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Role Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleUsersResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Auth API" ], "summary": "Bulk Assign Role", "description": "Bulk assign a role to multiple users.\n\nArgs:\n role_name: The role to assign\n request: BulkAssignRequest with list of user_ids\n assigned_by: Authenticated user making the request\n\nReturns:\n BulkAssignResponse with results", "operationId": "bulk_assign_role_api_auth_roles__role_name__users_post", "parameters": [ { "name": "role_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Role Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkAssignRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkAssignResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/app": { "get": { "tags": [ "Workflow App API" ], "summary": "List Apps", "operationId": "list_apps_api_app_get", "parameters": [ { "name": "name", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" } }, { "name": "users", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Users" }, "explode": true }, { "name": "all_users", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "All Users" } }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "default": 0, "title": "Offset" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 20, "title": "Limit" } }, { "name": "order", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/ListOrder", "default": "ASC" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/src__service__core__app__objects__ListResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/app/user/{name}": { "get": { "tags": [ "Workflow App API" ], "summary": "Get App", "operationId": "get_app_api_app_user__name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^(?:[a-zA-Z0-9_-]+)$", "title": "Name" } }, { "name": "version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Version" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 20, "title": "Limit" } }, { "name": "order", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/ListOrder", "default": "ASC" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAppResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Workflow App API" ], "summary": "Create App", "operationId": "create_app_api_app_user__name__post", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^(?:[a-zA-Z0-9_-]+)$", "title": "Name" } }, { "name": "description", "in": "query", "required": true, "schema": { "type": "string", "title": "Description" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "string", "title": "App Content" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "Workflow App API" ], "summary": "Update App", "operationId": "update_app_api_app_user__name__patch", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^(?:[a-zA-Z0-9_-]+)$", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "string", "title": "App Content" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Workflow App API" ], "summary": "Delete App", "operationId": "delete_app_api_app_user__name__delete", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^(?:[a-zA-Z0-9_-]+)$", "title": "Name" } }, { "name": "version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Version" } }, { "name": "all_versions", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "All Versions" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer" } }, "title": "Response Delete App Api App User Name Delete" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/app/user/{name}/spec": { "get": { "tags": [ "Workflow App API" ], "summary": "Get App Content", "operationId": "get_app_content_api_app_user__name__spec_get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^(?:[a-zA-Z0-9_-]+)$", "title": "Name" } }, { "name": "version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Version" } } ], "responses": { "200": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/app/user/{name}/rename": { "post": { "tags": [ "Workflow App API" ], "summary": "Rename App", "operationId": "rename_app_api_app_user__name__rename_post", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^(?:[a-zA-Z0-9_-]+)$", "title": "Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "string", "title": "New Name" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "string", "title": "Response Rename App Api App User Name Rename Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/cancel": { "post": { "tags": [ "Workflow API" ], "summary": "Cancel Workflow", "description": "Cancels the workflow.", "operationId": "cancel_workflow_api_workflow__name__cancel_post", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "message", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" } }, { "name": "force", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Force" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CancelResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow": { "get": { "tags": [ "Workflow API" ], "summary": "List Workflow", "operationId": "list_workflow_api_workflow_get", "parameters": [ { "name": "users", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Users" }, "explode": true }, { "name": "name", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" } }, { "name": "statuses", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/WorkflowStatus" } }, { "type": "null" } ], "title": "Statuses" }, "explode": true }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "default": 0, "title": "Offset" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 20, "title": "Limit" } }, { "name": "order", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/ListOrder", "default": "ASC" } }, { "name": "all_users", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "All Users" } }, { "name": "pools", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Pools" }, "explode": true }, { "name": "all_pools", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "All Pools" } }, { "name": "submitted_before", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Submitted Before" } }, { "name": "submitted_after", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Submitted After" } }, { "name": "tags", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Tags" }, "explode": true }, { "name": "app", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "App" } }, { "name": "priority", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/WorkflowPriority" } }, { "type": "null" } ], "title": "Priority" }, "explode": true }, { "name": "label", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "description": "Workflow label selector: key=value with optional * wildcards and (a|b) alternatives, for example key=(team_*|osmo_*) or key=team_(a|b). Repeat for AND semantics.", "title": "Label" }, "description": "Workflow label selector: key=value with optional * wildcards and (a|b) alternatives, for example key=(team_*|osmo_*) or key=team_(a|b). Repeat for AND semantics.", "explode": true }, { "name": "no_label", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "description": "Label key that must be absent from the workflow; workflows without any labels match. Repeat for AND semantics.", "title": "No Label" }, "description": "Label key that must be absent from the workflow; workflows without any labels match. Repeat for AND semantics.", "explode": true }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/src__service__core__workflow__objects__ListResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/task/{task_name}": { "get": { "tags": [ "Workflow API" ], "summary": "Get Workflow Task", "description": "Returns the task (with the latest retry_id) with the given name in the workflow.", "operationId": "get_workflow_task_api_workflow__name__task__task_name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "task_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Task Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaskEntry" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/task": { "get": { "tags": [ "Workflow API" ], "summary": "List Task", "operationId": "list_task_api_task_get", "parameters": [ { "name": "workflow_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Workflow Id" } }, { "name": "statuses", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/TaskGroupStatus" } }, { "type": "null" } ], "title": "Statuses" }, "explode": true }, { "name": "users", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Users" }, "explode": true }, { "name": "all_users", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "All Users" } }, { "name": "pools", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Pools" }, "explode": true }, { "name": "all_pools", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "All Pools" } }, { "name": "nodes", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Nodes" }, "explode": true }, { "name": "started_after", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Started After" } }, { "name": "started_before", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Started Before" } }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "default": 0, "title": "Offset" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 20, "title": "Limit" } }, { "name": "order", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/ListOrder", "default": "ASC" } }, { "name": "summary", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Summary" } }, { "name": "aggregate_by_workflow", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Aggregate By Workflow" } }, { "name": "priority", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/WorkflowPriority" } }, { "type": "null" } ], "title": "Priority" }, "explode": true }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/ListTaskSummaryResponse" }, { "$ref": "#/components/schemas/ListTaskResponse" }, { "$ref": "#/components/schemas/ListTaskAggregatedResponse" } ], "title": "Response List Task Api Task Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}": { "get": { "tags": [ "Workflow API" ], "summary": "Get Workflow", "description": "Returns the workflow with the given name in the database.", "operationId": "get_workflow_api_workflow__name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "skip_groups", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Skip Groups" } }, { "name": "verbose", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Verbose" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowQueryResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/logs": { "get": { "tags": [ "Workflow API" ], "summary": "Get Workflow Logs", "description": "Returns the workflow logs.", "operationId": "get_workflow_logs_api_workflow__name__logs_get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "last_n_lines", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Last N Lines" } }, { "name": "task_name", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Task Name" } }, { "name": "retry_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Retry Id" } }, { "name": "query", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Query" } } ], "responses": { "200": { "description": "Successful Response", "content": { "text/plain": { "schema": { "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/events": { "get": { "tags": [ "Workflow API" ], "summary": "Get Workflow Pod Conditions", "description": "Returns the workflow pod conditions.", "operationId": "get_workflow_pod_conditions_api_workflow__name__events_get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "task_name", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Task Name" } }, { "name": "retry_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Retry Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "text/plain": { "schema": { "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/error_logs": { "get": { "tags": [ "Workflow API" ], "summary": "Get Workflow Error Logs", "description": "Returns the workflow error logs.", "operationId": "get_workflow_error_logs_api_workflow__name__error_logs_get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "last_n_lines", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Last N Lines" } }, { "name": "task_name", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Task Name" } }, { "name": "retry_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Retry Id" } }, { "name": "query", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Query" } } ], "responses": { "200": { "description": "Successful Response", "content": { "text/plain": { "schema": { "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/spec": { "get": { "tags": [ "Workflow API" ], "summary": "Get Workflow Spec", "description": "Returns the workflow spec.", "operationId": "get_workflow_spec_api_workflow__name__spec_get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "use_template", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Use Template" } } ], "responses": { "200": { "description": "Successful Response", "content": { "text/plain": { "schema": { "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/tag": { "post": { "tags": [ "Workflow API" ], "summary": "Tag Workflow", "description": "Returns the workflow spec.", "operationId": "tag_workflow_api_workflow__name__tag_post", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "add", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Add" }, "explode": true }, { "name": "remove", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Remove" }, "explode": true } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/exec/group/{group_name}": { "post": { "tags": [ "Workflow API" ], "summary": "Exec Into Group", "description": "Send command to all tasks in a group.", "operationId": "exec_into_group_api_workflow__name__exec_group__group_name__post", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "group_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Group Name" } }, { "name": "entry_command", "in": "query", "required": true, "schema": { "type": "string", "title": "Entry Command" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/RouterResponse" }, "title": "Response Exec Into Group Api Workflow Name Exec Group Group Name Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/exec/task/{task_name}": { "post": { "tags": [ "Workflow API" ], "summary": "Exec Into Task", "description": "Exec into a task container.", "operationId": "exec_into_task_api_workflow__name__exec_task__task_name__post", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "task_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Task Name" } }, { "name": "entry_command", "in": "query", "required": true, "schema": { "type": "string", "title": "Entry Command" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RouterResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/portforward/{task_name}": { "post": { "tags": [ "Workflow API" ], "summary": "Port Forward Task", "description": "Portforward into a task container.", "operationId": "port_forward_task_api_workflow__name__portforward__task_name__post", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "task_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Task Name" } }, { "name": "task_ports", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "integer" } }, { "type": "null" } ], "title": "Task Ports" }, "explode": true }, { "name": "use_udp", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Use Udp" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/RouterResponse" } }, { "$ref": "#/components/schemas/RouterResponse" } ], "title": "Response Port Forward Task Api Workflow Name Portforward Task Name Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/webserver/{task_name}": { "post": { "tags": [ "Workflow API" ], "summary": "Port Forward Webserver", "description": "Hold a webserver connection to a task container.", "operationId": "port_forward_webserver_api_workflow__name__webserver__task_name__post", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "task_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Task Name" } }, { "name": "task_port", "in": "query", "required": true, "schema": { "type": "integer", "title": "Task Port" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RouterResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/workflow/{name}/rsync/task/{task_name}": { "post": { "tags": [ "Workflow API" ], "summary": "Rsync Task", "description": "Rsync into a task container.", "operationId": "rsync_task_api_workflow__name__rsync_task__task_name__post", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } }, { "name": "task_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Task Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RouterResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/credentials": { "get": { "tags": [ "Credentials API" ], "summary": "Get User Credential", "description": "Get default/all user credentials", "operationId": "get_user_credential_api_credentials_get", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CredentialGetResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/credentials/{cred_name}": { "post": { "tags": [ "Credentials API" ], "summary": "Set User Credential", "description": "Post/Update user credentials", "operationId": "set_user_credential_api_credentials__cred_name__post", "parameters": [ { "name": "cred_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Cred Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CredentialOptions" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Credentials API" ], "summary": "Delete Users Credential", "description": "Delete user credentials given the secret_id", "operationId": "delete_users_credential_api_credentials__cred_name__delete", "parameters": [ { "name": "cred_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Cred Name" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CredentialGetResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/resources": { "get": { "tags": [ "Resource API" ], "summary": "Get Resources", "description": "Returns the information of resources available in different pools.", "operationId": "get_resources_api_resources_get", "parameters": [ { "name": "pools", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Pools" }, "explode": true }, { "name": "platforms", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Platforms" }, "explode": true }, { "name": "all_pools", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "All Pools" } }, { "name": "concise", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Concise" } }, { "name": "x-osmo-allowed-pools", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-Allowed-Pools" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/ResourcesResponse" }, { "$ref": "#/components/schemas/PoolResourcesResponse" } ], "title": "Response Get Resources Api Resources Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/resources/{name}": { "get": { "tags": [ "Resource API" ], "summary": "Get One Resource", "description": "Returns the request resource's information.", "operationId": "get_one_resource_api_resources__name__get", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string", "title": "Name" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResourcesResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/pool": { "get": { "tags": [ "Pool API" ], "summary": "Get Pools", "description": "Returns information regarding pools to users.\n\nIf all_pools is set to true, all pools' information will be returned in API response.\nOtherwise, only information from pools that the user has access to will be returned\nin the response.", "operationId": "get_pools_api_pool_get", "parameters": [ { "name": "all_pools", "in": "query", "required": false, "schema": { "type": "boolean", "default": true, "title": "All Pools" } }, { "name": "pools", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Pools" }, "explode": true } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MinimalPoolConfig" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/pool_quota": { "get": { "tags": [ "Pool API" ], "summary": "Get Pool Quotas", "operationId": "get_pool_quotas_api_pool_quota_get", "parameters": [ { "name": "all_pools", "in": "query", "required": false, "schema": { "type": "boolean", "default": true, "title": "All Pools" } }, { "name": "pools", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Pools" }, "explode": true } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PoolResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/pool/{pool_name}/workflow": { "post": { "tags": [ "Pool API" ], "summary": "Submit Workflow", "description": "This api validates that a workflow is well formed and valid and then submits it.", "operationId": "submit_workflow_api_pool__pool_name__workflow_post", "parameters": [ { "name": "pool_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Pool Name" } }, { "name": "workflow_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Workflow Id" } }, { "name": "app_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "App Uuid" } }, { "name": "app_version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "App Version" } }, { "name": "dry_run", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Dry Run" } }, { "name": "validation_only", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Validation Only" } }, { "name": "priority", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/WorkflowPriority", "default": "NORMAL" } }, { "name": "env_vars", "in": "query", "required": false, "schema": { "type": "array", "items": { "type": "string" }, "default": [], "title": "Env Vars" }, "explode": true }, { "name": "label", "in": "query", "required": false, "schema": { "type": "array", "items": { "type": "string" }, "default": [], "title": "Label" }, "explode": true }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } }, { "name": "x-osmo-roles", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-Roles" } } ], "requestBody": { "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/TemplateSpec" }, { "type": "null" } ], "title": "Template Spec" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/pool/{pool_name}/workflow/{workflow_id}/restart": { "post": { "tags": [ "Pool API" ], "summary": "Restart Workflow", "description": "This api restarts a failed workflow and then submits it.", "operationId": "restart_workflow_api_pool__pool_name__workflow__workflow_id__restart_post", "parameters": [ { "name": "pool_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Pool Name" } }, { "name": "workflow_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Workflow Id" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } }, { "name": "x-osmo-roles", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-Roles" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubmitResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/profile/settings": { "get": { "tags": [ "Profile API" ], "summary": "Get Notification Settings", "operationId": "get_notification_settings_api_profile_settings_get", "parameters": [ { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } }, { "name": "x-osmo-roles", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-Roles" } }, { "name": "x-osmo-token-name", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-Token-Name" } }, { "name": "x-osmo-allowed-pools", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-Allowed-Pools" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProfileResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Profile API" ], "summary": "Set Notification Settings", "operationId": "set_notification_settings_api_profile_settings_post", "parameters": [ { "name": "set_default_backend", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Set Default Backend" } }, { "name": "x-osmo-user", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Osmo-User" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserProfile" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/client/version": { "get": { "tags": [ "Misc API" ], "summary": "Get Osmo Client Version", "operationId": "get_osmo_client_version_client_version_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } }, "/health": { "get": { "tags": [ "Misc API" ], "summary": "Health", "description": "To be used for the readiness probe, but not liveness probe. That way, if this method is\nslow, no new traffic gets routed, instead of killing the service.", "operationId": "health_health_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Response Health Health Get" } } } } } } }, "/api/version": { "get": { "tags": [ "Misc API" ], "summary": "Get Version", "operationId": "get_version_api_version_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Version" } } } } } } }, "/api/users": { "get": { "tags": [ "Misc API" ], "summary": "Get Users", "description": "Returns the values of all users who have submitted a workflow.", "operationId": "get_users_api_users_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "type": "string" }, "type": "array", "title": "Response Get Users Api Users Get" } } } } } } }, "/api/tag": { "get": { "tags": [ "Misc API" ], "summary": "Get Available Workflow Tags", "description": "Returns all workflow tags.", "operationId": "get_available_workflow_tags_api_tag_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "type": "object", "title": "Response Get Available Workflow Tags Api Tag Get" } } } } } } }, "/api/plugins/configs": { "get": { "tags": [ "Misc API" ], "summary": "Get Workflow Plugins Configs", "description": "Get all the workflow plugins configurations", "operationId": "get_workflow_plugins_configs_api_plugins_configs_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PluginsConfig-Output" } } } } } } } }, "components": { "schemas": { "AccessTokenRole": { "properties": { "role_name": { "type": "string", "title": "Role Name" }, "assigned_by": { "type": "string", "title": "Assigned By" }, "assigned_at": { "type": "string", "format": "date-time", "title": "Assigned At" } }, "type": "object", "required": [ "role_name", "assigned_by", "assigned_at" ], "title": "AccessTokenRole", "description": "Access token role assignment." }, "AccessTokenRolesResponse": { "properties": { "user_name": { "type": "string", "title": "User Name" }, "token_name": { "type": "string", "title": "Token Name" }, "roles": { "items": { "$ref": "#/components/schemas/AccessTokenRole" }, "type": "array", "title": "Roles" } }, "type": "object", "required": [ "user_name", "token_name", "roles" ], "title": "AccessTokenRolesResponse", "description": "Response for listing access token roles." }, "AccessTokenWithRoles": { "properties": { "user_name": { "type": "string", "title": "User Name" }, "token_name": { "type": "string", "title": "Token Name" }, "expires_at": { "type": "string", "format": "date-time", "title": "Expires At" }, "description": { "type": "string", "title": "Description" }, "roles": { "items": { "type": "string" }, "type": "array", "title": "Roles", "default": [] } }, "type": "object", "required": [ "user_name", "token_name", "expires_at", "description" ], "title": "AccessTokenWithRoles", "description": "Access Token with roles." }, "AssignRoleRequest": { "properties": { "role_name": { "type": "string", "title": "Role Name" } }, "type": "object", "required": [ "role_name" ], "title": "AssignRoleRequest", "description": "Request to assign a role to a user." }, "AsymmetricKeyPair": { "properties": { "public_key": { "type": "string", "title": "Public Key" }, "private_key": { "type": "string", "format": "password", "title": "Private Key", "writeOnly": true } }, "type": "object", "required": [ "public_key", "private_key" ], "title": "AsymmetricKeyPair", "description": "Store a public/private key pair " }, "AuthenticationConfig": { "properties": { "keys": { "additionalProperties": { "$ref": "#/components/schemas/AsymmetricKeyPair" }, "type": "object", "title": "Keys" }, "active_key": { "type": "string", "title": "Active Key" }, "issuer": { "type": "string", "title": "Issuer" }, "audience": { "type": "string", "title": "Audience" }, "user_roles": { "items": { "type": "string" }, "type": "array", "title": "User Roles", "default": [ "osmo-user" ] }, "ctrl_roles": { "items": { "type": "string" }, "type": "array", "title": "Ctrl Roles", "default": [ "osmo-user", "osmo-ctrl" ] }, "login_info": { "$ref": "#/components/schemas/LoginInfo", "default": {} }, "max_token_duration": { "type": "string", "title": "Max Token Duration", "default": "365d" } }, "type": "object", "required": [ "keys", "active_key", "issuer", "audience" ], "title": "AuthenticationConfig", "description": "Store info needed to generate and validate idtokens " }, "Backend": { "properties": { "name": { "type": "string", "title": "Name" }, "description": { "type": "string", "title": "Description" }, "version": { "type": "string", "title": "Version" }, "k8s_uid": { "type": "string", "title": "K8S Uid" }, "k8s_namespace": { "type": "string", "title": "K8S Namespace" }, "dashboard_url": { "type": "string", "title": "Dashboard Url" }, "grafana_url": { "type": "string", "title": "Grafana Url" }, "tests": { "items": { "type": "string" }, "type": "array", "title": "Tests" }, "scheduler_settings": { "$ref": "#/components/schemas/BackendSchedulerSettings" }, "node_conditions": { "$ref": "#/components/schemas/BackendNodeConditions" }, "last_heartbeat": { "type": "string", "format": "date-time", "title": "Last Heartbeat" }, "created_date": { "type": "string", "format": "date-time", "title": "Created Date" }, "router_address": { "type": "string", "title": "Router Address" }, "online": { "type": "boolean", "title": "Online" } }, "type": "object", "required": [ "name", "description", "version", "k8s_uid", "k8s_namespace", "dashboard_url", "grafana_url", "tests", "scheduler_settings", "node_conditions", "last_heartbeat", "created_date", "router_address", "online" ], "title": "Backend", "description": "Object storing backend info. " }, "BackendConfig": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "k8s_uid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "K8S Uid" }, "dashboard_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Dashboard Url" }, "grafana_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Grafana Url" }, "tests": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tests" }, "scheduler_settings": { "anyOf": [ { "$ref": "#/components/schemas/BackendSchedulerSettings" }, { "type": "null" } ] }, "node_conditions": { "anyOf": [ { "$ref": "#/components/schemas/BackendNodeConditions" }, { "type": "null" } ] }, "router_address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Router Address" } }, "type": "object", "title": "BackendConfig", "description": "Similar to connectors.Backend, but with optional fields." }, "BackendNodeConditions": { "properties": { "rules": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Rules" }, "prefix": { "type": "string", "title": "Prefix", "default": "osmo.nvidia.com/" } }, "type": "object", "title": "BackendNodeConditions", "description": "Settings for backend node conditions. " }, "BackendResourceType": { "type": "string", "enum": [ "RESERVED", "SHARED", "UNUSED" ], "title": "BackendResourceType", "description": "Resource type for BackendResource. " }, "BackendSchedulerSettings": { "properties": { "scheduler_type": { "$ref": "#/components/schemas/BackendSchedulerType", "default": "kai" }, "scheduler_name": { "type": "string", "title": "Scheduler Name", "default": "kai-scheduler" }, "scheduler_timeout": { "type": "integer", "title": "Scheduler Timeout", "default": 30 } }, "type": "object", "title": "BackendSchedulerSettings", "description": "Settings that control the how pods are scheduled in a backend" }, "BackendSchedulerType": { "type": "string", "enum": [ "kai" ], "title": "BackendSchedulerType", "description": "Defines the type of scheduler used by the backend " }, "BackendTests": { "properties": { "name": { "type": "string", "minLength": 1, "title": "Name" }, "description": { "type": "string", "title": "Description" }, "cron_schedule": { "type": "string", "minLength": 1, "title": "Cron Schedule" }, "test_timeout": { "type": "string", "title": "Test Timeout", "default": "300s" }, "node_conditions": { "items": { "type": "string" }, "type": "array", "minItems": 1, "title": "Node Conditions" }, "common_pod_template": { "items": { "type": "string" }, "type": "array", "minItems": 1, "title": "Common Pod Template" }, "parsed_pod_template": { "additionalProperties": true, "type": "object", "title": "Parsed Pod Template", "default": {} } }, "type": "object", "required": [ "name", "description", "cron_schedule", "node_conditions", "common_pod_template" ], "title": "BackendTests", "description": "Represents a test config. " }, "BulkAssignRequest": { "properties": { "user_ids": { "items": { "type": "string" }, "type": "array", "title": "User Ids" } }, "type": "object", "required": [ "user_ids" ], "title": "BulkAssignRequest", "description": "Request to bulk assign a role to users." }, "BulkAssignResponse": { "properties": { "role_name": { "type": "string", "title": "Role Name" }, "assigned": { "items": { "type": "string" }, "type": "array", "title": "Assigned" }, "already_assigned": { "items": { "type": "string" }, "type": "array", "title": "Already Assigned" }, "failed": { "items": { "type": "string" }, "type": "array", "title": "Failed" } }, "type": "object", "required": [ "role_name", "assigned", "already_assigned", "failed" ], "title": "BulkAssignResponse", "description": "Response for bulk role assignment." }, "CancelResponse": { "properties": { "name": { "type": "string", "title": "Name" } }, "additionalProperties": false, "type": "object", "required": [ "name" ], "title": "CancelResponse", "description": "Object storing workflow name. " }, "CliConfig": { "properties": { "latest_version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Latest Version" }, "min_supported_version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Min Supported Version" }, "client_install_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Client Install Url" } }, "additionalProperties": false, "type": "object", "title": "CliConfig", "description": "Config for storing information regarding CLI storage. " }, "ConfigDiffResponse": { "properties": { "first_data": { "title": "First Data" }, "second_data": { "title": "Second Data" } }, "type": "object", "title": "ConfigDiffResponse", "description": "Response body for config diff endpoint." }, "ConfigHistory": { "properties": { "config_type": { "$ref": "#/components/schemas/ConfigHistoryType" }, "name": { "type": "string", "title": "Name" }, "revision": { "type": "integer", "title": "Revision" }, "username": { "type": "string", "title": "Username" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" }, "description": { "type": "string", "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "data": { "title": "Data" } }, "type": "object", "required": [ "config_type", "name", "revision", "username", "created_at", "description" ], "title": "ConfigHistory", "description": "Object storing config history." }, "ConfigHistoryType": { "type": "string", "enum": [ "DATASET", "SERVICE", "WORKFLOW", "BACKEND", "POOL", "POD_TEMPLATE", "GROUP_TEMPLATE", "RESOURCE_VALIDATION", "BACKEND_TEST", "ROLE" ], "title": "ConfigHistoryType", "description": "Type of configs supported by config history " }, "ConfigsRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" } }, "type": "object", "title": "ConfigsRequest", "description": "Request body for updating configurations with history tracking metadata." }, "CreateUserRequest": { "properties": { "id": { "type": "string", "title": "Id" }, "roles": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Roles" } }, "type": "object", "required": [ "id" ], "title": "CreateUserRequest", "description": "Request to create a new user." }, "CredentialConfig": { "properties": { "disable_registry_validation": { "items": { "type": "string" }, "type": "array", "title": "Disable Registry Validation", "default": [] }, "disable_data_validation": { "items": { "type": "string" }, "type": "array", "title": "Disable Data Validation", "default": [] } }, "additionalProperties": false, "type": "object", "title": "CredentialConfig", "description": "Stores registries/data which do not do validation " }, "CredentialGetResponse": { "properties": { "credentials": { "items": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "type": "object" }, "type": "array", "title": "Credentials" } }, "type": "object", "required": [ "credentials" ], "title": "CredentialGetResponse", "description": "Credential Response. " }, "CredentialOptions": { "properties": { "registry_credential": { "anyOf": [ { "$ref": "#/components/schemas/UserRegistryCredential" }, { "type": "null" } ], "description": "Authentication information for a Docker registry" }, "data_credential": { "anyOf": [ { "$ref": "#/components/schemas/UserDataCredential" }, { "type": "null" } ], "description": "Authentication information for a data service" }, "generic_credential": { "anyOf": [ { "$ref": "#/components/schemas/UserCredential" }, { "type": "null" } ], "description": "Generic authentication information" } }, "type": "object", "title": "CredentialOptions", "description": "Credential options " }, "DataConfig": { "properties": { "credential": { "anyOf": [ { "$ref": "#/components/schemas/StaticDataCredential" }, { "$ref": "#/components/schemas/DefaultDataCredential" }, { "type": "null" } ], "title": "Credential" }, "base_url": { "type": "string", "title": "Base Url", "default": "" }, "websocket_timeout": { "type": "integer", "title": "Websocket Timeout", "default": 1440 }, "data_timeout": { "type": "integer", "title": "Data Timeout", "default": 10 }, "download_type": { "$ref": "#/components/schemas/DownloadType", "default": "download" } }, "additionalProperties": false, "type": "object", "title": "DataConfig", "description": "Config for storing information about data. " }, "DefaultDataCredential": { "properties": { "endpoint": { "type": "string", "title": "Endpoint", "description": "The OSMO storage URI for the data service (e.g., s3://bucket). For S3-compatible services with HTTP endpoints, set 'override_url' separately rather than pasting the full HTTPS URL here." }, "region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Region", "description": "The region for the data service" }, "override_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Override Url", "description": "HTTP service URL for S3-compatible providers (e.g., http://minio:9000, https://s3-compat.example.com). Leave unset for native AWS S3, GCS, Azure, etc." }, "addressing_style": { "anyOf": [ { "type": "string", "enum": [ "virtual", "path", "auto" ] }, { "type": "null" } ], "title": "Addressing Style", "description": "S3 request addressing style for S3-compatible providers. Use 'virtual' for providers such as CoreWeave CAIOS that reject path-style requests, or 'path' for localstack/MinIO-style endpoints." } }, "additionalProperties": false, "type": "object", "required": [ "endpoint" ], "title": "DefaultDataCredential", "description": "Data credential that delegates resolution to the underlying SDK.\n\nUses the SDK's default credential chain (e.g., Azure's DefaultAzureCredential,\nboto3's credential resolution) which may include environment variables,\nworkload identity, instance metadata, and other provider-specific methods.\n\nIntentionally left empty as all credential resolution is handled by the SDK." }, "DeleteBackendRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "force": { "type": "boolean", "title": "Force", "default": false } }, "type": "object", "title": "DeleteBackendRequest", "description": "Request body for deleting a backend with history tracking metadata." }, "DownloadType": { "type": "string", "enum": [ "download" ], "title": "DownloadType", "description": "Type of Config to fetch or set " }, "EditResponse": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "version": { "type": "integer", "title": "Version" }, "name": { "type": "string", "title": "Name" }, "created_by": { "type": "string", "title": "Created By" }, "created_date": { "type": "string", "format": "date-time", "title": "Created Date" } }, "additionalProperties": false, "type": "object", "required": [ "uuid", "version", "name", "created_by", "created_date" ], "title": "EditResponse" }, "EditablePoolConfig": { "properties": { "pools": { "additionalProperties": { "$ref": "#/components/schemas/PoolEditable" }, "type": "object", "title": "Pools", "default": {} } }, "type": "object", "title": "EditablePoolConfig", "description": "Stores editable pool configs." }, "GetAppResponse": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "name": { "type": "string", "title": "Name" }, "description": { "type": "string", "title": "Description" }, "created_date": { "type": "string", "format": "date-time", "title": "Created Date" }, "owner": { "type": "string", "title": "Owner" }, "versions": { "items": { "$ref": "#/components/schemas/GetVersionEntry" }, "type": "array", "title": "Versions" } }, "additionalProperties": false, "type": "object", "required": [ "uuid", "name", "description", "created_date", "owner", "versions" ], "title": "GetAppResponse" }, "GetConfigsHistoryResponse": { "properties": { "configs": { "items": { "$ref": "#/components/schemas/ConfigHistory" }, "type": "array", "title": "Configs" } }, "type": "object", "required": [ "configs" ], "title": "GetConfigsHistoryResponse", "description": "Response body for config history endpoint." }, "GetVersionEntry": { "properties": { "version": { "type": "integer", "title": "Version" }, "created_by": { "type": "string", "title": "Created By" }, "created_date": { "type": "string", "format": "date-time", "title": "Created Date" }, "status": { "type": "string", "title": "Status" } }, "type": "object", "required": [ "version", "created_by", "created_date", "status" ], "title": "GetVersionEntry" }, "GroupQueryResponse": { "properties": { "name": { "type": "string", "title": "Name" }, "status": { "$ref": "#/components/schemas/TaskGroupStatus" }, "start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Start Time" }, "end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "End Time" }, "processing_start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Processing Start Time" }, "scheduling_start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Scheduling Start Time" }, "initializing_start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Initializing Start Time" }, "remaining_upstream_groups": { "anyOf": [ { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" } ], "title": "Remaining Upstream Groups" }, "downstream_groups": { "anyOf": [ { "items": { "type": "string" }, "type": "array", "uniqueItems": true }, { "type": "null" } ], "title": "Downstream Groups" }, "failure_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Failure Message" }, "tasks": { "items": { "$ref": "#/components/schemas/TaskQueryResponse" }, "type": "array", "title": "Tasks", "default": [] } }, "additionalProperties": false, "type": "object", "required": [ "name", "status" ], "title": "GroupQueryResponse", "description": "Represents the queryed task information. " }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "JwtTokenResponse": { "properties": { "token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Token" }, "expires_at": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Expires At" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" } }, "type": "object", "title": "JwtTokenResponse", "description": "Response for JWT token creation endpoints." }, "LabelEnforcement": { "type": "string", "enum": [ "off", "warn", "enforce" ], "title": "LabelEnforcement", "description": "Per-key policy strictness: 'off' skips checking, 'warn' surfaces\nmissing or unlisted values as submission warnings, and 'enforce'\nrejects them." }, "LabelPolicy": { "properties": { "key": { "type": "string", "title": "Key" }, "allow_list": { "items": { "type": "string" }, "type": "array", "title": "Allow List", "default": [] }, "enforcement": { "$ref": "#/components/schemas/LabelEnforcement", "default": "off" }, "assert_message": { "type": "string", "title": "Assert Message", "default": "" } }, "additionalProperties": false, "type": "object", "required": [ "key" ], "title": "LabelPolicy", "description": "Configuration for one admin-designated workflow label key.\n\nAn empty allow_list accepts any well-formed value; enforcement then\napplies only to the key being present." }, "LabelsConfig-Input": { "properties": { "policy": { "items": { "$ref": "#/components/schemas/LabelPolicy" }, "type": "array", "title": "Policy", "default": [] }, "pod_label_prefix": { "type": "string", "title": "Pod Label Prefix", "default": "" } }, "additionalProperties": false, "type": "object", "title": "LabelsConfig", "description": "Curated workflow label policy; empty by default, so no policy\napplies until configured." }, "LabelsConfig-Output": { "properties": { "policy": { "items": { "$ref": "#/components/schemas/LabelPolicy" }, "type": "array", "title": "Policy", "default": [] }, "pod_label_prefix": { "type": "string", "title": "Pod Label Prefix", "default": "" } }, "additionalProperties": false, "type": "object", "title": "LabelsConfig", "description": "Curated workflow label policy; empty by default, so no policy\napplies until configured." }, "ListBackendsResponse": { "properties": { "backends": { "items": { "$ref": "#/components/schemas/Backend" }, "type": "array", "title": "Backends" } }, "additionalProperties": false, "type": "object", "required": [ "backends" ], "title": "ListBackendsResponse", "description": "Object storing info for all backends. " }, "ListOrder": { "type": "string", "enum": [ "ASC", "DESC" ], "title": "ListOrder", "description": "Represents the list order for the database. " }, "ListTaskAggregatedEntry": { "properties": { "user": { "type": "string", "title": "User" }, "pool": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pool" }, "storage": { "type": "number", "title": "Storage" }, "cpu": { "type": "integer", "title": "Cpu" }, "memory": { "type": "number", "title": "Memory" }, "gpu": { "type": "integer", "title": "Gpu" }, "priority": { "type": "string", "title": "Priority" }, "workflow_id": { "type": "string", "title": "Workflow Id" } }, "additionalProperties": false, "type": "object", "required": [ "user", "storage", "cpu", "memory", "gpu", "priority", "workflow_id" ], "title": "ListTaskAggregatedEntry", "description": "Entry for task list API results, aggregated by workflow. " }, "ListTaskAggregatedResponse": { "properties": { "summaries": { "items": { "$ref": "#/components/schemas/ListTaskAggregatedEntry" }, "type": "array", "title": "Summaries" } }, "additionalProperties": false, "type": "object", "required": [ "summaries" ], "title": "ListTaskAggregatedResponse" }, "ListTaskEntry": { "properties": { "user": { "type": "string", "title": "User" }, "workflow_id": { "type": "string", "title": "Workflow Id" }, "workflow_uuid": { "type": "string", "title": "Workflow Uuid" }, "task_name": { "type": "string", "title": "Task Name" }, "retry_id": { "type": "integer", "title": "Retry Id" }, "pool": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pool" }, "node": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Node" }, "start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Start Time" }, "end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "End Time" }, "duration": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Duration" }, "status": { "$ref": "#/components/schemas/TaskGroupStatus" }, "overview": { "type": "string", "title": "Overview" }, "logs": { "type": "string", "title": "Logs" }, "error_logs": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error Logs" }, "grafana_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Grafana Url" }, "dashboard_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Dashboard Url" }, "storage": { "type": "number", "title": "Storage" }, "cpu": { "type": "integer", "title": "Cpu" }, "memory": { "type": "number", "title": "Memory" }, "gpu": { "type": "integer", "title": "Gpu" }, "priority": { "type": "string", "title": "Priority" } }, "additionalProperties": false, "type": "object", "required": [ "user", "workflow_id", "workflow_uuid", "task_name", "retry_id", "status", "overview", "logs", "storage", "cpu", "memory", "gpu", "priority" ], "title": "ListTaskEntry", "description": "Entry for task list API results. " }, "ListTaskResponse": { "properties": { "tasks": { "items": { "$ref": "#/components/schemas/ListTaskEntry" }, "type": "array", "title": "Tasks" } }, "additionalProperties": false, "type": "object", "required": [ "tasks" ], "title": "ListTaskResponse" }, "ListTaskSummaryEntry": { "properties": { "user": { "type": "string", "title": "User" }, "pool": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pool" }, "storage": { "type": "number", "title": "Storage" }, "cpu": { "type": "integer", "title": "Cpu" }, "memory": { "type": "number", "title": "Memory" }, "gpu": { "type": "integer", "title": "Gpu" }, "priority": { "type": "string", "title": "Priority" } }, "additionalProperties": false, "type": "object", "required": [ "user", "storage", "cpu", "memory", "gpu", "priority" ], "title": "ListTaskSummaryEntry", "description": "Entry for task list API results. " }, "ListTaskSummaryResponse": { "properties": { "summaries": { "items": { "$ref": "#/components/schemas/ListTaskSummaryEntry" }, "type": "array", "title": "Summaries" } }, "additionalProperties": false, "type": "object", "required": [ "summaries" ], "title": "ListTaskSummaryResponse" }, "LogConfig": { "properties": { "credential": { "anyOf": [ { "$ref": "#/components/schemas/StaticDataCredential" }, { "$ref": "#/components/schemas/DefaultDataCredential" }, { "type": "null" } ], "title": "Credential" } }, "additionalProperties": false, "type": "object", "title": "LogConfig", "description": "Config for storing information about data. " }, "LoginInfo": { "properties": { "device_endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Device Endpoint" }, "device_client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Device Client Id" }, "browser_endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Browser Endpoint" }, "browser_client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Browser Client Id" }, "token_endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Token Endpoint" }, "logout_endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Logout Endpoint" } }, "type": "object", "title": "LoginInfo", "description": "Store info needed to login " }, "MinimalPoolConfig": { "properties": { "pools": { "additionalProperties": { "$ref": "#/components/schemas/PoolMinimal" }, "type": "object", "title": "Pools", "default": {} } }, "type": "object", "title": "MinimalPoolConfig", "description": "Stores minimal pool configs." }, "NotificationConfig": { "properties": { "slack_token": { "type": "string", "format": "password", "title": "Slack Token", "default": "", "writeOnly": true }, "smtp_settings": { "$ref": "#/components/schemas/SMTPConfig", "default": { "host": "", "sender": "", "password": "" } } }, "type": "object", "title": "NotificationConfig" }, "OperableConfigHistoryType": { "type": "string", "enum": [ "SERVICE", "WORKFLOW", "BACKEND", "POOL", "POD_TEMPLATE", "GROUP_TEMPLATE", "RESOURCE_VALIDATION", "BACKEND_TEST", "ROLE" ], "title": "OperableConfigHistoryType", "description": "Type of configs supported by config history mutations." }, "OperatorType": { "type": "string", "enum": [ "GT", "GE", "LT", "LE", "EQ" ], "title": "OperatorType" }, "OsmoImageConfig": { "properties": { "init": { "type": "string", "title": "Init", "default": "" }, "client": { "type": "string", "title": "Client", "default": "" }, "credential": { "$ref": "#/components/schemas/RegistryCredential", "default": { "registry": "", "username": "", "auth": "" } } }, "additionalProperties": false, "type": "object", "title": "OsmoImageConfig", "description": "Dynamic Config for storing the image URLs for service images and the credentials needed\nto pull them." }, "PatchBackendTestRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs_dict": { "additionalProperties": true, "type": "object", "title": "Configs Dict" } }, "type": "object", "required": [ "configs_dict" ], "title": "PatchBackendTestRequest", "description": "Request body for patching a test with history tracking metadata." }, "PatchConfigRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs_dict": { "additionalProperties": true, "type": "object", "title": "Configs Dict" } }, "type": "object", "required": [ "configs_dict" ], "title": "PatchConfigRequest", "description": "Request body for patching configurations with history tracking metadata." }, "PatchPoolRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs_dict": { "additionalProperties": true, "type": "object", "title": "Configs Dict" } }, "type": "object", "required": [ "configs_dict" ], "title": "PatchPoolRequest", "description": "Request body for patching a pool with history tracking metadata." }, "Platform-Input": { "properties": { "description": { "type": "string", "title": "Description", "default": "" }, "host_network_allowed": { "type": "boolean", "title": "Host Network Allowed", "default": false }, "privileged_allowed": { "type": "boolean", "title": "Privileged Allowed", "default": false }, "allowed_mounts": { "items": { "type": "string" }, "type": "array", "title": "Allowed Mounts", "default": [] }, "default_mounts": { "items": { "type": "string" }, "type": "array", "title": "Default Mounts", "default": [] }, "tolerations": { "items": { "$ref": "#/components/schemas/Toleration" }, "type": "array", "title": "Tolerations", "default": [] }, "labels": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Labels", "default": {} }, "default_variables": { "additionalProperties": true, "type": "object", "title": "Default Variables", "default": {} }, "resource_validations": { "items": { "type": "string" }, "type": "array", "title": "Resource Validations", "default": [] }, "parsed_resource_validations": { "items": { "$ref": "#/components/schemas/ResourceAssertion" }, "type": "array", "title": "Parsed Resource Validations", "default": [] }, "override_pod_template": { "items": { "type": "string" }, "type": "array", "title": "Override Pod Template", "default": [] }, "parsed_pod_template": { "additionalProperties": true, "type": "object", "title": "Parsed Pod Template", "default": {} }, "parsed_pod_template_for_accounting": { "additionalProperties": true, "type": "object", "title": "Parsed Pod Template For Accounting", "default": {} } }, "type": "object", "title": "Platform", "description": "Single Platform Entry " }, "Platform-Output": { "properties": { "description": { "type": "string", "title": "Description", "default": "" }, "host_network_allowed": { "type": "boolean", "title": "Host Network Allowed", "default": false }, "privileged_allowed": { "type": "boolean", "title": "Privileged Allowed", "default": false }, "allowed_mounts": { "items": { "type": "string" }, "type": "array", "title": "Allowed Mounts", "default": [] }, "default_mounts": { "items": { "type": "string" }, "type": "array", "title": "Default Mounts", "default": [] }, "tolerations": { "items": { "$ref": "#/components/schemas/Toleration" }, "type": "array", "title": "Tolerations", "default": [] }, "labels": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Labels", "default": {} }, "default_variables": { "additionalProperties": true, "type": "object", "title": "Default Variables", "default": {} }, "resource_validations": { "items": { "type": "string" }, "type": "array", "title": "Resource Validations", "default": [] }, "parsed_resource_validations": { "items": { "$ref": "#/components/schemas/ResourceAssertion" }, "type": "array", "title": "Parsed Resource Validations", "default": [] }, "override_pod_template": { "items": { "type": "string" }, "type": "array", "title": "Override Pod Template", "default": [] }, "parsed_pod_template": { "additionalProperties": true, "type": "object", "title": "Parsed Pod Template", "default": {} }, "parsed_pod_template_for_accounting": { "additionalProperties": true, "type": "object", "title": "Parsed Pod Template For Accounting", "default": {} } }, "type": "object", "title": "Platform", "description": "Single Platform Entry " }, "PlatformEditable": { "properties": { "description": { "type": "string", "title": "Description", "default": "" }, "host_network_allowed": { "type": "boolean", "title": "Host Network Allowed", "default": false }, "privileged_allowed": { "type": "boolean", "title": "Privileged Allowed", "default": false }, "allowed_mounts": { "items": { "type": "string" }, "type": "array", "title": "Allowed Mounts", "default": [] }, "default_variables": { "additionalProperties": true, "type": "object", "title": "Default Variables", "default": {} }, "resource_validations": { "items": { "type": "string" }, "type": "array", "title": "Resource Validations", "default": [] }, "override_pod_template": { "items": { "type": "string" }, "type": "array", "title": "Override Pod Template", "default": [] } }, "type": "object", "title": "PlatformEditable", "description": "Single Platform Entry " }, "PlatformMinimal": { "properties": { "description": { "type": "string", "title": "Description", "default": "" }, "host_network_allowed": { "type": "boolean", "title": "Host Network Allowed", "default": false }, "privileged_allowed": { "type": "boolean", "title": "Privileged Allowed", "default": false }, "allowed_mounts": { "items": { "type": "string" }, "type": "array", "title": "Allowed Mounts", "default": [] }, "default_mounts": { "items": { "type": "string" }, "type": "array", "title": "Default Mounts", "default": [] } }, "type": "object", "title": "PlatformMinimal", "description": "Single Platform Entry " }, "PluginsConfig-Input": { "properties": { "rsync": { "$ref": "#/components/schemas/RsyncConfig", "default": { "enabled": false, "enable_telemetry": false, "read_bandwidth_limit": 2621440, "write_bandwidth_limit": 2621440, "allowed_paths": {}, "daemon_debounce_delay": 30.0, "daemon_poll_interval": 120.0, "daemon_reconcile_interval": 60.0, "client_upload_rate_limit": 2097152 } } }, "additionalProperties": false, "type": "object", "title": "PluginsConfig", "description": "Stores any plugins configs " }, "PluginsConfig-Output": { "properties": { "rsync": { "$ref": "#/components/schemas/RsyncConfig", "default": { "enabled": false, "enable_telemetry": false, "read_bandwidth_limit": 2621440, "write_bandwidth_limit": 2621440, "allowed_paths": {}, "daemon_debounce_delay": 30.0, "daemon_poll_interval": 120.0, "daemon_reconcile_interval": 60.0, "client_upload_rate_limit": 2097152 } } }, "additionalProperties": false, "type": "object", "title": "PluginsConfig", "description": "Stores any plugins configs " }, "PolicyEffect": { "type": "string", "enum": [ "Allow", "Deny" ], "title": "PolicyEffect", "description": "Effect of a policy statement: Allow or Deny. Deny takes precedence over Allow." }, "Pool-Input": { "properties": { "name": { "type": "string", "title": "Name", "default": "" }, "description": { "type": "string", "title": "Description", "default": "" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/PoolStatus" }, { "type": "null" } ] }, "download_type": { "anyOf": [ { "$ref": "#/components/schemas/DownloadType" }, { "type": "null" } ] }, "enable_maintenance": { "type": "boolean", "title": "Enable Maintenance", "default": false }, "backend": { "type": "string", "title": "Backend" }, "default_platform": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Default Platform" }, "default_exec_timeout": { "type": "string", "title": "Default Exec Timeout", "default": "" }, "default_queue_timeout": { "type": "string", "title": "Default Queue Timeout", "default": "" }, "max_exec_timeout": { "type": "string", "title": "Max Exec Timeout", "default": "" }, "max_queue_timeout": { "type": "string", "title": "Max Queue Timeout", "default": "" }, "default_exit_actions": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Default Exit Actions", "default": {} }, "resources": { "$ref": "#/components/schemas/PoolResources", "default": {} }, "topology_keys": { "items": { "$ref": "#/components/schemas/TopologyKey" }, "type": "array", "title": "Topology Keys", "default": [] }, "common_default_variables": { "additionalProperties": true, "type": "object", "title": "Common Default Variables", "default": {} }, "common_resource_validations": { "items": { "type": "string" }, "type": "array", "title": "Common Resource Validations", "default": [] }, "parsed_resource_validations": { "items": { "$ref": "#/components/schemas/ResourceAssertion" }, "type": "array", "title": "Parsed Resource Validations", "default": [] }, "common_pod_template": { "items": { "type": "string" }, "type": "array", "title": "Common Pod Template", "default": [] }, "parsed_pod_template": { "additionalProperties": true, "type": "object", "title": "Parsed Pod Template", "default": {} }, "parsed_pod_template_for_accounting": { "additionalProperties": true, "type": "object", "title": "Parsed Pod Template For Accounting", "default": {} }, "common_group_templates": { "items": { "type": "string" }, "type": "array", "title": "Common Group Templates", "default": [] }, "parsed_group_templates": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Parsed Group Templates", "default": [] }, "platforms": { "additionalProperties": { "$ref": "#/components/schemas/Platform-Input" }, "type": "object", "title": "Platforms", "default": {} }, "last_heartbeat": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Last Heartbeat" } }, "type": "object", "required": [ "backend" ], "title": "Pool", "description": "Single Pool Entry " }, "Pool-Output": { "properties": { "name": { "type": "string", "title": "Name", "default": "" }, "description": { "type": "string", "title": "Description", "default": "" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/PoolStatus" }, { "type": "null" } ] }, "download_type": { "anyOf": [ { "$ref": "#/components/schemas/DownloadType" }, { "type": "null" } ] }, "enable_maintenance": { "type": "boolean", "title": "Enable Maintenance", "default": false }, "backend": { "type": "string", "title": "Backend" }, "default_platform": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Default Platform" }, "default_exec_timeout": { "type": "string", "title": "Default Exec Timeout", "default": "" }, "default_queue_timeout": { "type": "string", "title": "Default Queue Timeout", "default": "" }, "max_exec_timeout": { "type": "string", "title": "Max Exec Timeout", "default": "" }, "max_queue_timeout": { "type": "string", "title": "Max Queue Timeout", "default": "" }, "default_exit_actions": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Default Exit Actions", "default": {} }, "resources": { "$ref": "#/components/schemas/PoolResources", "default": {} }, "topology_keys": { "items": { "$ref": "#/components/schemas/TopologyKey" }, "type": "array", "title": "Topology Keys", "default": [] }, "common_default_variables": { "additionalProperties": true, "type": "object", "title": "Common Default Variables", "default": {} }, "common_resource_validations": { "items": { "type": "string" }, "type": "array", "title": "Common Resource Validations", "default": [] }, "parsed_resource_validations": { "items": { "$ref": "#/components/schemas/ResourceAssertion" }, "type": "array", "title": "Parsed Resource Validations", "default": [] }, "common_pod_template": { "items": { "type": "string" }, "type": "array", "title": "Common Pod Template", "default": [] }, "parsed_pod_template": { "additionalProperties": true, "type": "object", "title": "Parsed Pod Template", "default": {} }, "parsed_pod_template_for_accounting": { "additionalProperties": true, "type": "object", "title": "Parsed Pod Template For Accounting", "default": {} }, "common_group_templates": { "items": { "type": "string" }, "type": "array", "title": "Common Group Templates", "default": [] }, "parsed_group_templates": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Parsed Group Templates", "default": [] }, "platforms": { "additionalProperties": { "$ref": "#/components/schemas/Platform-Output" }, "type": "object", "title": "Platforms", "default": {} }, "last_heartbeat": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Last Heartbeat" } }, "type": "object", "required": [ "backend" ], "title": "Pool", "description": "Single Pool Entry " }, "PoolEditable": { "properties": { "name": { "type": "string", "title": "Name", "default": "" }, "description": { "type": "string", "title": "Description", "default": "" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/PoolStatus" }, { "type": "null" } ] }, "download_type": { "anyOf": [ { "$ref": "#/components/schemas/DownloadType" }, { "type": "null" } ] }, "enable_maintenance": { "type": "boolean", "title": "Enable Maintenance", "default": false }, "backend": { "type": "string", "title": "Backend" }, "default_platform": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Default Platform" }, "default_exec_timeout": { "type": "string", "title": "Default Exec Timeout", "default": "" }, "default_queue_timeout": { "type": "string", "title": "Default Queue Timeout", "default": "" }, "max_exec_timeout": { "type": "string", "title": "Max Exec Timeout", "default": "" }, "max_queue_timeout": { "type": "string", "title": "Max Queue Timeout", "default": "" }, "default_exit_actions": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Default Exit Actions", "default": {} }, "resources": { "$ref": "#/components/schemas/PoolResources", "default": {} }, "topology_keys": { "items": { "$ref": "#/components/schemas/TopologyKey" }, "type": "array", "title": "Topology Keys", "default": [] }, "common_default_variables": { "additionalProperties": true, "type": "object", "title": "Common Default Variables", "default": {} }, "common_resource_validations": { "items": { "type": "string" }, "type": "array", "title": "Common Resource Validations", "default": [] }, "common_pod_template": { "items": { "type": "string" }, "type": "array", "title": "Common Pod Template", "default": [] }, "common_group_templates": { "items": { "type": "string" }, "type": "array", "title": "Common Group Templates", "default": [] }, "platforms": { "additionalProperties": { "$ref": "#/components/schemas/PlatformEditable" }, "type": "object", "title": "Platforms", "default": {} } }, "type": "object", "required": [ "backend" ], "title": "PoolEditable" }, "PoolMinimal": { "properties": { "name": { "type": "string", "title": "Name", "default": "" }, "description": { "type": "string", "title": "Description", "default": "" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/PoolStatus" }, { "type": "null" } ] }, "download_type": { "anyOf": [ { "$ref": "#/components/schemas/DownloadType" }, { "type": "null" } ] }, "enable_maintenance": { "type": "boolean", "title": "Enable Maintenance", "default": false }, "backend": { "type": "string", "title": "Backend" }, "default_platform": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Default Platform" }, "default_exec_timeout": { "type": "string", "title": "Default Exec Timeout", "default": "" }, "default_queue_timeout": { "type": "string", "title": "Default Queue Timeout", "default": "" }, "max_exec_timeout": { "type": "string", "title": "Max Exec Timeout", "default": "" }, "max_queue_timeout": { "type": "string", "title": "Max Queue Timeout", "default": "" }, "default_exit_actions": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Default Exit Actions", "default": {} }, "resources": { "$ref": "#/components/schemas/PoolResources", "default": {} }, "topology_keys": { "items": { "$ref": "#/components/schemas/TopologyKey" }, "type": "array", "title": "Topology Keys", "default": [] }, "platforms": { "additionalProperties": { "$ref": "#/components/schemas/PlatformMinimal" }, "type": "object", "title": "Platforms", "default": {} } }, "type": "object", "required": [ "backend" ], "title": "PoolMinimal" }, "PoolNodeSetResourceUsage": { "properties": { "pools": { "items": { "$ref": "#/components/schemas/PoolResourceUsage" }, "type": "array", "title": "Pools" } }, "additionalProperties": false, "type": "object", "required": [ "pools" ], "title": "PoolNodeSetResourceUsage", "description": "Object storing pool node set information. " }, "PoolResourceCountable": { "properties": { "guarantee": { "type": "integer", "title": "Guarantee", "default": -1 }, "maximum": { "type": "integer", "title": "Maximum", "default": -1 }, "weight": { "type": "integer", "title": "Weight", "default": 1 } }, "type": "object", "title": "PoolResourceCountable", "description": "Resources like GPU or CPU that have a discrete number. For guarantee and maximum, a value of -1\nindicates that there is no limit." }, "PoolResourceUsage": { "properties": { "name": { "type": "string", "title": "Name", "default": "" }, "description": { "type": "string", "title": "Description", "default": "" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/PoolStatus" }, { "type": "null" } ] }, "download_type": { "anyOf": [ { "$ref": "#/components/schemas/DownloadType" }, { "type": "null" } ] }, "enable_maintenance": { "type": "boolean", "title": "Enable Maintenance", "default": false }, "backend": { "type": "string", "title": "Backend" }, "default_platform": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Default Platform" }, "default_exec_timeout": { "type": "string", "title": "Default Exec Timeout", "default": "" }, "default_queue_timeout": { "type": "string", "title": "Default Queue Timeout", "default": "" }, "max_exec_timeout": { "type": "string", "title": "Max Exec Timeout", "default": "" }, "max_queue_timeout": { "type": "string", "title": "Max Queue Timeout", "default": "" }, "default_exit_actions": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Default Exit Actions", "default": {} }, "resources": { "$ref": "#/components/schemas/PoolResources", "default": {} }, "topology_keys": { "items": { "$ref": "#/components/schemas/TopologyKey" }, "type": "array", "title": "Topology Keys", "default": [] }, "platforms": { "additionalProperties": { "$ref": "#/components/schemas/PlatformMinimal" }, "type": "object", "title": "Platforms", "default": {} }, "resource_usage": { "$ref": "#/components/schemas/ResourceUsage" } }, "additionalProperties": false, "type": "object", "required": [ "backend", "resource_usage" ], "title": "PoolResourceUsage", "description": "Object storing pool information. " }, "PoolResources": { "properties": { "gpu": { "anyOf": [ { "$ref": "#/components/schemas/PoolResourceCountable" }, { "type": "null" } ] } }, "type": "object", "title": "PoolResources", "description": "Resources allocated to the pool, for schedulers that support this feature " }, "PoolResourcesEntry": { "properties": { "pool": { "type": "string", "title": "Pool" }, "platform": { "type": "string", "title": "Platform" }, "status": { "$ref": "#/components/schemas/PoolStatus" }, "usage_fields": { "additionalProperties": true, "type": "object", "title": "Usage Fields" }, "allocatable_fields": { "additionalProperties": true, "type": "object", "title": "Allocatable Fields" }, "backend": { "type": "string", "title": "Backend" } }, "additionalProperties": false, "type": "object", "required": [ "pool", "platform", "status", "usage_fields", "allocatable_fields", "backend" ], "title": "PoolResourcesEntry", "description": "Entry for resources API results. " }, "PoolResourcesResponse": { "properties": { "pools": { "items": { "$ref": "#/components/schemas/PoolResourcesEntry" }, "type": "array", "title": "Pools" } }, "additionalProperties": false, "type": "object", "required": [ "pools" ], "title": "PoolResourcesResponse", "description": "Object storing execution cluster node resource information. " }, "PoolResponse": { "properties": { "node_sets": { "items": { "$ref": "#/components/schemas/PoolNodeSetResourceUsage" }, "type": "array", "title": "Node Sets" }, "resource_sum": { "$ref": "#/components/schemas/ResourceUsage" } }, "additionalProperties": false, "type": "object", "required": [ "node_sets", "resource_sum" ], "title": "PoolResponse", "description": "Object storing pool information. " }, "PoolStatus": { "type": "string", "enum": [ "ONLINE", "OFFLINE", "MAINTENANCE" ], "title": "PoolStatus", "description": "Represents the types of statuses a pool can have. " }, "PostBackendRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "$ref": "#/components/schemas/BackendConfig" } }, "type": "object", "required": [ "configs" ], "title": "PostBackendRequest", "description": "Request body for creating a new backend with history tracking metadata." }, "ProfileResponse": { "properties": { "profile": { "$ref": "#/components/schemas/UserProfile" }, "roles": { "items": { "type": "string" }, "type": "array", "title": "Roles" }, "pools": { "items": { "type": "string" }, "type": "array", "title": "Pools" }, "token": { "anyOf": [ { "$ref": "#/components/schemas/TokenIdentity" }, { "type": "null" } ] } }, "additionalProperties": false, "type": "object", "required": [ "profile", "roles", "pools" ], "title": "ProfileResponse", "description": "Profile and identity info. When token header is set, roles/pools are the\ntoken's; otherwise they are the user's. JSON is self-explanatory for CLI." }, "PutBackendTestRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "$ref": "#/components/schemas/BackendTests" } }, "type": "object", "required": [ "configs" ], "title": "PutBackendTestRequest", "description": "Request body for updating a test with history tracking metadata." }, "PutBackendTestsRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "additionalProperties": { "$ref": "#/components/schemas/BackendTests" }, "type": "object", "title": "Configs" } }, "type": "object", "required": [ "configs" ], "title": "PutBackendTestsRequest", "description": "Request body for updating a test with history tracking metadata." }, "PutGroupTemplateRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "additionalProperties": true, "type": "object", "title": "Configs" } }, "type": "object", "required": [ "configs" ], "title": "PutGroupTemplateRequest", "description": "Request body for updating a group template with history tracking metadata." }, "PutGroupTemplatesRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "additionalProperties": { "additionalProperties": true, "type": "object" }, "type": "object", "title": "Configs" } }, "type": "object", "required": [ "configs" ], "title": "PutGroupTemplatesRequest", "description": "Request body for updating group templates with history tracking metadata." }, "PutPodTemplateRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "additionalProperties": true, "type": "object", "title": "Configs" } }, "type": "object", "required": [ "configs" ], "title": "PutPodTemplateRequest", "description": "Request body for updating a pod template with history tracking metadata." }, "PutPodTemplatesRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "additionalProperties": { "additionalProperties": true, "type": "object" }, "type": "object", "title": "Configs" } }, "type": "object", "required": [ "configs" ], "title": "PutPodTemplatesRequest", "description": "Request body for updating pod templates with history tracking metadata." }, "PutPoolPlatformRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "$ref": "#/components/schemas/Platform-Input" } }, "type": "object", "required": [ "configs" ], "title": "PutPoolPlatformRequest", "description": "Request body for updating a platform in a pool with history tracking metadata." }, "PutPoolRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "$ref": "#/components/schemas/Pool-Input" } }, "type": "object", "required": [ "configs" ], "title": "PutPoolRequest", "description": "Request body for updating a pool with history tracking metadata." }, "PutPoolsRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "additionalProperties": { "$ref": "#/components/schemas/Pool-Input" }, "type": "object", "title": "Configs" } }, "type": "object", "required": [ "configs" ], "title": "PutPoolsRequest", "description": "Request body for updating pools with history tracking metadata." }, "PutResourceValidationRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Configs" } }, "type": "object", "required": [ "configs" ], "title": "PutResourceValidationRequest", "description": "Request body for updating a resource validation with history tracking metadata." }, "PutResourceValidationsRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs_dict": { "additionalProperties": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "type": "object", "title": "Configs Dict" } }, "type": "object", "required": [ "configs_dict" ], "title": "PutResourceValidationsRequest", "description": "Request body for updating resource validations with history tracking metadata." }, "PutRoleRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "$ref": "#/components/schemas/Role-Input" } }, "type": "object", "required": [ "configs" ], "title": "PutRoleRequest", "description": "Request body for updating a role with history tracking metadata." }, "PutRolesRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "items": { "$ref": "#/components/schemas/Role-Input" }, "type": "array", "title": "Configs" } }, "type": "object", "required": [ "configs" ], "title": "PutRolesRequest", "description": "Request body for updating a test with history tracking metadata." }, "PutServiceRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "$ref": "#/components/schemas/ServiceConfig-Input" } }, "type": "object", "required": [ "configs" ], "title": "PutServiceRequest", "description": "Request body for updating service configurations with history tracking metadata." }, "PutWorkflowRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "configs": { "$ref": "#/components/schemas/WorkflowConfig-Input" } }, "type": "object", "required": [ "configs" ], "title": "PutWorkflowRequest", "description": "Request body for updating workflow configurations with history tracking metadata." }, "RegistryCredential": { "properties": { "registry": { "type": "string", "title": "Registry", "description": "The Docker registry URL", "default": "" }, "username": { "type": "string", "title": "Username", "description": "The username for the Docker registry", "default": "" }, "auth": { "type": "string", "format": "password", "title": "Auth", "description": "The authentication token (raw password) for the Docker registry", "default": "", "writeOnly": true } }, "additionalProperties": false, "type": "object", "title": "RegistryCredential", "description": "Authentication information for a Docker registry. " }, "RenamePoolPlatformRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "new_name": { "type": "string", "title": "New Name" } }, "type": "object", "required": [ "new_name" ], "title": "RenamePoolPlatformRequest", "description": "Request body for renaming a platform in a pool with history tracking metadata." }, "RenamePoolRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "new_name": { "type": "string", "title": "New Name" } }, "type": "object", "required": [ "new_name" ], "title": "RenamePoolRequest", "description": "Request body for renaming a pool with history tracking metadata." }, "ResourceAssertion": { "properties": { "operator": { "$ref": "#/components/schemas/OperatorType" }, "left_operand": { "type": "string", "title": "Left Operand" }, "right_operand": { "type": "string", "title": "Right Operand" }, "assert_message": { "type": "string", "title": "Assert Message" } }, "additionalProperties": false, "type": "object", "required": [ "operator", "left_operand", "right_operand", "assert_message" ], "title": "ResourceAssertion", "description": "Class for defining resource restrictions." }, "ResourceUsage": { "properties": { "quota_used": { "type": "string", "title": "Quota Used" }, "quota_free": { "type": "string", "title": "Quota Free" }, "quota_limit": { "type": "string", "title": "Quota Limit" }, "total_usage": { "type": "string", "title": "Total Usage" }, "total_capacity": { "type": "string", "title": "Total Capacity" }, "total_free": { "type": "string", "title": "Total Free" } }, "additionalProperties": false, "type": "object", "required": [ "quota_used", "quota_free", "quota_limit", "total_usage", "total_capacity", "total_free" ], "title": "ResourceUsage", "description": "Object storing resource usage information. " }, "ResourcesEntry": { "properties": { "hostname": { "type": "string", "title": "Hostname" }, "exposed_fields": { "additionalProperties": true, "type": "object", "title": "Exposed Fields" }, "taints": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Taints" }, "usage_fields": { "additionalProperties": true, "type": "object", "title": "Usage Fields" }, "conditions": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Conditions" }, "non_workflow_usage_fields": { "additionalProperties": true, "type": "object", "title": "Non Workflow Usage Fields" }, "allocatable_fields": { "additionalProperties": true, "type": "object", "title": "Allocatable Fields" }, "platform_allocatable_fields": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Platform Allocatable Fields" }, "platform_available_fields": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Platform Available Fields" }, "platform_workflow_allocatable_fields": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Platform Workflow Allocatable Fields" }, "config_fields": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Config Fields" }, "backend": { "type": "string", "title": "Backend" }, "label_fields": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Label Fields" }, "pool_platform_labels": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "type": "object", "title": "Pool Platform Labels" }, "resource_type": { "$ref": "#/components/schemas/BackendResourceType" } }, "additionalProperties": false, "type": "object", "required": [ "hostname", "exposed_fields", "taints", "usage_fields", "non_workflow_usage_fields", "allocatable_fields", "backend", "pool_platform_labels", "resource_type" ], "title": "ResourcesEntry", "description": "Entry for resources API results. " }, "ResourcesResponse": { "properties": { "resources": { "items": { "$ref": "#/components/schemas/ResourcesEntry" }, "type": "array", "title": "Resources" } }, "additionalProperties": false, "type": "object", "required": [ "resources" ], "title": "ResourcesResponse", "description": "Object storing execution cluster node resource information. " }, "Role-Input": { "properties": { "name": { "type": "string", "title": "Name" }, "description": { "type": "string", "title": "Description" }, "policies": { "items": { "$ref": "#/components/schemas/RolePolicy" }, "type": "array", "title": "Policies" }, "immutable": { "type": "boolean", "title": "Immutable", "default": false }, "sync_mode": { "$ref": "#/components/schemas/SyncMode", "default": "import" }, "external_roles": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "External Roles" } }, "type": "object", "required": [ "name", "description", "policies" ], "title": "Role", "description": "Single Role Entry.\n\nNote: Authorization checking is now handled by the authz_sidecar (Go service).\nThis Python class is only used for role CRUD operations." }, "Role-Output": { "properties": { "name": { "type": "string", "title": "Name" }, "description": { "type": "string", "title": "Description" }, "policies": { "items": { "$ref": "#/components/schemas/RolePolicy" }, "type": "array", "title": "Policies" }, "immutable": { "type": "boolean", "title": "Immutable", "default": false }, "sync_mode": { "$ref": "#/components/schemas/SyncMode", "default": "import" }, "external_roles": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "External Roles" } }, "type": "object", "required": [ "name", "description", "policies" ], "title": "Role", "description": "Single Role Entry.\n\nNote: Authorization checking is now handled by the authz_sidecar (Go service).\nThis Python class is only used for role CRUD operations." }, "RolePolicy": { "properties": { "effect": { "$ref": "#/components/schemas/PolicyEffect", "default": "Allow" }, "actions": { "items": { "type": "string" }, "type": "array", "title": "Actions" }, "resources": { "items": { "type": "string" }, "type": "array", "title": "Resources" } }, "type": "object", "required": [ "actions" ], "title": "RolePolicy", "description": "Single Role Policy Entry.\n\nContains a list of actions (semantic format \"resource:Action\") and optional\nresources the policy applies to. If effect is Deny and the policy matches,\naccess is denied even if another policy allows it.\n\nActions are validated via regex; API/DB still use [{\"action\": \"...\"}] for\ncompatibility with the Go authz_sidecar." }, "RoleUsersResponse": { "properties": { "role_name": { "type": "string", "title": "Role Name" }, "users": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Users" } }, "type": "object", "required": [ "role_name", "users" ], "title": "RoleUsersResponse", "description": "Response for listing users with a role." }, "RollbackConfigRequest": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "config_type": { "$ref": "#/components/schemas/OperableConfigHistoryType" }, "revision": { "type": "integer", "exclusiveMinimum": 0.0, "title": "Revision", "description": "Revision to roll back to" } }, "type": "object", "required": [ "config_type", "revision" ], "title": "RollbackConfigRequest", "description": "Request body for config rollback endpoint." }, "RouterResponse": { "properties": { "router_address": { "type": "string", "title": "Router Address" }, "key": { "type": "string", "title": "Key" }, "cookie": { "type": "string", "title": "Cookie" } }, "type": "object", "required": [ "router_address", "key", "cookie" ], "title": "RouterResponse", "description": "Router Information Response. " }, "RsyncAllowedPath": { "properties": { "path": { "type": "string", "title": "Path" }, "writable": { "type": "boolean", "title": "Writable", "default": false } }, "type": "object", "required": [ "path" ], "title": "RsyncAllowedPath", "description": "Stores a single allowed path for rsync " }, "RsyncConfig": { "properties": { "enabled": { "type": "boolean", "title": "Enabled", "default": false }, "enable_telemetry": { "type": "boolean", "title": "Enable Telemetry", "default": false }, "read_bandwidth_limit": { "type": "integer", "minimum": 0.0, "title": "Read Bandwidth Limit", "description": "User pod's rsync read bandwidth limit in bytes per second, zero means no limit", "default": 2621440 }, "write_bandwidth_limit": { "type": "integer", "minimum": 0.0, "title": "Write Bandwidth Limit", "description": "User pod's rsync write bandwidth limit in bytes per second, zero means no limit", "default": 2621440 }, "allowed_paths": { "additionalProperties": { "$ref": "#/components/schemas/RsyncAllowedPath" }, "type": "object", "title": "Allowed Paths", "default": {} }, "daemon_debounce_delay": { "type": "number", "exclusiveMinimum": 0.0, "title": "Daemon Debounce Delay", "description": "Daemon debounce delay for rsync in seconds", "default": 30.0 }, "daemon_poll_interval": { "type": "number", "exclusiveMinimum": 0.0, "title": "Daemon Poll Interval", "description": "Daemon poll interval for rsync in seconds", "default": 120.0 }, "daemon_reconcile_interval": { "type": "number", "exclusiveMinimum": 0.0, "title": "Daemon Reconcile Interval", "description": "Daemon reconcile interval for rsync in seconds", "default": 60.0 }, "client_upload_rate_limit": { "type": "integer", "minimum": 0.0, "title": "Client Upload Rate Limit", "description": "Client upload rate limit for rsync in bytes per second, zero means no limit", "default": 2097152 } }, "additionalProperties": false, "type": "object", "title": "RsyncConfig", "description": "Stores all configs for rsync " }, "SMTPConfig": { "properties": { "host": { "type": "string", "title": "Host", "default": "" }, "sender": { "type": "string", "title": "Sender", "default": "" }, "password": { "type": "string", "format": "password", "title": "Password", "default": "", "writeOnly": true } }, "type": "object", "title": "SMTPConfig" }, "ServiceConfig-Input": { "properties": { "service_base_url": { "type": "string", "title": "Service Base Url", "default": "" }, "service_auth": { "$ref": "#/components/schemas/AuthenticationConfig" }, "cli_config": { "$ref": "#/components/schemas/CliConfig", "default": {} }, "max_pod_restart_limit": { "type": "string", "title": "Max Pod Restart Limit", "default": "30m" }, "agent_queue_size": { "type": "integer", "title": "Agent Queue Size", "default": 1024 } }, "additionalProperties": false, "type": "object", "title": "ServiceConfig", "description": "Stores any configs OSMO Admins control " }, "ServiceConfig-Output": { "properties": { "service_base_url": { "type": "string", "title": "Service Base Url", "default": "" }, "service_auth": { "$ref": "#/components/schemas/AuthenticationConfig" }, "cli_config": { "$ref": "#/components/schemas/CliConfig", "default": {} }, "max_pod_restart_limit": { "type": "string", "title": "Max Pod Restart Limit", "default": "30m" }, "agent_queue_size": { "type": "integer", "title": "Agent Queue Size", "default": 1024 } }, "additionalProperties": false, "type": "object", "title": "ServiceConfig", "description": "Stores any configs OSMO Admins control " }, "StaticDataCredential": { "properties": { "endpoint": { "type": "string", "title": "Endpoint", "description": "The OSMO storage URI for the data service (e.g., s3://bucket). For S3-compatible services with HTTP endpoints, set 'override_url' separately rather than pasting the full HTTPS URL here." }, "region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Region", "description": "The region for the data service" }, "override_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Override Url", "description": "HTTP service URL for S3-compatible providers (e.g., http://minio:9000, https://s3-compat.example.com). Leave unset for native AWS S3, GCS, Azure, etc." }, "addressing_style": { "anyOf": [ { "type": "string", "enum": [ "virtual", "path", "auto" ] }, { "type": "null" } ], "title": "Addressing Style", "description": "S3 request addressing style for S3-compatible providers. Use 'virtual' for providers such as CoreWeave CAIOS that reject path-style requests, or 'path' for localstack/MinIO-style endpoints." }, "access_key_id": { "type": "string", "title": "Access Key Id", "description": "The authentication key for a data backend" }, "access_key": { "type": "string", "format": "password", "title": "Access Key", "description": "The encrypted authentication secret for a data backend", "writeOnly": true } }, "additionalProperties": false, "type": "object", "required": [ "endpoint", "access_key_id", "access_key" ], "title": "StaticDataCredential", "description": "Static data credentials (i.e. credentials with access_key_id and access_key) for a data backend." }, "SubmitResponse": { "properties": { "name": { "type": "string", "title": "Name" }, "overview": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Overview" }, "logs": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Logs" }, "spec": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Spec" }, "dashboard_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Dashboard Url" }, "warnings": { "items": { "type": "string" }, "type": "array", "title": "Warnings" } }, "additionalProperties": false, "type": "object", "required": [ "name" ], "title": "SubmitResponse", "description": "Object storing workflow name, logs, and spec after submission. " }, "SyncMode": { "type": "string", "enum": [ "force", "import", "ignore" ], "title": "SyncMode", "description": "Sync mode for role assignments.\n\n- FORCE: Always apply this role to all users (e.g., for system roles)\n- IMPORT: Role is imported from IDP claims or user_roles table (default)\n- IGNORE: Ignore this role in IDP sync (role is managed manually)" }, "TaskEntry": { "properties": { "workflow_id": { "type": "string", "title": "Workflow Id" }, "task_name": { "type": "string", "title": "Task Name" }, "node": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Node" }, "start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Start Time" }, "end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "End Time" }, "status": { "$ref": "#/components/schemas/TaskGroupStatus" }, "storage": { "type": "number", "title": "Storage" }, "cpu": { "type": "integer", "title": "Cpu" }, "memory": { "type": "number", "title": "Memory" }, "gpu": { "type": "integer", "title": "Gpu" } }, "additionalProperties": false, "type": "object", "required": [ "workflow_id", "task_name", "status", "storage", "cpu", "memory", "gpu" ], "title": "TaskEntry", "description": "Entry for task GET API result. " }, "TaskGroupStatus": { "type": "string", "enum": [ "SUBMITTING", "WAITING", "PROCESSING", "SCHEDULING", "INITIALIZING", "RUNNING", "COMPLETED", "RESCHEDULED", "FAILED", "FAILED_CANCELED", "FAILED_SERVER_ERROR", "FAILED_BACKEND_ERROR", "FAILED_EXEC_TIMEOUT", "FAILED_QUEUE_TIMEOUT", "FAILED_IMAGE_PULL", "FAILED_UPSTREAM", "FAILED_EVICTED", "FAILED_START_ERROR", "FAILED_START_TIMEOUT", "FAILED_PREEMPTED" ], "title": "TaskGroupStatus", "description": "Represents the status of a task group " }, "TaskQueryResponse": { "properties": { "name": { "type": "string", "title": "Name" }, "retry_id": { "type": "integer", "title": "Retry Id" }, "status": { "$ref": "#/components/schemas/TaskGroupStatus" }, "failure_message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Failure Message" }, "exit_code": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Exit Code" }, "logs": { "type": "string", "title": "Logs" }, "error_logs": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error Logs" }, "processing_start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Processing Start Time" }, "scheduling_start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Scheduling Start Time" }, "initializing_start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Initializing Start Time" }, "events": { "type": "string", "title": "Events" }, "start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Start Time" }, "end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "End Time" }, "input_download_start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Input Download Start Time" }, "input_download_end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Input Download End Time" }, "output_upload_start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Output Upload Start Time" }, "dashboard_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Dashboard Url" }, "pod_name": { "type": "string", "title": "Pod Name" }, "pod_ip": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pod Ip" }, "task_uuid": { "type": "string", "title": "Task Uuid" }, "node_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Node Name" }, "lead": { "type": "boolean", "title": "Lead", "default": false } }, "type": "object", "required": [ "name", "retry_id", "status", "logs", "events", "pod_name", "task_uuid" ], "title": "TaskQueryResponse", "description": "Represents the queryed group information. " }, "TemplateSpec": { "properties": { "file": { "type": "string", "title": "File" }, "set_variables": { "items": { "type": "string" }, "type": "array", "title": "Set Variables", "default": [] }, "set_string_variables": { "items": { "type": "string" }, "type": "array", "title": "Set String Variables", "default": [] }, "uploaded_templated_spec": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uploaded Templated Spec" } }, "additionalProperties": false, "type": "object", "required": [ "file" ], "title": "TemplateSpec", "description": "Template Spec. " }, "TokenIdentity": { "properties": { "name": { "type": "string", "title": "Name" }, "expires_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Expires At" } }, "additionalProperties": false, "type": "object", "required": [ "name" ], "title": "TokenIdentity", "description": "Identity when the request is authenticated with an access token. " }, "TokenRequest": { "properties": { "token": { "type": "string", "title": "Token" } }, "type": "object", "required": [ "token" ], "title": "TokenRequest", "description": "Request body containing a token for JWT generation." }, "Toleration": { "properties": { "key": { "type": "string", "title": "Key" }, "operator": { "type": "string", "title": "Operator", "default": "Equal" }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Value" }, "effect": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Effect" } }, "type": "object", "required": [ "key" ], "title": "Toleration", "description": "Single Toleration Entry " }, "TopologyKey": { "properties": { "key": { "type": "string", "title": "Key" }, "label": { "type": "string", "title": "Label" } }, "type": "object", "required": [ "key", "label" ], "title": "TopologyKey", "description": "Defines a topology key for pool configuration" }, "UpdateConfigTagsRequest": { "properties": { "set_tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Set Tags", "description": "Tags to add to the config" }, "delete_tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Delete Tags", "description": "Tags to remove from the config" } }, "type": "object", "title": "UpdateConfigTagsRequest", "description": "Request body for updating config tags endpoint." }, "User": { "properties": { "id": { "type": "string", "title": "Id" }, "created_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Created At" }, "created_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created By" } }, "type": "object", "required": [ "id" ], "title": "User", "description": "User record." }, "UserCredential": { "properties": { "credential": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Credential", "description": "The credential dictionary that contains authentication information" } }, "additionalProperties": false, "type": "object", "required": [ "credential" ], "title": "UserCredential", "description": "Generic authentication information. " }, "UserDataCredential": { "properties": { "endpoint": { "type": "string", "title": "Endpoint", "description": "The OSMO storage URI for the data service (e.g., s3://bucket). For S3-compatible services with HTTP endpoints, set 'override_url' separately rather than pasting the full HTTPS URL here." }, "region": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Region", "description": "The region for the data service" }, "override_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Override Url", "description": "HTTP service URL for S3-compatible providers (e.g., http://minio:9000, https://s3-compat.example.com). Leave unset for native AWS S3, GCS, Azure, etc." }, "addressing_style": { "anyOf": [ { "type": "string", "enum": [ "virtual", "path", "auto" ] }, { "type": "null" } ], "title": "Addressing Style", "description": "S3 request addressing style for S3-compatible providers. Use 'virtual' for providers such as CoreWeave CAIOS that reject path-style requests, or 'path' for localstack/MinIO-style endpoints." }, "access_key_id": { "type": "string", "title": "Access Key Id", "description": "The authentication key for a data backend" }, "access_key": { "type": "string", "title": "Access Key", "description": "The authentication secret for a data backend" } }, "additionalProperties": false, "type": "object", "required": [ "endpoint", "access_key_id", "access_key" ], "title": "UserDataCredential", "description": "Authentication information for a data service. " }, "UserListResponse": { "properties": { "total_results": { "type": "integer", "title": "Total Results" }, "start_index": { "type": "integer", "title": "Start Index" }, "items_per_page": { "type": "integer", "title": "Items Per Page" }, "users": { "items": { "$ref": "#/components/schemas/User" }, "type": "array", "title": "Users" } }, "type": "object", "required": [ "total_results", "start_index", "items_per_page", "users" ], "title": "UserListResponse", "description": "Response for listing users." }, "UserProfile": { "properties": { "username": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Username" }, "email_notification": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Email Notification" }, "slack_notification": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Slack Notification" }, "pool": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pool" } }, "type": "object", "title": "UserProfile", "description": "Provides all User Profile Information " }, "UserRegistryCredential": { "properties": { "registry": { "type": "string", "title": "Registry", "description": "The Docker registry URL", "default": "" }, "username": { "type": "string", "title": "Username", "description": "The username for the Docker registry", "default": "" }, "auth": { "type": "string", "title": "Auth", "description": "The authentication token for the Docker registry" } }, "additionalProperties": false, "type": "object", "required": [ "auth" ], "title": "UserRegistryCredential", "description": "Authentication information for a Docker registry. " }, "UserRole": { "properties": { "role_name": { "type": "string", "title": "Role Name" }, "assigned_by": { "type": "string", "title": "Assigned By" }, "assigned_at": { "type": "string", "format": "date-time", "title": "Assigned At" } }, "type": "object", "required": [ "role_name", "assigned_by", "assigned_at" ], "title": "UserRole", "description": "User role assignment." }, "UserRoleAssignment": { "properties": { "user_id": { "type": "string", "title": "User Id" }, "role_name": { "type": "string", "title": "Role Name" }, "assigned_by": { "type": "string", "title": "Assigned By" }, "assigned_at": { "type": "string", "format": "date-time", "title": "Assigned At" } }, "type": "object", "required": [ "user_id", "role_name", "assigned_by", "assigned_at" ], "title": "UserRoleAssignment", "description": "User role assignment response." }, "UserRolesResponse": { "properties": { "user_id": { "type": "string", "title": "User Id" }, "roles": { "items": { "$ref": "#/components/schemas/UserRole" }, "type": "array", "title": "Roles" } }, "type": "object", "required": [ "user_id", "roles" ], "title": "UserRolesResponse", "description": "Response for listing user roles." }, "UserWithRoles": { "properties": { "id": { "type": "string", "title": "Id" }, "created_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Created At" }, "created_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created By" }, "roles": { "items": { "$ref": "#/components/schemas/UserRole" }, "type": "array", "title": "Roles", "default": [] } }, "type": "object", "required": [ "id" ], "title": "UserWithRoles", "description": "User record with role assignments." }, "UserWorkflowLimitConfig": { "properties": { "max_num_workflows": { "anyOf": [ { "type": "integer", "exclusiveMinimum": 0.0 }, { "type": "null" } ], "title": "Max Num Workflows" }, "max_num_tasks": { "anyOf": [ { "type": "integer", "exclusiveMinimum": 0.0 }, { "type": "null" } ], "title": "Max Num Tasks" }, "jinja_sandbox_workers": { "type": "integer", "title": "Jinja Sandbox Workers", "default": 2 }, "jinja_sandbox_max_time": { "type": "number", "title": "Jinja Sandbox Max Time", "default": 0.5 }, "jinja_sandbox_memory_limit": { "type": "integer", "title": "Jinja Sandbox Memory Limit", "default": 104857600 } }, "additionalProperties": false, "type": "object", "title": "UserWorkflowLimitConfig", "description": "Stores workflow limits per user. Default is None, which means no limit.\nIf a limit is set, it must be greater than 0." }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "VerbosePoolConfig": { "properties": { "pools": { "additionalProperties": { "$ref": "#/components/schemas/Pool-Output" }, "type": "object", "title": "Pools", "default": {} } }, "type": "object", "title": "VerbosePoolConfig", "description": "Stores verbose pool configs." }, "Version": { "properties": { "major": { "type": "string", "title": "Major" }, "minor": { "type": "string", "title": "Minor", "default": "0" }, "revision": { "type": "string", "title": "Revision", "default": "0" }, "hash": { "type": "string", "title": "Hash", "default": "" } }, "type": "object", "required": [ "major" ], "title": "Version", "description": "A class to maintain version information. " }, "WorkflowConfig-Input": { "properties": { "workflow_data": { "$ref": "#/components/schemas/DataConfig", "default": { "base_url": "", "websocket_timeout": 1440, "data_timeout": 10, "download_type": "download" } }, "workflow_log": { "$ref": "#/components/schemas/LogConfig", "default": {} }, "workflow_app": { "$ref": "#/components/schemas/LogConfig", "default": {} }, "workflow_info": { "$ref": "#/components/schemas/WorkflowInfo", "default": { "tags": [], "max_name_length": 64 } }, "backend_images": { "$ref": "#/components/schemas/OsmoImageConfig", "default": { "init": "", "client": "", "credential": { "auth": "", "registry": "", "username": "" } } }, "workflow_alerts": { "$ref": "#/components/schemas/NotificationConfig", "default": { "slack_token": "", "smtp_settings": { "host": "", "password": "", "sender": "" } } }, "credential_config": { "$ref": "#/components/schemas/CredentialConfig", "default": { "disable_registry_validation": [], "disable_data_validation": [] } }, "user_workflow_limits": { "$ref": "#/components/schemas/UserWorkflowLimitConfig", "default": { "jinja_sandbox_workers": 2, "jinja_sandbox_max_time": 0.5, "jinja_sandbox_memory_limit": 104857600 } }, "plugins_config": { "$ref": "#/components/schemas/PluginsConfig-Input", "default": { "rsync": { "allowed_paths": {}, "client_upload_rate_limit": 2097152, "daemon_debounce_delay": 30.0, "daemon_poll_interval": 120.0, "daemon_reconcile_interval": 60.0, "enable_telemetry": false, "enabled": false, "read_bandwidth_limit": 2621440, "write_bandwidth_limit": 2621440 } } }, "labels_config": { "$ref": "#/components/schemas/LabelsConfig-Input", "default": { "policy": [], "pod_label_prefix": "" } }, "max_num_tasks": { "type": "integer", "title": "Max Num Tasks", "default": 20 }, "max_num_ports_per_task": { "type": "integer", "title": "Max Num Ports Per Task", "default": 30 }, "max_retry_per_task": { "type": "integer", "title": "Max Retry Per Task", "default": 0 }, "max_retry_per_job": { "type": "integer", "title": "Max Retry Per Job", "default": 5 }, "default_schedule_timeout": { "type": "integer", "title": "Default Schedule Timeout", "default": 30 }, "default_exec_timeout": { "type": "string", "title": "Default Exec Timeout", "default": "60d" }, "default_queue_timeout": { "type": "string", "title": "Default Queue Timeout", "default": "60d" }, "max_exec_timeout": { "type": "string", "title": "Max Exec Timeout", "default": "60d" }, "max_queue_timeout": { "type": "string", "title": "Max Queue Timeout", "default": "60d" }, "force_cleanup_delay": { "type": "string", "title": "Force Cleanup Delay", "default": "1h" }, "max_log_lines": { "type": "integer", "title": "Max Log Lines", "default": 10000 }, "max_task_log_lines": { "type": "integer", "title": "Max Task Log Lines", "default": 1000 }, "max_error_log_lines": { "type": "integer", "title": "Max Error Log Lines", "default": 100 }, "max_event_log_lines": { "type": "integer", "title": "Max Event Log Lines", "default": 100 }, "task_heartbeat_frequency": { "type": "string", "title": "Task Heartbeat Frequency", "default": "10m" } }, "additionalProperties": false, "type": "object", "title": "WorkflowConfig", "description": "Stores any workflow configs External Admins control " }, "WorkflowConfig-Output": { "properties": { "workflow_data": { "$ref": "#/components/schemas/DataConfig", "default": { "base_url": "", "websocket_timeout": 1440, "data_timeout": 10, "download_type": "download" } }, "workflow_log": { "$ref": "#/components/schemas/LogConfig", "default": {} }, "workflow_app": { "$ref": "#/components/schemas/LogConfig", "default": {} }, "workflow_info": { "$ref": "#/components/schemas/WorkflowInfo", "default": { "tags": [], "max_name_length": 64 } }, "backend_images": { "$ref": "#/components/schemas/OsmoImageConfig", "default": { "init": "", "client": "", "credential": { "auth": "", "registry": "", "username": "" } } }, "workflow_alerts": { "$ref": "#/components/schemas/NotificationConfig", "default": { "slack_token": "", "smtp_settings": { "host": "", "password": "", "sender": "" } } }, "credential_config": { "$ref": "#/components/schemas/CredentialConfig", "default": { "disable_registry_validation": [], "disable_data_validation": [] } }, "user_workflow_limits": { "$ref": "#/components/schemas/UserWorkflowLimitConfig", "default": { "jinja_sandbox_workers": 2, "jinja_sandbox_max_time": 0.5, "jinja_sandbox_memory_limit": 104857600 } }, "plugins_config": { "$ref": "#/components/schemas/PluginsConfig-Output", "default": { "rsync": { "allowed_paths": {}, "client_upload_rate_limit": 2097152, "daemon_debounce_delay": 30.0, "daemon_poll_interval": 120.0, "daemon_reconcile_interval": 60.0, "enable_telemetry": false, "enabled": false, "read_bandwidth_limit": 2621440, "write_bandwidth_limit": 2621440 } } }, "labels_config": { "$ref": "#/components/schemas/LabelsConfig-Output", "default": { "policy": [], "pod_label_prefix": "" } }, "max_num_tasks": { "type": "integer", "title": "Max Num Tasks", "default": 20 }, "max_num_ports_per_task": { "type": "integer", "title": "Max Num Ports Per Task", "default": 30 }, "max_retry_per_task": { "type": "integer", "title": "Max Retry Per Task", "default": 0 }, "max_retry_per_job": { "type": "integer", "title": "Max Retry Per Job", "default": 5 }, "default_schedule_timeout": { "type": "integer", "title": "Default Schedule Timeout", "default": 30 }, "default_exec_timeout": { "type": "string", "title": "Default Exec Timeout", "default": "60d" }, "default_queue_timeout": { "type": "string", "title": "Default Queue Timeout", "default": "60d" }, "max_exec_timeout": { "type": "string", "title": "Max Exec Timeout", "default": "60d" }, "max_queue_timeout": { "type": "string", "title": "Max Queue Timeout", "default": "60d" }, "force_cleanup_delay": { "type": "string", "title": "Force Cleanup Delay", "default": "1h" }, "max_log_lines": { "type": "integer", "title": "Max Log Lines", "default": 10000 }, "max_task_log_lines": { "type": "integer", "title": "Max Task Log Lines", "default": 1000 }, "max_error_log_lines": { "type": "integer", "title": "Max Error Log Lines", "default": 100 }, "max_event_log_lines": { "type": "integer", "title": "Max Event Log Lines", "default": 100 }, "task_heartbeat_frequency": { "type": "string", "title": "Task Heartbeat Frequency", "default": "10m" } }, "additionalProperties": false, "type": "object", "title": "WorkflowConfig", "description": "Stores any workflow configs External Admins control " }, "WorkflowInfo": { "properties": { "tags": { "items": { "type": "string" }, "type": "array", "title": "Tags", "default": [] }, "max_name_length": { "type": "integer", "title": "Max Name Length", "default": 64 } }, "additionalProperties": false, "type": "object", "title": "WorkflowInfo", "description": "Config for workflow storage info. " }, "WorkflowPlugins": { "properties": { "rsync": { "type": "boolean", "title": "Rsync", "default": false } }, "type": "object", "title": "WorkflowPlugins", "description": "Represents the state of plugins in a workflow upon submission. " }, "WorkflowPriority": { "type": "string", "enum": [ "HIGH", "NORMAL", "LOW" ], "title": "WorkflowPriority", "description": "Scheduling priority for workflows" }, "WorkflowQueryResponse": { "properties": { "name": { "type": "string", "title": "Name" }, "uuid": { "type": "string", "title": "Uuid" }, "submitted_by": { "type": "string", "title": "Submitted By" }, "cancelled_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cancelled By" }, "spec": { "type": "string", "title": "Spec" }, "template_spec": { "type": "string", "title": "Template Spec" }, "logs": { "type": "string", "title": "Logs" }, "events": { "type": "string", "title": "Events" }, "overview": { "type": "string", "title": "Overview" }, "parent_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Parent Name" }, "parent_job_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Parent Job Id" }, "dashboard_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Dashboard Url" }, "grafana_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Grafana Url" }, "tags": { "items": { "type": "string" }, "type": "array", "title": "Tags", "default": [] }, "submit_time": { "type": "string", "format": "date-time", "title": "Submit Time" }, "start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Start Time" }, "end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "End Time" }, "exec_timeout": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Exec Timeout" }, "queue_timeout": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Queue Timeout" }, "duration": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Duration" }, "queued_time": { "type": "number", "title": "Queued Time" }, "status": { "$ref": "#/components/schemas/WorkflowStatus" }, "outputs": { "type": "string", "title": "Outputs", "default": "" }, "groups": { "items": { "$ref": "#/components/schemas/GroupQueryResponse" }, "type": "array", "title": "Groups" }, "pool": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pool" }, "backend": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Backend" }, "app_owner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "App Owner" }, "app_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "App Name" }, "app_version": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "App Version" }, "plugins": { "$ref": "#/components/schemas/WorkflowPlugins" }, "priority": { "type": "string", "title": "Priority" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Labels" }, "warnings": { "items": { "type": "string" }, "type": "array", "title": "Warnings" } }, "additionalProperties": false, "type": "object", "required": [ "name", "uuid", "submitted_by", "spec", "template_spec", "logs", "events", "overview", "submit_time", "queued_time", "status", "groups", "plugins", "priority" ], "title": "WorkflowQueryResponse", "description": "Represents the queryed workflow information. " }, "WorkflowStatus": { "type": "string", "enum": [ "PENDING", "RUNNING", "WAITING", "COMPLETED", "FAILED", "FAILED_SUBMISSION", "FAILED_SERVER_ERROR", "FAILED_EXEC_TIMEOUT", "FAILED_QUEUE_TIMEOUT", "FAILED_CANCELED", "FAILED_BACKEND_ERROR", "FAILED_IMAGE_PULL", "FAILED_EVICTED", "FAILED_START_ERROR", "FAILED_START_TIMEOUT", "FAILED_PREEMPTED" ], "title": "WorkflowStatus", "description": "Represents the status of a workflow. " }, "src__service__core__app__objects__ListEntry": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "name": { "type": "string", "title": "Name" }, "description": { "type": "string", "title": "Description" }, "created_date": { "type": "string", "format": "date-time", "title": "Created Date" }, "owner": { "type": "string", "title": "Owner" }, "latest_version": { "type": "integer", "title": "Latest Version" } }, "type": "object", "required": [ "uuid", "name", "description", "created_date", "owner", "latest_version" ], "title": "ListEntry" }, "src__service__core__app__objects__ListResponse": { "properties": { "apps": { "items": { "$ref": "#/components/schemas/src__service__core__app__objects__ListEntry" }, "type": "array", "title": "Apps" }, "more_entries": { "type": "boolean", "title": "More Entries" } }, "additionalProperties": false, "type": "object", "required": [ "apps", "more_entries" ], "title": "ListResponse" }, "src__service__core__workflow__objects__ListEntry": { "properties": { "user": { "type": "string", "title": "User" }, "name": { "type": "string", "title": "Name" }, "workflow_uuid": { "type": "string", "title": "Workflow Uuid" }, "submit_time": { "type": "string", "format": "date-time", "title": "Submit Time" }, "start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Start Time" }, "end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "End Time" }, "queued_time": { "type": "number", "title": "Queued Time" }, "duration": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Duration" }, "status": { "$ref": "#/components/schemas/WorkflowStatus" }, "overview": { "type": "string", "title": "Overview" }, "logs": { "type": "string", "title": "Logs" }, "error_logs": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error Logs" }, "grafana_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Grafana Url" }, "dashboard_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Dashboard Url" }, "pool": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pool" }, "app_owner": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "App Owner" }, "app_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "App Name" }, "app_version": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "App Version" }, "priority": { "type": "string", "title": "Priority" }, "labels": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Labels" } }, "additionalProperties": false, "type": "object", "required": [ "user", "name", "workflow_uuid", "submit_time", "queued_time", "status", "overview", "logs", "priority" ], "title": "ListEntry", "description": "Entry for list API results. " }, "src__service__core__workflow__objects__ListResponse": { "properties": { "workflows": { "items": { "$ref": "#/components/schemas/src__service__core__workflow__objects__ListEntry" }, "type": "array", "title": "Workflows" }, "more_entries": { "type": "boolean", "title": "More Entries" } }, "additionalProperties": false, "type": "object", "required": [ "workflows", "more_entries" ], "title": "ListResponse" } } } }