Files
Proxmox-AIS-Server/docs/openapi.json
T
BartelLuis 7b979e6243
CI / javascript-check (push) Successful in 14s
CI / container-policy (push) Successful in 4s
CI / python-tests (push) Successful in 1m48s
CI / container-verify (push) Skipped
CI / container-publish (push) Successful in 49s
feat(ui): replace configuration editors with graphical forms
2026-09-14 21:52:39 +02:00

2512 lines
61 KiB
JSON

{
"openapi": "3.1.0",
"info": {
"title": "Proxmox AIS",
"description": "Kontrollierte Proxmox-Installation und wiederaufnehmbare Nachkonfiguration.",
"version": "0.9.3"
},
"paths": {
"/health/live": {
"get": {
"summary": "Health Live",
"operationId": "health_live_health_live_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
},
"/health/ready": {
"get": {
"summary": "Health Ready",
"operationId": "health_ready_health_ready_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
},
"/auth/logout": {
"post": {
"summary": "Logout",
"operationId": "logout_auth_logout_post",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
},
"/api/v1/me": {
"get": {
"summary": "Me",
"operationId": "me_api_v1_me_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
},
"/api/v1/dashboard": {
"get": {
"summary": "Dashboard",
"operationId": "dashboard_api_v1_dashboard_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
},
"/api/v1/hosts": {
"get": {
"summary": "Hosts",
"operationId": "hosts_api_v1_hosts_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
},
"post": {
"summary": "Create Host",
"operationId": "create_host_api_v1_hosts_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HostCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/hosts/import": {
"post": {
"summary": "Import Hosts",
"operationId": "import_hosts_api_v1_hosts_import_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/HostCreate"
},
"type": "array",
"title": "Payload"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/discoveries": {
"get": {
"summary": "Discoveries",
"operationId": "discoveries_api_v1_discoveries_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
},
"/api/v1/hosts/{host_id}": {
"get": {
"summary": "Host Detail",
"operationId": "host_detail_api_v1_hosts__host_id__get",
"parameters": [
{
"name": "host_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Host Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"patch": {
"summary": "Update Host",
"operationId": "update_host_api_v1_hosts__host_id__patch",
"parameters": [
{
"name": "host_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Host Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HostUpdate"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/hosts/{host_id}/preview": {
"get": {
"summary": "Preview",
"operationId": "preview_api_v1_hosts__host_id__preview_get",
"parameters": [
{
"name": "host_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Host Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/hosts/{host_id}/approve-install": {
"post": {
"summary": "Approve",
"operationId": "approve_api_v1_hosts__host_id__approve_install_post",
"parameters": [
{
"name": "host_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Host Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Approval"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/profiles": {
"get": {
"summary": "Profiles",
"operationId": "profiles_api_v1_profiles_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
},
"post": {
"summary": "Create Profile",
"operationId": "create_profile_api_v1_profiles_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProfileCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/modules": {
"get": {
"summary": "Modules",
"operationId": "modules_api_v1_modules_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
},
"post": {
"summary": "Create Module",
"operationId": "create_module_api_v1_modules_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ModuleCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/modules/builtin": {
"get": {
"summary": "Builtin Modules",
"operationId": "builtin_modules_api_v1_modules_builtin_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
},
"/api/v1/modules/{object_id}": {
"get": {
"summary": "Module Detail",
"operationId": "module_detail_api_v1_modules__object_id__get",
"parameters": [
{
"name": "object_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Object Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/profiles/{object_id}": {
"get": {
"summary": "Profile Detail",
"operationId": "profile_detail_api_v1_profiles__object_id__get",
"parameters": [
{
"name": "object_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Object Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/modules/{object_id}/publish": {
"post": {
"summary": "Publish Module",
"operationId": "publish_module_api_v1_modules__object_id__publish_post",
"parameters": [
{
"name": "object_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Object Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Publish"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/profiles/{object_id}/publish": {
"post": {
"summary": "Publish Profile",
"operationId": "publish_profile_api_v1_profiles__object_id__publish_post",
"parameters": [
{
"name": "object_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Object Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Publish"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/groups": {
"get": {
"summary": "Groups",
"operationId": "groups_api_v1_groups_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
},
"post": {
"summary": "Create Group",
"operationId": "create_group_api_v1_groups_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/groups/{group_id}/revoke": {
"post": {
"summary": "Revoke Group",
"operationId": "revoke_group_api_v1_groups__group_id__revoke_post",
"parameters": [
{
"name": "group_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Group Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/iso-records": {
"get": {
"summary": "Iso Records",
"operationId": "iso_records_api_v1_iso_records_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
},
"post": {
"summary": "Create Iso",
"operationId": "create_iso_api_v1_iso_records_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IsoCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/secrets": {
"get": {
"summary": "Secrets List",
"operationId": "secrets_list_api_v1_secrets_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
},
"post": {
"summary": "Create Secret",
"operationId": "create_secret_api_v1_secrets_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SecretCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/users": {
"get": {
"summary": "Users",
"operationId": "users_api_v1_users_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
},
"post": {
"summary": "Create User",
"operationId": "create_user_api_v1_users_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/users/{user_id}/disable": {
"post": {
"summary": "Disable User",
"operationId": "disable_user_api_v1_users__user_id__disable_post",
"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/v1/audit": {
"get": {
"summary": "Audit List",
"operationId": "audit_list_api_v1_audit_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
},
"/api/v1/runs": {
"get": {
"summary": "Runs",
"operationId": "runs_api_v1_runs_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
},
"/api/v1/runs/{run_id}": {
"get": {
"summary": "Run Detail",
"operationId": "run_detail_api_v1_runs__run_id__get",
"parameters": [
{
"name": "run_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Run Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/runs/{run_id}/cancel": {
"post": {
"summary": "Cancel Run",
"operationId": "cancel_run_api_v1_runs__run_id__cancel_post",
"parameters": [
{
"name": "run_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Run Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunAction"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/runs/{run_id}/resume": {
"post": {
"summary": "Resume Run",
"operationId": "resume_run_api_v1_runs__run_id__resume_post",
"parameters": [
{
"name": "run_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Run Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunAction"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/runs/{run_id}/reconcile": {
"post": {
"summary": "Reconcile Run",
"description": "Close an externally checked abandoned run; never grants installation.",
"operationId": "reconcile_run_api_v1_runs__run_id__reconcile_post",
"parameters": [
{
"name": "run_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Run Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunReconcile"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/installer/v1/answer": {
"post": {
"summary": "Installer Answer",
"operationId": "installer_answer_installer_v1_answer_post",
"responses": {
"200": {
"description": "Successful Response"
}
}
}
},
"/bootstrap/v1/{download_token}": {
"get": {
"summary": "Bootstrap",
"operationId": "bootstrap_bootstrap_v1__download_token__get",
"parameters": [
{
"name": "download_token",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Download Token"
}
}
],
"responses": {
"200": {
"description": "Successful Response"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/installer/v1/report/{report_token}": {
"post": {
"summary": "Installer Report",
"operationId": "installer_report_installer_v1_report__report_token__post",
"parameters": [
{
"name": "report_token",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Report Token"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/agent/v1/enroll": {
"post": {
"summary": "Enroll",
"operationId": "enroll_agent_v1_enroll_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Enroll"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/agent/v1/lease": {
"post": {
"summary": "Lease",
"operationId": "lease_agent_v1_lease_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LeaseRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/agent/v1/runs/{run_id}/manifest": {
"get": {
"summary": "Manifest",
"operationId": "manifest_agent_v1_runs__run_id__manifest_get",
"parameters": [
{
"name": "run_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Run Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/agent/v1/artifacts/{checksum}": {
"get": {
"summary": "Artifact",
"operationId": "artifact_agent_v1_artifacts__checksum__get",
"parameters": [
{
"name": "checksum",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Checksum"
}
}
],
"responses": {
"200": {
"description": "Successful Response"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/agent/v1/runs/{run_id}/secrets/{step_id}": {
"get": {
"summary": "Step Secrets",
"operationId": "step_secrets_agent_v1_runs__run_id__secrets__step_id__get",
"parameters": [
{
"name": "run_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Run Id"
}
},
{
"name": "step_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Step Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/agent/v1/runs/{run_id}/events": {
"post": {
"summary": "Events",
"operationId": "events_agent_v1_runs__run_id__events_post",
"parameters": [
{
"name": "run_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Run Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EventBatch"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/agent/v1/runs/{run_id}/logs": {
"post": {
"summary": "Logs",
"operationId": "logs_agent_v1_runs__run_id__logs_post",
"parameters": [
{
"name": "run_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Run Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LogBatch"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/agent/v1/runs/{run_id}/complete": {
"post": {
"summary": "Complete",
"operationId": "complete_agent_v1_runs__run_id__complete_post",
"parameters": [
{
"name": "run_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Run Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"Approval": {
"properties": {
"expected_version": {
"type": "integer",
"minimum": 1.0,
"title": "Expected Version"
},
"valid_minutes": {
"type": "integer",
"maximum": 1440.0,
"minimum": 1.0,
"title": "Valid Minutes",
"default": 30
},
"confirmation": {
"type": "string",
"title": "Confirmation"
},
"disks_confirmed": {
"type": "boolean",
"title": "Disks Confirmed"
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 5,
"title": "Reason"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"expected_version",
"confirmation",
"disks_confirmed",
"reason"
],
"title": "Approval"
},
"Completion": {
"properties": {
"verification": {
"additionalProperties": true,
"type": "object",
"title": "Verification"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"verification"
],
"title": "Completion"
},
"Enroll": {
"properties": {
"run_id": {
"type": "string",
"title": "Run Id"
},
"enrollment_secret": {
"type": "string",
"maxLength": 200,
"minLength": 20,
"title": "Enrollment Secret"
},
"public_key": {
"type": "string",
"maxLength": 100,
"minLength": 40,
"title": "Public Key"
},
"identities": {
"items": {
"$ref": "#/components/schemas/Identity"
},
"type": "array",
"maxItems": 32,
"minItems": 1,
"title": "Identities"
},
"boot_id": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"title": "Boot Id"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"run_id",
"enrollment_secret",
"public_key",
"identities",
"boot_id"
],
"title": "Enroll"
},
"Event": {
"properties": {
"sequence": {
"type": "integer",
"minimum": 1.0,
"title": "Sequence"
},
"boot_id": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"title": "Boot Id"
},
"step_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Step Id"
},
"type": {
"type": "string",
"enum": [
"step.started",
"step.succeeded",
"step.failed",
"run.needs_review",
"run.reboot_pending",
"run.resumed",
"run.cancelled",
"heartbeat"
],
"title": "Type"
},
"occurred_at": {
"type": "string",
"maxLength": 80,
"title": "Occurred At"
},
"exit_code": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Exit Code"
},
"verification": {
"additionalProperties": true,
"type": "object",
"title": "Verification"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"sequence",
"boot_id",
"type",
"occurred_at"
],
"title": "Event"
},
"EventBatch": {
"properties": {
"events": {
"items": {
"$ref": "#/components/schemas/Event"
},
"type": "array",
"maxItems": 100,
"minItems": 1,
"title": "Events"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"events"
],
"title": "EventBatch"
},
"GroupCreate": {
"properties": {
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$",
"title": "Name"
},
"site": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"title": "Site"
},
"valid_hours": {
"type": "integer",
"maximum": 8760.0,
"minimum": 1.0,
"title": "Valid Hours",
"default": 720
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"site"
],
"title": "GroupCreate"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"HostCreate": {
"properties": {
"fqdn": {
"type": "string",
"maxLength": 253,
"minLength": 3,
"title": "Fqdn"
},
"site": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"title": "Site"
},
"management_ip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Management Ip"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"maxItems": 30,
"title": "Tags"
},
"identities": {
"items": {
"$ref": "#/components/schemas/Identity"
},
"type": "array",
"maxItems": 32,
"minItems": 1,
"title": "Identities"
},
"installation_profile_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Installation Profile Id"
},
"postinstall_profile_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Postinstall Profile Id"
},
"iso_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Iso Id"
},
"overrides": {
"additionalProperties": true,
"type": "object",
"title": "Overrides"
},
"blocked": {
"type": "boolean",
"title": "Blocked",
"default": false
}
},
"additionalProperties": false,
"type": "object",
"required": [
"fqdn",
"site",
"identities"
],
"title": "HostCreate"
},
"HostUpdate": {
"properties": {
"expected_version": {
"type": "integer",
"minimum": 1.0,
"title": "Expected Version"
},
"fqdn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fqdn"
},
"site": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site"
},
"management_ip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Management Ip"
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tags"
},
"identities": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/Identity"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Identities"
},
"installation_profile_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Installation Profile Id"
},
"postinstall_profile_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Postinstall Profile Id"
},
"iso_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Iso Id"
},
"overrides": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Overrides"
},
"blocked": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Blocked"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"expected_version"
],
"title": "HostUpdate"
},
"Identity": {
"properties": {
"kind": {
"type": "string",
"enum": [
"uuid",
"serial",
"mac"
],
"title": "Kind"
},
"value": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"title": "Value"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"kind",
"value"
],
"title": "Identity"
},
"IsoCreate": {
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"title": "Name"
},
"build": {
"type": "string",
"pattern": "^[0-9]+\\.[0-9]+(?:\\.[0-9]+)?-[0-9]+$",
"title": "Build"
},
"sha256": {
"type": "string",
"pattern": "^[a-fA-F0-9]{64}$",
"title": "Sha256"
},
"assistant_version": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"title": "Assistant Version"
},
"fingerprint": {
"type": "string",
"pattern": "^(?:[a-fA-F0-9]{64}|(?:[a-fA-F0-9]{2}:){31}[a-fA-F0-9]{2})$",
"title": "Fingerprint"
},
"group_id": {
"type": "string",
"title": "Group Id"
},
"test_status": {
"type": "string",
"enum": [
"draft",
"passed"
],
"title": "Test Status",
"default": "draft"
},
"test_evidence": {
"type": "string",
"maxLength": 3000,
"title": "Test Evidence",
"default": ""
},
"native_token_support": {
"type": "boolean",
"title": "Native Token Support",
"default": false
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"build",
"sha256",
"assistant_version",
"fingerprint",
"group_id"
],
"title": "IsoCreate"
},
"LeaseRequest": {
"properties": {
"run_id": {
"type": "string",
"title": "Run Id"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"run_id"
],
"title": "LeaseRequest"
},
"LogBatch": {
"properties": {
"chunks": {
"items": {
"$ref": "#/components/schemas/LogChunk"
},
"type": "array",
"maxItems": 32,
"minItems": 1,
"title": "Chunks"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"chunks"
],
"title": "LogBatch"
},
"LogChunk": {
"properties": {
"sequence": {
"type": "integer",
"minimum": 1.0,
"title": "Sequence"
},
"step_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Step Id"
},
"text": {
"type": "string",
"maxLength": 16384,
"title": "Text"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"sequence",
"text"
],
"title": "LogChunk"
},
"ModuleCreate": {
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"title": "Name"
},
"source": {
"type": "string",
"maxLength": 262144,
"minLength": 10,
"title": "Source"
},
"parameters_schema": {
"additionalProperties": true,
"type": "object",
"title": "Parameters Schema"
},
"dependencies": {
"items": {
"type": "string"
},
"type": "array",
"maxItems": 20,
"title": "Dependencies"
},
"target_builds": {
"items": {
"type": "string"
},
"type": "array",
"maxItems": 30,
"title": "Target Builds"
},
"timeout_seconds": {
"type": "integer",
"maximum": 7200.0,
"minimum": 1.0,
"title": "Timeout Seconds",
"default": 600
},
"retry_safe": {
"type": "boolean",
"title": "Retry Safe",
"default": false
},
"test_evidence": {
"type": "string",
"maxLength": 2000,
"title": "Test Evidence",
"default": ""
},
"reason": {
"type": "string",
"maxLength": 1000,
"title": "Reason",
"default": ""
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"source"
],
"title": "ModuleCreate"
},
"ProfileCreate": {
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"title": "Name"
},
"kind": {
"type": "string",
"enum": [
"installation",
"postinstall"
],
"title": "Kind"
},
"values": {
"additionalProperties": true,
"type": "object",
"title": "Values"
},
"steps": {
"items": {
"$ref": "#/components/schemas/StepSpec"
},
"type": "array",
"maxItems": 50,
"title": "Steps"
},
"target_builds": {
"items": {
"type": "string"
},
"type": "array",
"maxItems": 30,
"title": "Target Builds"
},
"locked_fields": {
"items": {
"type": "string"
},
"type": "array",
"title": "Locked Fields"
},
"reboot_budget": {
"type": "integer",
"maximum": 5.0,
"minimum": 0.0,
"title": "Reboot Budget",
"default": 1
},
"reason": {
"type": "string",
"maxLength": 1000,
"title": "Reason",
"default": ""
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"kind"
],
"title": "ProfileCreate"
},
"Publish": {
"properties": {
"test_evidence": {
"type": "string",
"maxLength": 2000,
"minLength": 5,
"title": "Test Evidence"
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 3,
"title": "Reason"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"test_evidence",
"reason"
],
"title": "Publish"
},
"RunAction": {
"properties": {
"expected_version": {
"type": "integer",
"minimum": 1.0,
"title": "Expected Version"
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 5,
"title": "Reason"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"expected_version",
"reason"
],
"title": "RunAction"
},
"RunReconcile": {
"properties": {
"expected_version": {
"type": "integer",
"minimum": 1.0,
"title": "Expected Version"
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 5,
"title": "Reason"
},
"confirmation": {
"type": "string",
"title": "Confirmation"
},
"execution_stopped": {
"type": "boolean",
"title": "Execution Stopped"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"expected_version",
"reason",
"confirmation",
"execution_stopped"
],
"title": "RunReconcile"
},
"SecretCreate": {
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"title": "Name"
},
"kind": {
"type": "string",
"enum": [
"value",
"root_password"
],
"title": "Kind",
"default": "value"
},
"value": {
"type": "string",
"maxLength": 16384,
"minLength": 1,
"title": "Value"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"name",
"value"
],
"title": "SecretCreate"
},
"StepSpec": {
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$",
"title": "Id"
},
"module_id": {
"type": "string",
"title": "Module Id"
},
"parameters": {
"additionalProperties": true,
"type": "object",
"title": "Parameters"
},
"secret_refs": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Secret Refs"
},
"required": {
"type": "boolean",
"title": "Required",
"default": true
}
},
"additionalProperties": false,
"type": "object",
"required": [
"id",
"module_id"
],
"title": "StepSpec"
},
"UserCreate": {
"properties": {
"username": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{1,63}$",
"title": "Username"
},
"password": {
"type": "string",
"maxLength": 1024,
"minLength": 12,
"title": "Password"
},
"role": {
"type": "string",
"enum": [
"reader",
"operator",
"author",
"admin",
"developer"
],
"title": "Role"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"username",
"password",
"role"
],
"title": "UserCreate"
},
"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"
}
}
}
}